Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всё по МСА доц.Друзьякин И.Г / Презентации 2013 / 02 МСА Языки программирования ПЛК.pptx
Скачиваний:
165
Добавлен:
29.03.2015
Размер:
1.14 Mб
Скачать

Functional Block Diagrams

Формальные правила языка

FBD

• Функциональные блоки могут располагаться произвольно в поле программы;

• Не может быть несоединенных входов и выходов функционального блока;

• Соединение блоков может выполняться также при помощи ссылок с определенными именами;

• Функциональные блоки размещаются слева направо, сверху вниз;

• На входе функционального блока может быть константное выражение, любая внутренняя или входная переменная контроллера; выходная переменная.

• На выходе блока может быть любая

Functional Block Diagrams

Cоздание собственных функциональных блоков User Functional Block (UFB)

Алгоритм создания UFB

1.С использованием базовых функциональных блоков языка FBD составляется программа, реализующая функции создаваемого UFB.

2.Внешним связям UFB присваиваются имена, которые будут использоваться в графическом изображении блока как функция того или иного вывода.

3.Программа сворачивается в прямоугольную картинку.

4.Специальными командами формируется изображение UFB (его размеры, число входов

Functional Block Diagrams

Instruction List

Фрагмент программы на языке IL

Instruction List

Фрагмент программы на языке IL

Instruction List

Инструкция состоит из кода инструкций и операнда

LD %I 1.0, где LD – код инструкции, I 1.0 – операнд

Инструкции активизируют

Входы/выходы ПЛК.

Стандартные системные управляющие функции (таймеры, счетчики).

Арифметические и логические операции и операции пересылки.

Внутренние переменные ПЛК.

Два типа инструкций

Проверочные инструкции, которые содержат условия, необходимые для того, чтобы выполнилось действие, например, LD, AND, OR.

Инструкции действия, которые активизируют

Instruction List

Базовые инструкции языка IL

Проверочные инструкции

LD, LDN, LDR, LDF

AND, ANDN, ANDR, ANDF OR, ORN, ORR, ORF AND, OR

XOR, XORN, XORR, XORF MPS, MRD, МРР

N

Инструкции загрузки

Инструкции логического И

Инструкции логического ИЛИ

Восемь уровней вложения

Исключающее ИЛИ Инструкции работы со стеком Отрицание

Instruction List

Базовые инструкции языка IL

ST, STN, S, R

Инструкции действия

–( )– –( / )– –( S )– –( R )–

JMP, JMPC, JMPCN

Переход безусловный, условный при

 

1, условный при 0

SRn

Переход к подпрограмме

RET, RETC, RETCN

Возврат из подпрограммы

END, ENDC, ENDCN

Конец программы

HALT

Останов программы

Instruction List

Базовые инструкции языка IL

Проверочные элементы

Блоки: таймер; счетчик;

Инструкции управления

 

одновибратор; регистр; контроллер

 

функциональными блоками

барабана

 

 

 

LD[.....] AND[.....]

Для сравнения

двух

операндов.

OR[.....]

Результат равен 1, если содержимое

Пример: LD[%MW10<1000]

ячейки памяти

для

переменной

 

MW10 меньше 1000.

 

Элементы действия

 

 

[.......]

Выполнение операций на языке ST.

Пример:

К содержимому ячейки памяти MW0

[%MW10:=%MW0+100]

прибавляется

100; сумма

 

помещается в ячейку MW10.

Instruction List

Инструкция занимает одну строку. Последовательность инструкций начинается с восклицательного знака. Восклицательный знак может включать комментарий и может быть идентифицирован меткой.

Пример:

! (*Waiting for drying*)

%L2:

% I0.1

LD

AND

%М10

ST

%Q2.5