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