Hello Everyone,
I have NI 6002 device and i have attached a flow sensor to the counter input of NI6002. How i can read the counter input so that i can count the number of edges(high , low points) .Pleas help. Thank in advance
Hello Everyone,
I have NI 6002 device and i have attached a flow sensor to the counter input of NI6002. How i can read the counter input so that i can count the number of edges(high , low points) .Pleas help. Thank in advance
DAQmxCreateCICountEdgesChan(taskHandle1,"Dev1/ctr0","",DAQmx_Val_Rising,0,DAQmx_Val_CountUp);
DAQmxReadCounterScalarU32(taskHandle1, 10.0, &data12, NULL);
with above two line we can read the counter input but by defaoult it uses PFI0 edge sorce if i want to read it with to PFI1 how can I do it please help. Thanks in Advance
I'm not sure if this is the right place for 8452 questions, but I couldn't find a better forum.
One of the EEs I'm working with wants to know the value of the pull-ups in the USB-8452. Strangely, I can't find this information in the datasheet.
Can someone tell me the strength of the internal pull-ups of the USB-8452?
I'm currently trying to configure a digital output task where it define a pattern to be written. The card always throws an error -200077 "Requested value is not a supported value for this property. The property value may be invalid because it conflicts with another property. Property: DAQmx_SampTimingType. Requested Value: DAQmx_Val_SampClk. You Can Select: DAQmx_Val_OnDemand"
The same task runs properly if it's an analog task. But with AO the max frequency I can reach is 80kHz, the goal is 100kHz. So therefore I tried to convert the tasks to digital output with the hope for faster signalling
That's the pattern I want to write:
self._freq = 10000
self._sampFreq = 10
phi = np.pi
self._redP = 2.5 * signal.square(2.0 * np.pi * 1.0 * self._t, self._duty) + 2.5
self._greenP = 2.5 * signal.square(2.0 * np.pi * 1.0 * self._t + phi, self._duty) + 2.5
self._data = np.concatenate((self._redP, self._greenP, self._silence))
self._sig1 = 2.5 * 1.0 * signal.square(2.0 * np.pi * 1.0 * (self._t + 0.01), 0.009) + 2.5
self._sig2 = 2.5 * 1.0 * signal.square(2.0 * np.pi * 1.0 * (self._t + 0.01) + phi, 0.009) + 2.5
self._silence = self._sig1 + self._sig2
The trigger:
self.laser_pulse = Task()
self.laser_pulse.CreateCOPulseChanFreq("Dev1/ctr0", "", DAQmx_Val_Hz, DAQmx_Val_Low, 0.0, self._freq, 0.50)
self.laser_pulse.CfgImplicitTiming(DAQmx_Val_ContSamps, 10000)
self.laser_pulse = Task()
self.laser_pulse.CreateCOPulseChanFreq("Dev1/ctr0", "", DAQmx_Val_Hz, DAQmx_Val_Low, 0.0, self._freq, 0.50)
self.laser_pulse.CfgImplicitTiming(DAQmx_Val_ContSamps, 10000)
The AO tasks:
self.analog_output = Task()
self.analog_output.CreateAOVoltageChan("Dev1/ao0", " ", -10.0, 10.0, DAQmx_Val_Volts, None)
self.analog_output.CreateAOVoltageChan("Dev1/ao1", " ", -10.0, 10.0, DAQmx_Val_Volts, None)
self.analog_output.CreateAOVoltageChan("Dev1/ao2", " ", -10.0, 10.0, DAQmx_Val_Volts, None)
self.analog_output.CfgSampClkTiming(" ", self._freq * self._sampFreq, DAQmx_Val_Rising, DAQmx_Val_ContSamps, self._sampFreq)
self.analog_output.CfgDigEdgeStartTrig("/Dev1/ctr0out", DAQmx_Val_Rising)
self.analog_output.WriteAnalogF64(self._sampFreq, 0, -1, DAQmx_Val_GroupByChannel, self._data, byref(self.read), None)
self.laser_pulse.StartTask()
self.analog_output.StartTask()
I'm writing python, but i'm also happy with solutions in C. Please help!
Hello.
I am using a PCIe-6363 with a BNC-2110 board. We are reading two digital inputs simultaneously via User1 and User2. Works great!
Now, I want to add two digital (counter?) outputs with two different frequency for modulation purpose where I can alter frequency and duty cycle.
Is this possible with the BNC-2110 board and the USER-I/O already in use?
If yes, which outputs can I use?
If no, is it possible with a different board? I think the PCIe-6363 is able to provide that.
Thanks in advance!
Hello,
while getting familiar with my NI6612 and C# something is really confusing to me. As far as I understand each digital line can only I/O a boolean state while counters are able to create/measure pulsetrains. According to the manual, I am allowed to use a PFI line as an external trigger for my actual pulsetrain created by the counter. Now what does that mean and how do I carry this out?
For example: In NI MAX I sucessfully created a task on PFI1-Line where I just tell MAX the desired type (continious, finite pulses, etc.) and frequency and I get an actual pulsetrain out of this PFI1-line which is even physically measureable. However looking inside the c# examples like "WriteDigChan" it asks me for some sort of data array with 8 boolean inputs. I do not understand what this dataArray is actually good for nor understand the errors I get which are stating discrepancies between "Number of Lines in Channel" and "Number of Lines in data" as I actually try to adress only PFI1 and no other line (or channel). Additionally I can say, that the NI MAX testpanel confuses me in the exact same way as the C# example when it asks me about "all high" or "all low". I guess I have a deep lack of understanding regarding how NI MAX actually outputs a pulsetrain (digital waveform) on PFI1 and what it is actually internally doing.
Please consider, that I don't want to use and occupy a second counter just to trigger my first counter pulsetrain if avoidable. Thank you in advance.
Hi,
I am looking for a DAQ to analyze data from 3 different channels. The sampling rate is about 100 KS/s (for each one), and the signal level is between 2mV to 2V. I found NI USB-6281 may work for us, but noticed that the DAQ does not have the simultaneous sampling function.
In theory, we need to process data from different channels at the same time. But as a matter of fact, our signal is expected to be a square wave with the frequency of 10 KHz. In other words, we plan to use 10 points in each cycle to describe the entire square wave at 10 KHz. I wonder whether the simultaneous sampling function is necessary or not in this case, if the data starting and ending moments are available for post process.
We have no experience on working with DAQ. Can anyone with experience make some comments? If necessary, I can explain more about my project.
Thanks.
Hi, I am relatively inexperienced in LabVIEW programming. I am using NI USB 6002 to read from a rotary encoder to track shaft angle. I am noticing that sometimes if the computer is busy processing something else and the encoder shaft has been moved, encoder pulses are dropped, resulting in inaccurate angle information. How do I ensure that no pulses are dropped, even if I need to store them in buffer to update the angle later when processing power is available again? I am currently using DAQmx Read in a while loop to read encoder data.
Thanks.
Hello, I just started this time-sensitive project last week (and began using LabVIEW at the same time) and I am looking for help to control two solenoid valves using an NI 9482 relay and a cDAQ-9172. I would like to run my program for a set (variable) amount of time (probably about 3 sec). Half a second after starting, I would like my first solenoid valve to open, and then a certain amount of time after that I want my second valve to open. I would like them to remain open until the program has run for the set amount of time, then I want them to close at the same time at the end of the program's run time. I am looking for advice on the simplest way to perform this using LabVIEW. Thank you.
Use of Visual C/C++ 6.0 is not supported on Windows 10 (unless you can follow off-site policy installation procedures). So, on new PC, USB8451 is only usable with Labview.
In other words, with more than 400$ you'll buy a device that, without buying Labview, could be only used as a paperweight.
I believe that in order to have sense, USB8451 device need a .net solution (easily developed starting from existing VC6 .dll) to be used also by vb/vba/etc.
Really disappointed.
I'm re-designing an application that used PC-DIO-96 and PC-DIO-24 boards in a DOS PC to communication with a custom built hardware box. I believe the boards were used to control solid state relays in the box. I've found the original code (in BASIC) and values were written to port registers.
We are replacing the PC-DIO boards with PCIe-6509 cards in Windows 10 system and want to develop the new application in LabVIEW. Do I still need to read/write to registers or can I read/write to ports?
If I must use registers then does that mean I must use the MHDDK? If so, the objects are not listed as Win10 camptible http://www.ni.com/gate/gb/GB_EVALMHDDK/US
Hello,
can someone provide a simple example on how to control the NI PXI-6528 DIO card under DotNet/C#?
I only need to set DO and read DI.
Thanks for help or links
BR
Hello,
I was wondering if there were any IBIS models available for the DIO card PXI-6509.
If not, I will probably use a generic model in it's place for the PXI-6509's outputs.
Thank you
Is it possible to pull 5VDC from one of the 15 pin dsub connectors on a CDAQ chassis? If so, what pins should I use?
Hi,
I am trying to connect a digital input from a Motor drive. I am using a compaq daq module with a 24v digital input module.
My electronics knowledge is not the strongest. I have attached the picture of the terminals on the drive. Could someone please suggest how i can connect this.
Thank you
Hi guys,
We were thinking about getting a PCI-6542 to run as a Digital Waveform Generator to run a DAC. But when external events occur we may need the generator to pause or stop. I see there are ports that can be used as input triggers to stop/pause the waveform generation. However, when this trigger occurs, we need to know where in the card's memory the waveform stopped (number of bytes sent since beginning of file). Is it possible to get this easily from the card, or will it have to be done by some other means? I can't seem to find a VI that can read back from the card where the trigger occurred in the waveform.
Thanks!
Ryan
I am working on Ethernet interface on sbRIO9606, sbRIO9607, I want data at network layer not at transport layer. Is it possible in sbRIO 9606 os sbRIO9607 ? If not possible in sbRIO9606, 9607 on which hardare bord it is possible?
I'm working on a project where I need to dynamically create shared variables based on which C series modules I have plugged into a cRIO 9035. I'm looking for a way to programmatically extract the default name of each module I/O that is plugged in. For example, I'm looking for a way to get the string " Mod1/AI0" , "Mod1/AI1" etc, off of the FPGA target so I can use it for a .ini file on the host.
Does anyone know of a feasible way to do this?
I cant understand why my bode is not outputting anything.
Hello all
I'm quite new in using Labview and I need help to generate PWM with frequency 20 kHz and changeable duty cycle
I need generate this PWM via digital I/O NI 9403 and cDAQ-9184....
thanks