西門子S7-200 SMART與G120變頻器進(jìn)行Modbus通訊的配置及調(diào)試方法
1.1 軟件
安裝 Step7 Micro/Win SMART software(含 Modbus協(xié)議庫(kù))的PC機(jī),本例中使用的是Step7 Micro-Win SMART V2.0。
1.2 硬件
G120配備CU240E-2控制單元的變頻器一臺(tái)、異步電機(jī)一臺(tái)、S7-200 SMART PLC 一臺(tái)、標(biāo)準(zhǔn)DRIVE-CLIQ電纜一根、雙絞屏蔽電纜一根。本例中,使用的G120的控制單元CU240E-2固件版本V4.6。
注意:在使用MicroWin software創(chuàng)建項(xiàng)目之前,確認(rèn)Modbus庫(kù)文件已經(jīng)存在。
圖1-1 S7-200 SMART 界面
2、硬件接線 2.1 CU240E-2控制單元接口CU240E-2控制單元端子排如圖2-1,RS485接口在控制單元的底部,共有5個(gè)接線端子,其中從左到右,2號(hào)端子為RS485P,3號(hào)端子為RS485N,這兩端子用于通信數(shù)據(jù)的發(fā)送和接收。
圖2-1 控制單元端子圖
2.2 G120 與S7-200 SMART接線
圖2-2 PLC和控制器接線圖
S7-200 SMART作為Modbus通信主站,其通信端口和變頻器從站的接線如圖 2-2。在通信網(wǎng)絡(luò)的首、末端需要使用終端電阻。對(duì)于S7-200 SMART,需要在通信端口端子 3和8之間連接一阻值為120歐姆的電阻。對(duì)于變頻器,把通 信網(wǎng)絡(luò)末端的CU240E-2終端電阻撥碼開(kāi)關(guān)撥到ON位置即可(位置在圖 2-1中,標(biāo)號(hào)⑨);中間位置的 CU240E-2,終端電阻撥碼開(kāi)關(guān)必須撥到OFF位置。本 例中,S7-200 SMART使用CPU自帶通信端口和變頻器進(jìn)行通信。
3、通信設(shè)置3.1 設(shè)置通訊接口
本例程使用PLC 以太網(wǎng)接口和 DRIVE-CLIQ 電纜,設(shè)置通信接口,如下圖3-1。
第一步:雙擊“通信”,彈出“通信”設(shè)置窗口;
第二步:選擇網(wǎng)絡(luò)接口卡,設(shè)置為“ICP/IP.AUTO.1”,系統(tǒng)會(huì)自動(dòng)收索CPU。
圖3-1 設(shè)置通信接口
3.2 建立PC和PLC之間的連接
選擇“網(wǎng)絡(luò)接口”后自動(dòng)搜索到CPU,如圖3-2。
第一步:搜索到 CPU 后,選擇搜索到的CPU,點(diǎn)擊CPU的”IP地址”。
第二步:點(diǎn)擊“ 確定 ” 按鈕,完成網(wǎng)絡(luò)連接。
圖3-2 建立S7-200 CPU和控制器連接
4、變頻器參數(shù)設(shè)置4.1 變頻器地址設(shè)置
變頻器的Modbus通信地址可以通過(guò)控制單元上的總線地址撥碼開(kāi)關(guān)進(jìn)行設(shè)置,如圖 4-1。 當(dāng)?shù)刂窊艽a開(kāi)關(guān)的位置都為OFF時(shí),也可用過(guò)參數(shù) P2021進(jìn)行設(shè)置。(說(shuō)明: 改變地址后需重新上電后才能生效)
圖 4-1 地址開(kāi)關(guān)設(shè)置
4.2 變頻器參數(shù)設(shè)置
對(duì)變頻器一些基本的通信參數(shù)進(jìn)行設(shè)置,才可以進(jìn)行Modbus通信,如表4-2所示:
表4-2 變頻器的參數(shù)設(shè)置
4.3 G120常用寄存器說(shuō)明
G120變頻器常用寄存器介紹,也是本例所使用的寄存器,如表4-3。要了解更多的 G120寄存器信息,請(qǐng)參見(jiàn)G120操作手冊(cè) 。
表4-3 常用寄存器說(shuō)明
5、PLC編程5.1 初始化程序
使用Modbus協(xié)議的初始化模塊MBUS_CTRL,初始化S7-200 SMART的CPU端口專用于Modbus主站通信,如圖 5-1。
圖 5-1 初始化
功能塊說(shuō)明:注:此處以及下文的“功能塊說(shuō)明”僅介紹了功能塊內(nèi)的主要管腳功能,未說(shuō) 明的管腳功能,請(qǐng)參考 Step7 Micro-Win SMART V2.0軟件的幫助文件。
EN使能: 必須保證每一掃描周期都被使能(使用SM0.0
Mode模式: 為1時(shí),使能Modbus協(xié)議功能;為0時(shí)恢復(fù)為系統(tǒng)PPI協(xié)議。Baud 波特率: 支持的通訊波特率為4800,9600,19200 ,此處設(shè)置 9600。 Parity 校驗(yàn): 校驗(yàn)方式選擇 (G120采用偶校驗(yàn))
0=無(wú)校驗(yàn)
1=奇較驗(yàn)
2=偶較驗(yàn)
Port端口:設(shè)置物理通信端口(0= CPU中集成的 RS-485,1= 可選 CM01信號(hào)板上的 RS-485或RS-232)。
TImeout超時(shí):主站等待從站響應(yīng)的時(shí)間,以毫秒為單位,典型的設(shè)置值為1000毫秒(1 秒),允許設(shè)置的范圍為 1-32767。注意:這個(gè)值必須設(shè)置足 夠大以保證從站有時(shí)間響應(yīng)。
Done完成位:初始化完成,此位會(huì)自動(dòng)置1。
Error:初始化錯(cuò)誤代碼。
5.2 主站讀寫功能塊
5.2.1 寫控制字
圖5-2 寫控制字
功能塊說(shuō)明:注:此處以及下文的“功能塊說(shuō)明”僅介紹了功能塊內(nèi)的主要管腳功能,未說(shuō) 明的管腳功能,請(qǐng)參考Step7 Micro-Win SMART V2.0軟件的幫助文件。
EN使能:同一時(shí)刻只能有一個(gè)讀寫功能(即 MBUS_MSG)使能。注意:G120對(duì)于寫指令同一時(shí)刻只運(yùn)行對(duì)一個(gè)保持寄存器操作;讀指令同一時(shí) 刻最大允許操作125個(gè)保持寄存器。
First讀寫請(qǐng)求位:每一個(gè)新的讀寫請(qǐng)求必須使用脈沖觸發(fā)。
Slave從站地址:可選擇的范圍1-247
RW請(qǐng)求方式: 0=讀,1=寫
Count數(shù)據(jù)個(gè)數(shù):通訊的數(shù)據(jù)個(gè)數(shù)(位或字的個(gè)數(shù))。注意:Modbus主站可讀/寫的最大數(shù)據(jù)量為120個(gè)字(是指每一個(gè)MBUS_MSG指令)。
DataPtr數(shù)據(jù)指針:
如果是讀指令,讀回的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中 ;
2. 如果是寫指令,寫出的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中 。
Done 完成位:讀寫功能完成位 。
Error錯(cuò)誤代碼: 只有在 Done位為1時(shí),錯(cuò)誤代碼才有效。
常用的控制字:
047E :運(yùn)行準(zhǔn)備
047F :正轉(zhuǎn)啟動(dòng)
0C7F :反轉(zhuǎn)啟動(dòng)
04FE :故障確認(rèn)
5.2.2 寫速度設(shè)定值
圖5-3 寫速度值
5.2.3 讀狀態(tài)字和速度實(shí)際值
圖5-4 讀狀態(tài)字1和速度實(shí)際值
5.2.4 讀取斜坡時(shí)間
圖5-5 讀參數(shù) P1120、P1121
5.2.5 寫斜坡下降時(shí)間
圖5-6 寫參數(shù) P1121
6、分配庫(kù)存儲(chǔ)區(qū)在編譯程序之前,首先要為Modbus庫(kù)分配可用的全局 V存儲(chǔ)器地址,如圖6-1所示。
第一步:選擇 “程序塊” -》“ 庫(kù)” 右鍵,選擇“庫(kù)存儲(chǔ)區(qū)”;
第二步:點(diǎn)擊 “建議地址”, 選擇 V存儲(chǔ)器的地址;
第三步:點(diǎn)擊 “確定”退出。
圖6-1 分配庫(kù)存儲(chǔ)區(qū)
7、調(diào)試程序程序編輯完成后,要調(diào)試程序,如下圖7-1所示。
第一步:點(diǎn)擊“保存“,保存好編輯的程序;
第二步:點(diǎn)擊“編譯“,編譯程序;
第三步:點(diǎn)擊“下載“,把程序下載到PLC的CPU當(dāng)中; 第四步:點(diǎn)擊“運(yùn)行“,啟動(dòng)程序。
圖7-1 調(diào)試程序
8、監(jiān)控狀態(tài)表通過(guò)監(jiān)控狀態(tài)表,可以修改過(guò)程數(shù)據(jù)和監(jiān)控過(guò)程數(shù)據(jù)的變化狀態(tài),如圖8-1所示。
圖8-1狀態(tài)表
控制字:VW100=16#047F 說(shuō)明啟動(dòng)命令已經(jīng)給了。
狀態(tài)字:VW300=16#EF37 說(shuō)明變頻器的狀態(tài),參見(jiàn) r0052。
主設(shè)定值:VW200=16#1000 說(shuō)明速度設(shè)定值已經(jīng)給了,16#0-4000對(duì)應(yīng)轉(zhuǎn)速 0-P2000的值。
速度實(shí)際值:VW302=16#1000 說(shuō)明電機(jī)實(shí)際轉(zhuǎn)速已經(jīng)運(yùn)行到 375rpm。 斜坡上升時(shí)間:VW400=1000,從寄存器列表中可以看到 40322的寄存器的定 標(biāo)系數(shù)是 100,所以參數(shù) P1120=1000/100=10。
斜坡下降時(shí)間:VW402=2000,讀的下降時(shí)間;VW500=2000,設(shè)定的下降時(shí) 間;VW402=VW500,說(shuō)明寫指令已經(jīng)生效。從寄存器列表中可以看到 40323 的寄存器的定標(biāo)系數(shù)是 100,所以參數(shù) P1121=2000/100=20。
9、Modbus錯(cuò)誤代碼Done完成位:Modbus功能塊的完成位,用于確定功能塊的操作是否完成;
Error 錯(cuò)誤代碼:只有在Done位為1時(shí),錯(cuò)誤代碼才有效。Modbus錯(cuò)誤代碼及含義如表 9-1所示。