浔之漫智控技术(上海)有限公司
主营产品或服务:西门子PLC , 西门子变频器 , 西门子数控系统
西门子电机全国(一级)经销商

西门子电机全国一级经销商

浔之漫智控技术(上海)有限公司(xmz-wh)


本公司长期低价销售:  


 1.西门子S7-200,S7-300,S7-400,S7-1200,S7-1500,ET200,SMART200,模块


 2.西门子V20,V60,V80,V90伺服电机


 3.西门子人机界面,显示屏,触摸屏HMI ,TD200, TD400C TP177,MP277, MP377 ,SMART700,  SMART1000


 4.西门子M440变频器,M430变频器,M420变频器,S120变频器,G120变频器,6SE70变频器


 5.西门子数控伺服:802C S、802D SL、810D DE、820D SL、840C CE、840D DE、840D 、SL、840Di   SL、S120数控系统、数控伺服驱动模块、控制模块、电源模块、备品备件


 6.西门子6XV1830,6XV1840,6XV1870总线,电缆,网线,接头


 7.全数字直流调速装置 6RA23、6RA24、6RA28、6RA70 系列


 8.SIEMENS 交、直流传动装置


 9. 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等


 10.SITOP 系列直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A


 11.伺服系统:S120: 6SL304、6SL3210、6SL3130、6SL3055、6SL3054


 12.数控伺服系统:840D、802S/C、802SL、828D 801D :


6FC5210,6FC6247,6FC5357,6FC5211,6FC5200,6FC5510,


611U:6SN1123,6SN1145,6SN1146,6SN1118,6SN1110,6SN1124,6SN1125,6SN1128


 13.SIEMENS断路器、接触器、按钮开关、小型断路器、西门子软启动器等西门子产品,


现货供应,折扣低,货期准时,并且备有大量库存。欢迎来电咨询。

西门子电机全国一级经销商

调用 Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求;

调用Modbus RTU 主站读写子程序

各参数意义如下:

a.

EN

使能:

同一时刻只能有一个读写功能(即 MBUS_MSG)使能

 注意:建议每一个读写功能(即 MBUS_MSG)都用上一个 MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进行(见例程)。

b.

First

读写请求位:

每一个新的读写请求必须使用脉冲触发

c.

Slave

从站地址:

可选择的范围   1 - 247

d.

RW

读写请求:

0 = 读, 1 = 写

 注意:

1. 开关量输出和保持寄存器支持读和写功能

2. 开关量输入和模拟量输入只支持读功能

e.

Addr

读写从站的

选择读写的数据类型

数据地址:

00001 至 0xxxx - 开关量输出

10001 至 1xxxx - 开关量输入

30001 至 3xxxx - 模拟量输入

40001 至 4xxxx - 保持寄存器

f.

Count

数据个数

通讯的数据个数(位或字的个数)

 注意: Modbus主站可读/写的Z大数据量为120个字(是指每一个 MBUS_MSG 指令)

g.

DataPtr

数据指针:

1. 如果是读指令,读回的数据放到这个数据区中

2. 如果是写指令,要写出的数据放到这个数据区中

h.

Done

完成位

读写功能完成位

i.

Error

错误代码:

只有在 Done 位为1时,错误代码才有效

0 = 无错误

1 = 响应校验错误

2 = 未用

3 = 接收超时(从站无响应)

4 = 请求参数错误(slave address, Modbus address, count, RW)

5 = Modbus/自由口未使能

6 = Modbus正在忙于其它请求

7 = 响应错误(响应不是请求的操作)

8 = 响应CRC校验和错误

-

101 = 从站不支持请求的功能

102 = 从站不支持数据地址

103 = 从站不支持此种数据类型

104 = 从站设备故障

105 = 从站接受了信息,但是响应被延迟

106 = 从站忙,拒绝了该信息

107 = 从站拒绝了信息

108 = 从站存储器奇偶错误

常见的错误:

如果多个 MBUS_MSG 指令同时使能会造成 6 号错误

从站 delay 参数设的时间过长会造成主站 3 号错误

从站掉电或不运行,网络故障都会造成主站 3 号错误

 在 CPU 的 V 数据区中为库指令分配存储区(Library Memory)

Modbus Master 指令库需要一个286个字节的全局 V 存储区。

调用STEP 7 - Mciro/WIN SMART Instruction Library(指令库)需要分配库指令数据区(Library Memory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。

如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。

操作步骤:

1)在指令树的Project(项目)中,以鼠标右键单击Program Block(程序块),在弹出的快捷菜单中选择Library Memory。如图4所示:

  “库存储器”按钮

在弹出的选项卡中设置库指令数据区:

缺省情况下是从VB0开始,但要保证该存储器使用地址范围与其他程序使用的地址不能有重叠。按“建议地址”按钮也可以自动分配。

 可以使用 “建议地址” 设置数据区,但要注意编程软件设置的数据区地址,只考虑到了其他一般寻址,而未考虑到诸如Modbus数据保持寄存器区等的设置。应当确保不与其他任何已使用的数据区重叠、冲突。不应重复按 “建议地址” 按钮,否则也会造成混乱。

关于 Modbus RTU 主站协议库的补充说明

Modbus 地址

通常 Modbus 地址由 5 位数字组成,包括起始的数据类型代号,以及后面的偏移地址。Modbus Master 协议库把标准的 Modbus 地址映射为所谓 Modbus 功能号,读写从站的数据。Modbus Master 协议库支持如下地址:

00001 - 09999:数字量输出( 线圈)

10001 - 19999:数字量输入(触点)

30001 - 39999:输入数据寄存器(通常为模拟量输入)

40001 - 49999:数据保持寄存器

Modbus Master 协议库支持的功能

为了支持上述 Modbus 地址的读写,Modbus Master 协议库需要从站支持下列功能:

  需要从站支持的功能

Modbus 地址读/写Modbus 从站须支持的功能

00001 - 09999

数字量输出读功能 1

写功能 5:写单输出点

功能 15:写多输出点

10001 - 19999

数字量输入读功能 2

写-

30001 - 39999

输入寄存器

读功能 4

写-

40001 - 49999

保持寄存器读功能 3

写功能 6:写单寄存器单元

功能 16:写多寄存器单元

Modbus 地址和 S7-200 SMART 存储区地址的映射

S7-200 SMART 通过 Modbus Master 和 Slave 协议库通信时,Modbus 地址和 S7-200 SMART CPU内存储区地址的 映射关系都类似。

Modbus 保持寄存器地址映射举例:

Modbus 保持寄存器地址

40001

12 34

4000256 78

400039A BC

S7-200 SMART 存储区字寻址

VW200

12 34

VW20256 78

VW2049A BC

S7-200 SMART 存储区字节寻址

VB20012

VB20134

VB20256

VB20378

VB2049A

VB205BC

Modbus 数字量地址映射举例:

位地址(0xxxx 和 1xxxx)数据总是以字节为单位打包读写。DY个字节中的Z低有效位对应 Modbus 地址的起始地址.

发布时间:2024-11-22
展开全文
拨打电话 微信咨询 发送询价