
- •Языки
- •Составляющие части стандарта IEC 61131
- •Российские стандарты на основе IEC 61131
- •Состав языков
- •Объекты адресации языков программирования
- •Объекты адресации языков программирования
- •Формат адресации
- •Ladder Diagram
- •Ladder Diagram
- •Ladder Diagram
- •Ladder Diagram
- •Ladder Diagram
- •Ladder Diagram
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Functional Block Diagrams
- •Instruction List
- •Instruction List
- •Instruction List
- •Instruction List
- •Instruction List
- •Instruction List
- •Instruction List
- •Instruction List
- •Instruction List
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Structured Text
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
- •Sequential Function Chart
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 |