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)??稍诔绦蜻壿嬛凶x取并處理遠(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)版本??梢赃x擇一組指令或分別選擇各個(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ù)長度:分配此請(qǐng)求中要訪問的位數(shù)或字?jǐn)?shù)。有效長度的相關(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
執(zhí)行條件代碼
審核編輯:郭婷
-
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7761瀏覽量
172289 -
cpu
+關(guān)注
關(guān)注
68文章
11339瀏覽量
226026 -
服務(wù)器
+關(guān)注
關(guān)注
14文章
10380瀏覽量
91782
原文標(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)先 登錄
Profinet 與 Modbus RTU/485 輕松建立通信
西門子200 SMART與臺(tái)達(dá)DVP PLC通訊:工業(yè)自動(dòng)化Modbus RTU 轉(zhuǎn)Modbus TCP 方案
研華工控機(jī)與羅克韋爾PLC通訊工業(yè)自動(dòng)化Modbus RTU 轉(zhuǎn)Modbus TCP 方案
智能物流立體倉庫通訊困境:基于協(xié)議轉(zhuǎn)換的Modbus TCP 轉(zhuǎn) Modbus RTU解決方案
光伏逆變器上料-測試協(xié)同依托數(shù)據(jù)采集的Modbus TCP 轉(zhuǎn) Modbus RTU協(xié)議應(yīng)用案例
DLT698轉(zhuǎn)Modbus RTU-TCP網(wǎng)關(guān)
開腦洞,Modbus為什么叫Modbus?
工業(yè)場景下塔訊 Modbus RTU 轉(zhuǎn) Modbus TCP 網(wǎng)關(guān)實(shí)現(xiàn)橫河流量計(jì)與 WinCC 數(shù)據(jù)交互案例
塔訊 Modbus RTU 轉(zhuǎn) Modbus TCP 在污水處理廠 PLC 數(shù)據(jù)采集中的配置案例
Modbus TCP 轉(zhuǎn) Modbus RTU電腦端 TCP 與西門子 V20 變頻器的通信案例
什么是Modbus TCP協(xié)議
CCLinkIE轉(zhuǎn)Modbus TCP:光伏逆變器的“萬能鑰匙”
CC\\-Link IE轉(zhuǎn)Modbus RTU:讓伺服驅(qū)動(dòng)輕松“入網(wǎng)”的秘籍
一觸即達(dá):CCLink IE遇見Modbus RTU,解鎖智能電表“數(shù)據(jù)超車道”
西門子200smart ST20與三菱FX5U-64MT/ES的Modbus TCP通信
Modbus RTU和Modbus TCP的通信過程分析
評(píng)論