EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

[BugWrong] Странное поведение при опросе по модбас протоколу


Author Message
Written on: 28. 10. 2015 [11:39]
ANDMAN
Андрей Баковкин
Topic creator
registered since: 22.10.2015
Posts: 17
Создал транспорт.
Создал модуль сбора данных.
Перечень атрибутов создал такой:

R:0x64:r:P1:Параметр №1
R:0x66:r:P2:Параметр №2

Запустил и вижу странные исходящие телеграммы в порту:
1. 01-03-00-64-00-03-44-14
2. 01-03-01-00-00-01-85-F6


Как сие объяснить?
Attachment

Снимок экрана от 2015-10-28 14:23:58.png (File type: image/png, Size: 145.86 kilobytes) — 1694 downloads
Снимок экрана от 2015-10-28 14:24:10.png (File type: image/png, Size: 26.74 kilobytes) — 1623 downloads
Снимок экрана от 2015-10-28 14:27:39.png (File type: image/png, Size: 107.1 kilobytes) — 1720 downloads
Written on: 28. 10. 2015 [11:49]
ANDMAN
Андрей Баковкин
Topic creator
registered since: 22.10.2015
Posts: 17
На такой перечень атрибутов должен быть такая последовательность телеграмм:
1. 01 03 00 64 00 01 C5 D5
2. 01 03 00 66 00 01 64 15

А получается скада формирует две не правильные телеграммы.
В первой число опрашиваемых регистров вдруг с чего то стало равно 3
Во второй вообще опрашивается регистр с левым адресом.

[This article was edited 1 times, at last 28.10.2015 at 12:05.]
Written on: 28. 10. 2015 [12:42]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"ANDMAN" wrote:

R:0x64:r:P1:Параметр №1
R:0x66:r:P2:Параметр №2

Запустил и вижу странные исходящие телеграммы в порту:
1. 01-03-00-64-00-03-44-14
2. 01-03-01-00-00-01-85-F6

Как сие объяснить?

Подумайте, для начала, как оно у всех работает с таким!
А потом включайте диагностику OpenSCADA и оттуда приводите реальные дампы запросов, а не "бред" сторонних программ. Кроме того, OpenSCADA шлёт ModBus/TCP, а сторонняя программа рассказывает о ModBus/RTU!

Не ошибка!

Learn, learn and learn better than work, work and work.
Written on: 28. 10. 2015 [13:34]
ANDMAN
Андрей Баковкин
Topic creator
registered since: 22.10.2015
Posts: 17
28-10-2015 01:29:41 TCP: 'Lectus1' --> 1(Sockets.Lectus1)
Запрос -> C2 D7 00 00 00 06 01 03 00 64 00 04
Ответ -> C2 D7 00 00 00 0B 01 03 08 00 00 00 00 00 00 00
00

28-10-2015 01:29:36 TCP: 'Lectus1' --> 1(Sockets.Lectus1)
Запрос -> 3F 2B 00 00 00 06 01 03 01 00 00 01
Ошибка -> 14:Ошибка устройства: Время ожидания истекло! ->


Вот дамп запросов.

[This article was edited 1 times, at last 28.10.2015 at 13:35.]
Written on: 28. 10. 2015 [13:48]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"ANDMAN" wrote:

28-10-2015 01:29:41 TCP: 'Lectus1' --> 1(Sockets.Lectus1)
Запрос -> C2 D7 00 00 00 06 01 03 00 64 00 04
Ответ -> C2 D7 00 00 00 0B 01 03 08 00 00 00 00 00 00 00
00

28-10-2015 01:29:36 TCP: 'Lectus1' --> 1(Sockets.Lectus1)
Запрос -> 3F 2B 00 00 00 06 01 03 01 00 00 01
Ошибка -> 14:Ошибка устройства: Время ожидания истекло! ->


Ну и в чём проблема?
Наличие последнего говорит о том, что ранее вводился для опроса один регистр 0x100. Полная очистка и переформирования карты которых может быть осуществлена после перезапуска или даже отключения/включения объекта контроллера ModBus.

Learn, learn and learn better than work, work and work.
Written on: 28. 10. 2015 [13:56]
ANDMAN
Андрей Баковкин
Topic creator
registered since: 22.10.2015
Posts: 17
Вообще создаётся впечатление, что как то не всегда в БД заносятся изменения в перечне атрибутов.

Был такой перечень:

R:0x64:r:P1:Параметр №1
R:0x66:r:P2:Параметр №2

В первой телеграмме количество опрашиваемых регистров было 3, это еще понятно, групповой опрос и всё такое.
Наличие второй телеграммы с опросом регистра 0х100 пока загадка.

Затем я поменял перечень на такой:

R:0x64:r:P1:Параметр №1
R:0x67:r:P2:Параметр №2

Сохранил изменения в БД.

После этого в первая телеграмма стала такой: 01-03-00-64-00-04-05-D6 вроде всё правильно.
Вторая паразитная телеграмма так и не исчезла.


После я поменял перечень обратно на такой:

R:0x64:r:P1:Параметр №1
R:0x67:r:P2:Параметр №2

Снова сохранил изменения в БД.

И ожидал увидеть первую телеграмму такой: 01 03 00 66 00 03 E5 D4 , но нет она была снова такой : 01-03-00-64-00-04-05-D6

:bang:

И снова вторая паразитная телеграмма так и не исчезла.

Где собака зарыта?
Written on: 28. 10. 2015 [14:00]
ANDMAN
Андрей Баковкин
Topic creator
registered since: 22.10.2015
Posts: 17
Действительно, какие то изменения проходят сразу, какие то нет, что и сбило с толку.
Помог перезапуск модуля модбас.
Written on: 28. 10. 2015 [14:04]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"ANDMAN" wrote:

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

Не какие-то, а добавление производится сразу, с формированием блоков запросов. А бить или ещё как-то модифицировать блоки при удалении регистров в принципе не реально, поскольку удалённый регистр как минимум может использоваться у соседнего параметра.

Learn, learn and learn better than work, work and work.



12186