PLC在機(jī)械手遠(yuǎn)程控制系統(tǒng)中的應(yīng)用
1.引言
當(dāng)今社會(huì),科學(xué)技術(shù)飛速發(fā)展,人類活動(dòng)給世界帶來了巨大的改變。在科技進(jìn)步的同時(shí),以各種控制器控制的不同類型的機(jī)械手以其突出的性能越來越多的被人們所應(yīng)用。機(jī)械手在不同的作業(yè)場合,尤其是在特殊的環(huán)境背景下,為人類活動(dòng)的順利快速進(jìn)行帶來了極大的方便和益處,尤為明顯的是在工業(yè)及軍事領(lǐng)域內(nèi)。工業(yè)中大量的生產(chǎn)活動(dòng),存在著很多不便于人類操縱的環(huán)節(jié),特別是在工作環(huán)境較危險(xiǎn)的情況下[1],如果使用具有遠(yuǎn)程控制功能的機(jī)械手,則可以增加系統(tǒng)的安全性,大大的節(jié)約損耗,提高效率??梢?,在自動(dòng)化、工業(yè)化進(jìn)程中,在特殊背景環(huán)境中使用機(jī)械手已成為一種必然的趨勢[2]。
2.控制系統(tǒng)組成
2.1 系統(tǒng)組成
本控制系統(tǒng)中選用三菱公司的FX2N系列PLC,控制結(jié)構(gòu)采用主從式,以一臺上位計(jì)算機(jī)為主站,實(shí)現(xiàn)對遠(yuǎn)程機(jī)械手工作過程的監(jiān)控;以PLC為從站,作為前端控制器,實(shí)現(xiàn)對機(jī)械手的現(xiàn)場控制。將計(jì)算機(jī)的串口與FX-485PC-IF的RS232C的接口連接,F(xiàn)X-485PC-IF的RS422/485的接口與FX2N-485BD連接,完成RS232與RS485之間電平轉(zhuǎn)換。FX2N-485BD作為PLC的通信擴(kuò)展模塊,實(shí)現(xiàn)PLC與上位機(jī)的串行通信。PLC將上位機(jī)發(fā)送過來的控制信息轉(zhuǎn)換成控制命令,驅(qū)動(dòng)機(jī)械手動(dòng)作;PLC再將機(jī)械手的工作狀態(tài),通過串行通信傳遞給上位機(jī),由上位機(jī)監(jiān)視機(jī)械手的工作過程。上位機(jī)軟件以實(shí)時(shí)動(dòng)畫的形式,向操作人員提供機(jī)械手的運(yùn)動(dòng)情況,實(shí)現(xiàn)操作過程的可視化。系統(tǒng)組成原理如圖1所示。
圖1 系統(tǒng)組成原理圖
2.2 控制方式
系統(tǒng)設(shè)有三種控制方式:遠(yuǎn)程分步動(dòng)作控制、遠(yuǎn)程循環(huán)動(dòng)作控制和現(xiàn)場手動(dòng)控制,前兩種控制方式在上位機(jī)監(jiān)控界面上進(jìn)行操作控制,后一種控制方式在工業(yè)現(xiàn)場通過手動(dòng)實(shí)現(xiàn)控制。
2.2.1 遠(yuǎn)程分步動(dòng)作控制
在上位機(jī)監(jiān)控界面分步動(dòng)作控制區(qū),通過選擇“啟動(dòng)”、“停止”、“上升”、“下降”、“左移”、“右移”、“松開”、“夾緊”、“制動(dòng)”等命令按鈕,即可實(shí)現(xiàn)相應(yīng)的動(dòng)作。操作人員根據(jù)監(jiān)控軟件的實(shí)時(shí)監(jiān)視動(dòng)畫,任意組合九種動(dòng)作,實(shí)現(xiàn)對機(jī)械手的遠(yuǎn)程分步動(dòng)作控制。
2.2.2 遠(yuǎn)程循環(huán)動(dòng)作控制
在上位機(jī)監(jiān)控界面循環(huán)動(dòng)作控制區(qū),選擇“啟動(dòng)”按鈕,機(jī)械手從起始位置開始,按如圖2所示流程自動(dòng)地、連續(xù)不斷地循環(huán)動(dòng)作,直到按下“停止”按鈕。按下“停止”按鈕后,機(jī)械手完成一個(gè)周期的動(dòng)作后,回到起始位置停止。
圖2 循環(huán)動(dòng)作順序圖
2.2.3 現(xiàn)場手動(dòng)控制
在工業(yè)現(xiàn)場,通過選擇機(jī)械手控制箱上的各種命令按鈕,可實(shí)現(xiàn)對機(jī)械手的控制。此項(xiàng)控制主要用于機(jī)械手的安裝調(diào)試,以及遠(yuǎn)程通信線路出現(xiàn)故障時(shí)能夠在現(xiàn)場有效的控制機(jī)械手。
3.PLC控制系統(tǒng)設(shè)計(jì)
3.1 硬件設(shè)計(jì)
控制系統(tǒng)的PLC選用日本三菱公司的FX2N-48MR,該產(chǎn)品具有24點(diǎn)輸入,24點(diǎn)輸出,用于對機(jī)械手的控制,PLC外部I∕O地址分配如表1所示。
表1 機(jī)械手遠(yuǎn)程控制系統(tǒng)I∕O地址分配表
輸入端有8個(gè)按鈕,用于現(xiàn)場手動(dòng)控制;1個(gè)2檔選擇開關(guān),用于遠(yuǎn)程∕現(xiàn)場控制選擇;4個(gè)限位開關(guān),用于控制機(jī)械手上、下、左、右的極限位置。
輸出端有6個(gè)電磁閥,控制機(jī)械手上升、下降、左移、右移、松開、夾緊。為避免斷開電流時(shí)電磁閥會(huì)在其兩端產(chǎn)生極高的感應(yīng)電壓,在每個(gè)電磁閥線圈兩端并聯(lián)續(xù)流二極管。
3.2 軟件設(shè)計(jì)
按照機(jī)械手的動(dòng)作先后順序,在遠(yuǎn)程∕現(xiàn)場控制信號的作用下,根據(jù)內(nèi)部狀態(tài)和時(shí)間順序,機(jī)械手內(nèi)部各執(zhí)行機(jī)構(gòu)自動(dòng)地、有序地進(jìn)行動(dòng)作。為簡化PLC程序、增強(qiáng)程序的可讀性,利用控制系統(tǒng)的順序功能圖設(shè)計(jì)梯形圖,系統(tǒng)軟件采用模塊化的結(jié)構(gòu),如圖3所示。
圖3 PLC控制系統(tǒng)軟件結(jié)構(gòu)圖
3.2.1 遠(yuǎn)程分步動(dòng)作控制
在上位機(jī)分步動(dòng)作控制區(qū)選擇“啟動(dòng)”∕“停止”按鈕,上位機(jī)遠(yuǎn)程控制PLC輔助觸點(diǎn)M1閉合∕斷開,決定遠(yuǎn)程分步動(dòng)作控制子程序是否執(zhí)行。PLC根據(jù)接收到的不同控制命令,使輔助觸點(diǎn)M101~M106分別閉合∕斷開,從而控制輸出繼電器Y0~Y5通斷,實(shí)現(xiàn)機(jī)械手的遠(yuǎn)程分步動(dòng)作控制。
3.2.2 遠(yuǎn)程循環(huán)動(dòng)作控制
只要接收到上位機(jī)“循環(huán)動(dòng)作啟動(dòng)”命令(輔助觸點(diǎn)M0閉合),PLC就會(huì)根據(jù)機(jī)械手的動(dòng)作順序,利用4個(gè)限位開關(guān)的輸入信號X12~X15和松開、夾緊定時(shí)器的觸點(diǎn)狀態(tài)依次控制輸出繼電器Y0~Y5通斷,實(shí)現(xiàn)機(jī)械手的遠(yuǎn)程循環(huán)動(dòng)作控制。
完成一個(gè)周期動(dòng)作,機(jī)械手返回起始位置,開始第二個(gè)周期動(dòng)作,直到上位機(jī)向PLC發(fā)送“循環(huán)動(dòng)作停止”命令。在循環(huán)動(dòng)作期間,收到“停止”命令,系統(tǒng)將完成一個(gè)完整循環(huán)動(dòng)作后返回起始位置停止。
3.2.3現(xiàn)場手動(dòng)控制
手動(dòng)控制比較簡單,利用X0~X7對應(yīng)的現(xiàn)場手動(dòng)輸入信號,控制PLC的輸出繼電器Y0~Y5通斷。為保證系統(tǒng)安全運(yùn)行,在手動(dòng)控制程序中,設(shè)置了必要的互鎖,以防止功能相反的兩個(gè)輸出繼電器同時(shí)接通。
3.3 通信協(xié)議設(shè)計(jì)
要實(shí)現(xiàn)PLC與上位機(jī)之間的通信,首先要對PLC中D8120進(jìn)行賦值來設(shè)定通信的格式[3]。需要注意,PLC中的通信協(xié)議要與上位機(jī)的通信協(xié)議保持一致。令D8120=H6381,梯形圖如圖4所示,通信格式如表2所示。
圖4 PLC通信格式設(shè)定
表2 PLC設(shè)定的通信格式
在FX系列中,PLC的站號是通過特殊數(shù)據(jù)寄存器D8121來設(shè)定的,其范圍是從00H到0FH。本系統(tǒng)中,PLC的站號設(shè)定為00H,如圖5所示。
圖5 PLC站號設(shè)定
4.上位機(jī)軟件設(shè)計(jì)
4.1 編程語言
Visual Basic 6.0已成為Windows系統(tǒng)開發(fā)的主要語言,以其具有良好的圖形用戶接口并支持面向?qū)ο蟮某绦蛟O(shè)計(jì)和具有結(jié)構(gòu)化的事件驅(qū)動(dòng)程序模式,使得編程效率提高,應(yīng)用功能增強(qiáng)[4]。因此本文采用Visual Basic 6.0為上位機(jī)開發(fā)出具有個(gè)性的監(jiān)控軟件,實(shí)現(xiàn)對PLC的遠(yuǎn)程通信及監(jiān)控。
圖6 MSComm通信控件
在Windows操作系統(tǒng)下,Visual Basic 6.0提供了一個(gè)名為MSComm.ocx通信控件,它具備基本的串行通信能力,如圖6所示。通過該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串行口狀態(tài)及串行通信的信息格式和協(xié)議進(jìn)行設(shè)置。在通信過程中,可以觸發(fā)OnComm事件,用該事件可追蹤、處理通信和錯(cuò)誤事件的發(fā)生。
4.2 遠(yuǎn)程控制軟件設(shè)計(jì)
在PLC與計(jì)算機(jī)的鏈接通訊中,計(jì)算機(jī)是上位機(jī),PLC是下位機(jī),機(jī)械手是被控對象。上位機(jī)始終處于主動(dòng)地位,下位機(jī)處于被動(dòng)地位,當(dāng)PLC接收到計(jì)算機(jī)發(fā)送的命令后,自動(dòng)生成應(yīng)答指令,不需要再對其編寫通訊程序。
根據(jù)控制功能的不同可將遠(yuǎn)程控制軟件分為端口站號設(shè)置區(qū)、通信回路測試區(qū)、實(shí)時(shí)動(dòng)畫區(qū)、分步動(dòng)作控制區(qū)、循環(huán)動(dòng)作控制區(qū)。其中,分步動(dòng)作控制區(qū)用于發(fā)送遠(yuǎn)程分步控制命令,循環(huán)動(dòng)作控制區(qū)用于發(fā)送遠(yuǎn)程循環(huán)控制命令,上位機(jī)主控界面如圖7所示。
圖7 主控界面
5.結(jié)束語
本文利用Visual Basic 6.0開發(fā)遠(yuǎn)程監(jiān)控軟件,應(yīng)用三菱FX2N系列PLC控制機(jī)械手動(dòng)作,實(shí)現(xiàn)了一種具有可視化功能,適用于工業(yè)現(xiàn)場的機(jī)械手遠(yuǎn)程控制系統(tǒng)。該系統(tǒng)可以完成遠(yuǎn)程手動(dòng)控制、遠(yuǎn)程循環(huán)控制和現(xiàn)場手動(dòng)控制,便于擴(kuò)展,現(xiàn)已成功應(yīng)用于我院自動(dòng)化中心實(shí)驗(yàn)室。
6、本文創(chuàng)新點(diǎn)
1、 以計(jì)算機(jī)為主站,以PLC為控制器,實(shí)現(xiàn)了對機(jī)械手的遠(yuǎn)程控制;
2、 上位機(jī)監(jiān)控軟件以實(shí)時(shí)動(dòng)畫的形式,向操作人員提供機(jī)械手的運(yùn)動(dòng)情況,實(shí)現(xiàn)了操作過程的可視化;
3、 設(shè)計(jì)了計(jì)算機(jī)與PLC遠(yuǎn)程通信的協(xié)議,開發(fā)了通用的串行通信接口程序。
評論