Здравствуйте, подскажите пожалуйста возможные причины и исправления этих ошибок. Программа работает несколько часов нормально, при компиляции ошибок нет. Но спустя несколько часов появляется ошибка визуализации Вложение 85352
Вид для печати
Здравствуйте, подскажите пожалуйста возможные причины и исправления этих ошибок. Программа работает несколько часов нормально, при компиляции ошибок нет. Но спустя несколько часов появляется ошибка визуализации Вложение 85352
Добрый день.
Напишите, пожалуйста, на support@owen.ru
Можно ли как-то вызвать visualization типа диалог с st кода? НЕ с кофигуратора ввода, а именно из кода
Добрый день.
См. ФБ FbOpenDialog в библиотеке Visu Utils.
https://owen.ru/media/video/owen_plk210_web
- СПК210-10 3.7.0228.1046
- на СОМ1 модули МХ110(с откинутыми модулями проблема сохраняется)
- обмен через библиотеку OCL.MB_SerialRequest (при обмене через мастер еще хуже: идет непрерывный циклический отвал модулей по кольцу)
предварительно: периодически(~3-10 запросов) у ПЛК не отключается передатчик после отправки запроса(D+ D- остаютcя "подтянуты" к питаниям) до следующего запроса(ответ естественно не доходит) !
Тот же код на других портах работает ровно(да и не важен мой код, т.к. RX/TX переключает не он).
Сталкивался кто с подобным, куда копать(что там за драйвера 485го, кто DE/RE управляет или автомат)?
PS перепрошивка со сбросом не помогли.
================================================== =============================================
Используются все 3 порта через OCL, параметры:
Если на всех 3х портах использовать только READ_HOLDING_REGISTERS / WRITE_MULTIPLE_REGISTERS - ВСЕ ХОРОШОКод:mb_bus_com1(udiComPort := 1,
udiBaudrate := 115200,
udiByteSize := 8,
eParity := OCL.COM_PARITY.NONE,
eStopBit := OCL.COM_STOPBIT.ONE);
mb_bus_com2(udiComPort := 2,
udiBaudrate := 9600,
udiByteSize := 8,
eParity := OCL.COM_PARITY.NONE,
eStopBit := OCL.COM_STOPBIT.ONE);
mb_bus_com3(udiComPort := 3,
udiBaudrate := 115200,
udiByteSize := 8,
eParity := OCL.COM_PARITY.NONE,
eStopBit := OCL.COM_STOPBIT.ONE);
но если на СОМ2 использовать READ_INPUT_REGISTERS(и соответственно получать ответы) - начинается эта фигня! - не влияет
Код закрыт, но это и не важно: я драйвером 485го не управляю от слова никак!!!
P.S. Овен ковыряйте свой код: возможно пока на 9600 идет прием/отправка пакета(неспешно): "забываете" переключить на другом порту
================================================== ================================================== ==========================
Собственно угадал(99.9%): оба порта(СОМ1 и СОМ2) "подклинивают" друг другу DE/RE на передаче(кстати СОМ3 вроде как сам по себе!)
Если поменять шины СОМ1 и СОМ2 местами(скорость и слэйвы) - проблема сохраняется.
Приложил обмен(смотреть PulseView)
P.S. Для воспроизведения проблемы, предполагаю(проверить уже неначем), достаточно через мастер настроить обмен через СОМ1 - 115200 и СОМ2 - 1200. И СОМ1 сразу ляжет.
================================================== ================================================== ==========================
Костыли:
- разогнал медленный порт до максимума(38400) - теперь залипания у быстрого до 2мс
- на быстром порту у слэйвов поставил задежку ответов 5мс
************************************************** ************************************************** ************************************************** **************************************
P.S. Но вообще полное дно у вас товарищи получилось: 9мс на 115200 от получения ответа до нового запроса у коммуникационного контроллера! :mad:
Добрый день. Допустим у меня есть 6 аналоговоых входов, как будет правильнее, записывать каждый вход как отдельную переменную в PLC_PRG допустим с типом real или создать массив и уже везде работать с этим массивом? То есть массив такой я имею ввиду rAI: ARRAY [0..6] OF AI_Type; и в AI_Type уже есть а сырое значение и значение после scale
Фаиль Нагимуллин
Если речь об аналоговых входах модулей Овен, то там есть на каждый канал еще и временные метки, и коды ошибок. А упаковка всего этого в массив ничего не дает в плане качества\быстродействия снятия показаний.
Подскажите, пожалуйста, возможно ли остановить / запустить пользовательское приложение Codesys из консоли ПЛК 210?
Всё отлично работает, Премного благодарен.