上期我們介紹了HMI開發(fā)過程,這期將介紹PLC運(yùn)動(dòng)邏輯開發(fā)。致遠(yuǎn)電子的ZMC600E和AWStudio提供了ST語言和AWBlock 積木式中文編程環(huán)境,可快速開發(fā)插針機(jī)或其他設(shè)備的PLC邏輯。
AWStudio介紹
AWStudio是工業(yè)自動(dòng)化All In One可視化集成開發(fā)環(huán)境,可以用于開發(fā)HMI和PLC程序。針對(duì)PLC開發(fā)目前提供了多種解決方案:一種是符合IEC61131-3標(biāo)準(zhǔn)的ST開發(fā)環(huán)境,另一種是AWBlock積木式中文編程環(huán)境,未來還將提供梯形圖和功能塊圖編程。用AWBlock寫PLC邏輯像搭積木一樣直觀容易上手,不需要敲代碼也避免了出錯(cuò),AWBlock提供了運(yùn)動(dòng)控制塊,特別適合做機(jī)器人和運(yùn)動(dòng)控制等應(yīng)用,所以本次PLC使用AWBlock編程方案。
插針機(jī)系統(tǒng)介紹
本次使用 ZMC600E 作為插針機(jī)的PLC設(shè)備,中間使用Modbus協(xié)議與HMI通信,使用EtherCAT協(xié)議與電機(jī)伺服器通信。ZMC600E中內(nèi)置的AWPLC(含AWBlock)運(yùn)行時(shí)引擎,可以運(yùn)行用戶編寫的運(yùn)動(dòng)邏輯,實(shí)現(xiàn)插針機(jī)的多軸協(xié)同運(yùn)動(dòng)控制。
圖1??插針機(jī)系統(tǒng)介紹
? 插針機(jī)PLC開發(fā)流程
只需要四步:一、配置EtherCAT總線;二、配置Modbus從機(jī);三、編寫AWBlock控制電機(jī)運(yùn)動(dòng)邏輯;四、最后把工程下載到ZMC600E運(yùn)行。
1. 創(chuàng)建AWBlock解決方案
在AWStudio創(chuàng)建一個(gè)新AWBlock編程解決方案工程,如下圖:
圖2??創(chuàng)建解決方案
2. EtherCAT總線配置
插針機(jī)系統(tǒng)中,PLC作為EtherCAT主站,電機(jī)伺服器作為EtherCAT從站,所以要在PLC總線協(xié)議中添加EtherCAT主站功能。在總線協(xié)議節(jié)點(diǎn)上面添加總線,選擇EtherCAT主站,如下圖:
圖3??添加EtherCAT主站協(xié)議
在EtherCAT主站節(jié)點(diǎn)上添加所有軸的電機(jī)伺服器,分別是托盤X軸、托盤Y軸、主軸Z軸。再配置EtherCAT的分布時(shí)鐘,如下圖:
圖4??配置參考時(shí)鐘
配置參考時(shí)鐘有利于運(yùn)動(dòng)控制的時(shí)候所有電機(jī)的同步移動(dòng),AWStudio也提供了完整的EtherCAT的配置參數(shù),用戶可以根據(jù)實(shí)際情況來配置自己的EtherCAT通信。
3. Modbus從機(jī)配置
插針機(jī)系統(tǒng)中,PLC作為Modbus從站,HMI作為Modbus主站,所以要在PLC總線協(xié)議中添加Modbus從站功能。然后根據(jù)主從機(jī)約定好的Modbus寄存器點(diǎn)表來配置寄存器地址和個(gè)數(shù),PLC運(yùn)行過程中實(shí)時(shí)更新這些寄存器供HMI訪問,如下圖:
圖5??配置Modbus從機(jī)寄存器
4. AWBlock運(yùn)動(dòng)邏輯開發(fā)
插針機(jī)最基礎(chǔ)的功能是控制托盤和主軸(Z軸)移動(dòng),所以要?jiǎng)?chuàng)建move_plane和move_main_axis兩個(gè)函數(shù)。編輯move_main_axis函數(shù)文件,分別拖入MC_Power和MC_MoveAbsolute功能塊來控制電機(jī)運(yùn)動(dòng),如下圖:
圖6??拖入運(yùn)動(dòng)控制塊
上面已經(jīng)在EtherCAT主站下添加了電機(jī)了,這里會(huì)自動(dòng)識(shí)別出電機(jī)并且會(huì)自動(dòng)給每一個(gè)電機(jī)生成一個(gè)軸對(duì)象,因此軸參數(shù)便可以選擇需要控制的電機(jī),如下圖:
圖7??選擇控制軸
圖8??設(shè)置參數(shù)
接著基于上面寫好的基礎(chǔ)運(yùn)動(dòng)功能塊,編寫控制托盤和主軸運(yùn)動(dòng)順序和邏輯(主軸歸0--移動(dòng)托盤--主軸插針--主軸歸0),比如控制自動(dòng)插針的auto_move函數(shù),如下圖:
圖9??用AWBlock寫運(yùn)動(dòng)邏輯
最后把PLC的運(yùn)行參數(shù)和狀態(tài)對(duì)接到Modbus從站寄存器,例如:MainAxisSpeed是主軸速度變量,對(duì)應(yīng)到PLC的地址是%IW52,%IW52映射到Modbus從站地址為40005,如下圖。這樣,就可以讓HMI通過Modbus控制和獲取PLC運(yùn)行狀態(tài)。
圖10??關(guān)系映射表
圖11??變量綁定地址
5. AWBlock工程下載運(yùn)行
上面的工程開發(fā)完成后,在設(shè)備列表中選擇目標(biāo)設(shè)備ZMC600E,點(diǎn)擊啟動(dòng)(調(diào)試)按鈕,就會(huì)進(jìn)入調(diào)試模式,可以進(jìn)行單步調(diào)試程序;點(diǎn)擊下載即可發(fā)布固件,ZMC600E重啟后就會(huì)自動(dòng)運(yùn)行該工程。如下圖:
圖12??設(shè)備選擇界面
??ZMC600E產(chǎn)品介紹
圖13?ZMC600E?EtherCAT主站控制器
ZMC600E?是ZLG致遠(yuǎn)電子開發(fā)的最新一代智能總線型運(yùn)動(dòng)控制器,是面向工廠智能化時(shí)代的機(jī)器控制器。其采用工業(yè)領(lǐng)域內(nèi)先進(jìn)的嵌入式 ARM 方案,集實(shí)時(shí)操作系統(tǒng)、智能算法于一身,配套工業(yè)圖形化編程軟件開發(fā)環(huán)境。
ZMC600E采用TI的雙核64位Arm-Corte-A53,四核Cortex-R5F的AM6442應(yīng)用處理器為核心,主頻1GHz,內(nèi)置1GB DDR4、4GB eMMC以及32KB FRAM,預(yù)留有多路以太網(wǎng)、CAN、IO、USB等硬件接口。同時(shí)ZMC600E支持點(diǎn)位運(yùn)動(dòng)、連續(xù)軌跡、直線圓弧插補(bǔ)、連續(xù)插補(bǔ)、螺旋線等運(yùn)動(dòng)功能,可以自由設(shè)定運(yùn)行速度、停止速度、加、減速時(shí)間可以獨(dú)立設(shè)置,S型曲線平滑等參數(shù),支持在線改變速度和在線改變位置,用戶可以輕松構(gòu)智能化控制系統(tǒng),快速實(shí)現(xiàn)和部署現(xiàn)場(chǎng)各種工藝的應(yīng)用。