国产一区二区精品在线_午夜精品视频_亚洲国产高清高潮精品美女_久久久91_午夜精品视频_久久久久亚洲一区二区三区

用VB實現(xiàn)PLC與計算機間的串行通信

來源:網(wǎng)絡(luò)

點擊:1640

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:VB,PLC,串行通信

    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所示。

      

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

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

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

      

      其中@放在首位,表示以@開始,設(shè)備號為上位機識別所連接的plc的設(shè)備號。識別碼為命令代碼,用來設(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è)定通信連接端口代號,程序必須指定所要使用的串行端口號,windows系統(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 `打開通信端口,準備通信

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

      function fcs(byval inputstr as string) as string

      dim slen, i, xorresult as integer

      dim tempfes as string

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

      xorresult = 0

      for i = 1 to slen

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

      next i

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

      if len(tempfes)=1then tempfes =“0”+tempfes

      fcs = tempfes

      end function

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

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

      function readdata(byval inputstr as string, byval num 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)

      mscomm.inbuffercount=0

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

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

      do

      doevents

      loop while mscomm.inbuffercount 《 15

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

     

      `結(jié)束碼判斷

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

      num- 5, 2)

      if endstring = “13” then

      readdata = “error”

      exit function

      elseif endstring = “14” then

      readdata = “error”

      exit function

      elseif endstring = “15” then

      readdata = “error”

      exit function

      elseif endstring = “18” then

      readdata = “error”

      exit function

      elseif endstring = “a3” then

      readdata = “error”

      exit function

      elseif endstring = “a8” then

      readdata = “error”

      exit function

      end if

      `響應(yīng)幀校驗

      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

      returnstr = mid$(instring,

      len(instring) - num - 3, num)

      readdata = returnstr

      end function

      從上面程序可以看到,計算機對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ò)化、智能化的過渡。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    国产一区二区精品在线_午夜精品视频_亚洲国产高清高潮精品美女_久久久91_午夜精品视频_久久久久亚洲一区二区三区
    <cite id="gqusq"><tbody id="gqusq"></tbody></cite>
    <strike id="gqusq"><tbody id="gqusq"></tbody></strike>
    <abbr id="gqusq"><rt id="gqusq"></rt></abbr>
  • <strike id="gqusq"><tbody id="gqusq"></tbody></strike>
    <ul id="gqusq"></ul>
    <center id="gqusq"><noscript id="gqusq"></noscript></center>
  • 亚洲视频在线二区| 麻豆av一区二区三区| 激情久久久久久| 黄色亚洲在线| 99视频精品| 久久高清国产| 久久伊人一区二区| 国产激情一区二区三区在线观看| 国产高清精品一区| 欧美一区激情视频在线观看| 少妇精品久久久久久久久久| 欧美精选一区| 99精品国产在热久久下载| 久久久精品网| 清纯唯美一区二区三区| 国产一区二区三区四区三区四| 国产婷婷精品| 久久国产精品亚洲va麻豆| 亚洲欧美成人一区| 国产日韩欧美精品| 精品国产中文字幕| 欧美色综合网| av一区二区三区四区电影| 日日夜夜精品网站| 国产精品区一区| 国产一区再线| 欧美日韩一区二区视频在线观看| 国产日韩视频| 91一区二区三区| 热re99久久精品国产99热| 国产精品mv在线观看| 中文高清一区| 另类小说综合网| 激情综合自拍| 国产精品区一区二区三在线播放| 四虎永久在线精品免费一区二区| 国内揄拍国内精品久久| 美女诱惑黄网站一区| 久久久久无码国产精品一区| 在线观看国产一区| 99精品视频免费观看视频| 国产亚洲精品久久飘花| 制服诱惑一区| 久久国产一区| 亚洲国产精品综合| 国产伦精品一区二区| 日本一区视频在线观看| 99这里有精品| 日韩少妇中文字幕| 麻豆精品91| 欧美在线观看天堂一区二区三区| 欧美一区国产一区| 日韩视频一区| 日韩精品国内| 久久先锋影音| 国产综合欧美| 欧美日韩在线一二三| 国产日韩一区二区三区| 先锋影音日韩| 波多野结衣成人在线| 国产综合自拍| 日韩欧美视频一区二区| 久久一区激情| 精品1区2区3区4区| 欧美性天天影院| 麻豆成人在线| 亚洲三级色网| 欧美在线日韩| 免费观看成人高| 影音先锋亚洲一区| 欧美亚洲另类久久综合| 久久xxxx精品视频| 一区福利视频| 欧美成人嫩草网站| 精品一区久久久久久| 久久国产欧美精品| 亚洲黄色视屏| 国内综合精品午夜久久资源| 亚洲欧洲国产精品久久| 蜜桃欧美视频| 久久福利电影| 国产一区二区在线网站 | 国内精品福利| 亚洲成人18| 日韩亚洲一区在线播放| 1区1区3区4区产品乱码芒果精品| 极品av少妇一区二区| 欧美一区二区三区四区夜夜大片| 玖玖玖精品中文字幕| 好看的日韩精品| 国产高清在线一区二区| 米奇777在线欧美播放| 国产欧美日韩亚洲一区二区三区| 欧美日韩精品免费观看视一区二区| 麻豆精品视频| 国产在线精品一区二区三区| 国产欧美成人| 夜夜嗨av一区二区三区网站四季av| 欧美亚韩一区| 精品不卡一区二区三区| 亚洲午夜黄色| 99国产精品久久久久老师 | 欧美激情综合| 一区二区日本伦理| 一区二区日本伦理| 欧美日韩一区二区三区在线视频 | 日本免费高清一区| 免费国产一区二区| 性高潮久久久久久久久| 在线一区亚洲| 黄色成人在线网站| 女人香蕉久久**毛片精品| 在线国产精品网| 韩国欧美一区| 亚洲尤物影院| 国产精品一区二区三区观看| 国产中文一区二区| 欧美裸体网站| 欧美日韩视频在线一区二区观看视频 | 日本成人黄色免费看| 一本色道久久综合亚洲精品婷婷 | 日韩高清专区| 国产一区二区三区四区三区四| 中文精品视频| 国产欧美日韩一区| 一级特黄录像免费播放全99| 欧美视频导航| 日韩动漫在线观看| 伊人成人在线| 国产福利久久精品| 日韩中文不卡| 一本色道久久99精品综合| 99久久精品免费看国产一区二区三区 | 亚洲激情影院| 97中文在线| 亚洲一区三区| 亚洲一区网站| 日本精品视频一区| 影音先锋久久| 久久精品ww人人做人人爽| 亚洲精品国产系列| 伊人久久大香线蕉精品| 亚洲一区精彩视频| 欧洲亚洲一区二区| 激情久久久久久| 欧美xxxx黑人又粗又长精品| 激情久久婷婷| 国产日韩三区| 激情综合视频| 精品免费视频123区| 亚洲免费在线精品一区| 免费视频一区二区三区在线观看| 精品国产一区二区三区免费| 亚洲一二三区精品| 精品久久精品久久| 国产一区二区黄色| 亚洲国产精品综合| av色综合网| 亚洲国产婷婷| 亚洲一二区在线| 成人综合电影| 夜夜精品视频| 欧美精品二区| 青娱乐一区二区| yellow视频在线观看一区二区 | 久久99国产精品| 亚洲一区二区三区色| 亚洲蜜桃在线| 免费亚洲一区二区| 久久人人精品| 亚洲最黄网站| 国模 一区 二区 三区| 欧美人xxxxx| 国产美女在线精品免费观看| 国产精品日韩一区二区三区| 午夜国产一区| 国产精品视频福利| 久久久久一区二区| 夜夜精品视频| 91久久亚洲| 国产一区激情| 欧美日韩第一区| 日韩电影在线播放| 免费日韩电影在线观看| 国产一区免费观看| 丁香五月网久久综合| 亚洲欧美日韩国产| 欧美精品三级| 在线精品亚洲一区二区| 欧美精品尤物在线| 日本a级片久久久| 蜜桃久久精品乱码一区二区| 精品久久sese| 欧美日韩国产综合视频在线| 激情五月综合色婷婷一区二区| 999日本视频| 国产精品久久久久久久天堂第1集| 久久尤物视频| 国产激情一区二区三区在线观看| 老司机久久99久久精品播放免费|