Modbus RTU 和 Modbus TCP 通信概
Modbus 功能代碼
● CPU 作為 Modbus RTU 主站(或 Modbus TCP 客戶端)運(yùn)行時(shí),可在遠(yuǎn)程 Modbus RTU 從站(或 Modbus TCP 服務(wù)器)中讀/寫數(shù)據(jù)和 I/O 狀態(tài)。可在程序邏輯中讀取并處理遠(yuǎn)程數(shù)據(jù)。
● CPU 作為 Modbus RTU 從站(或 Modbus TCP 服務(wù)器)運(yùn)行時(shí),監(jiān)控設(shè)備可在 CPU 存儲(chǔ)器中讀/寫數(shù)據(jù)和 I/O 狀態(tài)。RTU 主站(或 Modbus TCP 客戶端)可以將新值寫入從站/服務(wù)器 CPU 存儲(chǔ)器,以供用戶程序邏輯使用。
RTU 站 :標(biāo)準(zhǔn)站地址 1 到 247擴(kuò)展站地址 1 到 65535
TCP 站 :站地址 IP 地址和端口號(hào)
實(shí)際可用的 Modbus 存儲(chǔ)區(qū)地址數(shù)取決于 CPU 型號(hào)、存在多少工作存儲(chǔ)器以及其他程序數(shù)據(jù)占用多少 CPU 存儲(chǔ)區(qū)。下表給出地址范圍的額定值。
Modbus RTU 通信
Modbus RTU(遠(yuǎn)程終端單元)是一個(gè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議,它使用 RS232 或 RS485 電氣連接在 Modbus 網(wǎng)絡(luò)設(shè)備之間傳輸串行數(shù)據(jù)。可在帶有一個(gè) RS232 或 RS485 CM 或一個(gè) RS485 CB 的 CPU 上添加 PtP(點(diǎn)對(duì)點(diǎn))網(wǎng)絡(luò)端口。Modbus RTU 使用主/從網(wǎng)絡(luò),單個(gè)主設(shè)備啟動(dòng)所有通信,而從設(shè)備只能響應(yīng)主設(shè)備的請(qǐng)求。主設(shè)備向從一個(gè)從設(shè)備地址發(fā)送請(qǐng)求,然后該從設(shè)備地址對(duì)命令做出響應(yīng)。
Modbus TCP 通信
Modbus TCP(傳輸控制協(xié)議)是一個(gè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議,它使用 CPU 上的 PROFINET 連接器進(jìn)行 TCP/IP 通信。不需要額外的通信硬件模塊。
我們主要以Modbus TCP為主介紹:
在指令任務(wù)卡中,在“通信”(Communication) 組中的“其它”(Others) 下顯示 MODBUS TCP 指令。
要更改 Modbus TCP 指令的版本,請(qǐng)從下拉列表中選擇相應(yīng)版本。可以選擇一組指令或分別選擇各個(gè)指令。
使用指令樹將 Modbus TCP 指令放入程序時(shí),將在項(xiàng)目樹中創(chuàng)建新的 FB 實(shí)例。在項(xiàng)目樹的“PLC_x > 程序塊 > 系統(tǒng)塊 > 程序資源”(PLC_x > Program blocks > System blocks > Program resources) 下可看到新的 FB 實(shí)例。
要確認(rèn)程序中 Modbus TCP 指令的版本,必須檢查項(xiàng)目樹的屬性而不是程序編輯器中顯示的框的屬性。選擇項(xiàng)目樹的 Modbus TCP FB 實(shí)例,單擊右鍵,選擇“屬性”(Properties),然后選擇“信息”(Information) 頁查看 Modbus TCP 指令的版本號(hào)。
Modbus TCP 指令
MB_CLIENT(作為 Modbus TCP 客戶端使用 PROFINET 進(jìn)行通信)指令
"MB_CLIENT_DB"(
REQ:=_bool_in_,
DISCONNECT:=_bool_in_,
MB_MODE:=_usint_in_,
MB_DATA_ADDR:=_udint_in_,
MB_DATA_LEN:=_uint_in_,
DONE=>_bool_out_,
BUSY=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
MB_DATA_PTR:=_variant_inout_,
CONNECT:=_variant_inout_);
MB_CLIENT 作為 Modbus TCP 客戶端,通過 S7-1200 CPU 上的 PROFINET 端口進(jìn)行通信。不需要額外的通信硬件模塊。MB_CLIENT 可進(jìn)行客戶端-服務(wù)器連接、發(fā)送 Modbus 功能請(qǐng)求、接收響應(yīng),以及控制 Modbus TCP 服務(wù)器的斷開。
REQ In Bool
FALSE = 無 Modbus 通信請(qǐng)求TRUE = 請(qǐng)求與 Modbus TCP 服務(wù)器通信
DISCONNECT IN Bool
DISCONNECT 參數(shù)允許程序控制與 Modbus 服務(wù)器設(shè)備的連接和斷開。如果 DISCONNECT = 0 且不存在連接,則 MB_CLIENT 嘗試連接到分配的 IP 地址和端口號(hào)。如果 DISCONNECT = 1 且存在連接,則嘗試斷開連接操作。每當(dāng)啟用此輸入時(shí),無法嘗試其它操作。
MB_MODE IN USInt
模式選擇:分配請(qǐng)求類型(讀、寫或診斷)。
MB_DATA_ADDR IN UDInt
Modbus 起始地址:分配 MB_CLIENT 訪問的數(shù)據(jù)的起始地址。有效地址的相關(guān)信息,請(qǐng)參見下面的 Modbus 功能表。
MB_DATA_LEN IN UInt
Modbus 數(shù)據(jù)長(zhǎng)度:分配此請(qǐng)求中要訪問的位數(shù)或字?jǐn)?shù)。有效長(zhǎng)度的相關(guān)信息,請(qǐng)參見下面的 Modbus 功能表。
MB_DATA_PTR IN_OUT Variant
指向 Modbus 數(shù)據(jù)寄存器的指針:寄存器緩沖進(jìn)出 Modbus 服務(wù)器的數(shù)據(jù)。指針必須分配一個(gè)未進(jìn)行優(yōu)化的全局 DB 或 M 存儲(chǔ)器地址。
CONNECT IN_OUT Variant
引用包含系統(tǒng)數(shù)據(jù)類型為“TCON_IP_v4”的連接參數(shù)的數(shù)據(jù)塊結(jié)構(gòu)。
DONE OUT Bool
上一請(qǐng)求已完成且沒有出錯(cuò)后,DONE 位將保持為 TRUE 一個(gè)掃描周期時(shí)間。
BUSY OUT Bool
● 0 - 無 MB_CLIENT 操作正在進(jìn)行
● 1 - MB_CLIENT 操作正在進(jìn)行
ERROR OUT Bool
MB_CLIENT 執(zhí)行因錯(cuò)誤而結(jié)束后,ERROR 位將在一個(gè)掃描周期時(shí)間內(nèi)保持為 TRUE。STATUS 參數(shù)中的錯(cuò)誤代碼僅在 ERROR = TRUE 的一個(gè)循環(huán)周期內(nèi)有效。
STATUS OUT Word
編輯:jq
-
MODBUS
+關(guān)注
關(guān)注
28文章
1821瀏覽量
77320 -
TCP
+關(guān)注
關(guān)注
8文章
1378瀏覽量
79309 -
RTU
+關(guān)注
關(guān)注
0文章
418瀏覽量
28766
原文標(biāo)題:S 7-1200-Modbus RTU 和 Modbus TCP 通信概
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Modbus網(wǎng)關(guān)如何實(shí)現(xiàn)Modbus RTU與Modbus TCP協(xié)議的數(shù)據(jù)采集?
Modbus RTU協(xié)議與Modbus TCP/IP協(xié)議的區(qū)別
MODBUS TCP 轉(zhuǎn) CANOpen
![<b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b> 轉(zhuǎn) CANOpen](https://file1.elecfans.com/web2/M00/08/97/wKgaombyRnmAZrAyAAGHzRG0j8s875.png)
EtherNet/IP轉(zhuǎn)Modbus-RTU主站網(wǎng)關(guān)(EtherNet/IP轉(zhuǎn)Modbus-RTU)
![EtherNet/IP轉(zhuǎn)<b class='flag-5'>Modbus-RTU</b>主站網(wǎng)關(guān)(EtherNet/IP轉(zhuǎn)<b class='flag-5'>Modbus-RTU</b>)](https://file1.elecfans.com/web2/M00/05/1E/wKgaombMIuGAMqO0AAK22mjr9qA153.png)
如何快速實(shí)現(xiàn)MODBUS TCP轉(zhuǎn)Profinet——泗博網(wǎng)關(guān)EPN-330
![如何快速實(shí)現(xiàn)<b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b>轉(zhuǎn)Profinet——泗博網(wǎng)關(guān)EPN-330](https://file1.elecfans.com/web2/M00/01/FC/wKgaomazP32AEW17AAVLkqDJXQU727.png)
Modbus網(wǎng)關(guān)實(shí)現(xiàn)Modbus RTU和Modbus TCP協(xié)議相互轉(zhuǎn)換
![<b class='flag-5'>Modbus</b>網(wǎng)關(guān)實(shí)現(xiàn)<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>協(xié)議相互轉(zhuǎn)換](https://file1.elecfans.com/web2/M00/00/1F/wKgZomashOGAbEs8AAB93aBsB4w095.png)
鋇錸Modbus RTU/TCP協(xié)議轉(zhuǎn)換網(wǎng)關(guān)BL120
![鋇錸<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>/<b class='flag-5'>TCP</b>協(xié)議轉(zhuǎn)換網(wǎng)關(guān)BL120](https://file1.elecfans.com/web2/M00/01/02/wKgaomasVvKAaofyABCRmh8Hqk8016.png)
請(qǐng)問西門子S7-1200如何實(shí)現(xiàn)Modbus TCP通訊?
PLC協(xié)議、Modbus RTU TCP 、DL T645、IEC101-104、BACnet 轉(zhuǎn)Modbus TCP RTU、OPC UA、MQTT、BACnet IP協(xié)議網(wǎng)關(guān)
![PLC協(xié)議、<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>TCP</b> 、DL T645、IEC101-104、BACnet 轉(zhuǎn)<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> <b class='flag-5'>RTU</b>、OPC UA、MQTT、BACnet IP協(xié)議網(wǎng)關(guān)](https://file1.elecfans.com/web2/M00/FE/1F/wKgZomagni6AaKw1AAJphE4qBiY785.png)
Modbus RTU、Modbus TCP轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)Modbus設(shè)備與云平臺(tái)的無縫通信
![<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>、<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)<b class='flag-5'>Modbus</b>設(shè)備與云平臺(tái)的無縫<b class='flag-5'>通信</b>](https://file1.elecfans.com/web2/M00/FD/E4/wKgZomafa62AHtzCAAKmcyMNOwg385.png)
說明白了,Modbus RTU通信協(xié)議解析-成都電路板單片機(jī)開發(fā)
Modbus RTU轉(zhuǎn)PROFINET協(xié)議轉(zhuǎn)換網(wǎng)關(guān) HT1S-PNS485-S10
BL124采集Modbus RTU和Modbus TCP協(xié)議
![BL124采集<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>協(xié)議](https://file1.elecfans.com//web2/M00/DF/42/wKgaomYvWkaAYdNeAAEiALgBMJ8667.jpg)
Modbus TCP與Modbus RTU的區(qū)別
![<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>與<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>的區(qū)別](https://file1.elecfans.com/web2/M00/C8/09/wKgZomYYimKASkG0AADgBPl8RJU627.png)
評(píng)論