窗帘电机公共串口协议-V0.1.1..pdf
《窗帘电机公共串口协议-V0.1.1..pdf》由会员分享,可在线阅读,更多相关《窗帘电机公共串口协议-V0.1.1..pdf(5页珍藏版)》请在冰豆网上搜索。
编制审核批准1项目型号串口协议-v0.1.1责任工程师:
时间:
主管审核:
1.功能简介功能简介串口协议2.技术规格技术规格对外接口定义:
3.3V,GND,RXD,TXD波特率:
9600停止位:
1数据位:
8奇偶校验:
无3.数据结构数据结构头码长度功能码数据校验码0x55AAlength数据地址+数据内容CRC162Byte1Byte1BytenByte2Byte发送时先发头码。
每两个字节之间发送或者接收的时间间隔不能超过1.5倍字节传输时间,如果两个字节时间间隔超过了3.5倍的字节传输时间,依规定就认为一笔数据已经接收完毕,新的一笔数据传输开始。
头码:
固定为:
0x55AA长度:
从功能码到校验码的长度功能码:
0x01:
模块下发(模块电机)0x02:
模块读(模块电机)0x03:
主动上报(电机模块)数据:
数据地址+数据内容校验:
从头码开始计算的CRC16校验,校验方式见附录1举例:
控制电机关闭:
发送:
55AA05010102EAA3返回:
55AA05010102EAA34.数据数据模块下发(模块下发(0x01)数据地址含义数据内容备注0x01电机状态发送:
Byte00x01:
打开;0x02:
关闭;0x03:
停止返回:
Byte00x01:
打开;0x02:
关闭;0x03:
停止电机执行相应的状态0x02百分比与角度控制发送:
Byte0(百分比)0-100;0xFF:
不执行Byte1(角度)0-180;0xFF:
不执行返回:
Byte0(百分比)0-100;0xFF:
找不到百分比Byte1(角度)0-180;0xFF:
找不到角度电机执行百分比与角度命令100%:
帘子完全打开0%:
帘子完全关闭0x03手拉启动功能发送:
Byte00x01:
设置为有手拉启动;0x00:
设置为无手拉启动返回:
Byte00x01:
设置为有手拉启动;0x00:
设置为无手拉启动开合帘默认为有手拉启动功能0x04方向设置发送:
Byte00x01:
设置为正方向;0x02:
设置为反方向;0x03:
换向返回:
Byte00x01:
设置为正方向;0x02:
设置为反方向;0x03:
换向电机默认为正方向0x05设置弱电开关模式发送:
Byte00x01:
弱电双键反弹开关0x02:
弱电双键不反弹开关0x03:
DC246(三键电子开关)0x04:
单键循环开关返回:
Byte00x01:
弱电双键反弹开关0x02:
弱电双键不反弹开关0x03:
DC246(三键电子开关)0x04:
单键循环开关0x06设置强电开关模式发送:
Byte00x01:
强电双键不反弹开关0x02:
酒店模式(插卡取电开关)0x03:
强电双键反弹开关返回:
Byte0编制审核批准2项目型号串口协议-v0.1.1责任工程师:
时间:
主管审核:
0x01:
强电双键不反弹开关0x02:
酒店模式(插卡取电开关)0x03:
强电双键反弹开关0x07手动设置/取消打开边界发送:
Byte00x01:
设置打开边界0x00:
取消打开边界返回:
Byte00x01:
设置打开边界0x00:
取消打开边界0xFF:
失败开合帘只能在电机有总行程的情况下才能手动设置打开边界。
0x08手动设置/取消关闭边界发送:
Byte00x01:
设置关闭边界0x00:
取消关闭边界返回:
Byte00x01:
设置关闭边界0x00:
取消关闭边界0xFF:
失败开合帘只能在电机有总行程的情况下才能手动设置关闭边界。
0x09设置行程发送:
Byte00x01:
上行程0x02:
下行程0x03:
第三行程返回:
Byte00x01:
上行程0x02:
下行程0x03:
第三行程0xFF:
失败0x0A运行至行程点发送:
Byte00x01:
上行程0x02:
下行程0x03:
第三行程返回:
Byte00x01:
上行程0x02:
下行程0x03:
第三行程0xFF:
失败0x0B删除行程点发送:
Byte00x01:
上行程0x02:
下行程0x03:
第三行程0x10:
删除所有行程返回:
Byte00x01:
上行程0x02:
下行程0x03:
第三行程0x10:
删除所有行程0x0C点动、连动命令发送:
Byte0:
0x00:
点动上行0x01:
点动下行0x02:
连动上行0x03:
连动下行Byte1:
0x00:
不允许超出行程点0x01:
允许超出行程点返回:
Byte0:
0x00:
点动上行0x01:
点动下行0x02:
连动上行0x03:
连动下行Byte1:
0x00:
不允许超出行程点0x01:
允许超出行程点0x0D设置角度系数发送:
Byte0:
0x00-0xFF返回:
Byte0:
0x00-0xFF0x0E复制行程发送:
无返回:
12Byte(电机12个字节全为0xFF,表示当前电机没有行程,不能复制。
)12个字节的解释如下:
前4个字节:
上行程点中间4字节:
下行程点后4个字节:
当前位置0x0F粘贴行程发送:
12Byte返回:
Byte00x00:
粘贴成功0xFF:
粘贴失败12个字节的解释如下:
前4个字节:
上行程点中间4字节:
下行程点后4个字节:
当前位置0x10更改设备类型发送:
Byte00x20:
卷帘0x30:
百叶帘返回:
Byte00x20:
卷帘0x30:
百叶帘0xFF:
失败0x11切换角度方向发送:
Byte00x01:
设置为角度方向为正;0x02:
设置角度方向为反;0x03:
切换角度方向返回:
Byte00x01:
设置为角度方向为正;0x02:
设置角度方向为反;0x03:
切换角度方向默认角度方向为正方向0xD00xDF预留0xE0模块发送网络状态发送Byte00x00:
掉线状态0x01:
在线状态当网络状态发生改变时模块主动下发网络状态给电机。
编制审核批准3项目型号串口协议-v0.1.1责任工程师:
时间:
主管审核:
0x02:
正在入网0x03:
正在退网返回:
无0xF0恢复出厂设置发送:
无返回:
无电机恢复为出厂设置状态模块读(模块读(0x02)数据地址含义数据内容备注0x00电机上报信息发送:
无返回:
Byte0-Byte7数据1,2,3,4,5,6,7,8模块读常用的电机信息0x01电机状态发送:
无返回:
Byte00x01:
打开;0x02:
关闭;0x03:
停止0x02电机位置百分比发送:
无返回:
Byte00-100;0xFF表示电机找不到百分比0x03电机角度发送:
无返回:
Byte00-180;0xFF表示电机找不到角度0x04电机是否具有总行程发送:
无返回:
Byte00x00:
表示无总行程;0x01:
表示有总行程。
0x05手拉启动是否使能发送:
无返回:
0x01:
手拉启动使能;0x00:
手拉启动未使能0x06电机方向发送:
无返回:
Byte00x01:
电机为正方向;0x02:
电机为反方向0x07弱电开关类型发送:
无返回:
Byte00x01:
弱电双键反弹开关0x02:
弱电双键不反弹开关0x03:
DC246(三键电子开关)0x04:
单键循环开关0x08强电开关类型发送:
无返回:
Byte00x01:
强电双键不反弹开关0x02:
酒店模式(插卡取电开关)0x03:
强电双键反弹开关0x09打开边界设置状态发送:
无返回:
Byte00x01:
有手动设置的打开边界0x00:
无手动设置的打开边界0x0A关闭边界设置状态发送:
无返回:
Byte00x01:
有手动设置的关闭边界0x00:
无手动设置的关闭边界0x0B第三行程点是否设置发送:
无返回:
Byte00x00:
没有设置0x01:
已经设置0x0C角度系数发送:
无返回:
Byte0:
0x00-0xFF0x0D角度方向发送:
无返回:
Byte00x01:
角度方向为正;0x02:
角度方向为反。
默认角度方向为正方向0xD00xDF预留0xE0模块获取产品标识发送:
无返回:
Byten0xE1模块获取产品密钥发送:
无返回:
Byten编制审核批准4项目型号串口协议-v0.1.1责任工程师:
时间:
主管审核:
0xF0电机类型发送:
无返回:
Byte00x10:
开合帘0x20:
卷帘0x30:
百叶帘0xF1电机型号发送:
无返回:
Byten0xF2软件版本号发送:
无返回:
Byten主动上报(主动上报(0x03)数据地址含义数据内容备注0x01电机上报信息电机发送:
Byte0-Byte7数据1,2,3,4,5,6,7,8电机在启动时和停止时上报信息0x02通知模块进入配网电机发送:
无模块返回:
Byte0Byte0:
0x00:
失败;0x01:
成功。
电机通知模块进入配网状态0x03通知模块恢复出厂电机发送:
无模块返回:
Byte0Byte0:
0x00:
失败;0x01:
成功。
电机通知模块退网并解除绑定。
0x04查询模块网络状态电机发送:
无模块返回:
Byte00x00:
掉线状态0x01:
在线状态0x02:
正在入网0x03:
正在退网电机查询模块的网络状态0x05通知模块进入产测电机发送:
无模块返回:
Byte0,Byte1。
Byte0:
0x00:
失败;0x01:
成功。
Byte1:
表示信号强度。
通知模块进入产测状态,模块进入产测状态之后,返回给电机产测结果。
产测路由器:
产测路由器名称:
chanxiancheck,密码:
12345678主动上报电机信息的内容:
数据号含义备注数据1电机当前状态:
0x01:
打开;0x02:
关闭;0x03:
停止数据2电机位置百分比:
0-100;0xFF表示电机找不到百分比数据3电机角度:
0-180;0xFF表示电机找不到角度数据4电机是否具有总行程:
0x00:
表示无总行程;0x01:
表示有总行程。
数据5手拉启动是否使能:
0x01:
设置为有手拉启动;0x00:
设置为无手拉启动数据6电机方向:
0x01:
正方向;0x02:
反方向数据7预留数据8预留5.协议版本变更说明:
协议版本变更说明:
V0.1.11.在百分比与角度控制那里增加备注:
100%:
帘子完全打开0%:
帘子完全关闭。
V0.1.01.在模块读的命令中加入0xE0,0xE1,模块获取产品标识与密钥的命令。
V0.0.91.模块产测反馈的信号强度中,去掉0x000x64的限制,可以根据模块的不同自行定义信号强度。
V0.0.81.去掉没有用到的功能码。
V0.0.7编制审核批准5项目型号串口协议-v0.1.1责任工程师:
时间:
主管审核:
1.加入可读“角度系数”与“角度方向”。
V0.0.61.在模块下发与模块读的部分加入0xD0-0xDF,预留出功能。
V0.0.51.加入“切换角度方向”的命令V0.0.41.加入“更改设备类型”的命令V0.0.31.加入电机通知模块配网、恢复出厂、查询网络状态、通知模块进入产测的命令2.加入模块网络状态发生变化是下发网络状态给电机的命令。
V0.0.21.杜亚统一串口协议具体细化V0.0.11.串口协议草稿附录1:
uint16_tCRC16_MODBUS(uint8_t*puchMsg,uint16_tusDataLen)uint16_twCRCin=0xFFFF0xFFFF;int16_twCPoly=0x8005;uint8_twChar=0;uint8_ti=0;while(usDataLen-)wChar=*(puchMsg+);wCRCin=(wChar8);for(i=0;i8;i+)if(wCRCin&0x8000)wCRCin=(wCRCin1)wCPoly;elsewCRCin=wCRCin1;return(wCRCin);