一種云端服務(wù)器與plc ppi通信的網(wǎng)關(guān)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)通信技術(shù)領(lǐng)域,具體來說涉及一種云端服務(wù)器與PLCPPI通信的網(wǎng)關(guān)。
【背景技術(shù)】
[0002]隨著自動化、計算機(jī)、通信、網(wǎng)絡(luò)技術(shù)的發(fā)展以及互聯(lián)網(wǎng)運(yùn)用的普及,計算機(jī)控制與自動化系統(tǒng)由單機(jī)控制、現(xiàn)場總線、工業(yè)以太網(wǎng)絡(luò)逐步邁進(jìn)到互聯(lián)網(wǎng)云端控制系統(tǒng)。作為底層現(xiàn)場控制的核心一一PLC系統(tǒng)因其簡單易用、可靠性高在目前的控制領(lǐng)域還是不可替代,特別是小型PLC系統(tǒng),在電力、化工、環(huán)保、鐵路、燃?xì)?、自來水、醫(yī)療等行業(yè)作為遠(yuǎn)程數(shù)據(jù)采集、控制單元運(yùn)用較多。比較流行、成熟的應(yīng)用模式是服務(wù)器通過GPRS無線網(wǎng)絡(luò)轉(zhuǎn)RS485/422/232接口與PLC遠(yuǎn)程通信,其中GPRS-RS485/422/232網(wǎng)關(guān)對數(shù)據(jù)的傳輸都采用是比較簡單、直接的透明傳輸方式。西門子S7-200 PLC提供RS485接口,支持點(diǎn)對點(diǎn)接口(PPI)協(xié)議,采用接收命令一響應(yīng)一接收確認(rèn)一返回數(shù)據(jù)的同步應(yīng)答方式,響應(yīng)第三方設(shè)備訪問其1、Q、V、M數(shù)據(jù)區(qū),為云端服務(wù)器的數(shù)據(jù)操作提供了極大地方便。采用透明傳輸方式的GPRS-RS485網(wǎng)關(guān),適用范圍廣,但其只是起到了數(shù)據(jù)傳遞的作用,如果要實(shí)現(xiàn)PPI通信,PPI協(xié)議命令的生成、解析以及同步應(yīng)答的任務(wù)都必須由云端服務(wù)器來完成。這實(shí)質(zhì)上,造成云端服務(wù)器與S7-200 PLC的通信完全是串行通信了,云端服務(wù)器的通信速度受限于PLC PPI通信的能力。當(dāng)遠(yuǎn)程監(jiān)控對象點(diǎn)比較多、多用戶同時對多個對象點(diǎn)訪問時,云端服務(wù)器與遠(yuǎn)程PLC通信的任務(wù)會很重,這將嚴(yán)重影響系統(tǒng)數(shù)據(jù)采集的實(shí)時性和命令執(zhí)行的時效性。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為了解決現(xiàn)有技術(shù)中存在的上述缺陷和不足,提供了一種云端服務(wù)器與PLC PPI通信的網(wǎng)關(guān)及方法。所述網(wǎng)關(guān)通過3G/4G無線通信網(wǎng)絡(luò)主動與云端服務(wù)器建立通信連接,采用同步方式與PLC PPI通信,完成讀、寫PLC數(shù)據(jù)的任務(wù),采用異步方式與云端服務(wù)器TCP/IP通信,偵聽接收指令、返回操作結(jié)果,減輕無線網(wǎng)絡(luò)流量,提高通信的效率,使云端服務(wù)器可簡單、直接、高效地訪問PLC數(shù)據(jù)區(qū)。
[0004]本發(fā)明的技術(shù)方案是:
一種云端服務(wù)器與PLC PPI通信的網(wǎng)關(guān),所述網(wǎng)關(guān)包括微處理器、3G/4G無線模塊、RS485接口模塊、Wif i模塊、存儲模塊、狀態(tài)顯示模塊、電源模塊,微處理器分別和3G/4G無線模塊、RS485接口模塊、Wifi模塊、存儲模塊、狀態(tài)顯示模塊連接,電源模塊分別為微處理器、3G/4G無線模塊、RS485接口模塊、Wifi模塊、存儲模塊、狀態(tài)顯示模塊供電,其特征在于,所述微處理器在上電啟動后,首先向3G/4G無線模塊發(fā)送一系列AT指令,使網(wǎng)關(guān)登錄到3G/4G無線網(wǎng)絡(luò),并獲取一個動態(tài)的IP地址,若獲知接入互聯(lián)網(wǎng)之后,向云端服務(wù)器發(fā)送一幀帶有IP地址、網(wǎng)關(guān)ID的請求確認(rèn)連接的數(shù)據(jù),云端服務(wù)器在接收到所述數(shù)據(jù)幀后,提取出網(wǎng)關(guān)的IP地址、網(wǎng)關(guān)ID登記到注冊表中,并返回一條確認(rèn)數(shù)據(jù)幀通知網(wǎng)關(guān)通信連接已建立,TCP/IP連接建立之后,所述網(wǎng)關(guān)定時向所述云端服務(wù)端發(fā)送心跳包,如果通信連接中斷,則所述網(wǎng)關(guān)重新與所述云端服務(wù)器建立連接,恢復(fù)通信;在云端服務(wù)器與網(wǎng)關(guān)建立通信連接的情況下,網(wǎng)關(guān)接收云端服務(wù)器發(fā)送來的讀PLC數(shù)據(jù)操作指令或?qū)憯?shù)據(jù)到PLC操作指令,并針對PLC執(zhí)行相應(yīng)的操作。
[0005]優(yōu)選地,云端服務(wù)器與網(wǎng)關(guān)之間,采用異步方式執(zhí)行完成一次操作指令。
[0006]進(jìn)一步,3G/4G無線模塊偵聽接收操作指令I(lǐng)P數(shù)據(jù)包,拆解為操作指令格式為字節(jié)數(shù)組,并觸發(fā)微處理器中斷,微處理器產(chǎn)生中斷,讀取操作指令字節(jié)數(shù)組,存入存儲區(qū)新指令隊列中。
[0007]更進(jìn)一步,所述微處理器從存儲區(qū)新指令隊列取出一條新指令,首先判斷指令是否有效,若有效再判斷是讀命令還是寫命令,然后分別根據(jù)PPI協(xié)議讀、寫命令的格式,生成讀PLC操作命令字節(jié)數(shù)組有或?qū)慞LC操作命令字節(jié)數(shù)組。
[0008]優(yōu)選地,所述微處理器采用同步通信方式,通過RS485接口模塊與PLC通信。
[0009]進(jìn)一步,微處理器發(fā)送所述讀或?qū)慞LC的操作命令字節(jié)數(shù)組到PLC,接收PLC的應(yīng)答信號,再發(fā)送確認(rèn)命令信號,然后接收PLC返回的數(shù)據(jù)字節(jié)數(shù)組,解析PLC返回的數(shù)據(jù)字節(jié)數(shù)組,最后生成包括界符、讀出數(shù)據(jù)、結(jié)束標(biāo)志在內(nèi)的字節(jié)數(shù)組或者是完成標(biāo)志的字符串返回給云端服務(wù)器;微處理器在讀、寫PLC的過程中,若發(fā)生故障,則生成“操作失敗! ”的數(shù)據(jù)字符串返回給云端服務(wù)器;若讀、寫操作完成,則微處理器將返回給云端服務(wù)器的數(shù)據(jù)傳送給3G/4G無線模塊,若3G/4G無線信號較弱則等待發(fā)送。
[0010]更進(jìn)一步,3G/4G無線模塊將其串口接收字節(jié)數(shù)組封裝成IP數(shù)據(jù)包,發(fā)送到3G/4G無線網(wǎng)絡(luò)中。
[0011]本發(fā)明的有益效果:
本發(fā)明提供的網(wǎng)關(guān)起到了云端服務(wù)器遠(yuǎn)程訪問底層PLC服務(wù)器的橋梁作用,借助于3G/4G無線網(wǎng)絡(luò)公共無線網(wǎng)絡(luò)的便捷解決了底層設(shè)備遠(yuǎn)程通信受地理環(huán)境條件限制的問題,主動向云端服務(wù)器申請通信連接,并始終保持與云端服務(wù)器通信的暢通,實(shí)現(xiàn)了對PPI協(xié)議簡明的轉(zhuǎn)換封裝,使云端服務(wù)器可簡單、直接、高效地訪問PLC中的1、Q、V、M數(shù)據(jù)區(qū);采用同步方式與PLC PPI通信,完成讀、寫PLC數(shù)據(jù)的任務(wù),采用異步方式與云端服務(wù)器TCP/IP通信,偵聽接收指令、返回操作結(jié)果,既保證了通信的穩(wěn)定可靠又提高了通信的效率、降低了無線網(wǎng)絡(luò)的流量,特別是在遠(yuǎn)程監(jiān)控對象點(diǎn)較多、多用戶同時對多個對象點(diǎn)訪問的情況下,可大大地減輕云端服務(wù)器與遠(yuǎn)程S7-200 PLC通信的任務(wù),提高了云端服務(wù)器遠(yuǎn)程訪問S7-200PLC的便捷性。
【附圖說明】
[0012]圖1為本發(fā)明云端服務(wù)器與PLCPPI通信的網(wǎng)關(guān)的結(jié)構(gòu)框圖。
[0013]圖2為本發(fā)明云端服務(wù)器與PLC數(shù)據(jù)交換的方式及過程。
[0014]圖3為本發(fā)明云端服務(wù)器操作命令數(shù)據(jù)格式與PPI協(xié)議數(shù)據(jù)格式的對照圖。
[0015]圖4為本發(fā)明網(wǎng)關(guān)微處理器的主程序流程圖。
[0016]圖5為本發(fā)明網(wǎng)關(guān)的中斷接收指令程序流程圖。
[0017]圖6為本發(fā)明網(wǎng)關(guān)使用環(huán)境示意圖。
【具體實(shí)施方式】
[0018]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明的附圖對本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)地說明。顯然,所示附圖只是為了更好地說明本發(fā)明的技術(shù)方案,并不是本發(fā)明的最佳配置,所說明的實(shí)施例也只是本發(fā)明的一部分實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0019]本發(fā)明提供了一種云端服務(wù)器與PLCPPI通信的網(wǎng)關(guān)及數(shù)據(jù)交換方法,其中所述網(wǎng)關(guān)包括了微處理器、3G/4G無線模塊、RS485接口模塊、Wifi模塊、存儲模塊、狀態(tài)顯示模塊、電源模塊。所述微處理器分別和3G/4G無線模塊、RS485接口模塊、Wif i模塊、存儲模塊、狀態(tài)顯示模塊、時鐘電路、復(fù)位電路連接;所述電源模塊分別為微處理器、3G/4G無線模塊、RS485接口模塊、Wifi模塊、存儲模塊、狀態(tài)顯示模塊供電。所述云端服務(wù)器指部署在互聯(lián)網(wǎng)云端的應(yīng)用服務(wù)軟件系統(tǒng)。優(yōu)選地,所述的PLC指S7-200系列PLC。
[0020]所述3G/4G無線模塊內(nèi)嵌TCP/IP協(xié)議棧,用于將微處理器通過運(yùn)營商的無線網(wǎng)關(guān)接入到互聯(lián)網(wǎng),接收云端服務(wù)器發(fā)送來的數(shù)據(jù)包和發(fā)送數(shù)據(jù)包到云端服務(wù)器。
[0021]所述RS485接口模塊通過串行總線與PLC的P0RT0、P0RT1連接,用于將微處理器傳送過來的數(shù)據(jù)發(fā)送到PLC的串口中或接收PLC串口的信號形成數(shù)據(jù)后傳送給微處理器。
[0022]所述Wifi模塊用于設(shè)定云端服務(wù)器固定IP地址、網(wǎng)關(guān)的ID號、RS485串口的地址、PLC的地址、串行通訊的波特率等參數(shù)。
[0023]所述存儲模塊用于存儲云端服務(wù)器固定的IP地址、網(wǎng)關(guān)的ID、網(wǎng)關(guān)的地址、PLC的地址、串行通訊的波特率等參數(shù)。
[0024]所述狀態(tài)顯示模塊用于電源的狀態(tài)、系統(tǒng)的運(yùn)行、自檢、出錯等信息。
[0025]云端服務(wù)器與PLC PPI通信的方法:
所述微處理器在上電啟動后,首先向3G/4G無線模塊發(fā)送一系列AT指令,使網(wǎng)關(guān)登錄到3