Просмотр полной версии : Не получается записать данные из СП270 в ТРМ201
При соединении ТРМ201 с панелью СП270 считывать значения регистров получается, а вот записать в ТРМ201 не удается. Пишет "Потеря связи..."
Подскажите, в чем может быть проблема?
Ориентировался на "Пример прямого обмена панели с ТРМ202" с сайта ОВЕН http://www.owen.ru/catalog/47674334
Протокол Modbus RTU.
со стоп-битами не напутали случайно, трм202 имеет отличия
со стоп-битами не напутали случайно, трм202 имеет отличия от остальной линейки
Если бы напутал, то связи вообще бы не было наверное или не так?. Считывать могу, а записать - увы. Установлены 2 стоповых бита
Вот еще, в руководстве ТРМ201 запись производится по функции 0x10, а как с помощью панели ее сформировать?
а на панели тоже 2 стоповых? просто если в сети с одним стоп-битом есть прибор с 2-я, то из него читать информацию можно, а вот записывать в такой прибор я не пробовал
Вот еще, в руководстве ТРМ201 запись производится по функции 0x10, а как с помощью панели ее сформировать?
если больше одного регистра пишите, то будет писаться 16 функцией
а на панели тоже 2 стоповых? просто если в сети с одним стоп-битом есть прибор с 2-я, то из него читать информацию можно, а вот записывать в такой прибор я не пробовал
На панели 2. А вот на приборе сейчас гляну, через конфигуратор этот параметр не выводится
Считал с помощью панели эти регистры на ТРМ201. Протокол 1 - Modbus RTU, а стоповый бит 1. И как его изменить? Через конфигуратор неполучается, там нет этого параметра (Sbit), и с лицевой панели тоже не вводится...
можете не смотреть он фиксированный
можете не смотреть он фиксированный
Да фиксированный, но не тот получается. Я подумал, если меняешь протокол, то автоматически изменяется кол-во стоповых бит
Ошибся. Считывается "1", что означает 2 стоп-бита.
В чем еще может быть проблема?
Подключил ТРМ201 к ПЛК, считываю, записываю все что нужно из возможного (и тип прибора, и версия прошивки).
Чтение по функции 03, запись - 10 (как в руководстве ТРМ и написано). Все ОК. Если меняю соответственно на 04 и 06 - не работает.
А панель считывает данные по функции 04 (выставлено "4х – запрос к ПЛК будет производиться по функции 0х04"), если ставишь "3х – запрос к ПЛК будет производиться по функции 0х03" происходит потеря связи.
Выдержки из документации на панель http://www.owen.ru/uploads/re_rp_sp200.pdf.
Вот с этим не понятно!
"При записи значения регистра в ПЛК панель формирует посылку с функцией записи 0х06, или с функцией 0х05 – если необходимо записать значение бита."
Тогда как сформировать с помощью СП270 запрос с нужно для ТРМ201 функцией 0х10?
ПЛК с ТРМ соединен по RS-485. Панель (Master), ПЛК (Slave) по RS-232. В последней связке все работает, на прямую СП270 c ТРМ201 нет!
Подскажите, что не так!
Может на вкладке "Вид" объекта "Ввод данных" я выставляю не тот формат и длину? Пробовал разное и по примеру один в один...
Гарчев Евгений
22.08.2012, 15:32
Тогда как сформировать с помощью СП270 запрос с нужно для ТРМ201 функцией 0х10?
В режиме RTU - никак, попробуйте на ASCII - на нем запись по 10-ой функции поддержана.
В режиме RTU - никак, попробуйте на ASCII - на нем запись по 10-ой функции поддержана.
Как тогда в примере работает? Если он действительно проверен на железе?
Гарчев Евгений
23.08.2012, 11:57
Пример был написан на старой версии конфигуратора V2.82 для панелей выпущенных ранее середины 2011 года, и там работала 10-я функция в режиме RTU.
Если же у Вас панель произведена после середины 2011 года и конфигуратор соответственно v.2.C.6F, то запись по 10-ой функции можно реализовать только в режиме ASCII.
Ок. Тогда скажите какой я должен выбрать регистр на вкладке "Управление" объекта "Ввод данных"?
Хоть RTU, хоть ASCII перечень один и тотже:
4x
3x
PSW
PFW
PSB
Подскажите, где находится выбор именно команды по 10-ой функции?
В документации я так и не нашел. Где посмотреть можно этот аспект подробнее?
Гарчев Евгений
23.08.2012, 13:43
та или иная функция на запись либо поддержана, либо нет, нигде ее выбирать не нужно. В конфигураторе оставляете 4х.
Да, по ASCII запись производится! Только DWord считывает некорректно...
При считывании DWord с ТРМ201 по ASCII (может и по RTU, уже не помню) нужно менять местами байты, тогда корректно формируется число на СП270. Со строкой таже беда, для каждого регистра первый со вторым символом менять нужно.
Вообщем рубрика "Эксперименты".
Где описание работы панели по Modbus ASCII можно найти?
Да, документация на панель скуповата, еще и с косяками.
Стр. 29-30:
"4х – запрос к ПЛК будет производиться по функции 0х04 (Read Input Registers);
3х – запрос к ПЛК будет производиться по функции 0х03 (Read Holding Registers)"
А вот на сайте в разделе FAQ:
"СП270 поддерживает, следующие функции Modbus:
Для регистров:
Чтение при установке в поле регистр 4х - 3(hex) функция, при установке 3х - 4(hex)
Запись 1(word) или 2(dword) регистров -10 (hex).
Для бит:
Чтение, при установке в поле регистр 0х - 1(hex) функция, при установке 1х - 2(hex). 5 - запись."
Хорошо хоть работает по одному из этих вариантов (по второму больше).
Где найти свежую документацию на СП270?!
Гарчев Евгений
27.08.2012, 14:31
Для чтения переменной типа DWord всегда необходимо менять регистры местами (не зависимо от режима ASCII или RTU). Та документация, которая выложена на сайте (и идет на диске с панелью оператора) на данный момент единственная.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot