工控網首頁
>

應用設計

>

?知識分享 | Modbus的原理及使用

?知識分享 | Modbus的原理及使用

2023/10/7 11:25:41

1.jpg

Modbus是Modicon(施耐德)公司于1979年開發的串行通信協議。它最初設計用于公司的可編程邏輯控制器(PLC)。Modbus是一種開放式協議,支持使用RS232/RS485/RS422協議的串行設備,同時還支持調制解調器。

Modbus通過設備之間的串行線進行數據傳輸。最簡單的設置是使用一根串行電纜連接兩個設備(主設備和從設備)上的串行端口。數據以稱為比特的1和0的序列發送。每個位都作為電壓發送。0被發送為正電壓,1被發送為負電壓。

最常用Modbus協議總共有以下四種:Modbus ASCII,Modbus RTU,Modbus Plus,Modbus TCP。

Modbus是一種串行通信協議,是應用于電子控制器上的一種通用語言,由于其協議簡單易用,且沒有版權要求,目前已經成為工業領域通信協議的實施標準。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信;已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。

2.png

通過Modbus協議,控制器相互之間、或控制器經由網絡(如以太網)可以和其它設備之間進行通信。Modbus協議使用的是主從通訊技術,即由主設備主動查詢和操作從設備。一般將主控設備方所使用的協議稱為Modbus Master,從設備方使用的協議稱為Modbus Slave。典型的主設備包括工控機和工業控制器等;典型的從設備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網口。

翻譯一下:Modbus是用來通信的,是一種用于工業控制的協議,具有免費使用、上手簡單、修改方便三大特點,已被廣泛使用。

數據類型

Modbus以一系列具有不同特征表格上的數據模型為基礎,四個基本表格如下表所示:

3.jpg

對于基本表格中任何一項,協議都允許單個地洗擇 65536 個數據項,而目設計那些項的讀寫操作可以越過多個連續數據項直到數據大小規格限制,這個數據大小規格限制與事務處理功能碼有關。

案例展示

數據模型這個概念有限抽象,讓我們通過以下兩個示例加深理解。

示例1: 有 4 個獨立塊的設備

示例描述:一個設備中的數據結構,含有數字量和模擬量、輸入量和輸出量。由于不同塊中的數據不相關,每個塊是相互獨立。使用Modbus數據模型,按不同 Modbus功能碼訪問每人塊,實現原理如下所示:

4.png

以下是固高伺創的485通訊功能介紹:

首先要確定驅動器的型號是否支持485 和 422 通訊。

l   只支持RTU通訊

l   支持的功能碼:0x03,、0x06、0x10

確定好型號之后需要確定接線定義。

422引腳定義如下:

5.png

485引腳定義如下:

6.png

驅動器模式配置:

應當配置為輪廓位置模式

7.png

報文格式:

8.jpg

9.jpg

10.jpg

報文簡單示例

1.報文簡單示例:

驅動器撥碼設置為1

功能碼 0x03 示例說明

讀取 0x2000 多圈編碼器數值,發送的報文如下:

串口發送報文(Hex 顯示):

01 03 20 00 00 02 CF CB

串口接收報文(Hex 顯示): 

01 03 04 00 00 00 03 BA 32 //讀到數值是 0x0003

 

功能碼 0x06 示例說明

寫 0x2005 地址變量,發送的報文如下:

串口發送報文(Hex 顯示):

01 06 20 05 00 14 92 04 //寫的數據是 0x0014

串口接收報文(Hex 顯示):

01 06 20 05 00 14 92 04

功能碼 0x10 示例說明

寫 0x607F 地址變量,發送報文如下:

串口發送報文(Hex 顯示):

01 10 60 7F 00 02 04 00 00 C3 50 4C 05

串口接收報文(Hex 顯示):

01 10 60 7F 00 02 6E 10

Modbus實用示例1

2.Modbus實用示例:

(使用modbus通訊控制,進行絕對運動)

以下為操作步驟:

a.再設模式為01

11.png

b.讀取模式是否為01

12.png

先設置用戶模式,必須在總線控制下,之后再上使能。

c.先設控制字06

13.png

d.再設控制字07

14.png

e.再設控制字0F

15.png

以上三步為使能步驟

f.再設目標位置,加速度,減速度,速度

(此示例沒有設置速度)

16.png

g.再設置控制字1F觸發運動

17.png

Modbus實用示例2

3. Modbus實用示例:

(使用modbus通訊控制,進行速度運動)

以下為操作步驟:

a.先設置模式為03

18.png

b.再讀取模式是否為03

19.png

c.再設控制字06→07→0F(使能)

20.png

d.再設置速度

21.png

速度分別為1000,10000,0(比如輸入分辨率設置 p=10000,那么當控制器寫 60FF 是 20000 時,對于的速度 v=20000pulse/s,轉換為 r/s,就是 n=v/p(2 r/s))。

如果設置的輸入分辨率為10000,相當于速度分別為6rpm,60rpm,0。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

固高科技誠邀您蒞臨2025 SEMI-e深圳國際半導體展

【固高GSHD系列高性能伺服驅動器系列教程】—數字量I/O的用法和說明

固高科技助力多工位五軸點膠設備效率與精度革命

固高科技賦能基因測序控制應用場景

報名開啟科創之夏!2025年固高創工場青少年科創營學員招募