基于VB的PLC與計算機(jī)間串行通信實現(xiàn)
在工業(yè)控制領(lǐng)域中,PLC作為一種穩(wěn)定可靠的控制器得到廣泛的應(yīng)用。但它也有自身的一些缺點(diǎn),即數(shù)據(jù)的計算處理和管理能力較弱,不能給用戶提供良好的界面等。而計算機(jī)恰好能彌補(bǔ)PLC的不足,它不但有很強(qiáng)的數(shù)據(jù)處理和管理能力,而且能給用戶提供非常美觀而又易于操作的界面。將PLC與計算機(jī)結(jié)合,可使系統(tǒng)達(dá)到既能及時地采集、存儲數(shù)據(jù),又可處理和使用好數(shù)據(jù),兩者結(jié)合的關(guān)鍵是PLC與計算機(jī)之間的通信。本文以O(shè)MRON公司的CPMI小型PLC為例,詳細(xì)的討論了PLC與計算機(jī)通信的原理和用VB如何實現(xiàn)PLC與計算機(jī)的通信。
本文引用地址:http://m.butianyuan.cn/article/202505.htm一、通行原理與方法
上位機(jī)要能夠通過PLC監(jiān)控下層設(shè)備的狀態(tài),就要實現(xiàn)上位機(jī)與PLC間的通信,一般工業(yè)控制中都是采用RS232C實現(xiàn)。上位機(jī)首先向PLC 發(fā)送查詢數(shù)據(jù)的指令(實際上是查詢PLC中端子的狀態(tài)和dm區(qū)的值等),PLC接收了上位的指令后,進(jìn)行校驗(fcs校驗碼),看其是否正確,如果正確,則向上位機(jī)傳送數(shù)據(jù)(包含首尾校驗字節(jié))。否則,PLC拒絕向上位機(jī)傳送數(shù)據(jù)。上位接收到PLC傳送的數(shù)據(jù),也要判斷正確與否,如果正確,則接收,否則,拒絕接收。
由于cpm1a沒有提供串行通信口,我們利用其提供的外設(shè)端口實現(xiàn)通信。PLC與計算機(jī)之間的連接是通過omron提供的專用電纜cqm1-cif01來實現(xiàn)的,其硬件連接圖如圖1所示。
二、 PLC與計算機(jī)間的通信規(guī)約
計算機(jī)與PLC間的通信是以“幀”為單位進(jìn)行的,并且在通信的過程中,計算機(jī)具有更高的優(yōu)先級。首先,計算機(jī)向PLC發(fā)出命令幀,然后,PLC作出響應(yīng),向計算機(jī)發(fā)送回響應(yīng)幀。其中命令幀和響應(yīng)幀的格式如下:
?。?) 命令幀格式。為了方便計算機(jī)和PLC的通訊,cpm1a對在計算機(jī)連接通信中交換的命令和響應(yīng)規(guī)定了相應(yīng)的格式。當(dāng)計算機(jī)發(fā)送一個命令時,命令數(shù)據(jù)主準(zhǔn)備格式如圖2所示。
其中@放在首位,表示以@開始,設(shè)備號為上位機(jī)識別所連接的PLC的設(shè)備號。識別碼為命令代碼,用來設(shè)置用戶希望上位機(jī)完成的操作,fcs為幀檢驗代碼,一旦通信出錯,通過計算fcs可以及時發(fā)現(xiàn)。結(jié)束符為“*”和cr回車符,表示命令結(jié)束。
(2) 響應(yīng)幀格式。由PLC發(fā)出的對應(yīng)于命令格式的響應(yīng)幀格式如圖3所示。
其中,異常碼可以確定計算機(jī)發(fā)送的命令是否正確執(zhí)行。其它的與正文中的含義相同。正文僅在有讀出數(shù)據(jù)時有返回。
三、 通信程序的設(shè)計
為了充分利用計算機(jī)數(shù)據(jù)處理的強(qiáng)大功能,我們可以采用計算機(jī)有優(yōu)先權(quán)的方式,在計算機(jī)上編寫程序來實現(xiàn)計算機(jī)與PLC的通信, 計算機(jī)向 PLC發(fā)出命令發(fā)起通信,PLC自動返回響應(yīng)。本文中采用vb來編寫計算機(jī)與PLC間的通訊程序。在vb中提供了通信控件—應(yīng)用通信控件(mscomm),實現(xiàn)通過串行端口傳送和接受的功能。
下面介紹mscomm控件的屬性:
*commport:設(shè)定通信連接端口代號,程序必須指定所要使用的串行端口號,windows系統(tǒng)使用所設(shè)定的端口與外界通信。
?。猵ortopen:設(shè)定通信口狀態(tài),若為真,通信端口打開,否則關(guān)閉。
*settings:設(shè)定通信口參數(shù),其格式是BBbb,p,d,s,其中bbbb為通信速率(波特率),p為通信檢查方式(奇偶校驗), d 為數(shù)據(jù)位數(shù),s為停止位數(shù),其設(shè)定應(yīng)與PLC的設(shè)定一致。
評論