1、 引言
近年來,PLC的網(wǎng)絡應用日益廣泛,組成更高級的集散控制系統(tǒng)甚至整個工廠的自動化,已成為工業(yè)現(xiàn)代化的趨勢,實現(xiàn)遠程連接和通信成為了PLC的基本性能之一。而PLC網(wǎng)絡結(jié)構(gòu)復雜,技術(shù)難度大,投資較高,給用戶在開發(fā)應用造成了一定的困難。OMRON公司的PLC較早投入我國市場,在我國工控領(lǐng)域應用較為廣泛,掌握其PLC的網(wǎng)絡技術(shù)和通信方法,對進一步推廣PLC的應用,提高工廠自動化水平具有較大的現(xiàn)實意義。
2、 OMRON PLC網(wǎng)絡
OMRON PLC的網(wǎng)絡分為三層:Ethernet網(wǎng)、Controller Link控制器網(wǎng)、Compo BUS/D與Compo BUS/S元器件網(wǎng),其三層網(wǎng)絡控制平臺如圖1所示。
圖1 OMRON PLC三層網(wǎng)絡
2.1 Ethernet網(wǎng)
Ethernet網(wǎng)絡即所說的以太網(wǎng),它是工廠自動化領(lǐng)域用于信息管理層上的網(wǎng)絡,它的通信速率高,可達100M bps,以太網(wǎng)模塊使PLC可以作為工廠局域網(wǎng)的一個節(jié)點,網(wǎng)絡上的任何一臺計算機都可以實現(xiàn)對它的控制。在OMRON的PLC中,中型機以上的PLC才能上以太網(wǎng),通常有三種機型,CS1系列、CV系列、和C200H系列。在CS1系列和CV系列上分別直接裝Ethernet單元CS1W-ETN01/11、CV500-ETN01,而在C200Hα上除了必須安裝PC卡單元(C200HW-PCS01)外,還必須配置通信板(C200HW-COM01/04),并用總線單元將PC卡單元與通信板連接起來。OMRON PLC的Ethernet網(wǎng)具有以下功能:
遠程編程和監(jiān)控:在連接到Ethernet網(wǎng)絡的計算機上運行CX-Programmer可以對所有連接的Ethernet網(wǎng)絡上的PLC進行編程和監(jiān)控。
FINS信息服務:在PLC之間和PLC與計算機之間發(fā)送FINS信息,使用Ethernet Fins Gateway能夠不必編寫FINS指令程序而直接管理信息。
Socket服務:由Windows提供一組函數(shù),允許用戶程序直接調(diào)用及使用TCP和UDP協(xié)議,在Ethernet網(wǎng)上進行數(shù)據(jù)傳輸。
FTP服務:使用FTP在CPU單元的存儲卡和計算機存儲器之間傳送文件。
Email服務:當在出錯或在預定的時間內(nèi),一個標志變?yōu)镺N,此時從PLC向上位機發(fā)送電子郵件。
網(wǎng)絡間通信:處在網(wǎng)絡上的不同節(jié)點可以通過網(wǎng)關(guān)通信,通過FINS指令可實現(xiàn)跨網(wǎng)絡的連接。PLC通過使SEND、RECV、CMND指令跨網(wǎng)并與其它PLC進行通信,網(wǎng)間通信限制在三級網(wǎng)絡內(nèi)進行。OMRON PLC的Ethernet網(wǎng)的主要技術(shù)指標如表1所示。
表1 Ethernet網(wǎng)的主要技術(shù)指標
2.2 Controller Link 控制器網(wǎng)
Controller Link 控制器網(wǎng)能夠在工廠現(xiàn)場以一種全功能的FA網(wǎng)絡形式連接PLC,Controller Link 是一種令牌總線網(wǎng),可以在OMRON的CS1/CV/C200HX系列PLC和計算機之間方便靈活地發(fā)送和接收大容量的數(shù)據(jù)包,它支持能共享數(shù)據(jù)的數(shù)據(jù)鏈接和在需要時發(fā)送和接收數(shù)據(jù)的信息服務,數(shù)據(jù)鏈接區(qū)域能自由設置以建立靈活的數(shù)據(jù)鏈接系統(tǒng)。Controller Link 網(wǎng)具有以下功能:
數(shù)據(jù)鏈接:在PLC之間以及PLC和上位計算機之間,能夠柔性的創(chuàng)建大容量數(shù)據(jù)鏈接,使用Controller Link FinsGateway 能夠在應用層上管理數(shù)據(jù)鏈接,無需梯形圖。I / O、鏈接區(qū)、數(shù)據(jù)存儲器區(qū)和擴展數(shù)據(jù)存儲器區(qū)均可作為發(fā)送或接收區(qū)。
遠程編程和監(jiān)控:通過與RS-232C鏈接,Controller Link 網(wǎng)絡上能夠使用CX-Programmer進行編程和監(jiān)控PLC。
FINS通信服務:在PLC和上位計算機之間實現(xiàn)大容量數(shù)據(jù)傳送,Controller Link FinsGateway 能夠在應用層上管理數(shù)據(jù)鏈接,而不必編寫FINS指令程序。
信息服務:可以對特定節(jié)點進行讀寫數(shù)據(jù)、改變操作模式等操作,通過在程序中執(zhí)行SEND / RECV指令發(fā)送和接收數(shù)據(jù),通過CMND指令發(fā)送FINS命令執(zhí)行讀寫操作。
ESA功能:實時監(jiān)控網(wǎng)絡的狀態(tài),當網(wǎng)絡上產(chǎn)生錯誤時,EAS可記錄和顯示錯誤發(fā)生的時間和錯誤信息。Controller Link 控制器網(wǎng)的主要技術(shù)指標如表2所示。
表2 Controller Link 控制器網(wǎng)的主要技術(shù)指標
2.3 Compo BUS/D網(wǎng)絡
Compo BUS/ D是OMRON的一種開放、多主控的設備網(wǎng),開放性是其特色,采用Device Net 的通信協(xié)議。其它廠家的設備,只要符合 Device Net的標準,就可以接入其中,是一種控制功能齊全、配置靈活、實現(xiàn)方便的分散控制網(wǎng)絡。Compo BUS/D的主要功能有:
遠程I / O通信:無需編寫特殊的程序,裝有主單元PLC的CPU可以直接讀寫I / O,從單元的I / O點現(xiàn)實遠程控制。
信息通信:安裝主單元的PLC在CPU單元里執(zhí)行特殊指令(SEND 、RECV、CMND和IOWR)可以向其它主單元、從單元、甚至其它公司的設備讀寫信息,控制它們的運行。Compo BUS/D的通信標準如表3。
表3 Compo BUS/D的通信標準
2.4 Compo BUS/S 網(wǎng)絡
Compo BUS/S 網(wǎng)絡是一種主從式總線結(jié)構(gòu)的控制網(wǎng)絡,它的響應速度快,實時性強,實現(xiàn)簡便,可以對遠程的I/O實現(xiàn)分散控制。該系統(tǒng)由一臺PLC(CS1、CQM1H、C200Hα)帶Compo BUS/S主站模塊或一臺SRM1主控單元作為主站,一個主單元最多可帶32個遠程從站單元,控制256個輸入輸出點。接16臺從站單元、128點輸入輸出點時可達到0.5ms的高速通信。Compo BUS/S通信系統(tǒng)具有以下特點:
主干線遠距離通信:新增了遠距離通信模式,允許主干線的通信距離達到500m。
豐富的主站和從站單元:有C200HW-SRM21-V1、CQM1-SRM21-V1、SRM-C0-V2主站單元和SRT2系列的從站單元,支持高速通信和遠距離通信。
高速通信:在高速通信方式下,接16臺從站單元,128點控制時,可實現(xiàn)0.5ms的快速通信。
配線簡單:主單元和從站單元間、從單元和從單元間可用4線制電纜連接,其中2根為信號線,2根為電源線,從而大幅度減少了配線。Compo BUS/S通信參數(shù)如表4所示。
表4 Compo BUS/S通信參數(shù)
3、 PLC與上位計算機之間的通信
在計算機與PLC構(gòu)成的集散控制系統(tǒng)中,多數(shù)是由一臺計算機與數(shù)臺PLC形成1:N的通信模式。該模式系統(tǒng)中PLC負責現(xiàn)場高速數(shù)據(jù)采集、實現(xiàn)邏輯、定時、計數(shù)、PID調(diào)節(jié)等控制任務并通過串行通信口向上位計算機傳送PLC工作狀態(tài)及有關(guān)數(shù)據(jù),從而實現(xiàn)計算機對控制系統(tǒng)的管理。PLC與上位計算機之間通信的準確、可靠、高效率是集散控制系統(tǒng)的關(guān)鍵所在。
3.1 PLC與上位機的鏈接方式
PLC與上位計算機形成1:N通信模式有兩種連接方式:
方式一
方式二
方式一較少使用連接適配器,也不用信號轉(zhuǎn)換,但若中間某一臺PLC出故障,其后的PLC將無法與上位機通信;方式二使用了信號轉(zhuǎn)換模塊,當某一臺PLC出故障不影響其它PLC通信。
3.2 PLC與上位機的通信過程
通信開始先由上位機依次向網(wǎng)內(nèi)的PLC發(fā)出一串測試幀命令,PLC接到上位機的完整幀后,首先判斷是不是自己的代號,若不是就不予理睬,若是則發(fā)送回答信號。上位機接到回答信號后,與發(fā)送測試數(shù)據(jù)比較,若兩者無誤,發(fā)出可以進行數(shù)據(jù)通信的信號,轉(zhuǎn)入正常的數(shù)據(jù)通信。上位機與PLC實施鏈接通信,上位機具有優(yōu)先發(fā)送權(quán),每發(fā)送完一幀發(fā)送權(quán)就在上位機與PLC之間輪換。當收到結(jié)束符或分界符時,發(fā)送權(quán)從發(fā)送單元傳給接收單元。其幀發(fā)送與接收如圖3.2所示。
圖3.2 上位機與PLC間的幀發(fā)送與接收
上位機發(fā)出命令格式和PLC響應格式如下圖:
@: 幀開始標志
節(jié)點號:通信網(wǎng)絡中每一臺PLC被分配給的唯一番號
標題號:該幀的通信命令碼
結(jié)束碼:返回命令的完成狀態(tài)
正 文:設置命令參數(shù)
FCS: 幀校驗順序代碼
結(jié)束符:命令結(jié)束
通信參數(shù)設置為:波特率9600bps,數(shù)據(jù)格式由DM0902/DM1920的第00-07位和DM0921/DM1921共同設定,默認方式時DM0902/DM1920的第00-07位的值為00000000,此時DM0921/DM1921區(qū)不起作用。每條指令都以標識號(Unit Number)和操作碼/頭(Header)開始,以校驗碼(FCS)和結(jié)束標志(Terminator)結(jié)束。
幀發(fā)送時,F(xiàn)CS置于結(jié)束符前以檢查是否發(fā)生數(shù)據(jù)錯誤。FCS是轉(zhuǎn)換成2個ASCⅡ字符的8位數(shù)據(jù),這個8位數(shù)據(jù)對幀開始的數(shù)據(jù)直到此幀正文結(jié)束的數(shù)據(jù)進行“異或”運算的結(jié)果。FCS檢查程序如下:
400 *FCSCHECK
410 L=LEN(RESPONSE$)’
420 Q = 0:FCSCK $ = “ ”
430 A$ = RIGHT $ (RESPONSE $ ,1)
440 PRINT RESPONSE $ , AS, L
450 IF A $ = “*” THEN LENGS = LEN(RESPONSE $) -3
ELSE LENGS = LEN(RESPONSE $) -2
460 FCSP $ = MID(RESPONSE $, LENGS+1,2)’
470 FOR I = 1 TO LENGS’
480 Q = ASC (MID $ (RESPONSE $,I,1)) XOR Q
490 NEXT I
500 FCSD $ =HEX $ (Q)
510 IF LEN (FCSD $) =1,THEN, FCSD $ =”0”+FCSD $’
520 IF FCSS $ 《 》FCSP $ , THEN FCSCK $ = “ERR”
530 PRINT “FCSD $ =” ; FCSD $ , “FCSP $ =” ; FCSP $ , “FCSCK $ =”; FCSCK $
540 RETURN
幀發(fā)送檢查格式如圖3.4所示。
圖3.4 幀發(fā)送檢查
3.3 PLC與上位計算機通信程序
上位機通信軟件是用VB開發(fā)的。VB具有強大的圖形顯示功能,可以容易開發(fā)出界面良好的圖形用戶界面,同時VB還提供了串行端口控件 MSCOMM,程序員在利用該控件時,只需設置、監(jiān)視其屬性和事件,即可完成對串口初始化和數(shù)據(jù)的傳輸工作。通信程序如下:
Sub forml load ( )
Mscomml. Comport = 1
Mscomml. Settings = “9600,n,8,1”
End sub
Sub commandl click
Mscomml. Inputlen = 0
If mscomml. Portopen = false then
Mscomml. Portopen = true
End if
For I = 1 to N ;N為網(wǎng)絡系統(tǒng)中的PLC個數(shù)
If i《10 then
S $ = “@” + “0” +str $ (i) + “ts” + “abcd”
Else
S $ = “@” + str $ (i) + “ts” + “abcd”;abcd 為測試字符
Endif
……;
Mscomml. Lutprt =sedate $
Timer 1 on = false
Timer l. Enable = true
Do until (mscomml.inbuffercount 《 》 0)
Or (timer 1 on = true )
Domy = doevents( )
Loop
Timer 1.enable = false
……
Redata,$ = msconmml. Input
If rdata $ = sedate $
…… ; 轉(zhuǎn)入正常通信數(shù)據(jù)處理
Else
Labell. Cation = str $ ( i ) + “測試通信失敗,檢查線睡后再測試”
Endif
Endsub
4、 結(jié)束語
OMRON PLC已廣泛應用于工業(yè)過程控制,隨著網(wǎng)絡技術(shù)的不斷提高和推廣,PLC的控制能力和控制范圍從設備級的控制發(fā)展到生產(chǎn)線級的控制乃至工廠級的控制。大力推廣PLC的網(wǎng)絡技術(shù),必將加快我國工業(yè)企業(yè)向自動化、智能化發(fā)展的步伐。