System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于工业通信,具体涉及一种串口数据转换标准can报文的方法。
技术介绍
1、can(controller area network,控制器局域网)总线是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,具有抗干扰能力强、传输速度快、传输距离长、可连接设备数量大等优点,是目前世界上应用最为广泛的现场总线之一。虽然很多工业制造企业在网络系统升级或者更新改造时会优先选择can总线系统,但是在部署或者更换总线系统时,直接淘汰原有的大量的不具备can接口的老式设备以及仪器仪表如各种传感器、工控仪表、制造设备等显然是不经济的,传统的仪器设备所使用的主流接口是串口,例如rs232或者rs485等接口。
2、例如,储能电池集装箱出厂需要利用测试机系统进行充放电测试。测试上位机是测试机系统的人机交互窗口,通过预先设置测试工步,分别与pcs和电池集装箱系统建立通讯,实时同步监控,进行测试。为了兼容大多数电池端通讯,测试上位机通常是预留标准can接口,加载dbc文件解析报文,然而实际电站以及一些集成厂家通常只配置485、232等串口,导致无法与测试上位机进行数据交互。
3、针对上述问题,常见的解决方案是使用工业总线通讯转换模块将串口工业设备接入can总线系统。然而由于老式串口工业设备的数据传输速率较低,在半双工的can总线系统中,使用转换模块将这些串口工业设备接入can总线降低了can总线系统的带宽利用率,拉低了can总线的整体效率。
技术实现思路
1、本
2、本专利技术串口数据转换标准can报文的方法,适用于具标准can接口的测试上位机接收储能电池集装箱上传串口数据的过程中,所述串口采用大端模式,先接收储能电池集装箱上传的串口数据,对接收的数据进行无效报文过滤,将得到的有效报文进行大小端模式转换,将经过大端模式转小端模式转换的报文转为标准can报文后发送给测试机系统。
3、采用多线程构架,包括串口接收线程、报文过滤线程、报文转换线程、报文发送线程,所述每个线程之间独立运行,互不干扰,包括如下步骤:
4、步骤1、通过人机交互界面设置参数,包括选择待测试设备、设置通讯端口号、波特率、数据位、校验位、停止位、过滤无效报文参数;
5、步骤2、通过串口进行数据接收,在串口接收线程中,采用队列函数,一方面以默认、初始化、打开串口、读取串口格式数据、发送串口格式报文、关闭串口、退出线程的顺序结构循环运行,另一方面引入事件结构,当用户发生关闭程序、打开串口、发送报文的动作事件时,自动跳转至对应的事件程序,当程序接收到外界操作指令后执行中断指令,中断指令的优先级高于预设程序,执行完中断指令后,程序会自动继续执行串口接收线程的预设程序;
6、步骤3、对接收的报文进行无效报文过滤,在报文过滤线程中,根据设置的参数通过截取字符串控件函数来过滤无效报文,仅当读取到的报文同时符合设定的字符串长度、功能码、设备地址时,判定为有效报文,并存入缓存区;
7、步骤4、将高低位进行调换,将有效报文从大端模式转换为可被识别的小端模式,在对负值的处理时,需要先通过与正值相加转换成正数,再将该正数进行大小端转换;
8、步骤5、将经过大端转小端模式转换的报文转为标准can报文后发送:
9、根据标准can格式分配字节划分帧数,每条帧报文配置相应id,配置can接口参数,将标准can格式报文导入can数组,在报文发送线程中,采用创建用户事件结构函数,一方面通过while循环产生注册事件,while循环中又嵌套事件结构,将生成的标准can格式报文通过顺序结构传递到can报文发送区,一帧报文设置为一个顺序帧,以此类推;在can报文发送区,通过usbcan将can报文发送给测试机系统。
10、该串口数据包括单体最低电压、单体最高电压、最大允许充电电流、最大允许放电电流、最高温度、最低温度、总电压、总电流、电池soc、心跳、在线柜数、故障标志位的信息,每个信息由两个字节构成,用三帧can报文表达。
11、一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述任意一种串口数据转换标准can报文的方法的处理步骤。
12、一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任意一种串口数据转换标准can报文的方法的处理步骤。
13、采用本专利技术技术方案后,接收串口数据,对接收的报文进行无效报文过滤,将有效报文从大端模式转换为可被识别的小端模式,将经过大端转小端模式转换的报文转为标准can报文后发送给测试机系统,从而通过软件而不是通过工业总线通讯转换模块将串口数据转换成标准can报文,不仅使用串口的设备能与测试上位机进行数据交互,而且不会拉低can总线系统的带宽利用率。
本文档来自技高网...【技术保护点】
1.串口数据转换标准CAN报文的方法,适用于具标准CAN接口的测试上位机接收储能电池集装箱上传串口数据的过程中,所述串口采用大端模式,其特征在于,先接收储能电池集装箱上传的串口数据,对接收的数据进行无效报文过滤,将得到的有效报文进行大小端模式转换,将经过大端模式转小端模式转换的报文转为标准CAN报文后发送给测试机系统。
2.根据权利要求1所述的串口数据转换标准CAN报文的方法,其特征在于,采用多线程构架,包括串口接收线程、报文过滤线程、报文转换线程、报文发送线程,所述每个线程之间独立运行,互不干扰,包括如下步骤:
3.根据权利要求1或2所述的任一种串口数据转换标准CAN报文的方法,其特征在于,该串口数据包括单体最低电压、单体最高电压、最大允许充电电流、最大允许放电电流、最高温度、最低温度、总电压、总电流、电池soc、心跳、在线柜数、故障标志位的信息,每个信息由两个字节构成,用三帧CAN报文表达。
4.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指
5.一种计算机可读存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1至3所述任意一种串口数据转换标准CAN报文的方法的处理步骤。
...【技术特征摘要】
1.串口数据转换标准can报文的方法,适用于具标准can接口的测试上位机接收储能电池集装箱上传串口数据的过程中,所述串口采用大端模式,其特征在于,先接收储能电池集装箱上传的串口数据,对接收的数据进行无效报文过滤,将得到的有效报文进行大小端模式转换,将经过大端模式转小端模式转换的报文转为标准can报文后发送给测试机系统。
2.根据权利要求1所述的串口数据转换标准can报文的方法,其特征在于,采用多线程构架,包括串口接收线程、报文过滤线程、报文转换线程、报文发送线程,所述每个线程之间独立运行,互不干扰,包括如下步骤:
3.根据权利要求1或2所述的任一种串口数据转换标准can报文的方法,其特征在于,...
【专利技术属性】
技术研发人员:李剑锋,王春山,张继红,黄作章,林雨茜,
申请(专利权)人:福建中集新能源科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。