久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

西門(mén)子PLC s7-1200 modbus-rtu通信實(shí)例編程詳細(xì)指導(dǎo)

 綜科智控 2020-11-24

【】絕密

【】NDA

【X】公開(kāi)

一,、 組網(wǎng)概述

本文以 ZKA-4488-RS485 為例介紹西門(mén)子PLC與深圳市綜科智控科技開(kāi)發(fā)有限公司的IO設(shè)備進(jìn)行Modbus通訊的步驟設(shè)置,。ZKA-4488-RS485 8 路數(shù)字量輸入(DI),8 路數(shù)字量輸出(DO),,4路模擬量輸入(AI,,0/4-20mA),4 路模擬量輸出設(shè)備(AO,,0/4-20mA),,485 通信總線。

ZKA-4488-RS485 出廠默認(rèn)通訊參數(shù)如下:

站號(hào):01

波特率:115200(注意:客戶需要參照綜科智控公司的配置指導(dǎo)文檔,,將ZKA-4488-RS485模塊的波特率修改為9600才能適用本例中的介紹)

數(shù)據(jù)格式:8,,N,1

二,、 S7-200 Modbus RTU通信

1 S7-200 Modbus RTU 通信簡(jiǎn)介

Modbus是公開(kāi)通信協(xié)議,,詳細(xì)的協(xié)議和規(guī)范,請(qǐng)?jiān)L問(wèn) Modbus 組織的網(wǎng)站:http://www./

Modbus具有兩種串行傳輸模式:分別為ASCIIRTU,。Modbus是一種單主站的主從通信模式,,Modbus網(wǎng)絡(luò)上只能有一個(gè)主站存在,主站在Modbus網(wǎng)絡(luò)上沒(méi)有地址,每個(gè)從站必須有唯一的地址,,從站的地址范圍為0 - 247,,其中0為廣播地址,從站的實(shí)際地址范圍為1 - 247,。

Modbus RTU通信以主從的方式進(jìn)行數(shù)據(jù)傳輸,,在傳輸?shù)倪^(guò)程中Modbus RTU主站是主動(dòng)方,即主站發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文到從站,,Modbus RTU從站返回響應(yīng)報(bào)文,。

S7-1200以下模塊支持 Modbus RTU通信:

名稱

CM 1241 RS232

CM 1241 RS422/485

CB 1241 RS485

訂貨號(hào)

6ES7241-1AH32-0XB0

6ES7241-1CH32-0XB0

6ES7241-1CH30-1XB0

通訊口類型

RS232

RS422/RS485

RS485

波特率(bps)

300 ;600 ;1.2 k; 2.4 k; 4.8 k; 9.6 k;19.2 k; 38.4 k; 57.6 k; 76.8 k; 115.2 k

校驗(yàn)方式

  • None(無(wú)校驗(yàn))

  • Even(偶校驗(yàn))

  • Odd(奇校驗(yàn))

  • Mark(校驗(yàn)位始終置為1)

  • Space(校驗(yàn)位始終為0)

流控

硬件流控;軟件流控

RS422 支持軟件流控

不支持

接收緩沖區(qū)

1kB

通訊距離(屏蔽電纜)

10m

1000m

1000m

電源消耗(5V DC)

200mA

220mA

50mA

電源消耗(24V DC)

-

-

80mA

注意:
1.
使用通信模塊CM 1241 RS232作為Modbus RTU主站時(shí),,只能與一個(gè)從站通訊,。
2.
使用通信模塊CM 1241 RS485作為Modbus RTU主站時(shí),則允許建立最多與 32 個(gè)從站的通訊,。
3.
使用通信板CB 1241 RS485時(shí),,CPU 固件必須為 V2.0 或更高版本,且使用軟件必須為STEP 7 Basic V11 STEP 7 Professional V11 以上更高版本,。

2 Modbus RTU 主站指令庫(kù)

隨著 TIA PORATL 軟件和 S7-1200 CPU 固件的不斷更新,,S7-1200 Modbus RTU 指令也出現(xiàn)了不同的版本。 用戶需要根據(jù)使用的軟件和硬件,,正確選擇使用符合要求的 S7-1200 Modbus RTU 指令來(lái)實(shí)現(xiàn) Modbus RTU 通信,。

