1. cp342-5 作主站與fc1(dp_send), fc2(dp_recv)的應用
cp342-5 是s7-300 系列的profibus 通訊模塊, 帶有profibus 接口, 可以作為profibus-dp 的主站也可以作為從站, 但不能同時作主站和從站, 而且只能在s7-300 的中央機架上使用, 不能放在分布式從站上使用。由于s7-300 系統(tǒng)的i 區(qū)和q 區(qū)有限,通訊時會有些限制;而用cp342-5 作為dp 主站和從站不一樣,它對應的通訊接口區(qū)不是i 區(qū)和q 區(qū),而是虛擬通訊區(qū),需要調用fc1 和fc2 建立接口區(qū),下面以例子來介紹cp342-5 作為主站的使用方法。
2.所需硬件和軟件
軟件: step 7 v5.2
硬件:
1.profibus-dp 主站帶cp342-5 的s7-300 cpu315-2dp
2.從站選用et200m
3.mpi 網(wǎng)卡cp5611
4.profibus 電纜及接頭
3. 網(wǎng)絡配置圖
帶cp342-5 的s7 cpu315-2dp 的網(wǎng)絡配置圖如下圖所示:
cp342-5 et200m
此組態(tài)實例是選用cp342-5 接口作為主站和et200 m 組成profibus 網(wǎng)絡。首先,將cp342-5 插在s7-300 的中央機架上,用一條profibus 總線將cp342-5 和et200m 相連接。
4. 組態(tài)
打開simatic manager 軟件,在file 菜單下選擇new 新建一個項目,在name 欄中輸入項目名稱,將其命名為“cp342-5_master ”,在下方的storage location 中設置其存儲位置,如下圖:
在項目窗口的左側選中該項目,按右鍵在彈出的下拉菜單中選擇insert new object 和simatic 300 station 插入一個s7-300 站,則插入的s7-300 站即顯示在右側的窗口。
雙擊simatic 300 station 目錄下的hardware 圖標,打開hw configuration 進行硬件組態(tài)。在hw configuration 主界面的右側按實際硬件安裝順序完成系統(tǒng)硬件組態(tài)。在菜單欄中選擇“view”菜單,并在下拉菜單中選擇“catalog”打開硬件目錄;在左側目錄中打開simatic 300 文件夾,在rack-300 下選擇一個機架,把選用的機架拖到屏幕的左上方。同時在2 號槽和4 號槽分別插入cpu 和 cp342-5 模塊。在配置cpu 時,會自動彈出一個對話框,此時不用做任何設置,直接點擊ok 即可。由于在該實例中,將cp342-5 作為主站,配置cp342-5 網(wǎng)絡設置時,先新建一條profibus 網(wǎng)絡,然后組態(tài)profibus 屬性如下圖:
本例中選擇傳輸速率為“1.5mbps”和“dp”行規(guī),無中繼器和obt 等網(wǎng)絡元件,點擊“ok”按鈕確認。然后定義cp342-5 的站地址,本例中為2 號站,加入cp 后,雙擊該欄,在彈出的對話框中,選擇“operating mode”標簽,選擇“dp master”模式,如下圖:
點擊“ok”按鈕確認主站組態(tài)完成。組態(tài)從站:在hw configuration 主界面中,在右圖中選擇profibus dp ® dp v0 slaves ® et200m 如下圖所示,并為其配置2 個字節(jié)個輸入和2 個字節(jié)輸出點,輸入輸出點的地址從0 開始,是虛擬地址映射區(qū),而不占用i 區(qū)和q 區(qū),虛擬地址的輸入?yún)^(qū)在主站上要調用fc1 (dp_send) 與之一一對應,虛擬地址的輸出區(qū)在主站上要調用fc2 (dp_recv) 與之一一對應,如果修改cp342-5 的從站開始地址,如輸入輸出從地址2 開始,相應的fc1 和fc2 對應的地址區(qū)也要相應偏移2 個字節(jié)。組態(tài)完成后下載到cpu 中,如果沒有調用fc1,fc2, cp342-5 profibus 的狀態(tài)等“busf”將閃爍,在ob1 中調用fc1,fc2 后通訊將建立。配置多個從站虛擬地址區(qū)將順延。
5. 編程
在ob1 中調用fc1 和fc2,fc1 和fc2 的位置如右圖,具體程序如下:
參數(shù)含義:
cpladdr:cp342-5 的地址。
send :發(fā)送區(qū),對應從站的輸出區(qū)。
recv:接收區(qū),對應從站的輸入?yún)^(qū)。
done:發(fā)送完成一次產(chǎn)生一個脈沖。
ndr: 接收完成一次產(chǎn)生一個脈沖。
error:錯誤位。
status:調用fc1,fc2 時產(chǎn)生的狀態(tài)字。
dpstatus:profibus-dp 的狀態(tài)字節(jié)。
從上面我們可以看出,mb20,mb21 對應從站輸出的第一個字節(jié)和第二個字節(jié),mb22,mb23 對應從站輸入的第一個字節(jié)和第二個字節(jié)。連接多個從站時,虛擬地址將向后延續(xù)和擴大,調用fc1,fc2 只考慮虛擬地址的長度,而不會考慮各個從站的站號。如果虛擬地址的開始地址不為0,那么調用fc 的長度也將會增加,假設:虛擬地址的輸入?yún)^(qū)開始為4,長度為10 個字節(jié),那么對應的接收區(qū)偏移4 個字節(jié)相應長度為14 個字節(jié),接收區(qū)的第5 個字節(jié)對應從站輸入的第一個字節(jié),如接收區(qū)為 p#m0.0 byte 14 ,mb0~mb13,偏移4 個字節(jié)后,mb4~mb13 與從站虛擬輸入?yún)^(qū)一一對應。編完程序下載到cpu 中,通訊區(qū)建立后,profibus 的狀態(tài)燈將不會閃爍,例子程序參見光盤“ profibus ” 目錄下的項目名“ cp342-5_master”。
注意:
使用cp342-5 作為主站時,因為本身數(shù)據(jù)是打包發(fā)送,不需要調用sfc14, sfc15,由于cp342-5 尋址的方式是通過fc1,fc2 的調用訪問從站地址,而不是直接訪問i/q 區(qū),所以在et200m 上不能插入智能模塊,如:fm350-1、fm352 等項,所有從站的ti to 時間保持一致。