PDA

Просмотр полной версии : Не получается записать данные из СП270 в ТРМ201



sea
20.08.2012, 19:09
При соединении ТРМ201 с панелью СП270 считывать значения регистров получается, а вот записать в ТРМ201 не удается. Пишет "Потеря связи..."
Подскажите, в чем может быть проблема?
Ориентировался на "Пример прямого обмена панели с ТРМ202" с сайта ОВЕН http://www.owen.ru/catalog/47674334
Протокол Modbus RTU.

capzap
20.08.2012, 19:13
со стоп-битами не напутали случайно, трм202 имеет отличия

sea
20.08.2012, 19:16
со стоп-битами не напутали случайно, трм202 имеет отличия от остальной линейки

Если бы напутал, то связи вообще бы не было наверное или не так?. Считывать могу, а записать - увы. Установлены 2 стоповых бита

sea
20.08.2012, 19:17
Вот еще, в руководстве ТРМ201 запись производится по функции 0x10, а как с помощью панели ее сформировать?

capzap
20.08.2012, 19:18
а на панели тоже 2 стоповых? просто если в сети с одним стоп-битом есть прибор с 2-я, то из него читать информацию можно, а вот записывать в такой прибор я не пробовал

capzap
20.08.2012, 19:20
Вот еще, в руководстве ТРМ201 запись производится по функции 0x10, а как с помощью панели ее сформировать?

если больше одного регистра пишите, то будет писаться 16 функцией

sea
20.08.2012, 19:24
а на панели тоже 2 стоповых? просто если в сети с одним стоп-битом есть прибор с 2-я, то из него читать информацию можно, а вот записывать в такой прибор я не пробовал

На панели 2. А вот на приборе сейчас гляну, через конфигуратор этот параметр не выводится

sea
20.08.2012, 19:34
Считал с помощью панели эти регистры на ТРМ201. Протокол 1 - Modbus RTU, а стоповый бит 1. И как его изменить? Через конфигуратор неполучается, там нет этого параметра (Sbit), и с лицевой панели тоже не вводится...

capzap
20.08.2012, 19:35
можете не смотреть он фиксированный

sea
20.08.2012, 19:39
можете не смотреть он фиксированный

Да фиксированный, но не тот получается. Я подумал, если меняешь протокол, то автоматически изменяется кол-во стоповых бит

sea
20.08.2012, 19:54
Ошибся. Считывается "1", что означает 2 стоп-бита.
В чем еще может быть проблема?

sea
22.08.2012, 13:58
Подключил ТРМ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-ой функции поддержана.

sea
22.08.2012, 18:21
В режиме RTU - никак, попробуйте на ASCII - на нем запись по 10-ой функции поддержана.

Как тогда в примере работает? Если он действительно проверен на железе?

Гарчев Евгений
23.08.2012, 11:57
Пример был написан на старой версии конфигуратора V2.82 для панелей выпущенных ранее середины 2011 года, и там работала 10-я функция в режиме RTU.
Если же у Вас панель произведена после середины 2011 года и конфигуратор соответственно v.2.C.6F, то запись по 10-ой функции можно реализовать только в режиме ASCII.

sea
23.08.2012, 13:39
Ок. Тогда скажите какой я должен выбрать регистр на вкладке "Управление" объекта "Ввод данных"?
Хоть RTU, хоть ASCII перечень один и тотже:
4x
3x
PSW
PFW
PSB

Подскажите, где находится выбор именно команды по 10-ой функции?
В документации я так и не нашел. Где посмотреть можно этот аспект подробнее?

Гарчев Евгений
23.08.2012, 13:43
та или иная функция на запись либо поддержана, либо нет, нигде ее выбирать не нужно. В конфигураторе оставляете 4х.

sea
23.08.2012, 14:25
Да, по ASCII запись производится! Только DWord считывает некорректно...

sea
23.08.2012, 15:35
При считывании DWord с ТРМ201 по ASCII (может и по RTU, уже не помню) нужно менять местами байты, тогда корректно формируется число на СП270. Со строкой таже беда, для каждого регистра первый со вторым символом менять нужно.
Вообщем рубрика "Эксперименты".
Где описание работы панели по Modbus ASCII можно найти?

sea
24.08.2012, 20:37
Да, документация на панель скуповата, еще и с косяками.

Стр. 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). Та документация, которая выложена на сайте (и идет на диске с панелью оператора) на данный момент единственная.