Haier0529滚筒洗衣机通讯协议.docx

上传人:b****8 文档编号:24012844 上传时间:2023-05-23 格式:DOCX 页数:19 大小:98.47KB
下载 相关 举报
Haier0529滚筒洗衣机通讯协议.docx_第1页
第1页 / 共19页
Haier0529滚筒洗衣机通讯协议.docx_第2页
第2页 / 共19页
Haier0529滚筒洗衣机通讯协议.docx_第3页
第3页 / 共19页
Haier0529滚筒洗衣机通讯协议.docx_第4页
第4页 / 共19页
Haier0529滚筒洗衣机通讯协议.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Haier0529滚筒洗衣机通讯协议.docx

《Haier0529滚筒洗衣机通讯协议.docx》由会员分享,可在线阅读,更多相关《Haier0529滚筒洗衣机通讯协议.docx(19页珍藏版)》请在冰豆网上搜索。

Haier0529滚筒洗衣机通讯协议.docx

Haier0529滚筒洗衣机通讯协议

 

滚筒洗衣机用异步通讯协议()

 

编制

 

审核

会签

 

批准

 

青岛海尔科技有限公司

 

2007年05月30日

软件版本:

WORD2003

适用范围:

此通讯协议适用于滚筒洗衣机通用电源板平台与主控板之间的通讯。

 

通讯方式:

通讯采用UART的半双工方式,TxD和RxD用一根共有的通讯线,以主从方式进行数据传送。

由于洗涤流程,用户控制等功能集中在主控板上,而负载的驱动、开关等功能集中在电源板上,所以定义主控板为主机(Master),电源板为从机(Slave)。

主机负责向从机发送控制指令及查询从机状态的指令,从机则根据收到的指令完成负载的开关、电机转停的设定等功能,并向主机反馈控制状态。

数据传送从用帧的方式,每一帧为10位,如图1所示,其中包括1位起始位(以低电平表示)、8

位有效数据位(高电平表示“1”,低电平表示“0”)和1位停止位(以高电平表示)。

UART波特率采

用1200bps,即每个数据位的传送时间”FL”约为。

接收方以接收到第一个低电平(起始位)标志通讯的开始,以准备接收后面的8位有效数据。

 

FL

 

图1

数据校验:

考虑到通用电源板需与多种主控板进行匹配,为进一步降低通讯中的误码率,此异步半双工串口通讯的数据校验采用8位CRC校验,其生成多项式为x8+x7+x4+x3+x+1(0x19B),校验初始值

为0x00。

发送方完成一次完整的数据发送后,接受方所得到的有效数据最多为8字节。

由生成多项式0x19B所得的8位CRC校验码如下表所示:

CrcTable[256]=

□{

0x00,0x9b,0xad,0x36,0xc1,0x5a,0x6c,0xf7,

0x19,0x82,0xb4,0x2f,0xd8,0x43,0x75,0xee,

0x32,0xa9,0x9f,0x04,0xf3,0x68,0x5e,0xc5,

0x2b,0xb0,0x86,0x1d,0xea,0x71,0x47,0xdc,

0x64,0xff,0xc9,0x52,0xa5,0x3e,0x08,0x93,

0x7d,0xe6,0xd0,0x4b,0xbc,0x27,0x11,0x8a,

0x56,0xcd,0xfb,0x60,0x97,0x0c,0x3a,0xa1,

0x4f,0xd4,0xe2,0x79,0x8e,0x15,0x23,0xb8,

0xc8,0x53,0x65,0xfe,0x09,0x92,0xa4,0x3f,

0xd1,0x4a,0x7c,0xe7,0x10,0x8b,0xbd,0x26,

0xfa,0x61,0x57,0xcc,0x3b,0xa0,0x96,0x0d,

0xe3,0x78,0x4e,0xd5,0x22,0xb9,0x8f,0x14,

0xac,0x37,0x01,0x9a,0x6d,0xf6,0xc0,0x5b,

0xb5,0x2e,0x18,0x83,0x74,0xef,0xd9,0x42,

0x9e,0x05,0x33,0xa8,0x5f,0xc4,0xf2,0x69,

0x87,0x1c,0x2a,0xb1,0x46,0xdd,0xeb,0x70,

0x0b,0x90,0xa6,0x3d,0xca,0x51,0x67,0xfc,

0x12,0x89,0xbf,0x24,0xd3,0x48,0x7e,0xe5,

0x39,0xa2,0x94,0x0f,0xf8,0x63,0x55,0xce,

0x20,0xbb,0x8d,0x16,0xe1,0x7a,0x4c,0xd7,

0x6f,0xf4,0xc2,0x59,0xae,0x35,0x03,0x98,

0x76,0xed,0xdb,0x40,0xb7,0x2c,0x1a,0x81,

0x5d,0xc6,0xf0,0x6b,0x9c,0x07,0x31,0xaa,

0x44,0xdf,0xe9,0x72,0x85,0x1e,0x28,0xb3,

0xc3,0x58,0x6e,0xf5,0x02,0x99,0xaf,0x34,

0xda,0x41,0x77,0xec,0x1b,0x80,0xb6,0x2d,

0xf1,0x6a,0x5c,0xc7,0x30,0xab,0x9d,0x06,

0xe8,0x73,0x45,0xde,0x29,0xb2,0x84,0x1f,

0xa7,0x3c,0x0a,0x91,0x66,0xfd,0xcb,0x50,

0xbe,0x25,0x13,0x88,0x7f,0xe4,0xd2,0x49,

0x95,0x0e,0x38,0xa3,0x54,0xcf,0xf9,0x62,

0x8c,0x17,0x21,0xba,0x4d,0xd6,0xe0,0x7b,

};

