PDA

Просмотр полной версии : ПР200 и Modbas ASCII



Relaymen
28.08.2017, 14:09
Пр200 опрашивает 6 ТРМ202 (регистры PV1 и PV2 с плавающей запятой) по протоколу ModbasRTU, но так как у ТРМ202 имеются проблемы с работой по протоколу ModbasRTU (которые не раз обсуждались на этом форуме) то через некоторое время происходит зависание. В связи с этим решил перейти на ModbasASCII, Изменил протокол на ТРМ, перезагрузил их, сменил протокол на ПР, настроено скорость 9600, биты данных 7, стоп бит 2, четность none, старшим регистром вперед. Судя по светодиодам опрос ТРМ идет а данные на экране =0,00, перепробовал уже все комбинации галочек старшим регистром вперед и старшим байтом вперед. В чем может быть проблема?32864

Василий Кашуба
28.08.2017, 15:18
Пр200 опрашивает 6 ТРМ202 (регистры PV1 и PV2 с плавающей запятой) по протоколу ModbasRTU, но так как у ТРМ202 имеются проблемы с работой по протоколу ModbasRTU (которые не раз обсуждались на этом форуме) то через некоторое время происходит зависание. В связи с этим решил перейти на ModbasASCII, Изменил протокол на ТРМ, перезагрузил их, сменил протокол на ПР, настроено скорость 9600, биты данных 7, стоп бит 2, четность none, старшим регистром вперед. Судя по светодиодам опрос ТРМ идет а данные на экране =0,00, перепробовал уже все комбинации галочек старшим регистром вперед и старшим байтом вперед. В чем может быть проблема?32864
Не знаю, совпадают ли настройки ТРМ и ПР, но в настройках ПР не все параметры заданы. Посмотрите на скрин.
32866

Relaymen
28.08.2017, 15:35
Не знаю, совпадают ли настройки ТРМ и ПР, но в настройках ПР не все параметры заданы. Посмотрите на скрин.
32866

так вы не выделили ни одной переменной, настройки чего оно должно показывать??32869

Василий Кашуба
28.08.2017, 17:39
так вы не выделили ни одной переменной, настройки чего оно должно показывать??32869
ВЫ в один и тот же регистр пишете из двух мест. Во входные регистры можно только писать, а из выходных читать, для вашего случая регистр 520, а не 4105

Relaymen
29.08.2017, 08:44
ВЫ в один и тот же регистр пишете из двух мест. Во входные регистры можно только писать, а из выходных читать, для вашего случая регистр 520, а не 4105

Во первых, записи в один регистр из двух мест нигде не происходит (так как редактирование на экране не разрешено), во во вторых, на экран выводится значение переменной считанной из регистра 4105, и оно записывается в регистр 520 для отправки на скаду и в третьих в режиме ModbasRTU всё прекрасно работает, а в режиме ModbasASCII не хочет

Relaymen
30.08.2017, 11:45
Может кто нибудь из специалистов фирмы ОВЕН ответит, почему ПР200 по протоколу ModbasRTU считывает и выводит на экран данные с ТРМ202 а по протоколу ModbasASCII нет??

Ревака Юрий
30.08.2017, 12:54
но так как у ТРМ202 имеются проблемы с работой по протоколу ModbasRTU (которые не раз обсуждались на этом форуме) то через некоторое время происходит зависание. 32864

Добрый день, у Вас это зависание проявляется на данном приборе или решили сработать на опережение, дело в том, что начиная с некоторого периода в ТРМ202 была обновлена прошивка и это должно было решить проблему связи , какой серийный номер прибора?.

Relaymen
30.08.2017, 14:05
Добрый день, у Вас это зависание проявляется на данном приборе или решили сработать на опережение, дело в том, что начиная с некоторого периода в ТРМ202 была обновлена прошивка и это должно было решить проблему связи , какой серийный номер прибора?.

Это зависание проявляется на ТРМ выпуска 2015 года ,и не одном, производилась замена ТРМ, результат тот же, только очень интересная особенность, когда ТРМ202 в цепи 5 штук, всё работает более менее стабильно, а когда 6 обязательно зависает, через час, 2, 3, максимум через 5

Relaymen
30.08.2017, 14:10
Но меня больше интересует почему ПР200 при использовании ModbasASCII не отображает считанные переменные. и вообще кто нибудь раньше пробовал считывать с помощью ПР200 по протоколу ModbasASCII данные формата float с какого либо модуля аналогового ввода?? И с каким результатом. Может это просчет какой то в прошивке ПР?? Потому что я пробовал это сделать уже на 2 ПР200 и всё равно не получается