軟件,硬件要求和指令版本說(shuō)明如下,。

TIA PORTAL 中的 S7-1200 Modbus RTU 指令

TIA PORTAL 軟件中提供了2個(gè)版本的 Modbus RTU指令,。如下圖 1 所示:

  • 早期版本的 Modbus RTU 指令(圖1. MODBUS (V2.2))僅可通過(guò) CM1241 通信模塊或 CB1241 通信板進(jìn)行 Modbus RTU 通信。

  • 新版本的 Modbus RTU 指令(圖1. MODBUS(RTU) V3.0)擴(kuò)展了 Modbus RTU 的功能,,該指令除了支持 CM1241 通信模塊,、CB1241 通信板,還支持 PROFINET PROFIBUS 分布式 I/O 機(jī)架上的 PTP 通信模塊實(shí)現(xiàn) Modbus RTU 通信,。

注意:新版本 Modbus RTU 指令的使用限制條件
新版本 Modbus RTU指令通過(guò)CM1241通信模塊或CB1241通信板進(jìn)行Modbus RTU通信時(shí),,需要滿足如下條件:
a. S7-1200 CPU
的固件版本不能低于V4.1
b. CM1241
通信模塊V2.1 以上或CB1241,。


1.兩個(gè)版本Modbus RTU 指令  

3Modbus RTU 主站功能編程

Modbus RTU V1 - V2 版本指令介紹S7-1200 作為Modbus RTU 主站

S7-1200 支持Modbus RTU通信模式的模塊可作為Modbus RTU主站,。以下以 CPU1215C DC/DC/DCCM1241 RS485 模塊為例,,介紹S7-1200 Modbus RTU 主站通信組態(tài)及編程步驟,。

硬件和軟件需求及所完成的通信任務(wù):

