Языки программирования промышленных контроллеров
Основным стандартом, относящимся к ПО контроллеров, является стандарт на языки программирования контроллеров – IEC 61131–3.
Стандарт IEC 61131-3 описывает синтаксис и семантику пяти языков программирования контроллеров.
Графический язык SFC (Sequential Function Chart) используется для описания алгоритма в виде набора связанных пар: шаг (step) – переход (transition). Шаг представляет собой набор операций над переменными, переход – набор логических условных выражений, определяющий передачу управления следующей паре шаг – переход. Внешне описание на языке SFC напоминает хорошо известные логические блок – схемы алгоритмов. Язык SFC имеет возможность распараллеливания алгоритма, однако, он не содержит средств для описания шагов и переходов, которые могут быть выражены только средствами других языков стандарта. Происхождение: Grafcet (telenechanique – groupe Schneider).
Графический язык программирования LD (Ladder Diagram) является стандартизированным вариантом класса языков релейно–контактных схем. Логические выражения на нем описываются в виде реле, которые широко применялись в области автоматизации в 60–х годах. Из – за своих ограниченных возможностей язык дополнен привнесенными средствами: таймерами, счетчиками и т.п. Происхождение: различные варианты языка релейно–контактных схем (Allen – Bradley, AEG Schneider Automation, GE – Fanuc, Siemens).
Графический язык FBD (Functional Block Diagram) по своей сути похож на LD: вместо реле здесь используются функциональные блоки. Алгоритм работы некоторого устройства, выраженный средствами этого языка, напоминает функциональную схему электронного устройства: логические элементы типа ²И², ²ИЛИ² и т.п., соединенные линиями. Корни языка выяснить сложно, однако большинство специалистов считают это не что иное, как перенос идей языка релейно-контактных схем на другую элементную базу.
Текстовой высокоуровневый язык общего назначения ST (Structured Text) по синтаксису ориентирован на ПАСКАЛЬ; самостоятельного значения не имеет: используется только совместно с SFC. Происхождение: Grafcet.
Текстовой язык низкого уровня IL (Instruction List) выглядит как язык Ассемблер, что объясняется его происхождением. Например, для некоторых моделей контроллеров фирмы Siemens он является языком Ассемблера.
Все языки программирования контроллеров взаимосвязаны – для них стандарт определяет единые модели ПО: связанных функциональных блоков и модель собственно программирования. Стандартизованы общие элементы этих языков и прежде всего используемые символы, типы данных и переменные. Определены функции и функциональные блоки, их декларации, наборы стандартных функций и функциональных блоков, понятия программ на этих языках. Стандарт определяет и такие общие элементы как конфигурации, ресурсы, пути доступа, задачи. Все это дает возможность программирования на любом из этих языков или их совместного использования с обеспечением генерации кодов единой программы. И, наконец, в стандарте рассмотрена специфика каждого из языков. В приложениях к стандарту приведены формальные спецификации элементов текстовых языков, а в качестве информационного материала – множество примеров конкретных функций, блоков функций и программ, написанных на этих языках. Они вместе со стандартными функциями и функциональными блоками становятся хорошей основой для создания богатых библиотек стандартных элементов программ для систем контроля и управления.
Важнейшим расширением стандарта IEC 61131–3 является стандарт IEC 61131-5, посвященный программированию связей между контроллерами и другими программируемыми системами. Он опирается на стандарт спецификации производственного сообщения – Manufacturing Message Specification (MMS, ISO/IEC 9506, включая 9506-05). В стандарте определены сервисы прикладного уровня, такие как сетевая проверка (сертификация) приборов, сбор данных (по вызову и программируемый), управление по сети (параметрическое и защитное), сообщения о тревогах, вызовы исполнения программ и управления, передачи прикладных программ, управление связью. Сервисы представлены на языках программирования, определенных в IEC 61131–3 и, в частности, в виде FBD. Даны диаграммы состояний и переходов для каждого сервиса.
Приложение Г