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

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

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

西門子PLC S7-200 smart如何使用Modbus 485通訊傳輸接收數(shù)據(jù)_200smart modbus

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

前言

西門子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站協(xié)議庫(西門子標(biāo)準(zhǔn)庫指令)。使用 Modbus RTU 主站指令庫,可以讀寫 Modbus RTU 從站的數(shù)字量、模擬量 I/O 以及保持寄存器,從而實現(xiàn)PLC通過modbus方式控制其他器件。


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、準(zhǔn)備工作

電腦

S7-200smart st30

485通訊線

說明:這里將以S7-200smart作為主站,電腦串口調(diào)試助手作為從站。做操作演示。

此處省略接線。

二、寫梯形圖

1.MBus_CTRL

1. 調(diào)用 Modbus RTU 主站初始化和控制子程序

使用 SM0.0 調(diào)用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制:

 調(diào)用 Modbus RTU 主站初始化和控制子程序 


圖 2. 用 SM0.0 調(diào)用 Modbus RTU 主站初始化與控制子程序

各參數(shù)意義如下:

a.

EN

使能:

必須保證每一掃描周期都被使能(使用 SM0.0)

b.

Mode

模式:

為 1 時,使能 Modbus 協(xié)議功能;為 0 時恢復(fù)為系統(tǒng) PPI 協(xié)議

c.

Baud

波特率:

支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。

d.

Parity

校驗:

校驗方式選擇

0=無校驗(通常默認(rèn)選擇0)

1=奇較驗

2=偶較驗

e.

Port

端口號:

0 = CPU 集成的 RS 485 通訊口 ; 1 = 可選 CM 01 信號板 。

f.

Timeout

超時:

主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為 1000 毫秒(1 秒),允許設(shè)置的范圍為 1 - 32767。

注意: 這個值必須設(shè)置足夠大以保證從站有時間響應(yīng)。

g.

Done

完成位:

初始化完成,此位會自動置1。

h.

Error

有錯誤

1.MBus_MSG

調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求;

 

各參數(shù)意義如下:

a.

EN

使能:

同一時刻只能有一個讀寫功能(即 MBUS_MSG)使能

注意:建議每一個讀寫功能(即 MBUS_MSG)都用上一個 MBUS_MSG 指令的 Done 完成位來激活,以保證所有讀寫指令循環(huán)進行(見例程)。

b.

First

讀寫請求位:

每一個新的讀寫請求必須使用脈沖觸發(fā)

c.

Slave

從站地址:

可選擇的范圍 1 - 247

d.

RW

讀寫請求:

0 = 讀, 1 = 寫

e.

Addr

讀寫從站的

選擇讀寫的數(shù)據(jù)類型

數(shù)據(jù)地址:

00001 至 0xxxx - 數(shù)字量輸出

10001 至 1xxxx - 數(shù)字量輸入

30001 至 3xxxx - 模擬量輸入

40001 至 4xxxx - 保持寄存器

f.

Count

數(shù)據(jù)個數(shù)

通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))

注意: Modbus主站可讀/寫的最大數(shù)據(jù)量為120個字(是指每一個 MBUS_MSG 指令)

g.

DataPtr

數(shù)據(jù)指針:

1. 如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中 2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中

h.

Done

完成位

讀寫功能完成位

i.

Error

錯誤代碼:

只有在 Done 位為1時,錯誤代碼才有效

0 = 無錯誤

1 = 響應(yīng)校驗錯誤

2 = 未用

3 = 接收超時(從站無響應(yīng))

4 = 請求參數(shù)錯誤(slave address, Modbus address, count, RW)

5 = Modbus/自由口未使能

6 = Modbus正在忙于其它請求

7 = 響應(yīng)錯誤(響應(yīng)不是請求的操作)

8 = 響應(yīng)CRC校驗和錯誤

101 = 從站不支持請求的功能

102 = 從站不支持?jǐn)?shù)據(jù)地址

103 = 從站不支持此種數(shù)據(jù)類型

104 = 從站設(shè)備故障

105 = 從站接受了信息,但是響應(yīng)被延遲

106 = 從站忙,拒絕了該信息

