1 概述
與在標(biāo)準(zhǔn)系統(tǒng)中一樣,在s7 分布式安全系統(tǒng)中具有profibus 接口的安全cpu 之間可以進(jìn)行安全相關(guān)的通信。通信通過兩個(gè)安全應(yīng)用程序塊進(jìn)行,即f_senddp 塊用于發(fā)送數(shù)據(jù),而f_rcvdp 塊用于接收數(shù)據(jù)。這些塊由用戶在f-cpu 相應(yīng)的安全程序中調(diào)用,可用于固定數(shù)量的bool 和int 類型的數(shù)據(jù)進(jìn)行安全傳送。
2 安全相關(guān)的dp主站與智能從站通信
在本例程中,將cpu 319f-3pn/dp作為dp 主站,cpu 315f-2pndp 作為智能 dp 從站設(shè)備。通過兩個(gè)cpu的集成dp口進(jìn)行安全相關(guān)的通信。
2.1 示例所使用的軟硬件環(huán)境
· step7 v5.5 sp2
· step7 distributed safety v5.4 sp5
· cpu319f-3pn/dp v3.2 訂貨號(hào)6es7 318-3fl01-0ab0
· cpu315f-2pn/dp v2.6訂貨號(hào)6es7 315-2fh13-0ab0
測(cè)試目的:對(duì)于dp 主站和智能dp從站設(shè)備的f-cpu之間的安全相關(guān)的通訊,使用f應(yīng)用程序塊fb223“f_senddp”進(jìn)行發(fā)送,用fb224“f_rcvdp”進(jìn)行接收。使用它們以安全方式一次傳送16個(gè)bool型數(shù)據(jù)和2個(gè)int型數(shù)據(jù)。要注意的是必須在安全程序開始時(shí)調(diào)用f_rcvdp,f_senddp必須在安全程序結(jié)束時(shí)調(diào)用 cpu319f傳輸類型cpu315f
16 bool
2 int16 bool
2 int
2.2 硬件配置
1) 點(diǎn)擊“新建項(xiàng)目”輸入項(xiàng)目名稱,設(shè)置項(xiàng)目文件存儲(chǔ)路徑;點(diǎn)擊”確定“,完成項(xiàng)目創(chuàng)建,如圖2-1
圖 2-1 創(chuàng)建項(xiàng)目
2) 插入 s7-300 站,將名字修改為:cpu315f-2pndp-i-device。如圖2-2
圖 2-2 插入站
3) 雙擊硬件組態(tài)配置界面,從右側(cè)側(cè)產(chǎn)品列表中找到cpu315f-2pndp,拖入到項(xiàng)目中。如圖2-3
圖 2-3 硬件組態(tài)
4) 設(shè)置ip地址及工來以太網(wǎng)網(wǎng)絡(luò)(通過以太網(wǎng)編程下載),如圖2-4
圖 2-4 分配ip地址及網(wǎng)絡(luò)
5) 分配 dp 地址及網(wǎng)絡(luò),如圖2-5
圖 2-5 設(shè)置dp
6) 工作模式:dp從站 注意:此時(shí)無f 組態(tài)頁面,如圖2-6
圖 2-6 設(shè)置dp從站
7) 在設(shè)置cpu保護(hù)等級(jí)和激活安全程序選項(xiàng),之后打開 f 參數(shù)頁面,根據(jù)提示安全程序密碼,本例中密碼為:1111。如圖2-7
圖 2-7 激活安全程序
8) 設(shè)置安全程序密碼,如圖2-8
圖 2-8 設(shè)置安全程序密碼
9) cpu319f-3pn/dp 的配置過程類似前6步驟,區(qū)別在在dp 的工作模式要設(shè)置為dp主站,如圖2-9
圖 2-9 主站配置
10) 添加 dp 智能從站,如圖2-10
圖 2-10 添加dp從站
11) 雙擊dp從站后,進(jìn)入dp從站屬性頁面,選擇“連接”頁面,點(diǎn)擊“連接”,然后點(diǎn)擊確定。如圖2-11
圖2-11 連接dp從站
12) 再次雙擊打開 dp從站,出現(xiàn)“ f 組態(tài)”頁面。點(diǎn)擊“new”添加組態(tài)數(shù)據(jù),如圖2-12
圖 2-12 設(shè)置f組態(tài)數(shù)據(jù)
13) 設(shè)置ms組態(tài)數(shù)據(jù):mode:選擇通訊類型,f-ms-s:從站發(fā)送主站接收。address:分別設(shè)置主站與從站接口地址,編寫時(shí)需要使用最后點(diǎn)擊 ok或apply以同樣方法添加 f-ms-r:從站接收主站發(fā)送,如圖2-13
圖 2-13 設(shè)置參數(shù)
14) 添加成功后數(shù)據(jù)圖示,點(diǎn)擊“確定”,如圖2-14
f-ms-r:從站接收主站發(fā)送
f-ms-s:從站發(fā)送主站接收
圖2-14 添加數(shù)據(jù)后結(jié)果
15) 點(diǎn)擊“保存和編譯”。編譯時(shí)需要輸入安全程序密碼。此例密碼為:1111,如圖2-15
圖 2-15 保存和編譯
16) 在將編譯沒有錯(cuò)誤的程序,下載到plc,如圖2-16
圖 2-16 下載
2.3 通訊編程及測(cè)試
1) 在插入“ f-fc”或f-fb。右鍵選擇插入新對(duì)象—》功能或功能塊或數(shù)據(jù)塊,如圖2-17
圖 2-17 插入 f-fc
2) 在f-fc 功能設(shè)置頁面。創(chuàng)建語言選擇:f-lad,點(diǎn)擊“確定”,如圖2-18
圖 2-18 選擇編程語言 f-lad
3) 調(diào)用 fb224 數(shù)據(jù)接收功能塊。照?qǐng)D填寫。注意:f程序,必須先接收,再發(fā)送,即網(wǎng)絡(luò)1為接收功能塊,如圖2-19
圖 2-19 接收塊程序
fb 224說明
輸入?yún)?shù)
ack_rei:1=發(fā)生通信錯(cuò)誤后,對(duì)發(fā)送數(shù)據(jù)的重新集成確認(rèn)
subbo_00 -subbo_15用于接收bool數(shù)據(jù)的安全值
subi_00 — subi_01用于接收int數(shù)據(jù)的安全值
dp_dp_id唯一的f_senddp和f_rcvdp之間的關(guān)聯(lián)值,確認(rèn)發(fā)送和接收的對(duì)應(yīng)關(guān)系
timeout安全相關(guān)的通訊的監(jiān)視時(shí)間
laddr接收地址區(qū)的起始地址,示例中是256
輸出參數(shù)
error:1=通信出錯(cuò)
subs_on1=使用替代值
ack_req:1=需要對(duì)發(fā)送數(shù)據(jù)的重新集成進(jìn)行確認(rèn)
sendmode1= 具有f_senddp的f-cpu處于取消激活的安全模式中
rd_bo_00-rd_bo_15接收的bool數(shù)據(jù)
rd_i_00 — rd_i_01接收的int數(shù)據(jù)
retval14/ retval15sfc14/15的錯(cuò)誤代碼
diag診斷信息
4) 調(diào)用 fb223 數(shù)據(jù)發(fā)送功能塊。照?qǐng)D填寫。注意:f程序,必須先接收,再發(fā)送,即網(wǎng)絡(luò)1為接收功能塊,如圖2-20
圖2-20 發(fā)送塊程序
fb223 功能說明 輸入?yún)?shù)
sd_bo_00 —sd_bo_15用于接收bool數(shù)據(jù)的安全值
sd_i_00 — sd_i_01用于接收int數(shù)據(jù)的安全值
dp_dp_id唯一的f_senddp</