Ревака Юрий
30.08.2017, 14:34
Но меня больше интересует почему ПР200 при использовании ModbasASCII не отображает считанные переменные. и вообще кто нибудь раньше пробовал считывать с помощью ПР200 по протоколу ModbasASCII данные формата float с какого либо модуля аналогового ввода?? И с каким результатом. Может это просчет какой то в прошивке ПР?? Потому что я пробовал это сделать уже на 2 ПР200 и всё равно не получается

По ПР200 попробую проверить режим ASCII, что касается ТРМ, его можно в сервисе пере прошить на новую версию, там устранили проблемы с RTU.

Relaymen
30.08.2017, 14:56
Слишком много ТРМ придется перепрошивать. А почему ПР200 не поддерживает протокол ОВЕН?

Ревака Юрий
30.08.2017, 16:39
Но меня больше интересует почему ПР200 при использовании ModbasASCII не отображает считанные переменные. и вообще кто нибудь раньше пробовал считывать с помощью ПР200 по протоколу ModbasASCII данные формата float с какого либо модуля аналогового ввода?? И с каким результатом. Может это просчет какой то в прошивке ПР?? Потому что я пробовал это сделать уже на 2 ПР200 и всё равно не получается

Поменял протокол на ASCII в ПР200, все работает, параметры считываются как и в режиме RTU. Проверял на 2AC.

Relaymen
31.08.2017, 08:42
Поменял протокол на ASCII в ПР200, все работает, параметры считываются как и в режиме RTU. Проверял на 2AC.

А с ТРМ 202 пробовали? Можно посмотреть ваш файл проекта, может я что то неправильно делаю?

capzap
31.08.2017, 08:51
А с ТРМ 202 пробовали? Можно посмотреть ваш файл проекта, может я что то неправильно делаю?

а Вы то пробовали трмку опросить не ПР-кой а через ПК по этому протоколу?

Ревака Юрий
31.08.2017, 09:55
А с ТРМ 202 пробовали? Можно посмотреть ваш файл проекта, может я что то неправильно делаю?

Я взял готовый шаблон на 2AC, поменял в проекте RTU на ASCII и увидел что ничего не изменилось, в модуле вообще ничего не делал, там автоопределение.

Ревака Юрий
31.08.2017, 10:01
А с ТРМ 202 пробовали? Можно посмотреть ваш файл проекта, может я что то неправильно делаю?

Возможно дело в настройках времен ответов, таймаутов, и если в RTU все работает то в ASCII не укладывается во временной отрезок.

Relaymen
31.08.2017, 10:06
Пробовал, ПК читает без проблем по обоим протоколам

Relaymen
31.08.2017, 10:07
Возможно дело в настройках времен ответов, таймаутов, и если в RTU все работает то в ASCII не укладывается во временной отрезок.

Может быть, попробую увеличить

capzap
31.08.2017, 10:15
Пробовал, ПК читает без проблем по обоим протоколам

тогда поставте снифер на ПК и посмотрите лог запросов ответов между ПР и трм, сразу станет ясно кто виноват в данной ситуации

ЗЫ возможно стоит перейти на версию 1.9 лоджика, может проблемы в той версии что используете

Relaymen
31.08.2017, 13:20
тогда поставте снифер на ПК и посмотрите лог запросов ответов между ПР и трм, сразу станет ясно кто виноват в данной ситуации

Вот чего нет того нет


ЗЫ возможно стоит перейти на версию 1.9 лоджика, может проблемы в той версии что используете
Пробовал и через 1.8 программировать и через 1.9, результат неизменен

capzap
31.08.2017, 13:33
Вот чего нет того нет
это просто http://www.owen.ru/forum/showthread.php?t=4261&p=255604&viewfull=1#post255604
в одну сеть подключаетесь ПР - трм202 - ПК, запускаете программу в окне монитора включаете raw режим и смотрите что "сыпется" в сети между пркой и трмкой

Relaymen
31.08.2017, 16:24
Вот что получается.
В режиме ModbasRTU

ПК-ТРМ
запрос- 40 03 10 09 00 04 9F DA
ответ - 40 03 08 41 D7 50 00 44 75 10 00 A2 A1

ПР200-ТРМ
запрос- 40 03 10 09 00 02 1F D8
ответ - 40 03 04 41 D6 00 00 5E
запрос- 40 03 10 0B 00 02 BE 18
ответ - 40 03 04 44 75 08 00 A9

