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
|
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.
|