新聞中心
PRESS CENTER
Modbus 讀數(shù)據(jù)
本文主要實(shí)現(xiàn)的功能是:使用EG系列網(wǎng)關(guān)采集Modbus TCP從站設(shè)備的數(shù)據(jù)以及對(duì)Modbus TCP從站設(shè)備實(shí)現(xiàn)寫數(shù)據(jù)操作。本文選擇EG8200Mini作為演示載體,但文檔所述方法適用于EG系列所有網(wǎng)關(guān)。節(jié)點(diǎn)使用詳情查看:Modbus 主站請(qǐng)求/主站解析
Modbus是一種工業(yè)現(xiàn)場(chǎng)總線協(xié)議,通常運(yùn)行于RS485總線,采用半雙工即一問(wèn)一答的通信機(jī)制。Modbus分為Modbus RTU/Modbus TCP/Modbus ASCII三種通信模式,網(wǎng)關(guān)目前支持Modbus RTU/Modbus TCP兩種通信模式。
Modbus主站請(qǐng)求節(jié)點(diǎn):根據(jù)設(shè)置的參數(shù)(地址碼/功能碼/寄存器起始地址/寄存器數(shù)量等)生成Modbus指令。
Modbus主站解析節(jié)點(diǎn):根據(jù)匹配的Modbus主站請(qǐng)求節(jié)點(diǎn),解析響應(yīng)數(shù)據(jù)。
Modbus主站解析節(jié)點(diǎn)使用時(shí)需指定匹配的Modbus主站請(qǐng)求節(jié)點(diǎn)(Modbus主站請(qǐng)求和Modbus主站解析節(jié)點(diǎn)匹配碼一致即可),匹配完成就會(huì)按照Modbus主站請(qǐng)求節(jié)點(diǎn)的設(shè)置來(lái)解析數(shù)據(jù),因此Modbus主站請(qǐng)求和Modbus主站解析節(jié)點(diǎn)必須成對(duì)出現(xiàn)且匹配碼必須唯一。
節(jié)點(diǎn)只對(duì)協(xié)議報(bào)文處理,并未指定相應(yīng)的物理通道,因此一般配合串口或者TCP節(jié)點(diǎn)一起使用。從而可以靈活實(shí)現(xiàn)Modbus RTU / Modbus TCP / Modbus RTU over TCP / Modbus TCP over RTU。
以下介紹主要針對(duì)Modbus主站請(qǐng)求節(jié)點(diǎn),Modbus主站解析節(jié)點(diǎn)無(wú)任何設(shè)置項(xiàng)。Modbus基礎(chǔ)概念此處不在介紹,如果不熟悉,請(qǐng)參考以下資料:Modbus協(xié)議【完整版】.pdf
1.網(wǎng)絡(luò)環(huán)境搭建
Modbus從機(jī)參數(shù)(由Modbus從站設(shè)備廠家提供):
192.168.0.30:502 | |||
站地址:1 | |||
名稱 | 功能碼 | 寄存器地址 | 數(shù)據(jù)類型 |
第一路繼電器 | 0X01 | 00001(0x00) | Bool |
第二路繼電器 | 0X01 | 00002(0x01) | Bool |
第一路開關(guān)量檢測(cè) | 0X02 | 10001(0x00) | Bool |
第二路開關(guān)量檢測(cè) | 0X02 | 10002(0x01) | Bool |
第一路電流值 | 0X03 | 40001(0x00) | Float |
第二路電流值 | 0X03 | 40003(0x02) | Float |
如上所示,Modbus從站IP為192.168.0.30,EG8200Mini網(wǎng)關(guān)也需要更改LAN口IP為192.168.0.XX(XX可為1-255的任意值,注意IP不能沖突)。

2驗(yàn)證環(huán)境
驗(yàn)證局域網(wǎng)內(nèi)從站和網(wǎng)關(guān)是否能PING通。使用PING節(jié)點(diǎn)填入從機(jī)IP,如果返回?cái)?shù)字表示網(wǎng)絡(luò)環(huán)境搭建成功。

第一步:添加相關(guān)節(jié)點(diǎn)
添加Modbus主站節(jié)點(diǎn)和Modbus解析節(jié)點(diǎn)。

添加TCP節(jié)點(diǎn)并配置連接。

第二步:配置Modbus點(diǎn)位

第三步:測(cè)試
添加一個(gè)注入節(jié)點(diǎn)觸發(fā)流程工作一次。

添加一個(gè)調(diào)試節(jié)點(diǎn),即可實(shí)時(shí)查看采集數(shù)據(jù)。

本文示例以Modbus TCP協(xié)議為例,如果使用Modbus RTU協(xié)議僅需將TCP節(jié)點(diǎn)替換為串口節(jié)點(diǎn)即可。

Modbus 寫數(shù)據(jù)
本文主要實(shí)現(xiàn)的功能是:使用EG系列網(wǎng)關(guān)對(duì)Modbus TCP從站設(shè)備實(shí)現(xiàn)寫數(shù)據(jù)操作。本文選擇EG8200Mini作為演示載體,但文檔所述方法適用于EG系列所有網(wǎng)關(guān)。
1.網(wǎng)絡(luò)環(huán)境搭建
Modbus從機(jī)參數(shù)(由Modbus從站設(shè)備廠家提供):
192.168.0.30:502 | |||
站地址:1 | |||
名稱 | 功能碼 | 寄存器地址 | 數(shù)據(jù)類型 |
第一路繼電器 | 0X01 | 00001(0x00) | Bool |
第二路繼電器 | 0X01 | 00002(0x01) | Bool |
第一路電流值設(shè)定值 | 0X03 | 40001(0x00) | Float |
第二路電流值設(shè)定值 | 0X03 | 40003(0x02) | Float |
如上所示,Modbus從站IP為192.168.0.30,EG8200Mini網(wǎng)關(guān)也需要更改LAN口IP為192.168.0.XX(XX可為1-255的任意值,注意IP不能沖突)。

2.驗(yàn)證環(huán)境
驗(yàn)證局域網(wǎng)內(nèi)從站和網(wǎng)關(guān)是否能PING通。使用PING節(jié)點(diǎn)填入從機(jī)IP,如果返回?cái)?shù)字表示網(wǎng)絡(luò)環(huán)境搭建成功。

第一步:添加相關(guān)節(jié)點(diǎn)
添加Modbus主站節(jié)點(diǎn)和Modbus解析節(jié)點(diǎn)。

添加TCP節(jié)點(diǎn)并配置連接。

第二步:配置Modbus點(diǎn)位

第三步:測(cè)試
寫單個(gè)。
這里以寫“第一路繼電器”為例:

寫多個(gè)。
這里以同時(shí)寫入兩個(gè)線圈和兩個(gè)保持寄存器點(diǎn)位為例。通過(guò)注入節(jié)點(diǎn)發(fā)送一條包含四個(gè)點(diǎn)位的消息,如 {"DO1":true,"AO1":true,"DO2":true,"AO2":true},實(shí)現(xiàn)四個(gè)點(diǎn)位的批量寫入。

擴(kuò)展延伸本文示例以Modbus TCP協(xié)議為例,如果使用Modbus RTU協(xié)議僅需將TCP節(jié)點(diǎn)替換為串口節(jié)點(diǎn)即可。