硬件:
CPU1215C DC/DC/DC (訂貨號(hào):6ES7 215-1AG31-0XB0)
CM1241 RS485 (訂貨號(hào):6ES7 241-1CH30-0XB0)
PS 307電源(訂貨號(hào):6ES7307-1KA02-0AA0
ZKA-4488-RS485(綜科智控品牌)
TP以太網(wǎng)電纜

軟件:
STEP 7 Professional V11 SP2 UPD4+HSP

所完成的通信任務(wù):
ZKA-4488-RS485從站中Modbus地址從30001開(kāi)始的5個(gè)字中的數(shù)據(jù),,分別讀取到Modbus RTU主站CPU1215C 中地址從DB1.DBW0開(kāi)始的5 個(gè)字中。

1.組態(tài)Modbus RTU 通信模塊

在硬件目錄里找到通信模塊”→“點(diǎn)到點(diǎn)”→“CM1241(RS485)”,,雙擊或拖拽此模塊至CPU左側(cè)即可,,如下圖1所示:

1 組態(tài)通信模塊

接下來(lái),,在設(shè)備視圖中用鼠標(biāo)選中CM1241(RS485)模塊,在屬性”→“端口組態(tài)中配置此模塊硬件接口參數(shù),。如下圖2所示:

以下以傳輸率=9.6Kbps,,奇偶校驗(yàn)=無(wú)奇偶校驗(yàn),數(shù)據(jù)位=8位字符,,停止位=1,,其它保持默認(rèn)設(shè)置為例。注意:請(qǐng)把ZKA-4488-RS485模塊的波特率改成和此處一致的參數(shù),。

2 RS485 端口設(shè)置

最后在硬件標(biāo)識(shí)符里確認(rèn)一下硬件標(biāo)識(shí)符為271,,如下圖3所示:

3 硬件標(biāo)識(shí)符

2.添加啟動(dòng)OB

在項(xiàng)目樹(shù)下選擇“CPU1215C DC/DC/DC”→“程序塊”→“添加新塊,在彈出的窗口中選擇“OB 組織塊”→ “Startup”,,添加啟動(dòng)OB 100,,如下圖4所示:

4 添加啟動(dòng)OB

3.調(diào)用MB_COMM_LOAD指令

為使端口一啟動(dòng)就被設(shè)置為Modbus RTU通信模式,可在OB 100中調(diào)用“MB_COMM_LOAD”指令,。調(diào)用“MB_COMM_LOAD”指令時(shí)會(huì)自動(dòng)彈出創(chuàng)建相應(yīng)背景數(shù)據(jù)塊的界面,,如下圖5所示:

5 調(diào)用MB_COMM_LOAD指令

點(diǎn)擊確認(rèn)為該指令創(chuàng)建背景數(shù)據(jù)塊后,為各輸入/輸出引腳分配地址,。尤其需注意MB_DB輸入引腳需指向“MB_MASTER”指令的背景數(shù)據(jù)塊,,如下圖6所示:

注意: “MB_COMM_LOAD”指令輸入位“REQ”需使用上升沿觸發(fā)。由于OB 100只在S7-1200啟動(dòng)時(shí)執(zhí)行一次,,因此,此例中將“REQ”設(shè)為“TRUE”,。

6 MB_COMM_LOAD指令

MB_COMM_LOAD指令參數(shù)意義如下表1所示:

引腳

說(shuō)明

EN

使能端

REQ

在上升沿執(zhí)行該指令

PORT

通信端口的硬件標(biāo)識(shí)符

BAUD

波特率選擇:3600,,600012000,,2400,,48009600,,19200,,3840057600,,76800,,115200 (注意:所有其它值均無(wú)效)

PARITY

奇偶檢驗(yàn)選擇:0-無(wú);1-奇校驗(yàn),;2-偶校驗(yàn)

FLOW_CTRL

流控制選擇:0-(默認(rèn)值)無(wú)流控制

RTS_ON_DLY

RTS延時(shí)選擇:0-(默認(rèn)值)

RTS_OFF_DLY

RTS關(guān)斷延時(shí)選擇:0-(默認(rèn)值)

RESP_TO

響應(yīng)超時(shí): 默認(rèn)值 = 1000 ms,。MB_MASTER 允許用于從站響應(yīng)的時(shí)間(以毫秒為單位)。

MB_DB

對(duì) MB_MASTER MB_SLAVE 指令所使用的背景數(shù)據(jù)塊,。

DONE

完成位:指令執(zhí)行完成且未出錯(cuò)置1

ERROR

錯(cuò)誤位:0-未檢測(cè)到錯(cuò)誤,;1-檢測(cè)到錯(cuò)誤,。在參數(shù)STATUS中輸出錯(cuò)誤代碼。

STATUS

端口組態(tài)錯(cuò)誤代碼

1 MB_COMM_LOAD指令參數(shù)意義

4.創(chuàng)建DATA_PTR數(shù)據(jù)發(fā)送,、接收緩沖區(qū)

通過(guò)程序塊”→ “添加新塊,,選擇數(shù)據(jù)塊(DB創(chuàng)建 DB 塊,選擇標(biāo)準(zhǔn)與S7- 300/400兼容,,點(diǎn)擊確認(rèn)鍵,。在DB中創(chuàng)建數(shù)據(jù)類型為5個(gè)字的數(shù)組,如下圖7所示:

注意:DATA_PTR數(shù)據(jù)發(fā)送,、接收緩沖區(qū)使用的DB訪問(wèn)類型必須是標(biāo)準(zhǔn)與S7- 300/400兼容,。

7 創(chuàng)建DATA_PTR 數(shù)據(jù)發(fā)送、接收緩沖區(qū)

5.調(diào)用MB_MASTER指令

OB1中調(diào)用“MB_MASTER”指令,,調(diào)用該指令時(shí)會(huì)自動(dòng)彈出創(chuàng)建相應(yīng)背景數(shù)據(jù)塊的界面,,如下圖8所示:

8 調(diào)用MB_MASTER指令

點(diǎn)擊確認(rèn)為該指令創(chuàng)建背景數(shù)據(jù)塊后,并為各輸入/輸出引腳分配地址,,如下圖9所示:

注意:“MB_MASTER”指令的輸入位“REQ”必須使用上升沿觸發(fā),。

以下以S7-1200作為Modbus RTU主站,用F04功能碼讀取Modbus RTU從站2,,從Modbus地址30001開(kāi)始的五個(gè)字,,接收的數(shù)據(jù)存放在緩沖區(qū)DB3.DBW0開(kāi)始區(qū)域?yàn)槔TO(shè)置如下所示:MB_ADDR=2,,MODE=0,,DATA_ADDR=30001DATA_LEN=5,。

地址對(duì)應(yīng)關(guān)系如下表2所示:

Modbus RTU主站CPU1215C 數(shù)據(jù)緩沖區(qū)地址

Modbus RTU從站Modbus地址

DB3.DBW0

30001

DB3.DBW2

30002

DB3.DBW4

30003

DB3.DBW6

30004

DB3.DBW8

30005

2 Modbus地址對(duì)應(yīng)關(guān)系

9 MB_MASTER指令

MB_MASTER指令參數(shù)意義如下表3所示:

引腳

說(shuō)明

EN

使能端

REQ

在上升沿執(zhí)行該指令,,請(qǐng)求將數(shù)據(jù)發(fā)送或讀取到Modbus從站

MB_ADDR

Modbus RTU從站地址。默認(rèn)地址范圍:0247,;擴(kuò)展地址范圍:065535,。值0被保留用于將消息廣播到所有Modbus從站。

MODE

模式選擇:指定請(qǐng)求類型

DATA_ADDR

從站中的起始地址:指定Modbus從站中將供訪問(wèn)的數(shù)據(jù)的起始地址,。

DATA_LEN

數(shù)據(jù)長(zhǎng)度:指定要在該請(qǐng)求中訪問(wèn)的位數(shù)或字?jǐn)?shù),。

