本发明涉及一种数据处理过程的构建方法,特别是涉及针对CAN总线控制形成的数据处理过程的构建方法。
背景技术:
如图1所示,是现有CAN总线的通用控制系统结构,主控主机通过CAN总线与个控制单机通信完成各控制单机的动作控制器件控制,传感器采集相应动作控制器件控制结果状态,反馈至主控主机。通过随着发射车调平起竖控制技术的发展,随着对系统认识的深入,提出了控制过程中的故障诊断要求,同时流程控制要求也越来越复杂,因此实现控制要求、故障诊断等的软件流程复杂度越来越大。以往一般采用半实物仿真或者采用实车进行软件实现正确性的调试和验证,存在系统复杂、成本高,以及一些危险故障状态无法模拟的问题。
后续,针对发射车CAN总线分布控制系统特点,提出了采用纯软件进行系统仿真的方式,以期降低软件实现的验证成本,缩短时间,但目前缺乏有效的仿真结构设计方法,无法在仿真过程中实现可靠的调试和模拟。
技术实现要素:
本发明的目的是提供一种于Labview模块化的CAN总线控制仿真系统设计方法,解决仿真系统不能灵活适应CAN总线控制的实施需求快速实现系统架构的技术问题。
本发明的基于Labview模块化的CAN总线控制仿真系统设计方法,包括:
通过Labview建立通信接口层,形成物理通信接口的数据连接,为主控单机提供与控制单机的数据接收、发送通道;
通过Labview建立单机层,形成独立的控制单机,控制单机解析控制指令形成控制器件的状态参数上传,接收仿真模拟结果参数,形成相应传感器状态下传;
通过Labview建立系统层,接收控制器件的状态参数完成相应系统机构的仿真模拟计算,形成计算结果的相应状态参数。
所述通信接口层的仿真步骤包括:
通过通信端口或总线节点与主控单机形成数据连接;
在数据连接中,通过Labview的通知器方式建立面向单机层的数据发送通道,通过Labview的队列方式建立面向主控单机的数据发送通道。
所述单机层的仿真步骤包括:
通过Labview的队列方式建立面向通信接口层的主控数据接收队列;
各控制单机从主控数据接收队列中识别相应的指令数据;
通过Labview的队列方式建立面向系统层的器件状态发送队列,控制单机解析动作控制器件指令,将动作控制器件状态数据传入器件状态发送队列;
通过Labview的队列方式建立面向系统层的传感器状态接收队列,接收模拟结果的相应状态参数;
通过Labview的队列方式建立面向通信接口层的传感器数据发送队列,将相应状态参数封装为相应控制单机的动作控制器件的传感器采集数据,传入传感器数据发送队列。
所述系统层的仿真步骤包括:
通过读取器件状态发送队列中的动作控制器件状态数据,设置仿真模拟中的相应器件状态;
完成相应系统机构的仿真模拟计算;
根据计算结果设置对应传感器状态,模拟系统传感器采集,形成相应状态参数;
通过Labview的通知器方式建立面向单机层的状态发送通道,将传感器状态发送给单机层。
所述通信端口或总线节点包括CAN总线端口、以太网口、串形端口中的一种或几种。
所述仿真步骤中指令数据包括:动作控制器件指令,单机自检指令,故障诊断指令中的一种或几种。
所述仿真步骤中还包括模拟单机故障模拟,包括接收指令后的回复信息信息错误或不回复。
所述动作控制器件状态数据包括液压油缸的伸出或电机的转动速度的系统机构动作。
所述仿真步骤中还包括故障模拟。
所述故障模拟包括系统的动作控制器件状态、传感器状态和动作计算参数。
本发明的基于Labview模块化的CAN总线控制仿真系统设计方法实现了仿真过程的逻辑分层,确定了每一层的功能描述和功能架构,利用Labview将仿真模拟各阶段的控制、反馈、处理、故障状态有效模块化,实现调平起竖控制系统除主控单元外的系统仿真,完成主控单元的调平起竖控制软件的调试,系统故障模拟,调试和验证流程控制算和故障诊断算法软件实现的正确性。
附图说明
图1为现有的CAN总线的通用控制系统结构示意图;
图2为本发明基于Labview模块化的CAN总线控制仿真系统设计方法实施例形成的仿真结构示意图;
图3为本发明基于Labview模块化的CAN总线控制仿真系统设计方法实施例的流程图;
图4为本发明基于Labview模块化的CAN总线控制仿真系统设计方法实施例的通信接口层的数据处理流程图;
图5为本发明基于Labview模块化的CAN总线控制仿真系统设计方法实施例的单机层的数据处理流程图;
图6为本发明基于Labview模块化的CAN总线控制仿真系统设计方法实施例的系统层的数据处理流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明。
如图2所示,本发明基于Labview模块化的CAN总线控制仿真系统设计方法的基本仿真思路是,将主控主机面对的仿真过程抽象为通信接口层、单机层和系统层,通信接口层的数据发送与接收过程通过Labview分别模块化,实现通过CAN接口、以太网、串口等收发数据,采用Labview的队列、通知器等方式与单机层进行数据通信。
单机层的单机控制过程通过Labview分别模块化,实现对系统使用的带控制器单机的模拟,单机层接收控制指令控制系统层的动作控制器件(如电磁阀、电机等)的状态。
将系统层的仿真模拟过程通过Labview分别模块化,根据动作控制器件的状态,计算模拟结构的变化,得到系统传感器的状态,向单机层发送传感器状态。
如图3所示,本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法包括:
步骤01:通过Labview建立通信接口层,形成物理通信接口的数据连接,为主控单机提供与控制单机的数据接收、发送通道;
步骤02:通过Labview建立单机层,形成独立的控制单机,控制单机解析控制指令形成控制器件的状态参数上传,接收仿真模拟结果参数,形成相应传感器状态下传;
步骤03:通过Labview建立系统层,接收控制器件的状态参数完成相应系统机构的仿真模拟计算,形成计算结果的相应状态参数。
本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法可以形成应用于主控主机的调平起竖控制系统除主控单元外的系统仿真,用于主控单元的调平起竖控制软件的调试,系统故障模拟,调试和验证流程控制算和故障诊断算法软件实现的正确性。将各种仿真模拟过程在各层形成模块化的仿真过程,针对物理环境的软件仿真使得动作器、传感器、通信结构和执行结构软件化提供主控主机测试和优化,可以完成对相应部件和结构的极值测量,避免半实物模拟风险。
本实施例的仿真系统设计方法实现了仿真模拟的逻辑功能隔离。
如图4所示,本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法步骤01中的仿真步骤包括:
步骤11:通过CAN总线端口、以太网口、串形端口中的一种或几种与主控单机形成数据连接;
步骤12:在数据连接中,通过Labview的通知器方式建立面向单机层的数据发送通道,通过Labview的队列方式建立面向主控单机的数据发送通道。
本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法兼顾了周期数据和实施突发数据的仿真要求。
如图5所示,本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法步骤02中仿真步骤包括:
步骤21:通过Labview的队列方式建立面向通信接口层的主控数据接收队列;
步骤22:各控制单机从主控数据接收队列中识别相应的指令数据,动作控制器件指令,单机自检指令,故障诊断指令等指令;
步骤23:通过Labview的队列方式建立面向系统层的器件状态发送队列,控制单机解析动作控制器件指令,将动作控制器件状态数据传入器件状态发送队列;
步骤24:通过Labview的队列方式建立面向系统层的传感器状态接收队列,接收模拟结果的相应状态参数;
步骤25:通过Labview的队列方式建立面向通信接口层的传感器数据发送队列,将相应状态参数封装为相应控制单机的动作控制器件的传感器采集数据,传入传感器数据发送队列。
本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法将单机控制的高级控制过程与主体的仿真模拟计算分离,形成的模块化有利于高级控制过程灵活配合主体的仿真模拟计算策略的修改。
如图6所示,本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法步骤03中包括:
步骤31:通过读取器件状态发送队列中的动作控制器件状态数据,设置仿真模拟中的相应器件状态;
步骤32:完成相应系统机构的仿真模拟计算;
步骤33:根据计算结果设置对应传感器状态,模拟系统传感器采集,形成相应状态参数;
步骤34:通过Labview的通知器方式建立面向单机层的状态发送通道,将传感器状态发送给单机层。
本实施例的基于Labview模块化的CAN总线控制仿真系统设计方法将主体的仿真模拟计算过程标准化,通过模块化的器件状态仿真、反馈状态仿真配合主体的系统机构的仿真模拟计算,使得算法更新更灵活,与执行状态和反馈状态的数据传递更高效。
实际应用中,通信接口层主要实现数据的收发,数据接口后通过Labview的通知器方式向控制单机发送;数据发送采用“队列-阻塞”的方式进行,发送队列有数则执行数据发送,没有数据则等待,保证数据发送的实时性。
单机层识别数据接收队列中与本单机相关的数据,包括:动作控制器件的控制指令,单机自检指令,故障诊断指令的模拟等;动作控制器件的控制指令解析后入动作控制器件状态队列。还包括接收指令后的回复信息的模拟,串入数据发送队列。还包括采用“队列-阻塞”的方式,模拟读取传感器队列中与本单机相关的传感器信息,进行封装,如数据发送队列。还包括模拟单机故障模拟,如接收指令后的回复信息信息错误或不回复等。
系统层通过读取动作控制器件状态队列的数据,模拟设置对应控制器件的状态。动作控制器件状态控制系统机构动作模拟,如液压油缸的伸出、电机的转动速度等根据系统机构动作模拟计算结果设置对应传感器状态,将传感器状态采用Labview通知器的方式发送给单机层,模拟系统传感器采集。实现故障模拟,系统的动作控制器件、传感器和动作计算参数等均可设置故障状态,模拟系统故障,用以验证故障诊断算法和算法实现的正确性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。