淫妻交换
天海翼你的位置:淫妻交换 > 天海翼 > 大色网 Modbus_Master
大色网 Modbus_Master

2024-11-02 12:36    点击次数:171

  

大色网 Modbus_Master

Modbus RTU V1 - V2 版块领导先容(S7-1200 算作Modbus RTU 主站)

S7-1200 援救Modbus RTU通讯样式的模块可算作Modbus RTU主站。以下以 CPU1215C DC/DC/DC和CM1241 RS485 模块为例大色网,先容S7-1200 Modbus RTU 主站通讯组态及编程行为。

硬件和软件需求及所完成的通讯任务:

硬件: ① CPU1215C DC/DC/DC (订货号: 6ES7 215-1AG31-0XB0) ② CM1241 RS485 (订货号:6ES7 241-1CH30-0XB0) ③ PS 307电源(订货号:6ES7307-1KA02-0AA0) ④ PC(带以太网卡) ⑤ TP以太网电缆

软件: ① STEP 7 Professional V11 SP2 UPD4+HSP ② ModSim(该软件是第三方软件,不错从 Internet 网罗下载) 所完成的通讯任务: 将Modbus RTU从站ModSim中Modbus地址从40001运转的5个字中的数据,辩认读取到Modbus RTU主站CPU1215C 中地址从DB1.DBW0运转的5 个字中。

1.组态Modbus RTU 通讯模块

在硬件目次里找到“通讯模块”→“点到点”→“CM1241(RS485)”,双击或拖拽此模块至CPU左侧即可,如下图1所示:

图1 组态通讯模块

接下来,在“拓荒视图”顶用鼠标选中CM1241(RS485)模块,在“属性”→“端口组态”中配置此模块硬件接口参数。如下图2所示:

以下以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,罢手位=1,其它保抓默许确立为例。

图2 RS485 端口确立

临了在“硬件标记符”里说明一下硬件标记符为271,如下图3所示:

图3 硬件标记符

2.添加启动OB

在模样树下弃取“CPU1215C DC/DC/DC”→“法式块”→“添加新块”,在弹出的窗口中弃取“OB 组织块”→ “Startup”,添加启动OB 100,如下图4所示:

图4 添加启动OB

3.调用MB_COMM_LOAD领导

为使端口一启动就被确立为Modbus RTU通讯样式,可在OB 100中调用“MB_COMM_LOAD”领导。调用“MB_COMM_LOAD”领导时会自动掸出创建相应布景数据块的界面,如下图5所示:

图5 调用MB_COMM_LOAD领导

点击“说明”为该领导创建布景数据块后,为各输入/输出引脚分派地址。尤其需扫视MB_DB输入引脚需指向“MB_MASTER”领导的布景数据块,如下图6所示:

扫视: “MB_COMM_LOAD”领导输入位“REQ”需使用高潮沿触发。由于OB 100只在S7-1200启动时实行一次,因此,此例中将“REQ”设为“TRUE”。

图6 MB_COMM_LOAD领导

MB_COMM_LOAD领导参数意旨如下表1所示:

引脚

EN

REQ

PORT

BAUD

PARITY

FLOW_CTRL

RTS_ON_DLY

RTS_OFF_DLY

RESP_TO

反应超时: 默许值 = 1000 ms。MB_MASTER 允许用于从站反应的时刻(以毫秒为单元)。

MB_DB

对 MB_MASTER 或 MB_SLAVE 领导所使用的布景数据块。

DONE

完成位:领导实行完成且未出错置1

ERROR

异常位:0-未检测到异常;1-检测到异常。在参数STATUS中输出异常代码。

STATUS

表1 MB_COMM_LOAD领导参数意旨

4.创建DATA_PTR数据发送、接受缓冲区

通过“法式块”→ “添加新块”,弃取“数据块(DB)”创建 DB 块,弃取“法式与S7- 300/400兼容” ,点击“说明”键。在DB中创建数据类型为5个字的数组,如下图7所示:

扫视:DATA_PTR数据发送、接受缓冲区使用的DB打听类型必须是法式与S7- 300/400兼容。

图7 创建DATA_PTR 数据发送、接受缓冲区

5.调用MB_MASTER领导

在OB1中调用“MB_MASTER”领导,调用该领导时会自动掸出创建相应布景数据块的界面,如下图8所示:

图8 调用MB_MASTER领导

点击“说明”为该领导创建布景数据块后,并为各输入/输出引脚分派地址,如下图9所示:

扫视:“MB_MASTER”领导的输入位“REQ”必须使用高潮沿触发。

