欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科技

Modbus通讯地址设定方法说明

科普小知识2023-10-12 22:08:27
...

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

Modbus通讯地址设定

利用Modbus协议可以实现设备间的数据交换。Modbus通讯理论上支持4种ModiconPLC地址,即0*、1*、3*和4*四种,分别表示开出(中间线圈)、开入、模入、模出(中间寄存器)等数据地址。与西门子或其它设备中的开入、开出、模入、模出地址完全不对应。可以理解为0*和1*对应位地址的读写操作,3*和4*字地址的读写操作。

此处0*、1*、3*和4*表示长度有的为5位数字、有的为6位,其实和Modbus通讯无关,只是和软件的表示方式有关。

按照Modbus通讯时最常用的是RTU读请求格式:

从站地址(1个字节)、功能代码(1个字节)、从站数据起始地址(2个字节)、读数据长度(2个字节)、CRC校验(2个字节)

可见,只需设置起始从站数据区起始地址和通讯长度即可。

特别注意,Modbus地址遵从IEC1的地址标准(最小地址为*1),西门子遵从IEC0的标准(最小地址为0,如M0.0)。因此,不同标准的地址做通讯时需要做地址变换,即加1的操作。

ACRXXXE的应用细节及参量地址表

该系列测量值用Modbus-RTU 通讯规约的03号命令读出。

通讯值与实际值之间的对应关系如下表:(约定Val_t为通讯读出值,Val_s为实际值)

Modbus通讯地址设定方法说明

几点说明:

1 数据类型:“BYTE”指1个字节;“word” 指16位无符号整数;“Integer”指16位有符号整数;“Dword” 指32位无符号整数,“Fword”指32位浮点数。

2 读写属性:“R”只读,读参量用03H号命令;“R/W”可读可写,写系统参量用10H号命令。禁止向未列出的或不具可写属性的地址写入。

3 波特率的设定范围4800 bps,9600 bps,19200 bps,38400 bps.在此范围外的设定是不允许的。如果写入超范围的设定值,仪表会启用默认波特率:38400 bps。

4 ACR320EFK所测电能值均为二次侧电能。高字节在前,低字节在后,单位WH 或VARH, 统计一次侧电能数据的时候,请乘以相应的变比。例如10KV/100V,75A/5A 的仪表,请在计量抄表的数据乘以PT=100和CT=15 的乘积1500。

5 ACR320EFK 提供4 路开关量输入功能和2路继电器开关量输出功能。4 路开关输入是采用湿接点电阻开关信号输入方式,仪表内部配备+5V 的工作电源,无须外部供电。当外部接通的时候,经过仪表开关输入模块DI 采集其为接通信息、显示为1;当外部断开的时候,经过仪表开关输入模块DI 采集其为断开信息、显示为0。开关量输入模块不仅能够采集和显示本地的开关信息,同时可以通过仪表的数字接口RS485 实现远程传输功能,即“遥信”功能;2路继电器输出功能可用于各种场所下的报警指示、保护控制等输出功能。在开关输出有效的时候,继电器输出导通,显示为1;开关输出关闭的时候,显示为0,继电器输出关断。

6 ACRXXXE(K)电度一次侧时的值采用浮点变量数据类型。它用符号位表示数的符号,用阶码和尾数表示数的大小。仪表采用的数据格式为IEEE754数据格式具有24位精度,尾数的高位始终为“1”,因而不保存,位的分布如下

● 1位符号位;

● 8位指数位;

● 23位尾数。

符号位是最高位,尾数为最低的23位,按字节描述如下:

范例:UA的通讯读出值为08C6H(2246),DPT为5,则UA的实际值

Va =(2246/10000)*(10^5) = 22.46KV。

IA的通讯读出值为0FA0H(4000),DCT为3,则IA的实际值

Ia =(4000/10000)*(10^3) = 400.0A。

Modbus通讯地址设定方法说明

其中, S:符号位,1表示负,0表示正;

E:阶码(在两个字节中)偏移为127;

M:23位尾数,最高位为“1”。

具体举例如下:

读出0 10001110 100 1011 1010 1100 0000 0000B

0 代表符号位,“1”为负,“0”为正;

10001110 为计算指数,设为a, a为10进制,a为142;

100 1011 1010 1100 0000 0000 为计算尾数,设为b,b为10进制,b为4959232。

计算公式:

一次侧电量=

上例计算结果为:

==52140

通讯应用格式祥解

Modbus通讯地址设定方法说明

Addr:从机地址

Fun:功能码

Data start reg hi:数据起始地址 寄存器高字节

Data start reg lo:数据起始地址 寄存器低字节

Data #of reg hi:数据读取个数 寄存器高字节

Data #of reg lo:数据读取个数 寄存器低字节

CRC16 Hi: 循环冗余校验 高字节

CRC16 Lo: 循环冗余校验 低字节

上一篇:榄核果蔗

下一篇:绿豆酿莲藕