作为晟矽无刷电机工作台的一个前期开发产品,现阶段,已经可以作为一个独立工具,来展示与分析串口的数据.
使用简介:
- 首次使用的用户, 可以 串口通讯 -> 导入样例数据,熟悉用法。
- 鼠轮缩放Y, Ctrl+鼠轮缩放X. 左鼠键按下,在画布中右拖鼠标, 放大X; 左拖,缩小X .
- 点通道按纽,显示Y坐标线, 可上下拖动通道曲线。点击画布两边的空白,不选任何通道,不再显示Y坐标线.
- 点击右上角 "X轴: 数据个数" 按纽,可以切换X轴为 数据个数, 或时间/某通道。每帧的接收时间,
不一定是PC处理时的实际值, 而可能是估算的(插)值。 导出的 CSV 文件中,时间会精确到微秒。
- 屏内的数据个数少于"设定的数"时,自动标示每个点的数值。 "设定的数"(N) 即配置页中
"每通道标示数值最大量". 这个N, 还有一个功能: 当屏中数据多于 N 时,点击选中顶栏的
"显示数值", 则每个通道最多也就标出 N 个数据的值 (过多,可能不美观)。
- 异常数据,是少量帧首位置不正确的情况,跳过去,继续接收数据;
或者因为暂停后续读,引起各通道(与时间)数据序列的长度不一致,
而额外添加的1个假数据.
异常数据总量, 超过设定量,暂停, 弹窗提示
(实际异常总量可能会略超设定量一点点). 图形界面上以红叉标示异常点。
- 导出的csv文件中第一列数据是 时间 Time(us),从第一个采集点后算起的微秒数。
- 导入YAML 配置文件, 或含有配置文件的zip包时,如果电脑上只有一个串口名,会自动设定串口名配置项。
- 串口配置页中:
- 字节数: 无符号时支持 1,2,3,4个字节; 有符号时,支持1,2,4个字节。
- 帧首: 逗号或空格分隔的Hex, 如: AA,BB 33 44
- 帧尾: 无字节,或1字节. 如果1字节,那是除帧首,帧尾外的所有有效字节的 异或(XOR).
- 缩放(Scale)与偏移(Offset): 串口读数 * Scale + Offset, 取整,再放入缓存。
- 为方便第三方应用的调用,特设如下几种命令行功能 (根据参数文件名的后缀不同而区别处理):
- 启动图形界面,并导入csv: SinomcuSerial.exe data.csv
- 启动图形界面,并导入zip: SinomcuSerial.exe data.snz
- 启动图形界面,导入配置: SinomcuSerial.exe cfg.yml
- 启动图形界面,导入配置, 并开始采集数据: SinomcuSerial.exe --run cfg.yml
已知问题:
- 向左偏移的数据个数,不随X缩放而变。 也就是说,即使X缩放是 0.5 或 2, 屏的滑杆增一时,
也是按一倍缩放来变动。 后续可能会改变思路。
- 配置文件放在与本软件同级的文件夹下: motorCfg.yml 。
由于开发进度很快,有可能因配置文件中配置项的增减,而不能导入其它版本的导出文件。
请尽量只导入同一软件版本的导出文件。
单独导入zip包中的 csv文件应没问题。 以后会考虑改进版本的兼容性.
- 屏幕中数据点比较多时(比如全屏,多通道时), 如果同时展示每一个点的数值,
那么数值的显示有可能会略有滞后。 从使用流畅度考虑,非必要时,不一定展示太多的数值.
- 采集数据时,若屏幕中数据点比较多, 可以适当调大配置页中的: 图形界面的刷新间隔.
这不会影响后台线程的数据收集。 未来可能会考虑改进操作流畅性。
提示:
- 指定某一通道值(如正弦波形)为X轴,有可能画出有趣的图案.
- 未来可能开发 3维 立体图, 极坐标,电机控制的三通道 等更有趣的功能。
建议/吐槽:
- 晟矽系统应用工具组 徐工 xcs@sinomcu.com .
截屏1:
截屏2:
截屏3:
截屏4:
截屏5,6: Y基线为0与中值的差别