Здравствуйте, подскажите пожалуйста возможные причины и исправления этих ошибок. Программа работает несколько часов нормально, при компиляции ошибок нет. Но спустя несколько часов появляется ошибка визуализации Вложение 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?
Всё отлично работает, Премного благодарен.
Всем привет!
СПК работает как slave по modbus rtu. Нужно редактировать настройки системы как с верхнего уровня по интерфейсу, так и с экрана по HMI. При этом параметры должны быть энергонезависимыми. Можно ли это реализовать средствами CDS или придется делать ФБ и сравнивать retain переменные с регистрами modbus?
Можно использовать блоки Modbus Slave из библиотеки OwenCommunication. Структуру данных объявлять, соответственно, в VAR RETAIN.
См. документ https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.2.pdf
Добрый день.
На мой взгляд, проще и удобнее сделать это через библиотеку, как выше указал Александр, но, строго говоря, можно решить задачу и "средствами СDS":
https://owen.ru/forum/showthread.php...l=1#post434909
Добрый
Правлю проект на ПК, гружу в ПЛК. Открываю на ноутбуке этот же проект, подключаюсь к ПЛК - и получаю сообщение, что приложение в ПЛК необходимо заменить...
Сравнение выдаёт вот такое:
Вложение 85644
Вложение 85645
Вложение 85647
Вложение 85646
Как это исправить?
Спасибо
Ваш вариант для меня выглядит проще.
1. создаю структуру настроек stSettings,
2. объявляю ее RETAIN переменной,
3. присваиваю структуру stSettings массиву регистров временного хранения (массив > stSettings),
Вложение 85650
4. обновляю плагин CODESYS Modbus до версии 4.1.0.0, галочка "запись"
Файл - "Вентиляция.project", проект лежит на сетевом диске. Для ПК и ноутбука это буквально одинаковый проект
Версии, см вложения
Вложение 85659
Разработчики CODESYS предлагают для вашей ситуации передавать между ПК архив проекта (.projectarhive) или на одном ПК загружать в ПЛК исходники проекта, а на другом - выгружать:
https://forge.codesys.com/forge/talk...ad/2569dfe075/
Доброго времени суток, подскажите, не получается разобраться с передачей данных между плк 210 и upack-718edx по Modbus TCP. при попытке подключения через OPC сервер принимать данные получается, а в Codesys выдает ошибку подключения,после чего она сбрасывается и опять появляется. Порт и адрес указан верно.
Вложение 85660 Вложение 85661
Сделал, пинг есть
Вложение 85663
Я хотел поправить предыдущее сообщение, но не успел...
Обновляю вопрос.
1) Внёс изменения на ПК, сохранил, загрузил в ПЛК, закрыл проект
2) Открыл на ноутбуке, нажал "Сканировать сеть", выбрал свой контроллер
3) На контроллер не пишу! Просто закрываю проект
4) Открываю снова на ПК. При попытке подключения к контроллеру: "Приложение в ПЛК необходимо заменить"
"Очистить всё" я делал один раз как средство лечения подобных проблем. Не помогло. При такой последовательности действий всегда "Приложение в ПЛК необходимо заменить"
Такой проблемы не было, я всегда открываю с сервера проекты что на ПК, что на ноуте. И ещё раз напоминаю, что там явно какие-то отсылки к Овеновским библиотекам:
Вложение 85668
Напишите, пожалуйста, на support@owen.ru, чтобы более предметно обсудить вашу ситуацию.
Техподдержка подсказала, что сделать:
На первом ПК, на котором создавался проект: Компиляция - Очистить все - Компиляция - Генерировать код - Файл - Архив проекта - Установить все галочки - Сохранить.
Создал архив проекта на ПК, открыл его же на ноутбуке
В процессе Codesys выдал сообщение, что библиотека (не помню уже какая, но вроде бы какая-то *visu*) будет перезаписана
После этого всё корректно заработало и там, и там
Теперь открываю проект с сервера что с ПК, что с ноутбука - и перезапись проекта уже не требуется
Может, кому-то поможет
Всем спасибо
Добрый день!!! Подскажите пожалуйста, чего-то виртуальный контроллер в Кодесисе 3,5 не выходит на отладку, связь есть, в чем может быть причина? Пишет: "Не подключен к приложению. операция не поддерживается"
Вложение 85684Вложение 85683
Нет, именно Вложение 85685Codesys Control WIN V3
Версии совпадают 3.5.17.30
Codesys только поставили? Языки у вас все 5 шт есть на выбор? Если нет, то не правильно установлен Codesys 17.3
Тут как ставить
https://www.youtube.com/watch?v=3KcJWZEVXCg&t=12s
Был раньше установлен. Перестал работать виртуальный контроллер и geteway , то есть стартовать .Сейчас переустановил стартанулись, но.... . Все 5 языков. CODESYS_3.5_SP17_Patch3
Здравствуйте.
Кто ни будь знает удобный способ инициализации строки константами побайтно? Например шестнадцатиричными константами.
ИИ предложил вариант
str1 : STRING := 16#48656C6C6F; // "Hello"
Но это не работает
Можно так
hexBytes : ARRAY[0..4] OF BYTE := [16#48, 16#65, 16#6C, 16#6C, 16#6F]; // "Hello"
а потом преобразовывать в строку но это не удобно
Может быть есть более удобный способ?