Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Славкин 13.06.15.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
9 Мб
Скачать
☆

1.2.2 Язык функциональных блоковых диаграмм fbd

FBD (Диаграмма Функциональных Блоков) – здесь также используется графическое программирование. Образно говоря, FBD определяет собой некую множественность функциональных блоков, которые имеют соединения между собой (вход и выход).

Данные связи являются переменными и выполняют пересылку между блоками. Каждый блок в отдельности может представлять определенную операцию(триггер, логическое “или” и т.д.). Переменные задаются с помощью определенных блоков, а цепи выхода могут иметь связи с конкретными выходами контроллера или связи с глобальными переменными.

Рисунок 7 - FBD схема в CoDeSys

1.2.3 Непрерывные функциональные схемы cfc

SFC ( Sequential Function Chart) – может использоваться с языками ST и IL, он также основан на графике. Принцип его построения близок к образу конечного автомата, данное условие относит его к самым мощным языкам программирования.

Технологические процессы, в данном языке, построены по типу определенных шагов. Структура шагов состоит из вертикали, которая идет сверху вниз. Каждый шаг – это конкретные операции. Описать операцию можно не только с помощью SFC, но и с помощью ST и IL.

Алгоритм:

  • Состояние. В этом блоке описывают некие действия.

  • Переход. Каждый из подобных блоков обладает логическим выражением выполнения.

  • Альтернативное ветвление. При наличии различных условий алгоритм можно разветвлять.

  • Параллельное ветвление. Имеет общее условие на переход.

  • Останов алгоритма

Рисунок 8 - Алгоритм работы

Недостатком SFC можно считать, что в процессе работы может быть активировано несколько шагов, не в параллельных потоках. Поэтому необходим глобальный контроль со стороны программиста.

1.2.4 Структурированный текст st

ST (Структурированный Текст) – относится к языкам высокого уровня могут использоваться в условных операторах ("IF…THEN…ELSE") и в циклах (WHILE…DO) и имеет много сходного с Pascal и Basic.

ST позволяет интерпретировать более шестнадцати типов данных и имеет возможность работать с логическими операциями, циклическими вычислениями и т.д.

Небольшим недостатком можно определить отсутствие графической среды. Программы представлены в виде текста и данное условие усложняет освоение технологии.

Пример :

IF value < 7 THEN

CoDeSys V2.3 2-12

WHILE value < 8 DO

value:=value+1;

END_WHILE;

END_IF;

Вызов функционального блока в ST:

Функциональный блок вызывается с помощью имени экземпляра функционального блока и списка входных параметров с присваиванием данных в круглых скобках. В следующем примере вызывается таймер с параметрами IN и PT. Значение выходной переменной Q присваивается переменной А.

К выходной переменной, как и в IL, можно обратиться с помощью имени экземпляра функционального блока, точки, следующей за ним и имени выходной переменной:

CMD_TMR (IN: = %IX5, PT: = 300);

A: =CMD_TMR.Q

1.2.5 Список инструкций il

Язык IL (Instruction list) дословно – список инструкций. Каждая инструкция начинается с новой строки и содержит оператор и, в зависимости от типа операции, один и более операндов, разделенных запятыми.

Перед операндом может находиться метка, заканчивающаяся двоеточием (:). Комментарий должен быть последним элементом в строке. Между инструкциями могут находиться пустые строки.

Пример:

LD 17

ST lint (* комментарий*)

GE 5

JMPC next

LD idword

EQ istruct.sdword

STN test

next: