Настройка «Агента»
Для организации SNMP протокола «Агент» на ПЛК необходимо добавить блоки SNMP.SNMP_AGENT и SNMP.SNMP_DINT. Первый блок реализует инициализацию программы «Агент» на выбранном ПЛК, второй блок реализует отправку данных типа DINT протоколу «Менеджер». Ниже приведены таблицы входов и выходов данных блоков.
Соотнесение входов/выходов блока SNMP.SNMP_AGENT
|
в/в
|
Название
|
Тип
|
Значение
|
Комментарий
|
|
Input
|
xExecute
|
BOOL
|
|
Запуск
|
|
sOwnIP
|
STRING(100)
|
|
IP адрес агента
| |
|
uiPort
|
UINT
|
161
|
Порт агента
| |
|
Output
|
xError
|
BOOL
|
|
Когда ошибка - TRUE
|
|
|
eError
|
ERROR
|
|
Ошибка*
|
*Ошибка (Error) может принимать следующие значения:
NO_ERROR – нет ошибки
TIME_OUT - таймаут
INIT_ERROR – ошибка инициализации
SEND_ERROR – ошибка отправки
RECEIVE_ERROR – ошибка приема
VERSION_NOT_SUPPORTED – неподдерживаемая версия протокола
INVALID_LICENSE – отсутствие лицензии
Схема входов/выходов блока SNMP.SNMP_DINT:
|
в/в
|
Название
|
Тип
|
Комментарий
|
Наследовано
|
|
Input
|
sOID
|
STRING((gc_
iMaxValueLength
- 1))
|
OID
|
SNMP_VALUE
|
|
pSnmpAgent
|
POINTER TO SNMP_AGENT
|
Указатель на SNMP_AGENT
|
SNMP_VALUE
| |
|
Output
|
diValue
|
DINT
|
Передаваемые данные
|
|
Далее определим необходимые переменные и напишем код программы.
PROGRAM PLC_PRG
VAR
OwnIp: STRING:='192.168.52.60';
I: DINT;
SNMP_AGENT_1: SNMP.SNMP_AGENT;
SNMP_VALUE_1: SNMP.SNMP_DINT;
END_VAR
SNMP_AGENT_1(
xExecute:=TRUE ,
sOwnIP:= OwnIp,
uiPort:=161 ,
xError=> ,
eError=> );
I:=i+1;
SNMP_VALUE_1(sOID:='1.3.6.1.4.1.12', pSnmpAgent:=ADR(SNMP_AGENT_1), diValue:=i );
Сумматор ADD необходим для изменения переменной i, которая будет привязана к OID. Данная переменная будет увеличиваться на 1 в каждом цикле программы.
На данном этапе настройка блока «Агента» завершена.