ISaGRAF как средство реализации МЭК 61131-3
сергей рылов
к.т.н., эксперт по автоматизации производства,
Школа Fine Start
В данной статье рассмотрим такой инструмент разработки для программируемых логических контроллеров, как ISaGRAF.
Итак, начнём!
ISaGRAF — инструментальная графическая среда разработки прикладных программ для программируемых логических контроллеров (ПЛК) на языках стандарта IEC 61131-3 и IEC 61499, позволяющая создавать локальные или распределенные системы управления.
В настоящее время ISaGRAF производится и распространяется компанией Rockwell Automation.
Комплекс программ ISaGRAF первый на рынке использовал новый стандарт МЭК 61499 для программирования распределенных систем управления.
Система ISaGRAF фирмы ICS Triplex (www.isagraf.com) состоит из среды разработки и среды исполнения.
Среда исполнения может функционировать практически на любой операционной системе и любой аппаратной платформе, включая персональный компьютер.
Среда разработки поддерживает все пять языков МЭК 61131-3 и функциональные блоки МЭК 61499, имеет средства для редактирования, компиляции, документирования, управления библиотеками, архивирования, моделирования системы при отсутствии реального ПЛК и отладки с подключенным ПЛК.
Среда исполнения создается и загружается в контроллер производителем ПЛК и является независимой от исполняемой в ней программы пользователя.
Среда разработки имеет знакомый по Windows-приложениям интерфейс с подсказками, панелями инструментов, окнами, с функциями вставки и замены и т. п.
Код, полученный на выходе среды разработки, может исполняться на любой аппаратно-программной платформе без изменений, если на ней предварительно установлена среда исполнения.
Среда разработки может также транслировать пользовательскую программу, написанную на МЭК-языках, в текст на языке Си.
Технология ISaGRAF
Основа технологии — среда разработки приложений (ISaGRAF Workbench) и адаптируемая под различные аппаратно-программные платформы исполнительная система (ISaGRAF Runtime).
Краткий обзор технологии:
В ISaGRAF поддерживаются все пять языков стандарта IEC 61131-3:
- IL (Instruction List) Язык инструкций (близок к языку ассемблера)
- ST (Structured Text) Структурированный текст (адаптированный вариант языка Паскаль)
- LD (Ladder Diagram) Язык релейных диаграмм (графический язык в терминах контактов контактов электромагнитных реле и их обмоток)
- FBD (Function Block Diagram) Язык функциональных блоков - графический язык представления инструкций
- SFC (Sequential Function Chart) Язык последовательных функциональных схем
В ISaGRAF реализован ряд расширений спецификации стандарта IEC 61131-3, в частности язык Flow Chart.
Инструментальная система разработки приложений обеспечивает проект всеми возможностями языков стандарта IEC61131. Устойчивость к сбоям, способность обрабатывать большое количество точек ввода/вывода позволяют с успехом применять ISaGRAF как в небольших встраиваемых приложениях, так и в распределенных проектах автоматизации.
В многозадачной системе могут исполняться несколько исполнительных систем ISaGRAF PRO с различными циклами опроса. Механизм связывания переменных обеспечивает передачу данных между исполнительными системами как в локальном, так и в распределенном проекте, причем аппаратные платформы могут работать под управлением различных операционных систем.
Что мешает Вам воспринимать Ваш проект как одно единственное приложение промышленной автоматизации? Вероятно — тот факт, что, как правило, это набор совершенно разных контроллеров, операционных систем, устройств ввода/вывода и коммуникационных протоколов.
Конечно, тут возникает еще много вопросов: Какую информацию должны разделять ваши устройства? Кто разрабатывает ваше приложение? Кто поддерживает его? Как воспользоваться уже существующими наработками? Какого типа эти наработки? Последовательные функциональные схемы? Функциональные блочные диаграммы? Потоковые диаграммы? Релейные диаграммы?
Ответом на все эти трудные вопросы является ISaGRAF — мощная, устойчивая, встраиваемая технология открытой автоматизации.
ISaGRAF позволяет ускорить разработку и внедрение приложений, уменьшить время выхода на рынок и предоставляет конкурентноспособную аппаратно-программную независимость.
ISaGRAF — это встраиваемая, масштабируемая технология программирования контроллеров, позволяющая создавать как приложения для автономных контроллеров, так и распределенные приложения для нескольких обменивающихся данными по сети контроллеров.
ISaGRAF состоит из трех взаимосвязанных компонент:
- система разработки приложений (Workbench) — для проектирования, компиляции, симуляции, загрузки приложения в контроллер и отладки
- встраиваемая целевая система — легко переносимый машино-независимый программный комплекс, который встраивается в контроллер и исполняет приложения, спроектированные в системе разработки приложений
- средства разработчика — для написания драйверов под ISaGRAF, переноса целевых систем на другие аппаратные и программные платформы и т.д.
КАК ISAGRAF РАБОТАЕТ?
Вы создаете приложение в Workbench ISaGRAF на одном из поддерживаемых языков программирования (Рис. 2).
При компиляции этого проекта генерируется TIC-код (Target Independent Code — машино-независимый код), из системы разработки приложений Вы загружаете TIC-код Вашего приложения на целевую систему, которая содержит TIC-интерпретатор.
Возможно генерирование С-кода приложения, однако для связывания этого кода с кодом целевой системы потребуется ISaGRAF I/O Development Tools или ISaGRAF Developper’s Tool Kit. (Для генерирования С-исполняемых файлов потребуется С-компилятор).
Целевая система ISaGRAF
Целевая система ISaGRAF может исполняться под управлением любой ОС. Целевая система ISaGRAF — машинонезависимый механизм, который встраивается в контроллер и исполняет приложение, разработанное в системе разработки приложений ISaGRAF. При этом приложение может быть автономным (одно приложение, исполняемое одним контроллером), или распределенным (одно приложение, исполняемое несколькими контроллерами).
КАК ISAGRAF РАБОТАЕТ?
1.
- Коммуникационный интерфейс:
- Задача связи с HMI/SCADA
- Загрузка
- Отладка «на лету»
- Задача связи PLC-to-PLC
2.
- Интерфейс Приложения
- Дополнительные функции к библиотекам программирования
3.
- Интерфейс Ввода/Вывода
- Локальные карты ввода/вывода
- Разделяемая память
4.
- Системный интерфейс
- Интерфейс аппаратной платформы
- Управление памятью
- Системные часы
Разработка приложений
Система разработки приложений.
На одной конфигурации (физическом контроллере) можно создать неограниченное число ресурсов («виртуальных» контроллеров), запрограммированных с помощью 5 языков IEC 61131-3:
- SFC: Sequential Function Chart (или Grafcet)
- FBD: Function Block Diagram
- LD: Ladder Diagram
- ST: Structured Text
- IL: Instuction List
Может быть использован также Flow Chart.
Для каждого ресурса декларируются переменные простого типа (boolean, integer, real, string, timer) или определенного пользoвателем типа, такого как массивы и структуры. Переменные могут быть привязаны к устройствам ввода/вывода.
Каждый ресурс может использовать переменные любого другого ресурса (в том числе ресурс другого физического контроллера — конфигурации). Обмен данными между конфигурациями осуществляется по сети Ethernet, используя механизм «биндинга». Биндинг — это возможность установления горизонтальных связей между контроллерами на уровне «связывания» переменных разных целевых систем.
ISaGRAF является платной платформой в отличие от Codesys!
Сергей Рылов
К.Т.Н., ЭКСПЕРТ ПО АВТОМАТИЗАЦИИ ПРОИЗВОДСТВА, ШКОЛА FINE START
Более 10 лет опыта инженером по автоматизации, инженером-программистом АСУ ТП и инженером-проектировщиком АСУ ТП в разных отраслях промышленности.
Принимал участие в таких крупных проектах автоматизации, как проекты ГУП «Мосгортранс» и ОАО "Линде Газ Рус".
Заинтересовала статья?
Освоить востребованную профессию в сфере автоматизации производства вы можете в Школе Fine Start. Узнайте детали в каталоге наших профессий