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为实际值)
几点说明:
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。
其中, 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
通讯应用格式祥解
addr:从机地址
fun:功能码
data start reg hi:数据起始地址 寄存器高字节
data start reg lo:数据起始地址 寄存器低字节
data #of reg hi:数据读取个数 寄存器高字节
data #of reg lo:数据读取个数 寄存器低字节
crc16 hi: 循环冗余校验 高字节
crc16 lo: 循环冗余校验 低字节
17个机器学习的常用算法!
硬件设计中的原理图怎么看
mcu视频会议系统技术原理及操作流程
锂离子电池内阻与极化关系
美信智能化LED照明应用款图与选型指南
Modbus通讯地址设定方法说明
PD快充上的X2安规电容与普通X2电容有什么不同之处
“轻型电动车共享出行市场空间及产业链需求”的主题演讲
自从20世纪80年代以来就存在的未来编程语言的预见失误
Type-c接口比Micro-USB接口有哪些优势
用无人机提供上网和包裹服务?谷歌说不行了
关于新能源汽车充电头气密性检测的简单说明
Google招聘工程师时主要看中哪些方面?
5G毫米波天线设计及集成天线一体化技术的发展趋势
ETNO呼吁解决碎片化和限制性监管环境问题,其阻碍了欧洲 5G 领域进展
iPhone X订单被砍又出铁证 订单量环比减少50%之多
空气网格化监测_空气网格化监测解决方案-纵横智控
混合云与AI为企业增长提供坚实平台
2020年的5G手机是个怎样的格局
生物技术新突破 可造细菌衣服面料