1、 引言
近年來,,PLC的網(wǎng)絡(luò)應(yīng)用日益廣泛,,組成更高級的集散控制系統(tǒng)甚至整個工廠的自動化,已成為工業(yè)現(xiàn)代化的趨勢,實(shí)現(xiàn)遠(yuǎn)程連接和通信成為了PLC的基本性能之一,。而PLC網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,,技術(shù)難度大,投資較高,,給用戶在開發(fā)應(yīng)用造成了一定的困難,。OMRON公司的PLC較早投入我國市場,在我國工控領(lǐng)域應(yīng)用較為廣泛,,掌握其PLC的網(wǎng)絡(luò)技術(shù)和通信方法,,對進(jìn)一步推廣PLC的應(yīng)用,提高工廠自動化水平具有較大的現(xiàn)實(shí)意義,。
2,、 OMRON PLC網(wǎng)絡(luò)
OMRON PLC的網(wǎng)絡(luò)分為三層:Ethernet網(wǎng)、Controller Link控制器網(wǎng),、Compo BUS/D與Compo BUS/S元器件網(wǎng),,其三層網(wǎng)絡(luò)控制平臺如圖1所示。
圖1 OMRON PLC三層網(wǎng)絡(luò)
2.1 Ethernet網(wǎng)
Ethernet網(wǎng)絡(luò)即所說的以太網(wǎng),,它是工廠自動化領(lǐng)域用于信息管理層上的網(wǎng)絡(luò),,它的通信速率高,可達(dá)100M bps,,以太網(wǎng)模塊使PLC可以作為工廠局域網(wǎng)的一個節(jié)點(diǎn),,網(wǎng)絡(luò)上的任何一臺計算機(jī)都可以實(shí)現(xiàn)對它的控制。在OMRON的PLC中,,中型機(jī)以上的PLC才能上以太網(wǎng),,通常有三種機(jī)型,CS1系列,、CV系列,、和C200H系列。在CS1系列和CV系列上分別直接裝Ethernet單元CS1W-ETN01/11、CV500-ETN01,,而在C200Hα上除了必須安裝PC卡單元(C200HW-PCS01)外,,還必須配置通信板(C200HW-COM01/04),并用總線單元將PC卡單元與通信板連接起來,。OMRON PLC的Ethernet網(wǎng)具有以下功能:
遠(yuǎn)程編程和監(jiān)控:在連接到Ethernet網(wǎng)絡(luò)的計算機(jī)上運(yùn)行CX-Programmer可以對所有連接的Ethernet網(wǎng)絡(luò)上的PLC進(jìn)行編程和監(jiān)控。
FINS信息服務(wù):在PLC之間和PLC與計算機(jī)之間發(fā)送FINS信息,使用Ethernet Fins Gateway能夠不必編寫FINS指令程序而直接管理信息,。
Socket服務(wù):由Windows提供一組函數(shù),允許用戶程序直接調(diào)用及使用TCP和UDP協(xié)議,,在Ethernet網(wǎng)上進(jìn)行數(shù)據(jù)傳輸,。
FTP服務(wù):使用FTP在CPU單元的存儲卡和計算機(jī)存儲器之間傳送文件。
Email服務(wù):當(dāng)在出錯或在預(yù)定的時間內(nèi),一個標(biāo)志變?yōu)镺N,,此時從PLC向上位機(jī)發(fā)送電子郵件,。
網(wǎng)絡(luò)間通信:處在網(wǎng)絡(luò)上的不同節(jié)點(diǎn)可以通過網(wǎng)關(guān)通信,通過FINS指令可實(shí)現(xiàn)跨網(wǎng)絡(luò)的連接,。PLC通過使SEND,、RECV、CMND指令跨網(wǎng)并與其它PLC進(jìn)行通信,,網(wǎng)間通信限制在三級網(wǎng)絡(luò)內(nèi)進(jìn)行,。OMRON PLC的Ethernet網(wǎng)的主要技術(shù)指標(biāo)如表1所示。
表1 Ethernet網(wǎng)的主要技術(shù)指標(biāo)
2.2 Controller Link 控制器網(wǎng)
Controller Link 控制器網(wǎng)能夠在工廠現(xiàn)場以一種全功能的FA網(wǎng)絡(luò)形式連接PLC,,Controller Link 是一種令牌總線網(wǎng),,可以在OMRON的CS1/CV/C200HX系列PLC和計算機(jī)之間方便靈活地發(fā)送和接收大容量的數(shù)據(jù)包,它支持能共享數(shù)據(jù)的數(shù)據(jù)鏈接和在需要時發(fā)送和接收數(shù)據(jù)的信息服務(wù),,數(shù)據(jù)鏈接區(qū)域能自由設(shè)置以建立靈活的數(shù)據(jù)鏈接系統(tǒng),。Controller Link 網(wǎng)具有以下功能:
數(shù)據(jù)鏈接:在PLC之間以及PLC和上位計算機(jī)之間,能夠柔性的創(chuàng)建大容量數(shù)據(jù)鏈接,,使用Controller Link FinsGateway 能夠在應(yīng)用層上管理數(shù)據(jù)鏈接,,無需梯形圖。I / O,、鏈接區(qū),、數(shù)據(jù)存儲器區(qū)和擴(kuò)展數(shù)據(jù)存儲器區(qū)均可作為發(fā)送或接收區(qū)。
遠(yuǎn)程編程和監(jiān)控:通過與RS-232C鏈接,,Controller Link 網(wǎng)絡(luò)上能夠使用CX-Programmer進(jìn)行編程和監(jiān)控PLC,。
FINS通信服務(wù):在PLC和上位計算機(jī)之間實(shí)現(xiàn)大容量數(shù)據(jù)傳送,Controller Link FinsGateway 能夠在應(yīng)用層上管理數(shù)據(jù)鏈接,,而不必編寫FINS指令程序,。
信息服務(wù):可以對特定節(jié)點(diǎn)進(jìn)行讀寫數(shù)據(jù)、改變操作模式等操作,,通過在程序中執(zhí)行SEND / RECV指令發(fā)送和接收數(shù)據(jù),,通過CMND指令發(fā)送FINS命令執(zhí)行讀寫操作。
ESA功能:實(shí)時監(jiān)控網(wǎng)絡(luò)的狀態(tài),,當(dāng)網(wǎng)絡(luò)上產(chǎn)生錯誤時,,EAS可記錄和顯示錯誤發(fā)生的時間和錯誤信息。Controller Link 控制器網(wǎng)的主要技術(shù)指標(biāo)如表2所示,。
表2 Controller Link 控制器網(wǎng)的主要技術(shù)指標(biāo)
2.3 Compo BUS/D網(wǎng)絡(luò)
Compo BUS/ D是OMRON的一種開放,、多主控的設(shè)備網(wǎng),開放性是其特色,,采用Device Net 的通信協(xié)議,。其它廠家的設(shè)備,,只要符合 Device Net的標(biāo)準(zhǔn),就可以接入其中,,是一種控制功能齊全,、配置靈活、實(shí)現(xiàn)方便的分散控制網(wǎng)絡(luò),。Compo BUS/D的主要功能有:
遠(yuǎn)程I / O通信:無需編寫特殊的程序,,裝有主單元PLC的CPU可以直接讀寫I / O,從單元的I / O點(diǎn)現(xiàn)實(shí)遠(yuǎn)程控制,。
信息通信:安裝主單元的PLC在CPU單元里執(zhí)行特殊指令(SEND ,、RECV、CMND和IOWR)可以向其它主單元,、從單元,、甚至其它公司的設(shè)備讀寫信息,控制它們的運(yùn)行,。Compo BUS/D的通信標(biāo)準(zhǔn)如表3,。
表3 Compo BUS/D的通信標(biāo)準(zhǔn)
2.4 Compo BUS/S 網(wǎng)絡(luò)
Compo BUS/S 網(wǎng)絡(luò)是一種主從式總線結(jié)構(gòu)的控制網(wǎng)絡(luò),它的響應(yīng)速度快,,實(shí)時性強(qiáng),,實(shí)現(xiàn)簡便,可以對遠(yuǎn)程的I/O實(shí)現(xiàn)分散控制,。該系統(tǒng)由一臺PLC(CS1,、CQM1H、C200Hα)帶Compo BUS/S主站模塊或一臺SRM1主控單元作為主站,,一個主單元最多可帶32個遠(yuǎn)程從站單元,,控制256個輸入輸出點(diǎn)。接16臺從站單元,、128點(diǎn)輸入輸出點(diǎn)時可達(dá)到0.5ms的高速通信,。Compo BUS/S通信系統(tǒng)具有以下特點(diǎn):
主干線遠(yuǎn)距離通信:新增了遠(yuǎn)距離通信模式,允許主干線的通信距離達(dá)到500m,。
豐富的主站和從站單元:有C200HW-SRM21-V1,、CQM1-SRM21-V1、SRM-C0-V2主站單元和SRT2系列的從站單元,,支持高速通信和遠(yuǎn)距離通信,。
高速通信:在高速通信方式下,接16臺從站單元,,128點(diǎn)控制時,可實(shí)現(xiàn)0.5ms的快速通信,。
配線簡單:主單元和從站單元間,、從單元和從單元間可用4線制電纜連接,,其中2根為信號線,2根為電源線,,從而大幅度減少了配線,。Compo BUS/S通信參數(shù)如表4所示。
表4 Compo BUS/S通信參數(shù)
3,、 PLC與上位計算機(jī)之間的通信
在計算機(jī)與PLC構(gòu)成的集散控制系統(tǒng)中,,多數(shù)是由一臺計算機(jī)與數(shù)臺PLC形成1:N的通信模式。該模式系統(tǒng)中PLC負(fù)責(zé)現(xiàn)場高速數(shù)據(jù)采集,、實(shí)現(xiàn)邏輯,、定時、計數(shù),、PID調(diào)節(jié)等控制任務(wù)并通過串行通信口向上位計算機(jī)傳送PLC工作狀態(tài)及有關(guān)數(shù)據(jù),,從而實(shí)現(xiàn)計算機(jī)對控制系統(tǒng)的管理。PLC與上位計算機(jī)之間通信的準(zhǔn)確,、可靠,、高效率是集散控制系統(tǒng)的關(guān)鍵所在。
3.1 PLC與上位機(jī)的鏈接方式
PLC與上位計算機(jī)形成1:N通信模式有兩種連接方式:
方式一
方式二
方式一較少使用連接適配器,,也不用信號轉(zhuǎn)換,,但若中間某一臺PLC出故障,其后的PLC將無法與上位機(jī)通信;方式二使用了信號轉(zhuǎn)換模塊,,當(dāng)某一臺PLC出故障不影響其它PLC通信,。
3.2 PLC與上位機(jī)的通信過程
通信開始先由上位機(jī)依次向網(wǎng)內(nèi)的PLC發(fā)出一串測試幀命令,PLC接到上位機(jī)的完整幀后,,首先判斷是不是自己的代號,,若不是就不予理睬,若是則發(fā)送回答信號,。上位機(jī)接到回答信號后,,與發(fā)送測試數(shù)據(jù)比較,若兩者無誤,,發(fā)出可以進(jìn)行數(shù)據(jù)通信的信號,,轉(zhuǎn)入正常的數(shù)據(jù)通信。上位機(jī)與PLC實(shí)施鏈接通信,,上位機(jī)具有優(yōu)先發(fā)送權(quán),,每發(fā)送完一幀發(fā)送權(quán)就在上位機(jī)與PLC之間輪換。當(dāng)收到結(jié)束符或分界符時,,發(fā)送權(quán)從發(fā)送單元傳給接收單元,。其幀發(fā)送與接收如圖3.2所示。
圖3.2 上位機(jī)與PLC間的幀發(fā)送與接收
上位機(jī)發(fā)出命令格式和PLC響應(yīng)格式如下圖:
@: 幀開始標(biāo)志
節(jié)點(diǎn)號:通信網(wǎng)絡(luò)中每一臺PLC被分配給的唯一番號
標(biāo)題號:該幀的通信命令碼
結(jié)束碼:返回命令的完成狀態(tài)
正 文:設(shè)置命令參數(shù)
FCS: 幀校驗順序代碼
結(jié)束符:命令結(jié)束
通信參數(shù)設(shè)置為:波特率9600bps,,數(shù)據(jù)格式由DM0902/DM1920的第00-07位和DM0921/DM1921共同設(shè)定,,默認(rèn)方式時DM0902/DM1920的第00-07位的值為00000000,,此時DM0921/DM1921區(qū)不起作用。每條指令都以標(biāo)識號(Unit Number)和操作碼/頭(Header)開始,,以校驗碼(FCS)和結(jié)束標(biāo)志(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ù)進(jìn)行“異或”運(yùn)算的結(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與上位計算機(jī)通信程序
上位機(jī)通信軟件是用VB開發(fā)的,。VB具有強(qiáng)大的圖形顯示功能,可以容易開發(fā)出界面良好的圖形用戶界面,,同時VB還提供了串行端口控件 MSCOMM,,程序員在利用該控件時,只需設(shè)置,、監(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)絡(luò)系統(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īng)用于工業(yè)過程控制,,隨著網(wǎng)絡(luò)技術(shù)的不斷提高和推廣,,PLC的控制能力和控制范圍從設(shè)備級的控制發(fā)展到生產(chǎn)線級的控制乃至工廠級的控制。大力推廣PLC的網(wǎng)絡(luò)技術(shù),,必將加快我國工業(yè)企業(yè)向自動化,、智能化發(fā)展的步伐,。