摘要:本文歐姆龍CJ1M為例,采用低成本LED數(shù)碼管作為數(shù)據(jù)顯示設(shè)備,動(dòng)態(tài)顯示PLC內(nèi)部數(shù)據(jù)的方法,該方法簡(jiǎn)單實(shí)用,適于實(shí)驗(yàn)教學(xué)和工程人員的現(xiàn)場(chǎng)操作。
1.引言可編程邏輯控制器(Programming Logic Controller, PLC)作為一臺(tái)工業(yè)計(jì)算機(jī),集數(shù)據(jù)的采集、處理、顯示于一身,那么作為數(shù)據(jù)終端,數(shù)據(jù)的顯示是完全必要的。雖然PLC本身有許多指示燈,可以觀測(cè)到PLC的CPU單元、輸入/輸出單元及網(wǎng)絡(luò)通信單元的運(yùn)行工作狀態(tài),但無法顯示PLC內(nèi)部數(shù)據(jù)。計(jì)算機(jī)通過與PLC通信以及觸摸屏都可以實(shí)現(xiàn)PLC內(nèi)部數(shù)據(jù)顯示,但價(jià)格昂貴,對(duì)一些小型不需要經(jīng)常改動(dòng)的系統(tǒng)來說更是浪費(fèi)本文采用撥碼開關(guān)和數(shù)碼管來顯示PLC內(nèi)部數(shù)據(jù),操作簡(jiǎn)單成本低廉,對(duì)實(shí)驗(yàn)教學(xué)和工程人員有參考價(jià)值。
(1)應(yīng)用行業(yè):機(jī)加工、過程控制等。
(2)使用產(chǎn)品:CJ1M(CPU22), CS1W-ID211,CS1WOD261
(3)應(yīng)用的主要工藝點(diǎn)及要解決的主要問題:內(nèi)部數(shù)據(jù)的動(dòng)態(tài)顯示
(4)應(yīng)用方案簡(jiǎn)介:用高頻率晶體管輸出單元,結(jié)合高速定時(shí)器指令TIMH實(shí)現(xiàn)內(nèi)部數(shù)據(jù)的動(dòng)態(tài)顯示。
2.動(dòng)態(tài)數(shù)據(jù)顯示
2.1 硬件系統(tǒng)設(shè)計(jì)
LED數(shù)碼管有7段顯示燈,可以用來顯示0~9間的10個(gè)數(shù)字。CJ1M系列PLC內(nèi)部通道數(shù)據(jù)一般都是四位,如果用借用每個(gè)輸出點(diǎn)來控制一個(gè)顯示燈,那么一個(gè)數(shù)碼管就需要7個(gè)輸出點(diǎn),這顯然要占用大量的輸出點(diǎn),是不經(jīng)濟(jì)的。這里選用含有內(nèi)置譯碼電路的數(shù)碼管如CD4511,可以把8421碼自動(dòng)譯成7段碼。8421碼或BCD碼用4個(gè)接口加選通信號(hào),就可以顯示一個(gè)數(shù)據(jù)位。將四個(gè)8421輸入線組合與某個(gè)輸出通道的最低四位相連每個(gè)選通信號(hào)的輸入信號(hào)與通道中剩下的四位相對(duì)應(yīng)連接,這樣一個(gè)輸出通道就能顯示PLC四位(一個(gè)字)內(nèi)部數(shù)據(jù)。具體接線圖如圖1所示。
注意,這里的PLC輸出模塊應(yīng)選用晶體管或者晶閘管輸出單元,而不宜采用繼電器輸出單元。因?yàn)槔^電器輸出單元為有觸點(diǎn)開關(guān),響應(yīng)慢、速度低,不適用于高頻率的通斷,也不適用于動(dòng)態(tài)數(shù)據(jù)顯示[1]。故圖1中采用OMRON公司CJ1W-OD261(64點(diǎn))晶體管作為輸出單元,其在本PLC機(jī)架上的IO地址分配為6.00~9.15,這里用0006通道作為內(nèi)部數(shù)據(jù)的顯示通道。6.00~6.03為CD4511的數(shù)據(jù)輸入端A、B、C、D,其中A為最低位,D為最高位, 為高電平時(shí)鎖存數(shù)據(jù),四位數(shù)據(jù)的 端由PLC的6.04~6.07分別控制,4個(gè)數(shù)碼管共占用8個(gè)輸出點(diǎn)。
2.2 選通信號(hào)的生成
由于4個(gè)數(shù)碼管 的線皆由一個(gè)I/O口控制,因此,在每一瞬間,4位LED會(huì)顯示相同的字符。要想每位顯示不同的字符,就必須采用掃描方式輪流點(diǎn)亮各位LED,即在每一瞬間只使某一位顯示字符。使每位分時(shí)顯示該位應(yīng)顯示字符,根據(jù)人眼視覺特性,當(dāng)LED所加信號(hào)頻率大于50Hz時(shí),人眼不能感覺其變化,所以每位顯示的間隔不能超過20ms,也就是說要在20ms之內(nèi)分時(shí)的點(diǎn)亮所有LED,LED越多所分的時(shí)間越短,亮度就會(huì)不足;如果增加點(diǎn)亮?xí)r間,又會(huì)使掃描頻率下降,有閃爍感容易造成人眼的彼勞,故常采用動(dòng)態(tài)掃描方式[2]。這種掃描方式僅適用于LED不超過10個(gè)時(shí)的場(chǎng)合,本例中只有4只LED數(shù)碼管,故可以選用此方法。
CJ1M系列PLC有豐富的定時(shí)指令,其定時(shí)器類型有1ms、10ms和100ms,這里選用TIMH指令[3],定時(shí)器的設(shè)定值為#1,這樣選通信號(hào)的周期為10ms。
2.3 同步化處理
PLC采用循環(huán)周期掃描工作方式,指令的執(zhí)行由上至下,有左至右,前面的結(jié)果將影響后面;前一個(gè)周期的結(jié)果影響下一周期。PLC邏輯設(shè)計(jì)同步化就是設(shè)法實(shí)現(xiàn):用脈沖信號(hào)控制輸出及內(nèi)部狀態(tài)的轉(zhuǎn)換,有脈沖作用的周期,執(zhí)行指令才有效果;而且在脈沖信號(hào)起作用的這周期中,前面指令的執(zhí)行結(jié)果,不改變后面指令的執(zhí)行條件[4]。同步化處理的方法很多,在圖2中是通過合理安排指令的先后順序來實(shí)現(xiàn)同步的。
圖2中,系統(tǒng)上電,高速定時(shí)器開始定時(shí),10ms后,其常閉觸點(diǎn)斷開,即T0輸出一個(gè)脈沖,寬度為一個(gè)掃描周期。第一個(gè)脈沖到了, 6.04置位,成為前一行的指令執(zhí)行條件,但這時(shí)它的指令已經(jīng)執(zhí)行完畢,故在此脈沖作用期間,也不會(huì)有什么變化。依此類推,第四個(gè)脈沖之后,6.07置位,6.06復(fù)位,成為工作寄存器W0.00輸出的條件,第五個(gè)脈沖到來,6.07復(fù)位,梯形圖又回到初始狀態(tài),如此反復(fù),分時(shí)實(shí)現(xiàn)四位數(shù)據(jù)的 端6.04~6.07輪流接通10ms。
2.4 數(shù)據(jù)顯示
采用MOVD指令,將要顯示的內(nèi)部數(shù)據(jù)如DM區(qū)、W區(qū)、T/C區(qū)等中的一個(gè)字通過通道6顯示出來。如圖3所示,本例中,依不同的選通信號(hào),將D0中的數(shù)據(jù)通過選擇不同的位進(jìn)行顯示。
3 功能擴(kuò)展
3.1 顯示雙字
在圖1中,PLC輸入端0.01接撥碼開關(guān)SA,其作用根據(jù)其所在位置不同結(jié)合跳轉(zhuǎn)指令(JMP/JME)來確定數(shù)據(jù)顯示是哪個(gè)通道。如圖4中,當(dāng)SA為ON時(shí),顯示D0中的數(shù)據(jù);當(dāng)SA為OFF時(shí),顯示D1中的數(shù)據(jù)。
3.2 硬件擴(kuò)展
如果對(duì)4個(gè)選通輸出點(diǎn)6.00~6.03采用一片4線-16線譯碼器(如SG74HC154)進(jìn)行譯碼,可以擴(kuò)展成16個(gè)循環(huán)的選通信