9.3.7. Программное обеспечение
Программирование ПЛК на описанных выше языках МЭК 61131-3 осуществляется с помощью специализированного программного обеспечения, которое разрабатывается производителями ПЛК или фирмами, специализирующимися на создании ПО для систем автоматизации. Наиболее известными в мире являются системы CoDeSys фирмы 3S (www.3s-software.com) и ISaGRAF фирмы ICS Triplex (www.isagraf.com).
CoDeSys
CoDeSys (Co ntroller Development System) представляет собой комплекс программ для проектирования прикладного программного обеспечения, отладки в режиме эмуляции и загрузки программы в ПЛК. Наиболее подробно эта система описана в книге [Петров]. Основными частями системы являются среда разработки программы и среда ее исполнения (CoDeSys SP), которая находится в ПЛК.
В CoDeSys входят графические и текстовые редакторы для всех пяти языков МЭК 61131-3. Этот комплекс полностью реализует требования стандарта и дополнительно вводит ряд оригинальных расширений, самым удобным из которых является объектно-ориентированные программирование. Однако расширениями языка можно не пользоваться, чтобы сохранить требования к совместимости языков, предъявляемое к открытым системам.
В одном проекте может быть использовано несколько контроллеров разных производителей. Каждый из них может программироваться как независимое устройство или с учетом их взаимодействия в промышленной сети. Проект состоит из нескольких приложений, распределенных по нескольким контроллерам. В одном ПЛК может существовать несколько независимых приложений.
Программа, написанная на языках МЭК, компилируется системой CoDeSys в машинный код, оптимизированный для заданной аппаратной платформы. Компилятор выдает диагностические сообщения как на этапе компиляции, так и на этапе ввода операторов языка.
Машинный код, сгенерированный компилятором CoDeSys, загружается в ПЛК, после чего разработчик имеет возможность использовать широкий набор функций для быстрой и эффективной отладки приложения. Текущие значения переменных видны непосредственно в редакторах программ. Программу можно выполнять по шагам или по контроллерным циклам. Можно задавать точки останова программы, просматривать стек вызовов, подготавливать связные наборы значений переменных и загружать их одной командой.
При отсутствии реального контроллера отладку программы можно выполнять с помощью встроенного программного эмулятора.
Система имеет также встроенный многоканальный программный трассировщик (графический самописец) значений переменных. Он позволяет наглядно представить динамически изменяющиеся данные проекта. Данные аккумулируются в памяти ПЛК и могут синхронизироваться с определенными событиями. Трассировщик полезен не только при отладке, но и при анализе нештатных ситуаций в процессе эксплуатации оборудования.
После изменения программы во время отладки перекомпилируются только измененные части программы. Их можно подгружать в контроллер без остановки выполнения прикладной программы. Эта возможность системы называется "горячим обновлением" кода.
Программируемое устройство соединяется с CoDeSys через вспомогательный программный компонент – шлюз связи, который использует протокол TCP/IP. Шлюз работает на компьютере программиста или удаленно, например, через интернет или сеть Ethernet. Контроллер подключается компьютеру через любой последовательный канал или сеть. Добавив драйвер, изготовитель ПК может поддержать свой оригинальный протокол связи.
Общение ПЛК со SCADA осуществляется с помощью стандартного ОРС сервера.
Для того, чтобы ПЛК можно было программировать с помощью CoDeSys, в контроллере должна быть установлена система исполнения. Установку системы выполняет изготовитель контроллера. Изготовитель обеспечивает также поддержку всех модулей ПЛК, поэтому конечный пользователь может сосредоточиться на разработке только прикладной программы.
Среда исполнения CoDeSys может функционировать в ПЛК под управлением различных операционных систем или вообще без них, в том числе на обычном персональном компьютере. Собственное ядро реального времени может устанавливать контроллерный цикл с точностью до нескольких микросекунд. Прикладная программа остается работоспособной даже при зависании ОС.
Помимо средств программирования, CoDeSys имеет встроенную систему визуализации, которая применяется для операторского управления, а также моделирования на этапе разработки. Визуализацию можно запустить на компьютере, графической панели ПЛК или встроенном в контроллер web-сервере.
Пользователь может самостоятельно расширять возможность CoDeSys путем создания библиотек программных модулей. Например, он может реализовать поддержку нестандартных интерфейсов.
Комплекс программирования CoDeSys построен по компонентной технологии Microsoft на базе автоматизации. Поэтому изготовитель ПЛК может включить в комплекс свои собственные компоненты, от конфигуратора оригинальной сети до собственного языка программирования ПЛК.
Для систем, связанных с безопасностью, CoDeSys имеет библиотеку функциональных блоков PLCopen Safety, систему исполнения для оборудования с дублированием и специализированное расширение среды программирования. При внезапном отключении питания CoDeSys автоматически сохраняет значения переменных во флеш-памяти или в ОЗУ с батарейным питанием.
ISaGRAF
Система ISaGRAF фирмы ICS Triplex (www.isagraf.com) также состоит из среды разработки и среды исполнения. Среда исполнения может функционировать практически на любой операционной системе и любой аппаратной платформе, включая персональный компьютер. Среда разработки поддерживает все пять зыков МЭК 61131-3 и функциональные блоки МЭК 61499, имеет средства для редактирования, компиляции, документирования, управления библиотеками, архивирования, моделирования системы при отсутствии реального ПЛК и отладки с подключенным ПЛК.
Комплекс программ ISaGRAF первый на рынке использовал новый стандарт МЭК 61499 для программирования распределенных систем управления.
Связь между SCADA пакетом и контроллером, запрограммированным с помощью ISaGRAF, осуществляется с помощью стандартного ОРС сервера.
Среда исполнения создается и загружается в контроллер производителем ПЛК и является независимой от исполняемой в ней программы пользователя.
Среда разработки имеет знакомый по Windows-приложениям интерфейс с подсказками, панелями инструментов, окнами, с функциями вставки и замены и т. п. Код, полученный на выходе среды разработки, может исполняться на любой аппаратно-программной платформе без изменений, если на ней предварительно установлена среда исполнения. Среда разработки может также транслировать пользовательскую программу, написанную на МЭК-языках, в текст на языке Си.
*Инкапсуляция - свойство языка программирования скрывать реализацию программного блока, предоставляя пользователю языка только его интерфейсы.
- Архитектура автоматизированной системы
- 1.1. Разновидности архитектур
- 1.1.1. Требования к архитектуре
- 1.1.2. Простейшая система
- 1.1.3. Распределенные системы автоматизации
- 1.1.4. Многоуровневая архитектура
- 1.2. Применение интернет-технологий
- 1.2.1. Проблемы и их решение
- 1.2.2. Основные понятия технологии интернета
- 1.2.3. Принципы управления через интернет
- 1.2.4. Микро веб-серверы
- 1.2.5. Примеры применения
- 1.3. Понятие открытой системы
- 1.3.1. Свойства открытых систем
- Модульность
- Платформенная независимость
- Взаимозаменяемость
- Интероперабельность (аппаратно-программная совместимость)
- Масштабируемость (наращиваемость)
- Интерфейс пользователя
- Программная совместимость
- 1.3.3. Достоинства и недостатки
- 1.4. Заключение к главе "Архитектура автоматизированных систем"
- Обзор публикаций
- 2. Промышленные сети и интерфейсы
- 2.1. Общие сведения о промышленных сетях
- 2.2. Модель osi
- 2.2.1. Физический уровень
- 2.2.2. Канальный уровень
- 2.2.3. Сетевой уровень
- 2.2.4. Транспортный уровень
- 2.2.5. Сеансовый уровень
- 2.2.6. Уровень представления
- 2.2.7. Прикладной уровень
- 2.2.8. Критика модели osi
- 2.3. Интерфейсы rs-485, rs-422 и rs-232
- 2.3.1. Принципы построения Дифференциальная передача сигнала
- "Третье" состояние выходов
- Четырехпроводной интерфейс
- Режим приема эха
- Заземление, гальваническая изоляция и защита от молнии
- 2.3.2. Стандартные параметры
- 2.3.3. Согласование линии с передатчиком и приемником
- 2.3.4. Топология сети на основе интерфейса rs-485
- 2.3.5. Устранение состояния неопределенности линии
- 2.3.6. Сквозные токи
- 2.3.7. Выбор кабеля
- 2.3.8. Расширение предельных возможностей
- 2.3.9. Интерфейсы rs-232 и rs-422
- 2.4. Интерфейс "токовая петля"
- Аналоговая "токовая петля"
- Цифровая "токовая тепля"
- 2.5. Hart-протокол
- Принципы построения
- Сеть на основе hart-протокола
- Адресация
- Команды hart
- Язык описания устройств ddl
- Разновидности hart
- 2.6.1. Физический уровень
- Электрические соединения в сети can
- Трансивер can
- 2.6.2. Канальный уровень
- Адресация и доступ к шине
- Достоверность передачи
- Передача сообщений
- Пауза между фреймами
- Фильтрация сообщений
- Валидация сообщений
- 2.6.3. Прикладной уровень: caNopen
- Коммуникационные модели
- 2.6.4. Электронные спецификации устройств caNopen
- 2.7.1. Физический уровень
- 2.7.2. Канальный уровень Profibus dp
- Коммуникационный профиль dp
- Передача сообщений
- 2.7.3. Резервирование
- 2.7.4. Описание устройств
- 2.8.1. Физический уровень
- 2.8.2. Канальный уровень
- Описание кадра (фрейма) протокола Modbus
- Структура данных в режиме rtu
- Структура Modbus rtu сообщения
- Контроль ошибок
- 2.8.3. Прикладной уровень
- Коды функций
- Содержание поля данных
- Список кодов Modbus
- 2.9. Промышленный Ethernet
- 2.9.1. Отличительные особенности
- 2.9.2. Физический уровень
- Методы кодирования
- Доступ к линии передачи
- Коммутаторы
- 2.9.3. Канальный уровень
- 2.10. Протокол dcon
- 2.11. Беспроводные локальные сети
- 2.11.1. Проблемы беспроводных сетей и пути их решения
- Зависимость плотности мощности от расстояния
- Влияние интерференции волн
- Источники помех
- Широкополосная передача
- Методы модуляции несущей
- Другие особенности беспроводных каналов
- Методы уменьшение количества ошибок в канале
- Передача сообщений без подтверждения о получении
- Использование пространственного разнесения антенн
- Вопросы безопасности
- Физический и канальный уровень
- Модель передачи данных
- Структура фреймов
- Сетевой уровень
- Уровень приложений
- Физический и канальный уровень
- Архитектура сети Wi-Fi
- 2.11.5. Сравнение беспроводных сетей
- 2.12. Сетевое оборудование
- 2.12.1. Повторители интерфейса
- 2.12.2. Концентраторы (хабы)
- 2.12.3. Преобразователи интерфейса
- Преобразователь rs-232 - rs-485/422
- Преобразователь rs-232 в оптоволоконный интерфейс
- Преобразователь usb в rs-232, rs-485, rs-422
- 2.12.4. Адресуемые преобразователи интерфейса
- 2.12.5. Межсетевые шлюзы
- 2.12.6. Другое сетевое оборудование
- Маршрутизаторы
- Сетевые адаптеры
- Коммутаторы
- Мультиплексоры
- Межсетевой экран
- 2.12.7. Кабели для промышленных сетей
- 2.13. Заключение к главе "Промышленные сети и интерфейсы"
- 3. Защита от помех
- 3.1. Источники помех
- 3.1.1. Характеристики помех
- 3.1.2. Помехи из сети электроснабжения
- 3.1.3. Молния и атмосферное электричество
- 3.1.4. Статическое электричество
- 3.1.5. Помехи через кондуктивные связи
- 3.1.6. Электромагнитные помехи
- 3.1.7. Другие типы помех
- 3.2. Заземление
- 3.2.1. Определения
- 3.2.2. Цели заземления
- 3.2.3. Защитное заземление зданий
- 3.2.4. Автономное заземление
- 3.2.5. Заземляющие проводники
- 3.2.6. Модель «земли»
- 3.2.7. Виды заземлений
- Силовое заземление
- Аналоговая и цифровая земля
- «Плавающая» земля
- 3.3. Проводные каналы передачи сигналов
- 3.3.1. Источники сигнала
- 3.3.2. Приемники сигнала
- 3.3.3. Прием сигнала заземленного источника
- 3.3.4. Прием сигнала незаземленных источников
- 3.3.5. Дифференциальные каналы передачи сигнала
- Токовый дифференциальный канал
- Балансный канал
- 3.5. Методы экранирования и заземления
- 3.5.1. Гальванически связанные цепи
- 3.5.2. Экранирование сигнальных кабелей
- 3.5.3. Гальванически развязанные цепи
- 3.5.4. Экраны кабелей на электрических подстанциях
- 3.5.5. Экраны кабелей для защиты от молнии
- 3.5.6. Заземление при дифференциальных измерениях
- 3.5.7. Интеллектуальные датчики
- 3.5.8. Монтажные шкафы
- 3.5.9. Распределенные системы управления
- 3.5.10. Чувствительные измерительные цепи
- 3.5.11. Исполнительное оборудование и приводы
- Заземление в промышленных сетях
- 3.5.12. Заземление на взрывоопасных объектах
- 3.6. Гальваническая развязка
- 4. Измерительные каналы
- 4.1. Основные понятия
- 4.1.1. Определения основных терминов
- 4.1.2. Точность, разрешающая способность и порог чувствительности
- 4.1.3. Функция автокорреляции
- 4.1.4. Коэффициент корреляции
- 4.1.5. Точечные и интервальные оценки погрешности
- 4.1.6. Погрешность метода измерений
- 4.1.7. Погрешность программного обеспечения
- 4.1.8. Достоверность измерений
- 4.2. Многократные измерения
- 4.2.1. Повышение точности путем усреднения результатов измерений
- 4.2.2. Точность и продолжительность измерений
- 4.3 Динамические измерения
- 4.3.1. Теорема Котельникова
- 4.3.2. Фильтр и динамическая погрешность
- Измерение при синусоидальном сигнале
- Измерение при входном сигнале "единичный скачок"
- Измерение сигнала произвольной формы
- 4.3.3. Sinc-фильтр в измерительных модулях ввода
- 4.3.4. Алиасные частоты, антиалиасные фильтры
- 4.4. Суммирование погрешностей измерений
- 4.4.1. Исходные данные для расчета
- 4.4.2. Методы суммирования погрешностей
- 4.4.3. Систематические погрешности
- 4.4.4. Случайные погрешностей
- 4.4.5. Дополнительные погрешности
- 4.4.6. Динамические погрешности
- 4.4.7. Нахождение итоговой погрешности
- Нахождение погрешности измерительного канала в условиях недостатка исходных данных
- 4.5. Заключение к главе "Измерительные каналы"
- Обзор литературы
- 5.1. Идентификация моделей динамических систем
- 5.1.1. Модели объектов управления
- Модель первого порядка
- Модель второго порядка
- Модель в переменных состояния
- Модели интегрирующих процессов
- 5.1.2. Выбор тестовых сигналов
- Единичный скачок
- Прямоугольный импульс
- 5.1.4. Идентификация в замкнутом и разомкнутом контуре
- Идентификация в разомкнутом контуре
- Прямая пассивная идентификация в замкнутом контуре
- Косвенная идентификация в замкнутом контуре
- Прямая активная идентификация в замкнутом контуре
- 5.1.5. Аналитическая идентификация
- Идентификация модели первого порядка по средней длительности переходного процесса
- Метод двойного прямоугольного импульса
- Использование результатов частотной идентификации
- 5.1.6. Методы минимизации критериальной функции
- 5.2. Классический пид-регулятор
- 5.3.4. Регулятор отношений
- 5.3.5. Регулятор с внутренней моделью
- 5.3.6. Эквивалентные преобразования структур пид-регуляторов
- Предиктор Смита
- 5.4. Особенности реальных регуляторов
- 5.4.1. Погрешность дифференцирования и шум
- 5.4.2. Интегральное насыщение
- Ограничение скорости нарастания входного воздействия
- Алгоритмический запрет интегрирования
- Компенсация насыщения с помощью дополнительной обратной связи
- Условное интегрирование
- Интегратор с ограничением
- 5.4.3. Запас устойчивости и робастность
- Критерий Найквиста
- Частотный критерий устойчивости
- Функции чувствительности
- Робастность
- 5.4.4. Сокращение нулей и полюсов
- 5.4.5. Безударное переключение режимов регулирования
- 5.4.6. Дискретная форма регулятора
- Переход к конечно-разностным уравнениям
- Уравнение цифрового пид-регулятора
- Инкрементная форма цифрового пид-регулятора
- 5.5. Расчет параметров
- 5.5.1. Качество регулирования
- Ослабление влияния внешних возмущений
- Ослабление влияния шумов измерений
- Робастность к вариации параметров объекта
- Критерии качества во временной области
- Частотные критерии качества
- 5.5.2. Выбор параметров регулятора
- Настройка параметров регулятора по методу Зиглера и Никольса
- Метод chr
- 5.5.3. Ручная настройка, основанная на правилах
- 5.5.4. Методы оптимизации
- 5.6. Автоматическая настройка и адаптация
- 5.6.1. Основные принципы
- 5.6.2. Табличное управление
- 5.6.3. Обзор коммерческих продуктов
- 5.6.4. Программные средства настройки
- 5.7. Нечеткая логика, нейронные сети и генетические алгоритмы
- 5.7.1. Нечеткая логика в пид-регуляторах
- Принципы построения нечеткого пи-регулятора
- Применение нечеткой логики для подстройки коэффициентов пид-регулятора
- 5.7.2. Искусственные нейронные сети
- 5.7.3. Генетические алгоритмы
- 5.7.4. Обзор публикаций
- 5.8. Заключение к главе "пид-регуляторы"
- 6. Контроллеры для систем автоматизации
- 6.1. Программируемые логические контроллеры
- 6.1.1. Типы плк
- 6.1.2. Архитектура
- Процессорный модуль
- Источник питания
- 6.1.3. Характеристики
- 6.1.4. Пример плк
- Характеристики процессора:
- Характеристики плк:
- Программное обеспечение
- 6.1.5. Устройства сбора данных
- 6.2. Компьютер в системах автоматизации
- 6.2.1. Компьютер в качестве контроллера
- 6.2.2. Компьютер для общения с оператором
- 6.2.3. Промышленные компьютеры
- 6.3. Устройства ввода-вывода
- 6.3.1. Ввод аналоговых сигналов
- Структура модулей ввода
- Команды управления модулем
- 6.3.2. Модули ввода тока и напряжения Потенциальный вход
- Токовый вход
- 6.3.3. Термопары
- Погрешность измерений
- 6.3.4. Термопреобразователи сопротивления
- Двухпроводная схема измерений
- Четырехпроводная схема измерений
- Трехпроводная схема измерений
- Погрешность измерений
- 6.3.5. Тензорезисторы
- Датчики на основе тензорезисторов
- Измерения с помощью тензодатчиков
- Влияние сопротивления соединительных проводов
- Составляющие погрешности измерения
- 6.3.6. Вывод аналоговых сигналов
- 6.3.7. Ввод дискретных сигналов
- Ввод дискретных сигналов 220 в
- 6.3.8. Вывод дискретных сигналов
- 6.3.9. Ввод частоты, периода и счет импульсов
- 6.3.10. Модули управления движением
- 6.4. Заключение
- 7. Автоматизация опасных промышленных объектов
- 7.1. Искробезопасная электрическая цепь
- 7.2. Блоки искрозащиты
- 7.3. Правила применения искробезопасных устройств
- 7.4. Функциональная безопасность
- 7.5. Выбор аппаратных средств
- Виды опасных промышленных объектов
- Взрывоопасные производственные объекты
- 7.5.2. Классификация взрывоопасных зон
- 7.5.3. Классификация взрывоопасности технологических блоков
- 7.5.4. Взрывопожарная и пожарная опасность
- 7.5.5. Требования к техническим устройствам
- 7.5.6. Маркировка взрывозащищенного оборудования
- Маркировка и выбор оборудования, работающего в среде газа
- Маркировка и выбор оборудования для среды пыли
- 7.5.7. Монтаж взрывоопасного технологического оборудования
- 7.6. Заключение к главе "Автоматизация опасных производственных объектов"
- 8. Аппаратное резервирование
- 8.1. Основные понятия и определения
- 8.2. Резервирование плк и устройств ввода-вывода
- 8.2.1. Общие принципы резервирования
- Системы с голосованием
- Резервирование замещением
- Общее и поэлементное резервирование
- 8.2.2. Модули ввода и датчики
- Резервирование аналоговых модулей ввода и датчиков
- Резервирование датчиков и модулей ввода дискретных сигналов
- 8.2.3. Резервирование модулей вывода
- Резервирование аналоговых модулей вывода
- Резервирование модулей дискретного вывода и нагрузки
- 8.2.4. Резервирование процессорных модулей
- Горячее резервированиезамещением
- Резервирование методом голосования
- Тестирование процессорного модуля
- 8.2.5. Резервирование источников питания
- 8.3. Резервирование промышленных сетей
- 8.3.1. Сети Profibus, Modbus, can
- 8.3.2. Сети Ethernet
- Метод агрегирования
- Протокол stp и его модификации
- Метод физического кольца
- Полное резервирование сети
- 8.3.3. Резервирование беспроводных сетей
- 8.4. Оценка надежности резервированных систем
- 8.5. Заключение к главе «Аппаратное резервирование»
- 9. Программное обеспечение
- 9.1. Развитие программных средств автоматизации
- Разделение труда по созданию программных средств автоматизации
- Заказные и специализированные программные средства автоматизации
- 9.1.1. Графическое программирование
- 9.1.2. Графический интерфейс
- 9.1.3. Открытость программного обеспечения
- 9.1.4. Связь с физическими устройствами
- 9.1.5. Базы данных
- 9.1.6. Операционные системы реального времени
- 9.2. Орс сервер
- 9.2.1. Обзор стандарта орс
- 9.2.2. Орс da сервер
- 9.2.3. Opc hda сервер
- 9.2.4. Спецификация opc ua
- Архитектура, ориентированная на сервисы
- Независимость от com, dcom
- Безопасность
- Достоинства нового стандарта
- Концепция системы на базе opc ua
- 9.2.5. Орс da сервер в среде ms Excel
- Упрощенный интерфейс EasyAccess
- 9.2.6. Применение орс сервера с Matlab и LabView
- 9.3. Системы программирования на языках мэк 61131-3
- 9.3.1. Язык релейно-контактных схем, ld
- 9.3.2. Список инструкций, il
- 9.3.3. Структурированный текст, st
- 9.3.4. Диаграммы функциональных блоков, fbd
- 9.3.5. Функциональные блоки стандартов мэк 61499 и мэк 61804
- 9.3.6. Последовательные функциональные схемы, sfc
- 9.3.7. Программное обеспечение
- 9.4. Пользовательский интерфейс, scada-пакеты
- 9.4.1. Функции scada
- Разработка человеко-машинного интерфейса
- Scada как система диспетчерского управления
- Scada как часть системы автоматического управления
- Хранение истории процесса
- Безопасность scada
- Общесистемные функции
- 9.4.2. Свойства scada
- Инструментальные свойства
- Эксплуатационные свойства
- Степень открытости
- Экономическая эффективность
- 9.4.3. Программное обеспечение
- 9.5. Заключение к главе "Программное обеспечение"