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

[BugFixed] Непонятка с обменом данных по Modbus


Автор Сообщение
Сообщение создано: 13. 10. 2010 [15:11]
phantom
Алексей Добрынин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 19
Дистрибутив: Debian lenny
Версия OpenSCADA: сегодня (13.10.10) собрана из svn (без модулей SoundCard, Firebird, MySQL, PostgreSQL).

В проекте создан только 1 выходной транспорт: /dev/ttyS0:9600:8N2
И один контроллер в модуле Modbus пункта сбор данных: Протокол RTU, узел назначения 1, транспорт выбран, Планирование опроса 0.1, Объединять фрагменты данных отключено, время ожидания соединения 50 мс, время восстановления 0, Попыток запроса 10.
Параметры контроллера созданы и включены.
К порту RS232 компьютера подключен конвертер интерфейсов RS232-RS485 ICPCON 7520-R. После конвертера включен контроллер.

При такой конфигурации, соединение не может установиться. Всё время валятся ошибки соединения.
Но, если я выключу контроллер (сняв галочки Включен и Запущен), а затем запущу терминалку CuteComm к примеру, то на посылку запроса, сразу получаю ответ.
Выключив терминалку, устанавливаю галочки Включен и Запущен, и OpenSCADA нормально начинает опрашивать. Без ошибок.

В чём может быть причина ?

UPD. Забыл написать, лампочка на конвертере, свидетельствующая об обмене данными, начинает мигать только после манипуляций с терминалкой.
Конвертер однозначно рабочий! Контроллер тоже.
Если запускать терминалку, без запущенной OpenSCADA, то терминалка свободно опрашивает контроллер.

[Сообщение редактировалось 2 раз(а), в последний раз 13.10.2010 в 15:16.]

Все глюки Windows исправляются установкой Linux :)
Сообщение создано: 13. 10. 2010 [15:55]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
Полтергейст. После любых изменений в настройках желательно перепускать галочки. А просто перезапуск галочек (снять, установить) без терминалки что даёт? Перезапуск скады целиком с галочками "запускать", "включать"? И ещё: в контроллере точно 2 стоп-бита задано как и в скаде?

[Сообщение редактировалось 4 раз(а), в последний раз 13.10.2010 в 16:00.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 13. 10. 2010 [20:03]
phantom
Алексей Добрынин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 19
Галочки после каждого изменения перетыкиваю (дошёл до этого опытным путём). Простой перетык галочек ничего не даёт. Связь так и не появляется, лампочка конвертера не показывает активность.
Перезапуск скады также ничего не даёт.
Проект сконфигурирован на Включение и Запуск соединения, но при запуске лишь одни ошибки соединения.
Контроллер работает с 2мя стоп битами.
Совершенно случайно заметил, что после терминалки связь появляется, но почему, не могу понять.

Все глюки Windows исправляются установкой Linux :)
Сообщение создано: 14. 10. 2010 [07:27]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
Для скорости 9600 могут быть слишком короткие времена планирование опроса - 0.1 и ожидания 50 мс. Попробуйте увеличить. Если останется так же: надо смотреть какую последовательность байт посылаете с терминала и последовательность байт со скады. То есть одинаковая ли последовательность? Есть ли исходящий сигнал от скады к контроллеру при ошибках?

[Сообщение редактировалось 1 раз(а), в последний раз 14.10.2010 в 07:28.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 14. 10. 2010 [08:53]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"phantom" wrote:

В проекте создан только 1 выходной транспорт: /dev/ttyS0:9600:8N2

Тайминги какие?

У меня на 9600 время опроса на ДемоБД получается 150мс, и это с упаковкой запросов в большие пакеты. Как оно должно работать на 100мс?
Хотя если я ставлю время планирования 100мс то всё продолжает работать, раздвигая период опроса. Ваша проблема может быть из-за малого времени символа. Мои тайминги: "1173:11.46".

P.S. Читайте форум на предмет похожих вопросов, их тут было достаточно.

Learn, learn and learn better than work, work and work.
Сообщение создано: 14. 10. 2010 [11:05]
phantom
Алексей Добрынин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 19
Поставил опрос 1 в секунду, тайминги 1173:11.46. Результат прежний.
Сижу читаю форум.


Все глюки Windows исправляются установкой Linux :)
Сообщение создано: 22. 10. 2010 [14:35]
phantom
Алексей Добрынин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 19
Непонятка обнаружена!
Проблема в контроллере, как-то в нём странно обмен данными настроен.
Пользуюсь разными компьютерами и программами для опроса контроллера. Везде ставлю 2 стоповых бита и опрашивается,
а OpenSCADA не опрашивает. Выставил 1 стоп бит - и всё стало свободно опрашиваться. Тайминги поставил расчитанные скадой.
Отправил программиста выяснять истину, что где у него и как в контроллере.

Всем спасибо!!! :)

[Сообщение редактировалось 1 раз(а), в последний раз 22.10.2010 в 14:36.]

Все глюки Windows исправляются установкой Linux :)
Сообщение создано: 22. 10. 2010 [15:24]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"phantom" wrote:

Непонятка обнаружена!
Проблема в контроллере, как-то в нём странно обмен данными настроен.
Пользуюсь разными компьютерами и программами для опроса контроллера. Везде ставлю 2 стоповых бита и опрашивается,
а OpenSCADA не опрашивает. Выставил 1 стоп бит - и всё стало свободно опрашиваться. Тайминги поставил расчитанные скадой.

Скорее это я перепутал флаг CSTOPB для двух и одного битов. Поправил, сегодня сброшу исправленное.

P.S. Спасибо, что разобрались!

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



0210