2018-01-23

APWindowsFormsDemo软件维护手册

1 引言

1.1 编写目的:

供需要在windows下开发AP系列产品控制软件的开发者参考

1.2 项目背景:

AP系列产品具有较好的软件支持和使用体验。为了进一步提升开发者对该系列产品使用的信心与降低上手难度,故开发对应的控制库文件APSpecified.dll与相应使用该库文件的WindowsForm Demo(C#)

1.3 定义:

AP:AutolaborPro系列产品。

2 系统说明

2.1 系统用途:

与AP系列产品进行串口通信,收发二进制数据。可以解析与封装各个指令,并将各条指令即时解析和可视化。

2.2 安全保密:

2.3 总体说明:

程序APWindowsFormsDemo界面划分为4块,分别是初始化设置、运动控制、数据观察、状态跟踪等。并用图表的方式给出系统主要部分的内部关系。APSpecified.dll提供指令封装与解析对象、指令与小车参数换算方法、指令执行等各个方法。

2.4 程序说明:

2.4.1 APSpecified.dll的说明

● 功能:

APproto类:

将指令分解为消息头、序号、消息载荷、校验码等结构,并提供相应的设置器,获取器,以及指令的解析与封装方法(使各个参数“各就各位”)。

APcommand类:

对已知的AMproto对象进行读取和进行相应动作的响应

AMvelTransform类:

根据小车的运动模型参数,如轮径、编码器单圈脉冲数等,进行指令数据与实际速度的换算等

SpecialMethod类:

提供适用于AP小车通信协议的byte/int数据类型转换方法

● 处理:

处理特点和目的,如:用图表说明程序的运行的逻辑流程;

● 接口:

打开串口: APSerialPort:openPort();

关闭串口:APSerialPort:closePort();

开始控制线程:APSerialPort:controlStart();

发送数据:APSerialPort:sendBytes();

解析并执行:APSerialPort:decodeExecute();

请求电量:APSerialPort:reqBattery();

请求当前编码器累计计数:APSerialPort:reqWheelSpeed(short LSpeed, short RSpeed);

请求车轮停止驶动:APSerialPort:wheelstop();

请求车向右行驶:APSerialPort:goRight();

请求车向后行驶:APSerialPort:goBack();

请求车向左行驶:APSerialPort:goLeft();

请求车向前行驶:APSerialPort:goAhead();

请求重置以恢复对小车的速度控制:APSerialPort:reqReset();

2.4.2 APWindowsFormsDemo的说明

● 功能:

可以通过界面的“前”、“后”、“左”、“右”四个按键控制小车行进,也可以手动敲入对应的指令信息,控制包括行进在内的行为。当小车回应“错误”时,本软件会自行发送reset重置指令,恢复对小车的控制。接收到信息时,会自动进行解析并将所得信息展示在界面上。用户也可以通过“解析”按键进行解析。

● 输入:

通过对应按键(电量“获取”按键等)发送指令或通过编辑框直接输入格式完整且正确Hex指令并发送。

● 处理:

处理特点和目的,如:用图表说明程序的运行的逻辑流程;程序主要转移条件;对程序的约束条件;程序结束时的出口要求;与下一个程序的通信与联结(运行、控制);由该程序产生并茶馆处理程序段使用的输出数据类型和存放单元;程序运行存储量、类型及存储位置等。

● 输出:

接收到的数据将以Hex字符串的形式展现在接收框中,同时自动进行解析,得到的电量信息、状态信息(如“错误”、“重置成功”、“编码器清空失败”等)将展示在“状态跟踪”框内

● 特有的运行性质:

  • 请勿重复点按“初始化”按钮,否则该端口将拒绝访问,由此可能导致程序崩溃;
  • 长按“前”、“后”、“左”、“右”按钮,可控制小车驶动;松开按钮则小车立即停止。长按时,程序将以5Hz的频率向小车发送速度指令。

3 操作环境

3.1 设备:

Windows系统

3.2 支持软件:

Visual Studio

4 程序清单和流程图:

st=>start:start
op1=>operation:
op2=>operation:enter baudrate, etc.
op3=>operation:enter
op4=>click "initialize"
st->op1->op2->op3
op1->op3

你可能感兴趣的:(2018-01-23)