中文乱码字幕在线中文乱码,中文无码制服丝袜人妻av,亚洲一区二区三区国产精华液,亚洲精品无码久久久久久,亚洲色成人网一二三区

modbustcp通訊協(xié)議實(shí)例-Modbus TCP Server的數(shù)據(jù)表

2022-01-24 13:47:29 admin 1055

1、應(yīng)用實(shí)例規(guī)劃

在這次的實(shí)例中,我們使用的目標(biāo)板擁有一個(gè)以太網(wǎng)接口、一個(gè)RS232串行接口和一個(gè)RS485串行接口,所以我們規(guī)劃實(shí)現(xiàn):

  • 一個(gè)Modbus TCP Server實(shí)例

  • 一個(gè)Modbus RTU Slave實(shí)例

  • 一個(gè)Modbus RTU Master實(shí)例

這三個(gè)實(shí)例并不是獨(dú)立的,Modbus TCP Server和Modbus RTU Slave它們實(shí)現(xiàn)的實(shí)際上是同一站點(diǎn),就是本地從站,擁有共同的數(shù)據(jù)處理回調(diào)函數(shù),所不同的只是它們的 協(xié)議解析及報(bào)文生成的方式是不同的。Modbus RTU Master原則上來(lái)說(shuō)與本地從站是沒(méi)有關(guān)系的,但為了便于查看數(shù)據(jù),我們將它從遠(yuǎn)程從站獲取的的數(shù)據(jù)存放到本地從站的數(shù)據(jù)表,這樣我們就可以從上位機(jī)上看到遠(yuǎn)程從站的數(shù)據(jù)。據(jù)此我們?cè)O(shè)計(jì)軟件訪問(wèn)的結(jié)構(gòu)圖如下:


在這個(gè)例子中,我們?cè)赟TM32F407平臺(tái)上采用同一協(xié)議棧實(shí)現(xiàn)基于以太網(wǎng)口的Modbus TCP Server;基于RS232串口的Modbus RTU Slave以及基于RS485串口的Modbus RTU Master。就是說(shuō)我們?cè)谕粋€(gè)項(xiàng)目中,同時(shí)實(shí)現(xiàn)了這三個(gè)實(shí)例以說(shuō)明協(xié)議棧的使用方法。

2、Modbus TCP Server實(shí)例

在我們的目標(biāo)平臺(tái)上有一個(gè)以太網(wǎng)口,我們將其設(shè)計(jì)為Modbus TCP Server的接口。我們?cè)O(shè)計(jì)一下Modbus TCP Server的數(shù)據(jù)表,首先是本地?cái)?shù)據(jù),我們?cè)O(shè)計(jì)使用8個(gè)保持寄存器和8個(gè)線圈量。這些量中,我們特意設(shè)計(jì)其屬性既有只讀的數(shù)據(jù),又有可讀可寫的數(shù)據(jù)。同時(shí)將其數(shù)據(jù)類型設(shè)定有單精度浮點(diǎn)數(shù)、32位無(wú)符號(hào)整數(shù)、16位無(wú)符號(hào)整數(shù)以及布爾量。這樣我們就可以展示協(xié)議在不同數(shù)據(jù)模式及屬性上的操作。

1uint32_tbeatTime心跳檢測(cè)40001只讀
2floatmbAI1模擬量測(cè)試40003只讀
3floatmbAO1模擬量測(cè)試40005讀寫
4uint16_tmbAI2模擬量測(cè)試40007只讀
5uint16_tmbAO2模擬量測(cè)試40008讀寫
1boolmbDI1數(shù)字量輸入?yún)?shù)11只讀
2boolmbDI2數(shù)字量輸入?yún)?shù)22只讀
3boolmbDI3數(shù)字量輸入?yún)?shù)33只讀
4boolmbDI4數(shù)字量輸入?yún)?shù)44只讀
5boolmbDO1數(shù)字量輸出參數(shù)15讀寫
6boolmbDO2數(shù)字量輸出參數(shù)26讀寫
7boolmbDO3數(shù)字量輸出參數(shù)37讀寫
8boolmbDO4數(shù)字量輸出參數(shù)48讀寫

除了上述這些參數(shù)外,我們處于操作方便及便于監(jiān)控的考慮將從下位讀出來(lái)的數(shù)據(jù)與設(shè)計(jì)到統(tǒng)一的數(shù)據(jù)表中。就跟在個(gè)數(shù)據(jù)類型的后面,每個(gè)從站8個(gè)個(gè)保持寄存器和8個(gè)線圈量。數(shù)據(jù)屬性同樣有只讀和讀寫、數(shù)據(jù)類型也同樣有浮點(diǎn)數(shù)、整數(shù)及布爾量。關(guān)于從站的數(shù)據(jù)將在后面詳細(xì)表述。

3、Modbus RTU Slave實(shí)例

在我們的目標(biāo)平臺(tái)上USART1為RS232模式,我們將其設(shè)計(jì)為Modbus RTU Slave的接口,同樣的,我們?cè)O(shè)計(jì)一下Modbus TCP Server的數(shù)據(jù)表,首先是本地?cái)?shù)據(jù),我們?cè)O(shè)計(jì)使用8個(gè)保持寄存器和8個(gè)線圈量。這些量中,我們特意設(shè)計(jì)其屬性既有只讀的數(shù)據(jù),又有可讀可寫的數(shù)據(jù)。同時(shí)將其數(shù)據(jù)類型設(shè)定有單精度浮點(diǎn)數(shù)、32位無(wú)符號(hào)整數(shù)、16位無(wú)符號(hào)整數(shù)以及布爾量。這樣我們就可以展示協(xié)議在不同數(shù)據(jù)模式及屬性上的操作。

1uint32_tbeatTime心跳檢測(cè)40001只讀
2floatmbAI1模擬量測(cè)試40003只讀
3floatmbAO1模擬量測(cè)試40005讀寫
4uint16_tmbAI2模擬量測(cè)試40007只讀
5uint16_tmbAO2模擬量測(cè)試40008讀寫
1boolmbDI1數(shù)字量輸入?yún)?shù)11只讀
2boolmbDI2數(shù)字量輸入?yún)?shù)22只讀
3boolmbDI3數(shù)字量輸入?yún)?shù)33只讀
4boolmbDI4數(shù)字量輸入?yún)?shù)44只讀
5boolmbDO1數(shù)字量輸出參數(shù)15讀寫
6boolmbDO2數(shù)字量輸出參數(shù)26讀寫
7boolmbDO3數(shù)字量輸出參數(shù)37讀寫
8boolmbDO4數(shù)字量輸出參數(shù)48讀寫

除了上述這些參數(shù)外,我們處于操作方便及便于監(jiān)控的考慮將從下位讀出來(lái)的數(shù)據(jù)與設(shè)計(jì)到統(tǒng)一的數(shù)據(jù)表中。就跟在個(gè)數(shù)據(jù)類型的后面,每個(gè)從站8個(gè)個(gè)保持寄存器和8個(gè)線圈量。數(shù)據(jù)屬性同樣有只讀和讀寫、數(shù)據(jù)類型也同樣有浮點(diǎn)數(shù)、整數(shù)及布爾量。關(guān)于從站的數(shù)據(jù)將在后面詳細(xì)表述。

關(guān)于Modbus RTU Slave我們將其本地站地址設(shè)定為1,波特率115200,8位數(shù)據(jù)位,1位停止位,無(wú)校驗(yàn)。

4、Modbus RTU Master實(shí)例

在我們的目標(biāo)平臺(tái)上USART3為RS485模式,我們將其設(shè)計(jì)為Modbus RTU Master,其訪問(wèn)的目標(biāo)從站數(shù)量為4個(gè),站地址分別為:1、2、3、4,包括線圈量8個(gè),和保持寄存器量8個(gè)。數(shù)據(jù)類型設(shè)定有單精度浮點(diǎn)數(shù)、32位無(wú)符號(hào)整數(shù)、16位無(wú)符號(hào)整數(shù)以及布爾量。數(shù)據(jù)屬性設(shè)置有只讀數(shù)據(jù)和可讀寫數(shù)據(jù)。

序號(hào)****數(shù)據(jù)類型****變量名稱****參數(shù)名稱****地址****讀寫屬性****
1floatmbSalve1AI1目標(biāo)從站1的模擬量輸入?yún)?shù)140001只讀
2uint32_tmbSalve1AI2目標(biāo)從站1的模擬量輸入?yún)?shù)240003只讀
5uint16_tmbSalve1AI3目標(biāo)從站1的模擬量輸入?yún)?shù)340005只讀
6uint16_tmbSalve1AO1目標(biāo)從站1的模擬量輸出參數(shù)140006讀寫
7uint16_tmbSalve1AO2目標(biāo)從站1的模擬量輸出參數(shù)240007讀寫
8uint16_tmbSalve1AO3目標(biāo)從站1的模擬量輸出參數(shù)340008讀寫






1boolmbSalve1DI1目標(biāo)從站1的數(shù)字量輸入?yún)?shù)11只讀
2boolmbSalve1DI2目標(biāo)從站1的數(shù)字量輸入?yún)?shù)22只讀
3boolmbSalve1DI3目標(biāo)從站1的數(shù)字量輸入?yún)?shù)33只讀
4boolmbSalve1DI4目標(biāo)從站1的數(shù)字量輸入?yún)?shù)44只讀
5boolmbSalve1DO1目標(biāo)從站1的數(shù)字量輸出參數(shù)15讀寫
6boolmbSalve1DO2目標(biāo)從站1的數(shù)字量輸出參數(shù)26讀寫
7boolmbSalve1DO3目標(biāo)從站1的數(shù)字量輸出參數(shù)37讀寫
8boolmbSalve1DO4目標(biāo)從站1的數(shù)字量輸出參數(shù)48讀寫

其它3個(gè)從站的數(shù)據(jù)設(shè)計(jì)與此站相同。關(guān)于Modbus RTU Master我們將其波特率115200,8位數(shù)據(jù)位,1位停止位,無(wú)校驗(yàn)。其訪問(wèn)的4臺(tái)從站也照此設(shè)置。

標(biāo)簽: modbus
網(wǎng)站首頁(yè)
解決方案
產(chǎn)品中心
在線咨詢