Сообщение от
Мастеренко Иван
Уточните версию прошивки модуля.
Версия встроенного ПО:
Код:
Запрос 10 03 00 04 00 02
86 8B
10 03 04 31 2E 32 36
00 B1
(строка 1.26)
Сообщение от
Мастеренко Иван
Функцией 03 регистр 0x0010 считывается верно?
Да, функцией 03 считываются адекватные данные и по этому, и по другим регистрам, согласно спецификации.
Например:
(Считывание названия прибора):
Код:
Запрос: 10 03 00 00 00 04
47 48
Ответ:
10 03 08 CC DD 31 31 30 2D 33 CC
36 AA
(строка МЭ110-3М6Є в кодировке win-1251)
(Считывание регистра 0x10):
Код:
Запрос: 10 03 00 10 00 01
86 8E
Ответ: 10 03 02 00 70
45 A3
При попытке записать регистры (функции 06 и 16), предназначенных только для чтения, или при попытке обращения к несуществующим регистрам возвращается ошибка 1 («Illegal function»). Так как читаете регистр статуса, то писать в него нельзя.
Попробуйте другой ОРС-сервер, в котором можно выставить только чтение.
C системой мы разобрались, настроили ее для использования функции 03.
Но все равно остался один вопрос и появился один новый вопрос.
1. То, что не работает функция 04 -- это ошибка в документации (она там упомянута по ошибке) или в прошивке прибора?
2. Для регистра 0x10 ("Байт статуса") было замечено, что биты 4, 5 и 6 (выход за границу диапазона фазы A, B и C) всегда установлены в 1 независимо от подачи напряжения на входные клеммы. При этом, индикаторы на панели прибора горят непрерывно и индикатор "авария" на панели прибора не горит. Если подавать сигнал только на одну клемму (например, индикатор "UA" горит постоянно, а индикаторы "UB" и "UC" мигают), то все равно, значение всех битов 4, 5 и 6 -- единица.
В чем здесь (по вопросу 2) может быть проблема? Ошибка в прошивке прибора?