黎建軍
摘要:PLC不但能進行邏輯運算,還能進行數據處理,一個運行良好的中大型程序,它的數據處理一定做得近乎完美。近年來,大家把對后者的重視程度逐步提高到了一個新的高度。要更好的掌握好S7-1200PLC的編程技術,難度最大的還是在程序中的數據處理部分,對數據的存儲形式的理解則是提高工程技術人員駕馭程序能力的基礎,值得大家深入研究。
關鍵詞:存儲位;系統數據塊;函數;函數塊;全局數據塊
中圖分類號:TP311.1 文獻標識碼:A 文章編號:1007-9416(2018)09-0067-01
在眾多的PLC中,西門子S7-1200PLC的數據存儲是非常有特色的,而且也是大家學習的一個難點。一個脈沖檢測指令,為什么要加上一個存儲位;為什么函數的數據要保存在輸入輸出接口外的存儲介質中;為什么PLC系統中要加入各種數據塊…本文重點與大家一起來研究它的數據存儲特點。
1 存儲位
在位邏輯指令中,一個觸點指令中會帶有多個操作數,這種情況在其它的PLC中是不常見的,如果沒有理解它們的用法,它往往會讓編程人員在使用中無所適從,或出現各種各樣的錯誤。最為典型的指令有掃描操作數的信號上升沿與掃描操作數的信號下降沿指令,它們都帶有兩個操作數。
P指令有兩個操作數,上方的為OPERAND,表示一個BOOL型的操作數,指令需要掃描的就是這個操作數,執行該指令時,要讀取它在本周期的狀態;而下方的操作數是一個INOUT型的布爾量,它就是一個存儲位,它是可讀可寫的,由系統寫入上方操作數的上一掃描周期的狀態,執行指令時,可讀取它的狀態。如果上方的操作數的狀態為1,而下方的操作數為0,則說明了檢測到了上升沿,那么該觸點的檢測指令會接通一個程序周期。這個程序周期時長就是從執行該指令時起,到下一個掃描周期再執行這條件指令前的這段時間,它與掃描周期有明顯的區別。我們可以通過圖1來理解。
如果在當前周期檢測到了上升沿,那么這個觸點的接通時間會延長到下一掃描周期執行該指令前的這段時間。這種做法的好處是能捕捉到最小周期的上升沿,而且不會丟失上升沿。當然這個存儲位的操作數不要與程序中的其它操作數沖突,否則會影響到上一掃描周期操作數狀態的存儲,而形成誤判。
位邏輯指令中的其它有關上升沿與下降沿的檢測的指令,均會有一個存儲位用來保存操作數上一掃描周期的狀態,在分析程序時,必須按掃描周期與程序周期去理解輸出脈沖作用的時長,才不會出現編程時的錯誤。
位存儲位,通常所使用的為M存儲區的位點,它是一個可讀可寫的存儲位,同時也是一個全局型的變量。唯一的缺點就是這個存儲位不能被其它的程序段中的數據所改寫,那樣的話,將會造成對沿的誤判,因此在使用M存儲區時,千萬不要出現地址的重疊。
存儲位是指令中常用到的一類數據保存的方法,還有一類指令,它是利用數據塊來進行數據保存的。
2 系統數據塊
使用系統數據塊保存數據的最有代表的指令就數定時器與計數器指令。當引用這些指令時,就會自動的在系統的內部產生一個數據塊,有的還會有一個功能塊跟著一起自動形成。這里我們以一個5S的接通延時型的循環定時器來加以說明。
當在程序段中增加一個TON指令時,會出現一個IEC_TIMER類型的數據塊建立的請求,點確定后,就會在程序資源中產生一個系統數據塊。
打開系統數據塊,它里面的數據TON指令的參數相同。TON指令的數據將會保存在自己的數據塊中。所有的參數均為Static類型,即靜態變量。PT為定時設定值,ET為定時器的當前值,IN為定時器的輸入,當IN為1時,定時器使能,Q為定時器的輸出,當定時值達到了設定值,驅動外部所接的輸出點。一般來說,所有的局部變量在使用時是由系統自動分配內存的,它要求變量先賦值,后使用,否則變量的值將為一個不確定的數據。為了保證數據的連續性,系統分配變量地址一定要固定,這樣的變量稱靜態變量。數據塊中的數據可以直接引用,這樣可以減少全局變量使用的機率。
3 函數與函數塊
就函數而言,它的接口類型有Input、Output、Inout、Temp幾種。Input屬于輸入型的數據,只可讀;Output,屬于輸出型的數據,程序中只能改寫它;Temp是臨時變量,只能保存中間結果。它們均不能保存數據,因為數據保存的最終目標是能讀出它的數值,輸出型與輸入型的數據顯然是不能滿足要求的,就Temp而言雖然它有可讀可寫的特點,但這個變量的地址是系統臨時分配的,不可能保證數據的連續性和正確性。到此四種接口類型中只有一個Inout類型了,它是輸入輸出型的,可讀也可寫,可以滿足數據的保存。因此函數中牽涉到數據的保存,就只能用Inout類型了。
4 數據塊
S7-1200PLC數據塊中的數據可以說是包羅萬象,在變量表內不能定義的數據,在數據塊中則變得輕而易舉。數據塊是PLC與外部設備進行數據交換的橋梁,也是大型數據存儲的場所。全局數據塊,任何程序均能與之關聯,功能十分強大,也是S7-1200PLC存儲數據最大的區域。
至此,大家了解到了西門子S7-1200PLC對數據的獨特存儲方式:存儲位存儲、系統塊存儲、輸入輸出接口存儲、背景數據塊存儲及全局數據塊存儲。它們既有區別也有聯系,但共同的特點是都能保存相關的數據。
參考文獻
[1]馮博,徐淑華.SIMATIC S7-1200可編程控制器技術特點[J].科技信息,2010,(23):120-121.
[2]黃俊玲.西門子S7-1200 PLC程序設計方法研究[J].工業控制計算機,2016,(10):142-143.