基于S7-300PLC的剔除控制系統(tǒng)
本系統(tǒng)對(duì)于檢測(cè)結(jié)果信息和位置信息的存取采用間接尋址[4]、順序存取的方式,其基本思想如下:
在對(duì)信息存儲(chǔ)區(qū)進(jìn)行信息存取時(shí),將現(xiàn)場(chǎng)運(yùn)行的瓶子以67瓶為一組,同時(shí)在plc中啟動(dòng)一個(gè)檢測(cè)計(jì)數(shù)器c1和一個(gè)剔除計(jì)數(shù)器c2。如圖4所示,每當(dāng)瓶子經(jīng)過檢測(cè)位置觸發(fā)檢測(cè)光電i0.5時(shí),計(jì)數(shù)器c1的計(jì)數(shù)值dbw564便加1,以此計(jì)數(shù)值作為偏移量,同時(shí)以信息存儲(chǔ)區(qū)的首地址dbd560和dbd598作為基址,就可以按照?qǐng)D5所示程序計(jì)算出存儲(chǔ)區(qū)中需要存取的位置的地址md160和md164,其中的fc15的功能如圖6所示,其計(jì)算出out3=in0×in2+in1,即對(duì)信息存儲(chǔ)區(qū)相應(yīng)位置存取的地址。這樣就可以遍歷整個(gè)存儲(chǔ)區(qū),將相應(yīng)瓶子的檢測(cè)結(jié)果信息和計(jì)算得到的位置信息存儲(chǔ)于存儲(chǔ)區(qū)的相應(yīng)位置。
當(dāng)檢測(cè)計(jì)數(shù)器c1的計(jì)數(shù)值達(dá)到67時(shí),便將計(jì)數(shù)值清零,以備下一組67瓶的計(jì)數(shù)和信息存儲(chǔ)。同時(shí),plc在內(nèi)部程序中不斷檢測(cè)瓶子是否到達(dá)剔除器位置,每當(dāng)有瓶到達(dá)剔除器位置時(shí),剔除計(jì)數(shù)器c2的計(jì)數(shù)值便加1,同時(shí)根據(jù)與信息存儲(chǔ)時(shí)相同的方法,以存儲(chǔ)區(qū)首地址為基址,以c2的計(jì)數(shù)值為偏移量訪問檢測(cè)結(jié)果存儲(chǔ)區(qū)中的結(jié)果信息,如果該瓶為不合格瓶,則啟動(dòng)剔除器進(jìn)行剔除,同時(shí)清除該瓶在存儲(chǔ)區(qū)中的檢測(cè)結(jié)果信息,便于后面瓶子信息的存儲(chǔ)。由于檢測(cè)區(qū)域最多只能容納67瓶,因此,當(dāng)計(jì)數(shù)器c1計(jì)數(shù)滿67并將計(jì)數(shù)值清零時(shí),存儲(chǔ)區(qū)第一個(gè)位置的信息早被提取出來并處理完畢,因此,當(dāng)下一瓶到來的時(shí)候計(jì)數(shù)值加1變?yōu)?,其信息仍可存儲(chǔ)到存儲(chǔ)區(qū)第一個(gè)位置,且不會(huì)影響以前存儲(chǔ)的信息。以此類推,下一瓶,下兩瓶等等到來的時(shí)候仍可順序存儲(chǔ)其信息,這樣,就可以將檢測(cè)區(qū)域的每一個(gè)檢測(cè)瓶的信息都存儲(chǔ)起來了。整個(gè)過程如圖7所示。










