組態(tài)步驟
1. 在 simatic manager 中插入一個fb功能塊,雙擊fb1打開此功能塊。
2. 在功能塊fb1中新建結(jié)構(gòu)變量aaa,然后在此結(jié)構(gòu)變量中建立三個元素為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)簽中,可以看到一個系統(tǒng)屬性 “s7_xm_c”,此屬性在普通的os項目中沒有任何意義,此功能是針對于pcs7項目增加的功能。
圖3 結(jié)構(gòu)變量屬性
4. 在 simatic manager中創(chuàng)建一個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”選項框并單擊 “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”打開項目選擇界面,選擇要關(guān)聯(lián)的plc程序如下圖,再點(diǎn)擊“next”兩次,最后點(diǎn)擊“compile”完成項目編譯。
圖8 plc程序選擇
9. 在 simatic manager 中打開 os項目,然后在wincc項目樹中展開結(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ù)類型目前還不支持,因為在數(shù)組和udt類型變量的屬性中沒有“s7_m_c”這個參數(shù),所以無法進(jìn)行編譯。
圖11 數(shù)組變量屬性參數(shù)
圖12 udt變量屬性參數(shù)