基于s7協(xié)議的hmi與plc數(shù)據(jù)通信方法及設(shè)備的制造方法
【專利摘要】基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法,包括HMI任務(wù)與PLC任務(wù),所述HMI任務(wù)包括:等待接收數(shù)據(jù);判斷緩存數(shù)據(jù)是否為握手?jǐn)?shù)據(jù),并驗證是否符合S7協(xié)議;在PLC端進(jìn)行數(shù)據(jù)處理及數(shù)據(jù)交換;判斷本步驟中的信號處理完成時間是否超時。所述PLC任務(wù)包括如下步驟:等待及接收HMI信號,將接收的數(shù)據(jù)發(fā)送到PLC端;等待PLC端數(shù)據(jù)是否超時,將數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù)。本發(fā)明還公開了一種基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備。采用本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法及設(shè)備,解決了S7系列PLC設(shè)備與HMI通信之間的互聯(lián),實現(xiàn)不同網(wǎng)絡(luò)之間的數(shù)據(jù)交換,無需獨立的通信模塊,降低了成本。
【專利說明】
基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法及設(shè)備
技術(shù)領(lǐng)域
[0001 ]本發(fā)明屬于電子通信領(lǐng)域,涉及一種數(shù)據(jù)交換方法及設(shè)備,具體涉及一種基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法及設(shè)備。
【背景技術(shù)】
[0002]HMI是Human Machine Interface的縮寫,“人機接口”,也叫人機界面。人機界面(又稱用戶界面或使用者界面)是系統(tǒng)和用戶之間進(jìn)行交互和信息交換的媒介,在通信領(lǐng)域,HMI也常作為人機交互接口數(shù)據(jù)的簡稱。PLC,又稱可編程邏輯控制器,是一種采用一類可編程的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運算、順序控制、定時、計數(shù)與算術(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機械或生產(chǎn)過程,在通信中,PLC常指存儲在可編程邏輯器件中的計算機數(shù)據(jù)。
[0003]在工業(yè)控制系統(tǒng)中,大部分系統(tǒng)都需要HMI與PLC做一個實時的人機交互界面,基于S7以太網(wǎng)協(xié)議開發(fā)的S7-1200/S7-300/S7-400系列產(chǎn)品由于速度快精度高而得到廣泛運用,但基于S7協(xié)議的PLC不能與一般的HMI設(shè)備直接進(jìn)行數(shù)據(jù)交換,在S7協(xié)議背景下,缺乏一種通用的解決PLC與HMI數(shù)據(jù)實時交換的方法及設(shè)備。
【發(fā)明內(nèi)容】
[0004]為解決在S7協(xié)議背景下,缺乏一種通用的解決PLC與HMI數(shù)據(jù)實時交換的方法及設(shè)備的技術(shù)問題,本發(fā)明公開了一種基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法及設(shè)備。
[0005]本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法,包括HMI任務(wù)與PLC任務(wù),所述HMI任務(wù)包括如下步驟:
S11:初始化HMI端任務(wù),等待PLC端任務(wù)初始化完成;
S12:等待接收數(shù)據(jù);判斷接收端是否為空,是則繼續(xù)等待,否則進(jìn)行步驟S13;
S13:將接收端數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù);
S14:判斷緩存數(shù)據(jù)是否為握手?jǐn)?shù)據(jù),并驗證是否符合S7協(xié)議;是則進(jìn)入步驟S15;否則返回步驟SI 2;
S15:判斷是否為數(shù)據(jù)交換報文,是則進(jìn)入步驟S16,否則返回步驟S12;
S16:判斷數(shù)據(jù)交換報文的V區(qū)設(shè)置,根據(jù)V區(qū)設(shè)置將數(shù)據(jù)分散存儲在PLC的不同地址; S17:在PLC端進(jìn)行數(shù)據(jù)處理及數(shù)據(jù)交換;
S18:等待PLC端信號處理完成并判斷本步驟中的信號處理完成時間是否超時;如果超時,繼續(xù)判斷超時次數(shù)是否滿Al次,累計超時Al次之后,則返回步驟SI I;如超時未滿Al次,則將數(shù)據(jù)做相應(yīng)的處理返回到HMI;同時回到步驟S12;
所述PLC任務(wù)包括如下步驟:
521:初始化PLC端任務(wù),連接PLC,綁定PLC的102端口 ;
522:等待及接收HMI信號,將接收的數(shù)據(jù)發(fā)送到PLC端;
523:等待及接收PLC端數(shù)據(jù); S24:判斷等待PLC端數(shù)據(jù)是否超時,如果沒有超時,則進(jìn)入步驟S25 ;如果超時,則繼續(xù)判斷是否累計達(dá)A2次,如果累計達(dá)到A2次超時,就將返回步驟S21,如果超時但累計次數(shù)未達(dá)A2次,則返回步驟S22;
S25:將數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù),接收完畢后返回步驟S22;
所述Al及A2為大于2的正整數(shù)。
[0006]
優(yōu)選的,所述A1=A2=5。
[0007]優(yōu)選的,所述步驟S14中對S7協(xié)議的驗證方法為:等待S7協(xié)議的三次握手完成,三次握手完成,則符合S7協(xié)議。
[0008]本發(fā)明還公開了一種基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備,其特征在于,包括中央處理器及與中央處理器連接的網(wǎng)絡(luò)通信芯片和緩存器,所述網(wǎng)絡(luò)通信芯片連接有多個數(shù)據(jù)接口,所述中央處理器中安裝有能實現(xiàn)如前所述方法的軟件程序。
[0009]優(yōu)選的,所述數(shù)據(jù)接口為RJ45接口。
[0010]優(yōu)選的,所述中央處理器為STM32F407VET6,所述網(wǎng)絡(luò)通信芯片為IP17OTLFI。
[0011]優(yōu)選的,所述中央處理器和網(wǎng)絡(luò)通信芯片間通過MII接口連接。
[0012]采用本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法及設(shè)備,解決了S7系列PLC設(shè)備與HMI通信之間的互聯(lián),實現(xiàn)不同網(wǎng)絡(luò)之間的數(shù)據(jù)交換,無需獨立的通信模塊,降低了成本;從而為HMI與PLC互聯(lián)用戶帶來更大的效益并節(jié)約了成本,為S7協(xié)議系列產(chǎn)品的應(yīng)用開拓了更大市場。
【附圖說明】
[0013]圖1為本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法中HMI任務(wù)的一種【具體實施方式】流程示意圖;
圖2為本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法中PLC任務(wù)的一種【具體實施方式】流程示意圖;
圖3為本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備的一種【具體實施方式】結(jié)構(gòu)示意圖。
【具體實施方式】
[0014]下面結(jié)合附圖,對本發(fā)明的【具體實施方式】作進(jìn)一步的詳細(xì)說明。
[0015]本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法,包括HMI任務(wù)與PLC任務(wù),如圖1所示的【具體實施方式】中,所述HMI任務(wù)包括如下步驟:
S11:初始化HMI端任務(wù),等待PLC端任務(wù)初始化完成;
S12:等待接收數(shù)據(jù);判斷接收端是否為空,是則繼續(xù)等待,否則進(jìn)行步驟S13;
S13:將接收端數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù);
所謂緩沖區(qū)為硬件系統(tǒng)提供,可以是專門的緩存器件如FLASH,也可以是在處理器的存儲設(shè)備中單獨臨時劃分出的某些存儲區(qū)域。
[0016]S14:判斷緩存數(shù)據(jù)是否為握手?jǐn)?shù)據(jù),并驗證是否符合S7協(xié)議;是則進(jìn)入步驟S15;否則返回步驟S12; S7協(xié)議包括很多自身信號特點,對這些特點進(jìn)行驗證即可判斷出所接收的數(shù)據(jù)是否符合S7協(xié)議,一種優(yōu)選實施方式為判斷握手?jǐn)?shù)據(jù)是否連續(xù)完成三次握手,是則進(jìn)入下一步,如果緩存數(shù)據(jù)不是握手?jǐn)?shù)據(jù)或不符合S7協(xié)議,例如不能完成三次握手,則重新回到步驟S12的等待狀態(tài)。
[0017]S15:判斷是否為數(shù)據(jù)交換報文,是則進(jìn)入步驟S16,否則返回步驟S12;
S16:判斷數(shù)據(jù)交換報文的V區(qū)設(shè)置,根據(jù)V區(qū)設(shè)置將數(shù)據(jù)分散存儲在PLC的不同地址;所謂V區(qū)設(shè)置是PLC數(shù)據(jù)交換的一個重要設(shè)置,根據(jù)不同的V區(qū)設(shè)置定義規(guī)則,數(shù)據(jù)交換報文中的數(shù)據(jù)被重新分散并存儲在PLC的不同地址中。
[0018]S17:在PLC端進(jìn)行數(shù)據(jù)處理及數(shù)據(jù)交換;
S18:等待PLC端信號處理完成并判斷本步驟中的信號處理完成時間是否超時;如果超時,繼續(xù)判斷超時次數(shù)是否滿Al次,累計超時Al次之后,則返回步驟Sll;如超時未滿Al次,則將數(shù)據(jù)做相應(yīng)的處理返回到HMI;同時回到步驟S12。
[0019]判斷數(shù)據(jù)是否超時是對數(shù)據(jù)交換過程是否正常的常用方法,當(dāng)連續(xù)出現(xiàn)信號處理時間超時時,則認(rèn)為接收的數(shù)據(jù)存在問題或系統(tǒng)自身工作不正常,根據(jù)具體情況設(shè)置一個具體的超時次數(shù)Al,便于用戶快速察覺各種不正常狀態(tài),通過重啟系統(tǒng)回到步驟Sll回歸到正常的數(shù)據(jù)傳遞狀態(tài)。如果只是偶然出現(xiàn)個別超時,未滿足超時次數(shù)Al,則認(rèn)為本次數(shù)據(jù)傳遞不正常,返回到步驟S12。
[0020]上述HMI任務(wù)可完成將HMI端接收的數(shù)據(jù)傳遞到PLC端的過程。
[0021]如圖2所示的【具體實施方式】中,所述PLC任務(wù)包括如下步驟:
S21:初始化PLC端任務(wù),連接PLC,綁定PLC的102端口 ;
102端口是PLC數(shù)據(jù)傳輸中的數(shù)據(jù)端口,綁定102端口是PLC數(shù)據(jù)傳輸?shù)谋仨毑襟E。
[0022]S22:等待及接收HMI信號,將接收的數(shù)據(jù)發(fā)送到PLC端;
523:等待及接收PLC端數(shù)據(jù);
524:判斷等待PLC端數(shù)據(jù)是否超時,如果沒有超時,則進(jìn)入步驟S25 ;如果超時,則繼續(xù)判斷是否累計達(dá)A2次,如果累計達(dá)到A2次超時,就將返回步驟S21,如果超時但累計次數(shù)未達(dá)A2次,則返回步驟S22;
S25:將數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù),接收完畢后返回步驟S22。
[0023]Al及A2至少為大于2的正整數(shù),通常設(shè)置為5次。
[0024]采用本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法及設(shè)備,解決了S7系列PLC設(shè)備與HMI通信之間的互聯(lián),實現(xiàn)不同網(wǎng)絡(luò)之間的數(shù)據(jù)交換,無需獨立的通信模塊,降低了成本;從而為HMI與PLC互聯(lián)用戶帶來更大的效益并節(jié)約了成本,為S7協(xié)議系列產(chǎn)品的應(yīng)用開拓了更大市場。
[0025]以上方法采用本領(lǐng)域常用的各種計算機語言編程實現(xiàn),為更好的實現(xiàn)以上方法,本發(fā)明還公開了一種基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備,包括中央處理器及與中央處理器連接的網(wǎng)絡(luò)通信芯片和緩存器,所述網(wǎng)絡(luò)通信芯片連接有多個數(shù)據(jù)接口,所述中央處理器中安裝有能實現(xiàn)如前所述方法的軟件程序。
[0026]在圖3所示的【具體實施方式】中,中央處理器為由STM32F407VET6組成的嵌入式處理器,由IP17 5DLFI構(gòu)成的網(wǎng)絡(luò)通信芯片,F(xiàn)LASH模塊及晶振電路、復(fù)位電路和指示電路,其中嵌入式處理器通過MII接口與網(wǎng)絡(luò)通信芯片通信連接,MII接口數(shù)據(jù)傳輸速度快。FLASH模塊與嵌入式處理器通信連接,晶振電路、復(fù)位電路和指示電路與嵌入式處理器信號連接。
[0027]在本實施例中,還包括用于驅(qū)動該轉(zhuǎn)換器的電源處理模塊,所述電源處理模塊包括通信模塊隔離電源,網(wǎng)絡(luò)芯片線性電源,主控芯片線性電源,其中,所述通信模塊隔離電源選用5V電源,隔離電壓高達(dá)3000V,這樣的設(shè)計使得電源輸入和系統(tǒng)是始終處于隔離狀態(tài);所述網(wǎng)絡(luò)芯片線性電源與IP17OTLFI網(wǎng)絡(luò)通信芯片電性連接,所述主控芯片線性電源與嵌入式處理器電性連接。
[0028]電源模塊可以選用5V和3.3V電源作為主電源。其中,嵌入式處理器及網(wǎng)絡(luò)通信芯片采用3.3V電源供電,其余部件模塊采用5V電源供電,電源隔離電壓高達(dá)3000V,可使電源輸入和系統(tǒng)是始終處于隔離狀態(tài)。
[0029]嵌入式處理器STM32F407VET6為32位處理器,網(wǎng)絡(luò)通信芯片優(yōu)選采用IP175DLFI,通過多個RJ45接口與PLC和HMI設(shè)備連接,STM32F407VET6與網(wǎng)絡(luò)芯片IP175DLFI通過MII接口連接實現(xiàn)通信,軟件程序存儲在中央處理器STM32F407VET6中,在HMI任務(wù)中,STM32F407VET6接收到數(shù)據(jù)后將對數(shù)據(jù)進(jìn)行相應(yīng)的計算或移位處理,然后將轉(zhuǎn)換后的數(shù)據(jù)轉(zhuǎn)發(fā)給PLC,同樣在PLC任務(wù)中,PLC接收到數(shù)據(jù)之后也會通過STM32F407VET6的數(shù)據(jù)處理流程并且將PLC的數(shù)據(jù)轉(zhuǎn)發(fā)給HMI從而實現(xiàn)HMI與PLC的協(xié)議轉(zhuǎn)換使得PLC和HMI進(jìn)行數(shù)據(jù)交換。硬件中還可以設(shè)置由過流保護(hù)、過壓保護(hù)、反接保護(hù)組成的電源保護(hù)模塊,以提高系統(tǒng)整體安全系數(shù)。
[0030]采用本發(fā)明所述基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備的上述【具體實施方式】,具備如下優(yōu)越性:
一、STM32F407VET6嵌入式處理器和IP17OTLFI網(wǎng)絡(luò)通信芯片間通過MII接口連接,數(shù)據(jù)傳輸速度快。
[0031]二、采用隔離電源提供5V電壓,保證了總線工作的獨立性,減少了設(shè)備電源對總線的干擾;
三、STM32F407VET6嵌入式處理器采用采用獨立的25M有源晶振,使系統(tǒng)更加穩(wěn)定可靠;
四、由過流保護(hù)、過壓保護(hù)、反接保護(hù)組成的電源保護(hù)模塊,可以為電源模塊提供保護(hù)保障,確保系統(tǒng)運行穩(wěn)定,異常情況下不會造成損害。
[0032]前文所述的為本發(fā)明的各個優(yōu)選實施例,各個優(yōu)選實施例中的優(yōu)選實施方式如果不是明顯自相矛盾或以某一優(yōu)選實施方式為前提,各個優(yōu)選實施方式都可以任意疊加組合使用,所述實施例以及實施例中的具體參數(shù)僅是為了清楚表述發(fā)明人的發(fā)明驗證過程,并非用以限制本發(fā)明的專利保護(hù)范圍,本發(fā)明的專利保護(hù)范圍仍然以其權(quán)利要求書為準(zhǔn),凡是運用本發(fā)明的說明書及附圖內(nèi)容所作的等同結(jié)構(gòu)變化,同理均應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法,包括HMI任務(wù)與PLC任務(wù),其特征在于,所述HMI任務(wù)包括如下步驟: SI I:初始化HMI端任務(wù),等待PLC端任務(wù)初始化完成; S12:等待接收數(shù)據(jù);判斷接收端是否為空,是則繼續(xù)等待,否則進(jìn)行步驟S13; S13:將接收端數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù); S14:判斷緩存數(shù)據(jù)是否為握手?jǐn)?shù)據(jù),并驗證是否符合S7協(xié)議;是則進(jìn)入步驟S15;否則返回步驟SI 2; S15:判斷是否為數(shù)據(jù)交換報文,是則進(jìn)入步驟S16,否則返回步驟S12; S16:判斷數(shù)據(jù)交換報文的V區(qū)設(shè)置,根據(jù)V區(qū)設(shè)置將數(shù)據(jù)分散存儲在PLC的不同地址; S17:在PLC端進(jìn)行數(shù)據(jù)處理及數(shù)據(jù)交換; S18:等待PLC端信號處理完成并判斷本步驟中的信號處理完成時間是否超時;如果超時,繼續(xù)判斷超時次數(shù)是否滿Al次,累計超時Al次之后,則返回步驟SI I;如超時未滿Al次,則將數(shù)據(jù)做相應(yīng)的處理返回到HMI;同時回到步驟S12; 所述PLC任務(wù)包括如下步驟: 521:初始化PLC端任務(wù),連接PLC,綁定PLC的102端口 ; 522:等待及接收HMI信號,將接收的數(shù)據(jù)發(fā)送到PLC端; 523:等待及接收PLC端數(shù)據(jù); 524:判斷等待PLC端數(shù)據(jù)是否超時,如果沒有超時,則進(jìn)入步驟S25 ;如果超時,則繼續(xù)判斷是否累計達(dá)A2次,如果累計達(dá)到A2次超時,就將返回步驟S21,如果超時但累計次數(shù)未達(dá)A2次,則返回步驟S22; S25:將數(shù)據(jù)拷貝到緩沖區(qū),接收緩存數(shù)據(jù),接收完畢后返回步驟S22; 所述Al及A2為大于2的正整數(shù)。2.如權(quán)利要求1所述的基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法,其特征在于,所述A1=A2=5。3.如權(quán)利要求1所述的基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信方法,其特征在于,所述步驟S14中對S7協(xié)議的驗證方法為:等待S7協(xié)議的三次握手完成,三次握手完成,則符合S7協(xié)議。4.基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備,其特征在于,包括中央處理器及與中央處理器連接的網(wǎng)絡(luò)通信芯片和緩存器,所述網(wǎng)絡(luò)通信芯片連接有多個數(shù)據(jù)接口,所述中央處理器中安裝有能實現(xiàn)如權(quán)利要求1至3任意一項所述方法的軟件程序。5.如權(quán)利要求1所述的基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備,其特征在于,所述數(shù)據(jù)接口為 RJ45接口。6.如權(quán)利要求1所述的基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備,其特征在于,所述中央處理器為STM32F407VET6,所述網(wǎng)絡(luò)通信芯片為IP17OTLFI。7.如權(quán)利要求6所述的基于S7協(xié)議的HMI與PLC數(shù)據(jù)通信設(shè)備,其特征在于,所述中央處理器和網(wǎng)絡(luò)通信芯片間通過MII接口連接。
【文檔編號】G05B19/042GK105955103SQ201610275663
【公開日】2016年9月21日
【申請日】2016年4月29日
【發(fā)明人】王永貴, 郭靜, 申小林, 廖亮
【申請人】四川零點自動化系統(tǒng)有限公司