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