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

Ошибка в DAQGate


Автор Сообщение
Сообщение создано: 29. 07. 2014 [15:05]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
собственно сама ошибка

openscada: -5|alDAQGate:r01k050_DG | DAQ.r01k050_DG: подключение к источнику данных 'DataSRV': Станция 'DAQGater01k050_DGDataSRV' ошибка= Command format error.!.
openscada: 4|/sub_Protocol/mod_SelfSystem/ | Станция 'DAQGater01k050_DGDataSRV' ошибка: Command format error.!


Стала возникать после обновления OpenSCADA
Сегодня обновил станцию сбора данных, после чего повалились эти ошибки на станции визуализации и Web интерфейса
Я подумал это произошло из-за не совместимости версий OpenSCADA станций и обновил OpenSCADA на станции визуализации, но это не помогло
в чем проблема и как ее исправить?

[Сообщение редактировалось 1 раз(а), в последний раз 29.07.2014 в 15:13.]
Сообщение создано: 29. 07. 2014 [15:21]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

DAQ.r01k001_DG: подключение к источнику данных 'DataSRV': Станция 'DAQGater01k001_DGDataSRV' ошибка= Command format error.!.

Это сообщение протокола и говорит о том, что запросы-ответы идут неполные или испорченные. А если учесть, что там проверка на символ перевода строки есть то скорее всего целостности.
У меня таких проблем нет и в ДемоБД тоже, в которой сейчас тестовый DAQGate запускается при старте.

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

Learn, learn and learn better than work, work and work.
Сообщение создано: 29. 07. 2014 [15:34]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
хотел добавить

при старте станции визуализации выдаются следующие ошибки

ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: Нет такого файла или каталога
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM dmix



Это сообщение протокола и говорит о том, что запросы-ответы идут неполные или испорченные.


может размер входного буфера SelfSystem нужно увеличить?


[Сообщение редактировалось 2 раз(а), в последний раз 29.07.2014 в 15:46.]
Сообщение создано: 29. 07. 2014 [16:02]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

при старте станции визуализации выдаются следующие ошибки

ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: Нет такого файла или каталога
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM dmix


Это всегда и было, при некоторых конфигурациях звуковой подсистемы и вообще ругань от PortAudio, а не OpenSCADA.

"monia" wrote:

может размер входного буфера SelfSystem нужно увеличить?

Зачем, это влияет только немного на скорость и количество кусков прочитанного сообщения?
Лучше таймауты исходящего транспорта проверьте, поскольку я вижу только одну возможность неполного получения заголовка, это малое время дожидания, вторая цифра, которая и была в 0.8.11 возвращена к "5:1".

Learn, learn and learn better than work, work and work.
Сообщение создано: 29. 07. 2014 [16:42]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
"roman" wrote:

Лучше таймауты исходящего транспорта проверьте, поскольку я вижу только одну возможность неполного получения заголовка, это малое время дожидания, вторая цифра, которая и была в 0.8.11 возвращена к "5:1".

Не помогло

вот настройки

Выходной транспорт: DAQGater01k001_DGDataSRV

Временные интервалы: 60:20

Планирование опроса: контроллера шлюза источника данных 40с, без восстановления данных и синхронизации с удаленной санцией (= 0)