协议格式:

以下对通讯协议的描述均为对通讯中有效数据的描述,即通讯数据的每一帧中起始位和停止位不

适用于此协议格式。

主机发送数据格式为:

报头

报文长度

操作码

数据

校验码

从机发送数据格式为:

1,当接收到来自主机的控制指令:

应答码

2,当接收到来自主机的查询指令:

报文长度数据校验码

其中,

“报头”:

0x5A

“应答码”:

0xF0(通讯成功);0x0F(通讯不成功);“报文长度”:

“操作码”的有效字节数+“数据”的有效字节数,若无“操作码”,则仅为

“数据”的有效字节数。

“校验码”:

8位CRC校验码,剔除“报头”从“报文长度”开始计算,直到“数据”结束。

“操作码”:

分为控制指令和查询指令,详见后面表格。

错误处理:

1,主控板与电源板不得无故停止通讯,以确保无任何一方发生软件或硬件的故障。

2,若电源板连续254次检测到通讯中的数据有误,如主控板传送数据位数不匹配、UART6奇偶校验错误,UART6数据帧错误、通讯软件本身错乱等,电源板将关闭所有负载,并停转电机。

直到电源板收到正确的数据为止。

3,若电源板连续10秒钟收不到来自主控板的任何数据,电源板将将关闭所有负载,并停转电机,直到电源板收到数据为止;若电源板连续20秒钟收不到来自主控板的任何数据,电源板将复位,直到电源板收到数据为止。

在软件调试阶段,此条可通过主控板发送控制指令“禁止电源板通讯超时检查”实现功能的屏蔽。

4,主控板发送完数据后,若电源板反馈回通讯数据错误标志(应答码0x0F),则主控板应将通讯口重置为发送状态,以实现下一次数据的发送,同时对通讯数据错误进行计数。

相反,主控板应在每一次完整、正确的通讯完成以后,将此计数清零。

当通讯数据错误计数达到10次时,主控板通讯程序应宣告并计数一次通讯失败。

5,主控板发送完数据后,若2秒钟内收不到电源板的任何回复,则主控板应将通讯口重置为发送状态,以实现下一次数据的发送,同时对通讯等待超时错误进行计数。

相反,主控板应在收到来自电源板的任何数据时将此计数清零。

当通讯等待超时错误计数达到2次时,主控板通讯程序应宣告并计数一次通讯失败。

6,当主控板通讯程序累计2次宣告失败,即可认为主控板与电源板之间的通讯功能丧失,主控板应进入错误报警状态(对于关机时控制器仍得电的机型,用户不开机则主控板不应报警)。

主控板在每次得电启动时都对通讯失败计数进行清零。

 

指令数据:

 

主机发送控制指令

主机发送查询指令

设定阀、泵等负载开关

0x81

查询电源板状态

0x01

设定电机转停

0x82

查询测量重量

0x02

设定变种

0x83

查询测量重量数据(测试模式)

0x03

设定开始称重

0x84

设定机器型号

0x85

设定开始称重(测试模式)

0x86

设定电机转停

0

报头

0x5A

1

数据长度

5

2

操作码

0x82

3

设定滚筒速度(高字节)

[0xFFFF..0x7FFF]rpm

正数表示顺时针

负数表示逆时针

4

设定滚筒速度(低字节)

5

设定加速度(高字节)

[0..255]rpm/

6

设定加速度(低字节)

[0..255]1/256rpm/

7

校验码

[0..255]

从机回复:

8

应答码

[0xF0|0x0F]

 

设定阀、泵等负载开关

0

报头

0x5A

1

数据长度

3

2

操作码

0x81

