技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 上位機與PLC的通信與監(jiān)控設計

上位機與PLC的通信與監(jiān)控設計

時間:2009-04-09 17:11:05來源:lihan

導語:?本文簡要的介紹了CPM2A的上位機通信以及實現(xiàn)上位機監(jiān)控的PLC編程,并給出了基于Delphi的串口通信參考程序。
摘要:本文簡要的介紹了CPM2A的上位機通信以及實現(xiàn)上位機監(jiān)控的PLC編程,并給出了基于Delphi的串口通信參考程序。 關鍵詞:PLC 上位鏈接系統(tǒng) 1.引 言 PLC是專為工業(yè)控制而設計的專用計算機,其體積小,具有高可靠性和很強的抗干擾能力,因而在工業(yè)控制中得到了廣泛的使用。隨著工業(yè)的自動化程度的提高,對PLC的應用提出了更高的要求:更快的處理速度,更高的可靠性,控制與管理功能一體化。控制與管理一體化也就是將計算機信息處理技術,網絡通信技術應用于PLC,使PLC用于下位分散控制,用計算機提供圖形顯示界面,同時對下位機進行監(jiān)控。本文討論的是上位計算機與歐姆龍CPM2A型PLC的通信與監(jiān)控設計。 2.通信協(xié)議 2.1 CPM2A 的通信鏈接方式 CPM2A有三種通信聯(lián)系方式:上位鏈接系統(tǒng)、同位鏈接系統(tǒng)、ComPoBus通信系統(tǒng)。工廠自動化系統(tǒng)中常把三種系統(tǒng)復合起來一起使用來實現(xiàn)工廠自動化系統(tǒng)要求的多級功能。復合型PLC網絡中,上位鏈接系統(tǒng)處于最高位,負責整個系統(tǒng)的監(jiān)控優(yōu)化。 上位機與CMP2A的通信有兩種方式:上位機命令與PLC通信命令。上位機命令方式上位機處于主動,命令由上位機發(fā)往PLC。采用上位機命令方式能方便的實現(xiàn)上位機對PLC的監(jiān)控。上位機與CPM2A采用RS-232端口進行通信,串口接線如圖1所示。
2.2 CPM2A的上位通信協(xié)議 CPM2A的數據是以幀的格式發(fā)送的,當通信命令小于一幀時,發(fā)送格式如圖2所示。其中正文最多122個字符。當命令塊內容大于一幀時,由起始幀、中間幀、及結果幀組成。起始幀最多131個字符,中間幀及結束幀最多128個字符。起始幀由設備號、命令碼、正文、 FCS、和分界符構成。中間幀有正文、FCS、分界符組成。結束幀由正文FCS、結束符組成。上位機每發(fā)送完一幀,在收到PLC發(fā)回的分界符后再發(fā)送下一幀。
命令塊中的校驗碼FCS是8位二進制數轉換成的2位ASCⅡ字符。這8位數據是將一幀數據中校驗碼前的所有字符的ASC Ⅱ碼位按連續(xù)異或的結果。轉換成字符時,按照2位十六進制數轉換成對應的數字字符。 PLC接收到上位機發(fā)送的命令幀后,自動產生響應塊,響應塊的格式與圖2格式類似,只是在命令碼后面多了兩位的響應碼,響應碼表示了上位機命令的出錯信息。響應碼00表示PLC正常完成上位機命令。 3.PLC命令的編寫 在CPM2A的上位鏈接系統(tǒng)中,PLC接收指令并被動地給上位機返回響應塊。所以作為下位機的PLC不需要編寫通信程序。上位機與PLC的通信不能改變PLC的輸入狀態(tài)。為了通過上位機改變PLC的輸出,在編寫下位機的程序時就要利用PLC的工作位,通過上位機改變工作位的狀態(tài)來改變PLC的輸出,從而達到上位機對PLC輸出的控制。 如圖3所示,在梯形圖中加入了工作位3.00,4.00。系統(tǒng)正常工作時3.00,4.00置OFF,當需要實現(xiàn)上位機控制時,把3.00置ON,使PLC的輸入端0.00失效,通過工作位4.00的通斷來控制系統(tǒng)的輸出。
4.編寫上位機通信程序 在上位鏈接系統(tǒng)中,通信一般都是由上位機發(fā)起的,按PLC標準通信進行連接。上位機給PLC發(fā)送操作指令,PLC按照指令執(zhí)行相應的操作,同時給上位機返回數據。串口通信流程如下圖。
4.1 編寫上位通信程序 編寫通信程序可以采用高級語言或者匯編語言,下面給出的例子是用Delphi編寫的上位機與CPM2A型PLC通信程序.通信采用標準通信模式。通信界面如圖5。
//程序初始化: procedure TForm1.Init_PLC(nPort:integer); begin if MSComm.PortOpen then MSComm.PortOpen:=False; MSComm.Commport:=nPort; //通信端口選擇 MSComm.Settings:=‘9600,e,7,1‘; //1位起始位,7位數據位,偶效驗,2位停止位,9600bps MSComm.PortOpen:=True;//打開串口 end; //FCS校驗 function FCS(s:string):variant; var i,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; // 調用MSComm控件實現(xiàn)PLC通信 procedure TForm1.HandShake_PLC; var tmpByte1,tmpByte2:char; tmpVar:string; s:string; begin Init_PLC(1); s:=Edit1.text; tmpVar:=s+inttostr(FCS(s))+‘*‘+chr(13); MSComm.RThreshold:=0; MSComm.Output:=tmpVar; //向串口輸出數據 sleep(1000);// 延時 tmpVar:=MSComm.Input; //從串口讀取數據 tmpByte1:=tmpVar[5]; tmpByte2:=tmpVar[6]; if tmpByte1=chr(48)& tmpByte2:=chr(48); //校驗碼等于00,PLC正常完成操作 then begin Showmessage(‘發(fā)送的數據正確‘); else Showmessage(‘發(fā)送的數據有問題‘); //end; end; 4.2 實現(xiàn)上位機對PLC的監(jiān)控 編寫通信程序建立了上位機與PLC的連接.在PLC的任何工作方式下都可以通過”讀”指令讀取PLC的狀態(tài).從而對PLC進行監(jiān)視.只有當PLC的工作方式為監(jiān)視的情況下才可以通過上位機對PLC進行控制.所以在需要上位機實施控制的系統(tǒng)里面PLC都必須設置為監(jiān)視工作方式. 上位機只需要設置PLC的相應工作位就可以實現(xiàn)對PLC的控制.下圖為PLC上位機控制過程。圖a表示PLC 正常工作時輸出由輸入0.00控制,當需要把PLC的控制轉由上位機控制時,只需要通過向PLC輸入@00RR00030001,置3.00為ON,切斷0.00的 通路,這樣輸出10.00就轉由4.00控制,當輸入@00WR00040001時,4.00為ON,輸出位10.00產生輸出。
5.結束語 本文探討了實現(xiàn)PLC的上位鏈接系統(tǒng)通信的方法,以及要實現(xiàn)上位機對下PLC控制的PLC編程。通過上位機對PLC的監(jiān)視與控制,可用方便的實現(xiàn)工廠生產過程的自動化監(jiān)控。 參考文獻 [1] 弭洪濤,畢國忠等.PLC應用技術.北京:中國電力出版社2004 [2] 宋伯生.PLC編程理論 算法及技巧. 北京:機械工業(yè)出版社2006

標簽:

點贊

分享到:

上一篇:隧道監(jiān)控系統(tǒng)PLC的應用分析

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.surachana.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號