13. Вспомогательные программные функции
13.9 Макрокоманды пользователя
Различия между командами M98 и G65
(1) Аргумент может быть задан для G65, но не для M98.
(2) Номер последовательности может быть задан для M98, но не для G65, G66 и G66.1.
(3) M98 выполняет подпрограмму после выполнения всех команд за исключением M, P, H
и L в блоке M98, а G65 производит отвод к подпрограмме без выполнения других
операций.
(4) Если любой адрес за исключением O, N, P, H или L включен в блок M98, производится
поблочная остановка.
Это не происходит для команды G65.
(5) Уровень локальных переменных M98 является фиксированным, но он может
варьировать в зависимости от глубины вложений для G65. (#1, например, имеет
одинаковое значение перед или после M98, однако при этом наблюдается разное
значение в каждом случае для G65.)
(6) Глубина вложений M98 может быть расширена до 8 уровней в комбинации с G65, G66 и
G66.1. Глубина вложений G65 может быть расширена только до 4 уровней в
комбинации с G66 и G66.1.
Глубина вложений команды макровызова
До 4 уровней вложений доступны для вызова макроподпрограммы, действующему по
принципу простого вызова или модового вызова. Аргумент с параметром макровызова
действует только на вызванном макроуровне. Так как глубина вложений для макровызовов
может быть расширена до 4 уровней, аргумент может использоваться как локальная
переменная для программы с каждым соответствующим макровызовом.
(Примечание 1) Если выполняется G65, G66, G66.1 G кодовый макровызов или
макровызов внесистемной команды, он рассматривается как уровень вложений 1,
при этом приращение уровня локальных переменных также производится с шагом
один.
(Примечание 2) Заданная макроподпрограмма пользователя вызывается каждый раз, когда
выполняется команда движения посредством модового вызова A. Однако в случае
дублирования команды G66, следующая макроподпрограмма пользователя
вызывается каждый раз, когда происходит перемещение оси даже при помощи
команд движения в макросе. Макроподпрограммы пользователя вызываются по
очередности от подпрограммы, заданной последней.
(Пример 1)
364
Макрооперация пользователя
Основная программа
макрос
вызов)
После выполнения Z1
Macro
После выполнения Z2
отмена)
Макрос .Макрос
[Макрос
макрос
После выполнения Z3
отмена)