18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 梯形圖實例 >> 正文

西門子PLC S7-200Smart實現Modbus-RTU通信實例 多功能電表 溫控表

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022/11/29

西門子plc SMART 

一、準備工具及材料

1.台式電腦一台,筆記本電腦一台;

2.西門子plc S7-200smart PLC一台,

3.多功能電表DW9L-RC38或DS9L或DS7L一台,溫控表TE係列一台,

4.儀(yi) 表說明書(shu) 及通訊協議,

5.9針接口通訊線一根,

6.USB轉RS485轉換器一台,

7.電源線,網線、網絡交換機等。

二、軟件安裝

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

 STEP 7-Micro/win SMART

 

 

三、梯形圖編程

1.主要編程思路

       PLC使用自帶的RS485接口與(yu) 儀(yi) 表進行通信連接,PLC作為(wei) 主站,儀(yi) 表為(wei) 從(cong) 站,使用標準Modbus-RTU通訊協議。調用編程軟件自帶的Modbus協議庫,實現與(yu) 儀(yi) 表的數據通信。

 

2MBUS_CTRL MBUS_MSG 指令介紹

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

  

 

 

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

 

 

 

 

4.梯形圖編程

(1)設置PLC型號

 

 


(2)設置庫存儲(chu) 器的地址分配(係統已分配VB0~VB285用於(yu) modbus通信使用,我們(men) 就從(cong) VB286開始)

 

 

 


(3)編輯符號表

 

 

 


(4)編輯狀態圖表

 

 

 


(5)編製第一、二段:置位標誌位及通訊初始化:波特率Baud=9600,Parity=0無校驗,Port=0集成CPU內(nei) RS485口,Timeout從(cong) 站響應超時50ms。Done初始化完成返回"TURE",Error輸出錯誤結果。

 

 

 

(6)程序3-4:當MBUS_CTRL初始化完成後,M0.0 從(cong) 關(guan) 閉變為(wei) 接通時,延時T33=10mS時間後,置位第一條 MBUS_MSG 指令的啟用標誌 (M2.0)=1。

 

 

 


(7)程序5讀第一台從(cong) 機設備,地址1,型號DW9LDS9LDS7L。當第一個(ge) 啟用標誌 (M2.0) 接通後,調用 MBUS_MSG 指令。隻需為(wei) 啟用該指令的第一次掃描設置 First 參數。該指令會(hui) 對從(cong) 站(Slave =1)的 12個(ge) 保持寄存器執行讀取 (RW = 0) 操作。

      Modbus 主站對 Modbus 從(cong) 站的12個(ge) 保持寄存器執行讀操作(A、B、C相電壓值)。

       PLC 會(hui) 從(cong) 儀(yi) 表地址為(wei) 416385 (0x4000)開始的保持寄存器中讀取到CPU內(nei) 部,並保存在以VB300 開始的12個(ge) 字節 V 存儲(chu) 器中。

        讀0x4000開始的A相電壓值,需將0x4000轉換為(wei) 十進製數0x4000→16384,再用400001+16384=416385

       讀取的數據存放在 CPU 中的 VB300-VB311中;VB300,301,302,303對應A相電壓;VB304,305,306,307對應B相電壓;VB308,309,310,311對應C相電壓。因為(wei) 電壓值是雙字節存放,所以用VD300地址讀取A相電壓,VD304地址讀取B相電壓,VD308地址讀取C相電壓。


M0.4為(wei) 啟動輪詢,將通信設備進行反複讀寫(xie) 操作。

 

(8)程序6:第一條 MBUS_MSG 指令完成後("完成"(Done) 位從(cong) 0 變為(wei) 1),會(hui) 清除第一條 MBUS_MSG 指令的啟用標誌,然後設置第二條 MBUS_MSG 指令的啟用標誌。

 

(9)程序7:第二次輪詢,讀電能值參數:讀第一台設備的頻率參數。第二個(ge) 啟用標誌 (M2.1) 接通時,調用第二條 MBUS_MSG 指令。隻需為(wei) 啟用該指令的第一次掃描設置 First 參數。該指令會(hui) 對從(cong) 站 1 的 2 個(ge) 保持寄存器執行讀取 (RW = 0) 操作。數據從(cong) Modbus 從(cong) 站中的地址 416437(0x4034)讀取,並複製到 CPU 中的 VB400 - VB403(4 個(ge) 字節VD400)。

 

(10)程序8-9:第二次讀數據輪詢結束,複位相關(guan) 參數。


 


(11)程序10-11:輪詢讀第二台設備,讀從(cong) 機地址2的溫控表測量值參數。 MBUS_MSG 指令完成("完成"(Done) 位從(cong) 0 變為(wei) 1)後,清除 MBUS_MSG 指令的啟用標誌。

 

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

 

四、編譯及程序下載

 

五、在線測試

 

 

 

 

 

 

 

六、串口監控:在電腦上用USB轉RS485轉換器連接到RS485接線端上,監控PLC與(yu) 儀(yi) 表的通信收發報文:

 

Tags:Modbus-RTU,Modbus,西門子plc,smart,儀表  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