Есть группа каналов типа OUTPUT, которую нужно переслать в панель для индикации. Панель поддерживает команду 16. Состояние каналов (их источников) меняется достаточно хаотично. Как сделать, чтобы каналы отработали раз в 10 сек. (к примеру), единовременно? Прокладка - ОРС-сервер Лектус, если что.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В интерфейсе OPC нет групповых команд записи. При работе через OPC-сервер строгую синхронизацию всех команд реализовать нельзя. Modbus-команда групповой записи реализуется OPC-сервером на полевой шине. В этих условиях гарантировать строгую посылку среза значений по всем регистрам нельзя.
Если работать через встроенный в Trace Mode 6 Modbus-драйвер (без OPC-прокладки), синхронная групповая запись всех регистров реализуется достаточно просто (см. "Канал CALL.ChGroupReq/Привязка источника MODBUS чтения или записи"). Если к CALL.ChGroupReq OUTPUT привязан источник-команда 16 MODBUS OUTPUT, канал шлет значения всех своих аргументов одновременно по взведению его атрибута 39 (EXEC).