廣東工業(yè)大學(xué) 黃偉鑫
采用嵌入式PLC的方式去設(shè)計(jì)系統(tǒng),能夠提高開(kāi)發(fā)速度,對(duì)于用戶的個(gè)性化需求可以進(jìn)行靈活的設(shè)計(jì),這樣就可以達(dá)到定制的效果[1]。同時(shí),也可以增強(qiáng)小型控制系統(tǒng)的設(shè)計(jì)和應(yīng)用能力,更貼近客戶需求的個(gè)性差異化設(shè)計(jì)要求。用戶可以自己選擇合適的硬件來(lái)組成滿足要求的嵌入式PLC。
本系統(tǒng)是在對(duì)三菱FX系列PLC的充分研究其硬件結(jié)構(gòu)和工作原理的基礎(chǔ)上設(shè)計(jì)的嵌入式PLC。選用STM32F103ZET6為核心處理器,最高達(dá)72MHz的時(shí)鐘速度,1.25DMips/MHz,512K字節(jié)的閃存程序存儲(chǔ)器 ,64KB RAM,LQFP-144腳封裝,還有其他模塊電路輔助完成相應(yīng)的功能[2]。嵌入式PLC系統(tǒng)搭建的硬件電路框架圖如圖1所示。采用RS232和RS485通信協(xié)議,不僅可以用于程序下載,而且可以用于基本數(shù)據(jù)的訪問(wèn)。
圖1 硬件電路框架圖
圖2 程序結(jié)構(gòu)框圖
其中,下載電路模塊是給STM32F103ZET6芯片下載固化程序用,而對(duì)于最終PLC程序的下載則是通過(guò)串口通訊模塊完成。由于STM32F103ZET6芯片上有3個(gè)12位模數(shù)轉(zhuǎn)換器和2通道12位D/A轉(zhuǎn)換器,所以模擬量輸入使用芯片內(nèi)部的A/D轉(zhuǎn)換電路,無(wú)須外擴(kuò)芯片;8路A/D為12位ADC逐次逼近型模擬數(shù)字轉(zhuǎn)換器;2路D/A為12位數(shù)字輸入電壓輸出的D/A轉(zhuǎn)換器。使用6N137芯片和PWM脈寬調(diào)制波形的方法進(jìn)行脈沖設(shè)計(jì)。
嵌入式PLC軟件設(shè)計(jì)主要分為兩部分設(shè)計(jì)[3]。第一部分為梯形圖程序下載設(shè)計(jì),該部分主要是遵循FX2N型PLC的通訊協(xié)議,實(shí)現(xiàn)基本數(shù)據(jù)訪問(wèn)以及程序下載功能。第二部分為PLC程序解釋執(zhí)行設(shè)計(jì),程序先從內(nèi)置Flash中取PLC指令,然后判斷是何種指令,若是END指令則直接跳出程序,否則執(zhí)行相應(yīng)的程序。
采用Keil軟件進(jìn)行編程,C語(yǔ)言作為程序開(kāi)發(fā)工具,將系統(tǒng)程序主要分為主芯片配置模塊、輸入輸出模塊、定時(shí)計(jì)數(shù)模塊、串行通信模塊。通過(guò)對(duì)每一個(gè)模塊進(jìn)行設(shè)計(jì)和調(diào)試,最后進(jìn)行系統(tǒng)程序的整體調(diào)試[4]。系統(tǒng)程序結(jié)構(gòu)框圖如圖2所示
當(dāng)梯形圖程序下載時(shí),嵌入式PLC會(huì)完成與上位機(jī)的相互識(shí)別,等待程序下載到嵌入式系統(tǒng)中,然后把程序?qū)懭氲角度胧絇LC中。此時(shí),嵌入式PLC需要對(duì)接收的數(shù)據(jù)進(jìn)行處理,校驗(yàn)完后對(duì)錯(cuò)誤的數(shù)據(jù)信息刪除,之后對(duì)操作碼和操作數(shù)的數(shù)據(jù)存儲(chǔ)起來(lái)[5]。
嵌入式PLC工作于梯形圖程序解釋執(zhí)行時(shí),需要Memory的初始化,I/O的初始化和中斷的初始化,然后載入X值,將輸入值映像到寄存器中,即輸入掃描,接著進(jìn)行指令執(zhí)行,對(duì)每一條指令進(jìn)行判斷,判斷該指令是否是END指令,如果不是,則要對(duì)每一條指令進(jìn)行解釋執(zhí)行,解釋執(zhí)行完當(dāng)前指令后繼續(xù)取下一條指令并解釋執(zhí)行,如此循環(huán)不斷。如果是,則進(jìn)入輸出刷新,輸出Y值。
本文從硬件和軟件兩個(gè)方面對(duì)嵌入式PLC系統(tǒng)進(jìn)行了分析,根據(jù)三菱FX系列PLC的工作原理及功能,完成了嵌入式PLC的設(shè)計(jì)。與傳統(tǒng) PLC 相比較,該嵌入式PLC能夠解決傳統(tǒng)PLC成本高、兼容性差、通用性差等問(wèn)題,嵌入式 PLC 不僅能支持梯形圖開(kāi)發(fā),而且沒(méi)有增加工程師的開(kāi)發(fā)難度。同時(shí),系統(tǒng)集成了通信功能,可以滿足不同的工業(yè)控制需求,為未來(lái)某些工控領(lǐng)域的特定場(chǎng)合控制器的選擇提供了新的選擇。
[1]陳輝,李堅(jiān)強(qiáng),裴海龍,等.基于梯形圖語(yǔ)言的軟PLC技術(shù)研究與實(shí)現(xiàn)[J].微型計(jì)算機(jī)信息,2006.
[2]王曉光.嵌入式PLC的設(shè)計(jì)與研究[D].成都∶西華大學(xué),2013.
[3]李雪蓮.嵌入式PLC的設(shè)計(jì)及通信功能的擴(kuò)展[J].電子設(shè)計(jì)工程,2015(17)∶168-171,174.
[4]嚴(yán)奎.嵌入式PLC編程軟件開(kāi)發(fā)[J].工業(yè)控制計(jì)算機(jī),2012,25(10)∶67-70.
[5]李冠軍.基于Cortex-M3的嵌入式PLC設(shè)計(jì)和開(kāi)發(fā)[D].天津工業(yè)大學(xué),2013.