DATA_PTR

數(shù)據(jù)指針: 指向要寫(xiě)入或讀取的數(shù)據(jù)的 M DB 地址(DB訪問(wèn)類型必須是標(biāo)準(zhǔn)與S7-300/400兼容)。

DONE

完成位:上一請(qǐng)求已完成且沒(méi)有出錯(cuò)后,,DONE 位將保持為 TRUE 一個(gè)掃描周期時(shí)間,。

BUSY

0 – 無(wú)正在進(jìn)行的 MB_MASTER 操作; 1 – MB_MASTER 操作正在進(jìn)行

EEROR

錯(cuò)誤位: 上一請(qǐng)求因錯(cuò)誤而終止后,,ERROR 位將保持為 TRUE 一個(gè)掃
描周期時(shí)間,。 STATUS 參數(shù)中的錯(cuò)誤代碼值僅在 ERROR =TRUE 的一個(gè)掃描周期內(nèi)有效。

STATUS

錯(cuò)誤代碼

3 MB_MASTER指令參數(shù)意義

關(guān)于MODE,,DATA_ADDR,,DATA_LEN可在下表4中查看:

MB_MASTER Modbus功能


Modbus地址參數(shù)

地址類型

Modbus數(shù)據(jù)長(zhǎng)度參數(shù)

Modbus功能

模式0

讀取

0000109999

輸出位

12000

01

1000119999

輸入位

12000

02

3000139999

輸入寄存器

1125

04

4000149999

400001465535(擴(kuò)展)

保持寄存器

1125

03

模式1

寫(xiě)入

0000109999

輸出位

1(單個(gè)位)

05

4000149999

400001465535(擴(kuò)展)

保持寄存器

1(單個(gè)字)

06

0000109999

輸出位

21968

15

4000149999

400001465535(擴(kuò)展)

保持寄存器

2123

16

模式2

有些Modbus從站不支持使用Modbus功能05H06H寫(xiě)入單個(gè)位或字,。在這樣的情況下,可通過(guò)模式2強(qiáng)制使用Modbus功能15H16H寫(xiě)入單個(gè)位或字

寫(xiě)入

0000109999

輸出位

21968

15

4000149999

400001465535(擴(kuò)展)

保持寄存器

1123

16

模式11

讀出從站的通信狀態(tài)字和事件計(jì)數(shù)器:狀態(tài)字指示指令的執(zhí)行狀態(tài)(0:未在執(zhí)行,;0xFFFF:正在執(zhí)行),。 每次成功傳送一條消息時(shí),事件計(jì)數(shù)器值將遞增,。使用該功能時(shí),,忽略“MB_MASTER”指令的 DATA_ADDR DATA_LEN 參數(shù)。

模式80

通過(guò)讀取錯(cuò)誤代碼 (0x0000) 檢查從站狀態(tài):每個(gè)請(qǐng)求1個(gè)字

模式81

通過(guò)診斷代碼 0x000A 復(fù)位從站的事件計(jì)數(shù)器:每個(gè)請(qǐng)求1個(gè)字

4 MB_MASTER Modbus功能表

7. Modbus RTU測(cè)試結(jié)果

STEP 7 Professional V11 UPD4軟件中打開(kāi)該項(xiàng)目CPU1215C DC/DC/DC監(jiān)控表,,觸發(fā)“MB_MASER”指令的輸入位M10.0,。PLC主站將從站ZKA-4488-RS485地址30001中的數(shù)值1130002中的數(shù)值12,,30003中的數(shù)值13,,30004中的數(shù)值1430005中的數(shù)值15,,分別讀取到了地址DB3.DBW0,,DB3.DBW2DB3.DBW4,,DB3.DBW6,,DB3.DBW8中,如下圖12所示:

12 Modbus RTU測(cè)試結(jié)果

S7-1200 Modbus RTU通信模式的多地址或多站點(diǎn)輪詢

多個(gè)CM 1241 RS485 通訊模塊之間可以使用 PROFIBUS 電纜相互連接,??梢詫?span style="font-family:"Arial","sans-serif""> 1 個(gè)主站和最多 31 個(gè) MODBUS 從站使用 PROFIBUS 電纜連接組網(wǎng)。

S7-1200 Modbus RTU輪詢需要通過(guò)上一條”MB_MASTER“指令輸出位“Done“=1來(lái)觸發(fā)下一條“MB_MASTER“指令,。具體說(shuō)明及編程思路請(qǐng)參考以下鏈接:

如何使用STEP 7(TIA Portal)V11SIMATIC S7-1200建立Modbus RTU通訊,?

http://support.automation./CN/view/zh/47756141

MB_COMM_LOADMB_MASTER指令STATUS錯(cuò)誤代碼

STATUS(W#16#)

說(shuō)明

0000

端口無(wú)錯(cuò)誤

8180

端口ID值無(wú)效

8181

波特率值無(wú)效

8182

奇偶校驗(yàn)值無(wú)效

8183

流控制值無(wú)效

8184

響應(yīng)超時(shí)值無(wú)效

8185

MB_DB參數(shù)不是MB_MASTERMB_SLAVE的背景數(shù)據(jù)塊

5 MB_COMM_LOAD指令STATUS錯(cuò)誤代碼

STATUS(W#16#)

說(shuō)明

0000

無(wú)錯(cuò)誤

80C8

從站超時(shí)。檢查波特率,,奇偶校驗(yàn)和從站的接線

80D1

接收方發(fā)出了暫停主動(dòng)傳輸?shù)牧骺刂普?qǐng)求并在指定的等待時(shí)間內(nèi)未重新激活該傳輸。

如果接收方在等待時(shí)間內(nèi)未檢測(cè)到 CTS,,則在硬件流控制期間也會(huì)生成該錯(cuò)誤,。

80D2

由于沒(méi)有從 DCE 接收到 DSR 信號(hào),傳送請(qǐng)求終止

80E0

接收緩沖區(qū)已滿,,消息被終止

80E1

奇偶校驗(yàn)錯(cuò)誤,,消息被終止

80E2

組幀錯(cuò)誤,消息被終止

80E3

超時(shí)錯(cuò)誤,,消息被終止

80E4

指定長(zhǎng)度超出總緩沖區(qū)大小,,消息被終止

8180

無(wú)效端口ID

8186

Modbus站地址無(wú)效

8188

對(duì)于廣播調(diào)用,參數(shù) MODE 的值無(wú)效,。

8189

數(shù)據(jù)地址值無(wú)效

818A

