Академический Документы
Профессиональный Документы
Культура Документы
Вы узнаете ...
Основные сведения
ESPRIT обеспечивает базовую архитектуру для поддержки всех возможностей станка. Эта
архитектура генерирует CL-файл (файл с траекторией инструмента), который описывает операцию
обработки в абсолютном выражении. CL-файл представляет путь движения инструмента для
обрабатываемой детали. Он не содержит информацию о конкретном станке с ЧПУ и о возможностях
системы ЧПУ, которые будут использоваться для резания на самом деле.
В тех случаях, когда автор постпроцессора не хочет, чтобы кто-либо имел возможность изменить
исходный код, он предоставляет откомпилированный файл (формат *.PST) вместо файла, открытого
для редактирования (*.asc). Содержание *.PST файла не может быть просмотрено или
отредактировано.
1
www. dptechnology.ru
Информация, содержащаяся в файле *.asc, делится на разделы. Каждый раздел определяет
конкретный тип информации для постпроцессирования.
• Заголовок: Информация о постпроцессоре (название станка, конфигурация станка, автор ПП, дата
редакции файла и др.) Эта информация не выводится в коде УП.
• Системные переменные: значения по умолчанию для данного ПП (выход порядкового номера и типа
обработка выполняемой операции).
• Режимы работы: значения по умолчанию для станка, такие как пределы вывода углов и формат
вывода поворота вокруг оси вращения.
• Символические коды: Коды, которые выводятся в УП "как есть", таких как G00 и G01
• Примеры: Примеры кода УП, который выводится (код смены инструмента или код для быстрого
перемещения).
##############################
## Machine: 2-Axis Lathe
## Controller:
## ESPRIT Version: 2012
## Author:
## Company:
## Date:
## Comments:
## Modified Date:
##############################
PostName : Lathe.asc
MachineTolerance : 0.00001
MaxCircleRadius : 9999
2
www. dptechnology.ru
MaxNCode : 9999
NCodeDefault : 100
NCodeIncrement : 10
CoordinateMode : Absolute
CircleMode : By180
CenterMode : IncrementFromStart
MeasurementMode : Metric
RadialValueMode : Diametral
ProgramNumber : O Y 4 N N 0 Y 4 N N 0 0 - - - -
XAbsolute : X N 2 Y N 5 N 3 Y N 4 1 1 N 0 0
ZAbsolute : Z N 2 Y N 5 N 3 Y N 4 1 1 N 0 0
XCenterAbsolute : I N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
ZCenterAbsolute : K N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
SequenceNumber : N Y 4 N N 0 Y 4 N N 0 0 - - - -
StartSequenceNumber : P N 3 N N 0 N 3 N N 0 0 1 N 0 0
EndSequenceNumber : Q N 3 N N 0 N 3 N N 0 0 1 N 0 0
MotionRapid : G00
MotionLinear : G01
MotionCW : G02
MotionCCW : G03
Dwell : G04
Inch : G20
Metric : G21
ex_MainStart : O*
: TimeStamp
ex_MachineSetup : MachineSetupComment
: N CoordinateCode* MeasurementCode*
ex_FirstToolChange : ToolChangeComment
: N G00* X*(XTC) Z*(ZTC)
: N T*(101 * PresentTool)
ex_OtherToolChange : ToolChangeComment
: N G00* X*(XTC) Z*(ZTC)
: N T*(101 * PresentTool)
ex_LastToolChange : ToolChangeComment
: N G00* X*(XTC) Z*(ZTC)
: N T*(101 * PresentTool)
ex_ToolCancel : N G00* G28* G40* G49* G80* M05* M09*
ex_CycleStart : Comment
: N SpindleUnit S S_ SpindleDirection SpindleRange CoolantCode
3
www. dptechnology.ru
Бесплатную пробную версию UltraEdit вы найдете здесь:
http://www.ultraedit.com/downloads/ultraedit_download.html
Файл конфигурации, поставляемый с этим уроком, называется ESPRIT.uew, и упрощает для вас
визуализацию кода. UltraEdit считывает файлы .uew из указанного каталога для настройки подсветки
синтаксиса.
Настройте UltraEdit так, чтобы приложение обращалось к файлу ESPRIT.uew каждый раз при запуске.
2. Запустить UltraEdit.
5. Нажмите кнопку Обзор рядом с путем к каталогу и перейдите в каталог, где находится файл
ESPRIT.uew.
8. Каждый раз, когда вы открываете файл с UltraEdit, будет использоваться подсветка синтаксиса из
файла ESPRIT.uew.
Системные переменные
Keyword : Value
4
www. dptechnology.ru
Часто используемые переменные
NCodeIncrement : 1
NCodeDefault : 0
MaxNCode : 9999
SequenceNumber : N N 4 N N 0 N 4 N N 0 0 - - - -
Пример кода УП
Режимы работы
5
www. dptechnology.ru
Установка режимов работы служит двум целям:
•установить определенные значения по умолчанию в случае, если они не установлены в программе
ESPRIT
• задать важные требования машины, которые не встречаются ни в одной из технологий в ESPRIT
CoordinateMode : Absolute
MeasurementMode : Metric
CircleMode : By360
CenterMode : IncrementFromStart
WorkPlaneMode : XYPlane
Для определения возможностей машины используют параметр CircleMode, который определяет, какую
часть окружности система ЧПУ станка может обработать в одном блоке (кадре) кода NC. Если станок
может обработать дугу в 360 градусов в одном блоке кода, то CircleMode может быть установлен как
By360. Если система ЧПУ может обработать дугу до 90 градусов в одном блоке и при этом разбить на
несколько дугу больше, чем в 90 градусов, тогда следует использовать ByQuadrant.
Если CircleMode в постпроцессоре установлен By360, любая дуга до полного круга может быть
выведена в коде УП как одна строка.
CircleMode : By360
Пример кода УП
Теперь, если вы измените CircleMode на By180 (дуги, которые больше, чем 180 градусов будут
разбиты на несколько строчек в коде УП), ваш код будет следующим:
Форматируемые коды
Форматируемые коды используются для возврата значений из технологии в ESPRIT, такие как номер
инструмента и X, Y, Z координаты.
Структура раздела форматируемых кодов уникальна тем, что здесь есть несколько столбцов данных.
Keyword :Symbol I1 I2 I3 I4 I5 M1 M2 M3 M4 M5 S Z1 Z2 Z3 Z4
6
www. dptechnology.ru
Столбцы справа от Symbol определяют числовое поле для значения, которое выводится. Числовые
значения могут быть выведены с или без ведущей цифры, последующей цифры, десятичной точки
или положительного, или отрицательного знака. Последний набор столбцов (Z1-Z4) определяет
формат, когда значение равно нулю.
* L # . T # L # . T # L . # +/-*
************************************************************************
XAbsolute : X N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
ToolNumber : T Y 2 N N 0 Y 2 N N 0 0 - - - -
DiameterCompensation : D Y 2 N N 0 Y 2 N N 0 0 1 N 0 0
ex_OtherToolChange : ToolChangeComment
: N T M06
ex_Rapid : N G00 X Y Z
ex_Linear : N G01 X Y Z F
При выводе номера программы (O0001 (Пример 1)), первые четыре цифры должны быть заполнены
значениями. Для этого ProgramNumber может быть установлен следующим образом:
MiscMCode, MiscGCode
7
www. dptechnology.ru
Форматируемые коды MiscMCode и MiscGCode могут быть использованы для разных M и G кодов.
MiscMCode и MiscGCode не соответствуют никаким значениям в ESPRIT. Их использование
определяется только пользователем, и они всегда перезаписываемые, аналогично MiscFormat1 и т.д.
В коде УП один и то же символ может быть использован для нескольких различных циклов.
Например, Q может определять последний порядковый номер для постоянного цикла точения, а также
задавать глубину резания или шаг в канавке для канавочных циклов, глубину сверления для циклов
глубокого сверления и др.
Все эти значения используют разный формат и поэтому должны быть описаны различными
свойствами в Форматируемы кодах. Чтобы быть в состоянии сделать это, вы можете использовать
технику заполнение (использование "_" символа):
При использовании вышеуказанных кодов в ваших ПП только Q и его значение будет выводиться.
Знак "_", будет проигнорирован.
Данный пример продемонстрировал вам, как вы можете определить несколько форматируемых кодов,
которые должны быть выведены в УП с использованием один и тех же символов, но с разным
форматированием.
Примечания:
• Объем заполнения не ограничен. Вы можете добавлять столько подчеркиваний, сколько вам нужно,
так как все подчеркивания будут удалены.
• Вы можете также заполнять символические коды (см. обсуждение в следующем разделе). Например,
"CoolantFlood: M8_M28" выведет оба M-кода в одной строке с пробелом между ними.
Вот пример:
Вы можете использовать примеры Z [# 500 + ..] * (Значение, которое должно быть выведено).
Например, Z [# 500 + ..] * (2) будет выводиться, как это (в формате выше): Z [# 5002,0].
Установка знака вывода в положение (-1) для исключения кода, удаления N-номеров
Если Знак Вывода (четвертая колонка) в форматируемом коде установлен на (-1), то вывод символов
и значений будет подавлен. Это, например, очень полезно, если необходимо отключить вывод N-
кодов в УП.
В этом примере знак вывода равен 0, поэтому N-код будет выводиться без знака.
SequenceNumber : N N 4 N N 0 N 4 N N 0 0 - - - -
8
www. dptechnology.ru
N6 G00 T1515
SequenceNumber : N N 4 N N 0 N 4 N N 0 -1 - - - -
Нулевой формат
Некоторые значения, например, время задержки, не должны быть выведены в коде УП, если их
значение равно 0 в ESPRIT.
Этим управляют с помощью свойств Нулевого Формата раздела форматируемых кодов. Чтобы
исключить вывод нулевых значений, установите нулевой формата в ----. Вот пример для задания
выдержки:
Символические коды
Символический код генерируется в файл УП именно так, как показано на файле ПП .asc.
Keyword : Symbol
Символические коды должны быть определены в разделе символический код, прежде чем они могут
быть использованы в других разделах файла .asc.
Ниже приведен пример символических кодов, используемых в разделе "Примеры".
ex_Rapid : N G00 X Y Z
ex_Linear : N G01 X Y Z F
ex_ToolCancel : N M05 M09
ex_MainEnd : N M02
Символические коды для G00, G01, M05, M09, M02 уже определены в этом разделе.
Символические выключатели
9
www. dptechnology.ru
Символический выключатель - ключевое слово, которое включает вывод одного или нескольких
символических кодов в зависимости от определенных условий.
MotionCW : G02
MotionCCW : G03
Пример:
Если G02 или G03 были использованы непосредственно в ex_Circle вместо выключателя, ПП не будет
работать, потому что все дуги будут выведены с одним и тем же кодом направления, либо G02 или
G03. Наоборот, использование символического выключателя CircleDirection, символический код,
определенный для MotionCW или MotionCCW, будет выведен в зависимости от направления дуги.
Этот символический Параметр позволяет переключаться только между двумя символическими кодами,
но существует множество других символических выключателей, работающих с тремя или более
символическими кодами.
MiscSymbolicCode #
Вот пример:
ProgramNumber : O Y 4 N N 0 Y 4 N N 0 0 1 N 0 0
MiscSymbolicCode1 : G10
ex_MachineSetup : O*
: G10
: MachineSetupComment
Вместо присвоения кодов ключевые словах MiscSymbolicCode #, строки могут быть жестко
закреплены в EX_ примеры, заключив их в двойные кавычки. Смотрите StringCharacter в
ESPRIT Справка по постпроцессорам для более подробной информации.
10
www. dptechnology.ru
Переменные
Переменные позволяют хранить отдельные значения, массивы значений, или создавать выключатели.
В файле ПП .asc можно объявлять переменные для собственного использования. Форматом для этого
является:
Практически любое имя может быть использовано для объявления переменной при условии, что оно
еще не было использовано для системной переменной с тем же названием. Например, ProgNumber не
может быть использована в качестве переменной, поскольку она уже определена как системная
переменная на языке постпроцессирования. Кроме того, имена переменных не могут начинаться с
цифры, так Milling5Axis - возможно, но 5AxisMilling - нет.
Переменной может быть присвоено значение в любой ex_ example, используя следующий формат:
: VariableName=(expression)
После объявления переменной, она может быть использована, как и любые другие переменные, такие
как встроенные переменные системы и функций. Она может быть использован как часть
математического выражения для перезаписи форматируемых значений, или как часть логического
условия для проверки.
Предположим, что в EDM создана операция «Установить начало координат», тогда в УП должно быть
G92 с X, Y, Z начальной позиции со страницы установки начала координат. Но если операция
«установить начало координат не создана, то должна быть выведена G92 с координатами X, Y, Z
точки подхода (входа) первой операций.
Здесь переменная может быть использована для определения, создана или нет Установка начальной
точки. Переменная действует как флаг.
Изначально флаг переменной снят, но как только выводится G92, переменная будет установлена
таким образом, чтобы предотвратить дополнительный вывод G92:
MiscFormat1 : X_ N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
MiscFormat2 : Y_ N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
MiscFormat3 : Z_ N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
SetOrigin : G92
Variable : seto
ex_StartCode : seto=(0)
ex_SetOrigin : G92 X_*(xstart) Y_*(ystart) Z_*(zstart)
: seto=(1)
ex_CycleStart : If (seto=0)
: G92 X_*(xnext) Y_*(ynext) Z_*(znext)
: seto=(1)
: EndIf
Предположим, что был использован 4-осевой токарный ПП, где с целью синхронизации, все скорости
вращения шпинделя и подачи должны были быть известны до смены инструмента, используемого для
этих операций. Секция ex_CycleDefinition вызывается в каждой операции в начале кода УП. В этой
секции все подачи и скорости могут быть записаны в массив для дальнейшего использования.
Следующие пример выполняет это:
11
www. dptechnology.ru
Приведенные выше примеры демонстрируют числовых переменные. Пользовательские переменные
могут также содержать строки, и существует набор функций для работы со строками и строковыми
переменными.
Подпрограммы
Существует множество примеров того, когда некоторые части кода могут повторяться снова и снова.
Если требуется внести изменения в этот код, одно из мест легко может быть упущено. Такой
повторяемый код можно определить, как подпрограмму. Тогда, если необходимо внести изменение,
его нужно сделать в одном месте.
Однострочные подпрограммы
Некоторые подпрограммы могут состоять только из части одной линии. Форматом этих подпрограмм
является:
В качестве примера рассмотрим ситуацию, когда все стандартные циклы сверления отменяются с
помощью N G00 G80 M09. Вместо того чтобы вставлять этот код во все примеры отмены и потом быть
вынужденным вносить изменения в каждый, то же самое можно получить в одну строку:
ex_DrillCancel : $cannedcancel
ex_PeckCancel : $cannedcancel
ex_TapCancel : $cannedcancel
ex_BoreCancel : $cannedcancel
Многострочные подпрограммы
Другие подпрограммы может включать несколько строк кода УП. Формат для них:
Define subroutine_name
: [code]
: ...
: [code]
EndDefine
Между Define и EndDefine, может быть вставлено столько строк кода, сколько необходимо.
12
www. dptechnology.ru
ex_FirstToolChange : T M06
: ToolChangeComment
: T(secondtool)
ex_OtherToolChange : T M06
: ToolChangeComment
: T(nexttool)
ex_LastToolChange : T M06
: ToolChangeComment
: T*(firsttool)
Define tc
: T M06
: ToolChangeComment
EndDefine
ex_FirstToolChange $tc
: T(secondtool)
ex_OtherToolChange $tc
: T(nexttool)
ex_LastToolChange $tc
: T*(firsttool)
Обратите внимание на то, что нет двоеточия (:) между ex_keyword и $ для вызова подпрограммы.
Это происходит потому, что в многострочных подпрограммах двоеточие встроено в ключевые слова
подпрограммы Define и EndDefine. Если вы включите их в обоих местах, вы получите ошибку при
компиляции.
Примечания:
• В примерах выше вызовы подпрограмм были сделаны в разделе Секции. Подпрограмма вызывается
и в других разделах файла ПП .asc. Например, подпрограмма может быть вызвана из другой
подпрограммы или в качестве аргумента для утверждения If.
Раздел секций
Раздел секций является сердцем постпроцессора, поскольку он дает примеры того, как должен
выглядеть код УП для станка с ЧПУ. Ключевые слова секций должны начинаться с EX_. Всё, что
запрограммировано в ESPRIT имеет соответствующее ключевого слова EX_ в ПП.
Структура раздела секций:
Формат кода дается справа от двоеточия. Есть несколько различных типов кодов, используемых для
определения формата. Три наиболее важных типа, которые можно увидеть в разделе секций, как
показано выше:
• символические коды
13
www. dptechnology.ru
• Символический выключатели
• Форматируемые коды
Некоторые примеры производят одну строку кода. Типичное движение по дуге может выглядеть
следующим образом:
Другие секции могут генерировать несколько строчек кода УП, например, секция смены инструмента:
ex_OtherToolChange : ToolChangeComment
: N T M06
Каждая строка после ex_ keyword, которая начинается с двоеточия, создает строку в файл УП.
Любую строку в ex_ example можно разбить на несколько строк в файле .asc, но она по-прежнему
будет создавать только одну строку кода в файле УП. Это делается с помощью \\ продолжения строки
в файле .asc:
ex_CycleStart : Comment
Важные замечания:
• Каждый ex_ example в файле процессора должен иметь двоеточие (:) в первой строке
• Каждый пример может быть определен только один раз: каждый пример может иметь только один
экземпляр на постпроцессор
Для работы с постпроцессором необходимо знать рабочий процесс в ex_ examples. Таким образом,
определенная логика может быть реализована в каждом примере вашего постпроцессора.
Самый лучший способ рассмотреть этот поток - разместить длинный код УП: в ESPRIT перейдите в
меню Файл> Расширенная УП ... или нажмите на Ctrl + F9 на клавиатуре:
14
www. dptechnology.ru
Выберите «Длинная» для отображения развернутого кода УП:
Длинный код УП показывает "ex_ ..." ключевые слова из файла .asc перед строкой (строками) кода
УП, которые данное ключевое слово производит. Таким образом, вы можете видеть рабочий процесс.
Пример:
Жесткая и мягкая
Как вы можете видеть в примере выше, есть мягкие и жесткие примеры.
ex_StartCode является жесткий примером, потому что он всегда приходит в начале вывода кода УП.
ex_MainStart является жесткий примером, потому что он всегда приходит в начале основной
программы. Точно так же и ex_MainEnd и ex_EndCode – жесткие примеры.
ex_Tap2Start и ex_Tap2Body - мягкие примеры, потому что они используются только, если
Стандартный Цикл включен и Cycle Type установлен на Tap2 в диалоговом окне технологии
сверления. Если постоянный цикл был включен и цикл типа был только Tap, то будут вызываться
мягкие примеры ex_TapStart и ex_TapBody. Если постоянный цикл не включен, то вместо этих
примеров всё движение будет разбито на движения ex_Rapid и ex_Linear, необходимых для
15
www. dptechnology.ru
выполнения резьбонарезания в каждом отверстии. ex_Rapid и ex_Linear – сами по себе мягкие
примеры.
В обоих случаях, однако, вызываемый пример может зависеть от того, какие еще примеры
определены (или не определены) в этом файле .asc
ex_CycleStart является жестким примером и он всегда появляется в самом начале операции, кроме
случаев со сверлильными операциями и ex_PTOPCycleStart определен в файле ПП .asc. Если
ex_PTOPCycleStart определен в файле ПП, то именно он будет использоваться для начала операции
сверления, а не ex_CycleStart.
Если постоянный цикл был включен и был выбран цикл типа Tap 2 в диалоговом окне технологии
сверления, но этот файл ПП не содержит примеры ex_Tap2Start и ex_Tap2Body, то вместо этого будет
использоваться ex_TapStart и ex_TapBody. Если эти примеры не были определены в файле ПП, то
придется прибегнуть к разбиению движения на движения ex_Rapid и ex_Linear.
Осознание этой разницу, а также условий применения жестких и мягких примеров, может быть
полезным при отладке.
Если вы видите жесткий пример при длинном (или Extended) выводе кода УП, который выводится в
определенном месте, где нужен вывод кода УП, то вы можете добавить этот пример на свой файл ПП
.asc и быть уверенным, что он всегда будет вызван в одном и том же месте.
Если вы видите некоторые мягкие примеры в длинном (или Extended) выводе кода УП, которые вы не
ожидали увидеть, то вы знаете, какие некоторые настройки технологий вызывают вывод этих
примеров. Вы можете попытаться изменить эти настройки или даже устранить этих ключевые слова
примеров из вашего постпроцессора, чтобы посмотреть, какие примеры вызываются и какой код УП
они производят.
Переопределение данных
Значения, которые поступают из графики, называются размерами, в то время как имя «Разные»
используется для значений, которые обычно поступают со страницы технологии. Например, XAbsolute
считается форматируемым размером, а ToolNumber считается форматируемым разным.
Вероятно, лучшим примером этого является постпроцессор для многозадачных станков. При повороте
стола, как правило, следует отправить инструмент на безопасное расстояние в начальную позицию.
Это часто осуществляется с помощью G91 G28 X0 Y0 Z0 в коде УП. Одним из способов, с которым вы
можете получить этот вывод, может быть: G91 * G28 * X (0) Y (0) Z (0). Символ (0) переопределяет
форматируемое значение на 0, но G91 * принудительно переводит кода в режим приращений. Таким
образом, вместо того, чтобы двигаться от нуля, вам нужно дополнительное перемещение, чтобы
вернуться обратно в нулевое положение. Если инструмент начинает работу в X5, вместо X0 в коде УП
будет X-5.
Другой пример - применить коэффициент масштабирования. Может быть, у вас есть определенная
пользователем переменная под названием шкала, которая устанавливается с помощью одного из
пользовательских настроек. Предположим, значений I и J для дуг или значений U и V для 4 осей
измеряются постепенно из X и Y. Так если вы переопределяете значения X и Y напрямую, то вы также
изменяете ссылки на эти дополнительные расчеты. Так что если вы просто попробуете применить тот
же масштаб для I и J или U и V значений, то число получится неправильным.
16
www. dptechnology.ru
Пока вы не перезаписали форматируемое измерение, вам все еще нужно обновить его, как если бы
это был вывод. Это делается с NCOutputOff и NCOutputOn. В целом, принятый подход показан в
примере ниже:
XAbsolute : X N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
YAbsolute : Y N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
MiscFormat1 : X_ N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
MiscFormat2 : Y_ N 4 Y N 4 N 5 Y N 3 1 1 N 0 0
MotionRapid : G00
Если вы всегда будете придерживаться правил переписать только форматируемые разные коды и
никогда не переписывать форматируемые размеры, вы убережете себя от множества сложностей.
Отладка
При написании процессора, вам часто придется отлаживать значения ваших переменных, чтобы
убедиться, что ваша логика или математические выражения являются правильным.
До ESPRIT 2010, вы, вероятно, использовали форматируемые коды, чтобы сделать это:
MiscFormat1 : Debug N 4 Y N 4 N 5 Y N 3 7 1 N 0 6
Variable : Test
ex_Rapid : Debug*(Test)
Это не лучший способ сделать это, потому что вывод значение переменной зависит от
форматирования DEBUG форматируемого. Например, если вы работаете в метрической СИ, только три
цифры будут выведены и значение вашей переменной будет округлено.
Для отладки в ESPRIT, вы должны использовать OutputString (). Это было добавлено в качестве
поддержки части переменной строки в ESPRIT 2010 года.
С помощью этой функции вы можете легко вывести переменную стандартного листинга (без
перезаписи форматируемого и тем самым ограничить число знаков после запятой). Приведенный
выше пример будет теперь выглядеть так:
Variable : Test
Логические операторы
17
www. dptechnology.ru
Следующие математические операторы могут быть использованы в постпроцессоре (указаны в
порядке приоритета):
() Скобки (по умолчанию), или при любом определении StartExp и EndExp, используются для
группировки частей выражения. Все, что внутри имеет наивысший приоритет, и
оценивается в первую очередь.
- Отрицание. Номера, которые должны быть сведены на нет, должны быть заключены в
скобки, как в случае с (-2). Переменные и выражения, которые должны быть сведены на
нет следует умножить на (-1), а в (-1) * (выражение).
* умножение
/ Деление (тот же приоритет, как умножение)
% Модуль, который возвращает остаток от деления
+ Сложение
- Вычитание (тот же приоритет, как сложение)
ABS ABS - функция, которая возвращает абсолютное значение аргумента. Если значение
положительное, абсолютное значение то же самое. Если значение отрицательное, то
отрицается, чтобы иметь положительное значение той же величины.
ACS ACS - Функция, которая возвращает арккосинус значения. ACS - это угол (в градусах),
который имеет значение косинуса, равное данному аргументу.
ASN ASN - Функция, которая возвращает арксинус значения. ASN – это угол (в градусах),
который имеет значения синуса, равное данному аргументу.
ATN ATN - Функция, которая возвращает арктангенс значения. ATN – это угол (в градусах),
который имеет значение тангенса, равное данному аргументу.
COS COS - это функция, которая возвращает косинус заданного угла. Значение угла
задается в градусах.
EXP EXP - Функция, которая поднимает натуральный логарифм (е) сила аргумента.
Другими словами, EXP (х) равна е ^ х. е является трансцендентным постоянной (как,
например, пи) и имеет значение от примерно 2,71828.
INT INT - Функция, которая возвращает наименьшее следующее целое значение для
данного аргумента.
Примечания:
• Оператор «+» также используется для объединения строк. Если один из операндов в
выражении является строкой, то «+» рассматривается как объединение. Оператор «+»
работает только как сложение, если оба операнда являются числами или числовыми
переменными.
Показателя оператора степени ^ не поддерживается, но это легко обойти использованием
функций EXP и LN. Так: х = у = ехр (у * ln (х)).
18
www. dptechnology.ru
• "If" является специальным ключевым словом, которое варьирует вывод кода УП в зависимости от
теста условия
• «Else» является специальным ключевым словом, которое отделяет истинное и ложное утверждение
для условия If
: G00 X Y Z CoolantCode
Define PreCallTool
If (NextTool=0) \\
If (PresentTool<>FirstTool) T*(FirstTool) EndIf \\
Else \\
T*(NextTool) \\
EndIf
EndDefine
Что происходит перед тем, как Else выполняется, когда условие истинно. Что появляется после Else и
прежде, чем выполнится EndIf, когда условие ложно.
Вместо того чтобы писать отдельную строку кода для каждого условия Else и If, ключевое слово ElseIf
позволяет сократить код, чтобы сделать его более удобным для чтения.
Пример ElseIf:
ex_CycleStart : Comment
: If (SpindleSpeed<500)
: SpindleUnit S(1) SpindleDirection
: ElseIf (SpindleSpeed<1250)
: SpindleUnit S(2) SpindleDirection
: ElseIf (SpindleSpeed<2500)
: SpindleUnit S(3) SpindleDirection
: Else
: SpindleUnit S(4) SpindleDirection
: EndIf
Ключевые слова While и EndWhile добавляют непрерывный цикл выполнения программы, который
будет выполняться до тех пор, пока данное условие истинно. Как только условие ложно, цикл будет
оставлен.
• ‘While’ - специальное ключевое слово, которое начинает цикл, который будет продолжаться пока
условие истинно, и прекращает цикл, как только условие ложно
Пример While:
Variable : LoopCounter
MiscFormat1 : =~ N 4 N N 0 N 4 N N 0 0 1 N 0 0
19
www. dptechnology.ru
ex_EndCode : LoopCounter=(1)
: “To fully demonstrate this example, do a Set Origin”
: “or Machine Setup and change the Program Number.”
: While (LoopCounter<=prognumber)
: “Loop Counter” =~*(LoopCounter)
: LoopCounter=(LoopCounter+1)
: EndWhile
20
www. dptechnology.ru