-
Вложений: 1
Вернулся я. Запилил переоткрытие порта по обрыву (три ошибки таймаута подряд) из четырех контроллеров за трое суток один пришлось выключать-включать ибо не помогло. В сутки каждый гарантированно связь терял более одного раза. Ошибок... на сто пакетов один с ошибкой по таймауту (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
-
Вложений: 1
Диспозиция поменялась )
Сегодня неожиданно получил новый 110й ПЛК, правда 24х вольтовый. Загрузил туда тестовый проект и о чудо - ошибок нет.
На радостях загрузил в него боевой - и... Ошибки прут, ничего не поменялось. Естественно, начал искать ошибки у себя, тупо комментируя куски кода. И вот... ошибки пропали. Но оказалось все вовсе не в коде, а во времени его исполнения. Если время цикла стабильно и где то около одной мс - ошибок нет, как только оно начинает хаотично метаться от одной до полторы миллисекунды - ошибки появляются. Причем это не зависит от числа в переменной MinCycleLenght.
Немного подправил тестовый проект и ошибки повалились и там. Тот же проект на старом 110м так же пашет без ошибок.
Выкладываю для экспериментов )