3

受控负载组1

[0..255]

4

受控负载组2

[0..255]

5

校验码

[0..255]

从机回复:

6

应答码

[0xF0|0x0F]

 

受控负载组1

注释

0

门锁

 

0:

1:

(对于门锁,”0”表示

开锁,”1”表示锁定)

1

洗涤加热

2

烘干加热

3

排水泵(排水电机)

4

烘干风扇

5

预洗阀

6

主洗阀

7

热水阀

受控负载组2

注释

0

冷凝阀

 

0:

1:

1

电解板

2

备用阀(泵)

3

预留

4

预留

5

预留

6

预留

7

预留

 

设定变种

0

报头

0x5A

1

数据长度

3

2

操作码

0x83

3

变种信息

[0..255]

4

电机传动比

(10*(皮带轮/电机轴径))

[0..255]

5

校验码

[0..255]

从机回复:

6

应答码

[0xF0|0x0F]

变种信息

注释

0

电机中间抽头

1:

有0:

1

变频功能

1:

有0:

2

水位传感

1:

频率式0:

开关式

3

门锁

1:

电磁式0:

PTC式

4

为主控板供电电压

1:

24V0:

12V

5

洗衣机或洗干一体机

1:

洗衣机0:

洗干一体机

6

排水设备

1:

排水泵0:

排水电机

7

预留

 

查询电源板状态

报头

0x5A

1

数据长度

1

2

操作码

0x01

3

校验码

[0..255]

从机回复:

4

数据长度

8

5

变种信息

[0..255]

6

状态信息

[0..255]

7

滚筒转速(高字节)

[0xFFFF..0x7FFF]rpm

正数表示顺时针

负数表示逆时针

8

滚筒转速(低字节)

9

电机状态(高字节)

[0..255]

10

电机状态(低字节)

[0..255]

11

不平衡值(加速时)

[0..255]

12

不平衡值(匀速时)

[0..255]

13

校验码

[0..255]

变种信息

注释

0

电机中间抽头

1:

有0:

1

变频功能

1:

有0:

2

水位传感

1:

频率式0:

开关式

3

门锁

1:

电磁式0:

PTC式

4

为主控板供电电压

1:

24V0:

12V

5

洗衣机或洗干一体机

1:

洗衣机0:

洗干一体机

6

排水设备

1:

排水泵0:

排水电机

7

变种校验

1:

电源板与主控板变种信息不匹配

0:

电源板与主控板变种信息匹配

主控板收到电源板的变种信息反馈后,将其与主控板发送的变种信息进行硬件匹配校验,若发现校验不匹配,则由主控板发出报警信息。

由于“电机中间抽头”、“水位传感”、“门锁”、“排水设备”等信息在电源板上无硬件变种进行校验,所以不能实现上述硬件匹配校验功能。

状态信息

注释

0

洗涤水位

1:

洗涤水位0:

空桶水位

1

溢水水位

1:

溢水0:

不溢水

2

关门状态

1:

门已关上0:

门未关上

3

锁门状态

1:

门已锁上0:

门未锁上

4

主洗阀可空硅短路

1:

短路0:

未短路

5

预洗阀可空硅短路

1:

短路0:

未短路

6

热水阀可空硅短路

1:

短路0:

未短路

7

电源板重启动标志

1:

是0:

主控板检测到电源板重启动后,除非对电源板进行过变种设定,否则10秒钟之内主控板不能对电机进行操作。

 

电机状态

注释

0

设定方向为右

 

1:

是0:

1

设定方向为左

2

实际方向为右

3

实际方向为左

4

电机加速时间未结束

5

无测速反馈

6

变频模块散热器过温或串激电机温控

器断路

7

变频电机短路

8

变频电机堵转

9

变频模块无电源

10

变频模块重启

11

变频模块电源过压

12

变频模块温度传感器异常

13

变频模块参数校验错误

14

IGBT/电机驱动可控硅短路

15

电源板与变频板无通讯或串激电机出

错标志位

 

1>新增测量衣物重量命令解析

设定开始测量衣物重量

0

报头

0x5A

1

数据长度

1

2

操作码

0x84

3

校验码

[0..255]

从机回复:

4

应答码

[0xF0|0x0F]

 

查询电源板测量重量

报头

0x5A

1

数据长度

1

2

操作码

0x02

3

校验码

[0..255]

从机回复:

4

数据长度

1

5

衣物重量

[0..255]

6

校验码

[0..255]

衣物重量单位:

Kg*32(1Kg=32,=48,3kg=96…7kg=224)

显示板发送开始测量重量后,就一直查询电源板的测量重量,测量完成后反馈实际重量*32,测量未完成反馈0xFF。

