I have a cDAQ 9189 with 8 Slots with NI 9201 as AI and NI 9401 as DI/DO. I want to Transfer analog Signals to a TTL Signal(Output) so as to trigger a data logger.
Triggering DataLogger from Analog Input
Checking digital input and output ports.
Hi,
I want to check how digital input and output port works in my pxie-6366. I am using SCB-68A as connector block.
I tried sending a bit stream (it is a 1D of boolean) in a digital output line and then receive it via loopback in a digital input line. I have created a loop between these two line via connecting a wire. I am not sure whether I am doing it correctly. Test panel in MAX is also very confusing when it comes to testing DIOs. All other AIs and AOs and counters I tested. They are working fine as they should. Thanks.
Connect 3 wirer NPN to NI 9421
Hi all!
I have a NPN sinking sensor (3 wires) that I want to connect to my NI9421, however I am lost.
Basically I have connected the power source to my sensor, and connected the sensor ground to my power source ground. Then I connected the sensor output wire to the NI9421's digital input pin, and the COM pin of the NI9421 to my power source ground. I am not getting any signal.
What am I doing wrong here?
Many thanks!
DQAmx: input task halted
Hi All,
I am working with NI-6537 from C++ and facing with the following problem.
I create an input task for continuous samples with the following parameters:
- sample rate: 50 MHz
- buffer size: 33554432
- onboard buffer size (FIFO): 16384 (read-only)
I register a callback function with the following parameters:
- DAQmx_Val_Acquired_Into_Buffer
- nSamples (number of samples after which each event should occur): 1048576
- options: the callback function is called in a DAQmx thread
Sometimes it happens that my registered callback function isn't called. It happens e.g. after 16 hours long running or after just 30 minutes. Buffer overrun doesn't happen because I am checking the current size of the buffer.
Other problem is that after this I cannot even stop the task with DAQmxStopTask. It means that in NI MAX / NI I/O trace the DAQmxStopTask doesn't finish (the command appears in NI I/O trace window but the status code isn't filled).
My questions:
1. How can I retrieve any information about the status or the problem? I tried DAQmxIsTaskDone but it returns no error.
2. What can cause the problem that my callback function isn't called?
Many thanks for your support in advance.
Kind regards,
Lorand
Create 10-bit and 20-bit number to 32-bit number
Hello,
I want to create a 32-bit number from one 10-bit number and one 20-bit number and merging them.
Please find attached snap of my question.
Please help, thanks in advance.
NI USB-6212 digital output
Hi there,
I am using a the USB-6212 board and I would like to generate a task in order to create a digital square wave at a given frequency (400 Hz). My problem arises from the fact that NI MAX only allows me to use only a software timed timing for such task. Did I miss something? Should I use the output from a counter of my board in order to generate a digital square wave?
Thanks.
Difference between FFC connector and FPC connector ?
When I search for information about FPC connectors, FFC/FPC connectors often pop out. So what is the difference between them anyway?
NI USB-6212 DO to trigger an instrument which has a trigger input 3.3V LVCMOS
Hi all,
I am using a the USB-6212 board and I want to use a digital output to trigger another instrument. The trigger input of that instrument is indicated to be a 3.3V LVCMOS. Can I directly apply the 5 volts from the digital output without damaging that instrument? Would it be better to use an attenuator (or voltage divider) after the DO port to reduce the voltage down to 3.3 V?
Thanks.
Updating digital channel with task running
Hi all,
I am trying to control a system digitally through PXIe-6368. This is done by writing digital control bits to digital port. The digital control bits need to be periodically re-calculated with DAQmx program. Thus, the control bits change with time, and have to be updated. To write these updated values to the digital port, I have to first stop the digital output task. Therefore, the system is in an undefined state between digital updates. Is it possible to update the values without stopping the task?
Importantly, the control bits are clocked at 600 kHz.
In essence this is a digital feedback system, but every time I change the digital control, the system has to be put in undefined state.
Pseudocode:
while ( run control): calculate_control_bits(); DAQmxStopTask( taskHandleDigO) #would like to remove this DAQmxWriteDigitalU32( taskHandleDigO, dataAllChans.size, 0, 10.0, DAQmx_Val_GroupByChannel, dataAllChans, byref(wrtRstSrlO), None) print("B") DAQmxStartTask( taskHandleDigO) #would like to remove this
GPIO PCI 6503
Hi Everyone,
I recently bought a system that has GPIO PCI 6503 Card installed and PA0 port is configured for an alarm unit (24 static digital IO l/ines n(on-isolated 5 V TTL/CMOS) in 8-bit ports, 2.4mA).
I am trying to use solid state relay to get an output as GREEN LED in case normal operation and RED LED in case a fault or failure reported by GPIO card but it is not working at all. I understand that GPIO card has TTL/CMOS as output and SSR relay should work with it. Am I doing something wrong.
Kindly advise.
FPGA- Digital Frequency Control to Run Variable Frequency Driver for Acousto-optic Deflectors
I am currently using an USB-7856 Multifunction RIO, and I am trying to generate a digital signal to send to my Variable Frequency Driver by AAOptoelectronics that will change the angle on my acousto-optic deflector, in order to generate a laser scan pattern. I have a NI SCB-68 HSDIO shielded 68 pin connector block hooked up to the FPGA, which is hooked up to the frequency driver via DB44HD connector, with 15 bit control. I have started a program using the sine wave generator on my fpga, however, I am unsure how I would send that to my board to then send on to the driver. I have attached my code to this post, and any help would be much appreciated!
SCB-68, SHC68-C68-RDIO2, and a panel-mounted connector?
I am using a PXI chassis, a SCB-68 HSDIO terminal block, and a SHC68-C68-RDIO2 between them.
There is a piece of sheet metal between the chassis and the terminal block.
I'd like to find a panel-mounted connector that mates to the SHC68-C68-RDIO2, so I can then run an internal cable to the SCB-68.
I haven't had any luck finding one from a vendor that's able to pass muster with my large Aero/Defense employer's purchasing rules. Any suggestions?
Output malfunction in laptop
I am using a dell inspiron series pc and the output jack isn't working is their any other alternative for connecting the output jack? And also how do i check my output drivers?
TTL i/o circuits
I am not that familiar with digital circuits , i wanted to know what is the difference between TTL I/O circuits and LVTTL (5 VDC) bidirectional I/O.
Where is this button?
I cant find it (the “AI” buttons)
[Python] Help with trigger and counter internal output
Hello everyone !
I have a NI 9401 (with 8 DIO) and a cDAQ 9181. I want to send PWM from a DO to a DI (which both have ultrasonic transducers plugged in) and be able to calculate the time transit of my signal between the emitter and the receiver.
For that, I'm using Python. I already managed to send and recieve my signal, but now I need to put the writting task and the reading task in sync, since I want to know when my signal is emitted and when it's received (to calculate the difference). I've read that I need to use the counter internal output of my cDAQ 9181 as reference clock source for both my master and slave task and use a trigger to start those task at the same time. But I'm having a hard time doing it. If anyone can help me with this, I'll be glad.
Here is the part of my code regarding the use of the NI hardware (which works, but there's no sync between writting and reading) :
import nidaqmx
from nidaqmx.constants import AcquisitionType, TaskMode, SyncType, LineGrouping, Edge, Signal
with nidaqmx.Task() as master_task, nidaqmx.Task() as slave_task: master_task.di_channels.add_di_chan("cDAQ1Mod1/port0/line5") master_task.control(TaskMode.TASK_RESERVE) master_task.timing.cfg_samp_clk_timing(int(fs), sample_mode=AcquisitionType.CONTINUOUS) slave_task.do_channels.add_do_chan("cDAQ1Mod1/port0/line1") slave_task.control(TaskMode.TASK_RESERVE) slave_task.timing.cfg_samp_clk_timing(int(fs), sample_mode=AcquisitionType.CONTINUOUS) # ---------------------------------------------------------------------------- # slave_task.write(pwm_out) slave_task.control(TaskMode.TASK_COMMIT) master_task.control(TaskMode.TASK_COMMIT) print('Emission') slave_task.start() master_task.start() pwm_in = master_task.read(number_of_samples_per_channel=len(pwm_out)) slave_task.stop() master_task.stop()
Now here is another code, in which I tried to put read and write in sync, but it just doesn't work..
import nidaqmx
from nidaqmx.constants import AcquisitionType, TaskMode, SyncType, LineGrouping, Edge, Signal
with nidaqmx.Task() as master_task, nidaqmx.Task() as slave_task: master_task.do_channels.add_do_chan("cDAQ1Mod1/port0/line5") slave_task.di_channels.add_di_chan("cDAQ1Mod1/port0/line1") master_task.timing.ref_clk_src="cDAQ1Mod1/port0/Ctr0InternalOutput" master_task.timing.ref_clk_rate = 10_000_000 master_task.timing.cfg_samp_clk_timing(int(fs), sample_mode=AcquisitionType.FINITE) master_task.triggers.sync_type = SyncType.MASTER slave_task.timing.ref_clk_src="/cDAQ1Mod1/port0/Ctr0InternalOutput" slave_task.timing.ref_clk_rate =10_000_000 slave_task.timing.cfg_samp_clk_timing(int(fs), sample_mode=AcquisitionType.FINITE) slave_task.triggers.sync_type = SyncType.SLAVE master_task.control(TaskMode.TASK_COMMIT) slave_task.triggers.start_trigger.cfg_dig_edge_start_trig("/cDAQ1Mod1/PFI1", Edge.RISING) start_trigger.cfg_dig_edge_start_trig("/cDAQ1Mod1/PFI5/di/StartTrigger") slave_task.start() master_task.start() pwm_in = slave_task.read(number_of_samples_per_channel=len(pwm_out)) master_task.write(pwm_out)
Thanks in advance for your answers.
1. Main use and development trends of the FPC connector
The FPC connector is more popular now. In addition to the cellphone industry, I want to know what area is it used in the most. And what is the developing trend now?
Using analog module 9221 for counting edges
In the past I have used the DAQ assistant to use the NI 9221 module for counting edges, i.e. digital input. This seems not to be possible anymore when creating a new vi using the DAQ Assistant, and the old task is not possible to use anymore. Has this support been removed?
I can clearly see that it has been possible to create in the past, see image below from the former working VI.
PXI 6528 Digital output not working
Problem: I have a PXI 6528 and I can't get the Digital Outputs to work.
Background: I've tested all the digital inputs using the +5V and ground on the board and they all work. I can't get the outputs to output any voltage using NI MAX. I've tried hooking the "+" and "-" to a multimeter and I used the test panel to force all the out puts high but that didn't work. I tried "+" and "ground" and I did the same thing forcing all outputs high but no luck. I'm not sure what I am doing wrong unfortunately I'm having trouble understanding the manual for hints on how the digital outputs are suppose to work. I had assumed when sent high they would output a +5V or +3.3V signal. Any help would be appreciated.
Equipment
I have a NI PXI 6528 going into an SCB 100 break out module. I'm using Labview 2014 and NI MAX version 15.0.x.x.
DAQmx Change Detection Error
Hello,
I am having an issues with digital change detection using DAQmx with an NI-9401 digital I/O module. I am setting up my data collection as follows
And then waiting for a rising edge using the following:
This used to be working perfectly fine until I physically moved my setup to a new location after which I now receive the following error every time I attempt to wait for an input change "Digital input detected a new sample clock before the previous sample was latched into onboard memory." my digital input is being generated by a 555 timer in a monostable configuration which generates a ~10ms pulse.
I looked at the output of my 555 in a scope and do notice there are about 10ns of transients before the voltage stabilizes for the 10ms pulse. This led me to think that I could simple slow down the sample clock of the DAQ device somehow so that it doesn't pick up these false logic changes. However, I cannot figure out how to accomplish this.
Does this look like it might be the issue or could there be another problem?
Thanks!