Загрузка...

Языки программирования промышленных контроллеров


В настоящее время большинство пользователей применяют при программировании PLC языки стандарта IEC 1131-3. Этот стандарт определяет следующие пять языков для программирования PLC:

1.Графический язык последовательных функциональных схем SFC, описывающих схематически программу – логику ее работы на уровне генерирующихся или параллельных процедурных шагов и условных переходов.

2.Графический язык функциональных блоковых диаграмм FBD, позволяющий построить комплексную процедуру, состоящую из различных библиотечных функций (арифметических, тригонометрических, строковых) и функциональных блоков (триггеры, переключатели, таймеры, счетчики и так далее). Элементы этого языка выглядят как блоки, соединенные проводами в электрическую цепь, делая язык удобным для множества прикладных программ, содержащих передачу информации между различными компонентами.

clip_image002

clip_image004

3.Графический язык релейных диаграмм или релейной логики LD, используемой для описания логических выражений различного уровня сложности.

clip_image006

4.Язык структурированного текста ST – относится к классу языков высокого уровня и по мнемонике похож на Pascal. Язык ST предоставляет болевые и арифметические операторы, а также конструкции структурного программирования такие, как IF THEN ELSE, FOR TO DO, WHILE DO, REPET UNTIL. На основе этого языка можно создавать гибкие процедуры обработки данных.

5.Язык инструкции IL, относящийся к классу текстовых языков низкого уровня (Ассемблеры) и позволяющий создавать эффективные оптимальные процедуры.

Bool : LD b1 (* reg IL:=b1 *)

& b2 (* reg IL:=b1 AND b2 *)

AND b3 (* reg IL:= b1 AND b2 And NOT (b3) *)

ST b0 (* b0:= reg IL *)

Стандарт IFC 1131-3 является открытым для расширений, поэтому в нем тщательно опиваются механизмы, посредством которых производители и пользователи могут определять новые типы данных, функции и функциональные блоки.

Одной из известных фирм, реализующих упомянутый стандарт в своем продукте ISaGRAF, является французская фирма SY International, предложившая свое решение в 1990 г. рассмотрим некоторые

… реш-я в организац. Программирования PLC, реализуемые данной фирмой.

Основной принцип, лежащий в основе исполнительной системы ISaCRAF TARGET – синхронизация. Прикладная задача ISaCRAF работает строго по временным циклам, продолжительность которых определяет разработчик при компиляции задачи. Минимальная продолжительность такого цикла определяется характеристиками аппаратно-программной платформы (например для MS-DOS – 55 мс, для OS-9 – 10 мс).

Диаграмма продолжительности цикла:

clip_image008

Прикладная задача (ISaCRAF Proect) состоит из программ и процедур, которые в свою очередь могут быть расположены в трех программных секциях:

1) секция BEGIN (циклическая)

2) секция SEQUENTAL (последовательная)

3) секция END (циклическая)

Цикл системы исполнения ISaCRAF:

clip_image010

Программы начальной секции обычно формируют значения переменных, вычисляемых на основе входных данных, поступающих от устройств ввода. Сформированные переменные высокого уровня чаще всего используются программами последовательной секции. Программы заключительных секций традиционно защищают переменные, обрабатываемые в последовательной секции перед передачей в выходные устройства. Главные и дочерние программы последовательной секции должны быть написаны только на языке последовательных функциональных схем SFC. Программы начальной и заключительной секции могут быть написаны на любом языке кроме SFC. Любая программа каждой секции может иметь одну или несколько подпрограмм. Подпрограммы могут быть написаны на любом языке кроме SFC.

Любая программа последовательной секции на языке SFC может управлять другими программами на этом языке. Также программы нижнего уровня иерархии называются дочерними программами. Дочерняя программа на языке SFC – это, в отличие от подпрограммы, правильная программа, которая может быть запущена, приостановлена и вновь запущена с точки приостанова или уничтожена родительской программой.

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

Использование множественного соединения (дивергенция, конвергенция).

Пр-ры программ на SFC:

Языки программирования промышленных контроллеров

Загрузка...