ChannelSkewMode: [ {None} ] ClockSource: [ {Internal} ]
DataMissedFcn: string -or- function handle -or- cell array InputOverRangeFcn: string -or- function handle -or- cell array InputType: [ {AC-Coupled} ] LogFileName
LoggingMode: [ Disk | {Memory} | Disk&Memory ] LogToDiskMode: [ {Overwrite} | Index ] ManualTriggerHwOn: [ {Start} | Trigger ] Name
RuntimeErrorFcn: string -or- function handle -or- cell array SampleRate
SamplesAcquiredFcn: string -or- function handle -or- cell array SamplesAcquiredFcnCount SamplesPerTrigger
StartFcn: string -or- function handle -or- cell array StopFcn: string -or- function handle -or- cell array Tag Timeout
TimerFcn: string -or- function handle -or- cell array TimerPeriod TriggerChannel
TriggerCondition: [ {None} ] TriggerConditionValue TriggerDelay
TriggerDelayUnits: [ {Seconds} | Samples ]
TriggerFcn: string -or- function handle -or- cell array TriggerRepeat
TriggerType: [ Manual | {Immediate} | Software ] UserData
11
WINSOUND specific properties: BitsPerSample
StandardSampleRates: [ {Off} | On ]
要返回设备对象的所有公共属性及其当前值,应将设备对象作为get函数的输入参数。 例4 下面的代码列出了ai的所有公共属性,首先列出的是基本属性,其次是设备特有属性。 >>get(ai)
BufferingConfig = [512 30]
BufferingMode = Auto Channel = [2x1 aichannel] ChannelSkew = 0 ChannelSkewMode = None ClockSource = Internal DataMissedFcn = @daqcallback EventLog = [1x0 struct]
InitialTriggerTime = [0 0 0 0 0 0] InputOverRangeFcn = [] InputType = AC-Coupled LogFileName = logfile.daq Logging = Off LoggingMode = Memory LogToDiskMode = Overwrite ManualTriggerHwOn = Start Name = winsound0-AI Running = Off
RuntimeErrorFcn = @daqcallback SampleRate = 8000 SamplesAcquired = 0 SamplesAcquiredFcn = [] SamplesAcquiredFcnCount = 1024 SamplesAvailable = 0
12
SamplesPerTrigger = 8000 StartFcn = [] StopFcn = [] Tag = Timeout = 1 TimerFcn = [] TimerPeriod = 0.1
TriggerChannel = [1x0 aichannel] TriggerCondition = None TriggerConditionValue = 0 TriggerDelay = 0
TriggerDelayUnits = Seconds TriggerFcn = [] TriggerRepeat = 0 TriggersExecuted = 0 TriggerType = Immediate Type = Analog Input UserData = []
WINSOUND specific properties: BitsPerSample = 16 StandardSampleRates = Off
为显示某个属性当前值,应将属性名作为get函数的输入参数。 例5 显示SamplesRate 属性的当前值 >>get(ai,'SamplesRate') ans = 8000
例6 显示StandardSampleRates和Running属性的当前值。 >> get(ai,{'StandardSampleRates','Running'}) ans =
'Off' 'Off'
13
也可以运行圆点运算符来显示单个属性的值。例如: >> ai.TriggerType ans = Immediate
② 通道/数据线属性:
要返回设备对象的单个通道(或数据线)的所有课配置属性名及其可能值,应使用Channel(Line)属性。
例7 下面的代码将显示模拟量输入对象ai的第一个通道的所有可配置的通道属性。 >> set(ai.Channel(1)) ChannelName HwChannel InputRange SensorRange Units UnitsRange
例8下面的代码将显示ai的第一个通道的所有通道属性及其当前值。 >> get(ai.Channel(1)) ChannelName = Left HwChannel = 1 Index = 1
InputRange = [-1 1] NativeOffset = 1.5259e-005 NativeScaling = 3.0518e-005 Parent = [1x1 analoginput] SensorRange = [-1 1] Type = Channel Units = Volts UnitsRange = [-1 1]
与前文中论述的一样,可以利用get函数或圆点运算符来返回一定数量的通道属性的值。
14
⑶配置属性值
可以使用set函数或圆点运算符来配置属性值。实际上,用户可以在设备对象存在的任何时候对对象的许多属性进行配置。但是,有些属性在对象运行的时候不能配置。可以使用propinfo函数来查看某个可配置属性在何时可以进行配置的信息,也可以参考“基本属性参考”来获取相关信息。
下面将以前面“返回属性名和属性值”一节中创建的模拟量输入对象ai为基础,介绍配置公共属性和通道/数据线属性的语法。 ① 公共属性:
可以用set函数或者圆点运算符对单个属性值进行配置。例如: set(ai,’TriggerType’,’Manual’); 等价于
ai.TriggerType=’Manual’;
也可以将多个“属性名/属性值”对作为set函数的输入参数来同时配置多个属性的值。例如:
set(ai,’SampleRate’,41236,’Name’,’Test1-winsound’) ② 通道/数据线属性
对设备对象某个或多个通道(或数据线)的通道/数据线属性进行属性值配置,应使用Channel/Line属性来完成。例如,用set函数或圆点运算符为ai对象的第一个通道的属性SensorRange配置属性值。
set(ai.Channel(1),’SensorRange’,[-2 2]) 或者
ai.Channel(1).SensorRange=[-2 2]
要同时配置多个通道/数据线属性的属性值,可以将多个“属性/属性值”对作为set函数的输入参数。例如:
set(ai.Channel(1),’ SensorRange’,[-2 2],’ChannelName’,’Chan1’); 也可以同时对多个通道的多个属性进行属性值配置。例如: ch=ai.Channel(1:2);
set(ch,{ ’ SensorRange’, ’ChannelName’},{[-2 2], ’Chan1’; {[0 4], ’Chan2’}); ⑷ 指定属性名
在数据采集工具箱中,设备对象的属性名不分大小写,可以根据自己的喜好选择。此外,
15