豐富的主站和從站單元:有C200HW-SRM21-V1、CQM1-SRM21-V1、SRM-C0-V2主站單元和SRT2系列的從站單元,支持高速通信和遠(yuǎn)距離通信。
高速通信:在高速通信方式下,接16臺(tái)從站單元,128點(diǎn)控制時(shí),可實(shí)現(xiàn)0.5ms的快速通信。
配線(xiàn)簡(jiǎn)單:主單元和從站單元間、從單元和從單元間可用4線(xiàn)制電纜連接,其中2根為信號(hào)線(xiàn),2根為電源線(xiàn),從而大幅度減少了配線(xiàn)。Compo BUS/S通信參數(shù)如表4所示。
表4 Compo BUS/S通信參數(shù)
3、 PLC與上位計(jì)算機(jī)之間的通信
在計(jì)算機(jī)與PLC構(gòu)成的集散控制系統(tǒng)中,多數(shù)是由一臺(tái)計(jì)算機(jī)與數(shù)臺(tái)PLC形成1:N的通信模式。該模式系統(tǒng)中PLC負(fù)責(zé)現(xiàn)場(chǎng)高速數(shù)據(jù)采集、實(shí)現(xiàn)邏輯、定時(shí)、計(jì)數(shù)、PID調(diào)節(jié)等控制任務(wù)并通過(guò)串行通信口向上位計(jì)算機(jī)傳送PLC工作狀態(tài)及有關(guān)數(shù)據(jù),從而實(shí)現(xiàn)計(jì)算機(jī)對(duì)控制系統(tǒng)的管理。PLC與上位計(jì)算機(jī)之間通信的準(zhǔn)確、可靠、高效率是集散控制系統(tǒng)的關(guān)鍵所在。
3.1 PLC與上位機(jī)的鏈接方式
PLC與上位計(jì)算機(jī)形成1:N通信模式有兩種連接方式:
方式一
方式二
方式一較少使用連接適配器,也不用信號(hào)轉(zhuǎn)換,但若中間某一臺(tái)PLC出故障,其后的PLC將無(wú)法與上位機(jī)通信;方式二使用了信號(hào)轉(zhuǎn)換模塊,當(dāng)某一臺(tái)PLC出故障不影響其它PLC通信。
3.2 PLC與上位機(jī)的通信過(guò)程
通信開(kāi)始先由上位機(jī)依次向網(wǎng)內(nèi)的PLC發(fā)出一串測(cè)試幀命令,PLC接到上位機(jī)的完整幀后,首先判斷是不是自己的代號(hào),若不是就不予理睬,若是則發(fā)送回答信號(hào)。上位機(jī)接到回答信號(hào)后,與發(fā)送測(cè)試數(shù)據(jù)比較,若兩者無(wú)誤,發(fā)出可以進(jìn)行數(shù)據(jù)通信的信號(hào),轉(zhuǎn)入正常的數(shù)據(jù)通信。上位機(jī)與PLC實(shí)施鏈接通信,上位機(jī)具有優(yōu)先發(fā)送權(quán),每發(fā)送完一幀發(fā)送權(quán)就在上位機(jī)與PLC之間輪換。當(dāng)收到結(jié)束符或分界符時(shí),發(fā)送權(quán)從發(fā)送單元傳給接收單元。其幀發(fā)送與接收如圖3.2所示。
圖3.2 上位機(jī)與PLC間的幀發(fā)送與接收
上位機(jī)發(fā)出命令格式和PLC響應(yīng)格式如下圖:
@: 幀開(kāi)始標(biāo)志
節(jié)點(diǎn)號(hào):通信網(wǎng)絡(luò)中每一臺(tái)PLC被分配給的唯一番號(hào)
標(biāo)題號(hào):該幀的通信命令碼
結(jié)束碼:返回命令的完成狀態(tài)
正 文:設(shè)置命令參數(shù)
FCS: 幀校驗(yàn)順序代碼
結(jié)束符:命令結(jié)束
通信參數(shù)設(shè)置為:波特率9600bps,數(shù)據(jù)格式由DM0902/DM1920的第00-07位和DM0921/DM1921共同設(shè)定,默認(rèn)方式時(shí)DM0902/DM1920的第00-07位的值為00000000,此時(shí)DM0921/DM1921區(qū)不起作用。每條指令都以標(biāo)識(shí)號(hào)(Unit Number)和操作碼/頭(Header)開(kāi)始,以校驗(yàn)碼(FCS)和結(jié)束標(biāo)志(Terminator)結(jié)束。
幀發(fā)送時(shí),F(xiàn)CS置于結(jié)束符前以檢查是否發(fā)生數(shù)據(jù)錯(cuò)誤。FCS是轉(zhuǎn)換成2個(gè)ASCⅡ字符的8位數(shù)據(jù),這個(gè)8位數(shù)據(jù)對(duì)幀開(kāi)始的數(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ī)通信程序
上位機(jī)通信軟件是用VB開(kāi)發(fā)的。VB具有強(qiáng)大的圖形顯示功能,可以容易開(kāi)發(fā)出界面良好的圖形用戶(hù)界面,同時(shí)VB還提供了串行端口控件 MSCOMM,程序員在利用該控件時(shí),只需設(shè)置、監(jiān)視其屬性和事件,即可完成對(duì)串口初始化和數(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個(gè)數(shù)
If i《10 then
S $ = “@” + “0” +str $ (i) + “ts” + “abcd”
Else
S $ = “@” + str $ (i) + “ts” + “abcd”;abcd 為測(cè)試字符
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 ) + “測(cè)試通信失敗,檢查線(xiàn)睡后再測(cè)試”
Endif
Endsub
4、 結(jié)束語(yǔ)
OMRON PLC已廣泛應(yīng)用于工業(yè)過(guò)程控制,隨著網(wǎng)絡(luò)技術(shù)的不斷提高和推廣,PLC的控制能力和控制范圍從設(shè)備級(jí)的控制發(fā)展到生產(chǎn)線(xiàn)級(jí)的控制乃至工廠級(jí)的控制。大力推廣PLC的網(wǎng)絡(luò)技術(shù),必將加快我國(guó)工業(yè)企業(yè)向自動(dòng)化、智能化發(fā)展的步伐。
轉(zhuǎn)載請(qǐng)注明出處。