Подключение к контроллерам ONI можно произвести при помощи специализированного протокола ONI CANopen.
ONI CANopen - представляет из себя открытый сетевой протокол CANopen с преднастроенными свойствами.
Для возможности использовании протокола, сначала следует добавить уго в узел при помощи контекстного меню:

Протокол содержит следующие специализированные свойства:

Свойство |
Описание |
|---|---|
Категория Протокол |
|
Имя основной шины CAN |
Указывается имя основной шины, которое задано в контроллере. Берется из документации. Регистр вводимых символов учитывается. |
Имя резервной шины CAN |
Указывается имя резервной шины, которое задано в контроллере. Берется из документации. Если указать имя, то включается две шины, которые будут вести параллельный опрос модуля. |
Таймаут SDO |
Время ожидания ответа от устройства при запросе SDO. По умолчанию - 1000 |
Таймаут отказа модуля |
Устройства CANopen в процессе работы формируют специальные сообщения сердцебиения (Heartbeat), если их нет - модуль не работает. Протокол отслеживает все поступающие Heartbeat и сбрасывает таймер. Если не поступало сообщений в течение заданного времени в данном свойстве, то выдается отказ модуля. Настройки выдачи Heartbeat определяются параметрами модуля - число не должно быть меньше периода выдачи Heartbeat от модуля. По умолчанию - 2000 |
Повторы SDO |
Определяет, сколько сделать повторов, если на запрос SDO не было ответа. По умолчанию - 2 |
Контроль мастера по CAN |
Если настройка включена, то осуществляется контроль наличия мастера по CAN-шине. При отключении настройки контроль мастера осуществляется по сети Ethernet. По умолчанию - свойство отключено |
Отслеживать отказ CAN-шины |
Настройка не включена по умолчанию |
Запуск слейвов |
Перевод всех модулей в режим Operational. По умолчанию - свойство включено |
Категория Heartbeat Master |
|
Использовать Heartbeat Master |
Центральный модуль при старте начинает выдавать свои Heartbeat сообщения с адресом, заданным в Master NodeID. Модули в момент включения перебирают скорости, получают пакеты и остаются на этой скорости. Если установлен флаг в данном свойстве, то будет использование этого режима. |
Master NodeID |
Определяется ID контроллера, от которого будет слаться Heartbeat. По умолчанию - 127. |
Добавление модулей производится через контекстное меню протокола:

Свойства модуля задаются в панели свойств модуля ввода/вывода:

Основные свойства модулей ввода/вывода из раздела Настройки:
Название |
Описание |
|---|---|
NodeID |
Номер модуля на шине. Определяется переключателями на самом модуле. Номера модулей на шине не должны повторятся. |
Файл EDS |
Путь к файлу eds. Полный путь к eds файлам: [папка установки mplc]/eds/[имя eds файла]. Если файлы не будут найдены по указанному пути, то модуль блокируется и при старте mplc выводится сообщение об ошибке. |
Выполнять запись при подключении |
При значении TRUE будет производиться однократная запись значений на всех выходах при следующих ситуациях: •при первоначальном подключении; •при переключении исполнения на резервный узел в резервированной паре (запись будет выполняться даже при значении FALSE у настройки Выполнять запись на резервном; •при переподключении после разрыва связи. При этом не имеет значения, совпадает ли текущее значение с начальным – запись будет выполнена независимо от этого. По умолчанию значение настройки - TRUE. |
Ссылка на окно для сообщений |
Данная настройка используется для установки связи с окном, которое должно открываться при переходе из журнала к аварийным сообщениям, возникшим в этом элементе. |
Для получения информации о состоянии связи с модулями ввода-вывода используются параметры Отказ и Ошибка протокола и самого модуля:

Параметр Отказ имеет тип значения BOOL. Если параметр принимает состояние TRUE, то это значит, что исполнительная система не может установить связь с данным модулем.
Параметр Ошибка имеет тип значения STRING. Если у исполнительной системы нет связи со всеми модулями ввода/вывода, то параметр протокола принимает значение No connection.
Каналы модуля ввода/вывода добавляются при помощи контекстного меню модуля:

Каналы модулей ввода-вывода имеют свою панель свойств. Все значения свойств берутся из eds файла.

Основные свойства канала модуля:
Название |
Описание |
|---|---|
PDO Read |
Если флаг установлен, то чтение модуля по PDO. Соответственно данный адрес должен быть доступен в этом режиме. Если снять флаг - чтение будет по SDO. В этом случае COB-ID Read и Offset не используется - только имя параметра. |
Name Read |
Указывается имя параметра для чтения. Указывается полный путь как в eds, т.е. номер секции/номер параметра. Разделитель через слэш. |
COB-ID Read |
COВ параметра для чтения из eds файла. Прибавлять NodeId не требуется - это делает сам протокол. |
Offset Read |
Номер начального байта значения в принятом 8 байтовом пакете. |
PDO Write |
Если флаг установлен, то запись модуля по PDO. Если снято - запись по SDO. |
Name Write |
Имя параметра для записи. |
COB-ID Write |
COВ для записи. |
Offset Write |
Смещение при записи. |