唐月夏 李光平
(南寧學(xué)院機(jī)電與質(zhì)量技術(shù)工程學(xué)院,廣西 南寧 530200)
自動(dòng)化生產(chǎn)線調(diào)試過(guò)程中要完成電路設(shè)計(jì)、程序編寫、軟硬件調(diào)試等工作。目前,調(diào)試的方式主要有2種:①直接在實(shí)際設(shè)備上調(diào)試,這種方式耗時(shí)長(zhǎng),對(duì)于設(shè)備及人員安全存在一定的危險(xiǎn)性[1-2];②利用虛擬仿真技術(shù),對(duì)自動(dòng)化生產(chǎn)線進(jìn)行可視化的虛擬仿真,完成結(jié)構(gòu)、功能、行為以及用戶的思維過(guò)程和行為動(dòng)態(tài)性的模擬[3-4]。通過(guò)操作這些虛擬仿真的實(shí)驗(yàn)對(duì)象,即可進(jìn)行各種調(diào)試。這種模式下,只對(duì)程序進(jìn)行調(diào)試,不涉及硬件,調(diào)試結(jié)果不能直接用于實(shí)際設(shè)備。
NX-MCD是NX設(shè)計(jì)軟件中一個(gè)集機(jī)械、電氣、自動(dòng)化設(shè)計(jì)于一體的全新的機(jī)電產(chǎn)品概念設(shè)計(jì)模塊。該模塊的仿真平臺(tái)采用NVIDIA PhysX 物理運(yùn)算引擎,其特有的動(dòng)力學(xué)仿真設(shè)計(jì)使仿真效果更加接近物理環(huán)境[5-7]。目前已有不少基于MCD模塊的設(shè)計(jì)應(yīng)用,如趙飛等設(shè)計(jì)基于數(shù)字孿生的刀具前處理機(jī)[8],吳雁等研究基于 MCD 平臺(tái)的數(shù)控車床上下料機(jī)械手機(jī)電一體化概念設(shè)計(jì)[9]。大部分研究只運(yùn)用了NX-MCD的運(yùn)動(dòng)仿真,仿真與硬件同時(shí)進(jìn)行的較少,而且基本使用西門子系列PLC,沒(méi)有涉及其他品牌的PLC[10-12]。
針對(duì)目前自動(dòng)化生產(chǎn)線調(diào)試中存在的問(wèn)題,以自動(dòng)化生產(chǎn)線中最復(fù)雜的搬運(yùn)機(jī)械手為例,基于NX-MCD設(shè)計(jì)了搬運(yùn)機(jī)械手虛實(shí)結(jié)合的調(diào)試平臺(tái)。該平臺(tái)利用虛擬仿真模型,觀察程序運(yùn)行結(jié)果,解決現(xiàn)場(chǎng)實(shí)操中風(fēng)險(xiǎn)等問(wèn)題。通過(guò)IO接口電路板驗(yàn)證電路設(shè)計(jì),解決純虛擬仿真不涉及硬件設(shè)計(jì)問(wèn)題。通過(guò)開發(fā)數(shù)據(jù)采集插件,實(shí)現(xiàn)虛擬仿真模型與IO接口電路板的數(shù)據(jù)共享,解決更換PLC就要更換OPC服務(wù)器的問(wèn)題,實(shí)現(xiàn)了搬運(yùn)機(jī)械手虛擬仿真的工作。在該調(diào)試平臺(tái)上能夠完成調(diào)試工作的全部?jī)?nèi)容,同時(shí)所設(shè)計(jì)的硬件電路和控制程序可直接應(yīng)用于實(shí)際生產(chǎn)線設(shè)備中,提高調(diào)試設(shè)備的效率。
如圖1所示,搬運(yùn)機(jī)械手虛實(shí)結(jié)合的調(diào)試平臺(tái)主要由虛擬仿真模型、數(shù)據(jù)采集插件、IO接口電路板等3個(gè)模塊組成。
圖1 搬運(yùn)機(jī)械手虛實(shí)結(jié)合的調(diào)試平臺(tái)
虛擬仿真模型由虛擬機(jī)械結(jié)構(gòu)、虛擬傳感器和執(zhí)行器組成。在測(cè)試時(shí),將PLC控制器引入調(diào)試平臺(tái)。通過(guò)PLC與IO接口電路板的接線,實(shí)現(xiàn)模型中虛擬傳感器和虛擬執(zhí)行器與PLC的連接,完成硬件電路設(shè)計(jì)。運(yùn)行調(diào)試過(guò)程中,模型中的機(jī)械結(jié)構(gòu)觸發(fā)虛擬傳感器,數(shù)據(jù)采集插件采集虛擬傳感信號(hào)轉(zhuǎn)換為真實(shí)電信號(hào)傳送至IO接口電路板,驅(qū)動(dòng)IO接口電路板上的線路狀態(tài)與虛擬傳感器同步并發(fā)出真實(shí)的傳感信號(hào)至PLC。PLC根據(jù)程序運(yùn)行結(jié)果發(fā)出真實(shí)的執(zhí)行信號(hào),由IO接口電路板轉(zhuǎn)換為電信號(hào)傳送至數(shù)據(jù)采集插件,數(shù)據(jù)采集插件將其轉(zhuǎn)換為虛擬執(zhí)行信號(hào)驅(qū)動(dòng)機(jī)械結(jié)構(gòu)完成各個(gè)動(dòng)作。
搬運(yùn)機(jī)械手的機(jī)械結(jié)構(gòu)由滑竿、滑塊、升降氣缸、旋轉(zhuǎn)氣缸、伸縮氣缸、夾緊氣缸組成。為使模型更逼真、增強(qiáng)現(xiàn)場(chǎng)體驗(yàn)感,需到現(xiàn)場(chǎng)搜集搬運(yùn)機(jī)械手各部位照片、尺寸大小等相關(guān)材料作為建模標(biāo)準(zhǔn)。在NX設(shè)計(jì)軟件中利用幾何體組件建立搬運(yùn)機(jī)械手各個(gè)部位的模型,并依據(jù)搬運(yùn)機(jī)械手的布局裝配約束各部位的空間位置,實(shí)現(xiàn)對(duì)搬運(yùn)機(jī)械手機(jī)械結(jié)構(gòu)的定義。圖2為搬運(yùn)機(jī)械手機(jī)械結(jié)構(gòu)。
圖2 搬運(yùn)機(jī)械手機(jī)械結(jié)構(gòu)
運(yùn)動(dòng)副是兩構(gòu)件直接接觸并能產(chǎn)生相對(duì)運(yùn)動(dòng)的活動(dòng)連接。為使機(jī)械結(jié)構(gòu)中各部件能夠產(chǎn)生相對(duì)運(yùn)動(dòng),需對(duì)各部件設(shè)置相應(yīng)的運(yùn)動(dòng)副,常用的運(yùn)動(dòng)副有:鉸鏈副、滑動(dòng)副、固定副等[13]。各部件之間的運(yùn)動(dòng)副關(guān)系如表1所示。
表1 機(jī)械結(jié)構(gòu)各部分之間的運(yùn)動(dòng)副
以機(jī)械機(jī)構(gòu)中的滑塊和滑竿為例,滑塊帶動(dòng)整個(gè)搬運(yùn)機(jī)械手在滑竿上左右移動(dòng),因此對(duì)于滑塊和滑竿之間要設(shè)置一個(gè)滑動(dòng)副,設(shè)置界面如圖3所示?;瑝K為連接件,滑竿為基本件,滑竿方向?yàn)橹付ㄊ噶糠较颉?/p>
圖3 滑動(dòng)副設(shè)置
設(shè)置運(yùn)動(dòng)副之后,為實(shí)現(xiàn)運(yùn)動(dòng)仿真,需對(duì)各運(yùn)動(dòng)副設(shè)置執(zhí)行器,常用的執(zhí)行器有:位置控制、速度控制等[14]。同時(shí)為限制各運(yùn)動(dòng)副的運(yùn)動(dòng)位置,需對(duì)各運(yùn)動(dòng)副設(shè)置限位傳感器。電氣信號(hào)與控制模型的傳感器和執(zhí)行器設(shè)置如圖4所示。
圖4 傳感器和執(zhí)行器
NX-MCD集成有OPC客戶端,可以采用OPC服務(wù)器的方式作為NX-MCD與仿真控制軟件以及PLC的通信方式,但是各大品牌的PLC廠商都有自己的OPC服務(wù)器,更換PLC需要重新安裝相同品牌的OPC服務(wù)器。為解決PLC不兼容問(wèn)題,采用C#開發(fā)了數(shù)據(jù)采集插件。數(shù)據(jù)采集插件讀取虛擬仿真模型中的傳感器信號(hào),信號(hào)通過(guò)串行通信的方式發(fā)送到IO接口電路板中,或者根據(jù)IO接口電路板傳入的數(shù)據(jù)控制虛擬執(zhí)行器進(jìn)行相應(yīng)動(dòng)作。通過(guò)數(shù)據(jù)采集插件,可以省略O(shè)PC服務(wù)器的安裝,實(shí)現(xiàn)各品牌PLC與調(diào)試平臺(tái)的兼容問(wèn)題。
在NX-MCD軟件中,創(chuàng)建運(yùn)行時(shí)行為代碼,建立數(shù)據(jù)采集插件的接口,并將其與虛擬仿真模型中傳感器、執(zhí)行器一一對(duì)應(yīng),如圖5所示。
圖5 運(yùn)行時(shí)行為代碼與傳感器和執(zhí)行器的映射
為保障數(shù)據(jù)通信可靠運(yùn)行,需定制一套符合設(shè)計(jì)的通信協(xié)議,采用ASCII碼進(jìn)行通信,其中數(shù)據(jù)包格式如表2所示。
根據(jù)電路設(shè)計(jì)的要求,通信過(guò)程中要傳輸?shù)臄?shù)據(jù)有兩種類型,一種為開關(guān)量,另一種是脈沖數(shù)據(jù)量,功能碼具體說(shuō)明如表3所示。
表2 通信協(xié)議
表3 功能碼說(shuō)明
根據(jù)通信協(xié)議分析,一個(gè)周期內(nèi)要采集完所有數(shù)據(jù),計(jì)算所需通信波特率。
開關(guān)量數(shù)據(jù)長(zhǎng)度:
式中: L( ) ——某個(gè)字段的長(zhǎng)度。
脈沖數(shù)據(jù)量長(zhǎng)度:
一個(gè)周期總傳輸數(shù)據(jù)量:
為保障動(dòng)畫的連續(xù)性,NX-MCD軟件中STEP函數(shù)調(diào)用周期T=0.01s。設(shè)計(jì)中傳輸一個(gè)Byte采用1個(gè)開始位、1個(gè)結(jié)束位、1個(gè)校驗(yàn)位的方式,每傳輸一個(gè)字節(jié)需要的數(shù)據(jù)位數(shù)為11個(gè)位。因此最低通信波特率為:
為保障通信余量,設(shè)計(jì)選擇要求大于68 200Baud的串口通信,設(shè)計(jì)最終選擇國(guó)際標(biāo)準(zhǔn)通信速率115 200Baud為本設(shè)計(jì)的通信波特率。
在通信保障的前提下,利用C#語(yǔ)言開發(fā)數(shù)據(jù)采集插件,通過(guò)編寫程序,控制運(yùn)行時(shí)行為代碼便可控制與之相對(duì)應(yīng)的虛擬傳感器和執(zhí)行器。
數(shù)據(jù)采集插件讀取虛擬仿真模型中的傳感器信號(hào),將信號(hào)數(shù)據(jù)打包后發(fā)送到IO接口電路板中,電路板根據(jù)通信協(xié)議進(jìn)行數(shù)據(jù)解析。以伸出到位傳感器為例,部分程序如下。
圖6 搬運(yùn)機(jī)械手工作流程圖
將數(shù)據(jù)采集插件嵌入到NX-MCD軟件的STEP函數(shù)中,NX-MCD軟件定時(shí)調(diào)用STEP函數(shù)。STEP函數(shù)執(zhí)行過(guò)程中,數(shù)據(jù)采集插件不斷收集信息,對(duì)IO接口電路板進(jìn)行數(shù)據(jù)讀寫操作,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)交換,不用經(jīng)過(guò)OPC服務(wù)器,更換不同品牌的PLC時(shí)不受影響。
搬運(yùn)機(jī)械手調(diào)試流程為:根據(jù)搬運(yùn)機(jī)械手的控制流程,計(jì)算所需PLC的輸入輸出點(diǎn)數(shù),選擇合適的PLC,設(shè)計(jì)PLC硬件接線圖,PLC與IO接口電路板連線,編寫控制程序,運(yùn)行調(diào)試。下面以三菱PLC為例,介紹搬運(yùn)機(jī)械手調(diào)試的實(shí)施過(guò)程。
搬運(yùn)機(jī)械手的功能為將軌道左側(cè)料盤處的物料搬運(yùn)到軌道右側(cè)的料盤處,具體工作流程如圖6所示。
對(duì)于搬運(yùn)機(jī)械手控制對(duì)象為各氣缸的電磁換向閥,需要檢測(cè)的參數(shù)為各動(dòng)作的極限位置。根據(jù)搬運(yùn)機(jī)械手的控制要求,整個(gè)搬運(yùn)機(jī)械手的數(shù)字量輸入點(diǎn)數(shù)為11點(diǎn),數(shù)字量輸出點(diǎn)數(shù)為6點(diǎn),I/O地址分配表如表4、表5所示。考慮到10%~15%的I/O點(diǎn)數(shù)余量,選取PLC型號(hào)為三菱FX1N-32MT,其硬件接線如圖7所示。
表4 輸入端口分配表
表5 輸出端口分配表
圖7 硬件接線圖
按圖7完成PLC與IO接口電路板的接線后,編寫控制程序,如圖8所示,下載并運(yùn)行。
圖8 搬運(yùn)機(jī)械手虛實(shí)結(jié)合的調(diào)試平臺(tái)運(yùn)行
調(diào)試結(jié)果證明,該虛實(shí)結(jié)合的調(diào)試平臺(tái)與PLC通信良好。可利用IO接口電路板,設(shè)計(jì)硬件電路并完成接線測(cè)試;設(shè)計(jì)PLC程序并進(jìn)行調(diào)試,通過(guò)觀察虛擬仿真模型快速準(zhǔn)確地進(jìn)行驗(yàn)證;虛實(shí)結(jié)合,滿足調(diào)試工作要求的軟硬件同時(shí)設(shè)計(jì)、調(diào)試運(yùn)行的要求。