АБАК ПЛК
Руководство по настройке и программированию
×

Настройка «Агента»

 
Для организации 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 в каждом цикле программы.
На данном этапе настройка блока «Агента» завершена.
Онлайн помощь создана в Dr.Explain