Показано с 1 по 8 из 8

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

  1. #1
    Пользователь Аватар для Friencis
    Регистрация
    15.11.2010
    Адрес
    г. Бийск, инженер
    Сообщений
    23

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

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

  2. #2

    По умолчанию

    увеличивайте таймаут ожидания - есть такая функция - не помню как называется. не знаю как сейчас, но на первых трм101 нужно было ставить 160 мс. тормозит в данном случае сам прибор - ничего с этом сделать нельзя.
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  3. #3
    Пользователь Аватар для Friencis
    Регистрация
    15.11.2010
    Адрес
    г. Бийск, инженер
    Сообщений
    23

    По умолчанию

    Эксперименты с таймаутом результата не дали. Циклический перебор адреса и индекса (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 в 14:51. Причина: Уточнение

  4. #4
    Пользователь Аватар для Friencis
    Регистрация
    15.11.2010
    Адрес
    г. Бийск, инженер
    Сообщений
    23

    По умолчанию

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

  5. #5

    По умолчанию

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

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

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

  6. #6

    По умолчанию

    по умолчанию на обоих приборах адреса 16 - и (как мне кажется)в обоих есть такой параметр. если оба прибора одновременно отвечают - в линии будут помехи. задайте разные адреса приборам.
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  7. #7

    По умолчанию

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

  8. #8

    По умолчанию

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •