上位機(jī)與PLC的通信與監(jiān)控設(shè)計(jì)
PLC是專為工業(yè)控制而設(shè)計(jì)的專用計(jì)算機(jī),其體積小,具有高可靠性和很強(qiáng)的抗干擾能力,因而在工業(yè)控制中得到了廣泛的使用。
隨著工業(yè)的自動(dòng)化程度的提高,對(duì)PLC的應(yīng)用提出了更高的要求:更快的處理速度,更高的可靠性,控制與管理功能一體化??刂婆c管理一體化也就是將計(jì)算機(jī)信息處理技術(shù),網(wǎng)絡(luò)通信技術(shù)應(yīng)用于PLC,使PLC用于下位分散控制,用計(jì)算機(jī)提供圖形顯示界面,同時(shí)對(duì)下位機(jī)進(jìn)行監(jiān)控。本文討論的是上位計(jì)算機(jī)與歐姆龍CPM2A型PLC的通信與監(jiān)控設(shè)計(jì)。
2 通信協(xié)議
2.1 CPM2A 的通信鏈接方式
CPM2A有三種通信聯(lián)系方式:上位鏈接系統(tǒng)、同位鏈接系統(tǒng)、ComPoBus通信系統(tǒng)。工廠自動(dòng)化系統(tǒng)中常把三種系統(tǒng)復(fù)合起來(lái)一起使用來(lái)實(shí)現(xiàn)工廠自動(dòng)化系統(tǒng)要求的多級(jí)功能。復(fù)合型PLC網(wǎng)絡(luò)中,上位鏈接系統(tǒng)處于最高位,負(fù)責(zé)整個(gè)系統(tǒng)的監(jiān)控優(yōu)化。
上位機(jī)與CMP2A的通信有兩種方式:上位機(jī)命令與PLC通信命令。上位機(jī)命令方式上位機(jī)處于主動(dòng),命令由上位機(jī)發(fā)往PLC。采用上位機(jī)命令方式能方便的實(shí)現(xiàn)上位機(jī)對(duì)PLC的監(jiān)控。上位機(jī)與CPM2A采用RS-232端口進(jìn)行通信,串口接線如圖1所示。
圖1 CPM2A與上位機(jī)的鏈接
2.2 CPM2A的上位通信協(xié)議
CPM2A的數(shù)據(jù)是以幀的格式發(fā)送的,當(dāng)通信命令小于一幀時(shí),發(fā)送格式如圖2所示。其中正文最多122個(gè)字符。當(dāng)命令塊內(nèi)容大于一幀時(shí),由起始幀、中間幀、及結(jié)果幀組成。起始幀最多131個(gè)字符,中間幀及結(jié)束幀最多128個(gè)字符。起始幀由設(shè)備號(hào)、命令碼、正文、 FCS、和分界符構(gòu)成。中間幀有正文、FCS、分界符組成。結(jié)束幀由正文FCS、結(jié)束符組成。上位機(jī)每發(fā)送完一幀,在收到PLC發(fā)回的分界符后再發(fā)送下一幀。
圖2 CPM2A 通信時(shí)命令塊的格式
命令塊中的校驗(yàn)碼FCS是8位二進(jìn)制數(shù)轉(zhuǎn)換成的2位ASCⅡ字符。這8位數(shù)據(jù)是將一幀數(shù)據(jù)中校驗(yàn)碼前的所有字符的ASCⅡ碼位按連續(xù)異或的結(jié)果。轉(zhuǎn)換成字符時(shí),按照2位十六進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字字符。
PLC接收到上位機(jī)發(fā)送的命令幀后,自動(dòng)產(chǎn)生響應(yīng)塊,響應(yīng)塊的格式與圖2格式類似,只是在命令碼后面多了兩位的響應(yīng)碼,響應(yīng)碼表示了上位機(jī)命令的出錯(cuò)信息。響應(yīng)碼00表示PLC正常完成上位機(jī)命令。
3 PLC命令的編寫
在CPM2A的上位鏈接系統(tǒng)中,PLC接收指令并被動(dòng)地給上位機(jī)返回響應(yīng)塊。所以作為下位機(jī)的PLC不需要編寫通信程序。
上位機(jī)與PLC的通信不能改變PLC的輸入狀態(tài)。為了通過(guò)上位機(jī)改變PLC的輸出,在編寫下位機(jī)的程序時(shí)就要利用PLC的工作位,通過(guò)上位機(jī)改變工作位的狀態(tài)來(lái)改變PLC的輸出,從而達(dá)到上位機(jī)對(duì)PLC輸出的控制。
如圖3所示,在梯形圖中加入了工作位3.00,4.00。系統(tǒng)正常工作時(shí)3.00,4.00置OFF,當(dāng)需要實(shí)現(xiàn)上位機(jī)控制時(shí),把3.00置ON,使PLC的輸入端0.00失效,通過(guò)工作位4.00的通斷來(lái)控制系統(tǒng)的輸出。
圖3 實(shí)現(xiàn)上位機(jī)監(jiān)控的PLC編程
4 編寫上位機(jī)通信程序
在上位鏈接系統(tǒng)中,通信一般都是由上位機(jī)發(fā)起的,按PLC標(biāo)準(zhǔn)通信進(jìn)行連接。上位機(jī)給PLC發(fā)送操作指令,PLC按照指令執(zhí)行相應(yīng)的操作,同時(shí)給上位機(jī)返回?cái)?shù)據(jù)。串口通信流程如下圖。
圖4 通信流程圖
4.1 編寫上位通信程序
編寫通信程序可以采用高級(jí)語(yǔ)言或者匯編語(yǔ)言,下面給出的例子是用Delphi編寫的上位機(jī)與CPM2A型PLC通信程序.通信采用標(biāo)準(zhǔn)通信模式。通信界面如圖5。
評(píng)論