Вложений: 3
Библиотека OwenCommunication (релиз версии 3.5.11.7)
Добрый день. Мы представляем вашему вниманию библиотеку 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 - с возможностью ограничения пула адресов с помощью запрещенных запросов),
поддержка режима Spy (прослушивание линии связи); - MB_TcpSlave - поддержка 20 функции Modbus (чтение файлов), возможность запрета обработки определенных запросов,
получение информации о запросе мастера, возможность изменения порядка байт в буфере слэйва, возможность выбора адреса начального регистра слэйва. - MB_SerialReadFile - чтение файлов с помощью 20 функции Modbus (ПЛК выступает в режиме мастера).
Вложение 44428 Вложение 44429 Вложение 44430
Cкачать библиотеку: OwenCommunication_v3.5.11.7.compiled-library
Скачать документацию: CODESYS V3.5. Modbus [3.2]
Вложений: 2
Релиз библиотеки OwenCommunication 3.5.11.4
Обновили версию библиотеки до 3.5.11.4.
1. Добавлен ФБ MB_SerialReadFile
Вложение 57295
Блок позволяет считывать файлы с других приборов с помощью функции Modbus 20 (0x14) Read File Record.
Пример использования блока для считывания заголовка архива с теплосчетчика ВИС.Т:
пример / описание протокола счетчика
2. Улучшен ФБ MB_SerialSlave
Вложение 57296
- добавлен режим Spy (прослушивание линии связи и выдача информации о "чужих" запросах и ответах).
Поддерживаемые функции: 0x03, 0x04, 0x06, 0x10
Режим включается с помощью входа xSpyMode.
При "поимке" нового запроса на один цикл активируется выход xNewRequest, при "поимке" ответа - выход xNewResponse.
При интенсивном обмене (когда пауза между ними меньше цикла ПЛК) запрос и ответ могут быть детектированы одновременно - тогда взводятся оба выхода.
В течение этого цикла данные о запросе отображаются на выходе stRequestInfo.
Данные из "прослушанных" запросов размещаются по указателю pSpyData.
- для режима отладки (c usiSlaveId = 255) добавлена возможность запрета обработки запроса с определенными Slave ID.
Для этого используется новое поле usiSlaveId в структуре MB_REQ_INFO.
Т.е. если ранее блок в этом режиме позволял эмулировать только все устройства шины (отвечая на запросы к любому адресу), то теперь - и набор устройств с определенными адресами.
Функционал добавлен по запросу пользователя fatlortroll.
Ссылка на обновленную библиотеку и документацию - в первом посте темы.
Релиз библиотеки OwenCommunication 3.5.11.5
Обновили версию библиотеки до 3.5.11.5.
Исправлена ошибка разбора ответа в ФБ MB_SerialReadFile.
Релиз библиотеки OwenCommunication 3.5.11.6
Обновили версию библиотеки до 3.5.11.6.
ФБ UNM_TcpRequest и MB_TcpRequest адаптированы для работы на виртуальном контроллере CODESYS Control Win V3.
Ранее выход uiResponseSize после вызова ФБ UNM_TcpRequest принимал некорректное значение - вместо реального размера ответа отображался размер выделенного под него буфера (т.е. значение входа szResponse). Это поведение исправлено - теперь на этом выходе отображается корректное значение.
Проблема проявлялась только на виртуальном контроллере и не воспроизводилась на реальных контроллерах.
Релиз библиотеки OwenCommunication 3.5.11.7
Обновили версию библиотеки до 3.5.11.7.
Ссылка на обновленную библиотеку и документацию - в первом посте темы.
1. У ФБ MB_TcpSlave добавлен вход c_tSocketTimeout, характеризующий время до разрыва TCP-соединения в случае отсутствия запросов от клиента.
При значении T#0ms – slave разрывает соединение только при получении от клиента TCP-пакета с флагом FIN или RST.
Это позволяет избежать "полуоткрытых" соединений и исчерпания лимита одновременных подключений к слэйву.
Описание причины добавления входа: https://owen.ru/forum/showthread.php...l=1#post389893
2. ФБ MB_TcpSlave теперь отвечает на запросы с Unit ID = 255 и Unit ID = 0 независимо от значения своего входа usiUnitId (согласно спецификации Modbus TCP).
Исправление внесено по просьбе пользователя SolitarY.
3. ФБ MB_TcpRequest теперь поддерживает отправку запроса с Unit ID = 0.
Исправление внесено по просьбе пользователя vozlov.
4. Внесены изменения во все Request-ФБ для повышения удобства их использования при программировании на графических языках (в частности, CFC) - теперь нет ограничения на число одновременно обрабатываемых блоков на холсте (в прошлых версиях библиотеки было ограничение в 9 шт.).