正泰中自串口管理服务器CHITIC-RS485通讯

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

16、地址码 20、8 位
17、功能码 21、8 位
18、数据区 22、N×8 位
19、校验码 23、16 位 CRC
地址码: 地址码是信息帧的第一个字节(8 位),从 0 到 255。这个字节表明由用 户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址 码,并且只有符合地址码的从机才能相应回送。当从机回送信息时,相应的地址 码表明该信息来自于相应地址的从机。
2
130
5A=0500
0003H C 相电流(Ic)
3
131
5A=0500
0004H 三相平均电流(Iav)
4
132
无Leabharlann Baidu
0005H A 相相电压(Ua)*
5
133
220V=0220
0006H B 相相电压(Ub)*
6
134
220V=0220
0007H C 相相电压(Uc)*
7
135
220V=0220
0008H 三相平均电压(Uav)
06H
写单个寄存器 把设置的单个数值写入指定的寄存器
10H
写多个寄存器 把设置的数值写入指定的连续寄存器
注:如果从机发送的功能码的最高位是 1(功能码>127),则表明从机没有响应 操作或发送出错。 数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值,设置点, 主机发送给从机或从机发送给主机的地址。数据区包含需要从机执行什么动作或
144
50Hz=0050
145
1.1KW=0110
146
1.1KW=0110
147
1.1KW=0110
(4).如果最低位为 0:重复第 3 步(再次移位)如果最低位为 1:CRC 寄存器与多
项式 A001(1010 0000 0000 0001)进行异或;
(5).重复步骤 3 和 4,直到右移 8 次,这样整个 8 位数据全部进行了处理; (6).重复步骤 2 到步骤 5,进行下一个 8 位数据的处理;
8
136
220V=0220
0009H AB 相线相电压(Uab)** 9
137

000AH BC 相线相电压(Ubc)** 10
138

000BH CA 相线相电压(Uca)** 11
139

