TIA Portal中S7-1200F CPU和S7-1500F CPU實現安全相關控制器與控制器通訊的配置例程
在TIA安全系統中S7-1500F和S7-1200F 的PROFINET接口之間可以借助 PN/PN Coupler 模塊進行控制器與控制器之間的安全相關的通信。通信通過兩個安全應用程序塊進行,即SENDDP塊用于發送數據,而RCVDP塊用于接收數據。這些塊由用戶在F-CPU相應的安全程序中調用,可用于固定數量的BOOL和INT類型的數據進行安全傳送。
在本例程中,將CPU1511F-1PN作為一個PROFINET 控制器,CPU1215FC作為另一個PROFINET 控制器,通過PN/PN Coupler實現兩個CPU的安全相關的通信。
更多的關于創建和編寫、通信的安全程序的信息請參考故障安全系統組態和編程手冊。
1 示例所使用的軟硬件環境
STEP7 Professional V14 SP1
STEP7 Safety Advanced V14 SP1
CPU1511F-1PN V2.0 訂貨號 6ES7 511-1FK01-0AB0
CPU1215FC V4.2訂貨號6ES7215-1HF40-0XB0注意:從固件版本V4.2版本開始的S7-1200F CPU才支持安全相關的通信。
PN/PN Coupler V3.0 訂貨號6ES7158-3AD00-0XA0
通過PN/PN Coupler 實現控制器和控制器的F-CPU之間的安全相關通信,使用F應用程序塊SENDDP進行發送,用RCVDP進行接收。使用以安全方式一次傳送16個BOOL型數據和2個INT型數據,如圖1-1。注意:必須在安全程序開始時調用RCVDP,必須在安全程序結束時調用SENDDP。
CPU1511F | 傳輸類型 | CPU1215FC |
16 Bool 2 INT |
16 Bool 2 INT |
圖1-1 數據交換數量和類型
2硬件配置
打開TIA軟件,點擊“新建項目”輸入項目名稱,設置項目文件存儲路徑;點擊“確定”,完成項目創建,如圖2-1。
圖 2-1 創建項目
添加新設備,選擇的訂貨號和版本,將設備名稱命名為:CPU1500F,如圖2-2。
圖 2-2插入1500F站
在設備組態界面創建新的以太網子網,設置IP地址,如圖2-3。
圖2-3 分配網絡和設置IP地址
在“網絡視圖”中,組態PN/PN Coupler X1,如圖2-4。
圖2-4 組態PN/PN Coupler
將PN/PN Coupler X1分配給IO控制器,并進入設備試圖分配參數,如圖2-5,2-6。
圖2-5 分配PN Coupler控制器
圖2-6 設置IP地址和設備名稱
PN/PN Coupler 模塊的介紹,如圖2-8。
圖2-7 PN/PN Coupler模塊面板圖
注意:
PN/PN Coupler V1.0需要MMC卡存儲Device name,只需要一張。(V1.0以后的產品不需要MMC卡)。
PROFINET IO網絡1使用:PN/PN Coupler x1組態;
PROFINET IO網絡2使用:PN/PN Coupler x2組態。
兩個網絡的通信數據區輸入/輸出方式必須相互對應。
更多詳細信息,請閱讀 PN/PN Coupler 手冊,鏈接地址如下:https://support.industry.siemens.com/cs/cn/en/view/35837658
分配IO通訊區域,通過PN/PN Coupler 安全通訊的數據地址區定義規則為,發送方:12 字節輸出 / 6 字節輸入;接收方:12 字節輸入 / 6 字節輸出。建立了兩條傳輸,先發送,再接收,圖2-8。
圖2-8 組態IO區域
按照上述的方法,組態S7-1215FC的CPU,同時將PN/PN Coupler X2掛成IO設備,分配設備名稱,最終的組態結果,如圖2-9。
注意:通訊雙方的傳輸條目要匹配,發送對接收,接收對發送。
圖2-9 雙方的IO組態數據
圖2-10 進入分配設備名稱界面
圖2-11 更新列表
圖2-12 分配名稱
圖2-13 分配設備完成
將兩個安全CPU都編譯下載后,還需要在線分配PN Coupler設備名稱后PROFINET通信才能正常。以S7-1500F側操作為例,如圖2-10 - 2-13。
同樣在S7-1200F側對PN Coupler X2接口在線分配設備名稱,完成后網絡視圖在線后狀態顯示通信正常,如圖2-14。
圖2-14 硬件組態在線狀態
3 軟件編程
安全相關的通信除了要進行硬件組態外,還要使用專門的安全通信程序塊完成數據的發送和接收。
在項目樹中打開 S7-1200F,安全運行組在添加安全CPU硬件時系統已經自動生成,默認在OB123中調用安全主程序“Main_Safety_RTG1”FB1,如圖3-1所示。
圖3-1 系統自動創建的安全運行組
添加F-DB,用于RCVDP和SENDDP指令輸出變量接口連接,如圖3-2。
圖3-2 發送/接收F-DB建立變量
打開“程序塊”下面的“Main_Safety_RTG1”(FB1),調用RCVDP數據接收功能指令。
注意:F通訊程序,必須先接收,再發送,即網絡1為接收功能指令,如圖3-3所示。
圖 3-3 插入接收功能指令RCVDP
接收功能指令RCVDP管腳定義,圖3-4所示。
圖3-4 接收指令參數管腳
輸入參數 | |
ACK_REI: | 1=發生通信錯誤后,對發送數據的重新集成確認 |
SUBBO_00 -SUBBO_15 | 用于接收BOOL數據的安全值 |
SUBI_00 — SUBI_01 | 用于接收INT數據的安全值 |
DP_DP_ID | 唯一的SENDDP和RCVDP之間的關聯值,確認發送和接收的對應關系,示例中是1,與S7-1500F側SENDDP的ID一致 |
TIMEOUT | 安全相關的通訊的監視時間 |
LADDR | IO傳輸區域的硬件標識符,示例中是277(DEC),如下圖3-5 |
輸出參數 | |
ERROR: | 1=通信出錯 |
SUBS_ON | 1=使用替代值 |
ACK_REQ: | 1=需要對發送數據的重新集成進行確 認 |
SENDMODE | 1= 具有F_SENDDP的F-CPU處于取消激活的安全模式中 |
RD_BO_00-RD_BO_15 | 接收的BOOL數據 |
RD_I_00 — RD_I_01 | 接收的INT數據 |
RET_DPRD/ RET_DPWR | DPRD_DAT/DPWR_DAT的錯誤代碼 |
DIAG | 診斷信息 |
表1 RCVDP功能指令參數說明
注意:輸出變量中,除“RET_DPRD”,“RET_DPWR”和“DIAG”三個變量以外其它的變量都需要用故障安全的數據。
在指令中,LADDR參數需要到系統常量中找到之前配置的傳輸地址區的硬件標識符。
圖3-5 RCVDP中LADDR管腳的填寫
在網絡2中,調用SENDDP數據發送功能塊,注意參數DP_DP_ID和LADDR參數的填寫,圖3-6,3-7。
圖3-6 SENDDP指令程序
輸入參數 | |
SD_BO_00—SD_BO_15 | 用于發送BOOL數據 |
SD_I_00 — SD_I_01 | 用于發送INT數據 |
DP_DP_ID | 唯一的F_SENDDP和F_RCVDP之間的關聯值,確認發送和接收的對應關系,示例中是2,與S7-1500F側RCVDP的ID一致 |
TIMEOUT | 安全相關的通訊的監視時間 |
LADDR | 接IO傳輸區域的硬件標識符,示例中是278(DEC),如下圖3-7 |
輸出參數 | |
ERROR: | 1=通信出錯 |
SUBS_ON | 1=接收方輸出故障安全值 |
RET_DPRD/ RET_DPWR | DPRD_DAT/DPWR_DAT的錯誤代碼 |
DIAG | 診斷信息 |
表2 SENDDP功能指令說明
注意:輸出變量中,除“RET_DPRD”,“RET_DPWR”和“DIAG”三個變量以外其它的變量都需要用故障安全的數據連接。
圖3-7 SENDDP中LADDR管腳
在S7-1500F側,同樣在“Main_Safety_RTG1”(FB1)中,新建F-DB,編寫接收和發送程序,如圖3-8。
圖3-8 1500F側發送/接收F-DB
參照S7-1200F側在“Main_Safety_RTG1”(FB1)中調用接收和發送程序,填寫LADDR參數,同時注意兩個PLC的發送和接收程序的DP_DP_ID參數之間的匹配關系。
圖3-9 1500F側RCVDP指令程序
圖3-10 1500側SENDDP指令調用
將兩個PLC的程序進行編譯,然后分別下載到PLC。
使用監控表監控測試結果,S7-1200F通過SENDDP指令將M100.0,M101.1 和MW102、MW104發送,S7-1500F通過SENDDP指令將M200.0,M200.1和MW202、MW204發送如圖3-11。
圖3-11 監控結果
-
模塊
+關注
關注
7文章
2695瀏覽量
47431 -
控制器
+關注
關注
112文章
16332瀏覽量
177806 -
cpu
+關注
關注
68文章
10854瀏覽量
211578
原文標題:TIA Portal中S7-1500F CPU和S7-1200F CPU實現安全相關控制器與智能設備通訊的配置例程
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論