組態(tài)步驟
1. 在 SIMATIC Manager 中插入一個(gè)FB功能塊,雙擊FB1打開此功能塊。
2. 在功能塊FB1中新建結(jié)構(gòu)變量aaa,然后在此結(jié)構(gòu)變量中建立三個(gè)元素為a1、a2、a3。
圖1 建立結(jié)構(gòu)變量
3. 在 FB1 中選擇結(jié)構(gòu)變量aaa,單擊右鍵打開 aaa 的關(guān)聯(lián)菜單。打開 aaa 的 “Object Properties”。跳轉(zhuǎn)到 “Attributes”標(biāo)簽,輸入系統(tǒng)屬性 “S7_m_c”。輸入值“true”。單擊 “OK”保存設(shè)置。
圖2 組態(tài)結(jié)構(gòu)變量屬性
注意:在“Attributes”標(biāo)簽中,可以看到一個(gè)系統(tǒng)屬性 “S7_xm_c”,此屬性在普通的OS項(xiàng)目中沒有任何意義,此功能是針對于PCS7項(xiàng)目增加的功能。
圖3 結(jié)構(gòu)變量屬性
4. 在 SIMATIC Manager中創(chuàng)建一個(gè)OB1功能塊,雙擊打開OB1,然后在程序中調(diào)用FB1并且設(shè)置背景數(shù)據(jù)塊為DB1。
圖4 FB1調(diào)用程序
5. 在SIMATIC Manager 中選擇 DB1,單擊右鍵打開 DB1 的關(guān)聯(lián)菜單。打開 DB1 的 “Object Properties”。跳轉(zhuǎn)到 “General – Part1” 標(biāo)簽,在“Symbolic Name”中輸入ddd并點(diǎn)擊“OK”保存設(shè)置。
圖5 DB1符號名設(shè)置
6. 在SIMATIC Manager 中選擇 DB1,單擊右鍵打開 DB1 的關(guān)聯(lián)菜單。通過 “Special Object Properties > Operator Control and Monitoring...” 打開 DB 的 OC&M 屬性。啟用 “Operator Control and Monitoring”選項(xiàng)框并單擊 “Save”保存設(shè)置。
圖6 DB1 OC&M設(shè)置
7. 在 SIMATIC Manager 中選擇 DB1,單擊右鍵打開 DB1 的關(guān)聯(lián)菜單。打開 DB 的 “Object Properties”。跳轉(zhuǎn)到 “Attributes” 標(biāo)簽,輸入系統(tǒng)屬性 “S7_m_c”。輸入值 “true”。單擊 “OK”保存設(shè)置。
圖7 DB1 Attributes設(shè)置
8. 在 SIMATIC Manager 中選擇 OS站,單擊右鍵打開 OS站 的關(guān)聯(lián)菜單。打開 OS站 的 “Compile”,點(diǎn)擊“Next”打開項(xiàng)目選擇界面,選擇要關(guān)聯(lián)的PLC程序如下圖,再點(diǎn)擊“Next”兩次,最后點(diǎn)擊“Compile”完成項(xiàng)目編譯。
圖8 PLC程序選擇
9. 在 SIMATIC Manager 中打開 OS項(xiàng)目,然后在WinCC項(xiàng)目樹中展開結(jié)構(gòu)變量,可以看到PLC程序中的FB1已經(jīng)被編譯過來了。
圖9 結(jié)構(gòu)變量
10. 在WinCC變量管理器“SIMATIC S7 PROTOCOL SUITE—TCP/IP”下可以看到編譯過來的S7連接,在S7連接里可以看到編譯過來的FB1中的結(jié)構(gòu)變量。
圖10 編譯過來的結(jié)構(gòu)變量
聲 明 目前PLC程序塊中的復(fù)雜數(shù)據(jù)類型的編譯功能,只支持結(jié)構(gòu)變量的編譯,而數(shù)組和UDT數(shù)據(jù)類型目前還不支持,因?yàn)樵跀?shù)組和UDT類型變量的屬性中沒有“S7_m_c”這個(gè)參數(shù),所以無法進(jìn)行編譯。
圖11 數(shù)組變量屬性參數(shù)
圖12 UDT變量屬性參數(shù)