對(duì)于使用西門子工控產(chǎn)品的客戶來說,每當(dāng)遇到難題或是沒有思路時(shí),常想到的就是撥打400-810-4288號(hào)碼。而這些年來,熱線支持也確實(shí)給力,對(duì)于大家來說算亦師亦友了。
某日,客戶打進(jìn)電話來:“麻煩工程師,給一個(gè)編程的思路。我用的S7-200PLC,我想實(shí)時(shí)采集數(shù)據(jù),如何才能實(shí)現(xiàn)永遠(yuǎn)記錄最新的幾條數(shù)據(jù)。”
答曰:“運(yùn)用表指令,就能夠?qū)崿F(xiàn)。”
那么表指令怎么實(shí)現(xiàn),下面我們來細(xì)說一下。 首先,需要將實(shí)時(shí)采集的數(shù)據(jù),建立一個(gè)指定長(zhǎng)度的表格(ATT填表指令)。實(shí)時(shí)記錄最新數(shù)據(jù),那么就要求這個(gè)表格具有先進(jìn)先出的功能(FIFO)。 1.ATT填表指令:向表格(TBL)中加入字值(DATA)。表格中的第一個(gè)數(shù)值是表格的最大長(zhǎng)度(TL)。第二個(gè)數(shù)值是表格的實(shí)際條目數(shù)。每次向表格中增加新數(shù)據(jù)后,條目計(jì)數(shù)加1。新數(shù)據(jù)被增加至表格中的最后一個(gè)條目之后,即無法再向表格中添加數(shù)據(jù),報(bào)溢出。表格最多可包含100個(gè)條目,不包括指定最大條目數(shù)和實(shí)際條目數(shù)的參數(shù)。 2. FIFO先進(jìn)先出指令:從表(TBL)中移走第一個(gè)數(shù)據(jù),并將此數(shù)輸出到DATA。剩余數(shù)據(jù)依次上移一個(gè)位置。每執(zhí)行一條本指令,表中的數(shù)據(jù)數(shù)減1。 
3.將這兩個(gè)指令結(jié)合起來,先通過數(shù)據(jù)建表,當(dāng)表格滿了之后,再移出老的數(shù)據(jù),填入最新數(shù)據(jù)。如下圖所示:
注意:所有的表格讀取和表格寫入指令必須用邊緣觸發(fā)器指令激活。
好啦,如果您需要實(shí)現(xiàn)實(shí)時(shí)記錄最新數(shù)據(jù),請(qǐng)參考吧。
|