Основы эффективного программирования
Подпрограмма
Язык G- и М-кодов, как и любой другой язык программирования, позволяет работать с подпрограммами и совершать переходы. Посредством функции подпрограммы основная (главная) управляющая программа может вызывать из памяти другую программу (подпрограмму) и выполнить ее определенное число раз. Если УП содержит часто повторяемое действие или работает по определенному шаблону, то использование подпрограмм позволяет упростить программу обработки и сделать ее гораздо меньшей в размере.
Существуют два вида подпрограмм – внутренние и внешние. Внутренние подпрограммы вызываются при помощи кода М97 и содержатся внутри главной программы. То есть они находятся в одном файле. Внешние подпрограммывызываются кодом М98 и не содержатся в теле главной программы. В этом случае главная программа и подпрограмма находятся в разных файлах.
Схема внутренней подпрограммы
Внутренняя подпрограмма выполняется, когда СЧПУ встречает код М97. При этом адрес Р указывает на номер кадра, к которому нужно перейти, то есть туда, где начинается внутренняя подпрограмма. Когда СЧПУ находит кадр с кодом окончания подпрограммы М99, то выполнение внутренней подпрограммызавершается и управление передается кадру главной программы, следующему за кадром, вызвавшим завершенную подпрограмму.
Схема внешней подпрограммы
Внешние подпрограммы работают похожим образом. Когда в главной программе встречается кадр с кодом М98, то вызывается подпрограмма с номером, установленным при помощи Р-адреса. При нахождении кода М99 управление возвращается главной программе, то есть выполняется кадр главной программы, следующий за кадром с М98. Учтите, что внешняя подпрограмма находится в отдельном файле. По сути, внешняя подпрограмма – это отдельная программа с индивидуальным номером, которая при желании может быть выполнена независимо от главной программы. Для вызова подпрограммы необходимо, чтобы она находилась в памяти СЧПУ.
При помощи L-адреса определяется, сколько раз нужно вызвать ту или иную подпрограмму. Если подпрограмму нужно вызвать всего один раз, то L в кадре можно не указывать.
М98 Р1000 L4 – подпрограмма будет вызвана 4 раза.
Большим преимуществом от использования подпрограмм является возможность удобной и эффективной работы с программными массивами и шаблонами.
Дата добавления: 2016-06-02; просмотров: 1589;