API 00 CJ — Оператор условного перехода контроллеров Delta DVP 1-го поколения ES/EX/SS/SA/SX/EH


Delta DVP CJ - API 00 в контроллерах ES/EX/SS/SA/SX/EH - Оператор условного перехода

Delta DVP CJ - API 00 в контроллерах ES/EX/SS/SA/SX/EH - Оператор условного перехода

Оператор условного перехода CJ контроллеров ES/EX/SS/SA/SX/EH применяется для пропуска выполнения части программы, таким образом реально сократить время выполнения вашей программы.

Возможно импульсное выполнение, для этого используется оператор CJP.

Операнды оператора условного перехода

Операнды оператора условного перехода

Оператор условного перехода CJ - описание

В качестве цели(конца) перемещения - используется указатель (Label) в программе.

Указав в программе адрес конца перемещения, оператор определит к какой линии (network) кода необходимо осуществить перемещение. (Для тех кто изучал языки программирования - эта команда аналогично GOTO из PASCAL). CJ - Инструкции могут использовать один и тот же адрес условного перехода многократно (из разных условий), при этом использование одинаковых указателей инструкциями CJ и CALL недопустимо (CALL инструкции используются в WPLSoft). Компилятор отреагирует на это как на ошибку в коде программы и не пропустит.

На данный момент в ISPSoft функциональные блоки являются реализацией функции CALL, самой функции CALL в ISPSoft нет, так что используя функциональные блоки и Delta DVP CJ будьте внимательны, так же могут возникнуть ошибки. (Лично не проверял, возможно в дальнейшем дополню данный раздел).

Оператор условного перехода Delta DVP CJ может использоваться для обратного скачка(вверх по программе). Если входной сигнал для CJ-инструкции держится дольше 200 мс, то появится ошибка времени работы (watchdog timer).

Так же есть возможность дублирования записи выхода. При дублировании записи выходов следите чтоб оба выхода никогда не были активны в одно и тоже время. Это может привести к ошибочному выполнению программы.

Изменение состояния устройств в процессе выполнения оператора CJ (Реакция программы на пропуск строк):

1. M, Y, S сохранят состояние которое было до перехода по CJ-инструкции;

2. Выполнение таймеров (100 мс , 10 мс) прекратиться с сохранением накопленного времени.

3. Таймеры T192-199 и их рабочие контакты будут продолжать работать

4. Высокоскоростные счетчики и их контакты будут продолжать работать.

5. Обычные счетчики прекратят работу (накопленное значение сохранится)

6. Если внутри СJ-инструкции программируется инструкция отключения аккумулятивного таймера (сброса накопленного значения) , то сброс будет осуществлен когда перепрыгивается Network схемы c катушкой аккумулятивного счетчика.

7. Прикладные инструкции (кроме  API 159 DRWA ,  API 158 DRVI, API 157 PLSV, API 59 PLSR, API 53 DHSCS, API 54 DHSCR, API 55 DHSZ, API 56 SPD, API 57 PLSY, API 58 PWM) внутри СJ-инструкции выполняться не будут.

Оператор условного перехода - Выполнение маркировки в точке программы (размещение label)

При использовании LD и LDI маркирование осуществляется непосредственно перед цепью схемы. Не путать "указатель" и "комментарий к строке". Указатель не поддерживает кириллицу, пробелы и спец символы (исключение нижнее подчеркивание "_").

 

Добавление точки перехода к строке

Добавление точки перехода к строке

Оператор условного перехода - Перемещение в области главного управления (Master Control)

Процесс программирования при использовании CJ инструкции совместно с MC- и MCR- инструкциями допускает 5 вариантов:

1. Перепрыгивание через область MC- MCR.

2. Вхождение во внутреннюю область MC- MCR из внешней.

3. Перемещение внутри MC- MCR

4. Выход из MC- MCR

5. Перемещение из одной области MC- MCR в другую область MC- MCR (только в моделях SA/SX/EH/ES версии 4.7 и выше)

Delta DVP CJ

Delta DVP CJ

En : Контакт включения инструкции Delta DVP CJ
S : Точка перехода
Входы/Выходы Операнды Тип данных
S P-Точка перехода BIT

Оператор условного перехода Delta DVP CJ - Пример использования

Пример использования оператор условного перехода Delta DVP CJ

Пример использования оператор условного перехода Delta DVP CJ

В данном примере, при замыкании контакта М0 - Network2 будет пропущен и сразу выполнится Network3.

Примеры работы с оператором условного перехода Delta DVP CJ для WPLSoft вы можете найти в инструкции по программированию на сайте Delta-Electronics.