最长测量时间60秒。

如果电源板测量重量大于7Kg,电源板将反馈7Kg。

显示板发送开始测量重量命令后,电源板只要收到命令就开始自动测量。

因此显示板发送一次命令得到确认后,就不能再重复发送了。

如果显示板一直没收到,可以尝试重新开始测量。

(因为GE板子有可能由于某种原因没有完成测量)。

电源板在收到开始测量命令后,按照GE要求要执以下命令

停止→50rpm反转5秒→停止5秒→50rpm正转5秒→分布到100rpm15秒→最大加速度到400rpm15秒→

→降至250rpm运行10秒

然后才电源板才开始发送“开始称重命令”给GE电机。

开始执行以下流程

发送开始称重命令→检测测量状态→得到测量的重量

 

2>分布要求细节

显示控制板必须发送速度=90,加速度=102。

电源板收到该值并转换数据格式发送给GE电机,大约延迟40秒后直接发送GET_OOB_SCORE给GE电机,并等待回复结果。

注意该处不平衡值是一个无量纲,显示板需要根据具体情况调整不平衡值。

另外电源板将程序做了一定的处理也就是如果反馈的不平衡值>254,就取254,因为显示板与电源板的通信不平衡格式为8位数。

(加速度与平均速度不平衡值取值结果一样)

 

3>型号设定定义

GE电机轮直径:

表G-1

型号

电机容量(Kg)

洗涤容量(Kg)

皮带轮直径(mm)

描述

A

6

6

280

铁桶带烘干-----默认程序

B

6

6

280

塑料桶不带烘干

C

6

8

315

塑料桶烘干

D

6

8

315

塑料桶非烘干

E

8

>=8

280

1600rpm烘干

F

8

>=8

280

1600rpm非烘干

*其中目前GE电机给的桶转速为按皮带轮比率1/计算出来的。

 

设定电源板型号

0

报头

0x5A

1

数据长度

1

2

操作码

0x85

3

具体型号

0x0A~0x0F

4

校验码

[0..255]

从机回复:

5

应答码

[0xF0|0x0F]

 

电源板没有收到具体型号时,按默认A型号执行程序。

电源板在收到显示控制板发来的具体型号后,根据表G-1数据进行调整具体的转速和校准GE电机参数。

事业部或GE需要给出具体的校准参数表。

对GE校准参数表需要称干布前和开始不平衡甩干前都要执行校准指令。

 

4>新增测试模式-测量衣物重量数据命令解析

 

设定开始测量衣物重量(生产检测专用指令)

0

报头

0x5A

1

数据长度

1

2

操作码

0x86

3

校验码

[0..255]

从机回复:

4

应答码

[0xF0|0x0F]

注意:

该反馈数据是一种无量纲,以便于显示板显示GE反馈的数据。

查询电源板测量重量数据(生产检测专用指令)

报头

0x5A

1

数据长度

1

2

操作码

0x03

3

校验码

[0..255]

从机回复:

4

数据长度

2

5

衣物重量数据(高字节)

[0..255]

6

衣物重量数据(低字节)

[0..255]

7

校验码

[0..255]

 

显示板发送开始测量重量后,就一直查询电源板的测量数据,测量完成后电源板将GE电机反馈的实际数据原封不动的反馈给显示控制板。

显示板发送开始测量重量命令后,电源板只要收到命令就开始自动测量。

因此显示板发送一次命令得到确认后,就不能再重复发送了。

电源板收到显示板发送的命令0x86后,先给GE电机发送称重的次数,然后给GE电机发送开始称重命令,接着开始检测测量状态,如果检测到完成就开始读取测量数据,并将数据反馈给显示板。

下面是GE给的原文数据

关于ICM电机称重的线上检测,建议如下:

1、用节的“setloadmeasurementSampleCount”:

0xEE指令设置称重采样次数,1次或2次,1次需要15秒左右。

然后发指令“StartLoadMeasurement:

0xE1”,接着发指令"GetloadmeasurementStatus:

0xE2",当状态变为“1”时,发指令"GetLoadScore",该指令在附件中节,可以将读出的数的容差设为6562(+/-5%),6562是称重曲线对应空筒的LoadScore值,5%对应的公差是。

因为在称重算法里,如果读出的LoadScore值小于6562,那对应的负载重量都设为0,这就是我建议你们用LoadScore,而不用实际重量作为检测量的原因,因为用实际重量的话,如果出来的值是0,你不知道读出的LoadScore比6562小多少,如果小很多的话是不正常的。

你们可以叫你们的软件工程师按这样修改,如果有什么不明白的,让他们联系我。

仲建华[附件""被gtdk/haiernet删除]

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1