# CANTest **Repository Path**: dxes/CANTest ## Basic Information - **Project Name**: CANTest - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 现场总线与控制网络CAN总线实验 使用QT框架进行编写,目前仅添加了周立功CAN测试动态链接库,可正常编译运行 ## 开发环境 + QT5.12.8 + MinGW 32-bit ## 软件整体设计 软件的主体功能由iCAN相关库支撑,实验仅要求对3类设备的操作,但在设计上还是对设备间进行解耦, 增加程序的可拓展性与可读性。
另外,由于缺乏实际设备,为满足演示要求,还应增加虚拟操作部分,具体设计如下: + 软件共有三种运行状态:正常连接、虚拟连接、未连接,对这三种状态有不同的操作权限,并应在显著位置对该状态进行提示 + 不同的模块在单独的page里完成,对于有虚拟连接需求的,还应增加虚拟部件便于演示 + 对于消息提示,有messagebox、statusbar、日志文件三种,应根据不同的场景调用不同 的提示方式,其中日志文件,由menubar的按钮进入新页面给出,日志应由对实时时间的记录 + 主站配置,默认即为正常配置,直接连接即可,增加选项只是为了可拓展性 + 从站连接,直接给出了三类从站的连接按钮,点击进行对应连接,并且应该在按钮的状态上体现连接的状态,为了方便管理,把从站ID都放到一个结构体里,从该结构体里操作成员。 + 定时器,使用QTimer类实现,定时间隔由上面的配置给出,定时器中实现的功能包括:检测主站、从站的连接状态,断开连接时要有提示;读取数据并显示;增加一个连接时间的统计,主要是为了体现定时器一直在工作 + 4055页面:DI和DO同时支持16进制和按钮的变色支持 + 4017页面:温湿度显示,支持对温湿度值、电压值、电流值的相互转换显示,同时为了虚拟演示,可以在该页面再加几个可调节的组件,充当实际值;这些值有合理范围,对不合理的值要有提示,也能演示。 + 4210页面:模拟输出,把滑块和输入框的值进行关联,可以看看有没有必要多增加几个通道,看着好看,毕竟页面太空了。同时为了虚拟演示,可以在该页面再加几个组件,充当实际值显示一下效果。 + 图标,图标还需要完善,比如灯的图标、按钮连接状态的图标、程序图标。 ## 代码规范(与Qt风格保持一致) 详细的规范参考 QT官方文件 >[https://wiki.qt.io/Qt_Coding_Style](https://wiki.qt.io/Qt_Coding_Style) ### 命名规范 | 类别 | 规范 |举例| | ------------ | ------------------------------- |----------| | 通用变量 | 名词,驼峰命名法,尽量避免缩写
单字符作为临时变量或计数用 |newValue| | 类 | 名词,大写字母开头,不包含下划线,前加字母C |CClockBattery| | 常量
宏定义 | 大写,下划线分割 |MY_VALUE| | 函数名 | 含动词,驼峰命名法 |getMyValue| | 枚举 | 枚举名和成员都以大写字母开头,带有Enum前缀|EnumMyColor| | 结构体 | 结构体名用大写开头的驼峰,成员变量用小写开头的驼峰 |MyColor| | UI对象名 | 驼峰命名法,末尾须带有对象名称 | cancalButton
cancalLabel| ### 注释规范 /************************************************* **Function:        // 函数名称 **Description:    // 函数功能描述 **Input:          // 输入参数说明,包括每个参数的作用、取值说明 **Return:         // 函数返回值的说明 **Others:         // 其它说明 *************************************************/ ## 项目说明 动态连接库的加载配置如下,使用相对路径,若编译有问题须检查该项 >LIBS += ..\\CANTest\\iCANLib\\icandll.lib
INCLUDEPATH += ..\\CANTest\\iCANLib\\ 如果运行异常退出,须向编译目录拷贝对应的dll文件