廣東工業(yè)大學(xué)自動(dòng)化學(xué)院 吳豪樂(lè) 許錦標(biāo)
傳統(tǒng)的PLC采用梯形圖和語(yǔ)句表來(lái)使得編程簡(jiǎn)便,具有系統(tǒng)軟件開(kāi)發(fā)周期短以及現(xiàn)場(chǎng)調(diào)試程序等優(yōu)點(diǎn)。傳統(tǒng)PLC還存在不能兼容支持I2C、SPI這一類(lèi)的通訊接口和成本比較高的不足。
針對(duì)以上傳統(tǒng)PLC的不足,本文以STM32系列芯片構(gòu)建PLC模塊硬件系統(tǒng)電路和對(duì)軟件模塊設(shè)計(jì)來(lái)設(shè)計(jì)出嵌入式PLC模塊。采用了模塊化設(shè)計(jì)的PLC具有體積小、成本低以及能夠?qū)崿F(xiàn)訪問(wèn)I2C設(shè)備的功能的優(yōu)點(diǎn),同時(shí)還是采用梯形圖的傳統(tǒng)開(kāi)發(fā)方式,為工程師開(kāi)發(fā)項(xiàng)目提供了一個(gè)新的選擇。
通過(guò)分析傳統(tǒng)PLC的工作原理和硬件功能,來(lái)設(shè)計(jì)PLC模塊的硬件系統(tǒng),其中硬件系統(tǒng)主要組成包括STM32 最小系統(tǒng)、掉電檢測(cè)電路、通訊電路、輸入輸出電路以及增加新的I2C通訊接口電路,如圖2.1所示。
圖2.1 嵌入式PLC模塊硬件系統(tǒng)結(jié)構(gòu)
本節(jié)將對(duì)嵌入式PLC模塊的軟件部分按實(shí)現(xiàn)的功能劃分來(lái)進(jìn)行模塊化設(shè)計(jì),如PLC程序的執(zhí)行、I2C總線通訊以及指令解釋執(zhí)行,限于篇幅本小節(jié)主要講述PLC系統(tǒng)主函數(shù)流程、系統(tǒng)中斷處理模塊和指令解釋模塊。
系統(tǒng)的主函數(shù)主要完成的任務(wù)是對(duì)程序進(jìn)行了一個(gè)模塊劃分,執(zhí)行的過(guò)程是一個(gè)有序循環(huán)掃描的過(guò)程,以PLC指令解析函數(shù)解析并跳轉(zhuǎn)到處理函數(shù)來(lái)處理接收到的數(shù)據(jù)。如圖3.1所示。
圖3.1 系統(tǒng)主函數(shù)流程圖
系統(tǒng)中斷可以分為:串口接收中斷、定時(shí)器中斷、I2C通訊處理中斷和外部掉電檢測(cè)中斷,考慮到后期中斷處理隨著數(shù)據(jù)量的增多,如果定時(shí)器中斷優(yōu)先級(jí)高于串口中斷,串口接收中斷會(huì)出現(xiàn)掉包現(xiàn)象,所以將串口處理中斷設(shè)置為高于定時(shí)器中斷,具體中斷優(yōu)先級(jí)如圖3.2和圖3.3所示。
圖3.2 前期系統(tǒng)中斷優(yōu)先級(jí)
圖3.3 后期調(diào)試系統(tǒng)中斷優(yōu)先級(jí)
根據(jù)三菱PLC指令占用的字節(jié)數(shù)特點(diǎn),可以將其分為單字指令、雙字指令和多字指令。
3.3.1 單字節(jié)指令
單字指令用最高四位代表指令,其它位來(lái)表示軟元件位置信息。例如在PLC程序中:“LD X0” ;其指令碼為2400H,在C語(yǔ)言中400H表示X0的地址信息,轉(zhuǎn)換成存放X0數(shù)組的索引值,之后再讀出這個(gè)值并將其存放在系統(tǒng)的全局變量中。
3.3.2 雙字指令
雙字指令雖然有與單字指令相同的部分,但是由于地址上訪問(wèn)不到,所以需要增加指令字節(jié)長(zhǎng)度來(lái)訪問(wèn)地址,例如:“OUT S0”。指令碼為 0005H 8000H;其中,0005 代表OUT 指令,8000H+n 代表 Sn 的地址。
3.3.3 多字指令
多字指令的作用是幫助對(duì)一些16位的軟元件完成數(shù)據(jù)的傳輸,例如:“OUT T0 K10”。
指令碼為0600H 800AH 8000H;其中,600H為 T0 在三菱FX2N 內(nèi)部的地址,指令含義為當(dāng) T0 計(jì)數(shù) 1000Ms 后, T0 輸出線圈閉合。
在分析傳統(tǒng)PLC工作原理的基礎(chǔ)上,本文通過(guò)以STM32F103ZET6的芯片作為中央處理器設(shè)計(jì)出一款嵌入式軟PLC模塊。其中該模塊本文是將其進(jìn)行硬件和軟件模塊化設(shè)計(jì)的,針對(duì)傳統(tǒng)PLC的不足,該模塊增加了支持I2C從設(shè)備的功能;同時(shí)該模塊還具有沒(méi)有改變?cè)刑菪螆D開(kāi)發(fā)模式和該嵌入式軟PLC模塊成本較傳統(tǒng)PLC成本低的優(yōu)點(diǎn),為未來(lái)某些控制領(lǐng)域提供了新的控制器的選擇。
[1]高興國(guó).8098芯片PLC級(jí)語(yǔ)言編程研究[D].天津工業(yè)大學(xué),2000.
[2]李萬(wàn)軍.軟 PLC體系結(jié)構(gòu)分析及工程應(yīng)用[D].西安電子科技大學(xué),2007.
[3]孫和平.單片微機(jī)原理與接口技術(shù)[M].冶金工業(yè)出版社,2003.