УкраїнськаEnglishmRussian
Вхід/Новий
У темі багато повідомлень

Вопрос о ModBus


Автор Повідомлення
Повідомлення створено: 20. 03. 2013 [10:28]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"coderator" wrote:

- из-за чего ошибка?

Из-за того, что и написано, а именно не поддерживается функция ModBus 6 вашим устройством.

"coderator" wrote:

- как понимать записи "Serial.com3_in() --> 1" и "'controller2' --> 1(Serial.com3_out)"?

У Вас вообще каша в конфигурации. Вам зачем входящий транспорт и не дай бог они оба висят на одно устройстве? Документацию внимательно читайте!

"coderator" wrote:

- откуда, зачем и почему запросы "01 86 01 83 a0", да еще так много?

По предыдущей-же причине.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 20. 03. 2013 [14:41]
coderator
vitaly koubarev
Зареєстрован(а) с: 20.03.2013
Повідомлення: 3
"roman" wrote:

"coderator" wrote:

- из-за чего ошибка?

Из-за того, что и написано, а именно не поддерживается функция ModBus 6 вашим устройством.

В логе другой программы же видно, что проблем с командой 06 нет.

"roman" wrote:

"coderator" wrote:

- как понимать записи "Serial.com3_in() --> 1" и "'controller2' --> 1(Serial.com3_out)"?

У Вас вообще каша в конфигурации. Вам зачем входящий транспорт и не дай бог они оба висят на одно устройстве? Документацию внимательно читайте!

Так оно и было. Убрал входящий serial и стало всё как по маслу! :D
Каюсь, документацию читаю плохо.
Повідомлення створено: 17. 09. 2024 [16:27]
Mikl
Михайло Громадський
Зареєстрован(а) с: 09.10.2020
Повідомлення: 2
Доброго дня. Виникла проблема з ModBus TCP в OpenScada. Пыд час отримання параметра (регістра) видає помилку:
"13.Помилка відповіді сервера
r7: <EVAL>
"
Лог в закладці діагностика такий:
" Запит-> FD 4C 00 00 00 06 01 03 00 07 00 01
Помилка->13.Помилка відповіді сервера->FD 4C 00 00 00 05"

Коли в закладці Транспорти - сокети - запит задаю вручну запит і ставлю галочку очкувати таймаут, отримую правильну відповідь:
"FD 4C 00 00 00 05 01 03 02 09"
Без цієї галочки (очікування таймауту) отримую тільки порловину відповіді "FD 4C 00 00 00 05"

Таке відчуття що Скада не дочікується повної відповіді і видає помилку (або ж відповідь приходить кількома кусками). Як вирішити проблему?

Пробував приймати дані на емулятор QModMaster, все проходить норм.

Заздалегіть, дякую.
Повідомлення створено: 17. 09. 2024 [19:15]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"Mikl" wrote:

"13.Помилка відповіді сервера
r7: <EVAL>
"

Ніде таких помилок у мене немає, а пристроїв мав БАГАТО!
Напевно версія OpenSCADA древнюча!

"Mikl" wrote:

Лог в закладці діагностика такий:
" Запит-> FD 4C 00 00 00 06 01 03 00 07 00 01
Помилка->13.Помилка відповіді сервера->FD 4C 00 00 00 05"

Коли в закладці Транспорти - сокети - запит задаю вручну запит і ставлю галочку очкувати таймаут, отримую правильну відповідь:
"FD 4C 00 00 00 05 01 03 02 09"
Без цієї галочки (очікування таймауту) отримую тільки порловину відповіді "FD 4C 00 00 00 05"

Таке відчуття що Скада не дочікується повної відповіді і видає помилку (або ж відповідь приходить кількома кусками). Як вирішити проблему?

Таке відчуття, що не читаєте документацію на предмет часу символу вихідного транспорту! :)
http://oscada.org/wiki/Special:MyLanguage/Modules/Serial#Notes

Хоча це TCP, тут є розмір пакету і він його завжди чекає протягом зазначеного "очікування таймауту" скільки-б там шматків не йшло, та і така помилка про те, що даних там не надійшло взагалі — дивіться "Лог ВВ" вихідного транспорту!

І для української мови є власна частина форуму!!!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 17. 09. 2024 [20:01]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"roman" wrote:

Хоча це TCP, тут є розмір пакету і він його завжди чекає протягом зазначеного "очікування таймауту" скільки-б там шматків не йшло, та і така помилка про те, що даних там не надійшло взагалі — дивіться "Лог ВВ" вихідного транспорту!

Або це реально такий дивний пристрій, який перший шмат надсилає розміром менше 7 байтів (MBAP заголовок TCP).

Опустив планку першого шматка до 6(шести) байтів, тобто щоб у ньому обов'язково прийшов загальний розмір пакету для доочікування, а віртуальний ідентифікатор можна у наступних шматках.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 18. 09. 2024 [12:55]
Mikl
Михайло Громадський
Зареєстрован(а) с: 09.10.2020
Повідомлення: 2
Доброго дня. Реліз Openscada встановлений робочий (debian репозитарій), тиждень назад на raspberry pi 3+ . Контроллер Ардуіно, працює через ESP01.
Прикріплюю скіни логів
Вкладений файл

2024-09-18-124635_1600x900_scrot.png (Тип файлу: image/png, Розмір: 211.67 кілобайтів) — 79 завантажень
2024-09-18-124642_1600x900_scrot.png (Тип файлу: image/png, Розмір: 157.13 кілобайтів) — 72 завантажень
2024-09-18-124647_1600x900_scrot.png (Тип файлу: image/png, Розмір: 170.59 кілобайтів) — 75 завантажень
2024-09-18-124659_1600x900_scrot.png (Тип файлу: image/png, Розмір: 156.83 кілобайтів) — 75 завантажень
Повідомлення створено: 18. 09. 2024 [17:36]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"Mikl" wrote:

Доброго дня. Реліз Openscada встановлений робочий (debian репозитарій), тиждень назад на raspberry pi 3+ . Контроллер Ардуіно, працює через ESP01.

Зрозуміло, бо так себе поводити міг лише "сампаял", оскільки нормальні пристрої ЗАВЖДИ шлють через сокети першу частину із повним заголовком для будь якого протоколу. :)

Хоча у частині ModBus/TCP я це переписав на доочікування за отриманням хоча-б одного байту, як і у всіх останніх протоколах на логічному рівні.

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



1783