KPS中频控制器通讯说明.docx
- 文档编号:4098718
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:17
- 大小:53.44KB
KPS中频控制器通讯说明.docx
《KPS中频控制器通讯说明.docx》由会员分享,可在线阅读,更多相关《KPS中频控制器通讯说明.docx(17页珍藏版)》请在冰豆网上搜索。
KPS中频控制器通讯说明
KPS中频控制器通讯说明
一、功能介绍
本控制器可配置通讯接口与上位机进行通讯,接口电平符合RS485标准。
通讯格式为ModBusRTU。
通讯速率9600bit/s。
一个通讯接口最多可接32台控制器,通讯距离最长500米。
1、在“工作”状态时,上位机能向控制器读取的参数有:
A、规范号
B、焊接电流值
C、焊接次数
D、报警信息
E、“焊接/调整”状态、“工作/设定”状态
2、在“工作”状态时,上位机能向控制器写的参数有:
A、置控制器于“设定”状态
3、当控制器处于设定状态时,上位机能向控制器读/写的参数有:
A、选择控制器中预设的某一焊接规范作为当前规范
B、各规范号中的参数号和与之对应的参数值
C、焊接过电流设定值AH
D、焊接欠电流设定值AL
E、控制方式设定值AC
F、单点多规范设定值C
G、“工作/设定”状态、报警清除、计数器清零
注:
1、上位机向控制器连续写指令时,需要等控制器执行完上一条指令并给出返回信号后,才能写下一条指令。
2、控制器处于工作状态时禁止写除“状态”以外的其它参数。
使用注意:
1、通讯时请不要随意写入不属于说明书上参数,写入范围请参照使用说明书,随意写入可能造成控制器出错。
2、通讯时如果修改下位机号,则必须再次保证上位机通讯地址和下位机号相同,才可以正常通讯
二、通讯协议与指令
1、读指令格式读指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成(H高字节,L低字节)。
上位机发送指令格式为:
地址+功能代码+起始地址+读取字个数+校验码CRC16
单字节单字节2字节(H+L)2字节(H+L)2字节(L+H)
②③④⑤
控制器地址与地址指令(单字节)
工作中,通常一个通讯接口上连有多台控制器,为了方便区分,需将每台控制器进行独立编号,约定称下位机号,设定范围0-99。
如某下位机号Eb=11(16进制为0BH),
该控制器的地址指令为:
0BH
功能代码(单字节)
读参数指令代码为:
03H
起始地址2字节(H+L)
读取内容不同,起始地址编号不同,具体见参数代号表,如读取当前控制器的焊接次数,则起始地址为:
23H。
④读取字个数2字节(H+L)
读取内容不同,读取字个数不同,具体见参数代号表,如读取当前控制器的焊接次数,则读取字个数为:
01H
⑤校验码(CRC16)2字节(L+H)
根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。
注:
将发送指令中除校验码之外的所有参数进行CRC16计算,得到CRC校验码,放在发送指令最后面。
下位机返回数据格式为:
地址+功能代码+读取字节个数+读取的数据+校验码CRC16
单字节单字节单字节2字节(H+L)2字节(L+H)
②③④⑤
地址(单字节)
下位机机号,与发送指令中的地址相同。
②功能代码(单字节)
与发送指令中的功能代码相同。
③读取字节个数(单字节)
所读取数据的字节个数,是发送指令中读取字个数的两倍,如发送指令中读取字个数为01H,则下位机返回的读取字节个数为02H。
④读取的数据
上位机不同的读取内容,下位机返回不同的读取数据。
⑤校验码CRC16
下位机根据发送内容经过CRC16计算出的校验码,用于上位机纠错。
校验码的格式为(L+H)低字节在前,高字节在后。
注:
下位机将发送指令中除校验码之外的所有参数进行CRC16计算,得到CRC校验码,放在发送指令最后面。
2、写指令格式(单字写)单字写参数指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成。
上位机发送指令格式为:
地址+功能代码+起始地址+要写入的数据+校验码CRC16
单字节单字节2字节(H+L)2字节(H+L)2字节(L+H)
②③④⑤
地址(单字节)
下位机机号。
②功能代码(单字节)
单字写指令代码为:
06H。
③起始地址2字节(H+L)
根据写的参数不同,起始地址代码不同,具体见参数代号表。
④要写入的数据2字节(H+L)
所写参数的具体内容。
⑤校验码(CRC16)2字节(L+H)
根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。
下位机返回的数据格式为:
地址+功能代码+起始地址+写入的数据+校验码CRC16
单字节单字节2字节(H+L)2字节(H+L)2字节(L+H)
②③④⑤
3、规范读/写
读指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成(H高字节,L低字节)。
上位机发送指令格式为:
地址+功能代码+起始地址+读取字个数+校验码CRC16
单字节单字节2字节(H+L)2字节(H+L)2字节(L+H)
②③④⑤
控制器地址与地址指令(单字节)
下位机机号。
如某下位机号Eb=11(16进制为0BH),该控制器的地址指令为:
0BH
功能代码(单字节)
读参数指令代码为:
03H
起始地址2字节(H+L)
高字节为规范号(01H-08H分别对应8个规范),
低字节为规范参数(00H-04H分别对应5个参数),参见下表
高字节(H)
低字节(L)
字数(双字节)
备注
01H-08H分别对应控制器1-8个规范
00H
设定电流1
01H
读/写
01H
设定电流2
01H
读/写
02H
设定电流3
01H
读/写
03H
缓升/缓降时间
01H
读/写
04H
缓升/缓降目标值
01H
读/写
表一
注:
起始地址高字节01H-08H分别对应控制器的1-8个焊接规范;
④读取字个数2字节(H+L)
读取内容不同,读取字个数不同,如读取某规范的所有参数,则读取字个数为:
10H
⑤校验码(CRC16)2字节(L+H)
根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。
注:
将发送指令中除校验码之外的所有参数进行CRC16计算,得到CRC校验码,放在发送指令最后面。
下位机返回数据格式为:
地址+功能代码+读取字节个数+读取的数据+校验码CRC16
单字节单字节单字节(H+L…H+L)2字节(L+H)
②③④⑤
地址(单字节)
下位机机号,与发送指令中的地址相同。
②功能代码(单字节)
与发送指令中的功能代码相同。
③读取字节个数(单字节)
所读取数据的字节个数,是发送指令中读取字个数的两倍,如发送指令中读取字个数为02H,则下位机返回的读取字节个数为04H。
④读取的数据
上位机不同的读取内容,下位机返回不同的读取数据。
⑤校验码CRC16
下位机根据发送内容经过CRC16计算出的校验码,用于上位机纠错。
校验码的格式为(L+H)低字节在前,高字节在后。
注:
下位机将发送指令中除校验码之外的所有参数进行CRC16计算,得到CRC校验码,放在发送指令最后面。
写规范参数指令由“地址”、“功能代码”、“起始地址”、“写入字个数”和“要写入数据”、“校验码CRC16”组成。
上位机发送指令格式为:
地址+功能代码+起始地址+写入字个数+写入字节个数+要写入的数据+校验码CRC16
单字节单字节2字节(H+L)2字节(H+L)单字节N字节(H+L…H+L)2字节(L+H)
②③④⑤⑥⑦
地址(单字节)
下位机机号。
②功能代码(单字节)
多字写指令代码为:
10H。
③起始地址2字节(H+L)
根据写的参数不同,起始地址代码不同,具体参见表一。
④写入字个数2字节(H+L)
所写参数内容的字个数。
⑤写入字节个数单字节
所写内容的字节个数,是所写内容字个数的两倍。
⑥要写入的数据N个字(H+L…H+L)
要写入的数据字数与写入的内容有关,如要写某规范的全部参数,要写入的数据总共为12字。
⑦校验码(CRC16)2字节(L+H)
根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字节在前,高字节在后。
下位机返回的数据格式为:
地址+功能代码+起始地址+写入字个数+校验码CRC16
单字节单字节2字节(H+L)2字节(H+L)2字节(L+H)
②③④⑤
4、参数代号表
功能代码
说明
03H
读取数据
06H
写单字数据
10H
写多字数据
表二
16进制地址
参数
设定范围
字数(双字节)
备注
21H
工作状态
详
见
使
用
说
明
书
01H
22H
报警信息
只读
23H
焊接次数
只读
24H
查看选择规范
29H
P控制方式
二级菜单
2AH
A恒流控制方式
2BH
b采样方式
2EH
密码位
30H
Ab辅助气阀输出方式
密码4
31H
AC控制方式
32H
Ad初始导通角大小
33H
AE电压上限设定值
34H
AF电压下限设定值
36H
T错误提示
密码5
37H
C多规范数
3DH
Eb下位机号
密码7
44H
FP分配器功能
密码6
45H
Ft辅助气阀输出时间
62H
小数点值
只读
63H
电压值
只读
64H
电流值
10个电流一次读取0AH
表三
(1)工作状态(21H)
工作状态参数为2字节,仅用到低字节中D0、D1、D2、D3、D4
D7
D6
D5
D4
D3
D2
D1
D0
X
X
X
启动/停止
计数器清零
报警清除
调整/焊接
工作/待机
表四
读:
D0=0时,为“待机”状态,D0=1时为“工作”状态
D1=0时,为“焊接”状态,D1=1时为“调整”状态
D4=0时,为“停止”状态,D4=1时为“启动”状态
写:
D0置0时,为“待机”状态,D0置1时为“工作状态”
D1置0时,为“焊接”状态,D1置1时为“调整状态”
D2置1时,清除报警信息,置0时无动作
D3置1时,计数器清零,置0时无动作
注:
待机即控制器上的设定,启动为控制器有输出,停止为控制器没有输出。
注意:
工作状态下,不允许写参数,启动过程中,不允许发送工作/待机指令,否则可能会造成通讯异常
写入下位机号时,请一定注意,写入后立即修改,此时如果不修改上位机通讯机号,则无法正常通讯。
(如果有配置显示面板,则可通过显示面板来设置Eb值来修改下位机号使其符合上位机的通讯地址。
)
(2)读报警信息(22H)(对应控制器的错误信息Er01~Er15)
下位机返回的报警信息为2字节,高字节为0,低字节数据代表报警信息
值
对应控制器的报警信息
0H
无报警信息
1H
Er01
2H
Er02
3H
Er03
4H
Er04
5H
Er05
6H
Er06
7H
Er07
……
……
FH
Er15
表五
(3)小数点(62H)
显示值的小数点位置可直接读取到:
0=无,1=0.1,2=0.01
规范内设定值的小数点:
当二级菜单AC=0时,小数点位置与显示值相同;当AC=1时,没有小数点
二级菜单A值:
当二级菜单b=1时,有一个小数点;b≠1时,A没有小数点
(4)读焊接电流(64H)
控制器留有20字节的缓存区采用队列的方式保存最近10次焊接的电流值,每次焊接电流值占2字节,其中高字节的高4位代表规范(0001-1000分别对应1-8个规范),低字节8位+高字节低4位代表电流;
D0(高)
第N-2次焊设定电流1的实际焊接电流
D1(低)
D2(高)
第N-2次焊设定电流2的实际焊接电流
D3(低)
D4(高)
第N-2次焊设定电流3的实际焊接电流
D5(低)
D6(高)
第N-1次焊设定电流1的实际焊接电流
D7(低)
D8(高)
第N-1次焊设定电流2的实际焊接电流
D9(低)
D10(高)
第N-1次焊设定电流3的实际焊接电流
D11(低)
D12(高)
第N次焊设定电流1的实际焊接电流
D13(低)
D14(高)
第N次焊设定电流2的实际焊接电流
D15(低)
D16(高)
第N次焊设定电流3的实际焊接电流
D17(低)
D18(高)
备用
D19(低)
表六
注意:
1、上位机在连续读取焊接电流时,倘若缓存区未存满10个焊接电流值(即控制器未进行过10次焊接过程),那么剩余的缓存区数据为0。
2、10次电流必须一次性读取,读单独一个会通讯错误(03H)
3、上位机读取成功一次后,会将缓存区清零。
例:
控制器执行完5次焊接过程后,上位机发出信号读取焊接电流值,读到的数据如下:
D1(高)
第N次设定电流1的实际焊接电流,
D2(低)
D3(高)
第N次设定电流2的实际焊接电流,
D4(低)
D5(高)
第N次设定电流3的实际焊接电流,
D6(低)
D7(高)
0
D8(低)
D9(高)
0
D10(低)
D11(高)
0
D12(低)
D13(高)
0
D14(低)
D15(高)
0
D16(低)
D17(高)
0
D18(低)
D19(高)
0
D20(低)
表七
注:
N为上位机向控制器读数据时,控制器所执行完的最后一次焊接。
5、错误应答
当下位机返回的数据格式如下时,说明通讯不正确。
机号+(80H+功能代码)+故障代号××H+校验码CRC16
单字节单字节单字节2字节(L+H)
故障代号
意义
01H
功能代码错误
02H
起始地址错误
03H
字节/字数错误
04H
校验码错误/工作状态写参数
表八
6、通讯举例及说明
注:
以下指令的均为16进制;字节数为字数的两倍
6.1、读单字
发送指令:
0103002A0001A5C2
(01:
下位机机号;03:
读指令;002A:
起始地址,此处为二级菜单A值;0001:
读取字个数;A5C2:
校验码)
返回数据:
0103020014B84B
(01:
下位机机号;03:
读指令;02:
读取的字节个数;0014:
数据,16进制,转换为10进制为20;B84B:
校验码)
以上例子为读取二级菜单中的A值,数值为20
同理:
发送指令:
01030100000185F6;
返回数据:
01030200057847
读取的数据是规范一的参数一,数值为5
6.2、读多字
发送指令:
0103002A00032403
(01:
下位机机号;03:
读指令;002A:
起始地址;0003:
读取字个数,此处为三个数;2403:
校验码)
返回数据:
010306012C0000001E316A
(01:
下位机机号;03:
读指令;06:
读取的字节个数;012C:
300;0000:
0;001E:
30;316A:
校验码)
以上例子为读取地址从2A开始的3个数的值,分别为300、0和30
同理:
发送指令:
01030100001045FA
返回数据:
01032000050005009600050000000000C80005000000000000000000000000000000004D9D
以上例子为读取规范一中的所有参数的数值
6.3、写单字
发送指令:
0106002A0010A9CE
(01:
下位机机号;06:
读指令,002A:
起始地址;0010:
写入的数据;A9CE:
校验码)
返回数据:
0106002A0010A9CE
(返回的数据与发送的指令一样,用于确认数据是否正确)
以上例子为将二级菜单中的A值修改为16(10进制,16进制为10)
同理
发送指令:
01060100002089EE
返回数据:
01060100002089EE
以上例子为将规范一中的第一个参数修改为32
6.4、写多字
发送指令:
0110010000030600100000003023AB
(01:
下位机机号;10:
写多数据指令;0100:
起始地址;0003:
写入字个数;06:
写入字节个数;0010:
16;0000:
0;0030:
48;23AB:
校验码)
返回数据:
01100100000381F4
(0003:
写入的字个数)
将规范一中的参数1、参数2、参数3分别修改为16、0和48
同理
发送指令:
0110020000102000100010009600100010001000C8001000100010001000100010001000100010853D
返回数据:
011002000010C07D
以上例子为将规范二中的所有参数除参数3和参数7以外全部设置为16,参数3设为150,参数7设为200
6.5、更改状态
注:
更改状态需要写位地址,因此操作方法与上述有所区别,先要读取状态字数值,然后将状态字中的指定位修改后再写下去,具体操作方法如下:
例1、以下以修改工作/设定状态为例:
先发送读状态指令:
010300210001D400
返回数据:
01030200017984,状态字为0001,将状态转换为二进制得到
位
D7
D6
D5
D4
D3
D2
D1
D0
状态
0
0
0
0
0
0
0
1
说明控制器当前处于工作状态、焊接状态
通过发送指令将其修改为待机状态,也就是保持其他数据不变的情况下将D0位设置为0,即
位
D7
D6
D5
D4
D3
D2
D1
D0
状态
0
0
0
0
0
0
0
0
也就是将状态字的数值更改为0000
发送指令:
010600210000D9C0
返回指令:
010600210000D9C0
此时已经将状态更改为待机状态
例2、依然以修改工作/设定状态为例
发送读状态指令:
010300210001D400
返回数据:
01030200023985,状态为0002,即
位
D7
D6
D5
D4
D3
D2
D1
D0
状态
0
0
0
0
0
0
1
0
说明控制器当前处于待机状态、调整状态
通过指令将其修改为工作状态,也就是保持其他数据不变的情况下将D0设为1,如下
位
D7
D6
D5
D4
D3
D2
D1
D0
状态
0
0
0
0
0
0
1
1
也就是0003,将此数据发送到控制器中
发送指令:
01060021000399C1
此时控制器就已经处于工作状态、调整状态
例3、计数器清零
当控制器处于待机状态(D0=0),焊接状态(D1=1)时,即状态字数据为0000,
需要将计数器清零也就是将D3设为1,那么写入的状态字数据为0008(二进制为1000),如下
位
D7
D6
D5
D4
D3
D2
D1
D0
状态
0
0
0
0
1
0
0
0
发送指令:
010600210008D806即可
综上所述,需要更改哪一个位地址的状态,需要先读取这个字地址的数据,更改指定位地址数据后,再将更改后的数值写入到字地址中。
6.6、读取电流值
控制区存储的电流值必须一次性读取,读取后缓存区会自动清零,因此发送的指令如下:
发送指令:
01030064000A8412
(01:
下位机机号;03:
读指令;0064:
起始地址;000A:
读去字数,此处为10个字;8412:
校验码)
返回指令:
010314106410641064106410641064106410641064000034D1
(14:
读取的字节数,此处为20个字节,1064:
读取到的规范号加电流值,详见下文)
读取到的规范与电流值需要转换,先将其转换为二进制如下:
高字节
低字节
0001
0000
0110
0100
其中高字节的高4位为0001,转换为规范号就是1(二进制01)
余下的数据为000001100100,转换为电流值就是100(二进制01100100)
也可以采用“与”门的方法,不再详细介绍
6.7、错误提示
当读取的数据量、地址或其他形式的错误时,返回错误代码:
发送指令:
010300640001(原目的是读取电流值中的一个)
返回指令:
0183030131(返回错误代码03,字节字数错误)
或者
发送指令:
01030064000A8411(正确的校验码应该是8412)
返回指令:
01830440F3(返回错误代码04,校验码错误)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KPS 中频 控制器 通讯 说明
![提示](https://static.bdocx.com/images/bang_tan.gif)