以下以S7-1200算作Modbus RTU主站,用F03功能码读取Modbus RTU从站2,从Modbus地址40001运转的五个字,接受的数据存放在缓冲区DB3.DBW0运转区域为例。确立如下所示:MB_ADDR=2,MODE=0,DATA_ADDR=40001,DATA_LEN=5。

地址对应联系如下表2所示:

Modbus RTU主站CPU1215C 数据缓冲区地址 Modbus RTU从站Modbus地址 DB3.DBW0 40001 DB3.DBW2 40002 DB3.DBW4 40003 DB3.DBW6 40004 DB3.DBW8 40005

表2 Modbus地址对应联系

图9 MB_MASTER领导

MB_MASTER领导参数意旨如下表3所示:

引脚 讲解

EN

使能端

REQ

在高潮沿实行该领导,苦求将数据发送或读取到Modbus从站

MB_ADDR

Modbus RTU从站地址。默许地址界限:0至247;推广地址界限:0至65535。值0被保留用于将讯息播送到所有Modbus从站。

MODE

样式弃取:指定苦求类型

DATA_ADDR

从站中的肇始地址:指定Modbus从站中将供打听的数据的肇始地址。

DATA_LEN

数据长度:指定要在该苦求中打听的位数或字数。

DATA_PTR

数据指针: 指向要写入或读取的数据的 M 或 DB 地址(DB打听类型必须是法式与S7-300/400兼容)。

DONE

完成位:上一苦求已完成且莫得出错后,DONE 位将保抓为 TRUE 一个扫描周期时刻。

BUSY

0 – 无正在进行的 MB_MASTER 操作; 1 – MB_MASTER 操作正在进行

EEROR

异常位: 上一苦求因异常而断绝后,ERROR 位将保抓为 TRUE 一个扫 描周期时刻。 STATUS 参数中的异常代码值仅在 ERROR =TRUE 的一个扫描周期内灵验。

STATUS

异常代码

表3 MB_MASTER领导参数意旨

对于MODE,DATA_ADDR,DATA_LEN可不才表4中巡逻:

MB_MASTER Modbus功能  

Modbus地址参数

地址类型

Modbus数据长度参数

Modbus功能

样式0

读取

00001到09999

输出位

1到2000

01

10001到19999

输入位

1到2000

02

30001到39999

输入寄存器

1到125

04

40001到49999

400001到465535(推广)

保抓寄存器

1到125

03

样式1 写入

00001到09999

输出位

1(单个位)

05

40001到49999

400001到465535(推广)

保抓寄存器

1(单个字)

06

00001到09999

输出位

2到1968

15

40001到49999

400001到465535(推广)

保抓寄存器

2到123

16

twitter 拳交 样式2 有些Modbus从站不援救使用Modbus功能05H或06H写入单个位或字。在这么的情况下,可通过样式2强制使用Modbus功能15H或16H写入单个位或字

写入

 

00001到09999

输出位

2到1968

15

40001到49999

400001到465535(推广)

保抓寄存器

1到123

16

样式11

读出从站的通讯情状字和事件计数器:情状字指挥领导的实奇迹态(0:未在实行;0xFFFF:正在实行)。 每次收效传送一条讯息时,事件计数器值将递加。使用该功能时,忽略“MB_MASTER”领导的 DATA_ADDR 和 DATA_LEN 参数。

样式80

通过读取异常代码 (0x0000) 查验从站情状:每个苦求1个字

样式81

通过会诊代码 0x000A 复位从站的事件计数器:每个苦求1个字

表4 MB_MASTER Modbus功能表

6. Modbus 从站软件确立

扫视:Modbus RTU从站遴荐ModSim软件测试,该软件是第三方软件,不错从 Internet 网罗下载。

在通达的ModSim软件中缔造磋磨,h并确立RTU样式的参数:波特率Baud=9600,数据位Data=8,罢手位Stop=1,校验Parity=NONE,如下图10所示:

图10 缔造ModSim磋磨

弃取“File”→“New”通达ModSim通讯界面,确立Modbus RTU从站的地址Device Id=2,运转地址Address=0001,数据长度Length=5,Modbus数据类型功能码03。辩认双击各Modbus地址后的数据区,出现“Write Register"对话框,在此写入数据值,如下图11所示:

扫视:Device Id确立必须与“MB_MASTER”领导中输入引脚“MB_ADDR”确立的地址一致。

图11 确立ModSim

7. Modbus RTU测试成果

在STEP 7 Professional V11 UPD4软件中通达该模样CPU1215C DC/DC/DC的“监控表”,触发“MB_MASER”领导的输入位M10.0。Modbus RTU主站将ModSim从站地址40001中的数值11,40002中的数值12,40003中的数值13,40004中的数值14,40005中的数值15,辩认读取到了地址DB3.DBW0,DB3.DBW2,DB3.DBW4,DB3.DBW6,DB3.DBW8中,如下图12所示:

