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

產品分類

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

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

三菱PLC編程口通信技術在機械手遠程控制中的應用

發布日期:2022-04-26 點擊率:85 品牌:三菱_Mitsubishi

    摘要:介紹了根據三菱FX系列PLC編程口通信技術的特點,設計基于VB的PC與PLC機械手遠程控制程序。通過機械手監控系統軟件的具體應用,系統地介紹了VB環境下的MSComm通訊控件、PLC與上位機的編程口通信協議、系統控制方法設計以及監控軟件的實現過程。

    關鍵詞:可編程控制器;編程口VB;通信;機械手

    中圖分類號:TN919.3∶TP241文獻標識碼:A文章編號:1007—6921(2008)18—0116—03

    可編程控制器PLC由于可靠性高、適應性好、接口功能強、體積小以及組態靈活等優點,在工業控制領域得到了廣泛的應用。但是PLC在實際的工程應用中一般與上位計算機組成分布式/分級型控制系統來完成監控任務,這就需要使用PLC的通訊技術。而PLC的編程口在上傳控制程序后,一般處于閑置狀態,在機械手監控系統中,三菱FX1N40MRPLC作為下位機并以編程口作為通信口,用來完成控制量的輸出、傳感器數據的采集等工作,上位機采用個人計算機(PC),用來完成傳感數據分析、運動規劃,狀態顯示等功能,以實現對機械手的實時監控。

    為實現PLC與上位計算機的數據通訊,有多種開發平臺可以使用,其中VB是一套完全獨立的WINDOWS開發系統,是可視化的、面向對象、采用事件驅動方式的高級程序設計語言。尤其是它提供了一個預定義對象——MSComm通訊控件。通過設置該對象的屬性,向對象發送信息,以及為對象事件編寫響應代碼,可以很方便地完成用戶應用程序之間的串行通訊,對于通過編程口與串行口進行數據通訊的PLC與上位計算機組成的監控系統,它提供了穩定、可靠的通訊。

    1機械手的系統控制方法

    機械手是由機械本體、氣動控制系統、PC-PLC監控系統組成,其機械結構如圖1所示。機械手是由基座、腰部、手臂和手爪等幾部分組成,分別完成扭轉、升降、手爪翻轉、手臂伸縮和手爪夾持動作。而上述5種動作是由氣缸驅動實現的,氣動原理如圖2所示。其中扭轉氣缸、升降氣缸、手臂伸縮氣缸是由三位五通閥來控制,而手臂翻轉、手爪夾持、氣動系統通斷是由二位五通閥來控制的。對各電磁閥的控制是由PLC遠程實現的。

    為了實現對機械手工作狀態的監視和控制,充分利用計算機系統具有的遠程控制和管理功能。為此,我們將控制系統確定為兩級計算機監控系統:PC計算機為管理級,可編程控制器PLC為控制級。系統組成如圖3所示:系統由上位機PC、PLC、驅動電路、執行元件以及傳感器、外部控制信號等幾部分組成。

    2PLC編程口與上位機的通信協議基礎

    帶有異步通信適配器的PC機與PLC只有滿足以下幾個條件,才能互聯通信:

    2.1PC與PLC的異步通信接口采用的總線標準一致,否則要通過“總線標準變換單元”變換后才能互聯。在機械手的控制系統中,PC機與FX系列PLC不能直接連接,要通過FX-232AW單元進行RS232C/RS-422的變換,即上位機與可編程控制器是通過RS232/422編程電纜進行連接通信的。

    2.2雙方的初始化,使波特率、數據位數、停止位、奇偶校驗都相同。FX系列PLC采用異步格式,由1位起始位、7位數據位、1位奇偶校驗位以及1位停止位組成,波特率為9600bps,字符為ASCII碼。

    2.3嚴格按照PLC通信協議的規定及幀格式編寫PC機的通信程序。FX系列PLC有4個通信命令,它們是讀命令(0)、寫命令(1)、強制通命令(7)、強制斷命令(8)。同時FX系列PLC采用面向字符的傳輸規程,用到5個通信控制字符:

    ENQ——計算機發出請求(05H)

    ACK——PLC對ENQ的確認回答(06H)

    NAK——PLC對ENQ的否認回答(15H)

    STX——信息幀開始標記(02H)

    ETX——信息幀結束標記(03H)

    PC機向PLC發送的報文格式如下:

    3利用VB編寫通信程序

    利用VB提供的定時器控件和MSComm通訊控件,可以很方便地編制面向對象的應用程序,命令傳遞、數據交換、圖形顯示在定時器控件和通訊控件中完成。

    使用MSComm通訊控件的第一步是建立與串行口的連接。通過設置CommPort,PortOpen和Settings屬性來打開串行端口。

    CommPort屬性:設置或返回通訊端口號。注意:每個使用的MSComm控件對應著一個串行端口。如果應用程序要訪問多個串行端口,例如應用程序需要和多個下位PLC通訊,必須使用多個使用MSComm控件。

    Settings屬性:以字符串的形式設置或返回串行通訊協議。該屬性值由4個設置值組成,有如下的形式:“BBBB,P,D,S”,BBBB為波特率,P為奇偶校驗,D為數據位數,S為停止位數。在實現上位機和PLC的通訊中,Settings屬性值的設置應該根據下位機PLC的D8120單元的值來設定。Fx系列的標準通訊參數為9600,E,7,1

    PortOpen屬性:設置并返回通訊端口的狀態。將PorlOpen屬性設置為True打開端口,將PortOpen屬性設置為False關閉端口。注意:打開端口建立連接之前,必須先用CommPort,Settings屬性正確指定端口號(必須是物理或邏輯存在的端口)和通訊協議,一旦打開端口后,不可以隨便更改CommPort,Settings屬性的設置,如果在程序運行中必須更改這兩項屬性,應該先關閉端口,改變設置值之后,再重新打開端口。

    端口打開后,就創建了空的接收和發送緩沖區,端口關閉緩沖區被清零。MSComm控件提供了一系列的屬性來管理這些緩沖區。

    1nBufferSize和OutBufferSize屬性:分配接收和發送緩沖區內存的大小。

    InBufferCount和OutBuffeiCount屬性:分別獲得接緩沖區和發送緩沖區中字節的數目。在程序執行過程中,將這兩個屬性的值設置為零,即可清空接收或發送緩沖區。

    Rthreshold和Sthreshold屬性:設定OnComm事件發生前,接收或發送緩沖區中可以存放的字節數。將這兩個屬性值設置為零,可以抑制相應的OnComm事件發生。

    Input屬性:獲取輸入緩沖區中的數據,并將保存在輸人緩沖區的數據刪除。

    Output屬性:向發送緩沖區寫人數據。

    InputLen屬性:設置并返回Input屬性從接收緩沖區讀取的字符數。如果把Input屬性設置為零,在使用Input屬性時,MSComm控件將讀取接收緩沖區的所有內容。

    通信口初始化程序舉例如下:

    PrivateSubForm_Load()進行通訊端口和初始化設置。

    MSComm1.CommPort=1

    MSComm1.Settings=“9600,e,7,1”端口設置:波特率為9600bit/s、偶校驗、7位數據位、1位停止位。

    MSComm1.InputMode=comInputModeText'文本字符串接收方式

    MSComm1.InBufferSize=1024'輸入數據接收緩沖區長度

    MSComm1.OutBufferSize=512'輸出數據緩沖區長度

    MSComm1.RThreshold=0'每接受到字符就產生接受中斷

    MSComm1.SThreshold=0'禁止發送中斷,進行無條件發送

    IfMSComm1.PortOpen=FalseThen

    MSComm1.PortOpen=True'打開串行通信接口COM1

    EndIf

    EndSub

    4機械手監控軟件的實現

    利用計算機語言VB編寫的機械手監控程序主要分為以下幾部分:登陸及選擇控制方式畫面、手動控制界面和自動控制界面。手動控制界面與自動控制界面如圖4所示。

    上位計算機主要完成運動命令的生成,在獲取機械手傳感器信息的基礎上,完成機械手動作在計算機屏幕上的實時顯示。在機械手出現故障時,允許通過手動控制界面的按鈕來遠程控制機械手動作。下位機PLC完成對電磁閥的控制從而驅動氣動執行元件。

    手動控制界面主要由狀態顯示區、按鈕控制區、位置顯示區、時間顯示區以及各種交互控制按鈕組成。如圖4(a)所示。按鈕控制區的按鈕通過用戶程序和PLC與各電磁閥的線圈相連,實現遠程控制氣缸動作。每個氣缸控制按鈕的多少是與電磁閥的線圈數相對應的,如果是三位五通閥則有三個按鈕,二位五通閥有兩個按鈕。

    自動循環控制界面主要由狀態顯示區、按鈕控制區、位置顯示區、時間顯示區、報警區以及日志報告區等。如圖4(b)所示。匣置顯示區的各狀態顯示是通過PC與PLC實時通信實現的。

    4.1控制命令的發送:手動控制界面與自動循環控制界面中控制命令都是通過按鈕控制區的按鈕發送出去的,在發送控制命令之前,必須先形成控制命令幀。通常,按鈕對PLC的控制是對中間輔助繼電器的控制,是軟件對PLC內部寫命令過程,該過程是通過WriteToPLC()函數實現的,其程序如下:

    PublicSubWriteToPLC()

    DimDUMMYAsString

    IfMSComm1.PortOpen=FalseThen

    MSComm1.PortOpen=True''''''打開通信端口Comm1

    EndIf

    MSComm1.InputLen=0'''''初始化通信端口Comm1

    MSComm1.Output=MWRITE)nCmdCounter)'''''通信端口Comm1寫出數據包

    EndSub

    控制界面中的所有的寫命令又是通過數組MWRITE()來實現的。其元素包括舉例如下:

    MWRITE(1)=Chr$(2)+“1”+“0111011”+Chr$(3)+“89”'''手爪夾持M136置1

    MWRITE(2)=Chr$(2)+“1”+“0111010”+Chr$(3)+“88”'''''手爪松開M136置0

    4.2定時讀取機械手狀態信息:在狀態顯示區內,顯示的是手爪氣缸、手臂氣缸、升降氣缸、扭轉氣缸和手腕氣缸的電磁閥的工作狀態。當按鈕控制區的按鈕被按下時,狀態顯示區的狀態指示燈將被點亮,表示PLC的某個對應的輸出端子正在工作。該信號是通過與PLC進行的實時數據交換得到的,是PLC的端子的實時狀態。同樣地,在位置顯示區,顯示的是機械手運動氣缸的活塞桿位置狀態,是否到達左右極限。當活塞桿到達極限位置,相應的位置顯示區的極限報警燈將被點亮,表示PLC的某個對應的輸入端子正在工作。該信號也是通過與PLC進行的實時數據交換得到的,是PLC的端子的實時狀態。軟件對PLC各個元器件狀態的獲取是通過讀命令和軟件的定時器控件Timer()來實現的。讀命令是通過函數ReadFromPLC()實現的。其程序為:

    PublicSubReadFromPLC()

    DimDUMMYAsString

    ''''向計算機發送讀取命令''''''''''''

    IfMSComm1.PortOpen=FalseThen

    MSComm1.PortOpen=True

    EndIf

    ''讀取D數據寄存器的數據''''''

    MSComm1.InputLen=0

    MSComm1.Output=ReadCmd(nCounter)'''''''從MSComm1.Output發送數組ReadCmd(20)中的字符串

    Do

    DUMMY=DoEvents()

    LoopUntilMSComm1.InBufferCount>=6

    ReturnData(nCounter)=MSComm1.Input

    將MSComm1.Input接收到的信號存放在數組ReturnData()中,然后根據接收到的數據分配給用戶界面中的各種狀態顯示。

    手控界面中的所有的讀命令又是通過數組ReadCmd()來實現的。其元素包括舉例如下:

    ReadCmd(0)=Chr$(2)+“0”+“100001”+Chr$(3)+“55”'''讀取D0數據

    5結束語

    通過機械手監控系統的具體程序,系統地闡述了VB環境下的PC與PLC編程口通信應用程序的設計方法。系統運行表明,用PLC編程口與VB通信控件編寫的實時通訊程序可靠、穩定,很好地滿足了機械手實時監控系統的應用要求。

    [參考文獻]

    [1]郁漢琪,郭健,等.可編程序控制器原理及應用[M].北京:中國電力出版社,2004.

    [2]劉圣才,李春葆.VisualBasic6程序設計導學[M].北京:清華大學出版社,2002.

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

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

主站蜘蛛池模板: 南京交通事故律师-专打交通事故的南京律师| 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 雪花制冰机(实验室雪花制冰机)百科 | 我爱古诗词_古诗词名句赏析学习平台| 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 球盟会·(中国)官方网站| 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 北京乾茂兴业科技发展有限公司| 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 中央空调维修、中央空调保养、螺杆压缩机维修-苏州东菱空调 | 中国在职研究生招生信息网 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 高低温老化试验机-步入式/低温恒温恒湿试验机-百科 | 找果网 | 苹果手机找回方法,苹果iPhone手机丢了找回,认准找果网! | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 迪威娱乐|迪威娱乐客服|18183620002 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 云南成人高考_云南成考网| 菏泽知彼网络科技有限公司| 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 |