MATLAB 1
MATLAB 2
MATLAB PCI-1711 / PCI-1712 MATLAB PCI-1711 / PCI-1712 MATLAB The Mathworks......1 1...........2 2.......3 3................4 4. DAQ...............5 4.1. DAQ......5 4.2. DAQ......6 5. (A/D)...7 5. 1...................................................................7 5.2. DAQFCNGENTM.M...7 5.3. DAQ......8 5.3.1....8 5.3.2.......8 5.3.3................9 5.3.4....................10 5.3.5....................10 5.3.6....... 11 5.4. M-FILE.....................................11 5.5.......................................12 6. (AO D/A)......13 6.1................................................................13 6.2. DAQ......13 6.2.1.......13 6.2.2.......13 6.2.3..............................................13 6.2.4.......14 6.2.5..............................................15 6.2.6.......16 6.3..........16 7.......................17 8......................19 9.........................21...............................................................21 A............................................................22.......................................22 PCI-1711................................................22 PCI-1712...............................................22 2004 7 1 3
1. MATLAB PCI-1711 PCI-1712 MATLAB / / / DAQ DAQ / AI A/D AO D/A / DAQ MATLAB MATLAB DAQ (AI A/D) (AO D/A) DAQ MATLAB The Mathworks >> http://www.mathworks.com/products/matlab/ 4
2. MATLAB PCI-1711 / PCI-1712 MATLAB CD-ROM MATLAB/ MATLAB MATLAB DAQ 1 DAQ 1 1 2 DAQ PCI-1711 PCI-1712 PCL-10168 PCL-10168 PCLD-8710 PCLD-8712 5
3. MATLAB DAQ MATLAB/DAQ MATLAB MATLAB DAQ DAQ MATLAB DAQ Advantech Device Manger PCI-1711 / 1712 MATLAB CD-ROM Programs and Data MATLAB Programs and Data PCI1711 / 1712 CD-ROM Installation->Device Manager CD-ROM Installation-> Individual Drivers DAQ DAQ PCI-1711 PCI-1712 MATLAB CD-ROM mwadvantech.exe Unzip $<matlabroot>\toolbox\daq\daq\private $<matlabroot> MATLAB MATLAB >> matlabroot ans = C:\MATLAB6p5p1 >> daqregister ( advantech ) >> rehash toolboxcache 6
4. DAQ MATLAB DAQ MATLAB/DAQ DAQ 4.1. DAQ daqhwinfo DAQ MATLAB DAQ >> out = daqhwinfo out = ToolboxName: 'Data Acquisition Toolbox' ToolboxVersion: '2.2 (R13SP1)' MATLABVersion: '6.5.1 (R13SP1)' InstalledAdaptors: {5x1 cell} DAQ DAQ DAQ DAQ >> out.installedadaptors ans = 'advantech' 'parallel' 'winsound' 2 2 DAQ Advantech Advantech DAQ DAQ DAQ DAQ 3 3 DAQ Advantech Advantech Device Manager 7
4.2. DAQ 4.1 DAQ DAQ daqhwinfo >> out = daqhwinfo ('advantech') out = AdaptorDllName: [1x53 char] AdaptorDllVersion: 'Version 2.2 (R13) 28-Jun-2002' AdaptorName: 'advantech' BoardNames: {'PCI-1711'} InstalledBoardIds: {'0'} ObjectConstructorName: {1x3 cell} BoardNames InstalledBoardIds BoardNames DAQ DAQ ID InstalledBoardIds PC DAQ DAQ ID DAQ DAQ InstalledBoardIds DAQ PCI-1711 ID 0 8
5. (A/D) DAQ MATLAB DAQ daqfcngentm.m 1 1 5. 1. 0 0 0 0 GND GND DAQ DAQ GND DAQ DAQ 5.2. daqfcngentm.m daqfcngentm.m 2 GUI >> daqfcngentm 2 9
DAQ Daqfcngentm.m 1. Select an analog output channel DAQ Channel 0 SampleRate 100 Hz 2. Frequency 10 Hz PCI-1711 DC Offset 2 V 3. Start 0 10 Hz 1 V 5.3. DAQ 5.2 DAQ 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.1. analoginput DAQ >> ai = analoginput ( advantech, 0) Display Summary of Analog Input (AI) Object Using 'PCI-1711'. Acquisition Parameters: 1000 samples per second on each channel. 1000 samples per trigger on each channel. 1 sec. of data to be logged upon START. Log data to 'Memory' on trigger. Trigger Parameters: 1 'Immediate' trigger (s) on START. Engine status: Waiting for START. 0 samples acquired since starting. 0 samples available for GETDATA. AI object contains no channels. ai DAQ AI analoginput 4.2 ID MATLAB 5.3.2. addchannel 0 >> ichan = addchannel (ai, 0); addchannel AI Object Channel Number 10
ichan 5.3.3. AI Object Channel Object get >> get (ai) >> get (ichan) 5.2 AI Object InputType: ( 5.1) SampleRate: SamplesPerTrigger: Channel Object * InputRange: set AI Object 500 Hz >> set (ai, SampleRate, 500); AI Object InputType >> set (ai, InputType ) [ {SingleEnded} Differential ] { } AI Object >> set (ai, InputType, SingleEnded ); >> set (ai, SampleRate, 500); >> set (ai, SamplesPerTrigger, 500); 500 Hz 500 1 Channel Object daqhwinfo >> daqhwinfo (ai, 'InputRanges') ans = 0 5.0000e+000 0 1.0000e+000 0 1.0000e-001 0 2.0000e-002-5.0000e+000 5.0000e+000-1.0000e+000 1.0000e+000-1.0000e-001 1.0000e-001-1.0000e-002 2.0000e-002 11
1 V [-5 5] >> set (ichan, InputRange, [-5 5]); 5.3.4. start AI Object >> start (ai); SampleRate SamplesPerTrigger 5.3.3 1 5.3.5. MATLAB DAQ getdata 500 >> [data, time] = getdata (ai, 500); data 500 time plot >> plot (time, data); 3 1 10 Hz 5.3.6. 3 12
stop AI Object >> stop (ai); delete AI AI Object >> delete (ai); AI Object Channel Object clear daqfcngentm.m GUI Stop Close clear AI Object clear >> ai = analoginput ( advantech, 0); >> clear ai MATLAB daqfind MATLAB daqfind clear ai AI Object obj >> obj = daqfind; daqreset >> daqreset 5.4. M-File MATLAB M-File M-File data_meas.m data_meas daqfcngentm.m 5.2 data_meas.m 3 M-File MATLAB http://www.mathworks.com/products/matlab/ 13
5.5. DAQ daqhelp Help DAQ >> daqhelp daqhelp analoginput >> daqhelp ( analoginput ) daqhelp PropertySampleRate >> daqhelp (ai, SampleRate ) 14
6. (AO D/A) MATLAB DAQ DAQ 5 daqfcngentm.m DAQ MATLAB 6.1. 5 5.1 6.2. DAQ DAQ 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 5.3.6 6.2.1. analogoutput DAQ >> ao = analogoutput ( advantech, 0) Display Summary of Analog Output (AO) Object Using 'PCI-1711'. Output Parameters: 1000 samples per second on each channel. Trigger Parameters: 1 'Immediate' trigger on START. Engine status: Waiting for START. 0 total sec. of data currently queued for START. 0 samples currently queued by PUTDATA. 0 samples sent to output device since START. AO object contains no channels. ao DAQ AO 6.2.2. addchannel 0 >> ochan = addchannel (ao, 0); Channel Object ochan 6.2.3. AO Object Channel Object get >> get (ao) >> get (ochan) 15
Analog Output AO Object RepeatOutput: SampleRate: Channel Object OutputRange: set AO Object >> set (ao, RepeatOutput, Inf); >> set (ao, SampleRate, 100); Inf 100 Hz 1 100 Channel Object daqhwinfo >> daqhwinfo (ao, 'OutputRanges') ans = -10 10-10 10 6.2.4. DAQ DAQ Analog Output 0 0.99 0.01 100 6.2.3 100 Hz 100 1 sin y 5 Hz 1 V (') t >> t = (0: 0.01: 0.99)'; >> y= sin (2 * pi * t * 5); >> plot (t, y); 4 16
y putdata >> putdata (ao, y); PCI-1711 5.2 DC +2V >> putdata (ao, y + 2); 6.2.5. start AO Object >> start (ao); 4 17
RepeatOutput SampleRate Properties 5 Hz / 1 V 6.2.6. 7 stop AO Object >> stop (ao); delete AI Object >> delete (ao); 6.3. 5.4 data_meas.m 6.2.5 5 >> data_meas (500 Hz) (100 Hz) 5 18
7. 6 MATLAB 4 5 start start Immediate Trigger start MATLAB Immediate Trigger AI Object TriggerType set >> set (ai, TriggerType, Software ); Channel Object TriggerChannel >> set (ai, TriggerChannel, ichan); Channel 0 TriggerCondition: / TriggerConditionValue: TriggerDelay: TriggerRepeat: TriggerConditionValue t = -0.001 PCI-1711 set (ai, 'TriggerConditionValue', value + 2) set (ai, 'TriggerConditionValue', value) >> value = sin (2 * pi * -0.001 * 5) >> set (ai, 'TriggerConditionValue', value); (V) 0 TriggerRepeat TriggerDelay (-) >> start (ai); >> [data, time] = getdata (ai); >> plot (t, y, time, data); 6 4 19
6 8 >> stop (ao); >> delete (ao); data_out.m M-File Adaptor Name ID 6 20
8. DAQ daqfcngentm.m M-File M-File data_meas.m Adaptor Name ID M-File 5.3.3 InputRange daqfcngentm.m 5.2 1Hz peakmeas.m M-File: peakmeas.m 1 function peakmeas (adaptor, id) 2 data = []; 3 4 ai = analoginput (adaptor, id); 5 ichan = addchannel (ai, 0); 6 set (ichan, 'InputRange', [-5 5]); 7 8 set (ai, 'SamplesPerTrigger', 5000); 9 set (ai, 'InputType', 'SingleEnded'); 10 set (ai, 'SampleRate', 500); 11 set (ai, 'StopFcn', @stop_plot); 12 set (ai, 'SamplesAcquiredFcn', {@view_meas}); 13 set (ai, 'SamplesAcquiredFcnCount', 500); 14 set (ai, 'UserData', data); 15 16 start (ai); 17 18 function stop_plot (obj, event) 19 data = get (obj, 'UserData'); 20 figure; plot (data); 21 delete (obj); 22 clear all; 23 24 function view_meas (obj, event) 25 data = get (obj, 'UserData'); 26 buff = getdata (obj, 500); 27 maxval = max (buff); 28 minval = min (buff); 29 ppdata = maxval minval 30 data = [data; buff]; 31 set (obj, 'UserData', data); peakmeas.m StopFcn 11 SamplesAcquiredFcn 12 Stop SamplesPerTrigger StopFcn @ stop_plot @stop_plot StopFcn 21
18~22 18 obj Obj event 21 delete 4 AI 13 SamplesAcquiredFcnCount SamplesAcquiredFcn view_meas K 24~31 14 data UserData view_plot data get view_plot UserData UserData UserData property 22
9. DAQ (AI A/D) (AO D/A) DAQ MATLAB DAQ DAQ MATLAB Analog Input InputType MATLAB Device Manager A/D Device Manager Channel Single-Ended /Differential DAQ AnalogOutput 500Hz PCI-1711 AI Object InputType PCI-1711 [0 5] [0 10] +2V start DAQ PCI-1711 >> start (ai)??? Error: ==> daqdevice/start ADVANTECH: DIO port configuration failed. delete analoginput daqreset DAQ PCI-1711 bug start start DAQ PCI-1711 23
A PCI-1711 PCI-1711 PCLD-8710 AI0: 0 DA0OUT: 0 AIGND: AOGND: PCI-1712 AI0: 0 ( ) AI1: 0 ( ) AI0: 0 AO0OUT: 0 AIGND: AOGND: 24