Просмотр полной версии : Отваливается Модбас
Панелью СПК110 опрашиваю 4 модуля.
После прогрузки контроллера все работает нормально в течении 10-15 минут, затем ModbusGenericSlave переходит в состояние "Не запущен"
При этом обмен по интерфесу идёт корректный, а теги все замораживаются.
Что делать? Где копнуть?
а где предварительная работа? Как себя ведет с тремя модулями, с двумя, с одним?
Где полная информация, какая прошивка, какая версия среды, в конце концов какая ОС?
Прошивка СПК: 3.939
Версия КДС: 3.5 SP5
OS: XP SP3
С модулями сейчас поиграюсь.
если избавитесь от %XX в ПОУ будет намного легче. Смените, как на картинке пример, всё что берется из слейвов в Вашем PLC_PRG я думаю проблема исчезнет
Когда опрашиваю 3 модуля А1, А2, А3 проблем нет.
Как только добавляю А4, работает опрос максимум 15 минут
если избавитесь от %XX в ПОУ будет намного легче. Смените, как на картинке пример, всё что берется из слейвов в Вашем PLC_PRG я думаю проблема исчезнет
Что значит легче?
Я хочу понять природу этого явления.
Документация не запрещает мне пользоваться %ХХ, мне так удобнее.
четвертый модуль это где больше всего регистров опрашивается, увеличте период опроса, возможно со временем набегают задержки и запросы накладываются друг на друга
Что значит легче?
Я хочу понять природу этого явления.
Документация не запрещает мне пользоваться %ХХ, мне так удобнее.
есть в КДС такая особенность, что если слейвом ни кто не пользуется он рвет сним соедиение, возможно обращение напрямую к области вводов/выводов не считается использованием, у нас принято именовать каналы
Я пробовал увеличивать на всех 4х модулях опрос со 100мс до 200 мс, всё равно отваливается.
... мне так удобнее.
а в чем удобство, я Вам предложил избавиться от лишнего кода в ПОУ, а Вы сопротивляетесь?
есть в КДС такая особенность, что если слейвом ни кто не пользуется он рвет сним соедиение, возможно обращение напрямую к области вводов/выводов не считается использованием, у нас принято именовать каналы
Когда я опрашивал 3 модуля ничего не отваливается.
а в чем удобство, я Вам предложил избавиться от лишнего кода в ПОУ, а Вы сопротивляетесь?
Текст ПОУ у меня генерит скрипт. А по вашему варианту нужно много движений мышкой/клавой делать.
я и написал возможно
по мне так лучше перейти на библиотечный вариант опроса модулей, тогда уж точно проблем не должно возникнуть если всё правильно организовать
Текст ПОУ у меня генерит скрипт. А по вашему варианту нужно много движений мышкой/клавой делать.
без коментариев
есть в КДС такая особенность, что если слейвом ни кто не пользуется он рвет сним соедиение, возможно обращение напрямую к области вводов/выводов не считается использованием, у нас принято именовать каналы
Если принято именовать каналы, зачем тогда вообще реализована возможность обращаться к памяти ввода/вывода напрямую?
На сколько я понимаю, именовать каналы, это не обязательное условие?
С 3мя модулями всё же тоже отвалился опрос, через 30 мин.
Видимо действительно, обращение напрямую к области вводов/выводов не считается использованием, и прекращается переброс данных с телеграмм на область памяти ввода/вывода.
Интересно, а можно отключить как то это автоматическое отключение?
Хотя нет, увеличил время цикла опроса аналоговых модулей до 1 сек. И вот, связь держится уже 4 часа.
Природа явления перехода ModbusGenericSerialSlave в статус "Не запущен" так и осталась не понятна.
В журнале СПК ничего не фиксируется.
Как узнать причину смены статуса?
Может есть ещё какие-нибудь логи?
Эдуард_Н
10.08.2015, 10:30
Хотя нет, увеличил время цикла опроса аналоговых модулей до 1 сек. И вот, связь держится уже 2 часа.
Где время цикла опроса в КДС регулируется?
Как показывает опыт-модуль 8А не очень хорошо работает в протоколе Modbus RTU на высоких скоростях обмена(меньше времени вычисления канала самого модуля-по дефолту-500мс).
Бывает модбас мастер выдает ошибку- слейв не ответил (можно конечно увеличивать время таймаута,но это не выход-другие модули начнут отваливаться)
Как выход-увеличить время опроса самих каналов 8А.И делать ручной пересброс связи(автоматический перезапуск мне не понравился,не всегда качественно пересбрасывает)
На данный момент,я отказался от СПК как контроллера (именно из-за такой работы 8А модуля) и использую связку ПЛК-СПК.8А модуль хорошо работает в протоколе Modbus ASCII(во всяком случае нет ошибок даже при периоде опроса 50мс).Да и СПК легче будет визуализацию прорисовывать-разгружается процессор от основного кода программы(актуально для средних и больших программ).И если есть физические кнопки-можно их напрямую завести на входа ПЛК-время реакции на нажатие будет адекватной(меньше 100мс)
П.с. еще можно увеличить время между фреймами 20-30мс .
Как показывает опыт-модуль 8А не очень хорошо работает в протоколе Modbus RT .
Как показывает Ваш опыт.
Проблемы обмена в 99% - это проблема мастера.
8А на RTU 38400 8N1 можно опрашивать сразу все(48регистов) за 32-35мс вообще без ошибок. Только такая скорость нафик не нужна
Как показывает опыт-модуль 8А не очень хорошо работает в протоколе Modbus RTU на высоких скоростях обмена(меньше времени вычисления канала самого модуля-по дефолту-500мс).
Бывает модбас мастер выдает ошибку- слейв не ответил (можно конечно увеличивать время таймаута,но это не выход-другие модули начнут отваливаться)
Как выход-увеличить время опроса самих каналов 8А.И делать ручной пересброс связи(автоматический перезапуск мне не понравился,не всегда качественно пересбрасывает)
На данный момент,я отказался от СПК как контроллера (именно из-за такой работы 8А модуля) и использую связку ПЛК-СПК.8А модуль хорошо работает в протоколе Modbus ASCII(во всяком случае нет ошибок даже при периоде опроса 50мс).Да и СПК легче будет визуализацию прорисовывать-разгружается процессор от основного кода программы(актуально для средних и больших программ).И если есть физические кнопки-можно их напрямую завести на входа ПЛК-время реакции на нажатие будет адекватной(меньше 100мс)
П.с. еще можно увеличить время между фреймами 20-30мс .
В моей ситуации когда ModbusGenericSerialSlave уходит в статус "не запущен", реально то опрос в порту продолжается, я вижу как СПК шлёт телеграммы и как 8А отвечает и не только он, а все модули, причём корректно.
Это как мне кажется проблема в библиотеке Modbus slave.
Естественно мой,не Ваш же.
опрашивать и на 9600 можно,только вот иногда есть причины,когда нужна большая скорость.
с 8А вообще скорость больше скорости измерения не нужна.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot