激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導航

服務(wù)器資訊|IT/互聯(lián)網(wǎng)|云計算|區(qū)塊鏈|軟件資訊|操作系統(tǒng)|手機數(shù)碼|百科知識|免費資源|頭條新聞|

服務(wù)器之家 - 新聞資訊 - 操作系統(tǒng) - 基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)

2023-07-04 17:09未知服務(wù)器之家 操作系統(tǒng)

想了解更多關(guān)于開源的內(nèi)容,請訪問: 本站開源基礎(chǔ)軟件社區(qū) Modbus簡介 原文鏈接: 鏈接 Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表。Modbus已經(jīng)成

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)

想了解更多關(guān)于開源的內(nèi)容,請訪問:

本站開源基礎(chǔ)軟件社區(qū)

Modbus簡介

原文鏈接:鏈接

Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表。Modbus已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標準(De facto),并且現(xiàn)在是工業(yè)電子設(shè)備之間常用的連接方式。

Modbus RTU(Remote Terminal Unit 遠程終端單元):這種方式常采用RS-485做為物理層,一般利用芯片的串口實現(xiàn)數(shù)據(jù)報文的收發(fā),報文數(shù)據(jù)采用二進制數(shù)據(jù)進行通信。

Modbus TCP/IP 或 Modbus TCP:這是一種 Modbus 變體版本,使用 TCP/IP 網(wǎng)絡(luò)進行通信,通過 502 端口進行連接。報文不需要校驗和計算,因為以太網(wǎng)底層已經(jīng)實現(xiàn)了CRC32 數(shù)據(jù)完整性校驗

Modbus RTU

地址:取值范圍是0-247,如果是0,就是主站廣播報文;如果是1-247,則有可能是主站請求或者從站應(yīng)答。

功能碼:也就是報文命令,代表主站對從站的操作,讀或者寫。

數(shù)據(jù):數(shù)據(jù)字段,主請求報文,從應(yīng)答報文會有所差異。也就是說假設(shè)抓取總線報文,如何區(qū)分是主站請求還是從站應(yīng)答,則需要通過數(shù)據(jù)字段進行區(qū)分了。

CRC校驗:采樣CRC16,16位循環(huán)冗余校驗。

部分功能碼解析

1、功能碼 –讀線圈狀態(tài)

  • 主機發(fā)送:01 01 00 01 00 08 6C 0C
  • 從機回復(fù): 01 01 01 2F 10 54
  • 主機解析:01 地址(設(shè)備ID)
01  功能碼;

            00 01  代表查詢的起始線圈地址,即從0001線圈開始查詢。

            00 08 查詢線圈數(shù)量。

            6C 0C 循環(huán)冗余校驗。

從機解析:01 地址(設(shè)備ID)。

01  功能碼;

            01  代表后面數(shù)據(jù)的字節(jié)數(shù)。

            2F    讀取以0001線圈開始的8個線圈的狀態(tài)。0x2F二進制為00101111,對應(yīng)狀態(tài)為1111                         0100

            10 54 循環(huán)冗余校驗。

2、功能碼 –-讀離散輸入寄存器

功能:讀離散輸入寄存器,位操作,可讀單個或多個,類似功能碼0X01。

3、功能碼 –-讀保持寄存器的值

  • 主機發(fā)送:01 03 00 01 00 01 D5 CA
  • 從機回復(fù): 01 03 02 00 01 79 84
  • 主機解析:01 地址(設(shè)備ID)
03  功能碼;

            00 01  代表查詢的起始寄存器地址,即從0001寄存器開始查詢。

            00 01 查詢寄存器數(shù)量。

            D5 CA 循環(huán)冗余校驗。

從機解析:01 地址(設(shè)備ID)。

03  功能碼;

            02  代表后面數(shù)據(jù)的字節(jié)數(shù)。

            00 01 查詢0001寄存器的值。

            79 84 循環(huán)冗余校驗。

4、功能碼 –-讀輸入寄存器

功能:讀輸入寄存器,字節(jié)操作,可讀單個或多個,類似功能碼0X03。

5、功能碼 –-寫單個保持寄存器

功能:對單個線圈進行寫操作,位操作,只能寫一個。寫入0xFF00表示將線圈置為ON,寫入0x0000表示將線圈置為OFF,其它值無效。

主機發(fā)送數(shù)據(jù):從站地址+功能碼+寄存器起始地址+數(shù)據(jù)值+校驗碼

    從站應(yīng)答數(shù)據(jù):從站地址+功能碼+寄存器地址+寫入值+校驗碼

6、功能碼 –-寫單個保持寄存器

  • 主機發(fā)送:01 06 00 02 00 01 E9 CA
  • 從機回復(fù): 01 06 00 02 00 01 E9 CA
  • 主機解析:01 地址(設(shè)備ID)
06  功能碼;

            00 02  代表待寫入的起始寄存器地址,即從0002寄存器開始寫數(shù)據(jù)。

            00 01 寫入的寄存器的值。即給0002寄存器寫入0001

            E9 CA 循環(huán)冗余校驗。

從機解析:01 地址(設(shè)備ID)。