Разница только в том что ПР читает каждый тег отдельно а ПК оба сразу

В режиме ModbasASCII

ПК-ТРМ
запрос- 3A 34 30 30 33 31 30 30 39 30 30 30 34 41 30 0D 0A (Перевел из кодов ascii- :400310090004A0 CR LF )
ответ - 40 03 08 41 D8 CF 00 44 75 20 00 F4

ПР200-ТРМ
запрос- 400310090002A2 CR LF
ответ - 40030441CF500059 CR LF

Запрос ПР очень похож на запрос в режиме ModbasRTU, в отличии от запроса ПК, и как это понимать???

capzap
31.08.2017, 16:36
Значит виновата ПР,а у Юрия раз модуль автоматом определяет протокол, продолжает работать на рту, хотя контрольные суммы и разные. Одно видно точно, нет начального символа

Relaymen
31.08.2017, 16:38
Посмотрим что на это ответит Юрий

Ревака Юрий
31.08.2017, 16:45
Ситуация странная, я сейчас скачал Ваш файл из первого сообщения, загрузил в ПР200 и через AC4 посмотрел на ПК что запрашивает ПР по 2 порту вижу такую картину:

Мой ПР200 отправляет запросы в ASCII, либо неисправность в самом ПР200 или есть еще какая-то особенность, подумаем еще. А нет другого ПР200 для проверки?.

capzap
31.08.2017, 16:57
Тогда повторюсь, имеет смысл сравнить версии ОЛ и пошивки залитой вПР

Ревака Юрий
31.08.2017, 16:59
Тогда повторюсь, имеет смысл сравнить версии ОЛ и пошивки залитой вПР

Я загружал из 1.8.93, вроде как проект тоже в этой версии делался. Хотя нет, из файла это не видно, тогда жду версию OL на котором проводятся опыты.

Relaymen
01.09.2017, 08:42
Я загружал из 1.8.93, вроде как проект тоже в этой версии делался. Хотя нет, из файла это не видно, тогда жду версию OL на котором проводятся опыты.

Изначально проект делался нв 1.8, потом для опытов была взята вторая ПР и на ней проверялись варианты как с ОЛ1.8 так и с ОЛ1.9.

capzap
01.09.2017, 08:46
Изначально проект делался нв 1.8, потом для опытов была взята вторая ПР и на ней проверялись варианты как с ОЛ1.8 так и с ОЛ1.9.

последние цифры какие, после восьмерки и девятки?

Relaymen
01.09.2017, 08:51
Ситуация странная, я сейчас скачал Ваш файл из первого сообщения, загрузил в ПР200 и через AC4 посмотрел на ПК что запрашивает ПР по 2 порту вижу такую картину:

Мой ПР200 отправляет запросы в ASCII, либо неисправность в самом ПР200 или есть еще какая-то особенность, подумаем еще. А нет другого ПР200 для проверки?.

В процессе разбора я заметил что не учел особенностей программ из которых брал данные так что тут

В режиме ModbasASCII

ПК-ТРМ
запрос- 3A 34 30 30 33 31 30 30 39 30 30 30 34 41 30 0D 0A (Перевел из кодов ascii- :400310090004A0 CR LF )
ответ - 40 03 08 41 D8 CF 00 44 75 20 00 F4

ПР200-ТРМ
запрос- 400310090002A2 CR LF
ответ - 40030441CF500059 CR LF
есть не точность, я в общении ПР и ТРМ пропустил двоеточия. В логах это выглядит так:
ПК-ТРМ
port: COM1 Tx Tx, size: 17, data:[3A 34 30 30 33 31 30 30 39 30 30 30 34 41 30 0D 0A ]
port: COM1 Rx Rx, size: 12, data:[40 03 08 41 D8 CF 00 44 75 20 00 F4 ]

ПР-ТРМ
Receive Count: 17
REC: :400310090002A2 CR LF
Receive Count: 19
REC: :40030441CF0700A2 CR LF
Slave ID: 64

Ревака Юрий
01.09.2017, 09:11
Изначально проект делался нв 1.8, потом для опытов была взята вторая ПР и на ней проверялись варианты как с ОЛ1.8 так и с ОЛ1.9.

Получается на двух ПР200 одинаковое поведение?

Relaymen
01.09.2017, 10:00
последние цифры какие, после восьмерки и девятки?

1.8.93.7745
1.9.141.11543

