用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信

用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信

ID:20703876

大小:61.50 KB

頁(yè)數(shù):7頁(yè)

時(shí)間:2018-10-15

用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信_(tái)第1頁(yè)
用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信_(tái)第2頁(yè)
用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信_(tái)第3頁(yè)
用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信_(tái)第4頁(yè)
用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信_(tái)第5頁(yè)
資源描述:

《用vb實(shí)現(xiàn)歐姆龍plc及計(jì)算機(jī)間的串行通信》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、用VB實(shí)現(xiàn)歐姆龍PLC及計(jì)算機(jī)間的串行通信  1引言  在工業(yè)控制領(lǐng)域中,plc作為一種穩(wěn)定可靠的控制器得到廣泛的應(yīng)用。但它也有自身的一些缺點(diǎn),即數(shù)據(jù)的計(jì)算處理和管理能力較弱,不能給用戶(hù)提供良好的界面等。而計(jì)算機(jī)恰好能彌補(bǔ)plc的不足,它不但有很強(qiáng)的數(shù)據(jù)處理和管理能力,而且能給用戶(hù)提供非常美觀(guān)而又易于操作的界面。將plc與計(jì)算機(jī)結(jié)合,可使系統(tǒng)達(dá)到既能及時(shí)地采集、存儲(chǔ)數(shù)據(jù),又可處理和使用好數(shù)據(jù),兩者結(jié)合的關(guān)鍵是plc與計(jì)算機(jī)之間的通信。本文以omron公司的cpmia小型plc為例,詳細(xì)的討論了plc與計(jì)算

2、機(jī)通信的原理和用vb如何實(shí)現(xiàn)plc與計(jì)算機(jī)的通信?! ?通行原理與方法  上位機(jī)要能夠通過(guò)plc監(jiān)控下層設(shè)備的狀態(tài),就要實(shí)現(xiàn)上位機(jī)與plc間的通信,一般工業(yè)控制中都是采用rs232c實(shí)現(xiàn)。上位機(jī)首先向plc發(fā)送查詢(xún)數(shù)據(jù)的指令(實(shí)際上是查詢(xún)plc中端子的狀態(tài)和dm區(qū)的值等),plc接收了上位的指令后,進(jìn)行校驗(yàn)(fcs校驗(yàn)碼),看其是否正確,如果正確,則向上位機(jī)傳送數(shù)據(jù)(包含首尾校驗(yàn)字節(jié))。否則,plc拒絕向上位機(jī)傳送數(shù)據(jù)。上位接收到plc傳送的數(shù)據(jù),也要判斷正確與否,如果正確,則接收,否則,拒絕接收?! ∮?/p>

3、于cpm1a沒(méi)有提供串行通信口,我們利用其提供的外設(shè)端口實(shí)現(xiàn)通信。plc與計(jì)算機(jī)之間的連接是通過(guò)omron提供的專(zhuān)用電纜cqm1-cif01來(lái)實(shí)現(xiàn)的,其硬件連接圖如圖1所示。    3plc與計(jì)算機(jī)間的通信規(guī)約  計(jì)算機(jī)與plc間的通信是以“幀”為單位進(jìn)行的,并且在通信的過(guò)程中,計(jì)算機(jī)具有更高的優(yōu)先級(jí)。首先,計(jì)算機(jī)向plc發(fā)出命令幀,然后,plc作出響應(yīng),向計(jì)算機(jī)發(fā)送回響應(yīng)幀。其中命令幀和響應(yīng)幀的格式如下: ?。?)命令幀格式。為了方便計(jì)算機(jī)和plc的通訊,cpm1a對(duì)在計(jì)算機(jī)連接通信中交換的命令和響應(yīng)規(guī)

4、定了相應(yīng)的格式。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)命令時(shí),命令數(shù)據(jù)主準(zhǔn)備格式如圖2所示。    其中@放在首位,表示以@開(kāi)始,設(shè)備號(hào)為上位機(jī)識(shí)別所連接的plc的設(shè)備號(hào)。識(shí)別碼為命令代碼,用來(lái)設(shè)置用戶(hù)希望上位機(jī)完成的操作,fcs為幀檢驗(yàn)代碼,一旦通信出錯(cuò),通過(guò)計(jì)算fcs可以及時(shí)發(fā)現(xiàn)。結(jié)束符為“*”和cr回車(chē)符,表示命令結(jié)束?! 。?)響應(yīng)幀格式。由plc發(fā)出的對(duì)應(yīng)于命令格式的響應(yīng)幀格式如圖3所示。    其中,異常碼可以確定計(jì)算機(jī)發(fā)送的命令是否正確執(zhí)行。其它的與正文中的含義相同。正文僅在有讀出數(shù)據(jù)時(shí)有返回?! ?通信程序的設(shè)

5、計(jì)  為了充分利用計(jì)算機(jī)數(shù)據(jù)處理的強(qiáng)大功能,我們可以采用計(jì)算機(jī)有優(yōu)先權(quán)的方式,在計(jì)算機(jī)上編寫(xiě)程序來(lái)實(shí)現(xiàn)計(jì)算機(jī)與plc的通信,計(jì)算機(jī)向plc發(fā)出命令發(fā)起通信,plc自動(dòng)返回響應(yīng)。本文中采用vb來(lái)編寫(xiě)計(jì)算機(jī)與plc間的通訊程序。在vb中提供了通信控件—應(yīng)用通信控件(mscomm),實(shí)現(xiàn)通過(guò)串行端口傳送和接受的功能?! ∠旅娼榻Bmscomm控件的屬性: ?。猚ommport:設(shè)定通信連接端口代號(hào),程序必須指定所要使用的串行端口號(hào),WINOOWs系統(tǒng)使用所設(shè)定的端口與外界通信。 ?。猵ortopen:設(shè)定通信口狀

6、態(tài),若為真,通信端口打開(kāi),否則關(guān)閉?! 。猻ettings:設(shè)定通信口參數(shù),其格式是”bbbb,p  ,d,s”,其中bbbb為通信速率(波特率),p為通信檢查方式(奇偶校驗(yàn)),d為數(shù)據(jù)位數(shù),s為停止位數(shù),其設(shè)定應(yīng)與plc的設(shè)定一致?! 。猧nput:將對(duì)方傳送至輸入緩沖區(qū)的字符讀入到程序?! 。猳utput:將字符寫(xiě)入輸出緩沖區(qū)?! 。猧nbuffercount:傳回接收緩沖區(qū)中的字符數(shù)。 ?。猳utbuffercount:傳回輸出緩沖區(qū)中的字符數(shù)?! 。猧nputlen:設(shè)定串行端口讀入字符串的長(zhǎng)度。

7、 ?。猧nputmode:設(shè)定接收數(shù)據(jù)的方式?! 。猺threshold:設(shè)定引發(fā)接收事件的字符數(shù)?! 。猚ommevent:傳回oncomm事件發(fā)生時(shí)的數(shù)值碼 ?。猳ncomm事件:無(wú)論是錯(cuò)誤或事件發(fā)生,都會(huì)觸發(fā)此事件?! 。?)控件參數(shù)的初始化?! 〕跏蓟绦蛉缦?  mscomm.comport=2`使用串口com2  mscomm.settings=“9600,e,7,2”`波特率9600,偶校驗(yàn),7位數(shù)據(jù)位,2位停止位  mscomm.portopen=true`打開(kāi)通信端口,準(zhǔn)備通信  (2)

8、計(jì)算校驗(yàn)碼fcs,計(jì)算fcs的vb自定義函數(shù)如下:  functionfcs(byvalinputstrasstring)asstring  dimslen,i,xorresultasinteger  dimtempfesasstring  slen=len(inputstr)`求輸入字符串長(zhǎng)度  xorresult=0  fori=1toslen  xorresult=xorresultxorasc(mid$(inputst

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

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

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