
Модель программного обеспечения для ПЛК, как определено в IEC 61131-3 стандарт, Программируемые контроллеры – Часть 3: Языки программирования, состоит из, на верхнем уровне, конфигурации. Конфигурация определяет аппаратную структуру и логику системы ПЛК и содержит ресурсы (например, ПЛК или PAC), которые способны выполнять программы. Эти ресурсы управляются задачами, которые вызывают выполнение программных блоков, составляющих проект ПЛК. Эти программные блоки называются блоками организации программы.
IEC 61131-3 определяет три типа программных организационных единиц (POU) — программ, функциональные блоки, и функции.
Программы
Программы являются единицами организации программ самого высокого уровня и могут быть написаны на любом из языков программирования IEC 61131-3. Каждая программа представляет собой сеть функций и функциональных блоков (см. ниже), которые управляют машиной или процессом. Следовательно, в любом проекте требуется по крайней мере одна программа.
Программы могут считывать и записывать в другие входные или выходные переменные и могут взаимодействовать с другими программами. И это единственные POU, которые могут объявлять глобальные переменные, которые становятся доступными по всему проекту, и пути доступа, которые позволяют обмениваться данными между конфигурациями
Программы могут вызываться (инициироваться) задачами. При каждом вызове программы, если значения программы изменяются, изменения сохраняются при следующем вызове программы, даже если она вызывается другой задачей.
Функциональные блоки
Наиболее распространенный тип POU, функциональные блоки — это сегменты повторно используемого кода, которые имеют внутреннюю память и могут возвращать разные выходные данные, даже когда используются одни и те же входные данные. Другими словами, результаты функционального блока зависят от предыдущего вывода функционального блока или текущего состояния процесса или действия. Примером функционального блока является контур ПИД-регулирования.
Функциональные блоки могут вызываться программами или другими функциональными блоками, а в некоторых реализациях стандарта IEC 61131-3 они могут вызываться задачами. Память, которая будет захватывать и сохранять выходные данные, должна быть выделена для каждого уникального экземпляра функционального блока — процесс, иногда называемый созданием экземпляра, поскольку он создает “экземпляр” функционального блока.
Функции
Функцию можно рассматривать как подпрограмму (часто уравнение), у которой нет внутренней памяти, поэтому она возвращает значение, а не выходные данные. Это означает, что каждый раз, когда вызывается (выполняется) функция, если используются одни и те же входные данные, будет возвращено одно и то же значение, независимо от количества раз, когда используется функция. Распространенными примерами функций являются ADD и SQRT (квадратный корень).
Программная модель IEC 61131-3 — с программами, функциональными блоками и функциями для создания проектов ПЛК — обеспечивает эффективное программирование, позволяя копировать и повторно использовать программные блоки, которые уже были внедрены и протестированы в другом месте, или идентифицировать и деактивировать их для устранения неполадок.
Свежие комментарии