PDA

Просмотр полной версии : Паралельный опрос модулей.



iAHTOH
12.08.2015, 17:03
День добрый уважаемые! Столкнулся с проблемой.Modbus RTU опрашивает последовательно модули Mx100.
Раньше такого не наблюдал. Несколько устройств на одном СOM порту опрашивались параллельно без видимых задержек.
Вроде все работает, но сначала 5 сек опрашивается один модуль, затем следующий и так далее по кругу.
В момент когда модуль не опрашивается разумеется никаких данных ни считывается ни записывается.
Скорее всего сам где то галку поставил. Но не могу понять в какую сторону смотреть.
Подскажите пожалуйста где меняется режим опроса.

murdemon
12.08.2015, 17:24
а кто производи допрос? попрошу уточнить товарищ.. :)

iAHTOH
12.08.2015, 18:04
СПК107, CODESYS V3.5 SP5 Patch 2

Scream
12.08.2015, 22:03
Невозможно опрашивать параллельно, это псевдо параллельности, как и работа вашего цп в пк. По сути не помогу...

murdemon
12.08.2015, 22:18
надо смотреть время опроса регистров и время между фреймами.... и со скорость порта на максимум поставить если расстояние до 10м

iAHTOH
13.08.2015, 08:10
Понятно, что псевдопаралельность, но не по 3-4 секунды на модуль.
Попробую поиграться скоростями.

iAHTOH
13.08.2015, 08:35
Вобщем проблема понятна. Я использую МВ110-8А . Их 2 штуки и 16 датчиков. Просто передать параметры занимает время. Поднятие скорости на RS-485 Помогло решить проблему. Время опроса сократилось до 3 секунд на устройство. (по 1 секунде на каждое у меня всего их 3 еще одно МУ110-8Р). Вроде устраивает это время.

capzap
13.08.2015, 08:39
напишите новый пронкт с опросом одгого модуля и без логики, оценит время, добавте др.модули также проверте. может у Вас в проге где то цикл висит долго вот и время такое

murdemon
13.08.2015, 09:41
Попробуй время запуска основной задачи ПЛК увеличить... Может ресурсов для отработки обмена по модбасу не хватает.

iAHTOH
13.08.2015, 13:02
Циклов никаких нет вообще.
Просто опрос регистров термодатчиков.
Теперь другая проблема. При записи значения в му110-8р 1 бита (1 входа т.е.)
У меня он не просто включается а начинает щелкать. Если в оболочке CodeSys остановить выполнение программы то щелкать продолжает.
Т.е. протокол работает на зависимо от выполнения программы и каждый раз когда он обращается к му110-8р он переинициализирует значения переменных.
Т.е. бит на включение вроде в TRUE а контакты реле дергаются.

Кароче отказался от ОВЕНовских шаблонов для му110-8р. Прописал канал вручную. Так заработало и ничего не дергается.