来源:深圳市鑫海文科技有限公司|发布时间:2019-04-12 20:02
计算机与驱动器之间需要通过通讯协议传输指令,所以驱动器串行口通讯协议就尤为重要。很多朋友可能对通讯协议不了解。今天就和大家介绍一下驱动器通讯协议。
计算机(PC)与驱动器(MCU)之间以帧为通讯单位。MCU不主动向计算机发送信息。PC根据需要发送命令帧,MCU完成相应功能后将发送应答帧。命令帧(PC一
>MCU)和应答帧(MCU->PC)的格式是相同的,二者帧内容有所不同。
1,帧格式:从机地址+主命令+索引区+辅助索引区+携带数据+校验和
2,从机地址:本协议默认为01(1字节)。
3,主命令:01为命令帧,00为应答帧(1字节)。
4,索引区:帧功能高8位,本协议默认为00(1字节)。
5,辅助索引区:帧功能低8位(1字节)。
6,携带数据:帧内容(2字节)。
7,校验和:从机地址、主命令、索引区、辅助索引区、携带数据所有字节校验和(2字节)。
8,相关参数:
波特率=9600;字节格式=1个启始位,8个数据位,无校验位和1个停止位;
帧间隔>100ms;
帧内字节间隔=5-1000ms;
驱动器应答延时=20-200ms。
9,使用串口通讯前,需打开外壳把面板与驱动器的连接断开,否则会影响通讯。
10,具体的帧命令内容(参见下表:驱动器串行口通信协议)。
功能描述 | 从机地址 | 主命令 | 辅助索引区 | 携带数据 | 主机发送实例(最后2位为求和校验) | 从机回应实例(最后2位为求和校验) | 备注 |
电机启停 | 01 | 01 | 22 | 00|01 | 01 01 00 22 00 01 00 25 | 01 00 00 22 00 01 00 24 | 携带数据为2个字节。为1时电机启动,为0时电机停车 |
电机正反转 | 01 | 01 | 21 | 00|00 | 01 01 00 21 00 00 00 23 | 01 00 00 21 00 00 00 22 | 携带数据为0时正转,为1时反转 |
设置转速 | 01 | 01 | 27 | 03|EB | 01 01 00 27 03 EB 01 17 | 01 00 00 27 03 EB 01 16 | 携带数据为电机转速,本例为1000RPM,16进制 |
查询转速 | 01 | 01 | 27 | 00|00 | 01 00 00 27 00 00 00 28 | 01 00 00 27 ** ** ** ** | 从机携带数据为电机的实际转速,16进制 |
发送命令校验错误 | 01 | 00 00 00 00 00 00 00 00 | 此为主机发送命令校验错误时从机的应答帧 |