Relaymen
01.09.2017, 10:08
Получается на двух ПР200 одинаковое поведение?

Да, единственное объяснение получается то, что ПР не понимает того что ей отвечает ТРМ. Меня смущает длинна ответа ТРМ ПРке, 19 байт, не длинновато ли для одной переменной типа float?

Я в данный момент мучаю вот эти два проекта

Relaymen
01.09.2017, 10:33
Ответ ТРМ ПК выглядит так 40 03 08 41 D8 CF 00 44 75 20 00 F4 , Если отбросить адрес , функцию, контрольную сумму, то поучится это [40 03] {08 41 D8 CF 00 44 75 20} [00 F4] 8 байт, но тут запрашивается 4 регистра то есть 2 числа формата float
а ответ ТРМ ПР выглядит так :40030441CF0700A2 CR LF, и если отбросить лишнее, то получится это [:4003]{04 41 CF 07} [00A2] [CR LF] 4 байта, 2 регистра, 1 число формата float, вроде все правильно, но что то не так

capzap
01.09.2017, 10:45
Да, единственное объяснение получается то, что ПР не понимает того что ей отвечает ТРМ. Меня смущает длинна ответа ТРМ ПРке, 19 байт, не длинновато ли для одной переменной типа float?

Я в данный момент мучаю вот эти два проекта

сможете послать с ПРки не в трм а на ПК в симулятор слейва, тогда выбор кто виноват еще конкретнее станет

Ревака Юрий
01.09.2017, 11:02
Ответ ТРМ ПК выглядит так 40 03 08 41 D8 CF 00 44 75 20 00 F4 , Если отбросить адрес , функцию, контрольную сумму, то поучится это [40 03] {08 41 D8 CF 00 44 75 20} [00 F4] 8 байт, но тут запрашивается 4 регистра то есть 2 числа формата float
а ответ ТРМ ПР выглядит так :40030441CF0700A2 CR LF, и если отбросить лишнее, то получится это [:4003]{04 41 CF 07} [00A2] [CR LF] 4 байта, 2 регистра, 1 число формата float, вроде все правильно, но что то не так

Так все эти посылки не ASCII, я уже запутался с чем мы боремся;) с правильным форматом или с тем что ПР200 не работает в режиме ASCII, с Вами через TeamViewer можно связаться?

Relaymen
01.09.2017, 11:47
Так все эти посылки не ASCII, я уже запутался с чем мы боремся;) с правильным форматом или с тем что ПР200 не работает в режиме ASCII, с Вами через TeamViewer можно связаться?

Это данные из логов программ, видимо они сами переводят из ASCII в HEX. У меня нет TeamViewer, да и компьютер на котором производится работа с ПР не подключен к сети. Политика руководства

Relaymen
01.09.2017, 14:00
сможете послать с ПРки не в трм а на ПК в симулятор слейва, тогда выбор кто виноват еще конкретнее станет

Попробовал, так же как и с ТРМ, обмен данными идет, а на экране Нули

capzap
01.09.2017, 14:14
ПР-ТРМ
Receive Count: 17
REC: :400310090002A2 CR LF
Receive Count: 19
REC: :40030441CF0700A2 CR LF
Slave ID: 64 когда писали этот текст на экране трм были эти показания - 25,87841796875?

Ревака Юрий
01.09.2017, 14:22
Попробовал, так же как и с ТРМ, обмен данными идет, а на экране Нули

