Скажите пожалуйста, можно ли программно изменить скорость обмена по Modbus RS-485, например с 115200 на 9600? Если можно то как? Или для этого нужна обязательно библиотека типа modbus.lib (а она ведь только платная).
Скажите пожалуйста, можно ли программно изменить скорость обмена по Modbus RS-485, например с 115200 на 9600? Если можно то как? Или для этого нужна обязательно библиотека типа modbus.lib (а она ведь только платная).
Если речь идет о смене настроек в контроллере - то программно изменить их в PLC Configuration действительно нельзя.
А библиотека ModBus.lb бесплатная, просто пока не до конца оттестирована.
Если есть желание принять участие - пишите на ящик в подписи - вышлем.
А тогда еще вопрос. Как мне например разработать собственную библиотеку с уникальными функциями, которых нет в стандартных библиотеках? Существует ли для этого какая то специальная среда разработки библиотек для процессора ОВЕН ПЛК 150? На каком языке они пишутся?
все в том же КоДеСис.
Есть несколько вариантов.
Писать на любых языках высокого уровня. Но интегрировать не так просто.
Писать прям в CoDeSys.
Создаете проект, делаете в нем новые POU - ФБ, Программы. А дальше просто сохраняете как\ не проект а библиотека.
Вот и все.
Ну и если такие замечательные алгоритмы - может поделитесь с пользователями форума?
Меня интересует прежде всего способ программного изменения скорости RS-485 modbus. Если это можно сделать стандартными библиотеками, то подскажите как?
Я вот нашел библиотеку SysComLib. Там есть функция SetComSettings. Пытаюсь программно изменить настройки порта COM1 (RS-485). Но скорость работает только та, что прописана в конфигураторе. Контроллер - ПЛК 150 ИЛ. Если есть пример по этой функции, то скиньте пожалуйста?
а вообще, зачем?
скорость меняется для порта, с которым работаете, а не для модулей...
В сети RS-485 есть панель СП-270, которая успешно работает только на 38400, и другие приборы которые максимум поддерживают 9600. Плк-мастер, все остальное - слейв. Здесь я вижу 2 варианта решения: 1) сделать 2 модуля modbus мастер с разными скоростями и попеременно включать то один, то другой; 2) сделать 1 модуль modbus мастер, и программно менять в нем скорость. Пока ни один реализовать не удается.
Что такое скорость порта и модуля? Не совсем понятно.
Вам в первом варианте необходимо отказаться вообще от нстроект обмена в PLC Configuration. Ну или от SysLibCom...
Во втором варианте необходимо управлять мастерами по команде (отклчать обмен\включать обмен).
То есть,как я понял, если я использую SysLibCom, то все действия по установке параметров соединения 485, и чтение данных из порта я делаю этой библиотекой, а в PLC configuration модуля модбас мастер вообще не должно быть?