环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器

類型分類:
科普知識
數據分類:
PLC可編程控制器

用VB實現歐姆龍PLC及計算機間的串行通信

發布日期:2022-04-26 點擊率:179 品牌:歐姆龍_Omron

    1引言

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

    2通行原理與方法

    上位機要能夠通過plc監控下層設備的狀態,就要實現上位機與plc間的通信,一般工業控制中都是采用rs232c實現。上位機首先向plc發送查詢數據的指令(實際上是查詢plc中端子的狀態和dm區的值等),plc接收了上位的指令后,進行校驗(fcs校驗碼),看其是否正確,如果正確,則向上位機傳送數據(包含首尾校驗字節)。否則,plc拒絕向上位機傳送數據。上位接收到plc傳送的數據,也要判斷正確與否,如果正確,則接收,否則,拒絕接收。

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

    3plc與計算機間的通信規約

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

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

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

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

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

    4通信程序的設計

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

    下面介紹mscomm控件的屬性:

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

    *portopen:設定通信口狀態,若為真,通信端口打開,否則關閉。

    *settings:設定通信口參數,其格式是"bbbb,p

    ,d,s",其中bbbb為通信速率(波特率),p為通信檢查方式(奇偶校驗),d為數據位數,s為停止位數,其設定應與plc的設定一致。

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

    *output:將字符寫入輸出緩沖區。

    *inbuffercount:傳回接收緩沖區中的字符數。

    *outbuffercount:傳回輸出緩沖區中的字符數。

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

    *inputmode:設定接收數據的方式。

    *rthreshold:設定引發接收事件的字符數。

    *commevent:傳回oncomm事件發生時的數值碼

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

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

    初始化程序如下:

    mscomm.comport=2`使用串口com2

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

    mscomm.portopen=true`打開通信端口,準備通信

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

    functionfcs(byvalinputstrasstring)asstring

    dimslen,i,xorresultasinteger

    dimtempfesasstring

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

    xorresult=0

    fori=1toslen

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

    nexti

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

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

    fcs=tempfes

    endfunction

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

    主要是一個自定義函數。

    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的響應幀

    `結束碼判斷

    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

    `響應幀校驗

    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返回的響應幀要進行fcs校驗,并利用異常碼排除返回的異常數據,這樣不但可以提高計算機獲取信息的正確性,而且提高了計算機監控的實時性。

    5結束語

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

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

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

推薦產品

更多
主站蜘蛛池模板: 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 传动滚筒_厂家-淄博海恒机械制造厂 | 工业用品一站式采购平台|南创工品汇-官网|广州南创 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 烟台螺纹,烟台H型钢,烟台钢材,烟台角钢-烟台市正丰金属材料有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 共享雨伞_共享童车_共享轮椅_共享陪护床-共享产品的领先者_有伞科技 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 |