Пишу для новичков. Тема будет посвящена подключению модулей через библиотеку Owen Communication.
Библиотека Owen Communication
Компания ОВЕН (как и любой другой производитель) разработала специальные библиотеки для обмена между центральным ЦПУ и модулями ввода\вывода.
Для ускорения обмена данными, и групповых запросов ( с одного модуля можно сразу снять все данные одним запросом), что очень удобно.
Скачать можно с официального сайта компании в разделе CDS3.5 -библиотеки.
Реализация в Codesys 3.5
Будем считать, что библиотеки скачаны и интегрированы в дистрибутиве. Сначала мы устанавливаем нужную там библиотеку в менеджере.
Пример можно скачать в группе или на официальном сайте ОВЕН. Где вам удобнее. В общих чертах я разберу пример с небольшими комментариями. Так как реализовывал именно по нему.
Писал я код в ST. Для лучшего понимания сделал скриншоты в FBD.
Здесь в теле программы разбито на два интерфейса RS-485 - COM1 и COM2. Зачем? Чтение идёт по одному каналу, Запись по другому каналу. Это дополнительно ускоряет обмен. В АСУ чем быстрее обмен данными, тем лучше.
ComControl открывает нужный ком порт с соответствующими сетевыми настройками.
Com_Parity и Com_Stopbit это дополнительные функции с перечислением, которые идут в комплекте с библиотекой.
Функциональный блок для опроса модуля, можно опросить один регистр, можно группой, всё зависит от задачи.
Устанавливаем время таймаута (200 ms), Кол-во повторных опросов в случае ошибки(UsiRetry), сигнал готовности ком-порта(hCom), Режим RTU (AsciiMode -false), Адрес (SlaveId), Функцию чтения записи, (их 6, в комплекте в библиотеке), Адрес регистра (DataAddr, по документации к модулю), кол-во регистров (DataCount), Сам массив с данными и его размер (Data и Size).
Word2ToReal - это блок преобразования 2 регистров в число с запятой.
Это ФБ записи регистров в модуль, используем функции 06 и 16.
Настройки все те же самые, только другой набор функций.
Если статья полезна, ставьте лайки, пишите комментарии.