胡銘立 黃熙
摘 ?要:本文介紹了S7-200在工業(yè)以太網(wǎng)與Modbus網(wǎng)絡同步通訊的應用,基于TCP/IP通訊協(xié)議與Modbus RTU通訊協(xié)議,設計了一種集成化、可視化、人性化的綜合監(jiān)控系統(tǒng),詳細闡述了通訊程序設計中通訊模塊CP243-1和軟件庫Modbus Master(V1.1)的應用,為工業(yè)系統(tǒng)在信息集成化方面提供了理論依據(jù)和實踐經(jīng)驗。
關鍵詞:CP243-1;Modbus Master(V1.1);綜合監(jiān)控
中圖分類號:TN915.04 ? ? ?文獻標識碼:A 文章編號:2096-4706(2019)17-0058-03
Abstract:This paper introduces the application of S7-200 in synchronous communication between industrial Ethernet and Modbus network. Based on TCP/IP communication protocol and Modbus RTU communication protocol,an integrated,visual and humanized integrated monitoring system is designed. In the program design,the communication module CP243-1 and the software library Modbus Master (V1.1) application provide theoretical basis and practical experience for industrial system in information integration.
Keywords:CP243-1;Modbus Master(V1.1);comprehensive monitoring
0 ?引 ?言
隨著工業(yè)制造的飛速發(fā)展,工業(yè)控制已從單一控制向集成控制、多元化控制發(fā)展。如今,伴隨網(wǎng)絡時代的日新月異,實現(xiàn)了信息及時共享,在互聯(lián)網(wǎng)高度發(fā)達的今天,網(wǎng)絡互聯(lián)也在工業(yè)制造領域得到了廣泛應用,工業(yè)組網(wǎng)為信息傳遞共享提供了方便,通過不同通訊協(xié)議、控制組件之間,或在網(wǎng)絡(例如以太網(wǎng)或Modbus網(wǎng)絡)和其他設備之間可以通信,從而便捷地完成復雜的監(jiān)控要求。本文針對深圳地鐵四號線供電系統(tǒng)組網(wǎng)通訊設計要求,通過硬件連接與組網(wǎng)編程,給出了可行的具體解決方案。
1 ?設備網(wǎng)絡組態(tài)方案設計
目前,地鐵供電系統(tǒng)中包括的主要設備有變壓器、交流開關柜、整流柜、直流開關柜等。為了實現(xiàn)不同設備的實時監(jiān)測,將交流開關柜、整流柜、直流開關柜的主要報警信息進行集中監(jiān)測顯示。在本項目中,1500V直流開關柜的通訊接口是以太網(wǎng)口,35kV交流開關柜的通訊接口是RS485,Modbus網(wǎng)絡。供電系統(tǒng)組網(wǎng)原理圖如圖1所示。
根據(jù)圖1所示原理圖,虛線框代表單個整流裝置,實線代表信號線,CP243-1自帶RS485串口,3#與4#變流裝置組成一組整流機組。整流機組通過A1B1端和A2B2端將2個整流裝置的相同狀態(tài)信息集中顯示在一個西門子觸摸顯示屏。用作通訊的PLC通過擴展通訊擴展模塊CP243-1與1500V直流開關柜組成以太網(wǎng)進行通訊;PLC本身直接通過RS485串口與35kV交流開關柜組成Modbus網(wǎng)絡進行通訊。
PLC與CP243-1構成通訊控制器,1500V直流開關柜與35kV交流開關柜通過通訊控制器將狀態(tài)信息顯示于觸摸屏上;變流裝置通過并聯(lián)另外兩個PLC,將自身信息顯示于觸摸屏上。觸摸屏與三個PLC通過RS485串口組成MPI網(wǎng)絡,顯示三種設備的實時狀態(tài),實現(xiàn)綜合監(jiān)控。
2 ?S7-200及S7-300以太網(wǎng)通訊
本項目中1500V直流開關柜的控制器為S7-300PLC,變流裝置的控制器為S7-200PLC。S7-200通過以太網(wǎng)擴展模塊CP243-1或CP243-1IT接入工業(yè)以太網(wǎng)。S7-200與S7-300通訊時,S7-200可以作為Client端或Server端,本項目中選擇CP243-1,并且在網(wǎng)絡中將S7-200設為Client端(設為Server端時S7-300的擴展模塊不支持TCP/IP),使用STEP 7-Micro/WIN對S7-200進行編程,在以太網(wǎng)向導中將CP243-1的IP地址設為192.168.0.3,子網(wǎng)掩碼設為255.255.255.0,其他參數(shù)配置設為默認值,點擊下一步進入配置連接對話框,如圖2所示,將遠程服務器(S7-300)的IP地址設置為192.168.0.10,這樣就使得S7-200與S7-300的通訊在同一網(wǎng)段內(nèi);同時將遠程服務器的TSAP設為03.02,其中第一個字節(jié)定義連接號,第二個字節(jié)表示CPU的槽號,客戶機的TSAP設為10.00;連接名設為Connection0_0。點擊數(shù)據(jù)傳輸進入配置CPU至CPU數(shù)據(jù)傳輸對話框,如圖3所示,將第1項讀取字節(jié)設置為4;第2項設置數(shù)據(jù)交換的存儲區(qū)將服務器的DB60.DBB0至DB60.DBB3內(nèi)的數(shù)據(jù)讀入到客戶機的VB0至VB3內(nèi);第3項為此數(shù)據(jù)傳輸定義符號名PeerMessage00_1(此名稱在項目中會應用到),點擊確認完成以太網(wǎng)向導的設置。
完成上述配置后會在指令樹的子程序中生成有關的以太網(wǎng)通訊指令,如圖4所示,分別調(diào)用這兩個通訊指令塊:(1)ETHx_CTRL子程序用于開啟和實施以太網(wǎng)模塊錯誤檢查。此子程序在每次掃描開始時調(diào)用(該子程序在每個模塊中只能使用一次)。每當CPU變更為RUN(運行)模式時,該子程序命令CP243-1以太網(wǎng)模塊檢查V內(nèi)存區(qū)是否存在新配置。(2)ETHx_XFR子程序通過指定客戶機連接信息號碼,該指令負責在S7-200和遠程連接之間進行數(shù)據(jù)傳送。只有當至少配置了一個客戶機連接時,才會生成該子程序。其中Connection0_0與PeerMessage00_1將自動分配地址。傳輸線路類型決定了數(shù)據(jù)傳送所需的時間。如要提高傳輸速度,可使用配備掃描時間低于1s的程序。
完成上述所有配置后,采用交叉連接方式將S7-200與S7-300連接即可通訊。
3 ?S7-200與35kV開關柜Modbus網(wǎng)絡通訊
Modbus是一種用于工業(yè)控制器的網(wǎng)絡協(xié)議。Modbus協(xié)議是一種通訊約規(guī),廣泛應用于電子器件控制器上,不同廠商生產(chǎn)的控制設備,只要符合Modbus協(xié)議的可以連成工業(yè)網(wǎng)絡,進行集中監(jiān)控。
關于Modbus通訊,需要建立主站和從站,主站側需要配置程序庫“MBUS_MSG”和“MBUS_CTRL”,從站側需要配置程序庫“MBUS_SLAVE”and“MBUS_INIT”,如果想要實現(xiàn)在S7-200CPU與其他支持Modbus-RTU的設備之間使用Modbus-RTU協(xié)議通訊,則需將S7-200CPU設為Modbus主站。S7-200CPU做主站時,必須使用自由口模式,按規(guī)定協(xié)議編程。S7-200控制系統(tǒng)使用時,Modbus RTU作為從站,其指令庫僅支持CPU上的通訊口0(Port0)。要啟動Modbus-RTU通訊,需要Step7-Micro/WIN 32 V3.2以上版本編程軟件,且必須安裝Modbus Master(V1.1)指令庫。Modbus-RTU功能是通過在指令庫中預先編好的程序功能塊實現(xiàn)的。
調(diào)用Modbus主站指令編程前應分配庫存儲區(qū),存儲區(qū)的分配對程序的編寫有直接的影響,庫指令數(shù)據(jù)區(qū)是相應庫的子程序和中斷程序所要用到的變量存儲空間,如果在編程時不分配庫指令數(shù)據(jù)區(qū),編譯時會產(chǎn)生許多相同的錯誤,同時也要保證在任何情況下不能再被其他程序所使用,點擊“建議地址”按鈕,系統(tǒng)將自動計算存儲區(qū)的截止地址。
接下來我們將著重討論如何應用Modbus Master(V1.1)指令庫的指令來實現(xiàn)與ABB 35KV開關柜的通訊。
3.1 ?MBUS_CTRL指令
MBUS_CTRL指令如圖5所示,此指令用于MBUS_CTRL指令(位于S7-200端口0)可初始化、監(jiān)控或限用Modbus通訊。在MBUS_MSG指令使用前,必須正確執(zhí)行MBUS_CTRL指令。指令完成后立即設定“完成”位,才能繼續(xù)執(zhí)行下一條指令。
當CPU每次掃描且EN輸入接收打開信號時,MBUS_CTRL指令開始執(zhí)行。MBUS_CTRL指令必須在每次掃描時(包括首次掃描)被調(diào)用,其作用為開啟監(jiān)視隨MBUS_MSG指令啟動的任何突出消息的進程。
每次必須執(zhí)行MBUS_CTRL指令,否則Modbus主設備協(xié)議將不能正確運行。
3.2 ?MBUS_MSG 指令
MBUS_MSG指令如圖6所示,用于請求啟動Modbus從站及處理應答。當EN位和“首次”輸入都為1時,MBUS_MSG指令啟動,向Modbus從站發(fā)送請求并等待應答、處理應答過程時需要多次掃描。EN輸入端必須打開以開啟請求的發(fā)送,保持直到“完成”位被置位。
注意,MBUS_MSG指令每次只能激活一條。如果啟用多條指令,則只執(zhí)行第一條MBUS_MSG指令,之后所有MBUS_MSG指令將被禁止并產(chǎn)生錯誤代碼6。由于ABB 35kV開關柜通訊器中信息的存儲地址不連續(xù),實際編程時調(diào)用了兩條MBUS_MSG指令,為了避免錯誤采用了循環(huán)指令,保證在同一時刻只有一個MBUS_MSG指令處于運行狀態(tài)。
將以上兩個“MBUS_CTRL”和“MBUS_MSG”指令加入事先已編好的以太網(wǎng)程序中,再根據(jù)已設置好的存儲器地址將所有信息一一儲存起來,通過硬件的連接,就可以與1500V開關柜和35kV開關柜進行同步實時通訊。
4 ?結 ?論
本文通過實驗調(diào)試,實現(xiàn)了1500V開關柜和35kV開關柜的狀態(tài)信息的顯示監(jiān)測,證實此組網(wǎng)方案切實可行,滿足設計要求,實現(xiàn)了變電所內(nèi)主要設備的綜合監(jiān)控,大大提高了人工工作效率,減少了設備的故障率。在城市軌道交通供電系統(tǒng)中,基于TCP/IP通訊協(xié)議與Modbus-RTU通訊協(xié)議,實現(xiàn)了S7-200在工業(yè)以太網(wǎng)中與Modbus網(wǎng)絡同步通訊的應用。
參考文獻:
[1] 蔡忠勇.現(xiàn)場總線與工業(yè)以太網(wǎng)產(chǎn)品手冊 [M].北京:機械工業(yè)出版社,2007.
[2] 崔堅.西門子工業(yè)以太網(wǎng)絡通信指南 [M].北京:機械工業(yè)出版社,2005.
[3] 西門子.SIMATIC S7-200系統(tǒng)手冊 [Z/OL].[2019-07-04].https://search.siemens.com/en/?lang=zh&site=siemens_c_cn&q=SIMATIC%20S7-200&lr=lang_zh&collapse=true&class=search%2Cbanner%2Ctext&_charset=UTF-8.
作者簡介:胡銘立(1981-),男,漢族,山西太原人,高級工程師,學士學位,研究方向:電氣工程。