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

[BugFixed] Шлюз источников данных


Автор Сообщение
Сообщение создано: 25. 06. 2009 [14:49]
ruslan
Руслан Нургалин
Создатель темы
Зарегистрирован(а) с: 25.06.2009
Сообщения: 15
Доброго времени суток! Появилась следующая проблема: После перехода на версию 0.6.3.3 при добавлении трех и более контроллеров в "Шлюзе источников данных", подсистемы "Сбора данных", их статус переводиться в вид - "Запущен. Время сбора данных х,ххх мс. Ошибка станции 'хххххх'. восстановление через х с.". Соответсвенно данные не соответствуют дествительности. Есть предположение что причина в большом количестве параметров котроллера (около 80-и). Каков же путь разрешения вопроса?
Сообщение создано: 25. 06. 2009 [15:17]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
ruslan wrote:

Доброго времени суток! Появилась следующая проблема: После перехода на версию 0.6.3.3 при добавлении трех и более контроллеров в "Шлюзе источников данных", подсистемы "Сбора данных", их статус переводиться в вид - "Запущен. Время сбора данных х,ххх мс. Ошибка станции 'хххххх'. восстановление через х с.". Соответсвенно данные не соответствуют дествительности. Есть предположение что причина в большом количестве параметров контроллера (около 80-и). Каков же путь разрешения вопроса?

Странно, я вот сейчас перенёс старую конфигурацию, со времён когда модуль назывался DAQ.Transporter, просто скопировав таблицу контроллеров, и там всё работает.
Там три контроллера с количеством параметров, в общей сложности 80. У всех статус такой:
Запущен. Время сбора данных 26.555 мс. Запросов к станции 'modelAGLKS': 21375.
Запущен. Время сбора данных 67.552 мс. Запросов к станции 'modelAGLKS': 26082.
Запущен. Время сбора данных 78.783 мс. Запросов к станции 'modelAGLKS': 44460.

Вероятно проблема со связью.

Выключите все, а затем включайте по одному. Что будет?

Learn, learn and learn better than work, work and work.
Сообщение создано: 26. 06. 2009 [07:13]
ruslan
Руслан Нургалин
Создатель темы
Зарегистрирован(а) с: 25.06.2009
Сообщения: 15
Так было и сделано ещё до того как создать тему. Вопрос всё ещё актуален. Не откатываться же на предыдущую версию.
Сообщение создано: 26. 06. 2009 [07:24]
ruslan
Руслан Нургалин
Создатель темы
Зарегистрирован(а) с: 25.06.2009
Сообщения: 15
Добавлю информацию: Операционая система OpenSUSE 11.1, база данных MySQL 1.2.12.
Сообщение создано: 26. 06. 2009 [08:43]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
Я не могу исправлять то, что у меня работает. Поэтому добивайтесь воспроизводимости на ДемоБД или предоставляйте не рабочую БД с описанием конфигурации в целом.

Learn, learn and learn better than work, work and work.
Сообщение создано: 26. 06. 2009 [14:25]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
ruslan wrote:

Так было и сделано ещё до того как создать тему. Вопрос всё ещё актуален. Не откатываться же на предыдущую версию.


В новой версии появилась возможность установки нужного таймаута соединения для исходящих транспортов модуля Sockets. По умолчанию, со старой БД, он может быть не большим поэтому на не очень хорошей сети он может не дожидаться соединения.

Вообще гляньте в логи, может есть там что по этому поводу. И попробуйте найти исходящий транспорт, используемый в DAQGate, а далее попробуйте запустить его руками.

Learn, learn and learn better than work, work and work.
Сообщение создано: 26. 06. 2009 [15:45]
ruslan
Руслан Нургалин
Создатель темы
Зарегистрирован(а) с: 25.06.2009
Сообщения: 15
Ошибку удалось локализовать путем последовательного отключения включения параметров контроллера. Причина - большое количество символов строковой переменной порядка 100-а. Будем проверять дальше.
Сообщение создано: 27. 06. 2009 [01:55]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
Интересно, а какой длины символьные переменные можно передавать через транспортёр данных?

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 27. 06. 2009 [08:23]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
almaz wrote:

Интересно, а какой длины символьные переменные можно передавать через транспортёр данных?

Принципиальных ограничений там нет.

Learn, learn and learn better than work, work and work.
Сообщение создано: 27. 06. 2009 [10:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
ruslan wrote:

Ошибку удалось локализовать путем последовательного отключения включения параметров контроллера. Причина - большое количество символов строковой переменной порядка 100-а. Будем проверять дальше.

Нашёл критическую ошибку, которая проявляется на исходных источниках данных с архивированием в активном режиме. Обычно приводит к падению, но может иметь и иное поведение.
Поправил, сегодня солью.
Кроме неё поправлено доступ к локальным архивам параметров DAQGate, а также проброс атрибута ошибки "err".
Размер строки атрибута не влияет. Ввел строку длиной 200 символов - всё нормально.
Сегодня ещё пересоберу свою полигонную конфигурацию, добавлю резерв и вытащю на ещё один уровень выше через резервирование посредством DAQGate.

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



22727