我們就依照上例做PLC程序上的變換。PLC程序比單片機(jī)程序更加直觀(guān),更易懂。對(duì)于略有電氣基礎(chǔ)的技術(shù)人員就能進(jìn)行修改,調(diào)試。可以大大降低維護(hù)的成本。
這里,我們對(duì)目標(biāo)設(shè)定值的設(shè)定方式進(jìn)行改造,采用4位撥碼開(kāi)關(guān)來(lái)輸入設(shè)定值,這樣使得設(shè)定操作更為方便。

圖6 8421碼撥碼開(kāi)關(guān)
永宏P(guān)LC有支持撥碼開(kāi)關(guān)輸入的專(zhuān)用指令,這樣無(wú)論在PLC的配線(xiàn),或者獲取對(duì)應(yīng)輸入值時(shí),都相當(dāng)?shù)姆奖恪艽a開(kāi)關(guān)指令為FUN78功能指令。使用4位數(shù)輸入時(shí),共需占用4個(gè)輸入點(diǎn)和4個(gè)輸出掃描點(diǎn)。PLC配線(xiàn)如下圖:

在編寫(xiě)程序時(shí),調(diào)用一個(gè)FUN78功能指令塊,然后根據(jù)配線(xiàn)圖,做相關(guān)參數(shù)設(shè)定。“IN”輸入點(diǎn)占用X0~X3,“OT”輸出點(diǎn)占用Y0~Y3。我們將撥碼開(kāi)關(guān)輸入值送到R10。D10為其內(nèi)部工作寄存器,指令占用,其他地方不要重復(fù)使用。整個(gè)指令如下。

如上所示就能完成目標(biāo)數(shù)的設(shè)定。這時(shí)在設(shè)定完畢后我們將設(shè)定值送到顯示FBs-7SG2模塊做顯示。
這里顯示模塊使用FBs-7SG2.共有2個(gè)通道,一個(gè)通道顯示8位7段LED。我們對(duì)顯示模塊采用譯碼碼模式。LED顯示單元為了配合程序更好設(shè)計(jì)。我們這樣編排:

這時(shí),我們可以通過(guò)搬移指令將R0值直接送至R3905。因?yàn)閾艽a開(kāi)關(guān)輸入的即為BCD碼。所以在送到R3905時(shí),不必再做BCD碼轉(zhuǎn)換。

對(duì)于實(shí)際計(jì)數(shù)部分,我們現(xiàn)在以一個(gè)輸入開(kāi)關(guān)來(lái)實(shí)現(xiàn)。這里占用X5輸入點(diǎn),以一個(gè)計(jì)數(shù)器C0來(lái)計(jì)數(shù)當(dāng)前生產(chǎn)的實(shí)績(jī)數(shù)。因?yàn)轱@示只為4段,即數(shù)目為0~9999.所以當(dāng)計(jì)數(shù)滿(mǎn)10000時(shí),要進(jìn)行清零。計(jì)數(shù)程序如下:

這時(shí),我們?cè)賹?shí)績(jī)數(shù)送往R3906做顯示。因?yàn)镃0為二進(jìn)制碼,要在LED顯示為人眼所能識(shí)別的文字格式,必須做BCD碼轉(zhuǎn)換。所以要先對(duì)C0做BCD碼轉(zhuǎn)換再送到R3906顯示。

最后,將目標(biāo)數(shù)減去實(shí)績(jī)數(shù),得到差異數(shù)。再做BCCD碼轉(zhuǎn)換后送到R3907顯示。

5. 結(jié)束語(yǔ)
上述程序即能完成生產(chǎn)管理板的改造,硬件上,比單片機(jī)控制方式運(yùn)行得更加可靠、穩(wěn)定;擴(kuò)展性比單片機(jī)更優(yōu)越。軟件上,設(shè)計(jì)程序比單片機(jī)更能容易編寫(xiě)和修改;后期的調(diào)試、維護(hù)更加的便利。因?yàn)镻LC尚有剩余輸入點(diǎn)和輸出點(diǎn),只需在配線(xiàn)增加輸入開(kāi)關(guān)和做輸出點(diǎn)輸出,就能更好的完善生產(chǎn)管理板的升級(jí)。若上位機(jī)要采集數(shù)據(jù)則擴(kuò)展個(gè)通訊端口,讀取對(duì)應(yīng)的寄存器值即可完成生產(chǎn)線(xiàn)與管理系統(tǒng)的連接。










