上位機VB實現(xiàn)與三菱PLC的串行通訊

上位機VB實現(xiàn)與三菱PLC的串行通訊

ID:40339943

大?。?3.02 KB

頁數(shù):3頁

時間:2019-07-31

上位機VB實現(xiàn)與三菱PLC的串行通訊_第1頁
上位機VB實現(xiàn)與三菱PLC的串行通訊_第2頁
上位機VB實現(xiàn)與三菱PLC的串行通訊_第3頁
資源描述:

《上位機VB實現(xiàn)與三菱PLC的串行通訊》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、上位機VB實現(xiàn)與三菱PLC的串行通訊2009年12月15日星期二下午07:401.通行原理與方法上位機要能夠通過PLC監(jiān)控下層設(shè)備的狀態(tài),就要實現(xiàn)上位機與PLC間的通信,一般工業(yè)控制中都是采用RS232C實現(xiàn)。上位機首先向PLC發(fā)送查詢數(shù)據(jù)的指令(實際上是查詢PLC中端子的狀態(tài)和DM區(qū)的值等),PLC接收了上位的指令后,進行校驗(FCS校驗碼),看其是否正確,如果正確,則向上位機傳送數(shù)據(jù)(包含首尾校驗字節(jié))。否則,PLC拒絕向上位機傳送數(shù)據(jù)。上位接收到PLC傳送的數(shù)據(jù),也要判斷正確與否,如果正確,則接收,否則,拒絕接收。由

2、于CPM1A沒有提供串行通信口,我們利用其提供的外設(shè)端口實現(xiàn)通信。PLC與計算機之間的連接是通過OMRON提供的專用電纜CQM1-CIF01來實現(xiàn)的,其硬件連接圖如圖1所示。(見附圖)2.??PLC與計算機間的通信規(guī)約計算機與PLC間的通信是以“幀”為單位進行的,并且在通信的過程中,計算機具有更高的優(yōu)先級。首先,計算機向PLC發(fā)出命令幀,然后,PLC作出響應(yīng),向計算機發(fā)送回響應(yīng)幀。其中命令幀和響應(yīng)幀的格式如下:(1)命令幀格式。為了方便計算機和PLC的通訊,CPM1A對在計算機連接通信中交換的命令和響應(yīng)規(guī)定了相應(yīng)的格式。當

3、計算機發(fā)送一個命令時,命令數(shù)據(jù)主準備格式如圖2所示。(見附圖)其中@放在首位,表示以@開始,設(shè)備號為上位機識別所連接的PLC的設(shè)備號。識別碼為命令代碼,用來設(shè)置用戶希望上位機完成的操作,F(xiàn)CS為幀檢驗代碼,一旦通信出錯,通過計算FCS可以及時發(fā)現(xiàn)。結(jié)束符為“*”和CR回車符,表示命令結(jié)束。???(2)響應(yīng)幀格式。由PLC發(fā)出的對應(yīng)于命令格式的響應(yīng)幀格式如圖3所示。(見附圖)其中,異常碼可以確定計算機發(fā)送的命令是否正確執(zhí)行。其它的與正文中的含義相同。正文僅在有讀出數(shù)據(jù)時有返回。3.??通信程序的設(shè)計為了充分利用計算機數(shù)據(jù)處理

4、的強大功能,我們可以采用計算機有優(yōu)先權(quán)的方式,在計算機上編寫程序來實現(xiàn)計算機與PLC的通信,計算機向PLC發(fā)出命令發(fā)起通信,PLC自動返回響應(yīng)。本文中采用VB來編寫計算機與PLC間的通訊程序。在VB中提供了通信控件—應(yīng)用通信控件(MSCOMM),實現(xiàn)通過串行端口傳送和接受的功能。下面介紹MSCOMM控件的屬性:*CommPort:設(shè)定通信連接端口代號,程序必須指定所要使用的串行端口號,Windows系統(tǒng)使用所設(shè)定的端口與外界通信。*PortOpen:設(shè)定通信口狀態(tài),若為真,通信端口打開,否則關(guān)閉。*Settings:設(shè)定通

5、信口參數(shù),其格式是"bbbb,p??,d,s",其中bbbb為通信速率(波特率),p為通信檢查方式(奇偶校驗),??d???為數(shù)據(jù)位數(shù),s為停止位數(shù),其設(shè)定應(yīng)與PLC的設(shè)定一致。*Input:將對方傳送至輸入緩沖區(qū)的字符讀入到程序。*Output:將字符寫入輸出緩沖區(qū)。*InBufferCount:傳回接收緩沖區(qū)中的字符數(shù)。*OutBufferCount:傳回輸出緩沖區(qū)中的字符數(shù)。*InputLen:設(shè)定串行端口讀入字符串的長度。*InputMode:設(shè)定接收數(shù)據(jù)的方式。*Rthreshold:設(shè)定引發(fā)接收事件的字符數(shù)。*

6、CommEvent:傳回OnComm事件發(fā)生時的數(shù)值碼*OnComm事件:無論是錯誤或事件發(fā)生,都會觸發(fā)此事件。(1)控件參數(shù)的初始化。初始化程序如下:Mscomm.ComPort=2'使用串口Com2Mscomm.Settings="9600,E,7,2"'波特率9600,偶校驗,7位數(shù)據(jù)位,2位停止位Mscomm.PortOpen=True'打開通信端口,準備通信(2)計算校驗碼FCS,計算FCS的VB自定義函數(shù)如下:FunctionFCS(ByValInputStrAsString)AsStringDimSlen,i

7、,XorresultAsIntegerDimTempfesAsStringSlen=Len(InputStr)??'求輸入字符串長度Xorresult=0Fori=1ToSlenXorresult=XorresultXorAsc(Mid$(InputStr,i,1))???'按位異或NextiTempfes=Hex$(Xorresult)???'轉(zhuǎn)化為16進制IfLen(Tempfes)=1ThenTempfes=“0”+TempfesFCS=TempfesEndFunction(3)計算機與PLC通信程序。主要是一個自定

8、義函數(shù)。FunctionReadData(ByValInputStrAsString,ByValNumAsInteger)AsStringDimOutputStrAsStringDimInStringAsStringDimReturnStrAsStringDimEndStringAsStringDimF

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。