图12 Modbus RTU测试成果

S7-1200 Modbus RTU通讯样式的多地址或多站点轮询

多个CM 1241 RS485 通讯模块之间不错使用 PROFIBUS 电缆相互磋磨。不错将 1 个主站和最多 31 个 MODBUS 从站使用 PROFIBUS 电缆磋磨组网。

S7-1200 Modbus RTU轮询需要通过上一条”MB_MASTER“领导输出位“Done“=1来触发下一条“MB_MASTER“领导。具体讲解及编程想路请参考以下通顺:

若何使用STEP 7(TIA Portal)V11为SIMATIC S7-1200缔造Modbus RTU通讯?

MB_COMM_LOAD和MB_MASTER领导STATUS异常代码 STATUS(W#16#) 讲解 0000 端口无异常 8180 端口ID值无效 8181 波特率值无效 8182 奇偶校验值无效 8183 流截至值无效 8184 反应超时值无效 8185 MB_DB参数不是MB_MASTER或MB_SLAVE的布景数据块

表5 MB_COMM_LOAD领导STATUS异常代码

STATUS(W#16#) 0000 80C8 80D1

要是接受方在恭候时刻内未检测到 CTS,则在硬件流截至技巧也会生成该异常。

80D2 80E0 80E1 80E2 80E3 80E4 8180 8186 8188

对于播送调用,参数 MODE 的值无效。

8189 818A 818B 818C 8200

表6 MB_MASTER领导STATUS异常代码(领导的通讯和组态异常讯息)

STATUS(W#16#) 从站的反应代码 8380 - 8381 01 8382 03 8383 02

数据地址异常或地址超出 DATA_PTR 的灵验界限

8384 >03 8385 03 8386 - 8387 - 8388 -

表7 MB_MASTER领导STATUS异常代码(Modbus 契约的异常讯息)

常问问题:

若何查验S7-1200 通讯模块CM1241是否已被收效确立为Modbus RTU通讯样式?

可在法式或监控表中巡逻“MB_COMM_LOAD”领导的输出位“DONE”,“ERROR”以及“STATUS”情状来判断S7-1200 通讯模块CM1241是否已被收效确立为Modbus RTU通讯样式。

要是该模块被收效确立为Modbus RTU通讯样式:“MB_COMM_LOAD”领导输出位“DONE”=1,“ERROR”=0,输出情状字“STATUS”=0; 要是该模块未被收效确立为Modbus RTU通讯样式:“MB_COMM_LOAD”领导输出位“DONE”=0,“ERROR”=1,输出情状字“STATUS”输出异常代码。具体异常原因可巡逻“MB_COMM_LOAD领导STATUS异常代码”表。

实行“MB_MASTER”领导,老是泄露输出位“Busy”=1,为什么?

因为端口正忙于惩处传送苦求。出现该异常时请查验“MB_MASTER“领导输入位”REQ“是否为高潮沿触发,或是否有其它的多个“MB_MASTER”领导在实行。

通过实行“MB_MASTER”领导无法写入或读取Modbus RTU丛站地址的数据,但法式中监视“MB_MASTER”领导异常位“Error”=0,异常代码“STATUS”=16#0,为什么?

“MB_MASTER”领导上一苦求因异常而断绝后,ERROR 位将保抓为 TRUE 一个扫描周期时刻,况且 STATUS 参数中的异常代码值仅在 ERROR =TRUE 的一个扫描周期内灵验,因此无法通过法式或监控表巡逻到。可遴荐如下所示的编程模样将ERROR 和 STATUS 参数读出。

图13 捕捉异常代码

S7-1200 算作Modbus RTU 主站,若何对Modbus RTU从站进行0-65535推广寻址?

时常,“MB_MASTER”领导的布景数据块“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”默许为0,不错对Modbus RTU从站地址0-247进行打听。

将“MB_MASTER”领导的布景数据块“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”确立为1,才气对Modbus RTU从站进行0-65535推广寻址。可按照如下行为确立“EXTENDED_ADDRESSING”:

最初找到“系统块”→“法式资源”,双击“MB_MASTER_DB”,在“MB_MASTER”领导的布景数据块“MB_MASTER_DB”中巡逻“EXTENDED_ADDRESSING”。

图14 推广地址区

在“监控表”内输入“MB_MASTER_DB.EXTENDED_ADDRESSING”,将该位置1。

图15 修改革量大色网



Powered by 淫妻交换 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2022 版权所有