Опрашиваю ТРМ101 с ПЛК100, по RS-485, протокол Овен. Связь есть, но почему-то не передаёт значение, и выдаёт ошибку. Руководствовался списком параметров ТРМ101 отсюда http://www.owen.ru/uploads/list_para...1_v02.0021.zip
Для связи пользуюсь биб-кой OwenNet. Хочу, например, прочитать текущую уставку. Согласно списку, имя параметра SP, хэш 9107 (в 16-ричной), тип данных F24. Вызываю из биб-ки ФБ owen_get_real вот так:
owengr(
Enable:=TRUE,
Addr:=40,
AddrLen:=A8BIT,
Name:='SP',
Index:=37127,
RealType:=FLOAT24,
ComHandle:=portn,
TimeOut:=tout,
Complete=>cmpl,
Value=>zap,
wTime=>ww,
Error=>err);
(Enable:=TRUE, так как данный код стоит у меня под условным оператором, и работает, пока не получен признак завершения операции). zap обьявлена как REAL. Index = 37127 - это десятичное представление хэша 0x9107. Операция завершается без таймаута, но Value = 0, а Error = 49. Посмотрел по описанию протокола, 49 (dec) - "Размер поля данных не соответствует ожидаемому".
Что не так делаю? Правильно ли при вызове ФБ присваиваю имя параметра и индекс?


Ответить с цитированием