SCADA, АСУ ТП, контроллеры – основная тематика журнала «ИСУП»
Журнал «Информатизация и Системы Управления в Промышленности» публикует тематические материалы посвященные SCADA, АСУ ТП, контроллерам, автоматизации в промышленности.

ISaGRAF – это очень просто!

Программный продукт, о котором пойдет речь, уже во многом известен, и версия 3.4х неплохо освоена инженерами и интеграторами, так как именно она поставляется в комплекте с популярными PAC контроллерами семейства i-7000/i-8000/WinCON/LinCON. В настоящей статье мы переходим на следующую ступеньку и начинаем освоение версии 5.0.

ООО “ХОЛИТ Дэйта Системс”, Украина, г. Киев

Holit-Data-Systems.png

Предположим, вам необходим инструмент для создания приложений для программируемых контроллеров автоматизации (Programmable Automation Controller, PAC), и Вы выбрали программный пакет ISaGRAF. Отлично, но каков будет следующий шаг, что делать дальше? Как достичь желаемого результата - получить прикладную программу, которая, быть может, будет управлять технологическим процессом на заводе или двигателем на борту атомной подводной лодки? Мы поставили перед собой цель помочь заинтересованным читателям в освоении этого многогранного продукта.

Прежде всего, несколько слов о том, что же именно представляет собой сама рассматриваемая технология. ISaGRAF относится к классу программного обеспечение SoftPLC, которое позволяет превратить встраиваемый компьютер в полнофункциональный программируемый контроллер автоматизации (PAC), способный решать задачи PID-регулирования, обработки ввода/вывода и коммуникаций по различным каналам связи. Одно из требований, предъявляемых к подобным решениям - легкость программирования и переносимость программ. Легкость в данном случае значит абстрагирование от низкоуровневых подробностей разработки программы и концентрация исключительно на логике процесса. Ведь согласитесь, в конечном счете вы делаете программу, которая будет выполнять какой-то конкретный алгоритм, а не просто работу с портами ввода/вывода. Создав программу, работающую не с аппаратурой, а исключительно с переменными, вы получите код с очень высокой степенью портируемости, который можно легко перенести на другую платформу, если такая необходимость возникнет. Достигнуть такой гибкости позволяет разделение технологии ISaGRAF на две основные составляющие: среду разработки и среду выполнения.

Среда выполнения представляет собой виртуальную машину, своего рода интерпретатор кода, которая служит прослойкой между аппаратной частью контроллера и программами пользователя. Когда звучит фраза - “этот контроллер поддерживает ISaGRAF”, то это означает, что производитель уже установил среду выполнения на свое оборудование и оно готово обрабатывать пользовательские программы. В зависимости от используемого в PAC аппаратного и/или программного обеспечения, в контроллере можно запустить и больше одной виртуальной машины. В такой мультипрограммной конфигурации задачи пользователя будут выполняться в параллельном режиме, образуя как бы несколько дополнительных контроллеров. Вопрос обмена данными и синхронизации в случае необходимости решается ISaGRAF практически без участия программиста, а точнее сказать, разработчика программы, ибо классического текстового программирования с его бесконечными листингами здесь нет и в помине. Именно в этом смысле в дальнейшем изложении используется термин “программист”. Единственное, что потребуется от разработчика программы, так это указать, какие переменные из удаленного проекта будут доступны в текущем проекте. Все остальное возьмет на себя ISaGRAF. 

Программы же создаются в среде разработки, которая получила название ISaGRAF Workbench. Это интегрированное средство разработки, содержащее редактор кода, отладчик, средство контроля версий и еще множество других, не менее полезных для программиста инструментов. Именно в нем создаются программы управления, описывается вся логика технологического процесса, и именно Workbench компилирует код для контроллера. 

В качестве основы для изучения мы решили выбрать пятую версию ISaGRAF. Сделано это, прежде всего, потому, что она объединяет в себе все возможности более ранних версий, позволяя при этом строить приложения из функциональных блоков IEC 61499. Как нам известно, эта версия сейчас находится в стадии модификации, и ожидаемая в скором времени обновленная пятая версия станет стандартным инструментом и заменит младшие версии. 

Начнем наше изложение с терминологии. В программировании принято разбивать большое приложение на более мелкие составные части. Функции, процедуры, подпрограммы. Все они служат для одного - правильно организовать основную программу, сделать ее более понятной для чтения и дальнейшего сопровождения. Подобные организационные единицы присутствуют и в ISaGRAF, для них даже есть соответствующий термин - Program Organization Unit (или более кратко - POU). Любой элемент кода, вынесенный в отдельную функцию или функциональный блок, в ISaGRAF является POU.



Статья опубликована в журнале «ИСУП», № 3(11)_2006

С.В. Гулько,
ООО “Холит Дейта Системс”, Украина, г. Киев,
E-mail: s.gulko@isagraf.com.ua, info@isagraf.com.ua