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

[BugWrong] Отчет протокола Modbus


Автор Повідомлення
Повідомлення створено: 21. 04. 2011 [13:38]
krab22
Константин Фомин
Автор теми
Зареєстрован(а) с: 22.04.2009
Повідомлення: 20
Изначально указанная проблема исчезла чудесным образом....

В процессе создания конфигурации прога падала два раза по сигналу 6

"Package: openscada-0.7.1-2.fc14
Latest Crash: Чтв 21 Апр 2011 13:58:24
Command: openscada '--Config=/home/user/\xd0\x9f\xd1\x80\xd0\xbe\xd0\xb5\xd0\xba\xd1\x82\xd1\x8b/\xd0\xad\xd0\xa1\xd0\xa1\xd0\x9e/ESSO.xml'
Reason: Process /usr/bin/openscada was killed by signal 6 (SIGABRT)
Comment: None
Bug Reports:
"
с одними и теми же симптомами

Успевал увидеть ошибку разбора CRC (модуль сбора данных, контроллер, параметры, атрибуты, ошибка)
Файл моей базы и файл из дампа прилогается
Найдено еще несколько небольших багов, но об этом в других темах
Вкладений файл

backtrace (Тип файлу: application/octet-stream, Розмір: 21.85 кілобайтів) — 1381 завантажень
Esso.db (Тип файлу: application/octet-stream, Розмір: 43 кілобайтів) — 1417 завантажень
Повідомлення створено: 21. 04. 2011 [14:34]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Операционку или железо приведите в порядок:
#0 0x0029c416 in __kernel_vsyscall ()
No symbol table info available.
#1 0x006a713b in read () from /lib/libc.so.6
No symbol table info available.
#2 0x04b6a8b2 in Serial::TTrIn::Task(void*) () from /usr/lib/openscada/tr_Serial.so
No symbol table info available.


Падает в системной функции read(). Похоже всё остальное ягоды того же поля.

P.S. Указанная БД у меня работает нормально.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 21. 04. 2011 [23:40]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Всё понятно. Вы вашей конфигурацией в полный рост продемонстрировали свою компетентность.
Это же надо было сделать два подключения к одному порту (/dev/ttyS0) и ожидать работы!

Если нет замкнутой пары последовательных портов, но очень хочется проверить последовательный интерфейс, то используйте программу:
JAVASCRIPT
socat -d -d pty,raw,echo=0 pty,raw,echo=0


В результате её работы создаётся пара замкнутых виртуальных портов. Вот и цепляйте вход к одному концу, а выход к другому.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 22. 04. 2011 [07:07]
krab22
Константин Фомин
Автор теми
Зареєстрован(а) с: 22.04.2009
Повідомлення: 20
"roman" wrote:

Всё понятно. Вы вашей конфигурацией в полный рост продемонстрировали свою компетентность.
Это же надо было сделать два подключения к одному порту (/dev/ttyS0) и ожидать работы!

Если нет замкнутой пары последовательных портов, но очень хочется проверить последовательный интерфейс, то используйте программу:
JAVASCRIPT
socat -d -d pty,raw,echo=0 pty,raw,echo=0


В результате её работы создаётся пара замкнутых виртуальных портов. Вот и цепляйте вход к одному концу, а выход к другому.

Это же надо было сделать два подключения к одному порту (/dev/ttyS0) и ожидать работы! - конфигурация у Вас в руках!
Тыкните пальцем где сделал ошибку.

Данные то получались! Кроме того данное падение наблюдалось после добавления нескольких атрибутов(регистров) в контроллер. До этого все порты были открыты и никаких ошибок при этом не возникало.

Да и вообще практика заставляющая меня описывать одни и те же регистры в нескольких местах - неверная - резко повышает вероятность ошибок.

Кроме того нет пакетного добавления регистров - Попробуйте забить несколько сотен регистров и при этом не допустить ни одной ошибки.

Вытекающий вопрос: А почему Ваше дедтище позволяет сделать такое?
И почему оно падает а не выдает сообщение об ошибке?
Повідомлення створено: 22. 04. 2011 [07:41]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Потому что Вы в принципе не компетентны!

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



15384