Добавление и настройка модулей ввода-вывода в дерево проекта
Модули ввода-вывода, как и прочие устройства, производящие интерфейсный обмен, добавляются на уровне Alpha.Domain. Предварительно необходимо добавить набор шаблонов модулей в проект, либо подключить проект библиотеки, в котором хранятся данные шаблоны. В данном примере используется первый способ, при котором шаблоны модулей являются частью проекта. Для этого необходимо импортировать элементы из приложения «ModLib».
-
Импортировать пространство имён «Target_v1» в определения объекта. Кликнуть ПКМ по ветке «Определения» → «Импортировать элементы…» → выбрать «target_v1.omx-export», закончить добавление;
Импорт пространства имён -
Добавить карты адресов модулей CAN: Кликнуть ПКМ по ветви «Файлы» → «Добавить существующий файл…». Чтобы отобразить «xml» карты адресов модулей, необходимо отобразить «Файлы с адресами».

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

Импортированные элементы в дереве проекта
Шаблоны модулей добавлены в проект. Далее необходимо создать сами модули и их представления. Для этого в элементе Domain создаются устройства, с указанием типа из добавленного пространства имён «Target_v1».

Шаблоны модулей в проекте
В каждом модуле необходимо сконфигурировать два последовательных порта. В настройках узлов указать подключение к шине. Затем добавить адаптер CANopen.

Последовательные порты и адаптер в проекте
В адаптере CANopen заполняются свойства:
-
Карта адресов – необходимо указать карту адресов из Application этого модуля;
-
Идентификатор узла в сети CANopen – номер модуля, устанавливаемый с помощью специальных переключателей на корпусе модуля;

Свойства адаптера
Добавление новых модулей можно производить в упрощенном порядке. Для этого копируется уже созданный ранее модуль, при необходимости изменяется его тип и устанавливается номер узла. Дополнительные настройки при этом не требуется, так как скопированный элемент сохраняет привязку к шинам CAN.
Чтобы карта адресов ссылалась не на конкретный экземпляр модуля, а имела статическую привязку к внутреннему приложению (Application) модуля, необходимо изменить свойство адаптера CANopen. В поле «Путь» указать значение: App.AddressMap.
При использовании абсолютного пути, например, MOD_1_AI.App.AddressMap (как показано на рисунке «Свойства адаптера»), скопированный модуль сохранит эту ссылку на исходный элемент MOD_1_AI. Это приведет к конфликту адресов и некорректному опросу новых устройств.
Использование универсального пути App.AddressMap позволяет избежать данной проблемы. В этом случае адаптер CANopen обращается к абстрактному приложению текущего модуля, что исключает зависимость от других элементов (модулей) в рамках всего проекта (Domain).
После завершения настройки привязки необходимо перейти в конфигурацию блока «Альфа Сервер» на ПЛК и с помощью мастера настройки CANopen добавить созданные модули в список опроса.

Добавление модулей в список опроса
В свойствах каждого добавленного модуля у мастеров CANopen задается параметр «Таймаут ожидания сообщения Heartbeat».

Таймаут ожидания сообщения Heartbeat