S7-1200 使用AT覆蓋變量
S7-1200 要訪問聲明變量內的數據區域,可以通過附加聲明來覆蓋所聲明的變量。這樣可以選擇對不同數據類型的已聲明變量進行尋址,例如,可以使用 BOOL 的 ARRAY 對 WORD 數據類型變量的各個位尋址。
下面介紹詳細的做法。
1. 如何創建 AT 覆蓋變量
創建一個 S7-1200 的項目,在程序塊中新建一個 FB 塊(或者 FC 塊),右擊 FB 塊進入該塊的屬性中,將 FB 塊屬性中的“優化的塊訪問”給去掉,如圖 1 所示。
圖 1 創建非優化的 FB 塊
雙擊進入 FB 塊, 展開 FB 塊的“塊接口”,如圖 2 所示。
圖 2 展開 FB 塊的“塊接口”
在“塊接口”中,在 Input 添加一個變量,變量名為 A,數據類型為 int;接著在變量 A 下面一行,數據類型這一列,手動輸入“AT”,如圖 3 所示。
圖3 指令調用在線圖
圖 3 輸入“AT”
Input 中會生成一個新變量“Input_1”,數據類型是 int,將這個變量的數據類型修改成 Array,并編譯該 FB 塊,可以看到變量 A 和變量 Input_1 的偏移量都是 0.0,這表示變量 A 和變量 Input_1 是相同地址,只是以不同的數據類型顯示,如圖 4 所示。
圖 4 生成地址相同的新變量
以此方法新建 Output 的變量 B 和變量 Output_1,這樣就可以對變量 A 和變量 B 進行位操作,如圖 5 所示。
圖 5 對變量進行位操作
OB1 調用 FB 塊時,FB 塊的管腳不會顯示變量 Input_1 和 Output_1,如圖 6 所示。
圖 6 調用生成的 FB 塊
如 FB 塊選擇的是優化的塊訪問,即:保留了 FB 塊屬性中的“優化的塊訪問”的勾選項,見圖 1;這時,需要在“保持性”一列中選擇“在 IDB 中設置”,才能使用 AT 變量覆蓋,如圖 7 所示。
圖 7 FB 塊的優化訪問處理
2. 注意事項和規則
注意事項
S7-1200/1500:在 FC 中使用 AT,對于 S7-1200/1500 中的 FC,覆蓋變量和被覆蓋變量的數據長度必須相同。如果無法通過程序實現,請檢查是否可以使用片段訪問來代替 AT 結構。
規則
對于變量覆蓋可適用于以下通用規則:
1.在 STL、LAD、FBD、GRAPH 和 SCL 中,允許變量覆蓋。
2.可以在以下塊中覆蓋變量:
在標準訪問的代碼中
在可優化訪問具有保留設置“在 IDB 中設置”的變量代碼塊中
3.覆蓋變量數據寬度必須小于等于被覆蓋變量的數據寬度。
4.不可以覆蓋 VARIANT 和 INSTANCE 數據類型的變量。
5.無法覆蓋庫中聲明為接口中參數的塊。
6.無法覆蓋接口中聲明為參數的結構化 PLC 變量。
下列組合規則也適用,如下表所示。
- 西門子安全程序中的反饋監視 2024-11-23
- 西門子安全模塊的Zui大回讀周期如何設定 2024-11-23
- 西門子安全輸出 PM/PP有什么區別? 2024-11-23
- 西門子安全輸入供給電源如何設置與接線? 2024-11-23
- 西門子安全系統應該如何配置 2024-11-23
- SINAMICS S200 PN 應用參考(下) 2024-11-23
- 如何組態西門子PLC塊中的結構變量使其連接能在WinCC中使用 2024-11-23
- 西門子變頻器如何與西門子300PLC實現通訊實例 2024-11-23
- 西門子邏輯指令輕松辨別,文章超詳細 2024-11-23
- 昆侖通態:MCGS嵌入版組態軟件的主控窗口 2024-11-23
- 西門子PLC標準編程語言你知道幾種 2024-11-23
- 西門子MM440變頻器硬件及參數設置 2024-11-23
- 變頻器如何與西門子300PLC實現通訊實例 2024-11-23
- 西門子邏輯指令之計數器指令 2024-11-23
- 西門子邏輯指令之觸點及定時器指令 2024-11-23
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415