периодически вылетают в лог ошибки "ошибка= Command format error.!." узлов DAQGate
Сообщение создано: 29. 07. 2014 [17:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

Временные интервалы: 60:20

периодически вылетают в лог ошибки "ошибка= Command format error.!." узлов DAQGate

Это слишком, хотя если связь реально плохая и теряются пакеты то такое может быть.
Сеть проверяйте, если это не локалка.

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

Learn, learn and learn better than work, work and work.
Сообщение создано: 29. 07. 2014 [17:18]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
вообще это внутренняя сеть виртуальных машин
ping вроде нормальный
64 bytes from *.*.*.*: icmp_seq=1 ttl=64 time=0.775 ms

заметил что на станции сбора данных высокий % загруженности проца (99%), при очередном опросе станцией визуализации (если я запрещаю опрос, то нагрузка не подымается выше 40% в среднем 25%)

как правильно определить временные константы для протоколов и сколько не хватает времени для предачи пакета, может пакеты настолько велики что не влазят в 20с
Сообщение создано: 29. 07. 2014 [17:35]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

64 bytes from *.*.*.*: icmp_seq=1 ttl=64 time=0.775 ms

Типа это показательно. Тестировать нужно с размером пакета по MTU, обычно "ping -s 1500".

"monia" wrote:

заметил что на станции сбора данных высокий % загруженности проца (99%), при очередном опросе станцией визуализации (если я запрещаю опрос, то нагрузка не подымается выше 40% в среднем 25%)

Проц какой на станции сбора?
Это типичная ошибка, когда немощный контроллер пытаются через DAQGate опрашивать с периодичностью вроде 100мс, чем он просто стопорится, если обслуживание связи высокоприоритетно или затыкается в ответах если наоборот.

"monia" wrote:

как правильно определить временные константы для протоколов и сколько не хватает времени для предачи пакета, может пакеты настолько велики что не влазят в 20с

У Вас период опроса на DAQGate 20c?
Сколько-же тогда там параметров опрашивается?
Собственно увеличивайте период опроса DAQGate до тех пор, пока реально затраченное время станет меньше. И уменьшите таймаут транспорта DAQGate до стандартного для локалки "5:1".
А размер можно посчитать по той-же статистике транспорта.

Learn, learn and learn better than work, work and work.
Сообщение создано: 30. 07. 2014 [08:08]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
сегодня попробовал подключать по одному DAQGate контроллеру
и наткнулся на ограничение по количеству SelfSystem подключений к станции сбора данных (11 подключений). При 12 подключение начинает выдаваться ошибка "ошибка= Command format error.!." узлов DAQGate

создал несколько SelfSystem транспортов и данную проблему решил

тер новая беда (а может и нет :))

сообщение

-5|alDAQGate:r01k021_DG | DAQ.r01k021_DG: подключение к источнику данных 'SRVk21_30': Время ожидания истекло!.
Jul 30 09:04:21 virtserver3 openscada: 4|/sub_Transport/mod_Sockets/out_DAQGater01k021_DGSRVk21_30/ | Время ожидания истекло!


как избавиться от данной неприятности?

и еще тут увидел падение OpenSCADA и в логе вот, что было

Jul 30 07:53:19 openscada: last message repeated 4 times
Jul 30 07:53:19 virtserver0 openscada: *** Error in `/usr/bin/openscada': free(): invalid pointer: 0x00007fc8ffffffea ***

Что это означает? и из-за чего произошло падение?
Сообщение создано: 30. 07. 2014 [08:29]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

сегодня попробовал подключать по одному DAQGate контроллеру
и наткнулся на ограничение по количеству SelfSystem подключений к станции сбора данных (11 подключений). При 12 подключение начинает выдаваться ошибка "ошибка= Command format error.!." узлов DAQGate

Ещё раз! Это не ошибка ограничения подключений. Ограничения там хоть и 10, но на открытие сеансов одним пользователем и от одного адреса и потом там было-бы "Auth error. Session no valid."

"monia" wrote:

тер новая беда (а может и нет :))

сообщение

-5|alDAQGate:r01k021_DG | DAQ.r01k021_DG: подключение к источнику данных 'SRVk21_30': Время ожидания истекло!.
Jul 30 09:04:21 virtserver3 openscada: 4|/sub_Transport/mod_Sockets/out_DAQGater01k021_DGSRVk21_30/ | Время ожидания истекло!

как избавиться от данной неприятности?

Сеть и таймауты таки нормально настроить, поскольку не дожидается ответа.

"monia" wrote:


[quote]
Jul 30 07:53:19 openscada: last message repeated 4 times
Jul 30 07:53:19 virtserver0 openscada: *** Error in `/usr/bin/openscada': free(): invalid pointer: 0x00007fc8ffffffea ***

Что это означает? и из-за чего произошло падение?

Не знаю, у меня такого нет.
Для падений нормальные отчёты о падениях предоставляйте, иначе это пустой звук!

P.S. Из реальных проблем в DAQGate сейчас это исключение параметров из опроса если объект контроллера остановить, а затем запустить, что решается выключением/включением, а в рабочей версии исправлено. Остальное там как и было. Единственно сейчас его немного оптимизировал исключением пустых запросов параметров. Ещё попрофайлю, но там львиную долю запроса занимает латентность функции select(), похоже. Т.е. из общего времени 10мс (по четыре на реакцию select при приёме и ответе).

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



2375