上位機(jī)與PLC的通信與監(jiān)控設(shè)計(jì)
1 引 言
PLC是專(zhuān)為工業(yè)控制而設(shè)計(jì)的專(zhuān)用計(jì)算機(jī),其體積小帘衣,具有高可靠性和很強(qiáng)的抗干擾能力参唆,因而在工業(yè)控制中得到了廣泛的使用。隨著工業(yè)的自動(dòng)化程度的提高傲轮,對(duì)PLC的應(yīng)用提出了更高的要求:更快的處理速度舆鸿,更高的可靠性,控制與管理功能一體化百膳√桉茫控制與管理一體化也就是將計(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格式類(lèi)似,只是在命令碼后面多了兩位的響應(yīng)碼饼煞,響應(yīng)碼表示了上位機(jī)命令的出錯(cuò)信息源葫。響應(yīng)碼00表示PLC正常完成上位機(jī)命令。 3PLC命令的編寫(xiě) 在CPM2A的上位鏈接系統(tǒng)中砖瞧,PLC接收指令并被動(dòng)地給上位機(jī)返回響應(yīng)塊息堂。所以作為下位機(jī)的PLC不需要編寫(xiě)通信程序。 上位機(jī)與PLC的通信不能改變PLC的輸入狀態(tài)块促。為了通過(guò)上位機(jī)改變PLC的輸出荣堰,在編寫(xiě)下位機(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 編寫(xiě)上位機(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 編寫(xiě)上位通信程序 編寫(xiě)通信程序可以采用高級(jí)語(yǔ)言或者匯編語(yǔ)言做身,下面給出的例子是用Delphi編寫(xiě)的上位機(jī)與CPM2A型PLC通信程序.通信采用標(biāo)準(zhǔn)通信模式丸爵。通信界面如圖5。
圖5 通信界面 //程序初始化: procedure TForm1.Init_PLC(nPort:integer); begin if MSComm.PortOpen then MSComm.PortOpen:=False; (暫不可見(jiàn))mport:=nPort; //通信端口選擇 MSComm.Settings:=‘9600,e,7,1‘; //1位起始位汁咏,7位數(shù)據(jù)位亚斋,偶效驗(yàn),2位停止位攘滩,9600bps MSComm.PortOpen:=True;//打開(kāi)串口 end; //FCS校驗(yàn) function FCS(s:string):variant; vari,len,tmpVar:integer; DataCheck:byte; f1,f2:byte; begin f1:=0; f2:=0; DataCheck:=0; len:=length(s); tmpVar:=0; for i:=1 to len do begin DataCheck:=ord(DataCheck) xor ord(s[i>); end; f1:=DataCheck and $0f; f2:=DataCheck and $f0; f2:=f2 shr 4; result:=inttostr(f2)+inttostr(f1); end; // 調(diào)用MSComm控件實(shí)現(xiàn)PLC通信 procedure TForm1.HandShake_PLC; var tmpByte1,tmpByte2:char; tmpVar:string; s:string; begin Init_PLC(1); &nbs tmpVar:=s+inttostr(FCS(s))+‘*‘+chr(13); MSComm.RThreshold:=0; MSComm.Output:=tmpVar; //向串口輸出數(shù)據(jù) sleep(1000);// 延時(shí) tmpVar:=MSComm.Input; //從串口讀取數(shù)據(jù) tmpByte1:=tmpVar[5>; tmpByte2:=tmpVar[6>; if tmpByte1=chr(48)& tmpByte2:=chr(48); //校驗(yàn)碼等于00,PLC正常完成操作 then begin Showmessage(‘發(fā)送的數(shù)據(jù)正確‘); else Showmessage(‘發(fā)送的數(shù)據(jù)有問(wèn)題‘); //end; end; 4.2 實(shí)現(xiàn)上位機(jī)對(duì)PLC的監(jiān)控 編寫(xiě)通信程序建立了上位機(jī)與PLC的連接.在PLC的任何工作方式下都可以通過(guò)”讀”指令讀取PLC的狀態(tài).從而對(duì)PLC進(jìn)行監(jiān)視.只有當(dāng)PLC的工作方式為監(jiān)視的情況下才可以通過(guò)上位機(jī)對(duì)PLC進(jìn)行控制.所以在需要上位機(jī)實(shí)施控制的系統(tǒng)里面PLC都必須設(shè)置為監(jiān)視工作方式. 上位機(jī)只需要設(shè)置PLC的相應(yīng)工作位就可以實(shí)現(xiàn)對(duì)PLC的控制.下圖為PLC上位機(jī)控制過(guò)程帅刊。圖a表示PLC 正常工作時(shí)輸出由輸入0.00控制,當(dāng)需要把PLC的控制轉(zhuǎn)由上位機(jī)控制時(shí)漂问,只需要通過(guò)向PLC輸入@00RR00030001厚掷,置3.00為ON,切斷0.00的通路级解,這樣輸出10.00就轉(zhuǎn)由4.00控制冒黑,當(dāng)輸入@00WR00040001時(shí),4.00為ON,輸出位10.00產(chǎn)生輸出。 (a) PLC正常工作 (b)上位機(jī)控制
圖6 PLC的上位機(jī)控制 5 結(jié)束語(yǔ) 本文探討了實(shí)現(xiàn)PLC的上位鏈接系統(tǒng)通信的方法勤哗,以及要實(shí)現(xiàn)上位機(jī)對(duì)下PLC控制的PLC編程抡爹。通過(guò)上位機(jī)對(duì)PLC的監(jiān)視與控制,可用方便的實(shí)現(xiàn)工廠生產(chǎn)過(guò)程的自動(dòng)化監(jiān)控芒划。 參考文獻(xiàn) [1> 弭洪濤冬竟,畢國(guó)忠等.PLC應(yīng)用技術(shù).北京:中國(guó)電力出版社2004 |
聲明:本網(wǎng)站所收集的部分公開(kāi)資料來(lái)源于互聯(lián)網(wǎng),轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享鼻昼,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)悟津,也不構(gòu)成任何其他建議。本站部分作品是由網(wǎng)友自主投稿和發(fā)布吸坐、編輯整理上傳宗瓢,對(duì)此類(lèi)作品本站僅提供交流平臺(tái),不為其版權(quán)負(fù)責(zé)痢抹。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻旷厨、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)第一時(shí)間告知腋意,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容容蕉,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn往软。
- 暫無(wú)反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力,智啟未來(lái)新篇章
- 定義制造業(yè)未來(lái)的數(shù)控加工中心技術(shù)專(zhuān)題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專(zhuān)題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專(zhuān)題
- 精密智能機(jī)床灶逃,助力制造升級(jí)技術(shù)專(zhuān)題
- 汽車(chē)輕量化驅(qū)動(dòng)下的零部件加工應(yīng)用專(zhuān)題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專(zhuān)題
- 航空航天發(fā)動(dòng)機(jī)解決方案專(zhuān)題
- 高效齒輪加工生產(chǎn)技術(shù)方案專(zhuān)題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專(zhuān)題