S7-1200參考技術(shù)總結(jié)
一
S7-1200調(diào)用環(huán)境功能
1、調(diào)用環(huán)境功能介紹
舉例:編寫一個控制電機啟停的函數(shù)塊FB1,在OB1中調(diào)用兩次FB1,并目分別對FB1賦值不同的實參控制兩個電機,如圖1所示。

圖1 函數(shù)塊的調(diào)用
在調(diào)試階段,我們需要單獨對每個電機進行調(diào)試,但是打開FB1進行監(jiān)控時,僅僅是對函數(shù)塊內(nèi)部通用的程序的監(jiān)控,并不針對具體其一個背景數(shù)據(jù)塊。因此,監(jiān)控狀態(tài)并不能反映特定的電機的實際狀態(tài)。
基于這種應用,我們需要使用調(diào)用環(huán)境功能來監(jiān)控特定電機的狀態(tài)。該功能需要S7-1200 V4.0及其以上的固件版本才可以支持。
2、調(diào)用環(huán)境功能的操作步驟
1. 當函數(shù)塊FB1已經(jīng)打開時,可以單擊項目右側(cè)的“測試"任務卡,單擊“更改"按鈕,如圖2所示,進行調(diào)用環(huán)境的設置。

圖2“測試"任務卡
彈出“塊的調(diào)用環(huán)境"對話框,如圖3所示,進行相應設置:

圖3 調(diào)用環(huán)境的設置
2. “背景數(shù)據(jù)塊":通過右側(cè)的下拉菜單選擇背景數(shù)據(jù)塊。當函數(shù)塊和選定的背景數(shù)據(jù)塊一起調(diào)用時,顯示這個函數(shù)塊的程序狀態(tài)。
3. “調(diào)用環(huán)境":當塊和特定塊一起調(diào)用或者從特定路徑調(diào)用塊時,顯示這個塊的程序狀態(tài)。
4. 轉(zhuǎn)換到“手動調(diào)節(jié)":通過該按鈕,轉(zhuǎn)換“調(diào)用環(huán)境"中選定的數(shù)據(jù)進一步編輯。此后使用特定塊調(diào)用某個塊或從特定路徑調(diào)用該塊時,則僅顯示該塊的程序狀態(tài)。
5. “手動調(diào)節(jié)調(diào)用環(huán)境":激活轉(zhuǎn)換到“手動調(diào)整的調(diào)用路徑"選項后,可以在這個區(qū)域中手動輸入所需要的調(diào)用環(huán)境。
二
S7-1200 OPC UA 服務器方法實例
下文以具體實例說明,S7-1200如何使用OPC UA服務器方法功能以及在使用過程中需要注意的事項。
1、任務目標、所用硬件和軟件
實現(xiàn)功能:
1200作為OPC UA服務器,通過指令編程提供服務器方法;
UA Exper作為OPC UA客戶端調(diào)用服務器方法;
當變量B0為1的時候,服務器方法的輸入?yún)?shù)傳送給服務器方法的輸出參數(shù);
當變量B0為0的時候,服務器方法的輸入輸出不進行傳送,報錯16#ffffffff。
實例中所用硬件及軟件如表1所示

表1 硬件及軟件
2、 硬件組態(tài)
1. 創(chuàng)建新項目,添加CPU1215 DC/DC/DC V4.5的CPU。在彈出的PLC安全設置中進行組態(tài)設置。此實例分別將保護機密的PLC數(shù)據(jù)設置為禁用;將PG/ PC和HMI的通信模式設置為支持傳送的和安全的PG/PC通信;PLC訪問保護設置為完*訪問權(quán)限,如圖4所示。

圖4 PLC安全設置
2. 在CPU屬性中的以太網(wǎng)地址屬性中,添加新子網(wǎng)PN/E_1,設置IP地址為192.168.0.125,設置子網(wǎng)掩碼為255.255.255.0。如圖5所示。

圖5 設置以太網(wǎng)地址
3. 在CPU屬性>OPC UA>服務器,訪問服務器中,勾選復選框激活OPC UA服務器;在選件>常規(guī)中設置端口號,按照默認設置為4840,由此設置產(chǎn)生的 URL為OPC.TCP://192.168.0.125:4840,如圖6所示。
其他OPC UA服務器屬性,保持默認設置不變。

圖6 激活OPCUA服務器并設置端口號
4. CPU屬性>運行系統(tǒng)許可證>OPC UA中,購買的許可證為SIMATIC OPC UA S7-1200basic,如圖7所示。

圖7 設置運行系統(tǒng)許可證
三
S7-1200固件V4.5版本的新功能
OPC UA 的改進和增強
支持服務器方法調(diào)用
OPC UA方法是“遠程過程調(diào)用"的實現(xiàn),為不同通信節(jié)點之間的交互提供了有效機制,該機制提供作業(yè)確認和反饋值,因此無需再編程握手機制。OPC UA方法的工作原理與運行系統(tǒng)中由外部OPC UA客戶端調(diào)用受專有技術(shù)保護函數(shù)塊的原理類似,OPC UA客戶端僅“監(jiān)視"已定義的輸入和輸出,函數(shù)塊、方法或算法的內(nèi)容對OPC UA客戶端不可見,OPC UA客戶端接收成功執(zhí)行的反饋以及函數(shù)塊(方法)返回的值;如果執(zhí)行不成功,則收到錯誤消息。
S7-1200CPU固件從V4.5版本開始,TIAPortal從V17版本開始,可以通過指令編程的方式提供OPC UA服務器方法,OPC UA服務器方法所需指令如圖8所示。使用OPC_UA_ServerMethodPre查詢服務器方法調(diào)用,OPC_UA_ServerMethodPost響應服務器方法。

圖8 OPC UA 服務器
支持結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型
S7-1200CPU固件V4.5版本前,不支持結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型,但映射到基本節(jié)點類型的SIMATIC 數(shù)據(jù)類型是受支持的節(jié)點類型。例如,S7-1200 OPC UA服務器不支持數(shù)組"Array[10.9] of int"的訪問,但是支持數(shù)組里的單個元素[0],[1]...的訪問。
V4.5版本開始支持結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型,服務器接口的配置如圖9所示。

圖9 支持結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型
在OPC UA客戶端中也可以直接訪問結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型的數(shù)據(jù),例如,如圖10所示,在UaExpert客戶端的Data Access View中可以直接查看結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型變量。

圖10 UaExpert中直接查看結(jié)構(gòu)化和數(shù)組數(shù)據(jù)類型
診斷功能
在CPU屬件中可以激活OPC UA診斷信息,在CPU的診斷緩沖區(qū)可以看到OPC UA相關(guān)事件發(fā)生時的診斷,在發(fā)生錯誤時,可以更快地分析與OPC UA相關(guān)的信息。如圖11所示,支持的診斷為:狀態(tài)更改診斷、其它事件診斷、診斷匯總。

圖11 OPCUA診斷
提升了會話、訂閱,最大節(jié)點的數(shù)量。會話數(shù)由5個提升為10個,訂閱數(shù)由5個提升為50個,最大節(jié)點數(shù)由1000個提升為2000個。