SNMP協(xié)議在WAGO工業(yè)以太網(wǎng)系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
眾所周知,SNMP(Simple Network Management Protocol,簡(jiǎn)網(wǎng)絡(luò)管理協(xié)議)提供了一種從網(wǎng)絡(luò)上的各種設(shè)備中收集網(wǎng)絡(luò)管理信息的方法,它是一個(gè)標(biāo)準(zhǔn)的用于管理IP網(wǎng)絡(luò)節(jié)點(diǎn)的協(xié)議,為現(xiàn)場(chǎng)設(shè)備向網(wǎng)絡(luò)管理站報(bào)告問(wèn)題和錯(cuò)誤提供了一種方法。目前,幾乎所有的網(wǎng)絡(luò)設(shè)備生產(chǎn)廠家都實(shí)現(xiàn)了對(duì)SNMP的支持。隨著工業(yè)以太網(wǎng)技術(shù)在自動(dòng)化領(lǐng)域的不斷發(fā)展,SNMP通訊技術(shù)在自動(dòng)化控制設(shè)備中也得到了廣泛的應(yīng)用,它可以方便地將工業(yè)現(xiàn)場(chǎng)的一些信息快速、方便得傳輸?shù)焦S管理系統(tǒng)。
2 SNMP概述
SNMP管理網(wǎng)絡(luò)主要由三部分組成:網(wǎng)絡(luò)管理系統(tǒng)(NMS---Network-management systems)、被管理設(shè)備(Managed device)、代理(Agent)。網(wǎng)絡(luò)管理系統(tǒng)用于監(jiān)視并控制被管理設(shè)備,提供網(wǎng)絡(luò)管理需要的大量運(yùn)算和記憶資源。被管理設(shè)備又稱為網(wǎng)絡(luò)節(jié)點(diǎn),可通過(guò)管理信息庫(kù)(MIB)收集并儲(chǔ)存管理資訊,供網(wǎng)絡(luò)管理系統(tǒng)讀取。代理是一種存在于被管理設(shè)備中的網(wǎng)絡(luò)管理軟件模組,代理控制并傳送本地設(shè)備的管理資訊。
管理信息庫(kù)(MIB---Management Information Base)是對(duì)象的集合,每個(gè)對(duì)象基本上是一個(gè)數(shù)據(jù)變量,包含有關(guān)配置和性能的數(shù)據(jù),可由SNMP通過(guò)被管理設(shè)備的SNMP管理代理進(jìn)行設(shè)置,代表網(wǎng)絡(luò)中可以管理的資源和設(shè)備。
管理信息結(jié)構(gòu)(SMI---Structure of Management Information)用于定義通過(guò)網(wǎng)絡(luò)管理協(xié)議可訪問(wèn)的對(duì)象的規(guī)則。SMI定義在MIB中使用的數(shù)據(jù)類型及網(wǎng)絡(luò)資源在MIB中的名稱或表示。
/NMP Trap是SNMP的一個(gè)重要功能,當(dāng)被管理設(shè)備出現(xiàn)意外事件,如系統(tǒng)問(wèn)題或用戶設(shè)定的一些問(wèn)題時(shí),代理會(huì)主動(dòng)向管理站發(fā)出告警信息,管理站可以通過(guò)預(yù)先定義的方法進(jìn)行處理。
3 工業(yè)以太網(wǎng)控制器中的SNMP
3.1 WAGO工業(yè)以太網(wǎng)系統(tǒng)介紹
WAGO-I/O-SYSTEM工業(yè)以太網(wǎng)控制系統(tǒng)采用模塊化結(jié)構(gòu),即插即用,體積緊湊,安裝靈活,除了支持Modbus/TCP、Ethernet/IP、ProfiNet、SERCOS等多種工業(yè)以太網(wǎng)協(xié)議以外還同時(shí)支持BootP、DHCP、DNS、FTP、SNTP、SNMP等多種網(wǎng)路管理協(xié)議。
750-841可編程現(xiàn)場(chǎng)總線控制器(PFC)是WAGO公司于2003年推出的經(jīng)典工業(yè)以太網(wǎng)產(chǎn)品,支持SNMPV1/V2c以及SNMPV3,集成了符合RFC1213(MIBⅡ)的通用MIB以及專用WAGO-MIB.SNMP協(xié)議在該產(chǎn)品中充分發(fā)揮了其優(yōu)勢(shì),為實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)控制的信息化管理發(fā)揮了重要的作用。
3.2 PFC 750-841中MIB的構(gòu)成
管理信息庫(kù)(MIB)中定義了可訪問(wèn)的網(wǎng)絡(luò)設(shè)備及其屬性,由對(duì)象識(shí)別符(OID:Object Identifier)唯一指定。管理信息庫(kù)是一個(gè)樹(shù)形結(jié)構(gòu),SNMP協(xié)議消息通過(guò)遍歷SNMP MIB樹(shù)形目錄中的節(jié)點(diǎn)來(lái)訪問(wèn)網(wǎng)絡(luò)中的設(shè)備?
下圖給出了網(wǎng)絡(luò)管理系統(tǒng)中SNMP可訪問(wèn)750-841設(shè)備中WAGO-MIB對(duì)象識(shí)別樹(shù)結(jié)構(gòu):
iso.org.dod.internet.provate.enterprise.wago(1.3.6.1.4.1.13576)
750-841中通用MIBⅡ的分組構(gòu)成見(jiàn)下表:
750-841專用WAGO-MIB中的對(duì)象可通過(guò)SNMP協(xié)議讀取,這些對(duì)象中包含有750-841設(shè)備的狀態(tài)及當(dāng)前設(shè)置等信息,詳細(xì)分組構(gòu)成見(jiàn)下表:
在表2中,組Plc Data Group中的wioPlcDataWriteArea (1.3.6.1.4.1.13576.10.1.100.1.1.3)可顯示存儲(chǔ)255個(gè)DWORD類型的數(shù)據(jù),這些數(shù)據(jù)均來(lái)自于750-841現(xiàn)場(chǎng)總線節(jié)點(diǎn),通過(guò)其內(nèi)部的控制程序確定每一個(gè)單元的數(shù)據(jù)分配,這些數(shù)據(jù)可以是通過(guò)IO模塊從工業(yè)現(xiàn)場(chǎng)直接采集的數(shù)據(jù)也可以是控制器內(nèi)部所生成的中間變量。wioPlcDataReadArea(1.3.6.1.4.1.13576.10.1.100.1.1.2)同樣可以存放255個(gè)DWORD類型的數(shù)據(jù),但這些數(shù)據(jù)是由網(wǎng)絡(luò)管理系統(tǒng)進(jìn)行設(shè)置并傳送到750-841現(xiàn)場(chǎng)總線控制器,可用于控制現(xiàn)場(chǎng)設(shè)備或供750-841控制器內(nèi)部使用。
在此,需特別進(jìn)行介紹的另兩個(gè)組是Snmp Trap String Group和Snmp User Trap String Group.在組Snmp Trap String Group中包含有740-841現(xiàn)場(chǎng)節(jié)點(diǎn)系統(tǒng)信息,如PLC啟動(dòng)、PLC停止、KBUS總線錯(cuò)誤、PLC在線修改等。在組Snmp User Trap String Group中包含10個(gè)用戶可自定義的Trap信息,這些信息是在750-841控制器中設(shè)置完成的。
WAGO-MIB管理信息庫(kù)文件750-917可以從WAGO網(wǎng)站:www.wago.com.cn 上免費(fèi)獲取。
3.3 PFC 750-841與網(wǎng)絡(luò)管理系統(tǒng)之間的信息傳輸
SNMP為應(yīng)用層協(xié)議,其基本功能包括:取得,設(shè)置和接收代理發(fā)送的意外信息。“取得”指的是管理站發(fā)送請(qǐng)求,代理根據(jù)這個(gè)請(qǐng)求回送相應(yīng)的數(shù)據(jù);“設(shè)置”是管理站向被管理設(shè)備發(fā)送設(shè)置 (也就是代理)值;“接收代理發(fā)送的意外信息”是指代理可以在管理站未請(qǐng)求的狀態(tài)下向管理站報(bào)告發(fā)生的意外情況。
上述功能在750-841控制器中是通過(guò)一個(gè)專用庫(kù)文件WagoLibSnmp.lib 實(shí)現(xiàn)的。在CoDeSys 編程環(huán)境下,功能 SNMP_SET_PLCDATA_WRITEAREA 用于將750-841中的某些數(shù)據(jù)按DWORD類型設(shè)置到指定的OID-memory中,范圍從1.3.6.1.4.1.13576.10.1.100.1.1.3.1 到 1.3.6.1.4.1.13576.10.1.100.1.1.3.100,換句話說(shuō),將CoDeSys 中的數(shù)據(jù)傳送到WAGO-MIB管理信息庫(kù)的 wioPlcDataWriterArea中。功能SNMP_GET_PLCDATA_READAREA用于讀取用戶在WAGO-MIB管理信息庫(kù)的wioPlcDataReadArea中設(shè)置的數(shù)據(jù)并將這些數(shù)據(jù)顯示在CoDeSys中的一個(gè)指定數(shù)組中,也就是說(shuō)將wioProcessImage中的數(shù)據(jù)傳送到CoDeSys中。
功能SNMP_SEND_TRAP_SIMPLE用于將一個(gè)String類型數(shù)據(jù)從CoDeSys傳送到WAGO-MIB中的wioUserTrapMessages(1.3.6.1.4.1.13576.10.1.40.4.5.1)作為一個(gè)簡(jiǎn)單的Trap信息向管理站發(fā)送。功能SNMP_SET_USERTRAP_MSG 可用于為wioUserTrapMessages中的全部10個(gè)用戶自定義信息(1.3.6.1.4.1.13576.10.1.40.4.5.1-10)設(shè)置數(shù)據(jù),這些設(shè)置好的Trap信息可采用SNMP_SEND_TRAP_ADVANCED功能發(fā)送到WAGO-MIB中。
3.4 實(shí)例分析
網(wǎng)絡(luò)管理系統(tǒng)采用HIRSCHMANN公司的HiVision軟件。該軟件可自動(dòng)掃描到WAGO Ethernet 750-841節(jié)點(diǎn),如下圖:
被管理設(shè)備選用WAGO 750-841可編程現(xiàn)場(chǎng)總線控制器,750-430 開(kāi)關(guān)量輸入模塊,750-530 開(kāi)關(guān)量輸出模塊,750-461 RTD溫度檢測(cè)模塊以及750-600終端模塊,WAGO-I/O-PRO CAA 編程軟件。在編程軟件中采用SNMP_SET_PLCDATA_WRITEAREA功能向WAGO-MIB中的1.3.6.1.4.1.13576.10.1.100.1.1.3.1~3分別輸入數(shù)據(jù)“8”,“215”,“215”,其中數(shù)據(jù)“215”為750-461模塊實(shí)時(shí)檢測(cè)到的環(huán)境溫度值,如下圖:
通過(guò)網(wǎng)絡(luò)管理系統(tǒng)中的Snmp Browser 可清楚地觀察到WAGO-MIB中所對(duì)應(yīng)的數(shù)據(jù)。如下圖:
4 結(jié)語(yǔ)
SNMP網(wǎng)絡(luò)管理技術(shù)能夠充分地應(yīng)用于WAGO工業(yè)以太網(wǎng)控制產(chǎn)品中,使得工業(yè)現(xiàn)場(chǎng)的一些實(shí)時(shí)數(shù)據(jù)可以直接傳送到工廠管理系統(tǒng)中,便于整個(gè)工廠的設(shè)備管理,提高管理效率,降低管理成本。另外,SNMPV3采用DES(Data Encryption Standard)算法加密數(shù)據(jù)通信并使用MD5和SHA(Secure Hash Algorithm)技術(shù)驗(yàn)證節(jié)點(diǎn)的標(biāo)識(shí)符,從而防止攻擊者冒充管理節(jié)點(diǎn)的身份操作網(wǎng)絡(luò),確保了SNMP體系的安全性。