This example shows how to measure frequency to determine rate of flow of fluid using a flow sensor. The sensor generates a digital signal with frequency that correlates to the rate of flow of fluid.
Use daq to create a DataAcquisition and addinput to add a counter input channel with Frequency measurement type. For this example, use CompactDAQ chassis NI c9178 and module NI 9402 with ID cDAQ1Mod5.
dq = daq("ni"); ch = addinput(dq,"cDAQ1Mod5", "ctr0", "Frequency"); ch
ch =
Index Type Device Channel Measurement Type Range Name
_____ ____ ___________ _______ ________________ _____ ________________
1 "ci" "cDAQ1Mod5" "ctr0" "Frequency" "n/a" "cDAQ1Mod5_ctr0"
To connect the input signal to the correct terminal, examine the Terminal property of the channel. The terminal is determined by the hardware.
ch.Terminal
ans =
'PFI1'
To determine if the counter is operational, input a single scan while the motor is rotating.
read(dq)
ans =
timetable
Time cDAQ1Mod5_ctr0
_____ ______________
0 sec 100
Use the hardware clock to acquire multiple counter measurements over time. NI counter devices require an external clock. By adding an analog input channel for a module on the same chassis, the session shares an internal clock with both modules.
dq = daq("ni"); dq.Rate = 1; addinput(dq,"cDAQ1Mod1", "ai0", "Voltage"); addinput(dq,"cDAQ1Mod5", "ctr0", "Frequency"); data = read(dq, seconds(10)); plot(data.Time, data.cDAQ1Mod5_ctr0);
