以下 Modbus 說(shuō)明闡述了 CP 341 (S7 300) 和 CP 441-2 (S7 400) 通信處理器上可重新加載驅(qū)動(dòng)程序的用法,以及 Modbus/USS 模型中 ET 200S 1SI 模塊的使用。
通過(guò)適當(dāng)配備的通信模塊和相關(guān)指令,用戶(hù)可以在遠(yuǎn)程 Modbus 控制系統(tǒng)(如 Modicon PLC 或 Honeywell TDC3000)與 SIMATIC S7 之間建立通信連接。
RTU 格式的 GOULD-MODBUS 協(xié)議用于傳輸。
函數(shù)代碼 01、02、03、04、05、06、08、15 和 16 用于作為 Modbus 從站的通信模塊與主站系統(tǒng)之間的通信。
如果將 SIMATIC S7 通信模塊用作 Modbus 主站,則函數(shù)代碼 07、11 和 12 也可使用。
modbus 協(xié)議是一種基于主站/從站和客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)的通信協(xié)議。
使用的程序是明碼、異步半雙工的程序。 數(shù)據(jù)傳輸無(wú)須握手。
主站可主動(dòng)發(fā)起傳輸,而 CP/S7 CPU 用作從站。
無(wú)法進(jìn)行從從站到從站的幀通信。
作為主站,通信模塊將初始化傳輸,隨后輸出請(qǐng)求消息幀,然后在組態(tài)的應(yīng)答監(jiān)視時(shí)間內(nèi),等待來(lái)自從站的響應(yīng)消息幀。
“主站-從站”和/或“從站-主站”數(shù)據(jù)交換以從站地址 開(kāi)始,然后是函數(shù)代碼。 然后傳輸數(shù)據(jù)。 數(shù)據(jù)域的結(jié)構(gòu)取決于使用的函數(shù)代碼。 消息幀的最后傳送的是 CRC 校驗(yàn)碼。
地址 | 函數(shù) | 數(shù)據(jù) | CRC 校驗(yàn) |
---|---|---|---|
字節(jié) | 字節(jié) | n 個(gè)字節(jié) | 2 個(gè)字節(jié) |
地址 | MODBUS 從站地址 |
函數(shù) | MODBUS 函數(shù)代碼 |
數(shù)據(jù) | 消息幀數(shù)據(jù): 字節(jié)數(shù)、線(xiàn)圈編號(hào)和數(shù)據(jù) |
CRC 校驗(yàn) | 消息幀校驗(yàn)和 |
從站地址的范圍是 1 到 255。該地址用于對(duì)總線(xiàn)上已定義的從站進(jìn)行尋址。
主站使用從站地址 0 對(duì)總線(xiàn)上的所有從站進(jìn)行尋址。
廣播消息僅允許與寫(xiě)函數(shù)代碼 05、06、15 和 16 相結(jié)合。
從站不會(huì)針對(duì)廣播消息發(fā)出響應(yīng)消息幀。
函數(shù)代碼定義了消息幀的含義。 同樣它也定義了消息幀的結(jié)構(gòu)。 通信模塊支持以下函數(shù)代碼:
函數(shù)代碼 | 符合 MODBUS 規(guī)范的功能 |
---|---|
01 | 讀線(xiàn)圈狀態(tài) |
02 | 讀輸入狀態(tài) |
03 | 讀保持寄存器 |
04 | 讀輸入寄存器 |
05 | 寫(xiě)單個(gè)線(xiàn)圈 |
06 | 預(yù)設(shè)單個(gè)寄存器 |
07 | 讀取異常狀態(tài)(僅主站) |
08 | 環(huán)路測(cè)試 |
11 | 獲取通信事件計(jì)數(shù)器(僅主站) |
12 | 獲取通信事件日志(僅主站) |
15 | 寫(xiě)多個(gè)線(xiàn)圈 |
16 | 預(yù)設(shè)多個(gè)寄存器 |
數(shù)據(jù)域 DATA 用于傳送函數(shù)代碼特定數(shù)據(jù),例如:
字節(jié)數(shù)、線(xiàn)圈起始地址、寄存器起始地址、線(xiàn)圈數(shù)量和寄存器數(shù)量等等
請(qǐng)參見(jiàn)“函數(shù)代碼”部分。
消息幀的最后是由 2 個(gè)字節(jié)組成的 CRC 16 校驗(yàn)和。 校驗(yàn)和是按如下多項(xiàng)式計(jì)算的: x16 + x15 + x2 + 1。
先傳輸?shù)臀蛔止?jié),然后傳輸高位字節(jié)。
當(dāng)在傳輸 3.5 個(gè)字符所需的時(shí)間段內(nèi)(字符延時(shí)時(shí)間的 3.5 倍)不傳輸任何數(shù)據(jù)時(shí),可加載驅(qū)動(dòng)程序?qū)⒄J(rèn)為消息幀結(jié)束 (請(qǐng)參見(jiàn)《MODBUS 協(xié)議參考指南》)。
因此消息幀結(jié)束的**時(shí) (TIME_OUT) 取決于數(shù)據(jù)傳輸速率。
數(shù)據(jù)傳輸速率 | **時(shí) (TIME_OUT) |
---|---|
115200 bps | 0,3 ms |
76800 bps | 0,5 ms |
57600 bps | 0.7 ms |
38400 bps | 1 ms |
19200 bps | 2 ms |
9600 bps | 4 ms |
4800 bps | 8 ms |
2400 bps | 16 ms |
1200 bps | 32 ms |
600 bps | 64 ms |
300 bps | 128 ms |
“正常操作”期間,收到幀尾 TIME_OUT 后,對(duì)連接伙伴接收到的 Modbus 消息幀進(jìn)行評(píng)估和檢查。
在“干擾抑制”期間,通過(guò)帶有正確 CRC 代碼且正確格式化的接收幀來(lái)識(shí)別幀尾。
當(dāng)檢測(cè)到主站的請(qǐng)求消息幀有錯(cuò)誤時(shí),例如:寄存器地址非法,從站將設(shè)置響應(yīng)消息幀的函數(shù)代碼的較高值位。
隨后傳輸?shù)氖且粋€(gè)字節(jié)的錯(cuò)誤代碼,即描述錯(cuò)誤原因的異常代碼。
上述參數(shù)的含義的詳細(xì)描述可從手冊(cè)《GOULD MODICON Modbus 協(xié)議》中找到。
從站的錯(cuò)誤代碼響應(yīng)消息幀的結(jié)構(gòu)如下:
例如,從站地址 5,函數(shù)代碼 5,異常代碼 2
從站 EXCEPTION_CODE_xx 的響應(yīng)幀:
05H | 從站地址 |
85H | 函數(shù)代碼 |
02H | 異常代碼 (1...7) |
xxH | CRC 校驗(yàn)和“低字節(jié)” |
xxH | CRC 校驗(yàn)和“高字節(jié)” |
驅(qū)動(dòng)程序接收到錯(cuò)誤代碼響應(yīng)消息幀后,當(dāng)前的作業(yè)將由于錯(cuò)誤而結(jié)束。
對(duì)應(yīng)于接收到的錯(cuò)誤代碼(異常代碼 1-7)的錯(cuò)誤編號(hào)也將輸入到錯(cuò)誤消息區(qū)。
目標(biāo)數(shù)據(jù)塊中沒(méi)有條目。
根據(jù) MODBUS 規(guī)范定義了下列的錯(cuò)誤代碼:
錯(cuò)誤代碼 | 符合 MODBUS 規(guī)范的含義 | 原因—短描述* |
---|---|---|
1 | 函數(shù)非法 | 函數(shù)代碼非法 |
2 | 數(shù)據(jù)地址非法 | 從站具有非法的數(shù)據(jù)地址 |
3 | 數(shù)據(jù)值非法 | 從站具有非法的數(shù)據(jù)值 |
4 | 關(guān)聯(lián)設(shè)備發(fā)生故障 | 從站出現(xiàn)內(nèi)部錯(cuò)誤 |
5 | 確認(rèn) | 函數(shù)已執(zhí)行 |
6 | 忙,拒收消息 | 從站尚未準(zhǔn)備好接收消息 |
7 | 否定確認(rèn) | 該函數(shù)不能執(zhí)行。 |
* 檢查從站獲取更多詳細(xì)信息。 |
使用 RS232C 接口模塊的通信模塊上提供以下 RS232C 伴隨信號(hào):
DCD | (輸入) | 數(shù)據(jù)載體檢測(cè) | 檢測(cè)到的數(shù)據(jù)載體 |
DTR | (輸出) | 數(shù)據(jù)終端就緒 | 通信模塊就緒 |
DSR | (輸入) | 數(shù)據(jù)集準(zhǔn)備就緒 | 通信伙伴就緒 |
RTS | (輸出) | 請(qǐng)求發(fā)送 | 通信模塊發(fā)送準(zhǔn)備就緒 |
CTS | (輸入) | 清除發(fā)送 | 通信伙伴可以接收到通信模塊的數(shù)據(jù)(響應(yīng) CP 的 RTS = ON) |
RI | (輸入) | 振鈴指示器 | 振鈴指示器 |
通信模塊接通時(shí),輸出信號(hào)狀態(tài)為 OFF(未激活)。
用戶(hù)可以在模塊的屬性對(duì)話(huà)框中或者通過(guò)用戶(hù)程序中的指令組態(tài) DTR/DSR 和 RTS/CTS 控制信號(hào)的使用。
RS232C 伴隨信號(hào)可在以下情況下使用:
在組態(tài)自動(dòng)使用所有 RS232C 伴隨信號(hào)后使用。
通過(guò)相應(yīng)指令使用。 有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)“指令概述”部分。
提示 組態(tài)自動(dòng)使用 RS232C 伴隨信號(hào)后,將不能通過(guò)相應(yīng)指令控制 RTS 和 DTR(請(qǐng)參見(jiàn)“指令概述”部分)! 另一方面,始終可以通過(guò)相應(yīng)指令讀取所有 RS232C 伴隨信號(hào)。 |
以下各節(jié)說(shuō)明了控制和評(píng)估 RS232C 伴隨信號(hào)的基本過(guò)程。
可按以下方式實(shí)現(xiàn)在通信模塊上自動(dòng)使用 RS232C 伴隨信號(hào):
只要通信模塊通過(guò)組態(tài)切換到自動(dòng)使用 RS232C 伴隨信號(hào)的工作模式,模塊便會(huì)將 RTS 線(xiàn)路設(shè)置為 OFF,將 DTR 線(xiàn)路設(shè)置為 ON(通信模塊做好使用準(zhǔn)備)。
這將阻止在 DTR 線(xiàn)路設(shè)置成 ON 之前收發(fā)消息幀。 只要 DTR 仍設(shè)置為 OFF,便不能通過(guò) RS232C 接口接收任何數(shù)據(jù)。 如果執(zhí)行發(fā)送作業(yè),作業(yè)將被中止,并伴有相應(yīng)的錯(cuò)誤消息。
執(zhí)行發(fā)送作業(yè)時(shí),RTS 將設(shè)置為 ON 并且參數(shù)化的數(shù)據(jù)輸出等待時(shí)間將開(kāi)始計(jì)時(shí)。 當(dāng)數(shù)據(jù)輸出時(shí)間結(jié)束并且 CTS = ON 時(shí),將通過(guò) RS232C 接口發(fā)送數(shù)據(jù)。
如果 CTS 線(xiàn)路在數(shù)據(jù)輸出時(shí)間內(nèi)未設(shè)置為 ON 以便可以發(fā)送數(shù)據(jù),或者 CTS 在傳輸過(guò)程中更改為 OFF,發(fā)送作業(yè)會(huì)被中止,并生成錯(cuò)誤消息。
一旦數(shù)據(jù)發(fā)送完畢且**過(guò)組態(tài)的清除 RTS 時(shí)間,RTS 線(xiàn)路將立即設(shè)置為 OFF。 CP 不會(huì)等待 CTS 更改為 OFF。
一旦 DSR 線(xiàn)路設(shè)置為 ON,即可通過(guò) RS232C 接口接收數(shù)據(jù)。 如果通信模塊的接收緩沖區(qū)預(yù)警將要溢出,則通信模塊將不會(huì)響應(yīng)。
如果 DSR 從 ON 轉(zhuǎn)變成 OFF,激活的發(fā)送作業(yè)和數(shù)據(jù)接收都將取消,并產(chǎn)生錯(cuò)誤消息。 消息“DSR = OFF(自動(dòng)使用 V24 信號(hào))”將輸入到通信模塊的診斷緩沖區(qū)中。
提示 組態(tài)自動(dòng)使用 RS232C 伴隨信號(hào)后,將不能通過(guò)相應(yīng)指令控制 RTS 和 DTR! 有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)“指令概述”部分。 |
提示 在模塊的屬性對(duì)話(huà)框中設(shè)置“清除 RTS 時(shí)間”,以便使通信伙伴在 RTS 之前完整接收到消息幀的最后的字符,并且發(fā)送作業(yè)也會(huì)因此取消。 “數(shù)據(jù)輸出等待時(shí)間”也必須設(shè)置,這樣通信伙伴才能在**時(shí)之前做好接收準(zhǔn)備。 |
詞條
詞條說(shuō)明
函數(shù)代碼 12 — 獲取通信事件日志函數(shù)此函數(shù)代碼使用戶(hù)可以從從站中讀取下列信息。2 字節(jié)“狀態(tài)字”2 字節(jié)“事件計(jì)數(shù)器”,2 字節(jié)“消息計(jì)數(shù)器”和64 字節(jié)“事件字節(jié)”上述參數(shù)的含義在手冊(cè)“GOULD MODICON Modbus 協(xié)議”中做了詳細(xì)描述。SEND 源 DBSEND 源區(qū)域的結(jié)構(gòu):地址名稱(chēng)類(lèi)型初始值注釋+0.0地址BYTEB#16#5從站地址+1.0函數(shù)BYTEB#16#0C函數(shù)代
從工程師站下載WinCC Runtime Professional到操作員站 (Runtime PC)
本條目介紹如果從工程師站(ES)下載WinCC Runtime Professional到操作員站(OS)失敗,應(yīng)該檢查哪些注意事項(xiàng)。WinCC 安裝WinCC 項(xiàng)目網(wǎng)絡(luò)組態(tài)Simatic ShellWindows用戶(hù)設(shè)置SQL Server其他注釋W(xué)inCC 安裝?確保滿(mǎn)足以下條件:使用的WinCC Runtime Professional 版本和Windows 的版本兼容。可以使用兼
*墻綜述預(yù)定義的 IPv4 規(guī)則用戶(hù)特定 (S615)IP 服務(wù)ICMP 服務(wù)IP 協(xié)議IP 規(guī)則
“本地設(shè)定值輸入”選項(xiàng)卡設(shè)定值及其鏡像可使用下述選項(xiàng)從設(shè)定值輸出中獲取本地*的值,并在更改時(shí)將當(dāng)前值鏡像返回至伙伴。本地值改變的可能原因如操作員現(xiàn)場(chǎng)手動(dòng)輸入。上述功能可用于以下模塊:TIM?3V?IE / TIM?3V?IE?AdvancedTIM?4R?IE可針對(duì)以下數(shù)據(jù)點(diǎn)類(lèi)型組態(tài)上述功能:設(shè)定值輸入 (Set01W_S)設(shè)定值輸出 (Set01W_R)
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
電 話(huà): 021-37660026
手 機(jī): 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號(hào)4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
手 機(jī): 13681875601
電 話(huà): 021-37660026
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號(hào)4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com