github链接如下:https://github.com/cyj-fightman/CanTool
该软件用的虚拟串口工具是友善串口调试助手,模拟端口连接使用的是VSPD
展示下开发界面:其中Main.java为主要的入口,点击Main.java运行即可,若不是为了调试,我们小组也对软件进行了打包处理:CanTool.exe为可运行文件,CanTool.jar为可执行jar包,都可以运行
需要提醒的几点是需要
1.程序需要将rxtxParallel.dll,rxtxSerial.dll 这两个文件复制到 C:WindowsSystem32 目录下(不管调试还是为了使用都需要的)
2.程序另外导入RXTXcomm.jar,SerialPortIO.jar两个jar包(调试需要)
3.程序使用eclipse开发,使用SWT/Jface插件,开发语言为java
4.程序使用java jdk 1.8
5.database.txt需要放在可执行文件同一层,方便默认进行解析,当然也可以在导入功能中导入。调试时放在最顶层目录。
6.程序开发和运行需要配置环境,可以参照github上面的“”安装和配置说明“” https://github.com/cyj-fightman/CanTool/tree/master/CanTool_data
接下来是程序的主界面:
主界面的菜单栏有:文件,参数设置,和关于,
其中文件分为两个内容,分别是导出接收到的并解析完成的文件,也是在窗口右边栏获取到的数据
导入数据文件是导入定义的数据文件,根据数据文件来解析获取到的字段拥有的内容
另外有参数设置,用以设置跟串口连接是的参数,如波特率,端口,停止位等。
关于:主要是对软件和本小组成员的一些介绍
来看一下软件接收功能,首先需要的是模拟对端的Can装置,这边采用友善串口调试助手打开COM2口,波特率设置为115200,数据位8位,停止位1,
其中的 t35880011121314151617 为将要发送的数据,该数据经过编码,需要在程序中进行解码操作
程序的解码分为两个部分,首先是解析得到的ID DLC DATA数据:代码如下
再通过ID来对应数据库中的ID,以此来获取数据库中的进一步解析方式:如下
其中数据库中的856 进行十进制跟十六进制的转换就能得到从t35880011121314151617解析得到的ID,也即是:358:
再根据数据库中的内容进行解析生成的DATA:
如图所示,(拿第一行举例)每行所对应的重要内容有,
器件名:CDU_HVACOffButtonSt
提取DATA中的起始位和长度:0|1
提取方向:0+
A,B值:(1,0) A为1LSB(Least Significant Bit)代表的物理值大小,也称Factor,B是物理量的偏移量
取值范围:[0|1]
单位名称:"" (这边为空,后面有温度符号 °C)
节点名:HVAC
接下来接收内容:本软件就会将数据获取到并且解析,左边框代表收到的数据,右边框代表解析后的数据与数据库中表内容的对应
接下来介绍发送内容:软件可以在窗口直接打字进行发送:
在另外一个端口就会收到内容:
同时本软件还提供了智能发送的功能,因为需要将编码后的数据发送给下一层的Can装置,而编码结果很难人工把握,比如编码t35880011121314151617就很难看懂,
因此完成了智能发送的功能:
点击智能发送可以看到另一个窗口弹出:
点击任意的对应的数据库表名:表名也是从数据的对应的ID后面提取出来的:
如点击CDU_1出现如下内容:
在此表格的数值上可以进行编辑,编辑完成之后点击×,即可退出该窗口,同时,在主窗口的发送框内出现了需要发送的编码内容:
点击发送,发现对端已经接收到内容了
附:此外添加了一下错误提示:
1:如参数设置界面出错:
2:如数据库规定取值范围编辑出错
以上就是我们软件的基本内容
团队成员:陈煌榕
陈育健
李俊
袁琳琳