ISaGRAF. Version 3.4

         

Блоки в LD


Используя Быстрый LD редактор, вы подключаете функциональные блоки к логическим линиям. Функция, в действительности, может быть оператором, функциональным блоком или функцией. Так как блоки не всегда имеют логические входы и/или логические выходы, введение блоков в LD диаграммы приводит к добавлению нескольких новых параметров EN, ENO в интерфейс блока. Параметры EN, ENO не добавляются, если вы используете FBD/LD редактор, и вы можете подключить переменные требуемого типа.

        Вход "EN"

В некоторых операторах, функциях или функциональных блоках первый вход не булевский. Так как первый вход всегда должен быть подключен к шине, на первую позицию автоматически вводится другой вход, называемый “EN”. Блок выполняется только тогда, когда вход EN равен TRUE. Ниже представлен пример оператора сравнения и эквивалентный код на ST:

IF rung_state THEN

   q := (value1 > value 2);

ELSE

   q := FALSE;

END_IF;

(* продолжить шину с состоянием q *)

        Выход "ENO"

В некоторых операторах, функциях или функциональных блоках первый выход не булевский. Так как первый выход всегда должен быть подключен к шине, на первую позицию автоматически вводится другой выход, называемый “ENO”. Выход ENO всегда имеет то же значение, что и первый вход блока. Ниже представлен пример функционального блока AVERAGE и эквивалентный код на ST:

AVERAGE(rung_state, Signal, 100);

OutSignal := AVERAGE.XOUT;

eno := rung_state;

(* продолжить шину с состоянием eno*)

        параметры "EN" и "ENO"

В некоторых случаях требуются EN и ENO. Ниже представлен пример с арифметическим оператором и эквивалентный код на ST:

IF rung_state THEN

   result := (value1 + value2);

END_IF;

eno := rung_state;

(* продолжить шину с состоянием eno *)



Содержание раздела