一、使用协议 1、 基于Modbus RTU协议 2、 从机地址:1 3、 串口配置: (1) 波特率:115200 (2) 数据位:8 (3) 校验位:无 (4) 停止位:1 二、 读数据  1、实时显示数据: (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 数据格式:单精度浮点数(32bit) (4) 线路#1:寄存器地址 0x0000 ~ 0x0032(如表1) 寄存器地址 寄存器名 寄存器地址 寄存器名 寄存器地址 寄存器名 0x0000 Ua 0x0012 Pt 0x0024 PFa 0x0002 Ub 0x0014 Qa 0x0026 PFb 0x0004 Uc 0x0016 Qb 0x0028 PFc 0x0006 Ia 0x0018 Qc 0x002a PFt 0x0008 Ib 0x001a Qt 0x002c Uab 0x000a Ic 0x001c Sa 0x002e Ubc 0x000c Pa 0x001e Sb 0x0030 Uca 0x000e Pb 0x0020 Sc 0x0032 Frq 0x0010 Pc 0x0022 St 表1 (5) 线路#2:寄存器地址 0x0034 ~ 0x0066 (寄存器名排列同表1) (6) 线路#3:寄存器地址 0x0068 ~ 0x009a (寄存器名排列同表1) (7) 线路#4:寄存器地址 0x009c ~ 0x00ce (寄存器名排列同表1)      2、模拟量输入(AI) (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 数据格式:单精度浮点数(32bit) (4) 寄存器地址 0x00d0 ~ 0x00de 寄存器地址 0x00d0 0x00d2 0x00d4 0x00d6 0x00d8 0x00da 0x00dc 0x00de 输入编号 Ai1 Ai2 Ai3 Ai4 Ai5 Ai6 Ai7 Ai8   3、 B码对时 (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 数据格式:无符号短整型(16bit) (4) 寄存器地址 0x00e0 ~ 0x00e2 寄存器地址 0x00e0 0x00e1 0x00e2 变量地址分配 [15:8]秒 [7:0]分 [15:8]时 [7:0]日 [15:8]月 [7:0]年   4、 数字量输入 (开入) (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 寄存器地址 0x00e3 (16路) (4) 每一bit位表示一路开入量   5、 开出量状态 (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 起始寄存器地址:0x00e4(16路) (4) 1每一位表示一路开出量当前状态   6、 事件总寄存器 (非0时,代表事件个数) (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 寄存器地址 0x00e5 三、 读事件   当主机轮询到事件总寄存器非0时,读事件寄存器,获取事件内容。 (1) 寄存器类型:输入寄存器 (2) 功能码:04 (3) 寄存器地址 0x0100 (4) 读取长度 5 *n (5 = 寄存器个数,n = 事件个数) 数据名 数据寄存器 时间戳 (32bit) 0x0100 毫秒计时(16bit) 0x0102 线路号+事件类型(8bit) 0x0103 高4位: 线路号(0 = 装置,1 = 线路1,2 =线路2, 3 = 线路3, 4 =线路 4) 低4位: 事件类型(1 = 保护类、2 = 动作类、3 = 报警类、4 = 操作类、5=AI越限类) 事件代码(8bit) 保护类:1 = pt 断线, 2 = CT断线,其它事件依次编号 报警类:1 = 过压,2 = 过流,3 =频率越限,4 = 动作类:开入序号(第n路发生了状态变化) AI越限类:AI通道号(第n通道发生越限) 操作类:界面操作直接生成记录,显示并存盘即可 动作值(16bit) 0x0104 保护类、报警类:越限时的监测值 动作类:开入/开出的状态,0→分,非零→合;   读事件成功回复(主站将本次读取到的事件个数写入到寄存器中,从站收到该报文表示主站读取事件成功): (1) 寄存器类型:保持寄存器 (2) 功能码:03 (3) 寄存器地址 0x0100 (4) 长度:1 (5) 内容:事件个数 1000 四、 读输入数字量 (开入) (1) 寄存器类型:离散输入 (2) 功能码:02 (3) 寄存器地址 0x0000 (16路) (4) 保留寄存器地址:0x0001(16路) 五、 参数设置与读取    写参数功能码:10H    读参数功能码:03H    显示界面在开机和切换到参数类界面时通过功能码03向下读取参数。   1、 时间设置(时间戳) (1) 寄存器类型:保持寄存器 (2) 功能码:03/10 (3) 寄存器地址:0x0000 (4) 寄存器长度:2   2、 通讯设置 (1) 寄存器类型:保持寄存器 (2) 功能码:03/10 (3) 起始地址:0x0004 (4) 寄存器长度:4(路) * 4(8byte数据/2) = 16   3、 线路定值设置 (1) 寄存器类型:保持寄存器 (2) 功能码:03/10 (3) 起始寄存器地址:0x0014 (4) 寄存器长度:4(路)*(7(类别) *2(4byte数据/2) + 2(变比)) = 64   4、 AI通道设置 (1) 寄存器类型:保持寄存器 (2) 功能码:03/10 (3) 起始寄存器地址:0x0054 (4) 寄存器长度:(12(路)*5byte数据)/2 = 30 (参数设计为12路整体下发,不用担心参数截断问题)   5、 AO通道设置 (1) 寄存器类型:保持寄存器 (2) 功能码:03/10 (3) 起始寄存器地址:0x0072 (4) 寄存器长度:(12(路)*5byte数据)/2 = 30 (参数设计为12路整体下发,不用担心参数截断问题)   6、 AI报警设置 (1) 寄存器类型:保持寄存器 (2) 功能码:03/10 (3) 起始寄存器地址:0x0090 (4) 寄存器长度:(12(路)*5byte数据)/2 = 30 (参数设计为12路整体下发,不用担心参数截断问题) 六、 写开出(线圈) (1) 寄存器类型:线圈 (2) 功能码:0F(写多个线圈) (3) 起始寄存器地址:0x0000 (4) 寄存器长度:12    七、 通讯过程补充说明 (1) 主站开机后读取参数发送03功能码,若读取失败生成报警事件。该过程可归为开机自检(通讯链路); (2) 开机自检结束后,开始定期轮询输入寄存器(发送04功能码)。收到从站04应答帧,主站更新数据,并查询事件总寄存器(输入寄存器0x00e5),该寄存器非0(从站有事件发生)时,主站应该立即发送"读事件"指令,正确读取事件并成功回复后,立即再次发送04功能码读输入寄存器并查询事件总寄存器(输入寄存器0x00e5),若该寄存器仍非0,则立即再次发送"读事件"指令,直至该寄存器为0。 当事件总寄存器(输入寄存器0x00e5)为0时,定期轮询输入寄存器(发送04功能码)。 (3) 事件总寄存器,输入寄存器地址 0x00e5,该寄存器内容为n时(非0),表示从站有n个事件发生,主站应该立即发送"读事件"指令(功能码04,输入寄存器地址0x0100,读取长度 5 *n)。   主站正确收到"读事件"指令的应答帧后,发读事件成功回复(功能码03,保持寄存器地址0x0100,数据长度1,内容n)。   从站收到主站读事件成功回复帧,事件总寄存器(输入寄存器0x00e5)中事件个数-n。 (4) 关于事件生成与保存 * 事件类型:1 = 保护类、2 = 动作类、3 = 报警类、4 = 操作类 * 从站生成:"报警""保护""动作"类事件,并暂存; * 主站生成:"操作"类事件,事件代码(1=控制分/合(动作值0→分、动作值非0→合)、2=读定值失败、3=线路定值修改、4=AI报警参数修改、5=AI通道参数修改、6=AO通道参数修改、7=通讯参数修改、8=密码修改); * 事件保存:从站生成的事件、主站生成的事件统一保存在主站端,并形成历史事件记录文件,并可分类、按时间段、线路号等检索查看。 (5) 显示页面切换到参数页时,应当发送"读参数功能码03H",当参数发生更改时,发送"写参数功能码10H",并由主站生成"xx参数修改"事件,实时显示并存盘形成历史事件。