摘要: 随着以太网技术在工业自动化领域的快速发展,SNMP协议也被广泛地应用于工业自动化控制产品中, 并在工厂的现代化管理中发挥着重要的作用。本文以WAGO 750-841可编程现场总线控制器为例,系统地介绍了SNMP协议在工业控制产品中的应用。
1 引言
众所周知,SNMP(Simple Network Management Protocol,简单网络管理协议)提供了一种从网络上的各种设备中收集网络管理信息的方法,它是一个标准的用于管理IP网络节点的协议,为现场设备向网络管理站报告问题和错误提供了一种方法。目前,几乎所有的网络设备生产厂家都实现了对SNMP的支持。随着工业以太网技术在自动化领域的不断发展,SNMP通讯技术在自动化控制设备中也得到了广泛的应用,它可以方便地将工业现场的一些信息快速、方便得传输到工厂管理系统。
2 SNMP概述
SNMP管理网络主要由三部分组成:网络管理系统(NMS---Network-management systems)、被管理设备(Managed device)、代理(Agent)。网络管理系统用于监视并控制被管理设备,提供网络管理需要的大量运算和记忆资源。被管理设备又称为网络节点,可通过管理信息库(MIB)收集并储存管理资讯,供网络管理系统读取。代理是一种存在于被管理设备中的网络管理软件模组,代理控制并传送本地设备的管理资讯。
管理信息库(MIB---Management Information Base)是对象的集合,每个对象基本上是一个数据变量,包含有关配置和性能的数据,可由SNMP通过被管理设备的SNMP管理代理进行设置,代表网络中可以管理的资源和设备。
管理信息结构(SMI---Structure of Management Information)用于定义通过网络管理协议可访问的对象的规则。SMI定义在MIB中使用的数据类型及网络资源在MIB中的名称或表示。
SNMP Trap是SNMP的一个重要功能,当被管理设备出现意外事件,如系统问题或用户设定的一些问题时,代理会主动向管理站发出告警信息,管理站可以通过预先定义的方法进行处理。
3 工业以太网控制器中的SNMP
3.1 WAGO工业以太网系统介绍
WAGO-I/O-SYSTEM工业以太网控制系统采用模块化结构,即插即用,体积紧凑,安装灵活,除了支持Modbus/TCP、Ethernet/IP、ProfiNet、SERCOS等多种工业以太网协议以外还同时支持BootP、DHCP、DNS、FTP、SNTP、SNMP等多种网路管理协议。
750-841可编程现场总线控制器(PFC)是WAGO公司于2003年推出的经典工业以太网产品,支持SNMPV1/V2c以及SNMPV3,集成了符合RFC1213(MIBⅡ)的通用MIB以及专用WAGO-MIB。SNMP协议在该产品中充分发挥了其优势,为实现工业现场控制的信息化管理发挥了重要的作用。
3.2 PFC 750-841中MIB的构成
管理信息库(MIB)中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。管理信息库是一个树形结构,SNMP协议消息通过遍历SNMP MIB树形目录中的节点来访问网络中的设备。
下图给出了网络管理系统中SNMP可访问750-841设备中WAGO-MIB对象识别树结构:
(.4.1.13576)
图1 WAGO-MIB对象识别树结构图
750-841中通用MIBⅡ的分组构成见下表:
表1 750-841 MIBⅡ
[DividePage:NextPage]
750-841专用WAGO-MIB中的对象可通过SNMP协议读取,这些对象中包含有750-841设备的状态及当前设置等信息,详细分组构成见下表:
表2 750-841 WAGO-MIB
在表2中,组Plc Data Group中的wioPlcDataWriteArea (..1.3)可显示存储255个DWORD类型的数据,这些数据均来自于750-841现场总线节点,通过其内部的控制程序确定每一个单元的数据分配,这些数据可以是通过IO模块从工业现场直接采集的数据也可以是控制器内部所生成的中间变量。wioPlcDataReadArea(..1.2)同样可以存放255个DWORD类型的数据,但这些数据是由网络管理系统进行设置并传送到750-841现场总线控制器,可用于控制现场设备或供750-841控制器内部使用。
在此,需特别进行介绍的另两个组是Snmp Trap String Group和Snmp User Trap String Group。在组Snmp Trap String Group中包含有740-841现场节点系统信息,如PLC启动、PLC停止、KBUS总线错误、PLC在线修改等。在组Snmp User Trap String Group中包含10个用户可自定义的Trap信息,这些信息是在750-841控制器中设置完成的。
WAGO-MIB管理信息库文件750-917可以从WAGO网站: 上免费获取。
3.3 PFC 750-841与网络管理系统之间的信息传输
SNMP为应用层协议,其基本功能包括:取得,设置和接收代理发送的意外信息。“取得”指的是管理站发送请求,代理根据这个请求回送相应的数据;“设置”是管理站向被管理设备发送设置 (也就是代理)值;“接收代理发送的意外信息”是指代理可以在管理站未请求的状态下向管理站报告发生的意外情况。
上述功能在750-841控制器中是通过一个专用库文件 实现的。在CoDeSys 编程环境下,功能 SNMP_SET_PLCDATA_WRITEAREA 用于将750-841中的某些数据按DWORD类型设置到指定的OID-memory中,范围从.4.1.13. 到 .4.1.13.,换句话说,将CoDeSys 中的数据传送到WAGO-MIB管理信息库的 wioPlcDataWriterArea中。功能SNMP_GET_PLCDATA_READAREA用于读取用户在WAGO-MIB管理信息库的wioPlcDataReadArea中设置的数据并将这些数据显示在CoDeSys中的一个指定数组中,也就是说将wioProcessImage中的数据传送到CoDeSys中。
功能SNMP_SEND_TRAP_SIMPLE用于将一个String类型数据从CoDeSys传送到WAGO-MIB中的wioUserTrapMessages(..5.1)作为一个简单的Trap信息向管理站发送。功能SNMP_SET_USERTRAP_MSG 可用于为wioUserTrapMessages中的全部10个用户自定义信息(..5.1-10)设置数据,这些设置好的Trap信息可采用SNMP_SEND_TRAP_ADVANCED功能发送到WAGO-MIB中。
3.4 实例分析
网络管理系统采用HIRSCHMANN公司的HiVision软件。该软件可自动扫描到WAGO Ethernet 750-841节点,如下图:
图2 HiVision 主界面
被管理设备选用WAGO 750-841可编程现场总线控制器,750-430 开关量输入模块,750-530 开关量输出模块,750-461 RTD温度检测模块以及750-600终端模块,WAGO-I/O-PRO CAA 编程软件。在编程软件中采用SNMP_SET_PLCDATA_WRITEAREA功能向WAGO-MIB中的.4.1.13.~3分别输入数据“8”,“215”,“215”,其中数据“215”为750-461模块实时检测到的环境温度值,如下图:
[DividePage:NextPage]
图3 WAGO-I/O-PRO CAA 程序界面
通过网络管理系统中的Snmp Browser 可清楚地观察到WAGO-MIB中所对应的数据。如下图:
图4 HiVision 中的Snmp Brower工具界面
4 结语
SNMP网络管理技术能够充分地应用于WAGO工业以太网控制产品中,使得工业现场的一些实时数据可以直接传送到工厂管理系统中,便于整个工厂的设备管理,提高管理效率,降低管理成本。另外,SNMPV3采用DES(Data Encryption Standard)算法加密数据通信并使用MD5和SHA(Secure Hash Algorithm)技术验证节点的标识符,从而防止攻击者冒充管理节点的身份操作网络,确保了SNMP体系的安全性。
(转载)