6ES7222-1BH32-1XB0西門子CPU緊湊型 6ES7222-1BH32-1XB0西門子CPU緊湊型
西門子S7-1200/1500PLC的AT覆蓋變量是什么意思?
如何建立覆蓋變量?
AT是博途軟件中使用的一個關鍵字,代表覆蓋變量的聲明。
要訪問聲明變量內的數據區域,可以通過附加聲明來覆蓋所聲明的變量,這樣可以選擇對不同數據類型的已聲明變量進行尋址。常用的就是使用 BOOL (位)的 ARRAY(數組) 對 WORD(字) 數據類型變量的各個位尋址。
博途軟件中對“覆蓋變量"的操作步驟作如下描述:
實際操作中,步
▼ 覆蓋變量的適應條件

步,在需要覆蓋的變量緊接著下面增加一行。
▼ 在被覆蓋變量下添加變量行


覆蓋變量說白了,這個“蓋子"只能剛好蓋住,或蓋一部分。覆蓋變量是被覆蓋變量的子集。
使用AT還就注意
在FC中使用AT,覆蓋變量和被覆蓋變量的數據長度必須相同。
如果被覆蓋變量的數據類型為字符串、字節數組、字符數組等,那么其長度應與偶數個字節數對應。
今天就以西門子 S7-1200PLC 高速計數器為主以及實例來做講解,S7-1200 CPU 提供了多 6 個(1214C )高速計數器 ,其獨立于 CPU 的掃描周期進行計數。
3、雙相增 /減計數器,雙脈沖輸入
所有的計數器無需啟動條件設置,在硬件向導中設置完成后下載到 CPU 中即可啟動高速計數器,在 A/B 相正交模式下可選擇 1X(1 倍) 和 4X(4 倍)模式,,
并非所有的 CPU 都可以使用 6 個高速計數器,如 1211C 只有 6 個集成輸入點,所以多只能支持 4 個(使用信號板的情況下)高速計數器。
由于不同計數器在不同的模式下,同一個物理點會有不同的定義,在使用多個計數器時需要注意不是所有計數器可以同時定義為任意工作模式。
高速計數器的輸入使用與普通數字量輸入相同的地址,當某個輸入點已定義為高速計數器的輸入點時,就不能再應用于其它功能,但在某個模式下,使用此模式時,不需要外部接線, CPU 在內部已作了硬件連接,可直接檢測通過 PTO 功能所發脈沖。
二、高速計數器尋址
CPU 將每個高速計數器的測量值,存儲在輸入過程映像區內,數據類型為 32 位雙整型有符號數,用戶可以在設備組態中修改這些存儲地址,在程序中可直接訪問這些地址,但由于過程映像區受掃描周期影響,在一個掃描周期內,此數值不會發生變化,但高速計數器中的實際值有可能會在一個周期內變化,用戶可通過讀取外設地址的方式,讀取到當前時刻的實際值。以 ID1000 為例,其外設地址為“ ID1000 :P"。表 8-2 所示為高速計數器尋址列表
三、頻率測量
S7-1200 CPU 除了提供計數功能外,還提供了頻率測量功能,有 3 種不同的頻率測量周期: 1.0 秒, 0.1 秒和 0.01 秒,頻率測量周期是這樣定義的:計算并返回新的頻率值的時間間隔。返回的頻率值為上一個測量周期中所有測量值的平均,無論測量周期如何選擇,測量出的頻率值總是以 Hz( 每秒脈沖數 )為單位。
五、應用舉例
為了便于理解如何使用高速計數功能,通過一個例子來學習組態及應用。
假設在旋轉機械上有單相增量編碼器作為反饋,接入到 S7-1200 CPU, 要求在計數 25 個脈沖時,計數器復位,并重新開始計數,周而復始執行此功能。
針對此應用,選擇 CPU 1214C ,高速計數器為: HSC1 。模式為:單相計數,內部方向控制,無外部復位。據此,脈沖輸入應接入 I0.0 ,使用 HSC1 的預置值中斷( CV=RV )功能實現此應用。
組態步驟:
先在設備與組態中,選擇 CPU ,單擊屬性,激活高速計數器,并設置相關參數。此步驟必須實現執行, 1200 的高速計數器功能必須要先在硬件組態中激活,才能進行下面的步驟
添加硬件中斷塊,關聯相對應的高速計數器所產生的預置值中斷
選中 CPU 如圖 8-6
圖 3 所示為選擇屬性打開組態界面
激活高速計數功能如圖 4
計數類型,計數方向組態如圖 5 所示
1 此處計數類型分為 3 種, Axis of motion( 運動軸 ),Frequency (頻率測量),Counting( 計數 )。這里選擇 Counting
2 模式分為 4 種: Single phase( 單相 ), Two phase (雙相) , AB Quadrature 1X(A/B 相正交 1 倍速) , AB Quadrature 4X (A/B 相正交 4 倍速)。這里擇 Single phase
5 初始計數方向。這里選擇 Count up (向上計數)
初始值及復位組態如圖 6
預置值中斷組態如圖 7
組態添加的硬件中斷,如圖 8-13 有圖
地址分配與硬件識別號如圖 9
至此硬件組態部分已經完成,下面進行程序編寫
2、程序編寫
將高速計數指令塊添加到硬件中斷中
圖 12 定義高速計數器背景數據塊
程序視圖如圖 13
2 “1"為使能更新初值
3 “0"新初始值為 0
至此程序編制部分完成,將完成的組態與程序下載到 CPU 后即可執行,當前的計數值
可在 ID1000 中讀出 ,關于高速計數器指令塊,