一、準(zhǔn)備工具及材料
1.臺式電腦一臺,筆記本電腦一臺;
2.西門子plc S7-200smart PLC一臺,
3.多功能電表DW9L-RC38或DS9L或DS7L一臺,溫控表TE系列一臺,
4.儀表說明書及通訊協(xié)議,
5.9針接口通訊線一根,
6.USB轉(zhuǎn)RS485轉(zhuǎn)換器一臺,
7.電源線,網(wǎng)線、網(wǎng)絡(luò)交換機等。
二、軟件安裝
軟件名稱:STEP 7-MicroWIN SMART,可從西門子網(wǎng)站下載。
三、梯形圖編程
1.主要編程思路
PLC使用自帶的RS485接口與儀表進(jìn)行通信連接,PLC作為主站,儀表為從站,使用標(biāo)準(zhǔn)Modbus-RTU通訊協(xié)議。調(diào)用編程軟件自帶的Modbus協(xié)議庫,實現(xiàn)與儀表的數(shù)據(jù)通信。
2.MBUS_CTRL 和 MBUS_MSG 指令介紹
本示例使用單個主站及 MBUS_CTRL 和 MBUS_MSG 指令。同一理念對使用第二個主站及 MB_CTRL2 和 MB_MSG2 指令的示例同樣適用。
3.電力儀表通信協(xié)議:
4.梯形圖編程
(1)設(shè)置PLC型號
(2)設(shè)置庫存儲器的地址分配(系統(tǒng)已分配VB0~VB285用于modbus通信使用,我們就從VB286開始)
(3)編輯符號表
(4)編輯狀態(tài)圖表
(5)編制第一、二段:置位標(biāo)志位及通訊初始化:波特率Baud=9600,Parity=0無校驗,Port=0集成CPU內(nèi)RS485口,Timeout從站響應(yīng)超時50ms。Done初始化完成返回"TURE",Error輸出錯誤結(jié)果。
(6)程序3-4:當(dāng)MBUS_CTRL初始化完成后,M0.0 從關(guān)閉變?yōu)榻油〞r,延時T33=10mS時間后,置位第一條 MBUS_MSG 指令的啟用標(biāo)志 (M2.0)=1。
(7)程序5:讀第一臺從機設(shè)備,地址1,型號DW9L或DS9L或DS7L。當(dāng)?shù)谝粋啟用標(biāo)志 (M2.0) 接通后,調(diào)用 MBUS_MSG 指令。只需為啟用該指令的第一次掃描設(shè)置 First 參數(shù)。該指令會對從站(Slave =1)的 12個保持寄存器執(zhí)行讀取 (RW = 0) 操作。
Modbus 主站對 Modbus 從站的12個保持寄存器執(zhí)行讀操作(A、B、C相電壓值)。
PLC 會從儀表地址為 416385 (0x4000)開始的保持寄存器中讀取到CPU內(nèi)部,并保存在以VB300 開始的12個字節(jié) V 存儲器中。
讀0x4000開始的A相電壓值,需將0x4000轉(zhuǎn)換為十進(jìn)制數(shù)0x4000→16384,再用400001+16384=416385。
讀取的數(shù)據(jù)存放在 CPU 中的 VB300-VB311中;VB300,301,302,303對應(yīng)A相電壓;VB304,305,306,307對應(yīng)B相電壓;VB308,309,310,311對應(yīng)C相電壓。因為電壓值是雙字節(jié)存放,所以用VD300地址讀取A相電壓,VD304地址讀取B相電壓,VD308地址讀取C相電壓。
M0.4為啟動輪詢,將通信設(shè)備進(jìn)行反復(fù)讀寫操作。
(8)程序6:第一條 MBUS_MSG 指令完成后("完成"(Done) 位從 0 變?yōu)?1),會清除第一條 MBUS_MSG 指令的啟用標(biāo)志,然后設(shè)置第二條 MBUS_MSG 指令的啟用標(biāo)志。
(9)程序7:第二次輪詢,讀電能值參數(shù):讀第一臺設(shè)備的頻率參數(shù)。第二個啟用標(biāo)志 (M2.1) 接通時,調(diào)用第二條 MBUS_MSG 指令。只需為啟用該指令的第一次掃描設(shè)置 First 參數(shù)。該指令會對從站 1 的 2 個保持寄存器執(zhí)行讀取 (RW = 0) 操作。數(shù)據(jù)從 Modbus 從站中的地址 416437(0x4034)讀取,并復(fù)制到 CPU 中的 VB400 - VB403(4 個字節(jié)VD400)。
(10)程序8-9:第二次讀數(shù)據(jù)輪詢結(jié)束,復(fù)位相關(guān)參數(shù)。
(11)程序10-11:輪詢讀第二臺設(shè)備,讀從機地址2的溫控表測量值參數(shù)。 MBUS_MSG 指令完成("完成"(Done) 位從 0 變?yōu)?1)后,清除 MBUS_MSG 指令的啟用標(biāo)志。
(12)將VW406中的值寫入溫控表SV設(shè)定值中。
四、編譯及程序下載
五、在線測試
六、串口監(jiān)控:在電腦上用USB轉(zhuǎn)RS485轉(zhuǎn)換器連接到RS485接線端上,監(jiān)控PLC與儀表的通信收發(fā)報文: