Просмотр полной версии : ПЛК 110.30-M v2 & RS485
добрый день
ПЛК 110.30-M v2 прошивка и таргеты последние. Стабильно один - два(три) раза в сутки обрывается связь по RS485. Если порт открыть/закрыть иногда помогает и связь восстанавливается иногда нет. Во время работы на скорости 115200 просто огромное количество ошибок по таймауту. В минуту несколько стабильно. Связь организована не через конфигуратор.
232 кста тоже пару раз в сутки отваливается, но переоткрытие порта помогает и делаю это автоматически. с 485м так поступить не могу.
Новые прошивки с улучшениями ожидаются?
Евгений Багаев
03.11.2017, 15:15
Проект в студию. Хотя бы ту часть, что с обменом.
Также интересует конфигурация тестируемого оборудования: количество slave-устройств, длина линии от мастера до последнего, применение согласующих резисторов.
И, конечно, текущую версию прошивки ПЛК.
Слейв один. расстояние - метр (находится в одном шкафу с ПЛК), резисторов нет. Прошивка v0.3.67.
Проект могу выслать через неделю как вернусь из командировки.
Слейв один. расстояние - метр (находится в одном шкафу с ПЛК), резисторов нет. Прошивка v0.3.67.
Проект могу выслать через неделю как вернусь из командировки.
фактически Вы признаете что проблема в конкретно взятом проекте и обновления прошивки не помогут?
(положив руку на Основы теории сигналов) - нет, ваша честь.
p_dima90
03.11.2017, 15:55
фактически Вы признаете что проблема в конкретно взятом проекте и обновления прошивки не помогут?
Из всех M02, что мне попадались, ни у одного не работал стабильно конфигуратор, причем по всем интерфейсам.
Гарчев Евгений
03.11.2017, 16:51
Из всех M02, что мне попадались, ни у одного не работал стабильно конфигуратор, причем по всем интерфейсам.
Но в этой теме речь идет про библиотеки,
добрый день
но переоткрытие порта помогает и делаю это автоматически. с 485м так поступить не могу.
Вот тут не понятно, все таки помогает или нет переоткрытие порта для RS485? И если помогает, то почему Вы не можете сделать закрытие/переоткрыие порта на последнем этапе сессии обмена? Тем более, что
Слейв один
?
на 485м переоткрытие помогает не всегда. плюс потеря связи критична по времени. там дозируется материал и даже за десятые доли секунды может высыпаться много )
Гарчев Евгений
03.11.2017, 18:25
Ну так функции открытия/закрытия порта много времени не занимают, и на сетевой обмен особого влияния не окажут ...
А на счет того, что не всегда помогает переоткрытие порта для RS485, то действительно, надо смотреть проект, и возможно, стоит уделить внимание времени цикла выполнения программы в момент зависания обмена (ну или хотя бы просто фиксировать максимальное время цикла за все время работы контроллера).
(положив руку на Основы теории сигналов) - нет, ваша честь.см.рисунок,взято из краткой справки о теории
Вернулся я. Запилил переоткрытие порта по обрыву (три ошибки таймаута подряд) из четырех контроллеров за трое суток один пришлось выключать-включать ибо не помогло. В сутки каждый гарантированно связь терял более одного раза. Ошибок... на сто пакетов один с ошибкой по таймауту (250мс) как минимум. Седня по быстрому наваял проект обмена (повторяет боевой) выкладываю для проверки. Проект сделан для старого 110 го и сейчас на нем запущен и пашет. Пашет без ошибок. И думаю будет пахать так сутками. Новых контроллеров у меня пока нет. Появятся через неделю и я обязательно запущу его на нем, количество ошибок и обрывов сообщу. Но думаю, вы (овен) это можете сделать быстрее. В проекте 110й по rs485-1 подключен к сотому ПЛК на котором на 485м через конфигуратор настроен слейв. В PLC_PRG прокоментированы переменные для оперативного контроля.
зы: кста, вопрос, может ли новый ПЛК в SysComRead и SysComWrite возвратить -1 ?
зы2: в действии Work вместо IF m_IO.o_bNew THEN правильнее написать IF m_RS485_1.o_bDone THEN
Диспозиция поменялась )
Сегодня неожиданно получил новый 110й ПЛК, правда 24х вольтовый. Загрузил туда тестовый проект и о чудо - ошибок нет.
На радостях загрузил в него боевой - и... Ошибки прут, ничего не поменялось. Естественно, начал искать ошибки у себя, тупо комментируя куски кода. И вот... ошибки пропали. Но оказалось все вовсе не в коде, а во времени его исполнения. Если время цикла стабильно и где то около одной мс - ошибок нет, как только оно начинает хаотично метаться от одной до полторы миллисекунды - ошибки появляются. Причем это не зависит от числа в переменной MinCycleLenght.
Немного подправил тестовый проект и ошибки повалились и там. Тот же проект на старом 110м так же пашет без ошибок.
Выкладываю для экспериментов )
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot