PDA

Просмотр полной версии : ТРМ138 и Modbus-ASCII



Марат
18.03.2013, 07:54
Добрый день.
Выполняю подключение ТРМ138 по Mobus-ASCII к своей программе.
Возникло множество вопросов, не отраженных в документации:
1. Не смотря на указания в ТД, считывать уставки получается только из "Уставка оперативная суммарная" (0х0012...). Чтение из "Уставка" (0х0010..) вызывает ответ "Не допустимый адрес". Почему так? И в чем различие между этими двумя уставками?
2. Записать значение, наоборот, удается только в "Уставка" (0х0010..). При этом возникает множество странностей.
Во первых, не смотря на то, что прибор успешно и сразу сообщает. что значение принял и все ОК, записанное значение "проявляется" через некоторое, не определенное время - от 30 секунд до 2 минут! Если это время цикла программы в приборе (согласно протокола Modbus), то почему оно всегда разное?
Во вторых, Иногда!!!! уставка просто меняется на новое значение, иногда сначала сбрасывается в "0" и только потом устанавливает записанное значение.
В третьих, иногда!!! в уставке прописываются не пересылаемые значения, а некая разность. Например, от записываемого в уставку №2 отнимается число 22, от записываемого в уставку №3 отнимается число 33, от записываемого в уставку №4 отнимается число 44. А от записываемого в уставку №8 отнимается число 952!!!! Это вообще не понятно!!
Вообще, хотелось бы иметь настоящую документацию по обмену на Modbus. То, что указано в Рук.по эксп. совсем не верно, как оказывается.
С уважением Марат.

Иван Михайлов
20.03.2013, 10:29
Как насчёт ТРМ138 не знаю, но с ТРМ202 происходят похожие проблемы при работе с уставками. Как то я пытался наладить связь с ТРМ202 для записи и чтения уставок, именно по MODBUS ASCII. MODBUS ASCII я выбрал, потому что OWEN MODBUS SERVER на MODBUS RTU работать стабильно отказался - постоянно вылетал FATAL ERROR, а на MODBUS ASCII как не странно работал нормально.
Так вот, ничего хорошего из этой затеи у меня тоже не получилось. Записать уставку в ТРМ вобще не получилось при любом протоколе, а на MODBUS ASCII ещё и чтение происходило криво с ошибками.
Проблему решил LECTUS OPC SERVER при сязи по MODBUS RTU. Всё стало работать стабильно и без проблем. Хотя тут тоже есть оговорка. Лучше скачать последнюю версию LECTUSа с сайта производителя, чем использовать ту, что даёт OWEN, так как овеновская версия опять же иногда закрывается с концами (что за проблемы у овена такие?). Лицензия подходит к обеим версиям.

Насчёт того, что после записи значение криво обновляется - да это действительно так, похоже это проблема всех ТРМ. Но этого можно избежать, если записывать значение в один канал (для чтения и записи), а считывать из другого канала (только для чтения). В ТРМ202 есть две группы каналов для уставок - для чтения и для чтения-записи. Думаю в ТРМ138 так же.

Марат
21.03.2013, 06:41
С ТРМ138 разобрался... в смысле разобрался с его косяками).
После загрузки стандартной конфигурации и последующей коррекции её под мои нужды - все заработало. Работа с Modbus-ASCII совершенно корректна и устойчива... если правильно и точно установить все таймауты и задержки. Все объявленные регистры пишутся и читаются. Одна беда: в ТЭ ВСЕ регистры объявлены как чтение-запись, на самом деле половина их только на чтение, половина только за запись!! В ТЭ по этому поводу полный бред и каша. Пришлось браться за ModbusTester и проверять все в ручную. И еще серьезный недостаток: после записи нового значения уставки, она прописывается в регистрах и даже это новое значение читается, однако на индикаторе ЦИ-2 остается старая уставка, которая продолжает управлять прибором. Только через 1-50 секунд (в зависимости от цикла работы прибора, старая уставка на ЦИ-2 меняется на новую и начинает работать!!!! Интересно, зачем нужен прибор, которые реагирует на команду через НЕОПРЕДЕЛЕННОЕ, довольно большое время??!!

lunyov_i
25.03.2013, 05:52
С ТРМ138 разобрался... в смысле разобрался с его косяками).
После загрузки стандартной конфигурации и последующей коррекции её под мои нужды - все заработало. Работа с Modbus-ASCII совершенно корректна и устойчива... если правильно и точно установить все таймауты и задержки. Все объявленные регистры пишутся и читаются. Одна беда: в ТЭ ВСЕ регистры объявлены как чтение-запись, на самом деле половина их только на чтение, половина только за запись!! В ТЭ по этому поводу полный бред и каша. Пришлось браться за ModbusTester и проверять все в ручную. И еще серьезный недостаток: после записи нового значения уставки, она прописывается в регистрах и даже это новое значение читается, однако на индикаторе ЦИ-2 остается старая уставка, которая продолжает управлять прибором. Только через 1-50 секунд (в зависимости от цикла работы прибора, старая уставка на ЦИ-2 меняется на новую и начинает работать!!!! Интересно, зачем нужен прибор, которые реагирует на команду через НЕОПРЕДЕЛЕННОЕ, довольно большое время??!!

ТРМ-138 использую только для чтение - проблем нет. (ПЛК-160 читает оттуда периодически) Единственное что не нравится - это инерционность прибора по входам.