基于PC机串口通讯协议的的6轴控制器方案--资料下载和说明!!!
一、本控制器与计算机进行串口通讯,通讯协议为:9600波特率,无奇偶校验,1个停止位,8个数据位
二、串口协议简单:(不是最后版本) 通信协议:(采用和校验) 控制2路步进电机的协议,主要实现如下功能: 1
驱动器细分设定、步距离角设定; 2
正向、反向、距离设定、启动、停止命令, 3
回0命令 4
读输入点信号,设定输出继电器、OC输出 (协议采用9个字节每帧) 一、设定细分、步距角 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x01(CMD,对应命令)
0xnn
0xnn(这2个字节对应细分,前面为低字节、后面为高字节)
0xnn(对应步进电机的步距角X100,如1.8;对应就是180)
0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x01
0x00
0x00 二、设定齿轮比 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x02(CMD,对应命令)
0xnn
0xnn
0x00(前面3个字节,对应的是电机转一圈,所走的距离,X1000,单位是MM,前面是低字节,后面是高字节)0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x02
0x00 0x00 三、设定运行距离 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x03(CMD,对应命令)
0xnn
0xnn
0x00(前面3个字节,走的距离,X100,单位是MM,前面是低字节,后面是高字节)0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x03 0x00
0x00 四、设定启动 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x04(CMD,对应命令启动)
0xnn(方向 0正转 1反转))
0x00 0x00(启动频率 前面是低字节 后面是高字节) 0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x04 0x00 0x00 当运行到位后,再回: 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02) 0x04
0x01
0x00 五、设定运行 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x05(CMD,对应命令启动)
0x00 0x00加减速频率
0x00 0x00 (运行速度 单位RPM 前面是低字节 后面是高字节)
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x05 0x00 0x00 当运行到位后,再回: 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02) 0x05
0x01
0x00
六、设定停止 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x06(CMD,对应命令停止)
0x00
0x00
0x00 0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)0x06 0x00 0x00 当真正停止时,再回: 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02) 0x06
0x01
0x00 七、回零命令 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x07(CMD,对应回0命令)
0x00
0x00
0x00 0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x07
0x00
0x00 当真正到0时,再回: 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x07
0x01
0x00 八、回零延时设定:对应控制器在这个时间没有回到零位(碰到0位开关),就停止对应电机的运行,并且报错给上位机 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x08(CMD,对应回0超时设定)
0xnn
0xnn
0xnn(设定超时的时间值,前面是低字节,后面是高字节,单位是ms)
0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x08
0x00
0x00 如果在设定的时间内没有回到0,报错回: 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x08 0x01
0x00 九、开始运行命令 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x09(CMD,对应回0命令)
0x00
0x00
0x00 0x00
0xnn(对应前面所有的字节的和) 回:0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x09
0x00
0x00 当真正开始时,再回: 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x09
0x01
0x00 十,设置回零参数(回零速度,回零方向)。不设置即为默认参数。 0xff
0xaa
0x0N(电机1对应0x01,电机2对应0x02)
0x0A(CMD,对应回0命令)
0x00(方向 0正转 1反转) 0x00 0x00
回零速度0x00 0xnn(对应前面所有的字节的和)
十一、读取输入口命令 0xff
0xaa
0x00
0x0b(CMD,对应回读取输入口命令)
0Xnn(0X01对应读取X1的信号,依次类推,最多目前是X0D,13路)
0x00
0x00 0x00
0xnn(对应前面所有的字节的和)
回当对应输入为ON时: 0xff
0xaa
0X00 0x0b 0xnn(对应那个输入口)
0x01 回当对应输入为OFF时:: 0xff
0xaa
0X00 0x0b 0xnn(对应那个输入口)
0x00
十二、输出控制命令 0xff
0xaa
0x00
0x0c(CMD,对应控制输出命令)
0Xnn(0X01对应Y1输出,依次类推,最多目前是X0C,12路,本系统目前1-7路输出为OC方式,8-12为加点器输出方式)
0xnn(0x00为让输出OF,0x01让输出ON)
0x00 0x00
0xnn(对应前面所有的字节的和)
回当对应控制为ON时: 0xff
0xaa
0X00 0x0c 0xnn(对应口)
0x01 回当对应控制为OFF时: 0xff
0xaa
0X00 0x0c 0xnn(对应口)
0x00 注意:可以扩展AD\DA功能(需要定制)。
三、提供最后协议的PDF版本下载(或WORD版),还在整理中。
四、提供上位机的VB相关代码,VC相关案例代码(还在开发中)
五、控制器外形图
VC的测试代码:
VC-A.rar (3.84 MB)
VB的测试代码:
VB上位机源代码.rar (14.43 KB)
|