PDA

Просмотр полной версии : Библиотека OwenCommunication (релиз версии 3.5.11.4)



Евгений Кислов
03.09.2019, 10:02
Добрый день. Мы представляем вашему вниманию библиотеку OwenCommunication.
Эта библиотека используется для обмена по протоколу Modbus и реализации нестандартных протоколов.
Она закрывает функционал доступных ранее библиотек (ComService, Modbus, ModbusSlave) и имеет расширенные возможности.
Библиотеку можно использовать в версиях CODESYS V3.5 SP11 Patch 5 и выше.
По сравнению со стандартными средствами конфигурирования CODESYS библиотека имеет следующие преимущества:


отсутствие ограничений (на число каналов мастера, регистров слэйва и т.д.);
расширенный функционал;
возможность управления обменом из кода (например, можно изменять настройки COM-порта из визуализации контроллера).


Библиотека включает в себя:


функциональные блоки управления интерфейсом (COM_Control, TCP_Client);
функциональные блоки для обмена по Modbus (MB_SerialRequest, MB_SerialSlave, MB_TcpRequest, MB_TcpSlave);
функциональные блоки для реализации нестандартных протоколов (UNM_SerialRequest, UNM_TcpRequest, UNM_UdpRequest);
функции и функциональные блоки конвертации данных (REAL_TO_WORD2, WORD2_TO_REAL и т.д.).


Возможности блоков Modbus:


MB_SerialRequest (Modbus Serial Master) - поддержка широковещательной рассылки (на адрес 0);
MB_TcpRequest (Modbus TCP Master) - поддержка режима RTU over TCP;
MB_SerialSlave - поддержка режима ASCII (блок автоматически определяет протокол), возможность запрета обработки определенных запросов,
получение информации о запросе мастера, возможность изменения порядка байт в буфере слэйва, возможность выбора адреса начального регистра слэйва,
поддержка режима отладки (если слэйву назначен адрес 255, то он отвечает на запросы с любым Slave ID);
MB_TcpSlave - поддержка 20 функции Modbus (чтение файлов), возможность запрета обработки определенных запросов,
получение информации о запросе мастера, возможность изменения порядка байт в буфере слэйва, возможность выбора адреса начального регистра слэйва.


44428 44429 44430

Cкачать библиотеку: OwenCommunication_v3.5.11.4.compiled-library (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OwenCommunication_v3.5.11.4.compiled-library)
Скачать документацию: CODESYS V3.5. Modbus [2.2] (https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v2.2.pdf)

Евгений Кислов
05.10.2021, 10:08
Обновили версию библиотеки до 3.4.11.4.

1. Добавлен ФБ MB_SerialReadFile

57295

Блок позволяет считывать файлы с других приборов с помощью функции Modbus 20 (0x14) Read File Record.

Пример использования блока для считывания заголовка архива с теплосчетчика ВИС.Т:
пример (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/03_Modbus/Example_VistReadArchive_3514v1.projectarchive) / описание протокола счетчика (http://www.teplovizor.ru/mydownloads/singlefile.php?lid=41)

2. Улучшен ФБ MB_SerialSlave

57296


добавлен режим Spy (прослушивание линии связи и выдача информации о "чужих" запросах и ответах).
Поддерживаемые функции: 0x03, 0x04, 0x06, 0x10
Режим включается с помощью входа xSpyMode.
При "поимке" нового запроса на один цикл активируется выход xNewRequest, при "поимке" ответа - выход xNewResponse.
При интенсивном обмене (когда пауза между ними меньше цикла ПЛК) запрос и ответ могут быть детектированы одновременно - тогда взводятся оба выхода.
В течение этого цикла данные о запросе отображаются на выходе stRequestInfo.
Данные из "прослушанных" запросов размещаются по указателю pSpyData.

для режима отладки (c usiSlaveId = 255) добавлена возможность запрета обработки запроса с определенными Slave ID.
Для этого используется новое поле usiSlaveId в структуре MB_REQ_INFO.
Т.е. если ранее блок в этом режиме позволял эмулировать только все устройства шины (отвечая на запросы к любому адресу), то теперь - и набор устройств с определенными адресами.
Функционал добавлен по запросу пользователя fatlortroll (https://owen.ru/forum/showthread.php?t=20069&p=347898&viewfull=1#post347898).


Ссылка на обновленную библиотеку и документацию - в первом посте темы.