GSL系列光伏逆变器Modbus协议V1.6
GSL 系列逆变器 MODBUS/JBUS(RTU) 协议——用户版制定 姜礼轩 2011-7-27GSL 系列 MODBUS/JBUS 协议本 Modbus/Jbus RTU 协议是通过逆变器监控板上的 RS485 接口与后台监控设备相连。通过本协议可以把 GSL 系列逆变器接入 MODBUS RTU 系统或 JBUS RTU 系统, 因为 JBUSRTU 是 MODBUS RTU 的一个子集, 而且功能兼容。 有关 MODBUS 协议标准规范在本文中未作描述,请参考标准 MODBUS RTU 协议格式:见 www.modicon.com 。硬件设置波特率 2400/4800/9600起始位 1数据位 8停止位 1奇偶校验位 无软件设置使用本协议时, 逆变器扮演通讯从机角色, 等待 MODBUS/JBUS 主机来查询。功能列表本节描述了逆变器能响应的查询和命令。以下的查询和命令是可用的:查询:逆变器系统参数 功能码 03 ,块读取方式查询:逆变器模拟量 功能码 03 ,块读取方式查询:逆变器状态量 功能码 03 ,块读取方式查询:逆变器告警量 功能码 03 ,块读取方式命令:逆变器参数 功能码 06 ,字写入方式命令:时间日期 功能码 16 ,块写入方式命令:遥控命令 功能码 06 ,字写入方式CRC 校验说明本协议采用的是 MODBUS RTU CRC16 的标准计算方式,校验顺序为( Low-HIGH ) 。技术指标采用协议种类: JBUS/MODBUS ( RTU)协议;支持通讯方式:支持 RS485 和 RS232 通讯方式;物理地址设置范围: 1~ 247;通讯波特率设置范围: 2400、 4800、 9600(默认) ;通讯数据格式: 1 位起始位, 8 位数据, 1 位停止位,无奇偶校验位;CRC16 的标准校验方式,先低字节,后高字节( L-H ) ;设置物理地址逆变器物理地址在 LCD 面板上可设置, 设置范围为 1~ 247, 0 为厂家保留设置,出厂默认设置为 1。设置通讯波特率通讯波特率在 LCD 面板上可设置,设置范围为 2400bps、 4800bps、 9600bps,默认设置为 9600bps。错误校验码( CRC 校验)主机或从机可用 CRC 校验码判别接收信息是否正确。由于总线上的电子噪声或一些其它干扰, 信息在传输过程中可能会发生错误, 接收一方可以使用 CRC校验码判断接收到的信息帧是否正确, 并放弃错误的信息帧, 提高了通信系统的安全性和可靠性。MODBUS 通讯协议的 CRC(冗余循环码)包含 2 个字节,即 16 位二进制数。发送设备计算 CRC 码,放置于发送信息帧的尾部。接收信息的设备将接收到的所有信息(含 CRC 码)重新计算 CRC 码,并判断该 CRC 码是否为 0, 如果为 0,表示接收的信息帧正确无误,否则,则表明接收的信息帧有误,在进行 CRC 计算时只用 8 个数据位,起始位及停止位都不参与 CRC 计算。● CRC 码的计算方法是:1.预置 1 个 16 位的寄存器为十六进制 FFFF (即全为 1) ;称此寄存器为 CRC 寄存器;2.把第一个 8 位二进制数据(既通讯信息帧的第一个字节)与 16 位的 CRC 寄存器的低8 位相异或,把结果放于 CRC 寄存器;3.把 CRC 寄存器的内容右移一位(朝低位)用 0 填补最高位,并检查右移后的移出位;4.如果移出位为 0:重复第 3 步(再次右移一位) ;如果移出位为 1: CRC 寄存器与多项式 A001 ( 1010 0000 0000 0001 )进行异或;5.重复步骤 3 和 4,直到右移 8 次,这样整个 8 位数据全部进行了处理;6.重复步骤 2 到步骤 5,进行通讯信息帧下一个字节的处理;7.将该通讯信息帧所有字节按上述步骤计算完成后,得到的 16 位 CRC 寄存器的高、 低字节进行交换;8.最后得到的 CRC 寄存器内容即为: CRC 码。错误返回帧ID 含义 大小 (字节 ) 推 荐 范 围 /单位格式SLAVE 地址 1 0x01 - 0xF7 HEXFCT 功能码 1 HEXERR 错误代码 1 Note 1 HEXCRC 校验和 2 HEXNote 1:错误代码 01 = 未知的功能码错误代码 02 = 地址错误错误代码 03 = 数据错误错误代码 06 = 设备忙错误代码 1 表示收到的功能码不被支持。错误代码 2 表示收到的地址( ID)超出范围。 .错误代码 3 表示收到的数据格式不被识别, CRC校验错误。错误代码 6 表示数据没有准备好协议文本1.产品基本信息—— Function 03ID 字节数 项目 值1000~ 1004 10 逆变器名称 “ GSL000500K ”1005~1009 10 厂家名称 “ KSTARSOLAR”2.逆变器告警量—— Function 03ID: 1030—— 1032 HEXID 位 项目 值1030Bit 0 电网交流欠压 0:正常; 1:欠压Bit 1 电网交流过压 0:正常; 1:过压Bit 2 电网频率异常 0:正常; 1:超限Bit 3 逆变器同步 /不同步 0:正常; 1:不同步ID 位 项目 值Bit 4 逆变器自身故障保护 0:正常; 1:异常Bit 5 逆变器温度超高 0:正常; 1:超高Bit 6 风扇故障 0:正常; 1:故障Bit 7 并网接触器故障 0:正常; 1:故障Bits 8 逆变器孤岛效应保护 0:正常; 1:保护Bit 9 预留 0:正常; 1:错误Bit 10 输出熔丝断 0:正常; 1:断开Bit 11 预留 0:正常; 1:错误Bit 12 逆变器输出过载 0:正常; 1:过载Bit 13 低电压穿越保护 0:正常; 1:保护Bit 14 逆变器过载超时 0:正常; 1:故障Bit 15 电网异常关机 0:正常; 1:异常1031Bit 0 交流侧过流保护 0:正常; 1:过流Bit 1 电网相序反 0:正常; 1:故障Bit 2 输入熔丝断 0:正常; 1:故障Bit 3 过载次数限制 0:正常; 1:故障Bit 4 PV 极性反接 0:正常; 1:故障Bit 5 直流电压异常关机 0:正常; 1:故障Bit 6 预留 0:正常; 1:故障Bit 7 交流过压保护 0:正常; 1:故障Bit 8 直流过压保护 0:正常; 1:过压Bit 9 过热保护 0:正常; 1:故障Bit 10 MW 房风扇故障 0:正常; 1:故障Bit 11 烟雾传感器报警 0:正常; 1: 报警Bit 12 220V 辅助电源无 0:正常; 1:故障Bit 13 绝缘阻抗异常 0:正常; 1:故障Bit 14 防反放电保护 0:正常; 1:故障Bit 15 逆向功率保护 0:正常; 1:故障1032Bit 0 辅助电源故障 0:正常; 1:故障Bit 1 逆变驱动线缆故障 0:正常; 1:故障Bit 2 风扇驱动线缆故障 0:正常; 1:故障Bit 3 低电压穿越次数限制 0:正常; 1:故障Bit 4 电网电压不平衡 0:正常; 1:故障Bit 5 交流电流不平衡 0:正常; 1:故障Bit 6 正常停机 0:正常; 1:故障Bit 7 故障停机 0:正常; 1:故障Bit 8 直流接地故障保护 0:正常; 1:故障Bit 9 输出接地故障 0:正常; 1:故障Bit 10 直流防雷故障 0:正常; 1:故障Bit 11 交流防雷故障 0:正常; 1:故障Bit 12 逆变器温度报警 0:正常; 1:过温Bit 13 DSP 故障保护 0:正常; 1:故障ID 位 项目 值Bit 14 逆变器总故障保护 0:正常; 1:故障Bit 15 总告警标运行 0:正常; 1:故障3.逆变器状态量—— Function 03ID 位 项目 值1033Bits 2/1/0 预留Bit 3 紧急关机 0:无; 1:有Bit 4 交流输出开关状态 0:断开状态; 1:闭合状态Bit 5 逆变器状态 0:关闭; 1:开启Bit 6 预留Bit 7 直流断路器状态 0:闭合状态; 1:断开状态Bit 8 交流输出接触器状态 0:断开状态; 1:闭合状态Bit 9 预留Bit 10 预留Bit 11 逆变器供电状态 0:不供电; 1:并网发电Bits 15~12 未使用4.逆变器模拟量—— Function 03ID Byte Item Value 格式1050 2 电网线电压 AB 2200 对应 220.0Vac HEX1051 2 电网线电压 BC 2200 对应 220.0Vac HEX1052 2 电网线电压 CA 2200 对应 220.0Vac HEX1053 2 输出电流 A 1000 对应 100.0A HEX1054 2 输出电流 B 1000 对应 100.0A HEX1055 2 输出电流 C 1000 对应 100.0A HEX1056 2 电网频率(三相一致) 5000 对应 50.00Hz HEX1057 2 A 相输出功率因数 100 对应 1 HEX1058 2 B 相输出功率因数 100 对应 1 HEX1059 2 C 相输出功率因数 100 对应 1 HEX1060 2 本机 A 相输出有功功率 1000 对应 100.00kW HEX1061 2 本机 B 相输出有功功率 1000 对应 100.00kW HEX1062 2 本机 C 相输出有功功率 1000 对应 100.00kW HEX1063 2 本机 A 相输出无功功率 1000 对应 100.00kVA HEX1064 2 本机 B 相输出无功功率 1000 对应 100.00kVA HEX1065 2 本机 C 相输出无功功率 1000 对应 100.00kVA HEX1066 2 PV 电压 1000 对应 100Vdc HEX1067 2 PV 电流 1000 对应 100.0A HEX1068 2 PV 输入功率 1000 对应 100.00kW HEX1069 2 当日发电量 1000 对应 100.0kWH HEX1070 2 逆变器效率 1000 对应 1 HEXID Byte Item Value 格式1071 2 年总发电量 10 对应 1000kWH HEX1072 2 逆变器 温度 1000 对应 100 摄氏度 HEX5.读取设置量—— Function 03ID Byte Item Value 格式1073 2 开机时间:年 0000:20 99 HEX1074 2 开机时间:月 1 :12 HEX1075 2 开机时间:日 1 : 31 HEX1076 2 开机时间:时 0 : 23 HEX1077 2 开机时间:分 0 : 59 HEX1078 2 开机时间:秒 0 : 59 HEX1079 2 关机时间:年 0000:20 99 HEX1080 2 关机时间:月 1 :12 HEX1081 2 关机时间:日 1 : 31 HEX1082 2 关机时间:时 0 : 23 HEX1083 2 关机时间:分 0 : 59 HEX1084 2 关机时间:秒 0 : 59 HEX1085 2 当日并网时间(小时数) 10 对应 1 HEX1086 2 总发电量高位 10 对应 1kWH HEX1087 2 总发电量低位 10 对应 1kWH HEX1088 2 总输出有功功率 1000 对应 100.00kW HEX1089 2 总输出无功功率 1000 对应 100.00kVA HEXID Byte Item Value 格式1090 2 输出功率设置 1-550( 525) HEX1091 2 预留 HEX1092 2 输出功率因数设置 95-100/-95-100( 0.95-1/-0.95-100) HEX1093 2 总输出功率因数 100 对应 1 HEX1094 2 总二氧化碳减排高位 10 对应 1kg HEX1095 2 总二氧化碳减排低位 10 对应 1kg HEX1096 2 预留 HEX1097 2 预留 HEX1098 2 预留 HEX1099 2 预留 HEX1100 2 预留 HEX6.设置参数—— Function 06ID Byte Item Value 格式1250 2 输出功率设置 1-550( 525) HEX1251 2输出功率因数可调设置 0:不可调 1:超前2:滞后 ( 0)HEX1252 2 输出功率因数设置 95-100( 0.95-1) HEX7.设置日期时间—— Function 16设置日期时间ID Byte Item Value 格式1500 2 小时 0 : 23 HEX1501 2 分钟 0 : 59 HEX1502 2 秒 0 : 59 HEX1503 2 年 0000: 2099 HEX1504 2 月 1 :12 HEX1505 2 日 1 : 31 HEX8.遥控开关机命令—— Function 06ID Byte Item Value 格式2010 2 遥控开关机 注释 1 HEX注释 1:0x5555——逆变器开机命令0xAAAA ——逆变器关机命令附录MODBUS/JBUS 数据帧格式FC3 块读取查询帧:NODE FUN ID(start) NR CRC1 bin 1 bin 2 bin 2 bin 2 binNODE MODBUS 节点号FUN 功能号, FC3=3, FC4=4ID(start) 所查询数据区的 ID 首址,必须是以上表格定义了的 IDNR 所查询数据区的 ID 个数CRC 校验和, L-H 方式反馈帧:NODE FUN NR_BYTE DATA CRC1 bin 1 bin 1 bin n bin 2 binNODE MODBUS 节点号FUN 功能号, FC3=3, FC4=4NR_BYTE 反馈数据 DATA 的字节个数,等于 NR 的两倍DATA 反馈数据区,长度等于 NR_BYTECRC 校验和, L-H 方式FC6 字写入查询帧:NODE FUN ID DATA CRC1 bin 1 bin 2 bin 2 bin 2 binNODE MODBUS 节点号FUN 功能号, FC6=6ID 所写入数据的 ID 地址,必须是以上表格定义了的 IDDATA 所写入的数据CRC 校验和,允许 L-H 方式反馈帧: (原样返回 )NODE FUN ID DATA CRC1 bin 1 bin 2 bin 2 bin 2 binNODE MODBUS 节点号FUN 功能号, FC6=6ID 所写入数据的 ID 地址,必须是以上表格定义了的 IDDATA 所写入的数据CRC 校验和,允许 L-H 方式FC16 块写入查询帧:NODE FUN ID(start) NR NR_BYTE DATA CRC1 bin 1 bin 2 bin 2 bin 1 bin n bin 2 binNODE MODBUS 节点号FUN 功能号, FC16=16ID(start) 所写入数据区的 ID 首址,必须是以上表格定义了的 IDNR 所写入数据区的 ID 个数,合法范围 1~ 123,并且覆盖范围不能有未定义的 IDNR_BYTE 所写入数据区 DATA 长度,必须为 NR 的两倍DATA 写入数据区,长度等于 NR_BYTECRC 校验和,允许 L-H 方式反馈帧:NODE FUN ID(start) NR CRC1 bin 1 bin 2 bin 2 bin 2 binNODE MODBUS 节点号FUN 功能号, FC16=16ID(start) 所写入数据区的 ID 首址,必须是以上表格定义了的 IDNR 所写入数据区的 ID 个数,合法范围 1~ 123,并且覆盖范围不能有未定义的 IDCRC 校验和,允许 L-H 方式