基于m文件系统函数的数据采集卡的数据交互方法_2

文档序号:8380139阅读:来源:国知局
[0042]步骤三二、进行仿真结束的操作:关闭采集卡的输入通道,停止数据传输;释放在系统函数初始化阶段以及信号采集循环阶段分配的所有资源,避免对下次采集或输出信号造成影响。
[0043]【具体实施方式】五:
[0044]本实施方式的基于M文件系统函数的数据采集卡的数据输出方法,当需要将simulink环境中的信号进行信号处理或输入至第三方软件的输入端时,所述仿真控制方法通过以下步骤实现:
[0045]步骤一、主函数调用模块本身初始化子函数(Flag = O),进入系统函数初始化阶段;并增加验证匹配子函数,验证采集卡硬件参数与软件描述是否匹配;
[0046]步骤二、主函数调用计算输出子函数(Flag = 3),进行Simulink环境里用以仿真的虚拟信号的持续、实时采集,并调用采集卡底层验证匹配子函数判断出步骤一采集的数据中正确的数据,进行信号输出循环阶段;
[0047]步骤三、主函数调用仿真结束子函数(Flag = 9),进入仿真结束阶段。
[0048]【具体实施方式】六:
[0049]与【具体实施方式】五不同的是,本实施方式的基于M文件系统函数的数据采集卡的数据输出方法,步骤一所述系统函数初始化阶段的过程为,
[0050]步骤--、主函数调用模块本身初始化子函数进行系统函数参数初始化,确定系统函数的初始条件:系统函数类型为连续型或离散型或二者混合型中的一种,系统函数输入输出个数,以及系统函数是否直通;
[0051]步骤一二、主函数调用模块本身初始化子函数进行采集卡初始化,设置采集信号的必要参数:申请内存空间、成员函数的申明以及宏定义,为采集信号的过程做准备;
[0052]步骤一三、采用调用采集卡底层验证匹配子函数的方式,验证采集卡硬件参数与软件描述是否匹配;若是,则进行步骤二的循环阶段,若否,则提示错误并返回步骤一一。
[0053]【具体实施方式】七:
[0054]与【具体实施方式】五或六不同的是,本实施方式的基于M文件系统函数的数据采集卡的数据输出方法,步骤二所述信号采集循环阶段的过程为,
[0055]步骤二一、将Simulink环境里系统函数的输入信号写入到采集卡中;
[0056]步骤二二、采用调用采集卡底层验证匹配子函数的方式,判断写入采集卡中的信号是否正确;若否,则去除读取的信号,若是,则将读取的信号用于下一步骤;
[0057]步骤二三、回读步骤二二中写入采集卡中确认为正确的信号,并由采集卡输出至实际环境;
[0058]步骤二四、主函数调用状态更新子函数(Flag = 2),实时更新采集信号,更新系统主函数的离散状态量。
[0059]【具体实施方式】八:
[0060]与【具体实施方式】七不同的是,本实施方式的基于M文件系统函数的数据采集卡的数据采集方法,步骤三所述仿真结束阶段的过程为,
[0061]步骤三一、判断是否到达仿真停止时间;若否,则返回至步骤二一继续进行将Simulink环境里系统函数的输入信号写入到采集卡中;若是,则进入步骤三二 ;
[0062]步骤三二、进行仿真结束的操作:关闭采集卡的输出通道,停止数据传输;释放在系统函数初始化阶段以及信号采集循环阶段分配的所有资源,避免对下次采集或输出信号造成影响。
[0063]实施例1:
[0064]现有的SMULINK环境的系统函数是由一个主函数和6个子函数组成,每个子函数代表一个不同阶段,有其相应的仿真流程标志向量,简称Flag值。在Simulink仿真过程中,主函数按顺序通过不同的Flag值来调用不同的子函数,来完成系统函数的仿真流程控制。其系统函数的仿真流程图如图1所示,大致分为模块的初始化、仿真结束以及仿真循环三个阶段。连续循环部分包括:计算微分值,计算下一个采样时间,计算模块输出;离散循环阶段:更新离散状态量、计算输出。
[0065]本发明考虑数据采集卡M文件编程系统函数模块是采样时间不变的离散系统,故其必由主函数和初始化子函数、计算输出子函数、状态更新子函数、仿真结束子函数4个子函数组成。其中初始化子函数需要对模块本身的系统函数参数初始化和对采集卡的初始化,并通过调用采集卡底层验证匹配子函数的方式验证采集卡的初始化后软件描述与数据采集卡硬件参数是否匹配,故M文件的系统函数增加了验证匹配这一子函数。
[0066]数据采集卡M文件系统函数模块可以分为与输出信号的M文件系统函数。采集信号的M文件系统函数是将实际信号经采集卡采集至SMULINK环境中,并由系统函数模块的输出端输出,输出的信号可以进行信号的处理或作为第三方软件的输入端。其实现过程的总体流程图如图2所示,具体流程为:
[0067]步骤一、主函数调用模块本身初始化子函数(Flag = O),进入系统函数初始化阶段;并增加验证匹配子函数,验证采集卡硬件参数与软件描述是否匹配:
[0068]步骤--、主函数调用模块本身初始化子函数进行系统函数参数初始化,确定系统函数的初始条件:系统函数类型为连续型或离散型或二者混合型中的一种,系统函数输入输出个数,以及系统函数是否直通;
[0069]步骤一二、主函数调用模块本身初始化子函数进行采集卡初始化,设置采集信号的必要参数:申请内存空间、成员函数的申明以及宏定义,为采集信号的过程做准备;
[0070]步骤一三、采用调用采集卡底层验证匹配子函数的方式,验证采集卡硬件参数与软件描述是否匹配;若是,则进行步骤二的循环阶段,若否,则提示错误并返回步骤一一;
[0071]步骤二、主函数调用计算输出子函数(Flag = 3),进行信号的持续、实时采集,进入信号采集循环阶段:
[0072]步骤二一、主函数调用计算输出子函数(Flag = 3),进行信号的持续、实时采集,并采用调用采集卡底层验证匹配子函数的方式,判断采集的数据是否正确;若否,则去除读取的信号,若是,则将读取的信号用于下一步骤;
[0073]步骤二二、将步骤二一确认为正确的读取的信号,输出至Simulink环境下;
[0074]步骤二三、主函数调用状态更新子函数(Flag = 2),实时更新采集信号,更新系统主函数的离散状态量;
[0075]步骤三、主函数调用仿真结束子函数(Flag = 9),进入仿真结束阶段:
[0076]步骤三一、判断是否到达仿真停止时间;若否,则返回至步骤二一继续进行采集的数据是否正确的判断;若是,则进入步骤三二 ;
[0077]步骤三二、进行仿真结束的操作:关闭采集卡的输入通道,停止数据传输;释放在系统函数初始化阶段以及信号采集循环阶段分配的所有资源,避免对下次采集或输出信号造成影响。
[0078]实施例2:
[0079]相应的,输出信号的M文件系统函数是将SMULINK环境下的信号(可以是第三方软件输出信号)通过系统函数模块的输入端输入,经过写入输入数据和回读写入数据两个过程由数据采集卡输出,其实现过程的总体流程图如图3所示,具体流程为:
[0080]步骤一、主函数调用模块本身初始化子函数(Flag = O),进入系统函数初始化阶段;并增加验证匹配子函数,验证采集卡硬件参数与软件描述是否匹配:
[0081 ] 步骤--、主函数调用模块本身初始化子函数进行系统函数参数初始化,确定系统函数的初始条件:系统函数类型为连续型或离散型或二者混合型中的一种,系统函数输入输出个数,以及系统函数是否直通;
[0082]步骤一二、主函数调用模块本身初始化子函数进行采集卡初始化,设置采集信号的必要参数:申请内存空间、成员函数的申明以及宏定义,为采集信号的过程做准备;
[0083]步骤一三、采用调用采集卡底层验证匹配子函数的方式,验证采集卡硬件参数与软件描述是否匹配;若是,则进行步骤二的循环阶段,若否,则提示错误并返回步骤一一
[0084]步骤二、主函数调用计算输出子函数(Flag = 3),进行信号的持续、实时采集,进入信号输出循环阶段:
[0085]步骤二一、将Simulink环境里系统函数的输入信号写入到采集卡中;
[0
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1