Описание промышленного контроллера FC-20 (Фирмы BECK), страница 10

         AND   N I3.6
  THEN    DEC     R9 

Математические операторы и операторы сравнения

        (, ), +, -, *, /, <, <=, =, >=, >, <>  

Пример:

        IF      (       FW0
               =       V1234
               )
               AND
               (       R1
               <>      V0
               )
        THEN...

CFM – вызов функционального модуля

CMP – вызов программного модуля

WITH – функция служит для передачи параметров при вызове функционального или программного модуля

        IF             I1.2
        THEN           CFM 0
               WITH    V2
 

Программа на языке указаний состоит из последовательного набора команд.

Структура программы STL может быть следующих типов:

  • Пошаговая программа (Step program)
  • Программа с параллельной логикой (Parallel logic program)

Пошаговая программа (Step program)

Пошаговая программа может содержать до 255 шагов (1 - 255). Каждый шаг может быть помечен собственной меткой (step mark).

В пошаговой программе можно программировать условные или безусловные переходы (JMP TO step mark).

Каждый шаг может содержать:

Полное условие содержащее IF, THEN, и возможно ELSE(OTHRW).

Первое условие может быть не полным – начинаться с THEN и не содержать IF в таком случае команды, записанные после THEN, будут выполнены в любом случае.

Программа выполняется шаг за шагом.

!!!!!  Управление не перейдет к следующему шагу пока не будет выполнено THEN или ELSE(OTHRW) в последнем условии шага, до этого шаг будет циклически повторяться.

Пример пошаговой программы:
 
        STEP    Mark1                  Метка шага
          THEN  SET    Lamp1           Включить лампу1
          IF           Button1        Если нажата кнопка1
          THEN  SET     Lamp2          тогда вкл. лампу2 и перейти на Mark2
          OTHRW RESET   Lamp2          иначе выкл. лампу2 и перейти на Mark2
 
        STEP    Mark2                  Метка шага
          THEN  RESET   Lamp1          выключить лампу1
          IF           Button2        Если кнопка2 нажата
          THEN  SET     Lamp3          тогда включить лампу3 
                SET     Lamp4          и лампу4 и на шаг Mark3
          OTHRW RESET   Lamp3          иначе выключить лампу3
               JMP TO  Mark1          и перейти на Mark1
 
        STEP    Mark3                  Метка шага
          IF           Button3        Если нажата кнопка3
               AND     Button1        и кнопка1
          THEN  SET     Lamp5          тогда включить лампу5 и на шаг Mark4
 
        STEP Mark4
        ...

Программы параллельной логики.

Такая структура программы обеспечивает параллельное изменение состояний выходов контроллера в зависимости от состояния входов. Работа программы аналогична работе программ на языке РКС.

        IF      N       Button1        Если кнопка1 не нажата
        THEN    SET     Lamp1          тогда включить лампу1
        IF             Button2        Если кнопка2 нажата
        THEN    SET     Lamp2          включить лампу2
        OTHRW   SET     Lamp3          иначе включить лампу3
               RESET   Lamp2          и выключить лампу2
        ...
        ...
        IF             Button3        Если кнопка3 нажата
               AND     Button1        и кнопка1 нажата
        THEN    RESET   Lamp1          тогда выключить лампу1