• CanToolAPP_成果展示


    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:如数据库规定取值范围编辑出错

     

    以上就是我们软件的基本内容

    团队成员:陈煌榕 

           陈育健

           李俊

           袁琳琳

  • 相关阅读:
    http请求的GET和POST请求:查询和新增(server.php)
    http请求的GET和POST请求:查询和新增(ajax)
    shell中$(( )) 与 $( ) 还有${ }的区别
    linux查看操作系统版本信息
    Linux useradd 与 adduser的区别, /sbin/nologin 与 /bin/bash
    红帽触摸屏屏幕180旋转
    Sed命令n,N,d,D,p,P,h,H,g,G,x解析3
    sed命令
    sed高级用法:模式空间(pattern space)和保持空间(hold space)
    sed的模式空间和保持空间
  • 原文地址:https://www.cnblogs.com/chenhuangrong/p/7731700.html
Copyright © 2020-2023  润新知