PDA

Просмотр полной версии : Релиз библиотеки OwenSnmp



Евгений Кислов
25.01.2021, 08:55
Добрый день, коллеги.
Мы разработали библиотеку протокола SNMP (https://ru.wikipedia.org/wiki/SNMP) для CODESYS V3.5.

Этот протокол используется в системах мониторинга сетевого оборудования (например, в системах диспетчеризации ЦОД) для сбора данных с коммутаторов, серверов, источников бесперебойного питания и других устройств.

53167

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


поддерживаемая версия протокола – SNMPv2c;
поддержаны режимы «Менеджер» и «Агент» (GET/SET-запросы);
поддержаны прием и отправка трапов (асинхронных уведомлений).


53168

Библиотека: OwenSnmp_v3.5.14.3.compiled-library (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OwenSnmp_v3.5.14.3.compiled-library)
Документация: CODESYS V3.5. Протокол SNMP [2.2] (https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Snmp_v2.2.pdf)
Примеры: Менеджер (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/12_SNMP/Example_SnmpManager_3514v2.projectarchive), Агент (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/12_SNMP/Example_SnmpAgent_3514v2.zip), Трапы (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/12_SNMP/Example_SnmpTraps_3514v2.zip)

Обсудить библиотеку можно в этой теме:
https://owen.ru/forum/showthread.php?t=23897

Евгений Кислов
24.07.2023, 10:49
Библиотека обновлена до версии 3.5.14.2.
В ФБ Agent и TrapReceiver исправлена ошибка в обработке отрицательных значений типа INTEGER.

Евгений Кислов
27.05.2026, 07:44
Библиотека обновлена до версии 3.5.14.3.

В перечисление VALUE добавлен новый тип - OCTET_STRING_RFC.
Согласно RFC257 (https://datatracker.ietf.org/doc/html/rfc2578#section-7.1.2), п. 7.1.2:



The OCTET STRING type represents arbitrary binary or textual data.
Although the SMI-specified size limitation for this type is 65535
octets, MIB designers should realize that there may be implementation
and interoperability limitations for sizes in excess of 255 octets.


В прошлых версиях библиотеки присутствовал только тип VALUE.OCTET_STRING, который рассматривался исключительно как текстовый -
поэтому, например, нельзя было с помощью него корректно записать данные, в состав которых входили байты с нулевыми значениями
(потому что байт со значением 0 расценивался как конец строки).

Тип VALUE.OCTET_STRING_RFC представляет собой корректную реализацию, которая позволяет передавать как текстовые, так и бинарные данные.
Для сохранения совместимости с предыдущими версиями библиотеки код обработки типа VALUE.OCTET_STRING остался без изменений.

Спасибо Андрею Каровашкину за обнаружение проблемы и помощь в тестировании исправленной версии библиотеки.