AV网站大全中文字幕亚洲无码,成人AV无码精品日韩AV,日韩人妻无码不卡一区二区三区免费观看全集,亚洲性爱AV二区_曰本妓女二区_视频一区日韩资源_亚洲AA级无毛性爱专区

與西門子PLC實(shí)現(xiàn)Modbus-RTU通信實(shí)例

發(fā)布時(shí)間:2019-5-27    查看:11213

一、準(zhǔn)備工具及材料

1.臺(tái)式電腦一臺(tái),筆記本電腦一臺(tái);

2.西門子200smart PLC一臺(tái),

3.多功能電表DW9L-RC38DS9LDS7L一臺(tái),溫控表TE系列一臺(tái),

4.儀表說明書及通訊協(xié)議,

5.9針接口通訊線一根,

6.USB轉(zhuǎn)RS485轉(zhuǎn)換器一臺(tái),

7.電源線,網(wǎng)線、網(wǎng)絡(luò)交換機(jī)等。


二、軟件安裝

軟件名稱:STEP 7-MicroWIN SMART,可從西門子網(wǎng)站下載。

三、梯形圖編程

1.主要編程思路

       PLC使用自帶的RS485接口與儀表進(jìn)行通信連接,PLC作為主站,儀表為從站,使用標(biāo)準(zhǔn)Modbus-RTU通訊協(xié)議。調(diào)用編程軟件自帶的Modbus協(xié)議庫,實(shí)現(xiàn)與儀表的數(shù)據(jù)通信。

2MBUS_CTRL MBUS_MSG 指令介紹

       本示例使用單個(gè)主站及 MBUS_CTRL MBUS_MSG 指令。同一理念對(duì)使用第二個(gè)主站及 MB_CTRL2 MB_MSG2 指令的示例同樣適用。

 

3.電力儀表通信協(xié)議:

4.梯形圖編程

(1)設(shè)置PLC型號(hào)



(2)設(shè)置庫存儲(chǔ)器的地址分配(系統(tǒng)已分配VB0~VB285用于modbus通信使用,我們就從VB286開始)


(3)編輯符號(hào)表


(4)編輯狀態(tài)圖表


(5)編制第一、二段:置位標(biāo)志位及通訊初始化:波特率Baud=9600,Parity=0無校驗(yàn),Port=0集成CPU內(nèi)RS485口,Timeout從站響應(yīng)超時(shí)50msDone初始化完成返回"TURE",Error輸出錯(cuò)誤結(jié)果。



(6)程序3-4:當(dāng)MBUS_CTRL初始化完成后,M0.0 從關(guān)閉變?yōu)榻油〞r(shí),延時(shí)T33=10mS時(shí)間后,置位第一條 MBUS_MSG 指令的啟用標(biāo)志 (M2.0)=1。


(7)程序5讀第一臺(tái)從機(jī)設(shè)備,地址1,型號(hào)DW9LDS9LDS7L。當(dāng)?shù)谝粋€(gè)啟用標(biāo)志 (M2.0) 接通后,調(diào)用 MBUS_MSG 指令。只需為啟用該指令的第一次掃描設(shè)置 First 參數(shù)。該指令會(huì)對(duì)從站(Slave =1) 的 12個(gè)保持寄存器執(zhí)行讀取 (RW = 0) 操作。

      Modbus 主站對(duì) Modbus 從站的12個(gè)保持寄存器執(zhí)行讀操作(AB、C相電壓值)。

       PLC 會(huì)從儀表地址為 416385 0x4000)開始的保持寄存器中讀取到CPU內(nèi)部,并保存在以VB300 開始的12個(gè)字節(jié) V 存儲(chǔ)器中。

        讀0x4000開始的A相電壓值,需將0x4000轉(zhuǎn)換為十進(jìn)制數(shù)0x4000→16384,再用400001+16384=416385。

       讀取的數(shù)據(jù)存放在 CPU 中的 VB300-VB311中;VB300,301,302,303對(duì)應(yīng)A相電壓;VB304,305,306307對(duì)應(yīng)B相電壓;VB308,309310,311對(duì)應(yīng)C相電壓。因?yàn)殡妷褐凳请p字節(jié)存放,所以用VD300地址讀取A相電壓,VD304地址讀取B相電壓,VD308地址讀取C相電壓。


M0.4為啟動(dòng)輪詢,將通信設(shè)備進(jìn)行反復(fù)讀寫操作。



(8)程序6:第一條 MBUS_MSG 指令完成后("完成"(Done) 位從 0 變?yōu)?/span> 1),會(huì)清除第一條 MBUS_MSG 指令的啟用標(biāo)志,然后設(shè)置第二條 MBUS_MSG 指令的啟用標(biāo)志。


(9)程序7:第二次輪詢,讀電能值參數(shù):讀第一臺(tái)設(shè)備的頻率參數(shù)。第二個(gè)啟用標(biāo)志 (M2.1) 接通時(shí),調(diào)用第二條 MBUS_MSG 指令。只需為啟用該指令的第一次掃描設(shè)置 First 參數(shù)。該指令會(huì)對(duì)從站 1 2 個(gè)保持寄存器執(zhí)行讀取 (RW = 0) 操作。數(shù)據(jù)從 Modbus 從站中的地址 4164370x4034) 讀取,并復(fù)制到 CPU 中的 VB400 - VB4034 個(gè)字節(jié)VD400)。

(10)程序8-9:第二次讀數(shù)據(jù)輪詢結(jié)束,復(fù)位相關(guān)參數(shù)。



(11)程序10-11:輪詢讀第二臺(tái)設(shè)備,讀從機(jī)地址2的溫控表測量值參數(shù)。 MBUS_MSG 指令完成("完成"(Done) 位從 0 變?yōu)?/span> 1)后,清除 MBUS_MSG 指令的啟用標(biāo)志。


(12)VW406中的值寫入溫控表SV設(shè)定值中。


四、編譯及程序下載


五、在線測試

     

六、串口監(jiān)控:在電腦上用USB轉(zhuǎn)RS485轉(zhuǎn)換器連接到RS485接線端上,監(jiān)控PLC與儀表的通信收發(fā)報(bào)文:

土默特左旗| 衡阳市| 阿拉善盟| 贵定县| 二连浩特市| 南陵县| 辽中县| 元阳县| 惠水县| 建湖县| 徐水县| 古交市| 平凉市| 荣成市| 松桃| 武宁县| 伊金霍洛旗| 怀集县| 商城县| 平罗县| 宣汉县| 庄河市| 驻马店市| 武夷山市| 丹棱县| 额敏县| 保德县| 五莲县| 汤原县| 浦城县| 登封市| 得荣县| 磴口县| 清丰县| 公安县| 开鲁县| 定结县| 三台县| 亳州市| 芜湖市| 日喀则市|