<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產(chǎn)品分類

      當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器

      類型分類:
      科普知識
      數(shù)據(jù)分類:
      PLC可編程控制器

      用VB實現(xiàn)歐姆龍PLC及計算機間的串行通信

      發(fā)布日期:2022-04-26 點擊率:176 品牌:歐姆龍_Omron

          1引言

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

          2通行原理與方法

          上位機要能夠通過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ù),也要判斷正確與否,如果正確,則接收,否則,拒絕接收。

          由于cpm1a沒有提供串行通信口,我們利用其提供的外設(shè)端口實現(xiàn)通信。plc與計算機之間的連接是通過omron提供的專用電纜cqm1-cif01來實現(xiàn)的,其硬件連接圖如圖1所示。

          3plc與計算機間的通信規(guī)約

          計算機與plc間的通信是以“幀”為單位進行的,并且在通信的過程中,計算機具有更高的優(yōu)先級。首先,計算機向plc發(fā)出命令幀,然后,plc作出響應(yīng),向計算機發(fā)送回響應(yīng)幀。其中命令幀和響應(yīng)幀的格式如下:

          (1)命令幀格式。為了方便計算機和plc的通訊,cpm1a對在計算機連接通信中交換的命令和響應(yīng)規(guī)定了相應(yīng)的格式。當(dāng)計算機發(fā)送一個命令時,命令數(shù)據(jù)主準(zhǔn)備格式如圖2所示。

          其中@放在首位,表示以@開始,[emailprotected]?為命令代碼,用來設(shè)置用戶希望上位機完成的操作,fcs為幀檢驗代碼,一旦通信出錯,通過計算fcs可以及時發(fā)現(xiàn)。結(jié)束符為“*”和cr回車符,表示命令結(jié)束。

          (2)響應(yīng)幀格式。由plc發(fā)出的對應(yīng)于命令格式的響應(yīng)幀格式如圖3所示。

          其中,異常碼可以確定計算機發(fā)送的命令是否正確執(zhí)行。其它的與正文中的含義相同。正文僅在有讀出數(shù)據(jù)時有返回。

          4通信程序的設(shè)計

          為了充分利用計算機數(shù)據(jù)處理的強大功能,我們可以采用計算機有優(yōu)先權(quán)的方式,在計算機上編寫程序來實現(xiàn)計算機與plc的通信,計算機向plc發(fā)出命令發(fā)起通信,plc自動返回響應(yīng)。本文中采用vb來編寫計算機與plc間的通訊程序。在vb中提供了通信控件—應(yīng)用通信控件(mscomm),實現(xiàn)通過串行端口傳送和接受的功能。

          下面介紹mscomm控件的屬性:

          *commport:設(shè)定通信連接端口代號,程序必須指定所要使用的串行端口號,WINOOWs系統(tǒng)使用所設(shè)定的端口與外界通信。

          *portopen:設(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è)定一致。

          *input:將對方傳送至輸入緩沖區(qū)的字符讀入到程序。

          *output:將字符寫入輸出緩沖區(qū)。

          *inbuffercount:傳回接收緩沖區(qū)中的字符數(shù)。

          *outbuffercount:傳回輸出緩沖區(qū)中的字符數(shù)。

          *inputlen:設(shè)定串行端口讀入字符串的長度。

          *inputmode:設(shè)定接收數(shù)據(jù)的方式。

          *rthreshold:設(shè)定引發(fā)接收事件的字符數(shù)。

          *commevent:傳回oncomm事件發(fā)生時的數(shù)值碼

          *oncomm事件:無論是錯誤或事件發(fā)生,都會觸發(fā)此事件。

          (1)控件參數(shù)的初始化。

          初始化程序如下:

          mscomm.comport=2`使用串口com2

          mscomm.settings="9600,e,7,2"`波特率9600,偶校驗,7位數(shù)據(jù)位,2位停止位

          mscomm.portopen=true`打開通信端口,準(zhǔn)備通信

          (2)計算校驗碼fcs,計算fcs的vb自定義函數(shù)如下:

          functionfcs(byvalinputstrasstring)asstring

          dimslen,i,xorresultasinteger

          dimtempfesasstring

          slen=len(inputstr)`求輸入字符串長度

          xorresult=0

          fori=1toslen

          xorresult=xorresultxorasc(mid$(inputstr,i,1))`按位異或

          nexti

          tempfes=hex$(xorresult)`轉(zhuǎn)化為16進制

          iflen(tempfes)=1thentempfes=“0”+tempfes

          fcs=tempfes

          endfunction

          (3)計算機與plc通信程序。

          主要是一個自定義函數(shù)。

          functionreaddata(byvalinputstrasstring,byvalnumasinteger)asstring

          dimoutputstrasstring

          diminstringasstring

          dimreturnstrasstring

          dimendstringasstring

          dimfcsstringasstring

          dimreturnfcsstringasstring)

          mscomm.inbuffercount=0

          outputstr=inputstr+fcs(inputstr)+“*”`給出命令幀

          mscomm.output=outputstr+chr$(13)`向plc傳送命令幀

          do

          doevents

          loopwhilemscomm.inbuffercount<15

          instring=mscomm.input`獲取plc的響應(yīng)幀

          `結(jié)束碼判斷

          endstring=mid$(instring,len(instring)-

          num-5,2)

          ifendstring="13"then

          readdata="error"

          exitfunction

          elseifendstring="14"then

          readdata="error"

          exitfunction

          elseifendstring="15"then

          readdata="error"

          exitfunction

          elseifendstring="18"then

          readdata="error"

          exitfunction

          elseifendstring="a3"then

          readdata="error"

          exitfunction

          elseifendstring="a8"then

          readdata="error"

          exitfunction

          endif

          `響應(yīng)幀校驗

          endstring=mid$(instring,1,len(instring)-4)

          returnfcsstring=mid$(instring,len(instring)-3,2)

          fcsstring=fcs(endstring)

          iffcsstring<>returnfcsstringthen

          readdata="error"

          exitfunction

          endif

          returnstr=mid$(instring,

          len(instring)-num-3,num)

          readdata=returnstr

          endfunction

          從上面程序可以看到,計算機對plc返回的響應(yīng)幀要進行fcs校驗,并利用異常碼排除返回的異常數(shù)據(jù),這樣不但可以提高計算機獲取信息的正確性,而且提高了計算機監(jiān)控的實時性。

          5結(jié)束語

          本文介紹的通信方法在我校cims研究中心自行研制的一套機電一體化設(shè)備中得到實施運用,經(jīng)試驗運行,證明這種通信方法穩(wěn)定、可靠,確實是一種非常有效的方法。將plc與計算機通信網(wǎng)絡(luò)連接起來,plc作為下位機,計算機作為上位機,形成一個優(yōu)勢互補的自動控制系統(tǒng),實現(xiàn)了“集中管理,分散控制”。其中各個plc子系統(tǒng)或遠程工作站在生產(chǎn)現(xiàn)場對各個被控對象進行控制,利用網(wǎng)絡(luò)連接構(gòu)成一個plc綜合控制,滿足了現(xiàn)代自動化系統(tǒng)向信息化、網(wǎng)絡(luò)化、智能化的過渡。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 亚洲综合精品香蕉久久网97| 色欲人妻综合AAAAA网| 亚洲综合小说另类图片动图| 亚洲精品第一国产综合野| 亚洲a无码综合a国产av中文| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久精品国产亚洲综合色| 亚洲综合成人网在线观看| 本道久久综合无码中文字幕| 一本一道久久综合狠狠老| 色综合久久最新中文字幕| 久久久久噜噜噜亚洲熟女综合| 亚洲综合久久久久久中文字幕| 亚洲国产综合人成综合网站| 色之综合天天综合色天天棕色| 国产天堂一区二区综合| 97se亚洲国产综合自在线| 久久综合色天天久久综合图片| 色综合久久天天综线观看| 91综合久久婷婷久久| 国产综合成人色产三级高清在线精品发布 | 国产精品无码久久综合| 色偷偷91综合久久噜噜| 99久久综合狠狠综合久久一区| 久久本道综合久久伊人| 色噜噜狠狠色综合免费视频| 狠狠色成人综合首页| 色综合色综合色综合色综合网| 婷婷成人丁香五月综合激情| 久久本道综合久久伊人| 综合人妻久久一区二区精品| 色综合小说天天综合网| 一本丁香综合久久久久不卡网站| 狠狠色丁香婷婷久久综合五月| 国产综合无码一区二区辣椒| 一本久道久久综合| 伊人久久大香线焦AV综合影院| 久久综合五月婷婷| 色综合色天天久久婷婷基地| 亚洲狠狠成人综合网| 日韩亚洲国产综合高清|