Matlab 具有可用数据的事件特定数据

Matlab 具有可用数据的事件特定数据,matlab,event-handling,Matlab,Event Handling,我试图将特定数据包含到DataAvailable侦听器的EventData中,但我没有找到方法 我尝试了以下方法: 首先,创建一个与EventData关联的类,并将其存储在文件MyEventData.m中: classdef (ConstructorLoad) MyEventData < event.EventData properties (Access = public) Data = []; end methods functi

我试图将特定数据包含到DataAvailable侦听器的EventData中,但我没有找到方法

我尝试了以下方法:

首先,创建一个与EventData关联的类,并将其存储在文件MyEventData.m中:

classdef (ConstructorLoad) MyEventData < event.EventData
    properties (Access = public)
        Data = [];
    end
    methods
        function obj=MyEventData(receiveObject)
            obj.Data = receiveObject;
        end
    end
end
运行此操作时,在通知行中出现以下错误:

未为类“Event.listener”定义事件“DataAvailable”


我找不到任何方法将数据传递给事件。我发现Matlab的帮助非常有用,但是关于这个问题。

经过进一步的调查,我发现在classdef中,我在ConstructionLoad中有一个错误,而且变量名不能是Data,因为它与使用Matlab的示例的标准变量同名。我已将名称更改为MyData。现在错误消息是MyEventData类不存在公共字段MyData。
% Create the session
Session = daq.createSession('nidaq');

% Add a channel
Channels = addAnalogInputChannel(Session, 'PXI1Slot2', 0, 'Voltage'); 

% Set continuous adquisition
Session.IsContinuous = true;

% Sampling rate
Session.Rate = 1000000;

% in this way two events per second
Session.NotifyWhenDataAvailableExceeds = 500000;

% Add listener
lh=addlistener(Session,'DataAvailable', @(src,event)EventFunction(src,event));

% My counter or any other data to pass to the event
TaskCounter = 0;

% Add my data
notify(Session, 'DataAvailable', MyEventData(TaskCounter);

% Start the session to adquire data
Session.startBackground();