數(shù)據(jù)長(zhǎng)度值無(wú)效

818B

指向本地?cái)?shù)據(jù)源/目標(biāo)的指針無(wú)效

818C

DATA_PTR的指針無(wú)效:使用指向位存儲(chǔ)區(qū)或訪問(wèn)類型為標(biāo)準(zhǔn) - S7-300/400 兼容的數(shù)據(jù)塊的指針,。

8200

端口正忙于處理傳送請(qǐng)求

6 MB_MASTER指令STATUS錯(cuò)誤代碼(指令的通信和組態(tài)錯(cuò)誤消息)

STATUS(W#16#)

從站的響應(yīng)代碼

說(shuō)明

8380

-

CRC錯(cuò)誤

8381

01

不支持此功能碼

8382

03

數(shù)據(jù)長(zhǎng)度錯(cuò)誤

8383

02

數(shù)據(jù)地址錯(cuò)誤或地址超出 DATA_PTR 的有效范圍

8384

>03

數(shù)據(jù)值錯(cuò)誤

8385

03

不支持此數(shù)據(jù)診斷代碼

8386

-

響應(yīng)中的功能代碼與傳送中的功能代碼不匹配

8387

-

響應(yīng)的從站錯(cuò)誤

8388

-

從站對(duì)寫(xiě)請(qǐng)求的響應(yīng)不正確

7 MB_MASTER指令STATUS錯(cuò)誤代碼(Modbus 協(xié)議的錯(cuò)誤消息)

4 連接超時(shí)參數(shù)

S7-1200 Mobus RTU通信網(wǎng)絡(luò)中包含多個(gè)從站站點(diǎn)時(shí),,由于輪詢的網(wǎng)絡(luò)特性,只能同時(shí)讀或?qū)懸粋€(gè)站點(diǎn)數(shù)據(jù),。因此有如下因素,,會(huì)影響到最終整體的輪詢時(shí)間:

1. 通信速率(波特率)設(shè)置時(shí)間

2. 每個(gè)站點(diǎn)的通信數(shù)據(jù)量

3. 站點(diǎn)數(shù)量

4. 通信距離

5. 各站點(diǎn)連接時(shí)間

無(wú)論是由于信號(hào)干擾,硬件質(zhì)量引起的從站掉站或是由于工程需要暫時(shí)關(guān)閉站點(diǎn),,此時(shí)都會(huì)由于各站點(diǎn)連接時(shí)間的增加而使通信系統(tǒng)的輪詢時(shí)間大大延長(zhǎng),。在S7-1200Modbus RTU通信中,主要有三個(gè)參數(shù)與各站點(diǎn)連接時(shí)間的設(shè)置相關(guān),。

1. 從站響應(yīng)時(shí)間RESP_TO

如圖1所示,,V2.x版本的MB_COMM_LOAD初始化塊可設(shè)置從站響應(yīng)時(shí)間RESP_TO參數(shù):

設(shè)置單次連接從站的可響應(yīng)時(shí)間,范圍為5ms65535ms(默認(rèn)值為1000ms),;即如從站在此時(shí)間段內(nèi)未作出響應(yīng),,則MB_MASTER將在發(fā)送指定次數(shù)的重試請(qǐng)求后終止請(qǐng)求并提示錯(cuò)誤信息80C8

1. RESP_TO參數(shù)設(shè)置

注意:如圖2所示,,Modbus從站的執(zhí)行頻率須至少小于RESP_TO設(shè)置的響應(yīng)時(shí)間(需要考慮響應(yīng)延遲時(shí)間),,才可以正常通訊。

2. 從站響應(yīng)時(shí)間

2.重試次數(shù)RETRIES

在初始化功能塊MB_COMM_LOAD的背景數(shù)據(jù)塊中,,可設(shè)置重試次數(shù)RETRIES參數(shù):

主站在返回?zé)o響應(yīng)錯(cuò)誤代碼0x80C8 之前的重試次數(shù),。(默認(rèn)值為2次)
注意:此參數(shù)表示初次連接無(wú)響應(yīng)后,再次連接的次數(shù),;即以默認(rèn)2次為例,,實(shí)際嘗試連接次數(shù)為3次。

