<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

      西門子plc SMART200 通過Modbus讀取溫濕度傳感器數據梯形圖實例

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

      文章目錄

      • 前言
      • 一、溫濕度傳感器
      • 二、傳感器與Smart200接線
      • 三、PLC程序
      • 四、讀取數據
        • 以16位整數形式讀取數據
        • 以32位浮點形式讀取數據
      • 五、參考文獻


      前言

      正在學習西門子plc SMART200的Modbus通訊,手里正好有一塊淘寶買的溫濕度傳感器,型號是SD123-T10,故拿來試試學習成果。


      一、溫濕度傳感器

      1、外觀及引腳
      溫濕度傳感器 
      2、默認通訊參數
      查詢隨機資料,波特率:9600;無奇偶校驗,8位數據位,停止位1位。
      溫濕度傳感器的功能碼列表 
      本次,我們分別用整型和浮點型從設備讀取數據。

      二、傳感器與Smart200接線

      1、西門子Port 0口
      SMART200 的Port 0口可以支持Modbus RTU協議,作為Modbus主站,對傳感器進行讀寫。這里,我們把PLC當作主站,傳感器當作從站。
      2、西門子 Port 0 口引腳
      rs485接口管腳定義 
      這里我們要注意下,溫度傳感器的3號引腳(RS485-A)對應西門子連接器3號端口(RS485-B),而溫度傳感器的4號引腳(RS485-B)卻對應西門子連接器的8號端口(RS485-A)。

      三、PLC程序

      1、調用主站通訊
      西門子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站協議庫,見下圖:
       
      這里有兩組通訊庫,一個Master,一個Master2,我這里用的是第一個,另外一個小伙伴們可以試試。
      2、 MBUS_CTRL主站初始化和控制子程序引腳說明
      MBUS_CTRL主站初始化和控制子程序引腳說明 
      根據上述引腳說明,MBUS_CTRL程序為:
      MBUS_CTRL主站初始化和控制子程序引腳說明 
      3、主站讀寫子程序MBUS_MSG,引腳說明
      主站讀寫子程序MBUS_MSG,引腳說明 
      根據上述引腳說明,MBUS_MSG程序為:
       
      這里的幾個參數要重點說下

      • Slave是溫濕度傳感器的站號,也叫地址,從樣本上可以查到。
      • Addr是要讀取參數的地址,在樣本上也能查到,如16位溫度地址40513。
      • Count,是讀取數據個數,比如,要同時讀取16位的溫度和濕度,你這里就給賦值2,如果只讀一個參數,這里賦值就是1。也就是說,當Count=2時,系統從從40513開始,往下再多讀取一個,讀到40514停止。如果count是3,那么從40513開始,再讀取40514和40515,以此類推。
      • DataPtr 是讀取數據指針,指針指向讀取數據的地址。這里只能用字節,所以要讀取實際數據,還得進行拼接。

      四、讀取數據

      以16位整數形式讀取數據

      讀取整形16位數據就按上述程序來即可,數據指針為&VB100,因為指針對應8位,所以需要2個8位字節組成一個自字來裝載數據,也就是VW100是設備內溫度的實際讀取值,然后再除以10,得到實際溫度值。
      如果同時讀取了濕度,也就是count參數為2是,那么濕度就是VW102,再除以10后,得到實際濕度值,讀取值見下圖:
       
      根據上圖,實際溫度值為VW100/10=17°,實際濕度值VW102/10=35%

      以32位浮點形式讀取數據

      根據設備樣本,溫度和濕度數值可以以浮點形式讀取,那么程序要進行修改。
      MBUS_CTRL 不需要修改。
      MBUS_MSG 修改如下:
      a)僅讀取浮點溫度
      Addr :40516 count =2, 因為浮點32位,需要讀取2個字的地址組成一個雙字代表一個浮點。所以count=2. 其他不變。
      b) 讀取浮點溫度和濕度
      Addr :40516 count =4, 因為浮點32位,需要讀取4個字的地址代表兩個32位浮點。所以count=4. 其他不變。
      重點:
      當你用VD100和VD104 讀取出數據的時候,你發現不對,見下圖:

      那是因為如果MODBUS tcp對方不是西門子設備時候,讀上來的連續2個字要交換高低字。也就是說:
      原來VD100=VW100+VW102,但是對方因為是非西門子產品,高地位要換位,即VD100=VW102+VW100。程序見下圖:

       

      五、參考文獻

      1、http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
      2、https://zhuanlan.zhihu.com/p/161890397
      3、http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1578456&b_id=64

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

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 小说区图片区综合久久88| 久久亚洲精品人成综合网| 天天躁夜夜躁狂狂躁综合| 色综合色综合色综合色欲| 在线精品国产成人综合| 色综合婷婷在线观看66| 亚洲一本综合久久| 亚洲国产综合精品中文字幕 | 亚洲国产综合精品中文字幕| 亚洲综合无码精品一区二区三区| 色综合久久久久久久久五月| 久久综合AV免费观看| 69国产成人综合久久精品| 日日狠狠久久偷偷色综合96蜜桃| 亚洲婷婷综合色高清在线| 日韩综合无码一区二区| 日韩亚洲人成在线综合| 久久综合丝袜长腿丝袜| 97久久国产综合精品女不卡| 婷婷激情五月综合| 亚洲综合网美国十次| 色久综合网精品一区二区| 亚洲中文字幕无码久久综合网| 激情综合丝袜美女一区二区| 国产精品综合在线| 国产精品综合一区二区三区| 婷婷激情狠狠综合五月| 色综合久久中文色婷婷| 青青草原综合久久大伊人| 亚洲综合色婷婷在线观看| 久久99国产综合精品| 97久久久精品综合88久久 | 狠狠色丁香九九婷婷综合五月| 亚洲综合伊人制服丝袜美腿| 98精品国产综合久久| 亚洲av成人综合网| 久久婷婷五月综合色99啪ak| 婷婷丁香五月天综合东京热| 亚洲综合另类小说色区色噜噜| 精品亚洲综合在线第一区| 麻豆久久婷婷综合五月国产|