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