3 RETRIES參數(shù)設(shè)置

注意:在更改RETRIES參數(shù)后,,需要重新使能MB_COMM_LOAD功能塊的REQ管腳,,否則更改參數(shù)不生效。

3. 主站定時(shí)參數(shù)Blocked_Proc_Timeout

當(dāng)由于某些原因(如已發(fā)出主站請(qǐng)求,,但在徹底完成該請(qǐng)求前停止調(diào)用主站功能塊時(shí)),,造成DoneError均沒(méi)有置1時(shí),需要提供一個(gè)定時(shí)時(shí)間,,在時(shí)間到達(dá)后置位,,以便執(zhí)行下一個(gè)功能塊或輪詢下一個(gè)站點(diǎn)。

MB_Master的背景數(shù)據(jù)塊中提供了主站定時(shí)參數(shù)Blocked_Proc_Timeout(范圍0S5.5S,,默認(rèn)3S

此前的RESP_TO 是針對(duì)從站響應(yīng)時(shí)間的,,而Blocked_Proc_Timeout則是針對(duì)主站的定時(shí)時(shí)間,此功能參數(shù)用于防止單個(gè) MB_Master 指令獨(dú)占或鎖定對(duì)端口的訪問(wèn),。

4. Blocked_Proc_Timeout參數(shù)設(shè)置

5 Modbus RTU 主站常問(wèn)問(wèn)題

S7-1200 是否支持 Modbus ASCII 通信模式,?

西門(mén)子不提供支持上述通信模式的的現(xiàn)成指令,需要用戶自己用自由口模式編程,。

Modbus RTU指令V1V2兩個(gè)版本有什么區(qū)別,?

Modbus RTU指令版本 V2 將參數(shù) “REQ” “DONE” 添加到“MB_COMM_LOAD”指令,。而且,“MB_MASTER”“MB_SLAVE ”指令的“MB_ADDR ”參數(shù)現(xiàn)在允許一個(gè) UInt 值以進(jìn)行擴(kuò)展尋址,。

同一CPU程序中是否可以同時(shí)使用V1V2兩個(gè)不同版本的Modbus RTU指令,?

不能在同一CPU 程序中同時(shí)使用V1V1.x)和V2V2.y)指令版本。用戶程序的 Modbus 指令必須具有相同的主版本號(hào),;主版本組內(nèi)的各個(gè)指令可具有不同的次版本號(hào),。

S7-1200 通信模塊CM1241是否可作為Modbus RTU主站或作為Modbus RTU從站?

對(duì)S7-1200 通信模塊CM1241組態(tài)并編程調(diào)用“MB_COMM_LOAD”指令,,可將其設(shè)置為Modbus RTU通信模式,。通過(guò)編程調(diào)用“MB_MASTER”指令,S7-1200 通信模塊CM1241可作為Modbus RTU主站,,或調(diào)用“MB_SLAVE”指令,,S7-1200 通信模塊CM1241可作為Modbus RTU從站。

注意:無(wú)論S7-1200 通信模塊CM1241作為Modbus RTU主站還是從站,,都需要調(diào)用“MB_COMM_LOAD”指令進(jìn)行編程,。

由于某一個(gè)從站掉站引起的輪詢周期時(shí)間延長(zhǎng),如何減小此影響,?

通常,,S7-1200可同時(shí)調(diào)整兩個(gè)參數(shù):從站響應(yīng)時(shí)間 RESP_TO和重試次數(shù) RETRIES,用于減小Modbus從站掉站或暫時(shí)關(guān)閉而增大的輪詢周期時(shí)間,。
例:系統(tǒng)默認(rèn)的嘗試連接次數(shù)為3次,,每次1S,總計(jì)3S,;
可根據(jù)項(xiàng)目實(shí)際工況適當(dāng)減小從站響應(yīng)時(shí)間RESP_TO,。這一時(shí)間無(wú)法估算,建議多次測(cè)試,,確認(rèn)每個(gè)從站都能夠正常穩(wěn)定連接情況下,,將此時(shí)間設(shè)置的盡量小。
以設(shè)置500ms為例,。再將RETRIES設(shè)置為0,。即對(duì)于每個(gè)從站,主站只嘗試連接一次,,總計(jì)耗時(shí)500ms

