Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЕ ПРОМЫШЛЕННЫХ КОНТРОЛЛЕРОВ В СИСТЕМЕ PROSYS.doc
Скачиваний:
107
Добавлен:
01.05.2014
Размер:
306.69 Кб
Скачать

6. Техника программирования

6.1. Структура программы на stl

Программа, написанная с использованием языка ассемблера, может быть разделена на две части. Первая - основная, в которой производятся вызовы пользовательских и стандартных подпрограмм, а также может осуществляться обращение к таблицам данных, подпрограммам инициализации и могут быть использованы любые команды из списка операторов (STL). Эта часть программы должна оканчиваться командой END. Во второй производится описание всех стандартных и пользовательских подпрограмм. Следует отметить, что в качестве подпрограммы могут выступать лестничные логические диаграммы (LAD), функциональные схемы (FD иFBK), схемы последовательности (SEQC) и подпрограммы на ассемблере, которые должны начинаться со строки, помеченной меткой, представляющей собой любую комбинацию из четырех латинских букв и цифр, причем первая - буква, и заканчиваться командой выхода из подпрограммы - RTS. Отметим, что все перечисленные структуры, вызываемые из основной части программы на этапе программирования в STL, являются подпрограммами на языке ассемблер, поэтому в дальнейшем мы не будем делать различия между ними. Обращение к подпрограммам и другим структурам, описанным во второй части программы, осуществляется по метке при помощи команды JSR (см. пример):

0000 JSR INIT инициализация

0001 JSR AINP читать аналоговую величину

0002 JSR LIN линеаризация

0003 JSR AOUT вывод аналоговой величины

0004 END завершение основной части

0005 INIT LDAA T D64 подпрограмма инициализации

0006 BNE EINI

... тело подпрограммы

000X EINI RTS выход из подпрограммы

000X AINP ... чтение аналогового входа

... тело подпрограммы

000X RTS выход из подпрограммы

000X AOUT ... запись аналоговой величины

... тело подпрограммы

000X RTS выход из подпрограммы

6.2. Особенности программирования плк

В первую очередь, имеются некоторые особенности программирования ПЛК, функций безопасности и вспомогательных средств, которые значительно облегчают программирование.

6.2.1. Цикл программы

Большая часть программы ПЛК постоянно выполняется в цикле. Как только процессор закончил цикл (он распознает это по команде END), он начинает обработку снова со строки 0. Максимальное время, которое необходимо процессору для выполнения программы (начиная со строки 0 до следующего выполнения END) 100 мс. Если программа выполняется дольше, потому что, например, цикл не заканчивается из-за ошибки программирования, то контролирующая функция ЦП (наблюдение за ВРЕМЕНЕМ ВЫПОЛНЕНИЯ) останавливает ПЛК и вызывает сигнал сброса.

6.2.2. Подпрограмма инициализации, флаг первого сканирования

Подпрограмма инициализации - это такая подпрограмма, которая исполняется только один раз - в первом программном цикле после сброса (после включения ПЛК). Достигнуть того, чтобы подпрограмма исполнялась однократно, можно несколькими способами. Стандартный способ заключается в использовании системного флага первого сканирования, который автоматически устанавливается операционной системой в 1 для первого программного цикла, а затем сбрасывается в 0 при последующих исполнениях. В качестве первого скана можно использовать R 0899 или TD64. Другой, нестандартный способ, заключается в использовании одного из сбрасываемых регистров R 0000 - R 0019 (или флажков F 000 - F 499), который необходимо установить в отличное от 0 значение в подпрограмме инициализации и контролировать его значение в ее начале.