Рекомендую для опроса значений температуры использовать "modbus tester 2.0.5 "
Проблема заключается в скорости запросов и ответов, разбирая данный пример:
Работая с MasterOPC Universal Modbus Server происходит следующее:
1) Записываете в регистр 46179 значение требуемой зоны
2) Опрашиваете регистр 46328 с целью получить там результат.
3) Инкрементируете значение, записываемое в регистр 46179
4) Опрашиваете регистр 46328 с целью получить там результат.
Данную последовательность действий Вы производите не дожидаясь пока С2000-ПП через протокол Орион (работающий на скорости 9600) запросит у С2000-КДЛ значение температуры и выставит в свой регистр 46328.
Пока С2000-ПП ещё не получил значение температуры на первом датчике, Вы выдаёте С2000-ПП задачу на опрос следующего датчика.
При этом С2000-ПП выставляет требуемую команду в очередь, и то, что Вы считываете в регистре 46328 уже зависит исключительно от того, насколько быстро С2000-ПП по шине Орион опросит С2000-КДЛ. При наличии большого числа приборов это заничает разное время.
Соответственно после этого очередь переполняется, и прибор в итоге выдаёт ошибки. Прошу понять производителя, данная логика работы не обусловлена желанием программиста усложнить работу, данная логика работы маленького преобразователя протокола отталкивается от скоростей и логики опроса именно С2000-КДЛ и является на самом деле простой. Хранить таблицу значений в С2000-ПП и выдавать её " на лету", к сожалению, невозможно, исходя из логики опроса системы с опросом С2000-КДЛ и возможным наличием в системе других приборов системы Орион.
Рекомендую между записью номеров зон выставить задержку. Величина задержки будет зависить и от количества датчиков, и от скорости на которой опрашиваете С2000-ПП. Как именно в данном ОРС сервере поставить задержку лучше подскажут в компании Инсат - разработчике ОРС- сервера.
Дополнительно напишу, что если в перерывах между этими задачами запросить у С2000-ПП версию прибора в регистре 46152 командой 3, два байта, то очередь задачь сброситься, это может помочь построить более правильный алгоритм работы опросчика.
По телефону техподдержка может переключить на специалиста, который поможет с данной проблемой.
– Тремасов Константин Александрович 7 лет назад
#ссылка