06  功能碼;

            02  代表后面數(shù)據(jù)的字節(jié)數(shù)。

            00 01 查詢0001寄存器的值。

            E9 CA 循環(huán)冗余校驗。

7、功能碼 –-寫多個線圈狀態(tài)

  • 主機發(fā)送:01 0F 00 01 00 07 01 6B B2 B9
  • 從機回復(fù): 01 0F 00 01 00 07 45 C9
  • 主機解析:01 地址(設(shè)備ID)
0F  功能碼;

            00 01  代表待寫入的起始線圈地址,即從0001線圈開始寫數(shù)據(jù)。

            00 07 待寫入的線圈的數(shù)量。

            01 后面寫入數(shù)據(jù)的字節(jié)數(shù)。

            6B寫入寄存器的值,即11010110。二進制01101011

            B2 B9 循環(huán)冗余校驗。

從機解析:01 地址(設(shè)備ID)。

0F  功能碼;

            00 01  代表待寫入的起始線圈地址,即從0001線圈開始寫數(shù)據(jù)。

            00 07 待寫入的線圈的數(shù)量。

            45 C9 循環(huán)冗余校驗。

8、功能碼 – 寫多個保持寄存器

  • 主機發(fā)送:01 10 00 04 00 03 06 00 01 00 00 00 01 5B 55
  • 從機回復(fù): 01 10 00 04 00 03 C1 C9
  • 主機解析:01 地址(設(shè)備ID)
10  功能碼;

            00 04  代表待寫入的起始寄存器地址,即從0004寄存器開始寫數(shù)據(jù)。

            00 03 待寫入的寄存器的數(shù)量。

            06 后面寫入數(shù)據(jù)的字節(jié)數(shù)。

         0001,0000,0001寫入寄存器的值。即給0004,0005,0006寄存器分別寫入0001,0000,0001

            5B 55 循環(huán)冗余校驗。

從機解析:01 地址(設(shè)備ID)。

10  功能碼;

            00 04  代表待寫入的起始寄存器地址,即從0004寄存器開始寫數(shù)據(jù)。

            00 03 待寫入的的寄存器的值。即給0004,0005,0006寄存器分別寫入0001,0000,0001

            C1 C9 循環(huán)冗余校驗。

在OpenHarmony上面使用Modbus

原文鏈接:鏈接

加入Modbus C++庫libmodbus

適配文件在當前目錄下的cpp文件夾中。

庫文件:

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

c文件:

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

把上面文件加入編譯:

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

Modbus TCP

配置Modbus信息

設(shè)置IP和端口號以及DeviceID。

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

設(shè)置數(shù)據(jù)地址和長度。

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

把測試代碼執(zhí)行起來

引入測試代碼庫。

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

初始化Modbus連接。

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

讀取數(shù)據(jù)。

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

運行調(diào)試

基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)基于OpenHarmony 系統(tǒng)通過Modbus協(xié)議讀取設(shè)備數(shù)據(jù)-開源基礎(chǔ)軟件社區(qū)

Modbus RTU

Modbus RTU主要是通過RS485或者232接口讀取數(shù)據(jù)的modbus協(xié)議。

libmodbus庫函數(shù)解析

功能碼函數(shù):

函數(shù)

功能嗎

modbus_read_registers

03

modbus_read_input_registers

04

modbus_read_bits

01

modbus_read_input_bits

02

modbus數(shù)據(jù)轉(zhuǎn)換函數(shù)

函數(shù)

轉(zhuǎn)換內(nèi)容

modbus_get_float_abcd

獲取浮點數(shù)ABCD

modbus_set_float_abcd

設(shè)置浮點數(shù)ABCD

想了解更多關(guān)于開源的內(nèi)容,請訪問:

本站開源基礎(chǔ)軟件社區(qū)

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av在线播放观看 | 中国a级黄色片 | 九九热精品免费视频 | 国产91九色视频 | 欧美电影在线观看 | 91网站链接 | 一区国产精品 | 操操日日 | 久久久久久久一区二区 | 99国内精品视频 | 动漫孕妇被羞羞视频 | 国产亚洲精品久久久久婷婷瑜伽 | 久久亚洲国产精品 | 欧美日韩免费一区 | 欧美视频99 | 青草久久网 | 精品免费在线视频 | 欧美一级毛片欧美一级成人毛片 | 在线观看中文字幕国产 | 欧美日韩网站在线观看 | 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 羞羞视频在线免费 | 婷婷精品国产一区二区三区日韩 | 欧美18—19sex性护士中国 | 久久久婷婷一区二区三区不卡 | 国产成人综合在线视频 | 国产精品视频一区二区三区四 | 亚洲综合91| 欧美成年视频 | 麻豆视频网 | 欧美一区在线观看视频 | 久草在线高清 | 黄色大片在线观看 | 免费看一级视频 | 日韩视频一区在线 | 国产一区二区三区四区五区加勒比 | 亚州精品天堂中文字幕 | 欧美重口另类videos人妖 | xfplay噜噜av | 久久久麻豆 | 久在线观看福利视频69 |