發(fā)布時(shí)間:2019-08-24 來(lái)源:眾智博遠(yuǎn)
一、PROFINET IO / RT通訊功能概述
CPU319-3 PN/DP與SINAMICS S120 之間通過(guò)PROFINET IO / RT可進(jìn)行周期性及非周期性數(shù)據(jù)通訊。使用標(biāo)準(zhǔn)S7功能塊SFC14/SFC15,S7-300/400PLC通過(guò)PROFINET周期性通訊方式可將控制字1(CTW1)和主設(shè)定值(NSETP_B)發(fā)送至驅(qū)動(dòng)器;使用標(biāo)準(zhǔn)S7功能塊SFB52 / SFB53,可以實(shí)現(xiàn)非周期性數(shù)據(jù)交換,讀取或?qū)懭腧?qū)動(dòng)器的參數(shù)。
二、S7-300/400與S120裝置的連接
1.硬件連接
圖 1.
(1). 通過(guò)PROFINET IO / RT 連接 SIMATIC CPU 319-3 PN/DP 及 CU310PN.
2.硬件:
3、使用的軟件
? STEP7 V5.4 SP2 HF3
? SCOUT V4.1 SP1
? STARTER V4.1 SP1
? S120 V2.5 SP1 HF1
? GSD V2.1文件:gsdml-v2.1-siemens-sinamics-s-cu3x0-20070726.xml
在CF 卡中的路徑: SIEMENSSINAMICSDATACFGCBE20GSD.ZIP
4、通訊概覽
Net Pro通訊配置
圖 2.
IP 地址及通訊名稱(chēng):
Device | Communication name | IP address |
CPU319-3 PN/DP | PN-IO | 192.168.0.1 |
CU310PN | CU310PN | 192.168.0.2 |
PG | 192.168.0.253 |
注意:所有節(jié)點(diǎn)的子網(wǎng)掩碼:255.255.255.0。
三、條件
1. PROFINET IO 條件
在本例中對(duì)于使用的軟件版本,還應(yīng)滿足下列條件:
應(yīng)用例程的發(fā)送時(shí)鐘為 1 ms。更新時(shí)間應(yīng)設(shè)為 2n ms,此值可允許的范圍為:
1 ms 至 512 ms。
四、項(xiàng)目配置
1、 Drive
2、硬件組態(tài)
(1)安裝SINAMCIS S120 CU310PN 的GSD文件
對(duì)于PROFIBUS DP 及 PROFINET IO 需要的所有 GSD 文件存在S120的CF卡中,將這些文件拷貝至本地硬盤(pán)并解壓縮。
在硬件配置中選擇“Options => Install GSD file"
圖 3.
GSD V2.1 (gsdml-v2.1-siemens-sinamics-s-cu3x0-yyyymmdd.xml) 可被安裝。
GSD文件安裝后,設(shè)備會(huì)出現(xiàn)在硬件組態(tài)的如下目錄中:
"PROFINET IO => Drives => SINAMICS => GSD => SINAMICS S120 CU310PN from 2.5"。
注意:
? GSD 子文件夾只有在安裝DriveES 或 SIMOTION SCOUT后才有用。否則 GSD設(shè)備可直接在SINAMICS 文件夾中被找到。
? 如果安裝了 DriveES Basic / Simatic 或 SIMOTION SCOUT,則不必安裝 GSD 文件。
(2)對(duì)于CPU319建立PROFINET網(wǎng)絡(luò)
圖 4.
在插入CPU319-3PN/DP時(shí)會(huì)彈出建立PROFINET網(wǎng)絡(luò)的窗口,在此新建一個(gè)PROFINET網(wǎng)絡(luò)并設(shè)置此PLC PN節(jié)點(diǎn)的IP地址及子網(wǎng)掩碼。
(3)將CP310PN拖曳至PROFINET總線上(若安裝GSD文件)
圖 5.
將CP310PN拖曳至PROFINET總線上(若安裝Drive ES)
圖 6.
(4)雙擊310PN,打開(kāi)其屬性窗口
分配其設(shè)備名稱(chēng)及IP地址,此處選擇“Assign IP address via IO controler”。
圖 7.
(5)分配310PN控制的驅(qū)動(dòng)及IO報(bào)文
圖 8.
(6)在"IO Cycle"中設(shè)置數(shù)據(jù)處理及響應(yīng)監(jiān)控的更新時(shí)間
圖 9.
3、初始化通訊節(jié)點(diǎn)
在硬件組態(tài)畫(huà)面中,點(diǎn)擊 "PLC =>Ethernet => Edit Ethernet nodes",在打開(kāi)的畫(huà)面中網(wǎng)絡(luò)可被瀏覽,通過(guò)此畫(huà)面配置310PN的設(shè)備名稱(chēng)及IP地址。
圖 10.
五、使用STARTER / SCOUT調(diào)試
在 SIMATIC Manager 中鼠標(biāo)右鍵點(diǎn)擊SINAMICS_CU310_PN ,選擇“open object”,可通過(guò)STARTER/SCOUT調(diào)試工具將CU310_PN 項(xiàng)目打開(kāi)。
圖 10.
可通過(guò)使用"Automatic configuration"對(duì)驅(qū)動(dòng)裝置在線進(jìn)行自動(dòng)配置。配置結(jié)束后通過(guò)"Copy RAM to ROM"將參數(shù)存貯至CF卡中。
本例中:
? 驅(qū)動(dòng)裝置選擇報(bào)文“telegram 1 ”。
? CU單元選擇報(bào)文“telegram 390。
圖 11.
CU參數(shù)化:
鼠標(biāo)右鍵點(diǎn)擊"CU_S_126" ,選擇"Expert => Expert list"打開(kāi)專(zhuān)家參數(shù)列表,可改變下列參數(shù):
? P728.8 = output: DI/DO 8 可用于數(shù)字量輸出 (如果p922=390,自動(dòng)設(shè)置
p738=2091.0)。
? P922: PROFIBUS PZD SIEMENS telegram 390 (390)。
? p2104 BI: 2. Acknowledge faults SERVO_02 : r2090.7。
六、通過(guò)PN總線對(duì)電機(jī)起、停及速度控制
S7-300/400PLC通過(guò)PROFINET周期性通訊方式將控制字1(CTW1)和主設(shè)定值(NSETP_B)發(fā)送至驅(qū)動(dòng)器。
(1) 控制字中Bit0做電機(jī)的起、停控制。
(2) 主設(shè)定值為速度設(shè)定值,頻率設(shè)定值和實(shí)際值要經(jīng)過(guò)標(biāo)準(zhǔn)化,使得4000H(十六進(jìn)制)對(duì)應(yīng)于百分之100,發(fā)送的高頻率(大值)為7FFFH(百分之200)。可以在P2000中修改參考頻率(缺省值為50Hz)。
(3) 當(dāng)組態(tài)的報(bào)文結(jié)構(gòu) PZD=2或自由報(bào)文999時(shí),在S7-300/400 中可用“MOVE”指令進(jìn)行數(shù)據(jù)傳送;當(dāng)組態(tài)的報(bào)文結(jié)構(gòu) PZD〉2,在S7-300/400 中需調(diào)用SFC14和SFC15系統(tǒng)功能塊。
? SFC14(“DPRD_DAT”)用于讀驅(qū)動(dòng)裝置的過(guò)程數(shù)據(jù)。
? SFC15(“DPWR_DAT”)用于將過(guò)程數(shù)據(jù)寫(xiě)入驅(qū)動(dòng)裝置。
例子:SERVO_02 ”控制字、主設(shè)定值的發(fā)送及狀態(tài)字、實(shí)際頻率的讀取程序
(1) 控制驅(qū)動(dòng)器運(yùn)行:
通過(guò)先發(fā)送控制字(STW1)047E然后發(fā)送047F來(lái)啟動(dòng)驅(qū)動(dòng)器,該數(shù)據(jù)控制字在DB10.DBW4(見(jiàn)圖13)中指定,主設(shè)定值在DB10.DBD6中設(shè)定,運(yùn)行信號(hào)為M1.0。這些值均通過(guò)變量表“Drive_Run”設(shè)定及監(jiān)控。控制程序見(jiàn)圖12。
(2)停止驅(qū)動(dòng)器:
應(yīng)發(fā)送控制字047E至驅(qū)動(dòng)器。
(3)讀取驅(qū)動(dòng)器狀態(tài)字及頻率實(shí)際值:
PLC接收狀態(tài)字1(ZSW1),存放在DB10.DBW0中;接收驅(qū)動(dòng)器傳來(lái)的頻率實(shí)際值,存放在DB10.DBW2中。
圖12. 控制程序
圖13. DB10
七、驅(qū)動(dòng)器參數(shù)的讀取及寫(xiě)入
1.擴(kuò)展PROFIDRIVE功能(DPV1)
非周期性數(shù)據(jù)傳送模式允許:
? 交換大量的用戶數(shù)據(jù)
? 用DPV1的功能 READ 和 WRITE可以實(shí)現(xiàn)非周期性數(shù)據(jù)交換。傳輸數(shù)
據(jù)塊的內(nèi)容應(yīng)遵照 PROFIdrive參數(shù)通道(DPV1)數(shù)據(jù)集DS47(非周期參
數(shù)通道結(jié)構(gòu))。
2. 參數(shù)請(qǐng)求及參數(shù)應(yīng)答的結(jié)構(gòu)
參數(shù)請(qǐng)求包括三部分:請(qǐng)求標(biāo)題、參數(shù)地址及參數(shù)值。
表2.參數(shù)請(qǐng)求格式
表3.參數(shù)應(yīng)答格式
表4.參數(shù)請(qǐng)求及應(yīng)答描述
表5.在DPV1參數(shù)應(yīng)答中的錯(cuò)誤值描述
3. S7-300/400PLC通過(guò)PROFINET非周期性通訊方式讀取驅(qū)動(dòng)器參數(shù)。
請(qǐng)注意:PLC讀取驅(qū)動(dòng)器參數(shù)時(shí)使用兩個(gè)功能塊SFB52 / SFB53 (程序參見(jiàn)圖14)
舉例如下:
(1) 使用標(biāo)志位M10.0及功能塊SFB53將讀請(qǐng)求(數(shù)據(jù)集RECORD DB1)(圖15)發(fā)送至驅(qū)動(dòng)器。
將M10.0設(shè)定為數(shù)值1啟動(dòng)讀請(qǐng)求,當(dāng)讀請(qǐng)求完成后將該請(qǐng)求置0,結(jié)束該請(qǐng)求。ERROR = 1: 表示執(zhí)行此功能塊時(shí)有錯(cuò)誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯(cuò)誤信息。
(2) 使用標(biāo)志位M10.2及功能塊SFB52讀取參數(shù)的請(qǐng)求響應(yīng)(響應(yīng)塊DB2)(參見(jiàn)圖16) 。
將M10.2設(shè)定為數(shù)值1讀取參數(shù)請(qǐng)求響應(yīng),完成后將該位置0,結(jié)束該請(qǐng)求。ERROR = 1: 表示執(zhí)行此功能塊時(shí)有錯(cuò)誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯(cuò)誤信息。
圖14. 讀取驅(qū)動(dòng)器參數(shù)程序
圖15. “寫(xiě)”請(qǐng)求數(shù)據(jù)塊DB1
圖16. 驅(qū)動(dòng)器返回參數(shù)值數(shù)據(jù)塊DB2
4. S7-300/400PLC通過(guò)PROFINET非周期性通訊方式修改驅(qū)動(dòng)器參數(shù)P1217。
舉例如下:
PLC寫(xiě)參數(shù)時(shí)只需使用SFB53,在本項(xiàng)目的Network 4中發(fā)送寫(xiě)請(qǐng)求DB101 (參見(jiàn)圖18) 到驅(qū)動(dòng)器; PLC讀“寫(xiě)參數(shù)”響應(yīng)時(shí)需使用SFB52,在本項(xiàng)目中讀取驅(qū)動(dòng)器返回的參數(shù)值數(shù)據(jù)塊為DB102 (參見(jiàn)圖19) 。程序參見(jiàn)圖17。
(1) 將M11.0設(shè)定為數(shù)值1啟動(dòng)寫(xiě)請(qǐng)求,當(dāng)寫(xiě)請(qǐng)求完成后將該請(qǐng)求置0,結(jié)束該請(qǐng)求。ERROR = 1: 表示執(zhí)行此功能塊時(shí)有錯(cuò)誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯(cuò)誤信息。
(2) 將M11.2設(shè)定為數(shù)值1讀請(qǐng)求,完成后將該請(qǐng)求置0,結(jié)束該請(qǐng)求。ERROR = 1: 表示執(zhí)行此功能塊時(shí)有錯(cuò)誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯(cuò)誤信息。
圖17. 寫(xiě)入驅(qū)動(dòng)器參數(shù)程序
圖18. 寫(xiě)請(qǐng)求DB101
圖19. 驅(qū)動(dòng)器返回的數(shù)據(jù)塊DB102