6ES72906AA300XA0西門子CPU緊湊型
西門子S7-1200/1500PLC的AT覆蓋變量是什么意思?
如何建立覆蓋變量?
AT是博途軟件中使用的一個關鍵字,代表覆蓋變量的聲明。
要訪問聲明變量內(nèi)的數(shù)據(jù)區(qū)域,可以通過附加聲明來覆蓋所聲明的變量,這樣可以選擇對不同數(shù)據(jù)類型的已聲明變量進行尋址。常用的就是使用 BOOL (位)的 ARRAY(數(shù)組) 對 WORD(字) 數(shù)據(jù)類型變量的各個位尋址。
博途軟件中對“覆蓋變量"的操作步驟作如下描述:
實際操作中,步,應該注意塊的狀態(tài)為標準訪問代碼塊,即把“優(yōu)化的塊訪問"前面的綠色“√"去掉。如不去掉這個,應具有保留設置“在IDB中設置"的變量代碼塊中。
▼ 覆蓋變量的適應條件

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


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