107 = 從站拒絕了信息

108 = 從站存儲器奇偶錯誤

三、使用難點與解答

通常支持485通訊的器件給的使用說明書,給的指令是16進制的字符串代碼。很難與當(dāng)前PLC庫指令對應(yīng)起來,尤其是命令地址。我們以IAI馬達(dá)給的使用說明書為例子。如圖所示:

 

 

該示例是PLC通過modbus去讀取馬達(dá)的位置。讀取控制器地址9000這個寄存器里面的數(shù)據(jù)

RW填0,表示去讀取數(shù)據(jù)。

Plc庫里面需要填的Addr(e)是十進制,需要將16進制的9000轉(zhuǎn)成十進制。

通過計算器得知:16#9000=36864

注意事項:這里博主也比較奇怪,實際使用讀取寄存器地址的時候需要+1,36865

不知道有沒有人可以解釋一下的。

 

由于這里是讀取寄存器,所以Addr=436865.

 

count是寄存器數(shù)量:按照示例,這里有2個寄存器。所以count填2

通過串口調(diào)試助手來測試一下:接通M15.0發(fā)送信號,串口調(diào)試助手收到了PLC發(fā)送的信號。且可以看到收到的數(shù)據(jù)與IAI操作手冊示例一致。測試成功

 

以上是通過modbus讀取的示例。

注意事項:

1、只有在操作就被控方寄存器的時候(無論讀取還是寫入),轉(zhuǎn)換的成十進制的地址后第一位需要加個4

2、注意發(fā)送命令和讀取命令的字符長度,需要正確填寫

3、需要注意波特率要填寫正確,與被控方保持一致。否則發(fā)出去的信號與收到的信號不相符

4、發(fā)出去的內(nèi)容填寫到DataPtr中。

 

此處我們再來解讀plc的這個命令就比較清晰了:

通過MB_MSG,向1號從站讀取從36865(Addr)這個地址開始2位(Count)的數(shù)據(jù),并把讀取到的數(shù)據(jù)寫入VB2000

如果是寫入:通過MB_MSG,將PLC的VB2000開始的2位寄存器內(nèi)的數(shù)據(jù),寫入到1號從站的36865寄存器中

Tags:MODBUS通訊,MODBUS,200SMART  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關(guān)文章列表
    一張圖就能讀懂S7-200 SMART PLC的位、字節(jié)、字、雙字的數(shù)據(jù)組合
    一起學(xué)習(xí)S7-200Smart控制器的中斷子程序
    西門子S7-200 SMART 模擬量概述及自建庫文件,西門子PLC子程序創(chuàng)
    西門子S7-200SMART間接尋址讀取配方 子程序調(diào)用方法
    用200SMART高速脈沖實現(xiàn)軌跡跟隨運動
    西門子200SMART PLC編程通過指針輕松實現(xiàn)多個數(shù)據(jù)排列
    西門子S7-200SMART PLC如何實現(xiàn)星三角降壓啟動多次調(diào)用?子程序編
    西門子PLC子程序?qū)嵗,S7-200 SMART PLC帶參數(shù)子程序應(yīng)用實例
    S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
    西門子S7-200SMART PLC彩色燈程序設(shè)計_跑馬燈程序 , SHB_L循環(huán)指
    S7-200smart 恒溫PID控制_STEP7中PID設(shè)置溫度自動控制編程
    西門子PLC S7-200smart間接尋址應(yīng)用—求平均值, 創(chuàng)建指令庫
    基于S7-200 SMART實現(xiàn)一鍵啟停_200smart 一鍵啟停
    基于S7-200SMART實現(xiàn)Modbus TCP通信_200smart modbus tcp
    基于S7-200 SMART實現(xiàn)MATLAB寫入與讀取PLC數(shù)據(jù)_matlab
    西門子200smart高速計數(shù)器指令向?qū)Ъ俺绦颍ㄊ詹兀┨菪螆D實例
    【案例】S7-200SMART運動定位程序梯形圖實例
    S7-200SMART PLC實時時鐘指令
    |分享| S7-200SMART常用指令(二)
    |分享| S7-200SMART常用指令(一)
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

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