000CH 总有功功率(Psum)
12
140
3.3KW=0330
000DH 总无功功率(Qsum)
13
000EH 总视在功率(Ssum)
(7).最后得到的 CRC 寄存器即为 CRC 码。(CRC 码 = CRC_L + CRC_H)
出错返送:
从主机接收到的信息如有 CRC 错误,则将被忽略。 从机返送的错误码的格式如
下:
地址码 : 1 字节
功能码 : 1 字节(最高位为 1)
错误码 : 1 字节
CRC 码 : 2 字节
响应回送如下出错命令。
10、因其他协议地址均从 0 开始,而 MODBUS 地址从 1 开始(1~65535),因此变 量定义时参数寄存器地址一般为“十六进制直接转换而来的十进制+1”,如电流 0130H 在 CHITIC 中变量定时时,其寄存器地址为 304+1=305,前面再加保持寄存 器(读取)代码 4,即最终写入的寄存器地址为 4305. 11、某些 MODBUS 地址与设备厂家具体设定有关,参数寄存器地址也有些需要在 “十六进制转换十进制后—1”,即 0130H 对应十进制为 304,但软件读取时为 303, 前面加上保持寄存器(读取)代码 4,最终写入的寄存器地址为 4303. 12、软件设置中寄存器类型一般对数据影响不大,但当选择 FLOAT 类型时,需要 注明数据解析格式,即在寄存器地址后加“,0”或“,1”或“,2”或“,3”逗号 为英文格式,具体是加 0、1、2、3 中哪个数字可以只定义一个变量,分别在寄 存器后添加 0、1、2、3,编译下装后哪个数据显示正确则即为添加哪一个数字。 13、当选择 INT 等其他寄存器类型时不需要在寄存器地址后添加数据解析格式。 14、最终所需数据一般需要直接读取数据(Rx)进行换算后得出,具体换算公式 由设备厂家提供。
由从机采集的返送信息,这些信息可以是数值、参考地址等等。例如,功能码告
诉从机读取寄存器的值,则数据区必须包含要读取的寄存器的起始地址及读取长 度。如果功能码告诉从机设置某些连续寄存器的值,则数据区还要包含这些数值。 对于不同的从机,地址和数据信息可能都不相同。
校验码:校验码可用于主机或从机判断接受信息是否出错。有时由于电子噪音或
其它一些干扰,信息在传输过程中会发生细微的变化,这时自己根据信息计算所 得的检验码与信息中包含的校验码就会不一致,从而判断接受信息出错。校验码 保证了主机或从机对在传送中出错的信息不起作用,增加了系统的安全和效率。 校验码采用 CRC-16 校验方法。
计算 CRC 码的步骤为:
(1).预置 16 位寄存器为 FFFFH。称此寄存器为 CRC 寄存器; (2).把第一个 8 位数据与 CRC 寄存器的低位相异或,把结果放于 CRC 寄存器; (3).把寄存器的内容右移一位(朝低位),用 0 填补最高位,检查最低位;
CB
从机响应命令,执行后数据变为下表:
地址 0002 0004 0006
数据 0064 2304 5555
2.2 功能码读取电量参数 2.2.1 模拟量和开关量设置举例
地址
基本电量
上限报警 DO 模拟量输出 AO
下线报警 DO
设置值举例
0001H A 相电流(Ia)
1
129
5A=0500
读取值
0002H B 相电流(Ib)
发送至从机 01 单点保存 起始地址为 0002
保存数据 0002
由从机计算的 CRC 码
从机响应这条命令并且执行后,它寄存器 0002 内数据就会替换为主机发送过去的保存
数据。这时从机中起始地址为 0002 的寄存器内数据改变如下表所列:
地址 0002 0004 0006
数据 0002 020B 125C
寄存器地址 2 2
06 3 个寄存器共 6 字节 00 地址 0002 中的数据 0A 02 地址 0004 中的数据
0B
寄存器地址 3 2
CRC 码
2
12 地址 0006 中的数据 5C C5 从机计算的 CRC 码
97
从机寄存器内数据不发生变化。
功能码 06 设置单个寄存器
主机发送
字节数
举例
从机地址 功能码 起始地址
功能码 10H 写数据到连续寄存器
主机发送 从机地址 功能码 起始地址
数据长度
字节数 数据 1
数据 2
数据 3
CRC 码
从机响应
字节数 1 1 2
2
1 2
2
2
2
字节数
举例 01 10 00 02 00 03 06 00 64 23 04
55 55 BF 94
举例
发送至从机 01 多点保存 起始地址为 0002
02
读取点数
2
00 读取 3 个寄存器
CRC 码
2
03 共 6 字节 A4 由主机计算的 CRC 码 0B
04(从机地址)03(读取)01 30(起始地址)00 01(读取长度/点数)85 AC(CRC 校验码)
从机响应
字节数 举例
从机地址
1
01 发送至从机 01
功能码
1
03 读取寄存器
读取字
1
寄存器地址 1 2
附:
MODBUS 通讯协议规约(设备厂家提供,参考)
通讯规约
15、1、规约简述 Modbus 通讯规约被广泛的作为系统集成的标准。当通讯命令 发送至仪器时,符合相应地址码的设备接收通讯命令,读取信息,如果没有出错 则执行相应的任务,然后把执行结果返送给发送者;如果出错则返送错误报告信 息(CRC16 校验码出错则不返送任何信息)或者不返送任何信息。其通讯数据帧 格式如下:
MODBUS-485 通讯
江山 SoLove 1、现场设备地址、波特率、数据位、停止位和奇偶校验方式等参数设置与组态 软件设置保持一致。 2、为保证现场设备支持 MODBUS-485 通讯协议,一般设备接入系统前需先用“串 口调试软件”测试,由软件发送请求数据,看设备能否返回数据,返回数据是否 正确等;一切正常后再接入系统,进行系统检查、调试。 3、串口调试软件中参数设置与现场设备设置一致,且端口地址(COM1、COM2...) 与实际接入一致,如不确定是哪一个可以一个个试通讯,一般主机有两个串口, COM1 不通即试 COM2. 4、串口调试软件中发送数据格式由设备厂家提供,主要是提供功能码,具体格 式附文本最后,参考。 5、现场设备(如多功能数显表、流量计等支持 MODBUS-485 通讯协议)的 MODBUS 地址需设备厂家提供;MODBUS 地址即具体电量参数的读取地址,一般为十六进 制,如电流地址为 0130H。 6、软件设置中,新建设备的设备地址必须与现场设备的地址一致;如某数显表 表头设置设备地址为 2,则软件设置中该数显表设备地址必须为 2 才能实现通讯。 7、新建设备的端口地址(COM1、COM2 等)必须与服务器端口地址一致;如软件 设置中设备地址为 2 的多功能数显表的端口设为 COM1,则设备 2 数显表的 485 两线需连接在串行通讯模板(串口管理服务器)的 COM1 端口,若接入其他端口 则系统无法与数显表 2 实现通讯。 8、变量的寄存器地址由设备厂家提供的十六进制 MODBUS 地址转换而来,如电流 的地址为 0130H,则该设备中电流的寄存器地址为 304。 9、功能码必须设置正确,其由设备厂家提供,如读取数据为 03H,写入数据为 06H;数据库(符号表)中新建变量时,读取还是写入功能码必须填写正确(有 些软件有单独的功能码填写区);CHITIC 软件中读取数据直接在寄存器地址中设 置,读取数据一般用 3 或 4,实际用 4 更多一些,即定义该变量时直接在其实际 寄存器地址前加 4 即可,如读取某设备电流信号(0130H),0130H 转换为十进制 为 304,则 CHITIC 总定义时其寄存器地址为 4304。
保存 3 点(6 字节)
6 字节 数据地址 0002
数据地址 0004
数据地址 0006
由主机计算的 CRC 码
从机地址 功能码 起始地址
保存数据数
CRC 码
1
01 发送至从机 01
1
10 多点保存
2
00 起始地址为 0002
02
2
00 保存 3 点(6 字节)
03
2
A9 由从机计算的 CRC 码
保存数据
CRC 码
从机响应 从机地址 功能码 起始地址
保存数据
CRC 码
1 1 2
2
2
字节数 1 1 2
2
2
01 06 00 02 00 02 A9 CB
举例 01 06 00 02 00 02 A9 CB
发送至从机 01 单点保存 起始地址为 0002 保存数据 0002 由主机计算的 CRC 码
功能码: 主机发送的功能码告诉从机执行怎么样的任务,从机的功能码则表明从 机响应主机相应任务进行了操作。Modbus 通讯规约定义的功能码为 01H 到 7FH,
网络电力仪表使用了其中一部分功能码。下表列出了所用到的功能码的具体含义
及操作。
代码(Hex) 含 义
操作
03H
读取数据
读取指定寄存器开始的一个或多个数据
14
000FH 平均功率因数(Pfav) 15
0010H 频率(F)
16
0011H A 相有功功率(Pc)
17
0012H A 相无功功率(Qc)
18
0013H A 相视在功率(Sc)
19
0014H A 相功率因数(Pfc)
20
0015H B 相有功功率(Pc)
21
0016H B 相无功功率(Qc)
22
如下
地址 0002 0004 0006
数据 000A 020B 125C
功能码 03H 读取寄存器
04
03
01 30
00 01
85 AC
(从机地址) (功能码)(起始地址)(读取长度/点数)(CRC 校验码)
主机发送
字节数 举例
从机地址
1
功能码
1
起始地址
2
01 发送至从机 01 03 读取寄存器 00 起始地址为 0002
01 – 非法的功能码。 接收到的功能码 XX-XXXX 表不支持。
02 – 非法的数据位置。 指定的数据位置超出 XX-XXXX 表的范围。
03 – 非法的数据值。 接收到主机发送的数据值超出相应地址的数据范围。
2、通讯说明
2.1 信息帧举例: 假设从机地址为 01 ,起始地址为 0002 的 3 个寄存器内数据
0017H B 相视在功率(Sc)
23
0018H B 相功率因数(Pfc)
24
0019H C 相有功功率(Pc)
25
001AH C 相无功功率(Qc)
26
001BH C 相视在功率(Sc)
27
001CH C 相功率因数(Pfc)
28
141
3.3KW=0330
142
3.3KW=0330
143
1.0=0100
相关文档
最新文档