MB_MASTER報(bào)錯(cuò)8200(端口正忙于處理傳送請(qǐng)求),,如何處理,?

此情況是由于MB_MASTERDONEERROR均未置位從而與后續(xù)MB_MASTER沖突導(dǎo)致。確保接通下一個(gè)MB_MASTER的時(shí)間大于Blocked_Proc_Timeout的設(shè)定時(shí)間(默認(rèn)3S),。

如何檢查S7-1200 通信模塊CM1241是否已被成功設(shè)置為Modbus RTU通信模式,?

可在程序或監(jiān)控表中查看“MB_COMM_LOAD”指令的輸出位“DONE”,,“ERROR”以及“STATUS”狀態(tài)來(lái)判斷S7-1200 通信模塊CM1241是否已被成功設(shè)置為Modbus RTU通信模式。

  • 如果該模塊被成功設(shè)置為Modbus RTU通信模式:“MB_COMM_LOAD”指令輸出位“DONE”=1,,“ERROR”=0,,輸出狀態(tài)字“STATUS”=0

  • 如果該模塊未被成功設(shè)置為Modbus RTU通信模式:“MB_COMM_LOAD”指令輸出位“DONE”=0,,“ERROR”=1,,輸出狀態(tài)字“STATUS”輸出錯(cuò)誤代碼。具體錯(cuò)誤原因可查看“MB_COMM_LOAD指令STATUS錯(cuò)誤代碼表,。

執(zhí)行“MB_MASTER”指令,,總是顯示輸出位“Busy”=1,為什么,?

因?yàn)槎丝谡τ谔幚韨魉驼?qǐng)求,。出現(xiàn)該錯(cuò)誤時(shí)請(qǐng)檢查“MB_MASTER“指令輸入位”REQ“是否為上升沿觸發(fā),或是否有其它的多個(gè)“MB_MASTER”指令在執(zhí)行,。

通過(guò)執(zhí)行“MB_MASTER”指令無(wú)法寫(xiě)入或讀取Modbus RTU叢站地址的數(shù)據(jù),,但程序中監(jiān)視“MB_MASTER”指令錯(cuò)誤位“Error”=0,錯(cuò)誤代碼“STATUS”=16#0,,為什么,?

“MB_MASTER”指令上一請(qǐng)求因錯(cuò)誤而終止后,ERROR 位將保持為 TRUE 一個(gè)掃描周期時(shí)間,,并且 STATUS 參數(shù)中的錯(cuò)誤代碼值僅在 ERROR =TRUE 的一個(gè)掃描周期內(nèi)有效,,因此無(wú)法通過(guò)程序或監(jiān)控表查看到??刹捎萌缦滤镜木幊谭绞綄?span style="font-family:"Arial","sans-serif"">ERROR 和 STATUS 參數(shù)讀出,。

13 捕捉錯(cuò)誤代碼

S7-1200 作為Modbus RTU 主站,如何對(duì)Modbus RTU從站進(jìn)行0-65535擴(kuò)展尋址,?

通常,,“MB_MASTER”指令的背景數(shù)據(jù)塊“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”默認(rèn)為0,可以對(duì)Modbus RTU從站地址0-247進(jìn)行訪問(wèn),。

“MB_MASTER”指令的背景數(shù)據(jù)塊“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”設(shè)置為1,,才能對(duì)Modbus RTU從站進(jìn)行0-65535擴(kuò)展尋址??砂凑杖缦虏襟E設(shè)置“EXTENDED_ADDRESSING”

首先找到系統(tǒng)塊”→“程序資源,,雙擊“MB_MASTER_DB”,在“MB_MASTER”指令的背景數(shù)據(jù)塊“MB_MASTER_DB”中查看“EXTENDED_ADDRESSING”,。

14 擴(kuò)展地址區(qū)

監(jiān)控表內(nèi)輸入“MB_MASTER_DB.EXTENDED_ADDRESSING”,將該位置1,。

15 修改變量

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多