技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 用VB6.0實現(xiàn)PC對多個PLC的監(jiān)控

用VB6.0實現(xiàn)PC對多個PLC的監(jiān)控

時間:2008-09-24 14:33:00來源:dujing

導(dǎo)語:?本文給出了利用VB中的MSCOMM控件實現(xiàn)上位機(jī)與多個PLC之間的通信方法,實現(xiàn)了上位機(jī)對多個PLC的實時監(jiān)控。對于分布是控制系統(tǒng)大幅度地減小了通訊成本,具有一定的推廣價值
1 引言 隨著計算機(jī)通訊技術(shù)的日益成熟及企業(yè)對工業(yè)自動化程度要求的提高,自動控制系統(tǒng)從傳統(tǒng)的集中式控制向多級分布式控制方向發(fā)展,構(gòu)成控制系統(tǒng)的PLC也就必須具備通信聯(lián)網(wǎng)功能。在具體應(yīng)用過程中,若要監(jiān)視PLC內(nèi)部的數(shù)據(jù)與運行狀況,選用市場上的人機(jī)界面或組態(tài)軟件,雖然功能豐富,但大都價格昂貴,尤其在一些中小規(guī)模的生產(chǎn)場合。所以許多企業(yè)希望能自己用高級語言開發(fā)一個簡易實用的通信程序,通過面向?qū)ο蟮目梢暬幊陶Z言VB6.0很容易地實現(xiàn)分布式監(jiān)控。PLC等下位機(jī)控制生產(chǎn)過程,本地計算機(jī)進(jìn)行實時監(jiān)測或參與控制生產(chǎn)現(xiàn)場的參數(shù)。本文通過對OMRON的CPM1A小型機(jī)與上位計算機(jī)通信原理和通信方法的研究,介紹了如何用VB6.0實現(xiàn)上位計算機(jī)對PLC的實時監(jiān)控,并取得了良好的效果。 2 監(jiān)控原理 2.1 通信方法 上位機(jī)作為主站要能夠通過PLC監(jiān)控下層設(shè)備的狀態(tài),首先要實現(xiàn)上位機(jī)與PLC間的通信。由于串行通信具有線路簡單、應(yīng)用靈活、可靠性高等優(yōu)點,并且普通計算機(jī)均帶有串行口,所以PC與PLC間通常采用串行通信方式。串行通信可以通過Windows的API函數(shù)實現(xiàn),也可以串行通信控件實現(xiàn),但后者較容易,本文采用VB的通信控件。如果只實現(xiàn)對一臺CPM1APLC的監(jiān)控,需要CPM1-CIFO1(OMRON提供的專用的RS232適配器)形成RS232C口與上位機(jī)通信;如果是實現(xiàn)對多臺PLC的監(jiān)控,則需用RS232—RS422/RS485轉(zhuǎn)換器ADAM-4520和CPM1-CIF11(OMRON提供的專用RS422適配器)與上位機(jī)通信,最多可連接32臺PLC,連接方式如圖1所示。 [align=center] 圖1 系統(tǒng)通信原理[/align] 在通信過程中上位機(jī)始終處于主動方,PLC則處于從動方,所有的數(shù)據(jù)交換只能在主站和從站之間進(jìn)行,從站之間不能直接交換數(shù)據(jù),如果從站之間需要交換數(shù)據(jù),必須通過主站中轉(zhuǎn)1。首先上位機(jī)向PLC發(fā)送指令幀,PLC接收了上位機(jī)的指令后,先進(jìn)行FCS校驗,看其是否正確,如果正確,則接收并向上位機(jī)傳送響應(yīng)幀(包含首尾校驗字節(jié)),否則,PLC拒絕向上位機(jī)傳送數(shù)據(jù)。需要說明的是,整個通信過程中因PLC中配有通信機(jī)制,一般不需要對PLC進(jìn)行編程。上位機(jī)接收到PLC傳送的數(shù)據(jù),也要判斷正確與否,如果正確,則接收,完成一次正常通信,否則,通信需重新開始。 2.2 通訊協(xié)議 (1)通訊條件設(shè)計。要使上位機(jī)與下位機(jī)正確地交換數(shù)據(jù),必須確保以下幾點: ● 雙方在初始化時要使波特率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗均保持一致; ● 要嚴(yán)格按照PLC的通信協(xié)議的規(guī)定及幀格式編寫PC的通信程序。 (2)通訊的命令幀設(shè)計。OMRON公司的CPMIA小型PLC的傳輸協(xié)議的一般格式為:
(3)通訊的響應(yīng)幀設(shè)計
其中,@為前導(dǎo)字符,表示開始;設(shè)備號為00-31(本例限設(shè)到10),共可設(shè)置32個站號,用來識別所連接的PLC,可通過PLC的DM6653的低8位來設(shè)定,默認(rèn)站號為00;命令碼為CPMIA小型PLC規(guī)定的對其操作的命令代碼;正文為需要讀或?qū)懙臄?shù)據(jù)地址以及數(shù)據(jù);FCS為幀校驗代碼,用于及時發(fā)現(xiàn)通信過程中的錯誤,以備處理;*和CR表示命令結(jié)束[2]。 命令幀為PC機(jī)傳向PLC的幀格式,響應(yīng)幀為PLC傳向PC機(jī)的幀格式,其命令幀與響應(yīng)幀中的各個部分除數(shù)據(jù)區(qū)不同外,其他部分的含義是相同的。 2.3 MSComm控件介紹 VB中的MSComm控件具有功能完善的串口數(shù)據(jù)發(fā)送和接收功能。 MSComm控件具有兩種通信方式:事件驅(qū)動方式和查詢方式[3]。因為查詢方式占用CPU時間太多,我們采用事件驅(qū)動方式。要完成通信,必需正確設(shè)置MSComm控件的相關(guān)屬性,本設(shè)計在窗體中對其進(jìn)行初始化,主要包括端口設(shè)置,波特率設(shè)置,奇偶設(shè)置等。主要屬性如表1所示。 [align=center]表1 MSComm控件屬性 [/align] [b]2 通信程序設(shè)計 [/b] 本系統(tǒng)以PC對基于PLC的交通燈控制系統(tǒng)的監(jiān)控為例,在上位機(jī)與PLC正常通信的前提下,設(shè)計如下界面。窗體的內(nèi)容主要包括,四大區(qū):端口、站號選擇區(qū),設(shè)定時間輸入?yún)^(qū),監(jiān)控顯示區(qū),控制按紐區(qū)。從站號選擇區(qū)選擇不同站號即不同PLC,實現(xiàn)對多個PLC的實時監(jiān)控。 3.1 串口初始化程序 If MSComm1.PortOpen <> True Then MSComm1.PortOpen=True End If MSComm1.Settings=“9600,E,7,2” MSComm1.InputLen=0 MSComm1.InBufferCount=0 MSComm1.InputMode=comInputModeText MSComm1.Handshaking=comNone 3.2 計算機(jī)與PLC通信的VB程序 Public Function ReadData(ByVal InputStr As String, ByVal Num1 As Integer, ByVal Num2 As Integer) As String
Dim OutputStr As String Dim InString As String Dim ReturnStr As String Dim EndString As String Dim FCSString As String Dim ReturnFCSString As String Form1.MSComm1.InBufferCount=0 OutputStr=InputStr+FCS(InputStr)+“*” If Form1.MSComm1.PortOpen=True Then Form1.MSComm1.Output=OutputStr+Chr$(13)’按照PLC幀格式輸出 End If Do DoEvents Loop Until Form1.MSComm1.InBufferCount >=Num2’返回幀的長度 InString=Form1.MSComm1.Input EndString=Mid$(InString,6,2)’取返回幀的響應(yīng)碼 If EndString <> “00”Then ReadData=“Error” Exit Function End If EndString=Mid$(InString,1,Len(InString)-4) ReturnFCSString=Mid$(InString, Len(InString) -3,2)’取返回幀校驗碼 FCSString=FCS(EndString) If FCSString <> ReturnFCSString Then ReadData=“Error” Exit Function End If If Len(InString)>=Num2 Then ReturnStr=Mid$(InString, Len(InString)-Num1-3, Num1)’取返回幀的數(shù)據(jù),其度為Num1 ReadData = ReturnStr End If End Function 4 結(jié)束語 本文給出了利用VB中的MSCOMM控件實現(xiàn)上位機(jī)與多個PLC之間的通信方法,實現(xiàn)了上位機(jī)對多個PLC的實時監(jiān)控。對于分布是控制系統(tǒng)大幅度地減小了通訊成本,具有一定的推廣價值。

標(biāo)簽:

點贊

分享到:

上一篇:一種新的無線傳感器網(wǎng)絡(luò)分簇...

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

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

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

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

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

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號