<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 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 国产亚洲综合久久| 香蕉综合在线视频91| 亚洲国产成人久久综合一区77| 香蕉尹人综合在线观看| 国产成人综合久久久久久| 亚洲色欲色欲综合网站| 天天影视色香欲综合久久| 伊人久久大香线蕉综合电影网| 玖玖爱zh综合伊人久久| 国产综合色在线视频区| 色综合久久88色综合天天| 婷婷亚洲综合五月天小说| 成人精品综合免费视频| 国产成人人综合亚洲欧美丁香花| 一本久道久久综合| 色天天综合色天天看| 天天影视色香欲综合免费| 狠狠色色综合网站| 亚洲伊人成无码综合网 | 亚洲综合小说另类图片动图 | 一本一道久久精品综合| 色爱区综合激情五月综合激情| 色综合67194| 欧洲97色综合成人网| 久久99国产综合精品| 99久久综合精品国产| 色综合综合色综合色综合| 亚洲综合自拍成人| 99久久国产综合精品五月天| 亚洲综合激情九月婷婷| 色综合色综合久久综合频道| 久久婷婷丁香五月综合五| 亚洲明星合成图综合区在线| 婷婷综合久久中文字幕蜜桃三电影| 亚洲国产成人久久综合碰碰动漫3d| 国产亚洲综合久久系列| 亚洲人成综合在线播放| 亚洲a∨国产av综合av下载| 伊人久久大香线蕉综合7| 久久久亚洲裙底偷窥综合| 国产精品天天影视久久综合网 |