logo
Ответы по курсу ПМС

25. Стандарт на языки программирования plc

Программы изначально разрабатываются на граф. Языках релейной логики (лестничная) и функциональных блоков, α имеют сходства со схемами релейной автоматики. В дальнейшем эти раз. Со стандартом IEE 1131-3

Процесс разработки стандарта для промышленных контроллеров начался в 1979г., когда национальные комитеты ряда стран поручили специальной группе технических экспертов выполнить первый вариант стандарта. В нем имеется 5 частей:

-общая информация

-требования к оборудованию и тестам

-языки программирования

-руководство пользователя

-разработка сообщений

IEE 1131-3 в основном разработан в США и рассматривается как стандарт NEMA. В данном стандарте описывается 2 гр. языка и 3 текстовых (граф –диаграмма цепей или релейной логики, диагр. функциональных блоков)

В этих языках графические символы обеспечивают прямое соответствие между граф. представлением решения задачи программой, α решает данную задачу.

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

Последняя версия стандарта включает структурное пр-е, абстрактные типы данных, выделение данных и процедуру объединения в отдельный блок (инкапсуляция).

  1. Диаграммы цепей (LD)

Диаграммы функциональных блоков F BD.

Стандарт IEC 1131-3 определяет языки для программируемых контроллеров таким образом, что части прикладной программы могут быть запрограммированы на любом языке и скомпонованы в единую исполняемую программу. При разработке стандарта было найдено так много вариаций языков для программируемых контроллеров, что было невозможно выбрать одну из существующих вариаций в качестве общего языка. Поэтому соответствующее подразделение принялось за разработку нового общего языка с применением современных принципов разработка программного обеспечения. Новый стандарт включает структурное программирование, абстрактные типы данных, выделение данных и процедур в блок (инкапсуляцию) в сочетании с сохранением тесной связи с классическими языками для программируемых контроллеров.

Стандарт IEC 1131-3 описывает два графических языка: "Диаграмма цепей" (LD) и "Диаграмма функциональных блоков" (FBD). В этих языках графические символы обеспечивают прямое соответствие между графическим представлением решения задачи и программой, решающей эту задачу.

LD использует стандартизированный набор символов для ступенчатого программирования. По существу, эти диаграммы являются представлением релейной логики. Люди, понимающие релейную логику, могут программировать на языке "Диаграмма цепей".

FBD - это графический язык, который повсеместно используется в Европе. Элементы этого языка выглядят как блоки, соединTнные проводами в электрическую цепь, делая язык удобным для множества прикладных программ, содержащих передачу информации или данных между различными компонентами. Функциональные блоки - это программные объекты, которые представляют специализированные функции управления, используемые в управляющих системах. В терминах объектно-ориентированного программирования функциональные блоки - это объекты, но не все объекты являются функциональными блоками.

В дополнение к графическим языкам LD и FBD стандарт IЕС 1131-3 определяет элементы языка "Схема последовательных функций" (SFC) - "шаги", "переходы" и "блоки операций", которые могут быть использованы для организации "операций", написанных на любом языке, для получения алгоритмов последовательного управления. Основой элементов SFC служит стандарт IEC 848. который является международной версией хорошо известного французского стандарта "Grafcet".

В IEC 1131-3 определяется также два стандартных текстовых языка: "Список команд" (IL) и "Структурированный текст" (ST). IL - это язык низкого уровня, аналогичный германскому стандарту "Anwelsungsliste", в то время как ST - это язык высокого уровня, разработанный для структурного программирования. Язык ST предоставляет булевы и арифметические операторы, а также конструкции структурного программирования, такие, как IF... THEN ELSE, CASE, WHILE DO, а также REPEAT...UNTIL.

Одной из задач, появившихся у подразделения экспертов, было гармоничное использование функциональных блоков в среде четырTх стандартных языков. Традиционным использованием функциональных блоков в языке LD было программное замещение простых электромеханических элементов, таких как счTтчики и таймеры, в то время как их использование в FBD оказалось более сложным, напоминающим разводку кросс-плат в стационарных управляющих системах.

Использование функциональных блоков в языке IL и LD примерно одинаково, в то время как совсем нет никакого механизма их использования в традиционных структурированных языках, таких как Паскаль или СИ. Много усилий было затрачено на определение того, как использование функциональных блоков может быть согласовано со всеми четырьмя языками.