Commit 9c4c03ab authored by 潘栩锋's avatar 潘栩锋 🚴

1.优化 完成《AD盒B2使用说明.docx》

2.优化 完成 《AD盒B2 协议.md》格式整理
3.添加 《X射线发生器地址表.xlsx》
4.添加 ad2021协议测试_v1.2
5.添加 通讯调试工具
parent 726bbb6a
#### 数据包协议:(MCU——>上位机)
+ B0:PT(1b) + PN(7b)
- PT=Packet Type,数据包类型,0——数据包,1——功能包
- PN=Packet Number,在常规数据包时,PN是1.28ms的7位计数器
+ PT=0数据包格式
- 数据包每隔100ms发送一个
- 数据据包括:AD(16bit),ENC1(16bit),ENC2(16bit),In+in_change(16bit+16bit),Out(16bit)
- 规则:1. AD是一定有的数据;2. In数据必须和ENC1和ENC2一起发送
格式:
+ B1:DBM(8bit)Data Bitmap
b7:In
b6:ENC1
b5:ENC2
b4:Out
b3:ad2
b0: Reset,系统启动后,所有推送该位都置1,直到上位机发P+r
+ B2~Bn:Data
AD+DBM标识的数据
+ PT=1功能包格式
1. 上位机——>MCU功能包协议:
+ 沿用数据包中B0的协议
+ PT=1功能包格式
1. IOComm,IO指令
+ I+G+I,GetIn,取输入信号
I+G+I+输入信号(2B)
+ I+G+O,GetOut,取输出信号
I+G+O+输出信号(2B)
+ I+G+P+0,GetEnc1,取pos1
I+G+P+0+pos1(4B)
+ I+G+P+1,GetEnc2,取pos2
I+G+P+1+pos2(4B)
+ I+G+P+A,GetEncAll,取pos1,pos2
I+G+P+A+pos1(4B)+pos2(4B)
+ I+S+O+mask+value,SetOutPorts
I+S+O
+ I+T,Get System Tick
I+T+tick(4B)
2. RunComm,运行指令
+ SetRunParam
- R+P+A+n(1B),设置Axis: Axis,以下设定参数均针对此轴
- R+P+P+n(1B),设置profile: profile
- R+P+V+n(4B),设置运行速度:V
- R+P+S+n(4B),设置初始速度:SV
- R+P+U+n(4B),设置加速时间:spdup
- R+P+D+n(4B),设置减速时间:Slowdn
- R+P+1+n(4B),设置回零速度1:Homespd1
- R+P+2+n(4B),设置回零速度2:Homespd2
R+P+{A|P|V|S|U|D|1\2},设定参数指令的响应
+ GetRunParam
- R+p+V,读取运行速度:V
R+p+V+n(4B)
- R+p+S,读取初始速度:SV
R+p+S+n(4B)
- R+p+U,读取加速时间:spdup
R+p+U+n(4B)
- R+p+D,读取减速时间:Slowdn
R+p+D+n(4B)
- R+p+1,读取回零速度1:Homespd1
R+p+1+n(4B)
- R+p+2,读取回零速度2:Homespd2
R+p+2+n(4B)
+ R+N,GetRunResult,获取运行结果
R+N+运行结果(1B)+运行serial(4B)
+ R+R+{P|+|-}+{物理位置(4B)|脉冲数(4B)}+serial(4B),运行到指定的物理位置,或运行脉冲数
R+R
+ R+S,减速停止
R+S
+ R+T,紧急停止
R+T
+ R+F+serial(4B),正行
R+F
+ R+B+serial(4B),反行
R+B
+ R+O+serial(4B),找零位
R+O
+ D,同步运行指令
- R+D+0x80+横向偏移,设定横向偏移量
- R+D+0x81+纵向偏移,设定纵向偏移量
- R+D+0x02,进入同步运行状态
- R+D+0x03,退出同步运行状态
- R+D+0x04,清空同步扫描队列
- R+D+0xE0+开始主轴位置+结束主轴位置+结束横向脉冲位置(逻辑位置)+脉冲开关(1B)+命令识标号(4B),同步扫描至
- R+D+0xE1+命令识标号(4B),位于队列头时运行,归零
- R+D+0xE2+横向脉冲位置(4B:int32,物理位置)+速度(4B:int32)+脉冲开关(1B)+命令识标号(4B),位于队列头时运行,以速度运行至物理位置
- R+D+0xE3+横向脉冲位置(4B:int32,逻辑位置)+速度(4B:int32)+脉冲开关(1B)+命令识标号(4B),位于队列头时运行,以速度运行至逻辑位置
R+D+0xXX
+ R+G+D,获取同步扫描队列长度
R+G+D+n(2B)
3. Param,系统参数指令,处理P(Param)
+ P+S+ind(2B)+v(4B),设置要保存的参数
P+S+ind(2B),通过ind(2B)可以知道是否成功
+ P+s+ind(2B)+v(4B),设置临时(非保存)参数
P+s+ind(2B),通过ind(2B)可以知道是否成功
+ P+G+ind(2B),读取要保存的参数
P+G+ind(2B)+v(4B),通过ind(2B)可以知道是否成功
+ P+g+ind(2B),读取临时(非保存)参数
P+g+ind(2B)+v(4B),通过ind(2B)可以知道是否成功
+ P+A
P+A
+ P+R+n(1B)+"reset" 外部触发n秒后重启软件(n秒后停止“喂狗”)
P+R
+ P+r,触发推送b0置0,以表明上位机知道重启
P+r
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment