ТРМ Настроен на работу по статической уставке. Если работаю через конфигуратор то запись проходит.
ТРМ Настроен на работу по статической уставке. Если работаю через конфигуратор то запись проходит.
какой код ошибки возвращает запись?
код ошибки 3
03 — Значение, содержащееся в поле данных запроса, является недопустимой величиной. стандартный код ошибки протокола. покажите какие данные пишите и как формируете буфер на запись ,что то я его не увидел в коде
Код:3: SPbuffer[0]:=10; master1:=4; 4: Wr_Modbus ( Enable:=TRUE , (* разрешение работы блока *) Mode:=MB_RTU , (*режим передачи*) DevAddr:=5 , (*адрес*) FirstAddr:=4 , Quantity:= 1, ComHandle:=com_settings.Port , (*номер COM-порта*) TimeOut:=t#200ms , (*Таймаут T#50ms*) Complete=>cmpl , (* скопировать признак завершения операции *) Exception=>err, (* скопировать регистр ошибок *) Buffer:=SPbuffer, ); IF cmpl THEN master1:=5; END_IF
SPbuffer - массива байт или слов?
а SPbuffer[1] чему равен?
чему равны нижняя и верхняя границы уставки в приборе?
P.s. можете приложить лог обмена при записи?
приложите объявление блока Wr_Modbus
Последний раз редактировалось Трофимов Артем; 07.08.2018 в 15:43.
Прикладываю3:
хорошо, запишите принудительно в SPbuffer[1] := 0;
смещения десятичной точки как настроено в ТРМ?
Границы +10...70, смещение на 1 разряд.
P.S. Все заработало, видимо в границах диапазона была проблема.
Спасибо большое.
Последний раз редактировалось Andrew_Stranger; 07.08.2018 в 16:11.
Еще вопрос. При опросе уставки и измеренного значения ТРМ212 приходят периодически неправильные показания. Ранее на форуме писали что надо корректировать библиотеку, но это не дало результатов.