Просмотр полной версии : ТРМ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.
Вопрос исчерпан.
Привет всем. Хочу считать данные с ТРМ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 - и (как мне кажется)в обоих есть такой параметр. если оба прибора одновременно отвечают - в линии будут помехи. задайте разные адреса приборам.
Считываю конфигуратором с ТРМ101. Все нормально считывается. ТРМ200 не видится конфигуратором вообще, т.к. сидит на MODBUS-e, насколько я понимаю. Адрес ТРМ101 установлен 0. В программе на с++ же все равно PV не могу считать...
все сработало. сам дурак) (опечатался в адресе). и еще сконфигурировал прибор теми же параметрам, как у меня использовано в программе (скорость чтения). также выставил протокол овен для трм200 и считал параметр. всем спасибо
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot