Пакет обновления для среды разработки
и системного ПО контроллера
Изменения относительно «Релиз 1.6.4.0»
Новый функционал
Добавлена поддержка модулей и субмодулей:
- R500 AI 08 242
- R500 AI 08 342
- R200 CP 01 021
- R200 DA 01 111
- R100 AI 02 011
- R100 AI 02 041
- R100 AO 01 531
- R100 AO 02 011
- R100 AO 02 031
- R100 AO 02 541
- R100 DI 02 011
- R100 DI 02 021
- R100 DI 02 621
- R100 DO 02 011
- R100 DO 02 021
- R100 DO 02 511
Новый функционал СПО контроллера:
- Добавлена нативная реализация драйвера протокола OPC UA (OPS UA OS)
- Добавлена нативная реализация драйвера протокола Modbus (Modbus OS)
- Добавлена нативная реализация драйвера протокола HART (Hart Master OS)
- Добавлена защита от широковещательного шторма на модулях центрального процессора II типа
- Добавлено журналирование статистики работы прикладных задач
- В Hart Master OS добавлена поддержка спецификации DTM и набор команд HART версии 7
Изменения
Изменения в СПО контроллера:
- В NTPD добавлена возможность получения времени из прикладного ПО
- Добавлена возможность включать/отключать спутниковые системы, используемые для корректировки времени
- Добавлена возможность включения/отключения событий OPC UA
- Добавлена поддержка типа ByteString в OPC UA
- Добавлены функции получения значения хэш-суммы семейства SHA-2 для файлов
- Расширен журнал событий сетевых интерфейсов
- Расширен журнал статистики сетевых интерфейсов
- Расширены возможности диагностики работы СУБД
- Сняты ограничения на размер строковых переменных OPC UA
- Улучшен механизм обработки исключений в прикладном ПО
Изменения в Epsilon LD:
- Добавлена настройка задачи резервирования при создании конфигурации из мастера
- Изменён интерфейс сканера сети
- Незначительные изменения и улучшения пользовательского интерфейса
Изменения в драйвере HART:
- Добавлена возможность опроса нескольких ведомых устройств на одном канале с помощью ФБ UserRequest
- Добавлена возможность работы ФБ UserRequest с несколькими Hart устройствами
- Добавлена поддержка монопольного режима (burst mode)
Изменения в драйверах IEC 60870-5:
- 101: Добавлена возможность задания количества повторения запросов при возникновении ошибок
- 101 Slave: Добавлена возможность задерживать ответ на запрос
- 104 Slave: Добавлена возможность задания диапазонов для основных и резервных адресов
- 104 Slave: Добавлена возможность указывать порт при настройке адресов для соединения
- 101/104 Slave: Добавлена возможность спорадической передачи из прикладного ПО независимо от значения параметра полосы нечувствительности
- Добавлена возможность передачи поля QU в командах C_SC_NA_1 и C_SC_TA_1
- Расширена диагностика канала передачи данных
Изменения в драйвере шины контроллера:
- Оптимизирован алгоритм обработки входных данных коммуникационных модулей
- Добавлен механизм инспекции шины, позволяющий обнаружить место потери и/или порчи пакетов
- Добавлено журналирование параметров драйвера шины ПЛК при старте приложения
- Оптимизирован алгоритм диагностики модулей ввода/вывода с целью более быстрой реакции на событие
- Повышена устойчивость работы модулей при единичных ошибках обмена
- Расширен список настроечных параметров крейта R100
- Увеличена частота опроса коммуникационных модулей
- Улучшена диагностика состояния модулей питания и оконечных модулей
Изменения в подсистеме резервирования:
- Добавлено обнаружение указателей в область резервируемых данных
- Изменен способ задания параметров резервирования
Исправления
Исправления в СПО контроллера:
- Исправлена ошибка в OPC UA при заполнении поля verb события GeneralModelChangeEventTypeData
- Исправлена ошибка, иногда приводившая к прекращению обмена через коммуникационные модули при большом объеме отправляемых данных
- Исправлена ошибка, не позволяющая назначать сетевой порт ниже 256
- Исправлена ошибка отказа последовательных портов после обновления на версию 1.6.4.4(5) на некоторых модулях центрального процессора I типа
- Исправлена ошибка, приводившая к большому времени выполнения функций библиотеки PsLed
- Исправлена ошибка, приводившая к отказу сети при получении больших сетевых пакетов на модулях центрального процессора II типа
- Исправлена ошибка, приводившая к очистке внешнего накопителя при обновлении модулей центрального процессора II типа
- Исправлена ошибка, приводившая к сбросу временной зоны при загрузке приложения в резервном контроллере
- Исправлена ошибка, приводившая к увеличению размера файлов резервных копии
- Исправлена функция автозапуска приложения при включении на контроллерах серии R400
- Исправлена ошибка, приводившая к изменению MAC адресов контроллера после обновления
- Оптимизирован алгоритм считывания информации с ключа переключения режимов RUN/STOP модуля ЦП с целью защиты от ложных срабатываний
Исправления в Epsilon LD:
- Добавлена нормализация калибровочного коэффициента для модулей DA
- Исправлена ошибка в редакторе RegulBus, при изменении цикла шины проект не изменялся
- Исправлена ошибка генерации кода при использовании массивов структур в объекте Db_Structs
- Исправлена ошибка компиляции при привязке массива структур к каналам Modbus Slave
- Исправлена ошибка, приводившая к сбросу маскирования каналов при открытии редактора модуля R200 AI 02 031
- Исправлена ошибка установки порогов срабатывания для модуля R500 DA 03 011
- Исправлено значение параметра HwErrorSwitchDelayMs по умолчанию в редакторе резервирования
- Незначительные исправления пользовательского интерфейса
Исправления в драйверах IEC 60870-5:
- 101: Исправлена ошибка, приводившая к отправке неполного набора данных при циклических извещениях
- 101: Исправлена ошибка установки параметра «link address»
- 101: Исправлена ошибка формирования качества данных при потерях связи
- 104 Slave: Исправлена ошибка, приводившая к игнорированию номера порта в настройках драйвера
- Исправлена ошибка при выполнении операции декодирования поступившего нормализованного значения int16
- Исправлена ошибка спорадической отправки данных при работе нескольких устройств с разделяемым набором тегов
- Исправлена работа зоны нечувствительности для пользовательских типов LREAL
Исправление в драйвере HART Master:
- Исправлено включение/отключение каналов при выборочном опросе устройств
Исправления в драйвере ModBus:
- Tcp Slave: Исправлена ошибка, приводившая к разрыву соединения через 60 секунд работы
- Убран избыточный параметр 9006, приводивший к ошибке компиляции проекта
- Исправлена ошибка при расчете длины для дискретных каналов, приводившая к ошибкам компиляции
Исправления в драйвере шины контроллера:
- Исправлена ошибка при загрузке проекта с большим количеством модулей в одном крейте
- Исправлена ошибка при использовании модуля CP 06 xxx в резервированном контроллере
- Устранена редкая ошибка, приводившая к ложной диагностике потери связи с модулем ввода/вывода при переводе контроллера из RUN в STOP и обратно
Исправление в подсистеме резервирования:
- Устранена ошибка, которая, с низкой долей вероятности, могла привести к кратковременному обнулению синхронизируемых данных в резервном модуле ЦП при восстановлении связи по линии синхронизации
Изменения
относительно «Релиз 1.6.5.0»
Изменения
Изменение в СПО контроллера:
- Добавлена возможность изменения фонового изображения экрана контроллера
Изменение в драйвере шины контроллера:
- Увеличено адресное пространство крейта, что позволяет полностью его заполнять модулями с большим объемом передаваемых данных
Исправления
Исправление в драйвере шины контроллера:
- Исправлена ошибка в диагностике состояния модулей питания и оконечных модулей
Изменения
относительно «Патч 1.6.5.1»
Новый функционал
- Добавлена поддержка модуля R500 DS 32 012
Исправления
Исправления в драйвере IEC 60870-5:
- Исправлена ошибка, приводившая к нарушению последовательности спонтанных передач
- Slave 104: Устранена утечка ресурсов при установлении нового соединения
Исправления в СПО контроллера:
- Исправлена ошибка генерации событий OPC UA при старте приложения
- Снятие ограничений, наложенных Уведомлением 01/2020-1 (при условии использования соответствующих модулей шасси)
Изменения
относительно «Патч 1.6.5.2»
Изменения
Изменение в СПО контроллера:
- Добавлена возможность задавать диапазон портов, используемый FTP сервером в пассивном режиме
Исправления
Исправление в драйвере IEC 60870-5:
- Исправлена ошибка отправки PDU с причиной передачи ACT_TERM в ответ на select
Исправления в СПО контроллера:
- Исправлена ошибка, приводившая к искажению символов национальных алфавитов при записи их клиентом OPC UA в переменные с типом WSTRING
- Исправлено значение качества для комплексных типов WSTRING в OPC UA
Изменения
относительно «Патч 1.6.5.3»
Изменения
Изменение в драйвере IEC 60870-5-104 Slave:
- Добавлена возможность отключения накопления сообщений при останове драйвера
Изменения в СПО контроллера:
- Добавлена возможность считывания из прикладной программы уникального идентификационного номера модулей центрального процессора II типа
- Максимальный размер резервируемых данных увеличен до 500 КБ
Исправления
Исправления в СПО контроллера:
- Исправлена ошибка идентификации комплексных типов, объявленных в библиотеках в OpcUaServer_OS
- Исправлено некорректное отображение массивов WSTRING в OpcUaServer_OS
- Исправлена ошибка, приводящая к сбросу калибровки тачcкрина при задании имени контроллера отличного от localhost
- Исправлена ошибка, из-за которой отключение авторизации действовало только до перезагрузки контроллера
Изменения
относительно «Патч 1.6.5.4»
Изменения
Изменения в драйвере IEC 60870-5:
- Добавлено имя устройства при журналировании событий драйвера
- Добавлено журналирование события переполнения очередей спорадических данных
Изменение в СПО контроллера:
- Добавлено журналирование счетчика SMI прерываний в системе
Исправления
Исправление в драйвере IEC 60870-5:
- Исправлена ошибка, приводившая к отказу ПЛК в случае переполнения очередей спорадических данных
Исправление в драйвере шины контроллера:
- Исправлена ошибка обработки событий от модулей DA в режиме «СИКН»
Исправления в СПО контроллера:
- Исправлена ошибка в OpcUaServer, связанная с идентификацией комплексных типов
- Исправлена ошибка при загрузке некоторых проектов с использованием OpcUaServer
- Исправлена ошибка в OpcUaServer_OS, иногда приводившая к утечке памяти
- Исправлены права доступа к базам данных, созданным функцией create_database библиотеки PsMySql
Изменения
относительно «Патч 1.6.5.5»
Изменения
Изменения в драйвере шины контроллера:
- Добавлена поддержка расширенного диапазона рабочего напряжения частотного канала модуля R500 DA 03 011
- Добавлена поддержка модуля R500 DI 16 031
Исправления
Исправления в СПО контроллера:
- Исправлена ошибка, при которой не функционировала настройка отключения сенсорного экрана при запуске контроллера R400
- Исправлена ошибка, приводящая к сбросу калибровки сенсорного экрана на контроллере R400
- Исправлена ошибка, при которой на версиях СПО с 1.6.5.2 по 1.6.5.5 функции контроллера в сервисном режиме работали некорректно
Исправление в драйвере IEC 60870-5 104 Slave:
- Исправлена ошибка, при которой первая спонтанная передача не отправлялась, пока не поступала следующая
Исправление в драйвере ModBus_OS:
- Исправлена ошибка, из-за которой переменные не сбрасывались к значению по умолчанию при старте проекта
Изменения
относительно «Патч 1.6.5.6»
Исправления
Исправления в СПО контроллера:
- Исправлена критическая проблема, приводившая к отказу контроллера по сигналу SIGABRT от системных потоков
- Исправлена ошибка, приводившая к прекращению обмена по сети при получении большого количества пакетов на модулях центрального процессора II типа
Изменения
относительно «Патч 1.6.5.7»
Изменения
Изменение в драйвере IEC 60870-5 101 slave:
- Добавлены конфигурационные параметры обработки команды time sync
Исправления
Исправление в драйверах IEC 60870-5:
- Исправлена ошибка, приводившая к потере части спонтанных данных при восстановлении соединения
Исправление в драйвере IEC 60870-5 104 slave:
- Исправлена ошибка, приводившая к повторной отправке ранее отправленных данных после восстановления соединения
Исправление в драйвере HART:
- Исправлена ошибка работы команды ActivateStopBehavior
Исправление в СПО контроллера:
- Исправлена ошибка, с низкой долей вероятности приводившая к ошибкам планирования задач при использовании протокола OPC UA
- Исправлена утечка памяти в OPC UA при работе со структурами, содержащими строки
Изменения
относительно «Патч 1.6.5.8»
Исправления
Исправление в СПО контроллера:
- Устранена критическая уязвимость BDU:2021-04268 в функции calloc()
Изменения
Изменение в драйвере шины контроллера:
- Добавлена поддержка карты PDO/SDO v2 для модуля R500 AI 08 242
Изменение в СПО контроллера:
- Добавлен переходный пакет изменений для возможности обновления до версии 1.7.0.0
Изменения в драйверах IEC 60870-5:
- 104 Slave: Добавлена возможность очистки очереди сообщений
- 101 Outer Slave: Добавлена возможность задавать минимальный интервал между PDU
Изменение в драйвере ModBus_OS:
- Расширен набор диагностической информации
Изменения
относительно «Патч 1.6.5.9»
Изменения
Изменение в Epsilon LD:
- В редактор драйвера протокола IEC 60870-5 101 добавлен параметр задержки ответа на запрос
Исправления
Исправление в СПО контроллера:
- Исправлена ошибка расчета времени использования CPU при изменении системного времени
Исправление в Epsilon LD:
- Исправлена ошибка в редакторах Modbus Slave, HART и Резервирование OS, в результате которой GVL переменные не добавлялись в карту обмена данных компонентов
Исправление в драйвере HART OS:
- Исправлена ошибка в протоколе HART OS, в результате которой могли произойти разрывы соединений с полевым оборудованием, подключенным к модулю ввода с одним HART-модемом на группу каналов (R500 AI 16 081)
Исправление в драйвере Modbus OS:
- Исправлена ошибка, в результате которой запись переменной, переданной посредством протокола Modbus Slave OS, могла не произойти, если эта же переменная изменялась в прикладном ПО
Изменения
относительно «Патч 1.6.5.10»
Исправления
Исправления в СПО контроллера:
- Исправлена ошибка, в редких случаях приводившая к исключению в работе контроллера при горячей замене коммуникационного модуля Ethernet
- Исправлена ошибка, приводившая к разрыву внешних соединений после 200 дней непрерывной работы
Исправление в драйвере шины контроллера:
- Исправлена ошибка, приводившая к несогласованности данных от модуля R500 AI 08 242
Изменения
относительно «Патч 1.6.5.11»
Изменения
Изменение в драйвере ModBus Serial Master OS:
- Оптимизирована работа драйвера в условиях большого количества опрашиваемых устройств
Изменение в СПО контроллера:
- Оптимизирован механизм хранения Retain переменных
Исправления
Исправления в драйвере ModBus Master OS:
- Serial: Исправлена ошибка обработки списка ведомых устройств, из-за которой некоторые устройства не обрабатывались
- Serial: Исправлена ошибка при формировании качества соединения с опрашиваемыми устройствами
- Исправлена ошибка, приводившая к непреднамеренному останову драйвера
Исправления в СПО контроллера:
- Устранены проблемы при обработке событий от устройcтв ввода для ПЛК серии R400 в условиях 100% нагрузки
- Исправлена ошибка журналирования нагрузки CPU в период его 100% использования
Изменения
относительно «Патч 1.6.5.12»
Изменения
Изменение в драйвере шины контроллера:
- Добавлена поддержка модуля R500 AI 08 042
Изменения относительно «Релиз 1.6.1.0»
Новый функционал
Добавлена поддержка:
- Модулей ввода/вывода контроллера серии R100
- Модуля аналогового вывода R200 AO 02 031
- Модуля дискретного вывода R500 DO 32 012
- Модуля дискретного вывода R500 DO 32 041
- Модуля источника питания R500 PP 00 051
Изменения
Изменения в СПО контроллера:
- Добавлена возможность изменения таймаута связи с IDE
- Добавлена возможность отключения сервисного режима при старте контроллера
- Добавлена возможность создания резервной копии и восстановления базы данных
- Добавлена возможность журналирования загрузки CPU
- Добавлена возможность настройки MAC адресов сетевых интерфейсов процессорных модулей
- Добавлена возможность настройки пользователей FTP
- Добавлена возможность хранения Retain переменных в файле
- Добавлена поддержка протокола FTPS
- Добавлена поддержка протокола SNMP v1
- Оптимизирована работа с Retain переменными в контроллерах II типа
- Оптимизирована работа со сложными типами OPC UA
- Повышена точность чисел с плавающей точкой при преобразовании в/из JSON
- При останове прикладной программы качество переменных устанавливается в значение Bad (Out of Service)
- Улучшена отзывчивость тач-скрина на контроллерах R400
Изменения в Epsilon LD:
- Актуализирован алгоритм автоматического расчета параметров шины ПЛК
- Добавлен учёт пространства имён структур при генерации кода в объекте DB_Structs
- Добавлена возможность обновление СПО модулей ввода/вывода, поддерживающих данную функцию
- Незначительные улучшения интерфейса
Изменения в драйвере IEC 60870-5:
- Добавлена поддержка команд C_SE_NA_1, C_SE_NB_1
- Slave 104: Добавлена возможность получения данных
- Slave 104: Добавлена возможность инициации отправки спонтанных данных
Изменение в драйвере ModBus:
- Добавлена возможность изменять SlaveID в процессе работы
Изменения в драйвере шины ПЛК:
- Повышена устойчивость к внешним ЭМС помехам
- Добавлена поддержка термосопротивлений ТСП46П и ТСМ53М для модулей RX00 AI 0X X31
Исправления
Исправления в СПО контроллера:
- Исправлена ошибка, иногда приводившая к потере исходящих Ethernet-пакетов коммуникационных модулей
- Исправлена работа с raw-пакетами (SysEthernet)
- Исправлена ошибка при работе с SD-картами некоторых производителей на контроллерах R200
- Исправлена ошибка, приводившая к потере информации о типах ENUM в OPC UA при повторной загрузке приложения
- Исправлено обновление списка OPC UA переменных при онлайн-изменении приложения
- Устранена уязвимость CVE-2013-5211
- Устранено возможное влияние подсистемы ПЗУ на задачи реального времени
- Устранено возможное влияние подсистемы журналирования на задачи реального времени
Исправления в Epsilon LD:
- Исправлена ошибка компиляции при добавлении IEC 60870-101-5 Slave
- Исправлена ошибка в мастере конфигурации Regul, приводившая к невозможности завершить процедуру конфигурации
- Исправлена ошибка генерации кода для вложенных структур в объекте DB_Structs
- Исправлена ошибка генерации кода для структур, содержащих массив строк в объекте DB_Structs
- При генерации кода в объекте DB_Structs используется потокобезопасная реализация
- Исправлена ошибка в названии параметра, включающего сетевую работу MySQL
Исправления в драйвере шины ПЛК:
- Исправлена проблема, приводившая к отказу порта №2 коммуникационного модуля R500 CP 02 021
- Исправлена ошибка, в редких случаях приводившая к искажению входных/выходных значений соотнесенных переменных
Исправления в драйвере IEC 60870-5:
- Исправлено автообновление версий устройств
- IEC 60870-5-104: Исправлено восстановление соединения при запуске прикладной программы после её останова
- Slave 104: Исправлена ошибка, приводившая к формированию неправильных PDU при высокой частоте изменения данных
Исправление в драйвере ModBus TCP:
- Исправлена ошибка при обработке большого числа запросов
Изменения
относительно «Релиз 1.6.4.0»
Изменения
Изменение в драйвер шины ПЛК:
- Увеличена частота опроса коммуникационных модулей
Изменение в драйвере HART:
- Добавлена возможность опроса нескольких ведомых устройств на одном канале с помощью ФБ UserRequest
Исправления
Исправление в драйвере ModBus Tcp Slave:
- Исправлена ошибка, приводившая к разрыву соединения через 60 секунд работы
Изменения
относительно «Патч 1.6.4.1»
Изменения
Изменение в драйвере шины ПЛК:
- Оптимизирован алгоритм диагностики модулей ввода/вывода с целью более быстрой реакции на событие
Исправления
Исправление в Epsilon LD:
- Исправлена ошибка компиляции при привязке массива структур к каналам Modbus Slave
Исправление в драйвере шины ПЛК:
- Устранена редкая ошибка, приводившая к ложной диагностике потери связи с модулем ввода/вывода при переводе контроллера из RUN в STOP и обратно
Исправление в драйвере HART:
- Исправлено включение/отключение каналов при выборочном опросе устройств
Исправления в СПО контроллера:
- Оптимизирован алгоритм считывания информации с ключа переключения режимов RUN/STOP модуля ЦП с целью защиты от ложных срабатываний
Исправление в подсистеме резервирования:
- Устранена ошибка, которая, с низкой долей вероятности, могла привести к кратковременному обнулению синхронизируемых данных в резервном модуле ЦП при восстановлении связи по линии синхронизации
Изменения
относительно «Патч 1.6.4.2»
Изменения
Изменение в СПО контроллера:
- Добавлена поддержка типа ByteString в OPC UA
Изменения в подсистеме резервирования:
- Изменен способ задания параметров резервирования
- Добавлена проверка на попадание указателей в область резервируемых данных
- Рекомендованный алгоритм расчета таймаутов модуля применен в настройках по умолчанию
Исправления
Исправление в СПО контроллера:
- Исправлена ошибка, иногда приводившая к прекращению обмена через коммуникационные модули при большом объеме отправляемых данных
Изменения
относительно «Патч 1.6.4.3»
Исправления и изменения в Epsilon LD:
- Добавлена нормализация калибровочного коэффициента для модулей DA
- Исправлена ошибка установки порогов срабатывания для модуля R500 DA 03 011
- Исправлено значение параметра HwErrorSwitchDelayMs по умолчанию в редакторе резервирования
Исправления и изменения в драйвере IEC 60870-5:
- 104 Slave: Добавлена возможность указывать порт при настройке адресов для соединения
- 101: Исправлена ошибка установки параметра «link address»
- Исправлена ошибка спорадической отправки данных при работе нескольких устройств с разделяемым набором тегов
- Исправлена работа зоны нечувствительности для пользовательских типов LREAL
Исправление в драйвере Modbus:
- Исправлена ошибка при расчете длины для дискретных каналов, приводившая к ошибкам компиляции
Исправления СПО контроллера:
- Исправлена ошибка в OPC UA при заполнении поля verb события GeneralModelChangeEventTypeData
- Исправлена проблема возможной потери индикации шины MB на модулях CU серии R500
Изменения
относительно «Патч 1.6.4.4»
Новый функционал
- Добавлена поддержка модуля R200 DA 01 111
Изменения
Изменения в драйвере шины ПЛК:
- Оптимизирован алгоритм обработки входных данных коммуникационных модулей
- Повышена устойчивость работы модулей при единичных ошибках обмена
Изменение в драйвере IEC60870-5-101 Slave:
- Добавлена возможность задерживать ответ на запрос
Исправления
Исправление в драйвере IEC60870-5-104 Slave:
- Исправлена ошибка, приводившая к игнорированию номера порта в настройках драйвера
Исправления в СПО ПЛК:
- Исправлена ошибка, приводившая к большому времени выполнения функций библиотеки PsLed
- Исправлена ошибка, приводившая к увеличению размера файлов резервных копии
- Исправлена функция автозапуска приложения при включении на контроллерах серии R400
Изменения
относительно «Патч 1.6.4.5»
Изменения
Изменения в СПО контроллера:
- Добавлена защита от широковещательного шторма на модулях центрального процессора II типа
Изменение в драйвере шины контроллера:
- Увеличено адресное пространство крейта, что позволяет полностью его заполнять модулями с большим объемом передаваемых данных
Исправления
Исправления в СПО контроллера:
- Исправлена ошибка отказа последовательных портов после обновления на версию 1.6.4.4(5) на некоторых модулях центрального процессора I типа
- Исправлена ошибка при применении правил сетевой маршрутизации для коммуникационных модулей
- Исправлена ошибка, приводившая к отказу сети при получении больших сетевых пакетов на модулях центрального процессора II типа
Исправление в драйвере шины контроллера:
- Исправлена ошибка при загрузке проекта с большим количеством модулей в одном крейте
Изменения относительно «Релиз 1.5.7.0»
Новый функционал
Новый функционал в СПО ПЛК:
- Добавлен планировщик синхронизации файлов/каталогов с поддержкой внешних накопителей
- Добавлена возможность отключения дисплея через установленное время
- Добавлена поддержка протокола SNMP
- Добавлена поддержка синхронизации времени по протоколу PTP на контроллерах R500 (I типа)
Новый функционал драйвера шины ПЛК:
- Добавлена команда сброса блокировки сегмента сети для управляемых коммутаторов Regul R000 и модуля расширения шины R500 CP 06 111
- Добавлена поддержка модулей ввода-вывода:
- R500 AI 08 052
- R000 CP 06 1X1
- Добавлена поддержка модуля центрального процессора:
- R500 CU 00 031
- R500 CU 00 071 R(RW)
Изменения
Изменения в Epsilon LD:
- В конфигураторе OPC UA добавлена настройка точек подключения
- Добавлен редактор системных параметров на вкладке «Сервис ПЛК»
Изменения в СПО контроллера:
- Версия среды исполнения обновлена до 3.5.14.42
- Добавлена возможность останова службы NTP при старте в случае недопустимого расхождения с источниками времени
- Добавлена возможность отключения анонимного доступа к серверу OPC UA
- Добавлена возможность переопределения качества и временной метки для OPC UA тегов
- Добавлена возможность сохранять/загружать строки в/из БД более 80 символов
- Добавлена возможность установки параметров визуализации на ПЛК R500 CU 00 071 R(RW)
- Добавлена информация об узлах и типе действия для событий GeneralModelChangeEventType OPC UA
- Добавлена поддержка SD-карт памяти в контроллерах II типа
- Добавлена проверка приоритета задачи резервирования
- Добавлена функция работы со строками произвольной длинны в формате JSON
- Исключена возможность получения пароля визуализации из конфигурационного файла ПЛК R500 CU 00 071 R(RW)
- Добавлена перегенерация SSL-сертификатов при переименовании ПЛК
- Реализована функция резервирования центрального процессора для контроллеров II типа
Изменения в драйвере протокола IEC 60870-5
- Добавлена возможность установки резервных бит в метке времени
- Добавлено журналирование событий синхронизации времени
- Slave: Добавлена возможность обработки команд C_CS_NA_1 прикладным ПО
- 104 Slave: При выключении флага «Использовать накопление очереди сообщений» буферизация сообщений не производится
Изменение в драйвере ModBus:
- Устранено ограничение на количество каналов
Изменения в драйвере шины ПЛК:
- Добавлена поддержка индивидуальной конфигурации коммуникационного модуля со стороны модуля центрального процессора, в составе контроллера, работающего под управлением двух модулей центрального процессора
- Добавлена возможность передачи значения температуры холодного спая в модули измерения температуры RX00 AI 0X X31
- Добавлена поддержка измерения напряжения в модулях RX00 AI 0X X31
Исправления
Исправления в Epsilon LD:
- Исправлена индикация состояния модуля CU в схеме частичного резервирования
- Исправлена ошибка конфигурации HART Master при компиляции проекта
- Исправлена ошибка, приводившая к выводу предупреждения о несовпадении версии подключенного устройства
- Исправлено значение доступной динамической памяти контроллера, приводившее к ошибке при загрузке приложения в контроллер
Исправления в СПО контроллера:
- Восстановлена возможность изменения системного времени ПЛК
- Восстановлена возможность использования тригеров в БД
- Восстановлена работа функции SysSockPing
- Исключен возможный выход за пределы строки в функции JsonGetValueIntoString
- Исправлен сбой визуализации при использовании некоторых стилей визуализации
- Исправлена запись строк, содержащих спецсимволы в базу данных контроллера
- Исправлена очень редкая ошибка зависания контроллера при запуске
- Исправлена ошибка в контроллерах II типа, приводившая к разрыву соединения с IDE и OPC DA сервером при длительной 100% загрузке процессора
- Исправлена ошибка в процедуре запуска заводского сброса
- Исправлена ошибка восстановления RETAIN переменных для дочернего приложения
- Исправлена ошибка доступа к переменным по невыравненному адресу, в редких случаях приводившая к исключению в контроллерах II типа
- Исправлена ошибка записи на внешний USB накопитель
- Исправлена ошибка импорта сетевой конфигурации из сканера сети
- Исправлена ошибка при работе с .csv файлами, созданные файлы были не доступны из IDE и по FTP
- Исправлена ошибка создания БД при указании кодировки символов
- Исправлена ошибка, приводившая к исключению при преобразовании UTF-8 строк, содержащих недопустимые символы
- Исправлена работа с SFP модулями, не поддерживающими определение скорости соединения
- Исправлена редкая ошибка, приводившая к двойному освобождению памяти в OPC UA
- Исправлена редкая ошибка, приводившая к зависанию контролера при включении
- Исправлено выравнивание износа NAND-флэш в контроллерах II типа
- Исправлено искажение статистики сетевых интерфейсов
- Исправлено повреждение Ethernet пакетов при коммуникации через модуль CP 02 021
- Исправлено применение правил фильтрации сетевых пакетов при старте контроллера
- Устранена критическая ошибка, приводившая к сбою планирования выполнения задач при корректировке системного времени
- Устранена ошибка в контроллерах II типа, приводившая к потере сообщений журнала при снятии питания
- Устранена ошибка восстановления PERSISTENT RETAIN переменных при одновременном их использовании с RETAIN переменными
- Функция GetMode подсистемы резервирования возвращала некорректное значение «BOOTUP» при переходе в автономный режим
Исправления в драйвере IEC 60870-5-104:
- Исправлен ответ на команду BREAK, возвращается DEACTCON вместо ACTCON
- Устранена утечка дескрипторов при разрыве соединения
Исправления в драйвере шины ПЛК:
- Исправлена ошибка, приводившая к исключению в проектах с использованием более 17-ти 16-ти канальных или 34-х 8-ми канальных аналоговых модулей в одном крейте
- Исправлен алгоритм диагностики модулей PP и ST контроллеров серии R500
- Исправлена ошибка обмена служебными сообщениями, иногда приводившая к сбоям работы модулей CP при большом количестве крейтов
Исправления в подсистеме резервирования:
- Исправлена некорректная работа функции синхронизации
- Исправлена ошибка, приводившая к кратковременному сбросу выходов на общих модулях при включении ведомого модуля CU на первой шине
- Исправлено возвращаемое значение функции Synchronize
- Исправлено ложное диагностирование обрыва связи при высокой вычислительной сложности в задаче резервирования
Изменения
относительно «Релиз 1.6.1.0»
Изменения
Изменение в Epsilon LD:
- Добавлен учёт пространства имён структур при генерации кода в объекте DB_Structs
Изменение в СПО контроллера:
- Оптимизирована работа со сложными типами OPC UA
- При останове прикладной программы качество переменных устанавливается в значение Bad (Out of Service)
- Расширена номенклатура поддерживаемых SD-карт на контроллерах R200
Изменение в драйвере шины ПЛК:
- Модифицирован алгоритм работы драйвера шины, повышающий ее устойчивость к возникновению помех в линиях связи
Изменение в драйвере IEC 60870-5-104:
- Добавлена функция восстановления соединения при запуске прикладной программы после её принудительного останова пользователем
Исправления
Исправление в Epsilon LD:
- Исправлена ошибка в мастере конфигурации Regul, приводившая к невозможности завершить процедуру конфигурации
- Исправлена ошибка в названии параметра, включающего сетевую работу MySQL
- Исправлена ошибка генерации кода для структур, содержащих массив строк в объекте DB_Structs
Исправление в СПО контроллера:
- Исправлена ошибка, приводившая к потери информации о типах ENUM в OPC UA при повторной загрузке приложения
Исправление в драйвере IEC 60870-5-104 Slave:
- Исправлена ошибка, приводившая к формированию неправильных PDU при высокой частоте изменения данных
Исправление в драйвере ModBus:
- Убран избыточный параметр 9006, приводивший к ошибке компиляции проекта
Изменения
относительно «Патч 1.6.1.1»
Изменения
Изменение в СПО контроллера:
-
Добавлена возможность хранения retain переменных в файле
Исправления
Исправление в драйвере IEC 60870-5:
- Исправлено автообновление версий устройств
Изменения
относительно «Патч 1.6.1.2»
Исправления
Исправления в Epsilon LD:
- Исправлена ошибка генерации кода для вложенных структур в объекте DB_Structs
- Исправлена проблема в драйвере шины ПЛК, приводившая к отказу порта №2 коммуникационного модуля R500 CP 02 021
Исправление в СПО контроллера:
- В подсистеме резервирования устранена проблема, приводившая к ошибкам синхронизации после сброса приложения
Изменения
относительно «Патч 1.6.1.3»
Изменения
Изменение в драйвере ModBus Slave:
- Добавлена возможность изменять SlaveID в процессе работы
Изменения в СПО контроллера:
- Добавлена поддержка протокола SNMP v1
Исправления
Исправление в СПО контроллера:
- Исправлено обновление списка OPС UA переменных при онлайн-изменении приложения
Исправления в драйвере шины ПЛК:
- Устранена ошибка, которая в крайне редких случаях могла привести к искажению входных/выходных значений соотнесенных переменных
Изменения
относительно «Патч 1.6.1.4»
Изменения
Изменения в СПО контроллера:
- Оптимизирована работа с Retain переменными в контроллерах II типа
- Добавлена возможность изменения таймаута связи с IDE
Изменения
относительно «Патч 1.6.1.5»
Новый функционал
- Добавлена поддержка модуля дискретного вывода R500 DO 32 012
Изменения
относительно «Патч 1.6.1.6»
Исправления
Исправление СПО контроллера:
- Устранена ошибка, которая, с низкой долей вероятности, может привести к ошибкам планирования задач при использовании протокола OPC UA
Исправление в подсистеме резервирования:
- Устранена ошибка, которая, с низкой долей вероятности, могла привести к кратковременному обнулению синхронизируемых данных в резервном модуле ЦП при восстановлении связи по линии синхронизации
Изменения относительно «Релиз 1.6.0.0»
Новый функционал
- Новый функционал в Epsilon LD
- Добавлена возможность останова/запуска приложения
- Добавлено отображение состояния резервирования в статусную строку
- Добавлены элементы управления синхронизацией проектов в резервированном ПЛК
- Подписка на системные события контроллера серии R200 теперь доступна из конфигурации задач
- Добавлена поддержка протокола IEC 60870-5 101:
- Primary Unbalanced
- Secondary Unbalanced
- Новый функционал в СПО контроллера:
- Добавлен фильтр сетевых пакетов
- Добавлена возможность подключения EtherCAT slave-устройств к внешним портам Ethernet модуля центрального процессора
- Добавлена поддержка протокола OPC UA
- Добавлена синхронизация исходного кода проекта в резервированном ПЛК
- Добавлено графическое отображение процедуры обновления СПО
- Добавлена поддержка модулей центрального процессора
- R500 CU 00 021
- R500 CU 00 021-W
- R600 CU 00 052
- R600 CU 00 052-W
- R600 CU 00 062
- R600 CU 00 062-W
- R600 CU 00 072
- R600 CU 00 072-W
- Добавлена поддержка модулей ввода-вывода
- R500 AI 08 021
- R500 AO 08 021
- R500 AS 08 011
- R600 AO 08 021
Изменения
- Изменения в Epsilon LD
- Добавлена возможность установки предустановленного значения температуры холодного спая для модулей AI XX 031
- Добавлена поддержка скорости 38400 бод на последовательных портах
- Добавлена проверка уникальности адресов HART устройств
- Изменен набор надстроечных параметров для модулей AI XX 031
- Незначительные улучшения интерфейса
- Оптимизирован механизм поиска ПЛК
- Повышена стабильность работы и обновлена локализация
- Изменения в модулях ввода-вывода:
- Добавлена активация механизма ПАЗ при обработке исключительных ситуаций
- Добавлена возможность установки предустановленного значения температуры холодного спая для модулей AI XX 031
- Добавлена поддержка режима «СИКН» для модуля R200 DA 01 011
- Добавлена поддержка режима «ЭАБ без генератора частоты» для модуля R200 DA 01 011
- Расширен список параметров модуля R500 DA 03 021
- Изменения в драйверах протокола IEC60870-5 104:
- Slave: Увеличен размер строки активных соединений до 255 символов
- Изменен механизм привязки данных и комманд к пользовательским переменным
- Изменения в драйвере Modbus:
- Serial Master: Добавлена возможность запроса пользовательских функций в диапазоне 0х60-0х70
- Slave: Исправлено обнуление привязанных переменных при инициализации канала
- TCP Slave: Добавлено автоматическое закрытие неактивных соединений
- TCP Slave: Сообщения об открытии и закрытии TCP соединений переведены в отладочные
- Изменения в СПО контроллера:
- В обработчик команд PlcShell добавлена возможность выбора количества точек 3 или 4 при калибровке тачскрина
- Версия среды исполнения обновлена до 3.5.12.20
- Добавлена защита от двух активных ЦП при включении без связи
- Механизм защиты от двух активных ЦП учитывает данные от общих модулей ввода/вывода
- Настройки NTP применяются сразу после внесения изменений
- Расширена информация, выводимая командой netinfo
- Увеличен приоритет обработки пакетов RegulBus по отношению к внешнему сетевому трафику
Исправления
- Исправления в Epsilon LD
- В редакторе Modbus Master исправлено ограничение по допустимому количеству элементов в канале
- Восстановлен механизм удаленного перезапуска контроллера при обновлении СПО средствами среды программирования
- Исправлена ошибка импорта номера крейта из PLCopenXML
- Исправлена ошибка импорта номера последовательного порта из PLCopenXML
- Исправлена ошибка компиляции некоторых проектов, использующих HART Master
- Исправлена ошибка неразрешенной ссылки для функции ‘CODEMGETCONTENTBYFIRMCODE2’
- Исправлена ошибка при импорте сканером сети модифицированных файлов сетевых настроек
- Исправлена ошибка при экспорте сетевых настроек ПЛК в сканере сети
- Исправлена совместимость с предыдущими версиями некоторых редакторов устройств
- Исправлены орфографические ошибки
- Редактор МЭК-104: исправлена ошибка при импорте значений зоны нечувствительности из файла
- Исправления в драйверах протокола IEC60870-5 104:
- Slave: Диагностические пакеты TESTFR_ACT отсылаются только при отсутствии обмена
- Slave: Исправлена ошибка, в некоторых случаях приводившая к разрыву соединения после принятия команды START_DATA
- Slave: Типы M_BO_NA_1, M_BO_TB_1 не отвечали на команду общего опроса
- Slave: Устранена критическая ошибка при размере очереди менее 10
- Исправлена ошибка буферизации данных в случае обрыва связи
- Исправления в драйвере ModBus:
- Serial Slave: Исправлено определение состояния соединения у Modbus Serial Slave
- Serial Slave: Исправлено ошибочное формирование статуса соединения в некоторых случаях
- Serial: Устранена утечка дескрипторов
- TCP Master: Исправлено ошибочное установление соединения в состоянии СТОП
- Исправлена критическая ошибка, приводившая к возможному исключению при многократном онлайн-изменении программы
- Исправления в драйверe шины:
- Исправлено некорректное считывание конфигурации при большой вложенности модулей
- Исправлено ошибочное формирование сообщений «Add Datagramm to packet is failed»
- Исправлена ошибка инициализации модулей с сообщением об ошибке «Conflict address»
- Исправления в СПО контроллера:
- В подсистеме резервирования исключена вероятность возникновения двух активных ЦП при единовременном включении
- Исправлена значительная ошибка в подсистеме резервирования, при которой могла произойти ложная передача управления при неисправности общего модуля
- Исправлена значительная ошибка, при которой ПЛК мог включиться в режиме ограниченного функционала
- Исправлена критическая ошибка, в некоторых случаях приводившая к возникновению двух активных ЦП при обрыве связи
- Исправлена критическая ошибка, в некоторых случаях приводившая к невозможности синхронизации данных между ЦП
- Исправлена ошибка «License file is missing» при загрузке проекта
- Исправлена ошибка, в некоторых случаях приводившая к отказу последовательных портов коммуникационных модулей
- Исправлена ошибка в работе функции GetSysInfo3
- Исправлена ошибка, приводившая к возможному сбою в работе ПЛК при использовании последовательных коммуникационных модулей
- Исправлена ошибка, приводившая к долгому включению ПЛК серии R600
- Исправлена ошибка, приводившая к отказу сетевых интерфейсов на ПЛК серии R200 при получении большого количества пакетов
- Исправлена ошибка, приводившая к сбою в работе ПЛК при сбросе статистики резервирования в состоянии Disabled
- Исправлена ошибка, приводившая к сбою в работе ПЛК серии R200 при использовании коммуникационных модулей Ethernet
- Исправлено некорректное поведение подсистемы резервирования при онлайн-изменении программы
- Исправлено ошибочное поведение «Invalid redundancy application» при online-изменении
- Исправлено получение размера используемого и общего дискового пространства
- Исправлено применение правил маршрутизаций для интерфейсов модулей CP 02 021 после включения
Изменения
относительно «Релиз 1.5.7.0»
Изменения и исправления в СПО контроллера:
- Исправлено некорректное представление данных о работе службы NTP
- Незначительные улучшения в предоставлении данных о работе NTP
- Автомонтирование внешних USB-накопителей теперь опционально
- Устранена проблема, приводившая к отключению GPS на R200 CU после обновления на версию 1.5.7.0
- Исправлена ошибка в подсистеме резервирования, иногда приводившая к сбросу retain-переменных на ведомом ЦП при обновлении проекта
- Добавлен перезапуск сетевого драйвера при обнаружении неполадок в работе адаптера
Изменения и исправления в драйвере протокола IEC60870-5 104 Slave:
- Сетевой порт открывается только при работающем приложении
- Исправлена ошибка, ограничивающая список адресов до 80 символов
- Добавлена возможность управления обработкой запросов синхронизации времени из кода приложения
- Исправлена ошибка, в некоторых случаях приводившая к разрыву соединения после смены системного времени ПЛК
Изменения
относительно «Патч 1.5.7.1»
Изменения в модулях ввода-вывода:
- Добавлена поддержка модуля R500 DI 32 111
Изменения в драйверах протокола IEC60870-5:
- Добавлена поддержка пользовательских типов LREAL и ULINT
Изменения
относительно «Патч 1.5.7.2»
Исправления в драйвере ModBus:
- Исправлена критическая ошибка, приводившая к исключению при использовании режима работы ASCII на ПЛК серии R200
Изменения в драйверах протокола IEC60870-5:
- Добавлена возможность передачи меток времени по шкале UTC
Исправления в СПО контроллера:
- Исправлена ошибка, приводившая к задержкам (вплоть до 25 мс) в обмене с модулями В/В при большой сетевой нагрузке
- Исправлена ошибка доступа к некоторым диагностическим файлам контроллера через FTP
- В подсистеме резервирования устранена вероятность кратковременного снятия выходных сигналов при переходе из состояния Ведущий в Автономный
- Повышена стабильность работы OPC UA сервера
Изменения
относительно «Патч 1.5.7.3»
Изменения в драйверах протокола IEC60870-5 Slave:
- Добавлена дополнительная отправка ACTTERM после ACTCON в ответе на команды
Изменения в СПО контроллера:
- Добавлена возможность исполнения сервисных функций из графического интерфейса
- Запуск сервера OPC UA теперь опциональный
- Увеличены сетевые буфера подсистемы резервирования
Изменения в драйвере Modbus Serial:
- Расширен диапазон пользовательских функций
Исправления в драйверах протокола IEC60870-5:
- Исправлен общий опрос для пользовательских типов
Изменения
относительно «Патч 1.5.7.4»
Исправления в подсистеме резервирования:
- Исправлена ошибка, приводившая к кратковременному сбросу выходов на общих модулях при включении ведомого модуля CU на первой шине
Исправления в драйверe шины ПЛК:
- Исправлен алгоритм диагностики модулей PP и ST контроллеров серии R500
Изменения
относительно «Патч 1.5.7.5»
Новый функционал
- Добавлена поддержка модуля дискретного вывода R500 DO 32 012
Изменения
Изменение в драйвере протокола IEC60870-5 104 Slave:
- При выключении флага «Использовать накопление очереди сообщений» буферизация сообщений не производится
Исправления
Исправление в СПО контроллера:
- Исправлена очень редкая проблема зависания контроллера при запуске
- Исправлена ошибка, приводившая к потере сообщений журнала при снятии питания на контроллерах II типа
- Исправлена ошибка доступа к переменным по невыровненному адресу, в редких случаях приводившая к исключению на контроллерах II типа
Изменения относительно «Релиз 1.5.6.0»
Общие изменения
- Минимальные системные требования к Epsilon LD изменены на 1.6.14.0
Новый функционал
- Новый функционал в Epsilon LD
- Добавлен конфигуратор OPC UA
- Новый функционал в СПО контроллера:
- Добавлена возможность исполнения сервисных функций из графического интерфейса
- Добавлена поддержка протокола OPC UA на контроллерах II типа
- Добавлена поддержка модулей ввода-вывода
- R500 DI 32 111
- R500 AI 08 131
- R500 CP 06 111
- R600 DA 03 022
Изменения
- Изменения в Epsilon LD
- Изменен алгоритм расчета таймаутов шины при автонастройке
- Незначительные улучшения интерфейса
- В сканер сети добавлена возможность блокировки изменения сетевых настроек
- Оптимизирована работы сканера сети
- Изменения в драйверe шины ПЛК:
- Интервал переинициализации модулей по умолчанию уменьшен до 3 секунд
- Добавлено свойство, уведомляющее драйвер шины ПЛК об активности второго комплекта в резервированном контроллере
- Изменения в драйверах протокола IEC60870-5:
- 104 Slave: Сетевой порт открывается только при работающем приложении
- Slave: Добавлена дополнительная отправка ACTTERM после ACTCON в ответе на команды
- Добавлена возможность передачи меток времени по шкале UTC
- Добавлена поддержка пользовательских типов LREAL и ULINT
- Оптимизирована инициализация драйвера
- Параметр автоприсвоения метки времени добавлен в импорт/экспорт
- Исправление в драйвере ModBus Serial Slave: Изменён диапазон пользовательских функций
- Изменения в СПО контроллера:
- Автомонтирование внешних USB-накопителей теперь опционально
- Версия среды исполнения обновлена до 3.5.14.0
- Добавлен перезапуск сетевого драйвера при обнаружении неполадок в работе адаптера
- Запуск сетевых сервисов на контроллере стал опциональным
- Изменена структура каталога журналов контроллера
- Изменена индикация состояний резервирования на лицевой панели
- Незначительные улучшения в предоставлении данных о работе NTP
- По умолчанию часовой пояс устанавливается в UTC
- Процессы обслуживания шины ПЛК, резервирования и внешней сети разделены и изолированы друг от друга
- Расширен набор диагностических сообщений
- Добавлен доступ к полному журналу контроллера из Epsilon LD
- Сетевая конфигурация контроллера объединена в одном файле network.cfg
Исправления
- Исправления в драйверах протокола IEC60870-5:
- 104: Исправлена ошибка, в некоторых случаях приводившая к разрыву соединения после смены системного времени ПЛК
- 104: Устранена возможная блокировка драйвера при разрыве линии связи
- Исправлен общий опрос для пользовательских типов
- Исправлена ошибка компиляции после импорта данных
- Исправления в драйвере ModBus:
- Serial: Исправлена критическая ошибка, приводившая к исключению при использовании режима работы ASCII на ПЛК серии R200
- Master: Устранена возможная блокировка ФБ ModbusUserRequest
- Исправления в СПО контроллера:
- Устранены критические уязвимости в информационной безопасности
- Runtime: Исправлено округление времен до 1 мс в статистике задач
- В подсистеме резервирования добавлен анализ флага аппаратной ошибки при восстановлении связи
- В подсистеме резервирования устранена вероятность кратковременного снятия выходных сигналов при переходе из состояния Ведущий в Автономный
- Исправлен сбой последовательных портов, происходивший при отключении USB-устройства
- Исправлена ошибка доступа к некоторым диагностическим файлам контроллера через FTP
- Исправлена ошибка, приводившая к задержкам (вплоть до 25 мс) в обмене с модулями В/В при большой сетевой нагрузке
- Исправлена работа компонента визуализации Webbrowser
- Исправлено некорректное представление данных о работе службы NTP
- Повышена стабильность работы OPC UA сервера
- Устранена проблема, приводившая к отключению GPS на R200 CU после обновления на версию 1.5.7.0
- Исправлена ошибка в подсистеме резервирования, иногда приводившая к сбросу retain-переменных на ведомом ЦП при обновлении проекта
- Исправления в модулях ввода-вывода: Исправлен перечень команд для модулей DA 03 021 (ЭАБ)
Изменения
относительно «Релиз 1.6.0.0»
Исправления в Epsilon LD:
- Исправлена индикация состояния модуля CU в схеме частичного резервирования
Исправления в СПО контроллера:
- Восстановлена возможность изменения системного времени ПЛК
- Исправлена ошибка создания БД при указании кодировки символов
- Восстановлена возможность использования тригеров в БД
Изменения
относительно «Патч 1.6.0.1»
Исправления в СПО контроллера:
- Восстановлена работа функции SysSockPing
- Исправлен сбой визуализации при использовании некоторых стилей визуализации
- Исправлено искажение статистики сетевых интерфейсов
Исправления в драйвере шины ПЛК:
- Исправлен алгоритм диагностики модулей PP и ST контроллеров серии R500
- Исправлена критическая ошибка обмена с модулями ввода/вывода при большом их количестве в версиях 1.6.0.0 — 1.6.0.1
Исправления в подсистеме резервирования:
- Исправлена ошибка, приводившая к кратковременному сбросу выходов на общих модулях при включении ведомого модуля CU на первой шине
- Исправлено возвращаемое значение функции Synchronize
- Исправлено ложное диагностирование обрыва связи при высокой вычислительной сложности в задаче резервирования
- Исправлена некорректная работа функции Synchronize в версиях 1.6.0.0 — 1.6.0.1
Изменения
относительно «Патч 1.6.0.2»
Добавлена поддержка модуля центрального процессора R500 CU 00 71 R(W)
Изменение в драйвере протокола IEC60870-5 104 Slave:
- При выключении флага «Использовать накопление очереди сообщений» буферизация сообщений не производится
Изменение в СПО контроллера:
- При переименовании ПЛК производится перегенерация SSL-сертификатов
- Добавлена проверка приоритета задачи резервирования
- Добавлено применение правил фильтрации сетевых пакетов при старте контроллера
Изменения
относительно «Патч 1.6.0.3»
Изменения в СПО контроллера:
- Добавлена информация об узлах и типе действия для событий GeneralModelChangeEventType OPC UA
- Добавлена возможность переопределения качества и временной метки для OPC UA тегов
- Добавлена возможность отключения анонимного доступа к серверу OPC UA
Изменения в драйвере протокола IEC60870-5:
- Добавлена возможность журналирования событий синхронизации времени
Исправление в Epsilon LD:
- Исправлена ошибка конфигурации HART Master при компиляции проекта
Исправление в СПО контроллера:
- Функция GetMode подсистемы резервирования возвращала некорректное значение «BOOTUP» при переходе в автономный режим
- Исправлена ошибка в контроллерах II типа, приводившая к разрыву соединения с IDE и OPC DA сервером при длительной 100% загрузке процессора
-
Исправлена ошибка, которая в редких случаях приводила к зависанию ПЛК при запуске
- Устранена ошибка в контроллерах II типа, приводившая к потере сообщений журнала при снятии питания
Изменения
относительно «Патч 1.6.0.4»
Изменения в СПО контроллера:
- Версия среды исполнения обновлена до 3.5.14.41
Исправления в СПО контроллера:
- Исправлена редкая ошибка, приводившая к зависанию контроллера при включении
- Исправлено повреждение Ethernet пакетов при коммуникации через модуль CP 02 021
- Исправлена редкая проблема, приводившая к двойному освобождению памяти в OPC UA
- Исключен возможный выход за пределы строки в функции JsonGetValueIntoString
- Устранена критическая ошибка, приводившая к сбою планирования выполнения задач при изменении системного времени
Исправления в Epsilon LD:
- Исправлено значение доступной динамической памяти контроллера, приводившее к ошибке при загрузке приложения в контроллер
- Исправлена ошибка, приводившая к выводу предупреждения о несовпадении версии подключенного устройства
Изменения
относительно «Патч 1.6.0.5»
Изменения в СПО контроллера:
- Версия среды исполнения обновлена до 3.5.14.42
Изменения относительно «Релиз 1.5.5.0»
Новые функции
- Добавлена возможность печати из ПЛК
- Добавлена поддержка HART устройств
- Добавлена поддержка модулей ввода-вывода
- R500 DA 03 021
- R500 AI 16 081
- R200 CU 00 041W
- R200 CU 00 061W
- R200 DO 04 021
- R200 AI 04 081
- R200 AO 02 011
Изменения
- Изменения в подсистеме резервирования:
- Переработана машина состояний резервирования, с целью повышения стабильности работы подсистемы резервирования, исключения ложных переключений.
- Состояние CRITICAL_ERROR заменено на CONN_ERROR при потере связи
- Улучшена стабильность сетевого соединения на этапе включения
- Улучшена стабильность синхронизации
- Изменения в среде разработки Epsilon LD:
- Добавлена возможность импорта/экспорта настроек модуля
- Добавлена возможность обновления СПО контроллера
- Добавлена возможность редактирования временной зоны в настройках времени
- Добавлена возможность редактирования таймаутов шины контроллера в режиме онлайн
- Добавлено автоматическое назначение адресов крейтов подключенных через модуль R500 CP 06 111
- Точность меток времени сообщений увеличено до миллисекунд для пользовательских журналов
- Изменения в драйвере ModBus TCP Outer Slave:
- Добавлена возмножность указания произвольного порта
- Устранена утечка дескрипторов TCP соединений
- Изменения в модуля ввода-вывода:
- Добавлен статус «Отсутствие внешнего питания» для модулей R200 DA, DI, DO
- Добавлена поддержка измерения температуры с помощью термопар в AI 08 031 и AI 02 031
- Добавлена поддержка режима «частотомер» для модуля R200 DA 01 011
- Добавлена поддержка режима формирования тока 0-20 мА
- Изменения в драйверах протокола IEC60870-5:
- 104, 101: добавлены настройки синхронизации времени
- 104 Master: добавлена возможность разрыва соединения со стороны IEC-программы
- 104 Slave: добавлено свойство ActivateStopBehavior активирующая поведение в режиме останова
- 104 Slave: исправлена ошибка приводившая к исключению при загрузки проекта в ПЛК
- Изменения в СПО контроллера:
- Версия среды исполнения обновлена до 3.5.10.4
- Добавлена возможность ограничения доступа к сетевым службам ПЛК
- Добавлено журналирование ошибок возникающих в системных задачах
- Изменения в библиотеках:
- Добавлена библиотека PsSysFile позволяющая выставлять права доступа к файлам и каталогам FTP
Исправления
- Исправления в среде разработки Epsilon LD:
- Исправлены ошибки в диалогах, локализации и описании устройств
- Исправлена проблема некорректной установки параметров ПАЗ для некоторых модулей AO
- Исправлена проблема требования повторной загрузки приложения при повторном открытии исходного проекта
- Исправлено отображение номеров крейтов для некоторых серий контроллера
- Исправлен формат событий для модулей DA в режиме СИКН
- Улучшения пользовательского интерфейса
- Устранены замораживание параметров в при открытии большого количества редакторов модулей
- Исправления в подсистеме резервирования:
- Исправлен алгоритм обновления ПО при выключенной автосинхронизации проектов
- Исправлена индикация режима резервирования при загрузке контроллера
- Исправлена ошибка при синхронизации проектов между модулями CU
- Исправлены ошибки синхронизации на проектах с объемом синхронизируемых данных менее 50 кБ
- Исправлено формирование исключения при превышении времени синхронизации цикла задачи
- Исправлена ошибка компиляции при привязке переменной массива в драйвере Modbus Slave
- Исправления в драйверах протокола IEC60870-5 104:
- Исправлено искажение данных при использовании переменных типов DWORD
- Исправлено обновление типов данных автоматической метки времени
- Исправления в СПО контроллера:
- Исправлена синхронизация времени от PPS на ПЛК серии R600
- Исправлена ошибка при поиске ПЛК, подключенного через 5 и 6 порт, из среды разработки
- Исправлена ошибка при пошаговой отладке многозадачных приложений
- Исправлена ошибка при формировании имени файла резервной копии СПО контроллера
- Исправлена ошибка приводившая к сбою в работе сетевой подсистемы при подключении сетевого кабеля к модулю CP xx 02x
- Исправлена ошибка приводившая к отказу контроллера после сброса MAC адресов
- Исправлена ошибка создания резервной копии ПО контроллера при спецификации резервируемых частей
- Исправления в библиотеках:
- PSJson: Исправлено искажение данных типа LINT, LREAL при сохранении в JSON
- PSMySQLClient: Добавлена защита от некорректных аргументов ФБ TMysqlClient
Изменения
относительно «Релиз 1.5.6.0»
Изменения в модулях ввода-вывода:
- Добавлена возможность установки предустановленного значения температуры холодного спая для модулей AI XX 031
- Добавлена поддержка режима «ЭАБ без генератора частоты» для модуля R200 DA 01 0
- Добавлена поддержка модулей ввода-вывода
Изменения в среде разработки Epsilon LD:
- Добавлена возможность установки предустановленного значения температуры холодного спая для модулей AI XX 031
- Изменен набор надстроечных параметров для модулей AI XX 031
Исправления в СПО контроллера:
- Исправлена ошибка, приводившая к возможному сбою в работе ПЛК при использовании последовательных коммуникационных модулей
- справлена ошибка, приводившая к сбою в работе ПЛК серии R200 при использовании коммуникационных модулей Ethernet
Исправления в среде разработки Epsilon LD:
- Редактор МЭК-104: исправлена ошибка при импорте значений зоны нечувствительности из файла
Изменения
относительно «Патч 1.5.6.1»
Изменения в модулях ввода-вывода:
- Добавлена активация механизма ПАЗ при обработке исключительных ситуаций
Изменения и исправления в СПО контроллера:
- Добавлена защита от двух активных ЦП при включении без связи
- Исправлена ошибка, приводившая к сбою в работе ПЛК при сбросе статистики резервирования в состоянии Disabled
Исправления в драйвере протокола IEC60870-5-104:
- Исправлена ошибка буферизации данных в случае обрыва связи
Исправления в драйвере ModbusSerial:
- Устранена утечка дескрипторов
Изменения
относительно «Патч 1.5.6.2»
Исправления в среде разработки Epsilon LD:
- Исправлена ошибка компиляции некоторых проектов, использующих HART Master
- Восстановлен механизм удаленного перезапуска контроллера при обновлении СПО средствами среды программирования
Исправления в СПО контроллера:
- Исправлена значительная ошибка, при которой ПЛК мог включиться в режиме ограниченного функционала
- Исправлена значительная ошибка в подсистеме резервирования, при которой могла произойти ложная передача управления при неисправности общего модуля
Изменения
относительно «Патч 1.5.6.3»
Исправления в драйвере протокола IEC60870-5 104 Slave:
- Исправлена ошибка, в некоторых случаях приводившая к разрыву соединения после принятия команды START_DATA
Изменения в драйвере ModbusSerial Master:
- Добавлена возможность запроса пользовательских функций в диапазоне 0х60-0х70
Исправления и изменения в среде разработки Epsilon LD:
- Исправлена ошибка импорта номера последовательного порта из PLCopenXML
- Исправлена ошибка импорта номера крейта из PLCopenXML
- Добавлена поддержка скорости 38400 бод на последовательных портах
- Исправлена ошибка неразрешенной ссылки для функции ‘CODEMGETCONTENTBYFIRMCODE2’
Исправления и изменения в СПО контроллера:
- Исправлена ошибка, в некоторых случаях приводившая к отказу последовательных портов коммуникационных модулей
- Исправлено некорректное поведение подсистемы резервирования при онлайн-изменении программы
- В подсистеме резервирования исключена вероятность возникновения двух активных ЦП при единовременном включении
- Исправлена ошибка, приводившая к долгому включению ПЛК REGUL R600
- В обработчик команд PlcShell добавлена возможность выбора количества точек (3 или 4) при калибровке тачскрина
Изменения
относительно «Патч 1.5.6.4»
Исправления в СПО контроллера:
- Исправлена ошибка «License file is missing» при загрузке проекта
- Исправлена ошибка, приводившая к отказу сетевых интерфейсов на ПЛК серии R200 при получении большого количества пакетов
Изменения и исправления в среде разработки Epsilon LD:
- Исправлена совместимость с предыдущими версиями некоторых редакторов устройств
- Исправлена ошибка при экспорте сетевых настроек ПЛК в сканере сети
- Добавлена проверка уникальности адресов HART устройств
Исправления в драйвере протокола Modbus Serial Slave:
- исправлено ошибочное формирования статуса соединения в некоторых случаях
Изменения
относительно «Патч 1.5.6.5»
Изменения в драйверах Modbus:
- ModbusTCP Slave: Сообщения об открытии и закрытии TCP соединений переведены в отладочные
- Modbus Slave: Исправлено обнуление привязанных переменных при инициализации канала
Исправления в драйвере протокола IEC60870-5-104 Slave:
- Диагностические пакеты TESTFR_ACT отсылаются только при отсутствии обмена
Изменения в СПО контроллера:
- Исправлено применение правил маршрутизаций для интерфейсов модулей CP 02 xxx после включения
- Расширена информация, выводимая командой netinfo
- Исправлено ошибочное поведение «Invalid redundancy application» при online-изменении
- Увеличен приоритет обработки пакетов RegulBus по отношению к внешнему сетевому трафику
Изменения
относительно «Патч 1.5.6.6»
Исправления в СПО контроллера:
- Исправлена критическая ошибка, в некоторых случаях приводившая к невозможности синхронизации данных между ЦП
- Исправлена критическая ошибка, приводившая к возникновению двух активных ЦП при одностороннем обрыве связи
- Исправлена критическая ошибка, в некоторых случаях приводившая к возникновению двух активных ЦП при обрыве связи
Изменения в модулях ввода-вывода:
- Добавлена поддержка режима «СИКН» для модуля R200 DA 01 011
Изменения в драйвере ModbusTcpSlave:
- Добавлено автоматическое закрытие неактивных соединений
Исправления в драйвере ModbusTcpMaster:
- Исправлено ошибочное установление соединения в состоянии СТОП
Исправления в драйверe шины:
- Исправлено некорректное считывание конфигурации при большой вложенности модулей
- Исправлено ошибочное формирование сообщений «Add Datagramm to packet is failed»
Исправления в среде разработки Epsilon LD:
- исправлены орфографические ошибки
Изменения
относительно «Патч 1.5.6.7»
Исправления в драйвере Modbus:
- Исправлена критическая ошибка, приводившая к возможному исключению при многократном онлайн-изменении программы
Исправления в драйвере протокола IEC60870-5 104 Slave:
- Типы M_BO_NA_1, M_BO_TB_1 не отвечали на команду общего опроса
Изменения
относительно «Патч 1.5.6.8»
Новый функционал в СПО контроллера:
- Добавлен фильтр сетевых пакетов
Изменения
относительно «Патч 1.5.6.9»
Исправления в СПО контроллера:
- Исправлена ошибка, приводившая к задержкам (вплоть до 25 мс) в обмене с модулями В/В при большой сетевой нагрузке
Изменения в СПО контроллера:
- Добавлен перезапуск сетевого драйвера при обнаружении неполадок в работе адаптера
Добавлена поддержка модуля центрального процессора
- R500 CU 071 RW
Изменения
относительно «Патч 1.5.6.10»
Добавлена поддержка модуля центрального процессора R500 CU 00 71 R
Изменения в СПО контроллера:
- Добавлена возможность установки параметров визуализации на ПЛК R500 CU 00 71 R(RW)
Исправления в СПО контроллера:
- Исправлено применение правил фильтрации сетевых пакетов при старте контроллера
- Исключена возможность получения пароля визуализации из конфигурационного файла ПЛК R500 CU 00 71 R(W)
Изменения
относительно «Патч 1.5.6.11»
Изменения
Изменение в Epsilon LD:
- Добавлен учёт пространства имён структур при генерации кода в объекте DB_Structs
Изменения в СПО контроллера:
- Добавлен доступ к полному журналу контроллера из Epsilon LD
- Добавлены функции получения значения хэш-суммы семейства SHA-2 для файлов
- Добавлена функция работы со строками произвольной длинны в формате JSON
- Добавлена возможность сохранять/загружать строки в/из БД более 80 символов
Исправления
Исправление в Epsilon LD:
- Исправлена ошибка генерации кода для структур, содержащих массив строк в объекте DB_Structs
Исправление в СПО контроллера:
- Исключен возможный выход за пределы строки в функции JsonGetValueIntoString
- Исправлена запись строк, содержащих спецсимволы, в базу данных контроллера
- Исправлена ошибка, приводившая к исключению при преобразовании UTF-8 строк, содержащих недопустимые символы
Изменения
относительно «Патч 1.5.6.12»
Изменения
Изменения в СПО контроллера:
- Добавлена возможность журналирования загрузки CPU
- Добавлена возможность отключения сервисного режима при старте контроллера
- Добавлена возможность создания резервной копии и восстановления базы данных
- Повышена точность чисел с плавающей точкой при преобразовании в/из JSON
Исправления
Исправление в Epsilon LD:
- Исправлена ошибка генерации кода для вложенных структур в объекте DB_Structs
Изменения
относительно «Патч 1.5.6.13»
Исправления
Исправление в СПО контроллера:
- Исправлена ошибка при чтении WSTRING строк из JSON
Изменения
относительно «Патч 1.5.6.14»
Изменения
Изменение в драйвере шины контроллера:
- Добавлена поддержка расширенного диапазона рабочего напряжения частотного канала модуля R500 DA 03 011
Изменение в Epsilon LD:
- Добавлена нормализация калибровочного коэффициента для модулей DA
Изменения относительно «Релиз 1.5.4.0»
- Epsilon LD: повышена стабильность работы, исправлены орфографические ошибки и обновлена локализация
- Epsilon LD: улучшения пользовательского интерфейса
- Epsilon LD: добавлена возможность выбора накопителя для чтения информации
- S.M.A.R.T. Epsilon LD: добавлен помощник конфигурации Regul IEC60870-5 104: исключена возможность редактирования параметров в онлайн
- IEC60870-5 104: исправлены ошибки и увеличена производительность драйвера IEC60870-5 104: добавлены команды C_SE_NA_1, C_SE_NB_1, C_SE_TA_1, C_SE_TB_1, C_SE_TC_1IEC60870-5 104
- Slave: исправлено отображение статуса устройства в дереве проекта
- Modbus: добавлен драйвер Modbus Serial с поддержкой RTU/ASCII
- Modbus: изменен механизм привязки регистров к пользовательским переменным
- Modbus: снято ограничение на кратность 8 количества запрашиваемых данных для функций Read Coil Status, Read Discrete Inputs и Force Multiple Coils Modbus TCP
- Master: добавлена возможность установки адреса ведомого устройства
- Резервирование: добавлена обработка ситуации обрыва связи между модулями CU в случае смешанного резервирования
- Резервирование: улучшена стабильность и устранены незначительные ошибки
- R400: добавлена калибровка тачскрина после обновления ПО
- R400: добавлено управление автозагрузкой приложения через сервисный экран
- StructsDB: добавлена возможность доступа к элементу структуры хранимой в БД по строковому пути
- StructsDB: исправлена ошибка чтения значения типа BOOL из БД
- Шина ПЛК: улучшена стабильность
- Модули В/В: добавлена поддержка модулей AI 02 031, AI 08 031, AO 02 011, AO 08 031, DA 01 011, DI 16 021, CP 06 111
- Модули В/В: добавлена поканальная диагностика аппаратной неисправности АЦП/ЦАП
- Модули В/В: поддержана новая версия режима работы SIKN модулей DA 03 0x1
- Исправлена ошибка, приводившая к неисправности ПЛК при восстановлении ПО из резервной копии
- Исправлены ошибки с применением правил сетевой маршрутизации
- Исправлена неверная установка шлюза по умолчанию для некоторых адресов Улучшена стабильность ПЛК
- Добавлена поддержка ПЛК серии R200
- Добавлена поддержка внешнего USB накопителя на модулях CU
- Добавлена возможность установки разрешения дисплея
- Добавлена возможность подстройки среды исполнения ПЛК
- Удалены драйверы устаревших шин RegulR500Bus и RegulR600Bus
Изменения
относительно «Релиз 1.5.5.0»
- Исправлена проблема требования перезаливки приложения при переоткрытии исходного проекта
Изменения
относительно «Патч 1.5.5.6719»
- Исправлена проблема некорректной установки параметров ПАЗ для некоторых модулей AO
Изменения
относительно «Патч 1.5.5.6760»
- Добавлена защита от некорректных аргументов ФБ TMysqlClient
Изменения
относительно «Патч 1.5.5.7048»
- Восстановлена синхронизация времени от PPS на ПЛК серии R600
Изменения
относительно «Патч 1.5.5.7062»
- Исправлено: подключение сетевого кабеля к модулю CP xx 02x приводит к сбою в работе сетевой подсистемы
- Исправлено: после сброса MAC адресов контроллер недоступен по сети
Изменения
относительно «Патч 1.5.5.7085»
- Epsilon LD: добавлена поддержка модуля R200 AO 02 011
- Резервирование: исправлено формирование исключения при превышении времени синхронизации цикла задачи
Изменения
относительно «Патч 1.5.5.7272»
- ModbusTcpSlave: Устранена утечка дескрипторов TCP соединений
- Шина ПЛК: исправлен формат событий для модулей DA в режиме СИКН
- Резервирование: исправлен алгоритм обновления ПО при выключенной автосинхронизации проектов
- Журнал сообщений: разрешение меток времени сообщений увеличено до миллисекунд для пользовательских журналов
Изменения
относительно «Патч 1.5.5.7309»
- Резервирование: улучшена стабильность сетевого соединения на этапе включения
- Резервирование: улучшена стабильность синхронизации
- Резервирование: состояние CRITICAL_ERROR заменено на CONN_ERROR при потере связи
- Добавлен компонент PsSysFile позволяющий выставлять права доступа к файлам и каталогам FTP
Изменения
относительно «Патч 1.5.5.7387»
- IEC60870-5 104 Slave: добавлено свойство ActivateStopBehavior активирующая поведение в режиме останова
Изменения
относительно «Патч 1.5.5.7409»
- Резервирование: Исправлена индикация режима резервирования при загрузке контроллера Резервирование:
- Исправлена ошибка при синхронизации проектов между модулями CU Резервирование:
- Исправлены ошибки синхронизации на проектах с объемом синхронизируемых данных менее 50 кБ IEC60870-5 104 Master:
- Добавлена возможность разрыва соединения со стороны IEC-программы IEC60870-5 104 Slave:
- Исправлена ошибка приводившая к исключению при загрузки проекта в ПЛК IEC60870-5 104, 101:
- Добавлены настройки синхронизации времени Modbus Slave:
- Исправлена ошибка компиляции при привязке переменной массива PS_Json:
- Исправлено искажение данных типов LINT и ULINT при сохранении в JSON Backup:
- Исправлена ошибка создания резервной копии ПО контроллера при спецификации резервируемых частей
Изменения
относительно «Патч 1.5.5.7576»
Изменения в драйвере ModbusTcpMaster:
- Добавлена очистка очереди входящих сообщений перед отправкой запроса
Изменения
относительно «Патч 1.5.5.8069»
Изменения в драйвере IEC60870-5 104 Slave:
- Устранена утечка памяти
Изменения относительно «Релиз 1.5.3.0»
- Редактор резервирования: доработки и исправления интерфейса
- Сканер сети: добавлена кнопка поиска ПЛК и доработан интерфейс
- Устранены ошибки, приводившие к аварийному завершению среды разработки
- Шина ПЛК: добавлены статусы каналов модулей AO
- Шина ПЛК: расширена номенклатура поддерживаемых модулей
- Шина ПЛК: добавлена шина R500 Simple Bus для корзин с оконечными модулями R500 ST 00 001
- Master IEC60870-5 104: добавлена возможность работы на портах, отличных от 2404
- Master IEC60870-5 104: добавлена возможность периодического опроса
- Master IEC60870-5 104: добавлены команды C_SE_NC, C_BO_NA, C_SC_NA
- Slave IEC60870-5 104: создаются уникальные глобальные переменные для каждого устройства
- База данных: устранена утечка памяти при работе с БД
- База данных: закрытие соединений с БД при выгрузке проекта
- База данных: добавлена поддержка строк в кодировке unicode
- База данных: добавлена явная генерация функциональных блоков
- Диагностика: расширение функционала и исправление ошибок
- Исправлена ошибка приводившая к сбросу времени, без достоверных источников точного времени, при перезагрузке
- Исправлена ошибка установки временной зоны при перезагрузке
- Исправлена ошибка установки шлюза по умолчанию при перезагрузке
Изменения
относительно «Релиз 1.5.4.0»
- Исправлено: На ПЛК серии R500 перепутаны местами I и II положения ключа MBS
Изменения
относительно «Патч 1.5.4.5956»
- Исправлено: На ПЛК серии R500 нет данных PPS от GPS приемника
Изменения
относительно «Патч 1.5.4.5985»
- Исправлено: На некоторых ПЛК серии R500 не работают COM-порты
Изменения относительно «Релиз 1.5.2.0»
- Добавлена команда оболочки ПЛК: touchpanel (калибровка тачскрина)
- Резервирование: отображение логов с обоих ПЛК
- Исправлена ошибка при запуске сервера NTP на некоторых типах ПЛК
Изменения
относительно «Релиз 1.5.3.0»
- Master IEC60870-5 104: Исправлена неправильное отображение значений переменных на вкладке I/O Mapping
- Master IEC60870-5 104: Исправлена ошибка, при которой номер сетевого порта для работы мастера не применялся
- Master IEC60870-5 104: Добавлен параметр — интервал общего опроса оппонента Interrogation Interval
- Резервирование: Исправлена ошибка, иногда приводившая к ошибкам синхронизации
- Исправлена ошибка приводившая к некорректной работе индикации на некоторых модулях CU
Изменения относительно «Релиз 1.5.1.0»
- Добавлена поддержка модулей DS 32 011 и DO 16 021
- Добавлена поддержка диапазона измерения 0-20 мА в модулях аналогового ввода
- Добавлены команды оболочки ПЛК: reboot, ping, traceroute, sysinfo и др.
- Добавлен сервисный режим ПЛК
- Добавлена поддержка МЭК-104 Master
- Редактор МЭК-104: исправлены ошибки
- StructsDB: добавлена поддержка типов BOOL, ENUM, WSTRING
- Резервирование: конфигурация резервирования хранится в проекте
- Резервирование: оптимизация механизма синхронизации данных резервирования
- Резервирование: расширена диагностика каналов связи
- Epsilon LD: улучшена стабильность среды разработки
- Epsilon LD: улучшен редактор шины
- Epsilon LD: улучшена совместимость с Windows XP
- Многочисленные исправления и улучшения
Изменения относительно «Релиз 1.5.0.0»
- Добавлен драйвер единой шины контроллеров REGUL
- Добавлен редактор единой шины ПЛК
- Добавлена поддержка контроллеров серий R200 и R400
- Добавлены библиотеки PsJsonConvertions, PsMySQLClient организации хранения структур в базе MySQL
- Добавлена возможность импорта/экспорта точек и команд в редакторе МЭК-104/101-Master/Slave
- Добавлен HardwareMonitor подсистемы диагностики
- Добавлено создание резервной копии и восстановление ПО ПЛК
- Добавлена защита от сетевого шторма
- Полностью переработан сканер сети
- Улучшения в подсистеме резервирования
- Исправлены ошибки в библиотеке PS_Time
- Многочисленные исправления и улучшения
Изменения
относительно «Релиз 1.5.1.0»
- Исправлена критическая ошибка: возможен отказ некоторых ПЛК после обновления ПО до версии 1.5.1.5191.
Изменения относительно предыдущего релиза
- Epsilon LD: добавлен редактор устройств IEC104 Outer Master
- Epsilon LD: добавлена возможность настройки часового пояса
- Epsilon LD: добавлена команда «Сохранить в ПЗУ» для модулей AI и AO
- Epsilon LD: добавлена проверка структуры шины при компиляции проекта
- Epsilon LD: многочисленные улучшения редактора резервирования
- Modbus Master TCP/RTU: добавлена обработка канала по событию
- Modbus RTU/TCP: работа драйвера вынесена в задачу ModbusTask
- Добавлена возможность настройки правил сетевой маршрутизации
- Добавлена поддержка ПЛК серии R500
- Модули В/В: добавлена поддержка модуля AI 08 031, AI 16 011, R600 DA 03 021
- Модули В/В: расширен функционал режима работы ПАЗ модуля DO 32 011
- Резервирование: добавлена возможность резервирования канала связи между ЦП
- Резервирование: добавлена защита от многократного вызова функции синхронизации в одном цикле задачи
- Сканер сети: Добавлена возможность импорта/экспорта настроек сетевых интерфейсов
- Сканер сети: Небольшие доработки интерфейса
- Отключена служба Telnet
- Добавлена возможность установки количества опрашиваемых корзин за один цикл шины
..
Epsilon LD User Guide _DPA_302_v2_5.pdf
24.10.2019
Epsilon LD User Guide _DPA_302_v2.4.pdf
18.04.2019
Epsilon LD.IEC-104 User Guide.pdf
18.04.2019
Epsilon LD.Modbus User Guide.pdf
18.04.2019
HART User Guide.pdf
18.04.2019
OPC DA User Guide.pdf
18.04.2019
Redundancy Manual v2.0 (ПО 1.6.0.0).pdf
18.04.2019
Regul R200 System Manual (DPA-319 v2 16)_ rus.pdf
23.09.2019
Regul R400 System Manual (DPA-321 v2.0)_rus.pdf
23.09.2019
Regul R500 System Manual (DPA-311 v2 26)_rus_.pdf
06.10.2022
Regul R600 System Manual (DPA-309 v2 17)_ rus.pdf
23.09.2019
: 11 |
Страницы: |
Попало недавно такое заданьице — на Regul 500 прописать некий клапан, и визуализацию сделать на Альфа платформе.
ПО для Regul — Epsilon LD. Суть — Codesys. И хотя с кодесис впервые, ну как то разобрался.
Прикольно, что симулятор ПЛК -виртульная машину под, к примеру — VirtualBox )))
Ребята не стали париться, ПЛК? Ну это же тот же ПК, поэтому Intel Atom, SSD на 4Гб, ну и интерфейсы наружу. Не знаю чего там с материнкой. Пока что о импортозамещении, заметим, речи нет. Что за ОС не знаю, или линь какой то, но скорее своя какая то версия линя, гордо именуемая собственной разработкой )
А вот Альфа платформа — прелюбопытнейший зверек. Очень долго вникал в замысел. Благо справка — на уровне. Судя по подходу, вещь интересная. Не буду расписывать — https://www.automiq.ru/ru/products/alpha-platform
На мой не опытный взгляд — подходы интересные. Но пока все убогонько. Про графику молчу. Нам, в принципе, хорошо когда ее совсем нет ))) А вот процесс формирования переменных из того же ОРС… Рукопашка сплошная. И да, под внешними интерфейсами подразумеваются пока протоколы: Modbus, OPC, МЭК 104 и т.д. Не вникал особо. Прямых драйверов для ПЛК нет, или я их не увидел. Тот же Regul — вроде и есть возможность выбрать его, но исследуя проект-пример, понимаешь, что снова ОРС/МЭК. А в руководстве ничего нет.
Такой вот обзорчик ) Из того, что я изучал, а это и сайт и видео и документы — самое позднее — 2019г. Трудно видимо развиваться… Но точно знаю, что платформа нашла свое место в Транснефти. Оттуда, кстати, задание и прилетело.
Configuration of HART Protocol in Redul PLC
This tutorial contains information on setting up data transfer using the HART protocol on the Redul BX00 series industrial logic controllers. Setup will be done using the Sigma LD software.
Getting Started
Install the Sigma LD software on the computer. A description of the program installation process, as well as instructions for working with the program are given in the document “Sigma LD Software. User’s manual”. The installation program and documentation are available at https://www.gp-systems.com/ .
Launch the Sigma LD program. Open the project in which you want to configure the controller for HART communication. If there is no such project, create it using the Redul Configuration Wizard (for instructions, see the Sigma LD Software. User Guide document).
HART Configuration Steps
HART configuration starts by adding a HART Master to the project, to which, in turn, Hart Outer Slave end devices that directly exchange data via the HART protocol must be added. When using HART-enabled I/O modules in the project (see the corresponding module description in the System Guide), a HART master is added directly to the I/O module (see the section “Adding HART Devices to the Analog I/O Module” )
In cases when data exchange with HART devices via an external HART modem having a serial interface or with devices using only the digital part of the HART protocol via a serial channel is required, the following HART master connections are possible:
- A communication module with the required number of serial ports (Extended Redul Serial Port) is added to the project, to each of which a HART master can be connected (see the section “Adding HART Devices to Communication Modules”).
- The HART master is added directly to the serial port (Redul Serial Port) of the CPU module (see the section “Adding HART devices directly to the CPU module”).
Next, you need to create objects of type HartDevice in the project. These are containers containing HART commands for the slave device. The next step is to add commands to the container (see the “Adding Custom HART Commands” section).
In an IEC application, a command variable of the appropriate type should be declared. Next, you need to bind the container with the commands to the slave device and bind the declared variable to the command parameters (see the section “Declaring Variables and Linking Variables to Commands”).
To execute the HART command in the IEC application, a processing cycle is organized with an analysis of the status of the command. And, when the command moves from the execution phase to the Ok status, the received data is processed. The value Ok is set upon successful receipt of a response from the device and its processing without errors (see the section “Processing the execution of a command”).
HART Master Algorithm
Point-to-point mode. If one HART device is connected to one input/output of an analog module with HART support, then both the current value from the sensor (its Primary Value, PV) and data exchange with the device via the HART protocol are available. At the same time, according to the HART specification, it is recommended to set the address 0 in the device and enable the use of the current signal mode (factory default settings).
Multi-drop mode. If several* HART devices are connected to one input/output, they are assigned unique addresses on the bus and the current signal is converted to the minimum value necessary for the device to function (4 mA). In this case, only the digital part of the HART protocol works – the exchange of commands. Additionally, at the Hart_Outer_Slave level, access to one channel of the module is synchronized – after the capture and execution of one request attempt (successful or with an error), the Hart_Outer_Slave object is guaranteed to free the channel for a specified period of time (100 ms).
According to the HART specification, bus arbitration is supported in the amount of collaboration with the second master.
* Redul BX00 Series HART-enabled I/O Modules allow up to 10 HART devices to be connected per channel.
Adding and Configuring HART Devices
The principle of adding devices and objects to the controller configuration
To add a device to the controller configuration:
- In the device tree window, place the cursor on the name of the device to which the new device will be added. Press the right mouse button;
- In the context menu that appears, select Add device … (Figure 1).
The Add device window opens, where by default the list of devices that is currently available to the user for insertion is displayed, for example, when adding a rack – a list of racks, when placing modules in a rack – a list of modules (Figure 2).
Figure 2. Add Device window
Select the desired device, click the Add device button or double-click the left mouse button. The selected device appears in the project in the device tree.
To add an object to the controller configuration, the context menu called by the right mouse button is also used. In the menu select the Add object … item (Figure 3).
Figure 3. Adding an object to the controller configuration
Adding HART Devices to Analog I/O Modules
In the device tree window add a HART-enabled analog I/O module to the crate (Figure 4).
Figure 4. AI 16 081 module added to controller configuration
You can add one or more HART masters to each analog I/O module, each of which is a container for several Hart Outer Slave devices. The maximum number of HART masters is determined by the number of channels in the module.
Next, you need to connect one or several external slaves to the Hart Master device, which will be interrogated by the controller (Redul => Hart => Hart Master => Hart Outer Slave) (Figure 5). The maximum number of devices is 10.
Figure 5. Adding Hart Outer Slave Devices
Double-click on the Hart Master device name to open the options tab (Figure 6).
Figure 6. Hart Master Device Parameters
If the HART master is connected to a multi-channel I/O module with HART support, the Channel number field in the module is displayed in the HART master editor. Using the arrows or manually set the value – the channel number in the module to which the Hart Outer Slave device is connected and through which it will be interrogated.
Note: when connecting the HART master via the serial port, the channel selection in the module is not required, the field is not displayed in the HART master editor
Checking the box in the Debug mode field enables the mode of adding the HART wizard’s debug messages to the controller log.
In the Secondary Wizard field, the box is unchecked by default and the device acts as a Primary HART Master. To set the type of master as Secondary HART Master, check the box.
Double-click on the name of the Hart Outer Slave device to open the options tab. By default, the first internal tab Hart Outer Slave Settings opens. (Figure 7).
Figure 7. Hart Outer Slave Settings
Setting the checkbox in the Debug mode field enables debug mode with tracing in the controller log.
The user can configure the following parameters:
- Slave address – address of the end device (0-15), which is used in the universal identification command (Universal Command 0) during the initial polling of devices on the bus;
- Slave timeout – maximum timeout for waiting for a response from a HART device, ms;
- STOP mode behavior – STOP mode behavior. Indicates what to do if the RUN / STOP switch of the CPU module is set to the STOP position: the No activity option means the polling is stopped, the Normal operation option means that normal operation continues;
- Preamble length – sending a group of bytes 0xFF before each command, necessary to synchronize the receivers on the bus. For Universal Command 0, 20 preamble characters are always used;
- Number of attempts – the number of attempts to complete each command.
Adding HART Devices to Communication Modules
Add a communication module to the crate. Add the Extended Redul Serial Port virtual serial port object to it (Figure 8). You can add multiple expansion ports.
Each Hart Master should be added to each expansion port. Next, you need to connect one or several external slaves to the Hart Master device, which will be interrogated by the controller (Redul => Hart => Hart Master => Hart Outer Slave) (Figure 8). The maximum number of devices is 10.
Figure 8. Adding the Extended Redul Serial Port and HART devices to the CP module
In the device tree window, double-click on the port name to open the main tab for the port settings. Go to the internal tab Serial Port Settings (Figure 9).
The port number is set automatically (incremented when a new Extended Redul Serial Port device is added).
For HART, set the following parameters:
- Speed – 1200;
- Number of data bits – 8;
- Parity – check for oddness;
- Number of stop bits – default is 1.
The settings for the Hart Master and Hart Outer Slave devices are similar to those described for the analog I/O modules.
Figure 9. Serial port settings
Adding HART Devices Directly to the CPU Module
Add the Redul Serial Port to the head unit (Figure 10).
Figure 10. Adding a Serial Port
You can add up to two serial ports.
Add one Hart Master to the serial port. Next, you need to connect one or more external slaves to the Hart Master device, which will be interrogated by the controller (Redul => Hart => Hart Master => Hart Outer Slave). The maximum number of devices is 10.
The serial port settings as well as the settings for the Hart Master and Hart Outer Slave devices are described in the previous sections.
Adding HART User Commands
Adding HartDevice Containers
All user commands used when exchanging data via the HART protocol are stored in special HartDevice objects, which are containers for commands. This allows you to group commands for specific sensors and other devices polled. Each container can contain many different commands. But only one HartDevice container can be bound to each slave device.
To add a container:
- in the window of the device tree, place the cursor on the Application object, right-click on the context menu, select Add object … => HartDevice …;
- the Add HartDevice window opens. In the Name field, specify the name of the container. For example, it may be the name of the sensor (the interrogated device) (Figure 11). Click the Add button.
Figure 11. Adding a container
Note: later, if necessary, the container can be renamed (in the device tree).
An object of type HartDevice is added to the device tree. The hart device editor opens automatically (Figure 12).
Figure 12. HART device editor
Click the Find all hart devices button. In the Select hart device field: a list of all containers of the HartDevice type available in the current project and in all connected libraries will be displayed (Figure 13).
Figure 13. HART device editor
An object named DefaultHartDeviceRev6 is a container with a set of universal and general commands used in the HART Revision 6.0 specification. The prefix uni_ means that this is a command from the HART (Universal Command Specification) specification, Cmn_ is a command from the Common Practice Command Specification. The container is part of the PsIoDrvHartMaster library, which, in turn, is automatically installed along with a package containing settings for HART communication. Thus, the user can access the container by default from which the necessary commands can be imported, and not to create them manually.
Using a Preset Command Set
To use the predefined set of commands in the hart device editor, in the Select hart device: field, select DefaultHartDeviceRev6. In the right part of the window, in the Select commands section: a list of all the commands available in this container is displayed. Select the checkboxes for the required commands and click the Import selected commands button. Commands will be copied to the user container (Figure 14).
Figure 14. Import of commands
To view the parameters of a command, double-click the name of the command. The hart command editor will open (Figure 15).
Figure 15. HART command editor
Design Your Own Commands
The user may need to create a container with new commands that are not in the connected libraries (work with HART versions other than revision 6.0; a set of commands for a specific device is required; there are special customer requirements; etc.). The program provides the ability to edit existing commands and create your own new commands. Also, the developer, at the request of the customer, can develop and provide a new library with a container containing the required commands. Figure 16).
To make changes to an existing command (imported or manually created), double-click the name of the command. The hart command editor will open, where you can change the code and description of the command, as well as add / change fields in the formats of data transmission / reception structures (Figure 16).
When changing the format of structures for a certain range of command codes (these are the commands of the DefaultHartDeviceRev6 integrated into the library of the HART device) automatic verification of the format of command structures by code is provided. If the format of the structures does not comply with the HART specification for this command code, an error message appears in the Result: field (Figure 16). When the project starts, such a command will not be executed.
Figure 16. HART command editor
To create a new command, place the cursor on the name of the container. Right-click the context menu and select Add Object => HartCommand … The Add Hart Command window opens, where in the Name: field specify the name of the command (Figure 17).
Figure 17. Adding a HART command
Click the Add button. The hart command editor window with empty fields will open (Figure 18).
Figure 18. HART command editor when creating a new command
In the Code: field, use the arrows or to manually enter the command code — the command number according to the HART specification, corresponding to its functionality. The command will be automatically verified by code. If a command with such a code is in the library, then information on the required formats for receiving / transmitting structures appears in the Check structure format section. An error message is present at this stage because formats not yet defined.
If the command is not described in the connected libraries, then in the Result: field a message appears: “Structure check is disabled”. For such a command, there are no recommendations on the formats of data transmission / reception structures. Such a command will be added for execution.
Click the Add New Field button. The structure declaration editor opens (Figure 19).
Figure 19. Structure Declaration Editor
Enter a command name. Select a field type according to the HART specification or your requirements.
The optional Description field is optional and has a descriptive function.
Click OK. The created field appears in the hart editor of the command. In the future, these fields can be edited, deleted, and copied using the right-click context menu.
Figure 20. Formation of data reception / transmission structures
After all fields have been added / edited, close the hart command editor. A new command with the specified parameters will be added to the container and will be displayed in the device tree.
In the PsIoDrvHartMaster library for each command specified in the list of user commands, structures are defined where the fields correspond to the data block in both the request and the response. Additionally, each command contains four fields (Figure 21):
- CmdRespCode
- CmdDevStatus
- CmdStatus
- CmdTrigger
Figure 21. Additional command properties
CmdRespCode and CmdDevStatus – after receiving a response from a HART device, two bytes of Response Code and Field Device Status are copied to these fields, which, according to the specification, are contained in the response to any HART command; the user can independently analyze their contents in terms of obtaining extended information about the status of the interrogated device.
CmdStatus is an enumeration of the current state of a command, which is used in an IEC application to track the processing cycle of a command:
- after adding a command to the queue, it receives the Idle status (it is waiting for the start of execution by timer or by trigger);
- upon transition to the execution phase, the status changes to InProcess;
- upon successful receipt of a response from the device and its processing without errors, the status is set to Ok; at the same time, the data field of the rdata command contains a block of response data from the device and access to its individual fields is possible according to the structure of a specific command;
- in case of a command execution error, the status can take the following values:
- Timeout – a complete response to the command was not received from an external HART device during the Slave Timeout period specified for the current Hart_Outer_Slave;
- ErrorInResponse – error processing the received response (incorrect length or incorrect response structure, invalid address, command not implemented in the device, the device is busy, there is an error in the Response Code byte);
- UserReqArg – parameter error of a separate dynamically generated command implemented in the function block of the HartUserRequest library;
- InternalError – an error related to processing a command inside the library;
- after executing a command and receiving a response, its status is not reset in Idle, but retains its value until the next start of the processing cycle and transition to the InProcess state;
CmdTrigger – control flag for on-demand commands (Trigger); the library records all trigger transitions from the False (0) state to the True (1) state and the command will be added to the execution queue a specified number of times.
Declaring Variables and Linking Variables to Commands
Declaring Variables
In order for HART commands to be executed, it is necessary to add variables to the program code, which are structures of certain types described in the PsIoDrvHartMaster library and corresponding to the commands added in the paragraph above for the Hart Outer Slave device. For all added HART commands, new types of structures are automatically generated with names consisting in series of the container name (HartDevice), then the underscore and the variable name (HartCommand). For example, for a container named Metran_P_Sensor and the Read_Primary_Variable command, a structure type named Metran_P_Sensor_ Read_Primary_Variable will be generated.
To create variables, open the PLC program editor (IEC application). For example, in the ST editor for the MAIN program, creating a variable is as follows: cmd: container name_name of the command. (Figure 22).
Figure 22. Variable Declaration Example
Linking Program Variables to Commands
The first step is to bind the container to the slave device, then bind the program variables to the commands. It is permissible to bind only one container with commands to one slave device.
Double-click on the name of the Hart Outer Slave device to open the device editor. Click the Hart Commands tab Figure 23).
Figure 23. Hart Commands Tab
Click the device search button. In the Select a new hart device field: find the name of the container in the drop-down list, select it. Click the button . In the Bound/Linking device: field, the name of the container will appear, and in the Commands field: – a list of commands that this container contains (Figure 24).
Figure 24. The container is linked to a slave device
In the line of the desired command, select the Select box. The following command parameters will be available for editing:
- Type of command call – the command can be added to the execution queue automatically with a specified period (Timer) or on demand (Trigger). In the first case, the Cycle Time (ms) field will be available for editing – the period of execution of the command in ms. In the second case, to add a command to the execution queue, the Trigger Boolean field is used – during the execution of the IEC application, every time the value of this field for the variable corresponding to the added command goes from False to True, the command is added to the queue.
Left-click in the Var for mapping field. A cursor will appear (you can manually enter the variable name) and a button that opens the Input Assistant window. Expanding the hierarchical list, find the desired variable (Figure 25).
Figure 25. Input assistant
Double-click the left mouse button to select the variable to bind. The Input Assistant window closes, and the variable name for the linking appears in the command line in the Var for mapping field (Figure 26). To save, place the cursor anywhere in the window.
Figure 26. Linking variable
Only a variable of the corresponding type can be assigned to each command. In case of type mismatch, an error message appears (Figure 27).
Figure 27. Error message when variable types do not match
Processing Commands
Processing the execution of a command by timer consists of the following steps:
- check the command execution status field. If the status is Ok, then the command was executed successfully, and you can work with the received data;
- an error in the command status means a failure while executing the command or an error in the response from the device itself and additional analysis of the CmdStatus code or analysis of the fields of the CmdRespCode and CmdDevStatus commands is required.
Processing the execution of a command by a trigger consists of the following steps:
- to add a command to the execution queue by a trigger, set the program code for the CmdTrigger field of the command to True (this field must first be set to False):
IF Run_Condition_to_ execute = TRUE THEN P_Sensor_cmd01.CmdTrigger := TRUE; END_IF
- monitor the successful completion of the command on the status field:
- if the status is equal to Ok, then the command in the last cycle was completed successfully and you can work with the received data;
- an error in the status of the command means a failure in the execution of the command or an error in the response from the device and additional analysis of the CmdStatus code or analysis of the fields of the CmdRespCode and CmdDevStatus commands is required.
IF P_Sensor_cmd01.Status = CmdStatus.Ok THEN … END_IF
Processing the received data in the command data field:
P_Sensor_cmd01.data.PrimUnit P_Sensor_cmd01.data.PrimValue …
Note: When executing user commands, a “long” (5 bytes) unique device address is used, which is formed in the library when a response is received to an identification command request (Universal Command # 0). Therefore, if a unique address has not yet been generated, then before executing a user command, the library automatically adds an identification command and tries to execute it. Also, this command will be automatically executed in case of an exchange error with the device before the next user command in the queue.
Function Block HartUserRequest and Dynamic Generation of Commands
Overview
The library can work in an IEC application with a dynamically generated HART command, implemented in the function block (hereinafter referred to as the FB) HartUserRequest. Work with the command – only on the trigger.
Figure 28. HartUserRequest Function Block
For the correct processing of an arbitrary HART command, specific parameters are transferred to the function block variable when it is called in the IEC application, including the formats of the data field structures for writing (in the request) and reading (in the response). This allows the library to correctly format the output / input block of the request / response data and to match the heterogeneous parameters contained in this block to the corresponding fields of the command variable declared in the IEC application.
The following is an example of executing a universal device information request command (command with code 15). In this case, two options for setting the data structure are available.
Declaring Command Data Structure Directly in the Code
To declare the command data structure directly in the code, it is necessary to inherit the structure of the 15th command from the basic CmdBase structure declared in the library (Figure 29).
//UNI 15 - Read Device Information; TYPE cmd15 EXTENDS PsIoDrvHartMaster.CmdBase : STRUCT data : cmd15_rdata; //UNI 15 - Read Device Information; END_STRUCT END_TYPE
Figure 28. The basic structure of CmdBase
With a data field of structure type cmd15_rdata conforming to the HART specification.
{attribute 'pack_mode' := '1'} TYPE cmd15_rdata : //UNI 15 - Read Device Information; STRUCT PV_AlarmSelCode : BYTE; //PV Alarm Selection Code; PV_TransFuncCode : BYTE; //PV Transfer Function Code; PV_UL_UnitCode : BYTE; //PV Upper and Lower Range Values Units Code; PV_UpperRangeValue: REAL; //PV Upper Range Value; PV_LowerRangeValue: REAL; //PV Lower Range Value; PV_DampingValue : REAL; //PV Damping Value; WriteProtectCode : BYTE; //Write Protect Code; PrivLblDistrCode : BYTE; //Private Label Distributor Code; PV_AnalogChFlags : BYTE; //PV Analog Channel Flags; END_STRUCT END_TYPE
Next, in the area of declarations of the program unit (POU) for processing the HART command, a set of working variables should be declared.
// FB instance of user request; UserRequest : PsIoDrvHartMaster.HartUserRequest; //command code; bUR_Command : BYTE := 0; // number of attempts to execute a command; bUR_RepeatNum : BYTE := 4; // FB output parameter - flag of successful command execution; xUR_Done : BOOL := FALSE; // output parameter FB - flag of the command execution error xUR_Error : BOOL := FALSE; // size of response data structure; bUR_CommandRxDataLen: BYTE; // request data structure size; bUR_CommandTxDataLen: BYTE; // command start / stop control flag; xUR_Execute_Uni_15 : BOOL := FALSE; //command structure; cmdUR_Command_15 : cmd15; // device response data block format containing the size of data fields in bytes; arrbUR_CommandRxFrm_15: ARRAY[0..10] OF BYTE := [1, 1, 1, 4, 4, 4, 1, 1, 1, 0]; // the number of fields in the response data block, including the terminating '0'; bUR_CommandRxFrmtLen_15: BYTE := 10; // device request data block format containing the size of data fields in bytes; arrbUR_CommandTxFrmt_15: POINTER TO BYTE; // not used for this command; // the number of fields in the request data block, including the terminating '0'; bUR_CommandRTxFrmtLen_15: BYTE; // not used for this command;
the body of the block, command processing is reduced to the following lines:
// Custom request execution IF xUR_Execute_Uni_15 = TRUE THEN bUR_Command := 15; bUR_CommandRxDataLen := UINT_TO_BYTE(SIZEOF(cmdUR_Command_15.data)); bUR_CommandTxDataLen := 0; UserRequest( xExecute := xUR_Execute_Uni_15, refHartOuterSlave := Hart_Outer_Slave, byCommand := bUR_Command, byRepeatNum := bUR_RepeatNum, sSpecificName := 'Test', pbyRData := ADR(cmdUR_Command_15.data), byRDataLen := bUR_CommandRxDataLen, pbyRDataFormat := ADR(arrbUR_CommandRxFrm_15), byRDataFormatLen := bUR_CommandRxFrmtLen_15, bRespCode => cmdUR_Command_15.RespCode, bDevStatus => cmdUR_Command_15.DevStatus, eStatus => cmdUR_Command_15.Status, xDone => xUR_Done, xError => xUR_Error ); IF xUR_Done OR xUR_Error THEN xUR_Execute_Uni_15 := FALSE; UserRequest( xExecute := xUR_Execute_Uni_15); END_IF END_IF
In this case, Hart_Outer_Slave is the name of the function block instance corresponding to the Hart Outer Slave device in the device tree.
Using a Command from the HART Device Command Container
To use a command from the HART device command container, you need to create a dummy container in the device tree and add / import the 15th command into it, for which the HartUserRequest_Uni_15 structure type is automatically created (Figure 30).
Figure 30. Structure of HartUserRequest_Uni_15
Next, in the area of declarations of the program unit (POU) for processing the HART command, a set of working variables should be declared.
// FB instance of user request; UserRequest : PsIoDrvHartMaster.HartUserRequest; //command code; bUR_Command : BYTE := 0; // number of attempts to execute a command; bUR_RepeatNum : BYTE := 4; //FB output parameter - flag of successful command execution; xUR_Done : BOOL := FALSE; // FB output parameter - command execution error flag; xUR_Error : BOOL := FALSE; // size of response data structure; bUR_CommandRxDataLen: BYTE; // request data structure size; bUR_CommandTxDataLen: BYTE; //command structure; cmd_15 : HartUserRequest_Uni_15; // device response data block format containing the size of data fields in bytes; arrbUR_CommandRxFrm_15: ARRAY[0..10] OF BYTE := [1, 1, 1, 4, 4, 4, 1, 1, 1, 0]; // the number of fields in the response data block, including the terminating '0'; bUR_CommandRxFrmtLen_15: BYTE := 10; // device request data block format containing the size of data fields in bytes; arrbUR_CommandTxFrmt_15: POINTER TO BYTE; // not used for this command; // he number of fields of the request data block, including the terminating '0'; bUR_CommandRTxFrmtLen_15: BYTE; // not used for this command;
In the body of the block, command processing is reduced to the following lines:
// Custom request execution IF cmd_15.CmdTrigger = TRUE THEN bUR_Command := 15; bUR_CommandRxDataLen := UINT_TO_BYTE(SIZEOF(cmd_15.rx_data)); bUR_CommandTxDataLen := 0; UserRequest( xExecute := cmd_15.CmdTrigger, refHartOuterSlave := Hart_Outer_Slave, byCommand := bUR_Command, byRepeatNum := bUR_RepeatNum, sSpecificName := 'Test', pbyRData := ADR(cmd_15.rx_data), byRDataLen := bUR_CommandRxDataLen, pbyRDataFormat := ADR(arrbUR_CommandRxFrm_15), byRDataFormatLen := bUR_CommandRxFrmtLen_15, bRespCode => cmd_15.CmdRespCode, bDevStatus => cmd_15.CmdDevStatus, eStatus => cmd_15.CmdStatus, xDone => xUR_Done, xError => xUR_Error ); IF xUR_Done OR xUR_Error THEN cmd_15.CmdTrigger := FALSE; UserRequest( xExecute := cmd_15.CmdTrigger); END_IF END_IF
Command Execution Example 34 – Write Primary Variable Damping Value
To declare the command data structure directly in the code, it is necessary to inherit the structure of the 34th command from the base CmdBase structure declared in the library.
//COMMON PRACTICE 34 - Write Primary Variable Damping Value; TYPE cmd34 EXTENDS PsIoDrvHartMaster.CmdBase: STRUCT xdata : cmd34_data; //COMMON PRACTICE 34 - OUT - Write Primary Variable Damping Value; rdata : cmd34_data; //COMMON PRACTICE 34 - IN - Write Primary Variable Damping Value; END_STRUCT END_TYPE
{attribute 'pack_mode' := '1'} TYPE cmd34_data : //COMMON PRACTICE 34 - Write Primary Variable Damping Value; STRUCT PV_DampungValue : REAL;//Primary Variable Damping Value (units of seconds); END_STRUCT END_TYPE
Next, in the area of declarations of the program unit (POU) for processing the HART command, a set of working variables should be declared.
// FB instance of user request; UserRequest : PsIoDrvHartMaster.HartUserRequest; //command code; bUR_Command : BYTE := 0; // number of attempts to execute a command; bUR_RepeatNum : BYTE := 4; // FB output parameter - flag of successful command execution; xUR_Done : BOOL := FALSE; // FB output parameter - command execution error flag; xUR_Error : BOOL := FALSE; // size of response data structure; bUR_CommandRxDataLen: BYTE; // request data structure size; bUR_CommandTxDataLen: BYTE; // start / stop command control flag; xUR_Execute_Cmn_34 : BOOL := FALSE; //command structure; cmdUR_Command_34 : cmd34; // device response data block format //containing the size of data fields in bytes; arrbUR_CommandRxFrmt_34: ARRAY[0..1] OF BYTE := [4, 0]; // the number of fields in the response data block, including the //terminating '0'; bUR_CommandRxFrmtLen_34: BYTE := 2; // device request data block format containing the size of data fields // in bytes; arrbUR_CommandTxFrmt_34: ARRAY[0..1] OF BYTE := [4, 0]; // the number of fields in the request data block, including the //terminating '0'; bUR_CommandTxFrmtLen_34: BYTE := 2;
Command processing in the body of the block is reduced to the following lines:
IF xUR_Execute_Cmn_34 = TRUE THEN bUR_Command := 34; bUR_CommandRxDataLen := UINT_TO_BYTE(SIZEOF(cmdUR_Command_34.rdata)); bUR_CommandTxDataLen := UINT_TO_BYTE(SIZEOF(cmdUR_Command_34.xdata)); cmdUR_Command_34.xdata.PV_DampungValue := 4.0; UserRequest( xExecute := xUR_Execute_Cmn_34, refHartOuterSlave := Hart_Outer_Slave, byCommand := bUR_Command, byRepeatNum := bUR_RepeatNum, sSpecificName := 'Test', pbyRData := ADR(cmdUR_Command_34.rdata), byRDataLen := bUR_CommandRxDataLen, pbyRDataFormat := ADR(arrbUR_CommandRxFrmt_34), byRDataFormatLen := bUR_CommandRxFrmtLen_34, byXDataLen := bUR_CommandTxDataLen, pbyXData := ADR(cmdUR_Command_34.xdata), pbyXDataFormat := ADR(arrbUR_CommandTxFrmt_34), byXDataFormatLen := bUR_CommandTxFrmtLen_34, bRespCode => cmdUR_Command_34.RespCode, bDevStatus => cmdUR_Command_34.DevStatus, eStatus => cmdUR_Command_34.Status, xDone => xUR_Done, xError => xUR_Error ); IF xUR_Done OR xUR_Error THEN xUR_Execute_Cmn_34 := FALSE; UserRequest( xExecute := xUR_Execute_Cmn_34); END_IF END_IF
Table of Contents
В 2015 году инженерная компания «ПРОСОФТ-Системы» представила свои инновационные разработки в сфере промышленной автоматизации – программируемые логические контроллеры REGUL серий R600 и R500. В этом году в рамках выставки «НЕФТЕГАЗ-2016» состоялась презентация ещё двух новых устройств, расширивших линейку REGUL, – ПЛК серий R400 и R200.
REGUL R400 – оперативное управление и визуализация
Контроллер REGUL R400 (рис. 1) представляет собой комбинацию человеко-машинного интерфейса и модуля центрального процессора с блоком питания. Контроллер применяется при создании локальных и распределённых систем автоматизации с поддержкой визуализации.
В первой версии ПЛК REGUL R400 используется процессор Intel Atom 1,46 ГГц, 2 Гбайт ОЗУ, 4 Гбайт ПЗУ.
В ПЛК есть следующие интерфейсы: RS-485, 2 порта USB, DVI, 2 порта Ethernet и 2 порта EtherCAT для подключения модулей ввода-вывода.
К разъёму DVI контроллера можно подключить стандартный монитор или KVM-удлинитель для организации удалённого рабочего стола. При этом на него будет выводиться то же изображение, которое транслируется в данный момент на экране контроллера.
Корпус R400 металлический и предполагает монтаж на переднюю панель приборных стоек или на дверь шкафа автоматики. Лицевая панель обладает степенью защиты IP66. Диапазон рабочих температур от –20 до +60°С.
В контроллере используется ёмкостный сенсорный дисплей разрешением 800×480 точек с диагональю 7” и плёночной клавиатурой.
REGUL R400 может работать с модулями ввода-вывода всех серий контроллеров REGUL (рис. 2).
Программное обеспечение контроллеров REGUL RX00 имеет встроенный функционал для реализации человеко-машинного интерфейса, который можно настроить прямо из программы конфигурации контроллеров Epsilon LD (рис. 3).
Функциональные возможности REGUL R400
С точки зрения управления технологическим процессом, контроллер R400 аналогичен модулям центральных процессоров серий R500 и R600, за исключением поддержки резервирования.
В дополнение к технологической программе на базе REGUL R400 можно реализовать весь функционал человеко-машинного интерфейса, необходимый для локальной системы автоматики:
- создание мнемосхемы техпроцесса;
- отображение текущих параметров;
- реализация аварийной сигнализации;
- управление технологическим оборудованием по командам оператора;
- просмотр трендов и журнала событий системы;
- диагностика оборудования системы;
- распределение уровней доступа.
Расширение серии R400 предполагает выпуск моделей с большим размером экрана, использование процессоров на другой архитектуре, а также конфигурации типа all-in-one (всё в одном) с ограниченным набором каналов ввода-вывода.
ПЛК для малых и средних АСУ ТП
Во всех областях промышленности большое количество оборудования требует локальной автоматизации. Также имеется множество удалённых объектов с малым количеством сигналов контроля и управления, которые необходимо интегрировать в общую систему управления. При этом вопрос габаритных размеров и цены оборудования автоматизации для таких объектов зачастую выходит на первый план. Именно для таких решений и предназначена серия R200 (рис. 4).
Отличительными особенностями ПЛК REGUL R200 в сравнении с R600 и R500 являются:
- поддержка только одной внутренней шины;
- небольшое число каналов в модулях ввода-вывода;
- малые габариты модулей: 12,9×101×109 мм (Ш×В×Г);
- крепление на DIN-рельс 35 мм;
- диапазон рабочих температур от –40 до +60°С;
- удобное клеммное шасси, позволяющее менять модуль без демонтажа проводов.
Типы модулей REGUL R200
В основе идеологии семейства контроллеров REGUL RX00 лежит использование единого программного обеспечения для конфигурирования Epsilon LD и по возможности одинаковых подходов к аппаратной платформе.
Контроллер REGUL R200, как и R500, имеет блочно-модульную конструкцию, состоящую из одной или нескольких линеек, которые включают в себя модули различного типа, закреплённые на DIN-рейке.
Модуль – это основной элемент контроллера, который в зависимости от своего типа выполняет определённую функцию. В состав ПЛК REGUL R200 входят следующие модули:
- модули источника питания (МИП);
- интерфейсные модули (ИМ);
- модули коммуникационного процессора;
- модули аналогового и дискретного ввода-вывода;
- модули измерения частоты и счёта импульсов.
Модули источника питания обеспечивают преобразование питающего напряжения =24 В в рабочее напряжение внутренней шины питания 5 В, фильтрацию и электромагнитную совместимость (ЭМС). Отдельные модули источников питания используются при большом количестве модулей в линейке.
С помощью интерфейсного модуля ПЛК R200 подключается к внутренней шине контроллеров серии REGUL. Подключение выполняется по схемам «кольцо» или «звезда». Для этого есть два разъёма RJ-45: IN и OUT. В состав интерфейсного модуля также входит модуль источника питания.
Поскольку ПЛК R200, как и серии R600/R500, построен на высокоскоростной шине на основе технологии EtherСАТ, он может использоваться в качестве удалённых станций ввода-вывода в составе контроллеров старших серий (рис. 5).
С помощью модулей коммуникационного процессора ведётся обмен информацией между контроллером и сторонним оборудованием по стандартным протоколам Modbus RTU/TCP, МЭК 60870-5-101/104.
Модули ввода-вывода образуют интерфейс между контроллером и технологическим процессом посредством взаимного преобразования физических и логических сигналов. Модули дискретного ввода-вывода обеспечивают до восьми каналов подключения. Модули аналогового ввода-вывода – двух- и четырёхканальные.
Модуль частотного ввода обеспечивает измерение частоты по одному каналу до 100 кГц и имеет программно-конфигурируемые каналы дискретного ввода-вывода.
Конструкция модулей контроллера R200
Все модули контроллера (рис. 6), кроме интерфейсного, состоят из трёх частей:
- электронного блока;
- шинного блока;
- шасси.
Электронный блок определяет функционал и назначение модуля и, соответственно, его тип. Шасси и шинный блок одинаковы для всех модулей и взаимозаменяемы.
В электронном блоке происходит преобразование внешних сигналов в данные, передаваемые в центральный процессор, и наоборот. Кроме того, электронный блок осуществляет гальваническое разделение внешних каналов от внутренних шин контроллера. На панели индикации электронного блока отображается наличие сигналов в каналах ввода-вывода, а также диагностическая информация. Конструкция модулей поддерживает «горячую» замену электронных блоков.
В случае модуля источника питания в электронном блоке осуществляется преобразование питающего напряжения в рабочее напряжение внутренней шины питания 5 В.
Шинный блок является составной частью внутренней шины данных и обеспечивает подключение модуля ввода-вывода или коммуникационного процессора, в составе которого он работает, к внутренней шине данных контроллера.
Шасси предназначено для механического соединения модулей контроллера между собой, а также с DIN-рейкой. Оно обеспечивает коммутацию внутренней шины данных и образует внутреннюю и внешнюю шины питания контроллера.
Кроме того, шасси содержит в своём составе клеммное поле, к которому подключаются все внешние сигналы.
Для предотвращения ошибочной установки электронного блока в шасси, предназначенное для подключения электронного блока другого типа, предусматривается возможность кодирования шасси с помощью двух ключей (рис. 7).
Каждый ключ состоит из двух компонентов, один из которых устанавливается в электронный блок, другой в шасси.
Ключи входят в состав модулей и поставляются уже предустановленными в положение, соответствующее данному типу модуля. При необходимости применения шасси для другого типа модулей ключи кодировки можно переустановить.
Модули, установленные в линейку, могут быть опломбированы. Для этого в верхней части электронного блока предусмотрено специальное отверстие диаметром 2 мм.
Планы развития
В настоящее время серия R200 представляет собой набор модулей для удалённого ввода-вывода и предполагает использование в комплекте с контроллером R400 или центральными процессорами серий R500/R600. В дальнейшем компания «ПРОСОФТ-Системы» планирует разработать модуль центрального процессора в форм-факторе серии R200 для возможности создания недорогих локальных систем управления. ●
Авторы – сотрудники
компании «ПРОСОФТ-Системы»
Телефон: (343) 356-5111
E-mail: info@prosoftsystems.ru