Инструкции сравнения
Особенности инструкции LIM Low LimHigh Lim Истина Ложь Low Lim < High Lim Low LimHigh Lim Истина ЛожьLow Lim > High Lim Истина
Переход на метку Переход на метку (выходная инструкция) метка (входная инструкция) При переходе назад (организация цикла) следует учитывать возможность срабатывание сторожевого таймера ! При переходе вперед не следует «пропускать» инструкции таймеров и OTE («энергозависимый» выход ) !
Подпрограммы Вызов подпрограммы (выходная инструкция) Входная инструкция, должна быть первой в подпрограмме Выход из подпрограммы (выходная инструкция) Допускается до 8 уровней вложенности подпрограмм ! Номер программного файла (3…255)
Сброс центрального управления (Маster Control Reset) Инструкции MCR используются парами. Если цепочка с первой инструкцией MCR ложна, тогда все цепочки внутри инструкций считаются ложными Вложенность инструкций не допускается ! Переход на метку внутри инструкций MCR активирует зону !
Прерывания Приоритеты прерываний: обработка ошибок дискретных входов (DII) по времени (STI) входов\выходов (ISR) Входная инструкция, должна быть первой в подпрограмме обработки прерывания Сохранение и восстановление данных файла состояния: S:0 – арифметические флаги S:13 и S:14 – математический регистр S:24 – индексный регистр Допускается до 3 уровней вложенности подпрограмм !
Прерывание по времени (STI) Инструкция разрешает прерывание (устанавливает бит S:2/1) Инструкция запрещает прерывание (сбрасывает бит S:2/1) Инструкция устанавливает номер программного файла (из N7:0), время (из N7:1) и разрешает прерывание Статус процессора: S:30 – временной интервал для прерываний ( х 0.01 сек ) S:31 – номер программного файла (3…255) S:2/0 – бит задержки прерывания S:2/1 – бит разрешения прерывания S:5/10 – выход за установленный предел (бит малой ошибки) S:36/9 – STI потеряно
Прерывание дискретных входов (DII) Режимы работы: Режим счетчика (S:50 больше 1) Режим события (S:50 равно 0 или 1) Статус процессора : S:46 – номер программного файла (3…255) S:47 – номер слота с модулем ввода дискретных сигналов S:48 – битовая маска для дискретных входов (младший байт) S:49 – значение для сравнения (младший байт) S:50 – уставка сравнений S:51 – маска возврата S:52 – аккумулятор сравнений S:2/11 – бит задержки DII (есть условие для DII) S:2/12 – бит разрешения DII S:5/12 – бит переполнения DII: выполняется DII и возникло новое условие для DII есть условие для DII и DII запрещено S:36/8 – DII потеряно (выполнение DII и S:2/11=1)
Прерывание входов\выходов (ISR) Статус процессора : S:27/1…S:27/15 – разрешение прерывания, слоты 1…15 S:28/0…S:28/14 – разрешение прерывания, слоты 16…30 S:25/1…S:25/15 – задержка прерывания, слоты 1…15 S:26/0…S:26/14 – задержка прерывания, слоты 16…30
Непосредственный ввод/вывод Данные из указанного слота через маску перемещаются в таблицу отображения входов Данные из таблицы отображения выходов через маску перемещаются в указанный слот Производится сканирование входов и выходов, а также обслуживание каналов связи.
Инструкции для отладки Temporary End – временное окончание программы. При состоянии цепочки «истина» выполнение оставшейся части программы прекращается. Suspend – приостановка программы После выполнения инструкции происходит остановка выполнения программы и выключение физических выходов. Идентификационный код сохраняется в статусе процессора (слово S:7)