Sfere100通讯协议及异常处理
5.1通讯
仪表带有数字通讯接口,通过接口可以读取仪表的状态和测量值,也可以对仪表进行操作和参数设置。仪表默认带有1路通讯接口,接口为RS-485,采用Modbus-RTU 协议。可通过扩展通讯模块来增加1路通讯,具体情况见下表。 配置 模块代号 接口 协议 标准配置 ――――― RS485接口 MODBUS-RTU C0
RS485接口
MODBUS-RTU
扩展 通讯 模块 C1
RS485接口
Profibus-DP 通讯
物理层
1) RS485通讯接口,异步半双工模式;
2) 通讯速度1200~19200bps 可设置,出厂默认为9600bps ;
3)字节传送格式:1位起始位,8位数据位,1位校验位,1-2位停止位(N81/081/E81)可选; 5.1.1通讯协议 MODBUS-RTU 5.1.1.1 MODBUS-RTU 概述
MODBUS 协议只允许在主机(PC ,PLC 等)和从机(终端设备)之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
从机
主机
图5-1 查询应答周期图
主机查询:查询消息帧包括从机地址码、功能代码、数据信息码、CRC 校验码。地址码表明要选中的从机设备;功能代码告之被选中的从设备要执行何种功能;校验码用来检验一帧信息的正确性,为从设备提供了一种验证消息内容是否正确的方法,它采用CRC16校验。 从机响应:如果从机产生正常的响应,在响应消息中有从机地址码、功能代码、数据信息码和CRC 校验码。数据信息码则包括了从设备收集的数据,如寄存器值或状态。 数据帧的结构:即报文格式。
地址码 功能码 数据码 校验码 1个字节 1个字节
N 个字节
2个字节
地址码:是帧的开始部分,由一个字节(8位二进制代码)组成,十进制为0~255,在我们的系统中只使用1~247,其它地址保留。这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应相应的查询。当终端回送一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。
功能码:告诉了被寻址到的终端执行何种功能。下表列出Sfere100所支持的功能码,以及它们的意义和功能。
代码 意义
0x01 读继电器输出状态 0x02 读开关量输入状态 0x03/0x04 读数据寄存器值 0x05 遥控单个继电器动作 0x0F 遥控多个继电器动作 0x10
写设置寄存器指令
数据码:包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者设置值。例如:功能码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始和读取多少个数据,而从机数据码回送内容则包含了数据长度和相应的数据。
校验码:错误校验(CRC )域占用两个字节,包含了一个16位的二进制值。CRC 值由传输设备计算
出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC 值,然后与接收到的CRC 域中的值进行比较,如果这两个值不相等,就发生了错误。 5.1.2报文格式指令
(1)读继电器输出状态(功能码 0x01) 数据码
帧结构 地址码
功能码
起始继电器地址
继电器个数
校验码
占用字节 1字节1字节 2字节 2字节 2字节 主机请求
数据
1~
0x01
0x0000(固
0x0001~
CRC
范围247 定)
0x0004 报文举例0x01
0x01 0x00 0x00
0x00 0x02 0xBD 0xCB
数据码
帧结构 地址码
功能码
寄存器字节
ct二次过电压保护器
数
寄存器值
校验码
美发剂
占用字节1字节1字节1字节 1字节 2字节
从机响应
报文举例
0x01
0x01 0x01 0x03 0x11 0x89
说明:从机响应的寄存器值即继电器状态值,从字节的最低位开始对应每一路继电器输出的状态值,1表示闭合状态,0表示断开状态,如上例寄存器值“0x03”的二进制“0000 0011”表示第1路、第2路继电器闭合。
(2)读开关量输入状态(功能码 0x02)
数据码
帧结构 地址码
功能码
起始开关地
址
开关个数
校验码
占用字节1字节1字节2字节 2字节 2字节 数据范围1~247 0x02
0x0000(固定)
0x0001~0x0008
CRC
主机请求
报文举例0x01
0x02 0x00 0x00 0x00 0x04 0x79 0xC9 数据码
帧结构
地址码
功能码
寄存器字节
数
寄存器值
校验码
从
机响应 占用1字节1字节1字节 1字节 2字节
字节 报文举例
0x01
0x02 0x01 0x02 0x20 0x49
说明:从机响应的寄存器值即开关量输入状态值,从字节的最低位开始对应每一路开关量输入的状态值,1表示闭合状态,0表示断开状态,如上例寄存器值“0x02”的二进制“0000 0010”表示第2路开关量输入闭合。
(3)读数据寄存器值(功能码 0x03/0x04) 数据码
帧结构 地址码 功能码 起始寄存器地址
寄存器个数 校验码
占用字节 1字节1字节2字节 2字节 2字节 数据范围 1~247 0x03/0x04 最大48
CRC 主机请求
报文举例 0x010x030x01 0x06
0x00 0x03 0xE4 0x36
数据码
帧结构 地址码 功能码 寄存器字节数
寄存器值 校验码
占用字节
1字节1字节1字节 N 字节 2字节
从机响
应 报文举
例
0x01
0x03
0x06
(6字节数据)
风光互补led路灯
(CRC )
说明:主机请求的起始寄存器地址为查询的一次电网或者二次电网的数据首地址,寄存器个数为查询数据的长度,如上例起始寄存器地址“0x01 0x06”表示三相相电压整型数据的首地址,寄存器个数“0x00 0x03”表示数据长度3个Word 数据。请参照附录1的MODBUS-RTU 通讯地址信息表。
(4)遥控单个继电器输出(功能码 0x05) 主
帧结
地址
功能
数据码
校验码
构 码 码 起始继电器地
址
继电器动作值
占用字节1字节 1字节2字节 2字节 2字节
数据范围1~247 0x050x0000~0x0003 0xFF00/0x0000 CRC 机请求
报文举例
0x01
0x05
0x00 0x00
0xFF 0x00 0x8C 0x3A
数据码
篮子鱼帧结构 地址码 功能码
起始继电器地
址
继电器动作值
校验码
占用字节1字节 1字节2字节
2字节 2字节 从机响应
报文举例
0x01
0x05
0x00 0x00 0xFF 0x00
0x8C 0x3A
说明:主机请求的继电器动作值“0xFF00”表示闭合,“0x0000”表示断开。使用遥控指令必须设置继电器工作在遥控模式。
(5)遥控多路继电器输出(功能码 0x0F )
数据码
帧结
构 地址码
功能码
起始继电器地址
继电器个数
数据字节数 继电器动作值 校验码
占用字节
1字节 1字节 2字节 2字节 1字节1字节
2字节 数据
范围1~247 0x0F 0x0000(固定)0x0001~0x0004 0x01 CRC 主机请
求 报文举例
0x01
0x0F
0x00 0x00
0x00 0x03
0x01
0x07
0xCE 0x95
数据码
帧结构 地址码 功能码 起始继电器地址
继电器个数 校验码
占用字节
1字节 1字节 2字节
2字节
2字节从机响
应 报文
举例
0x01
0x0F
0x00 0x00 0x00 0x03
0x15 0xCA
说明:主机请求的继电器动作值,从字节的最低位开始对应每一路继电器输出,1表示闭合继电器,0表示断开继电器,如上例继电器动作值“0x07”的二进制“0000 0111”表示遥控第1路、第2路、第3路继电器闭合。
(6)写设置寄存器指令(功能码 0x10)
数据码
帧结构 地址码
功能码
起始寄存器地址 寄存器个数
数据字节数 写入数据
校验码
占用字节
1字节 1字节 2字节 2字节 1字节N 字节 2字节
数据范
围 1~2470x10 最大25 最大2×25 CRC 主机请
求 报文举例 0x010x100x08 0x0A
0x00 0x01
0x02
0x00 0x64
0x2E 0xD1 数据码
帧结构 地址码 功能码 起始寄存器地址
寄存器个数 校验码
占用字节
1字节 1字节 2字节
2字节
2字节 从机响
应 报文举
例
0x01
临界反应0x10
0x08 0x0A 0x00 0x02
0x23 0xAB
说明:为保证正常通讯,每执行一个主机请求,寄存器个数限制为25个。上例起始寄存器地址“0x08 0x0A ”表示电压变比设置的首地址,寄存器个数“0x00 0x01”表示设置电压量程1个Word 数据,写入数据“0x00 0x64 ”表示设置电
压量程100V 。请参照附录1的MODBUS-RTU 通讯地址信息表。
六、常见问题及解决办法 6.1关于通讯
1) 仪表没有回送数据
首先确保仪表的通讯设置信息如从机地址、波特率、校验方式等与上位机要求一致;如果现场有多块仪表通讯都没有数据回送,检测现场通讯总线的连接是否准确可靠,RS485转换器是否正常。
如果只有单块或者少数仪表通讯异常,也要检查相应的通讯线,可以修改交换异常和正常仪表从机的地址来测试,排除或确认上位机软件问题,或者通过交换异常和正常仪表的安装位置来测试,排除或确认仪表故障。 2)仪表回送数据不准确
Sfere 模块化电力仪表通讯开放给客户的数据有一次电网float 型数据和二次电网int/long 型数据。请仔细阅读通讯地址表中关于数据存放地址和存放格式的说明,并确保按照相应的数据格式转换。
推荐客户去本公司主页www.jcsepi 下载MODBUS-RTU 通讯协议测试软件MODSCAN ,该软件遵循标准的MODBUS-RTU 协议,并且数据可以按照整型、浮点型、16进制等格式显示,能够直接与仪表显示数据对比。
6.2关于电流U I P 等测量不准确
首先需要确保正确的电压和电流信号已经连接到仪表上,可以使用万用表
来测量电压信号,必要的时候使用钳形表来测量测量电流信号。其次确保信号线的连接是正确的,比如电流信号的同名端(也就是进线),以及各相的相序也不能出错。该仪表可以观察功率界面显示,只有在反向送电情况下有功功率为负,一般使用情况下有功功率符号为正,如果有功功率符号为负,有可能电流进出线可能接错,当然相序接错也会导致异常的功率显示。
另外需要注意的是仪表显示的电量为一次电网值,如果表内设置的电压电流互感器的倍率值与实际使用互感器倍率不一致,也会导致仪表电量显示不准
确。表内电压电流的量程出厂后不容许修改,接线网络可以按照现场实际接法修改,错误的设置也将导致错误的显示。
6.3关于电能走字不准确
仪表的电能累加是基于对功率的测量,先观测仪表的功率值与实际负荷是否相符。Sfere100模块化电力仪表支持双向电能计量,在接线错误的情况下,总有功功率为负的情况下,电能会累加到反向有功电能,正向有功电能不累加。
在现场使用最多出现的问题是电流互感器进线和出线接反。看分相的带符号的有功功率,若功率为负则有可能是接线错。相序接错也会引起仪表电能走字异常。
6.4仪表不亮
激光夜视仪
确保合适的辅助电源已经加到仪表的辅助电源端子,超过规定范围的辅助电源电压可能会损坏仪表,并且不能恢复。可以使用万用表来测量辅助电源的电压值,如果电源电压正常,仪表无任何显示,可以考虑断电重新上电,仪表还不能正常显示的话请联系本公司技术服务部。
6.5仪表不响应任何操作
”、“
”、“Menu
断电后重新上电,仪表不能恢复正常的话请联系本公司技术服务部。
6.6其它异常情况
请及时联系本公司技术服务部,用户应详细描述现场情况,本公司技术人员会根据现场反馈情况分析可能的原因。如果经沟通无法解决的问题,本公司会尽快安排技术人员到现场处理问题。
市场销售部
电话:*************/6/5/3/2/0/8
*************
*************
*************
传真:*************
技术服务部
电话:*************/8
传真:*************
最新的产品说明书和测试软件可以从本公司主页下载
www.jcsepi
附录1 MODBUS-RTU通讯地址信息表
数据寄存器地址:
地址
HEX DEC
数据
内容
数据
格式
数
据
长
度
Wor
d
说明
一次电网数据(float型)
0x00 0 保留
0x02 2 保留
0x04 4 保留
0x06 6 Ua float 2
0x08 8 Ub float 2
0x0A10 Uc float 2
相电压数据,单位V