В архиве 2 эмулятора для Slave и Master. Схема следующая: ПР200 порт RS(Master ASCII)-->AC4 или любой USB-RS485 преобразователь--> ПК(запускаем Modbus Slave, Connection, выбираем №COM преобразователя, режим ASCII и настройки как у ПР200 (четность и все остальное), затем Setup там выбираем номер слейва куда мы обращаемся из ПР200 выбираем адресацию и кол-во регистров, далее пробуем изменять значения в соответствующих ячейках и смотрим изменения на экране ПР200, так же смотрим лог обмена Display-->Communication, картинку обмена сюда.

Ревака Юрий
01.09.2017, 14:24
Попробовал, так же как и с ТРМ, обмен данными идет, а на экране Нули

Кстати, на экран Вы выводите непосредственно сетевые переменные или через внутренние, попробуйте через внутренние.

Relaymen
01.09.2017, 14:39
когда писали этот текст на экране трм были эти показания - 25,87841796875?

на трм было 25,8

Relaymen
01.09.2017, 14:40
Кстати, на экран Вы выводите непосредственно сетевые переменные или через внутренние, попробуйте через внутренние.

Сначала выводил сетевые, потом сделал вывод внутренних

capzap
01.09.2017, 14:44
на трм было 25,8

значит "играться" остается с последовательностью байт,типа трм отправляет 2,1,4,3 а на данный момент ПР формирует флоат оп последовательности 3,4,1,2

Relaymen
01.09.2017, 16:21
Чет фигня какая то получается

Relaymen
01.09.2017, 16:28
значит "играться" остается с последовательностью байт,типа трм отправляет 2,1,4,3 а на данный момент ПР формирует флоат оп последовательности 3,4,1,2

я уже все 4 варианта перепробовал, и 1,2,3,4 и 4,3,2,1 и 3,4,1,2 и 2,1,4,3.

Ревака Юрий
01.09.2017, 17:41
я уже все 4 варианта перепробовал, и 1,2,3,4 и 4,3,2,1 и 3,4,1,2 и 2,1,4,3.

Такое впечатление, что вариант с 7N2 не проходит, вариант 8N1 работает.

Relaymen
04.09.2017, 08:40
Такое впечатление, что вариант с 7N2 не проходит, вариант 8N1 работает.
Вы правы с 8N1 работает, а 7N2 нет, получается что это недостаток прошивки ПР200?

Ревака Юрий
04.09.2017, 09:17
Вы правы с 8N1 работает, а 7N2 нет, получается что это недостаток прошивки ПР200?

Я буду уточнять этот момент.

Relaymen
04.09.2017, 11:59
Все бы ничего, но у ТРМ202 для ModbasASCII предустановлена конфигурация 7N2 и поменять ее невозможно ни в ручную ни через конфигуратор

Ревака Юрий
05.09.2017, 09:03
Все бы ничего, но у ТРМ202 для ModbasASCII предустановлена конфигурация 7N2 и поменять ее невозможно ни в ручную ни через конфигуратор

Добрый день, похоже что для работы ТРМ202 и ПР200 прийдеться перепрошить ТРМ на последнюю прошивку для работы по RTU, так как по информации от разработчиков режим ASCII 7N2 не поддержан в процессоре.

Relaymen
05.09.2017, 09:35
Добрый день, похоже что для работы ТРМ202 и ПР200 прийдеться перепрошить ТРМ на последнюю прошивку для работы по RTU, так как по информации от разработчиков режим ASCII 7N2 не поддержан в процессоре.

И какая версия прошивки ТРМ последняя? У моих ТРМ версия 3.01. И тогда почему OL позволяет такие настройки если они не поддерживаются процессором ПР??

Relaymen
05.09.2017, 09:51
Тем более что в этой теме http://www.owen.ru/forum/showthread.php?t=26112&p=245510&viewfull=1#post245510 пишут что новая прошивка не помогла

Ревака Юрий
05.09.2017, 10:04
И какая версия прошивки ТРМ последняя? У моих ТРМ версия 3.01. И тогда почему OL позволяет такие настройки если они не поддерживаются процессором ПР??

Мне сообщили что прошивка 3.0, возможно у Вас последняя, тогда надо смотреть в чем еще проблема, если это то что описывалось 5 приборов работает а при добавлении шестого зависает, возможно не хватает отведенного времени на обмен, уменьшить интервал опроса.

Relaymen
11.09.2017, 09:00
Безтолку, я их уже и на 2 ветки разделил, все равно через некоторое время зависают, раньше или позже. Разработчики не думают для пр200 сделать поддержку протокола ОВЕН?

Ревака Юрий
11.09.2017, 09:09
Безтолку, я их уже и на 2 ветки разделил, все равно через некоторое время зависают, раньше или позже. Разработчики не думают для пр200 сделать поддержку протокола ОВЕН?

Пока в планах такого нет. А зависают как, все приборы сразу или какой-то один, или каждый раз разные, ПР200 при этом работает, какая длина интерфейса, какая ЭМС обстановка на объекте, возможно сбои связаны с пуском мощной нагрузки.

capzap
11.09.2017, 09:09
Безтолку, я их уже и на 2 ветки разделил, все равно через некоторое время зависают, раньше или позже. Разработчики не думают для пр200 сделать поддержку протокола ОВЕН?

modbus ASCII такой же символьный протокол как и ОВЕН, не зависящий от временных задержек. Легче дождаться, когда поправят сетевые настройки, чем добавлять реализацию нового протокола