PDA

Просмотр полной версии : ТРМ101 как считать параметр r-S по RS-485



Friencis
24.11.2010, 12:45
Здравствуйте.
Имеется ТРМ101 6 штук. Запуск/останов регулирования осуществляется внешними контактами.
Требуется записывать в базу данных значение параметра r-S по RS-485 (помимо температуры и уставки) из программы на Delphi, используя библиотеку owen_io.dll.
Конфигуратор его читает. EdPt = Off.
Скажите, как сформировать запрос, если адрес первого прибора - 1 ?
Например ReadUInt(ADRTYPE_8BIT, 1, 'r-S', rS, 1), где rS: Cardinal дает ошибку "Устройство не отвечает". Порт открыт, уставка и температура читается.
Спасибо.

Малышев Олег
24.11.2010, 14:08
увеличивайте таймаут ожидания - есть такая функция - не помню как называется. не знаю как сейчас, но на первых трм101 нужно было ставить 160 мс. тормозит в данном случае сам прибор - ничего с этом сделать нельзя.

Friencis
24.11.2010, 14:47
Эксперименты с таймаутом результата не дали. Циклический перебор адреса и индекса (for Addr:=0 to 5 do for Ind:=-1 to 5 do Begin ... i:=ReadUInt(ADRTYPE_8BIT, Addr, 'r-S', rS, Ind) ... Sleep(200) ... end; ) тоже безрезультатно.
За ответ спасибо.

Friencis
24.11.2010, 15:02
Всё получилось!
Надо было использовать функцию ReadSInt(), Addr = 1; Ind = -1.
Вопрос исчерпан.

Maxis
20.12.2010, 01:00
Привет всем. Хочу считать данные с ТРМ101, как и автор этой темы, использовал ReadSInt(ADRTYPE_8BIT, Addr, 'r-S', rS, Ind), Addr = 1; Ind = -1.

перебрал все адреса, выдает ошибку: устройство не отвечает.
Использовал ф-ю ReadUInt с перебором адресов, тот же результат.

Используется AC4 для связи с ПК, завязано 2 прибора - ТРМ101 и ТРМ-200. Как я понял ТРМ 101 использует протокол Овен, поэтому работаю с ним из вашей библиотеки

Малышев Олег
20.12.2010, 11:55
по умолчанию на обоих приборах адреса 16 - и (как мне кажется)в обоих есть такой параметр. если оба прибора одновременно отвечают - в линии будут помехи. задайте разные адреса приборам.

Maxis
20.12.2010, 22:17
Считываю конфигуратором с ТРМ101. Все нормально считывается. ТРМ200 не видится конфигуратором вообще, т.к. сидит на MODBUS-e, насколько я понимаю. Адрес ТРМ101 установлен 0. В программе на с++ же все равно PV не могу считать...

Maxis
20.12.2010, 22:22
все сработало. сам дурак) (опечатался в адресе). и еще сконфигурировал прибор теми же параметрам, как у меня использовано в программе (скорость чтения). также выставил протокол овен для трм200 и считал параметр. всем спасибо