日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 梯形圖實例 >> 正文

西門子S7-200 SMART PLC通過Modbus-RTU讀取溫濕度傳感器數(shù)據(jù)

作者:佚名    文章來源:網(wǎng)絡(luò)整理    點擊數(shù):    更新時間:2024/3/31

本實例我們介紹下西門子S7-200 SMART PLC如何通過Modbus-RTU協(xié)議讀取溫濕度傳感器的數(shù)值。實例使用的硬件如下:

  1. S7-200 SMART CPU ST20;
  2. 溫濕度傳感器(支持Modbus-RTU協(xié)議);

本文包括如下幾個主題:

1、溫濕度傳感器外觀、接線及通信參數(shù)介紹

2、CPU ST20與溫濕度傳感器的接線;

3、CPU ST20的編程;

1、TH10S-B-H溫濕度傳感器外觀、接線及通信參數(shù)介紹

本例程使用的溫濕度傳感器能檢測的溫度范圍為:-40℃~120℃,濕度范圍為:0%~100% rh,其外觀如下圖所示:

該溫濕度傳感器有四條線,顏色分別是:紅、黑、黃、綠,各線的定義如下:

該溫濕度傳感器支持Modbus-RTU協(xié)議,相關(guān)通信參數(shù)如下:

  1. 支持的波特率:1200bps、2400bps、4800bps、9600bps、19200bps,默認(rèn)為9600bps;
  2. 通信設(shè)置:起始位1位,數(shù)據(jù)位8位,停止位1位,無校驗位;
  3. 支持站地址范圍:1~247,默認(rèn)為1;
  4. 支持Modbus功能碼0x03讀取數(shù)據(jù),數(shù)據(jù)格式如下表所示:

支持Modbus功能碼0x10或者0x06修改傳感器的站地址或者波特率,數(shù)據(jù)格式如下表所示:

①0=1200bps;1=2400bps;2=4800bps;3=9600bps;4=19200bps;

2、CPU ST20與溫濕度傳感器的接線

本例程使用CPU ST20本體集成的串口(編號:Port0)連接溫濕度傳感器。Port0針腳定義如下表所示:

需要說明的是,西門子RS485信號線定義與很多廠家不同:多數(shù)廠家定義RS485信號A線為正極,信號B線為負(fù)極;但是西門子定義A線為負(fù)極,信號B線為正極。

因此,在本例程中,溫濕度傳感器的黃線(RS485+)應(yīng)該與CPU ST20本體串口Port0的3號引腳相連;同時,溫濕度傳感器的綠線(RS485-)應(yīng)該與Port0的8號引腳相連;

3、CPU ST20的編程

使用S7-200 SMART的庫指令【Modbus RTU Master】中的MBUS_CTRL指令和MBUS_MSG指令來與溫濕度傳感器進行Modbus-RTU通信。

MBUS_CTRL指令用來配置Modbus主站的通信參數(shù),需要在每個掃描周期都調(diào)用。指令各參數(shù)含義如下:

  • Mode:通信協(xié)議的類型;0=PPI協(xié)議;1=Modbus協(xié)議;
  • Baud:波特率;
  • Parity:校驗位,0=無校驗,1=奇校驗,2=偶校驗;
  • Port:端口號,CPU本體串口編號為0,通信板編號為1;
  • Timeout:超時的時間值,單位為毫秒;
  • Done:指令是否完成;
  • Error:指令執(zhí)行的狀態(tài)值,0=沒有錯誤;

指令執(zhí)行在線狀態(tài)如下圖所示:

MBUS_MSG指令用來與子站進行數(shù)據(jù)交換,其各參數(shù)含義如下:

  • First:請求數(shù)據(jù)交換,需要上升沿信號;
  • Slave:從站地址;
  • RW:讀取或?qū)懭霐?shù)據(jù),0=讀取,1=寫入;
  • Addr:Modbus寄存器地址;
  • Count:要讀取的數(shù)據(jù)長度;
  • DataPtr:數(shù)據(jù)的存放地址;
  • Done:指令是否執(zhí)行完成,1=完成;
  • Error:指令執(zhí)行的狀態(tài)值,0=沒有錯誤;

指令執(zhí)行在線狀態(tài)如下圖所示:

通過狀態(tài)圖表,可以監(jiān)控到讀取的數(shù)值為293和639,分別表示溫度為29.3℃和63.9%rh的濕度,如下圖所示:

好了,這就是CPU ST20通過Modbus-RTU協(xié)議讀取溫濕度傳感器數(shù)值的例程。

Tags:Modbus-RTU,溫濕度傳感器,讀取溫濕度  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