Quantcast
Channel: PXI topics
Viewing all 3419 articles
Browse latest View live

External bias resistor selection on PXIe-4302 with TB-4302C

$
0
0

Hi,

  • I'm trying to measure 4-20mA current loops from 15 PR9113B 2-channel transmitters (so 30 channels total) using the TB-4302C terminal board connected to an PXIe-4302 DAQ card.  
  • Here is a PDF schematic [Dropbox link] of my planned setup (showing only 3 of the 30 channels for simplicity)
  • The transmitters are isolated and so as per Table 1 in the NI document "Field Wiring and Noise Consideration for Analog Signals" I believe I need to insert an external bias resistor between AISENS and AIGND.  
  • The PR9113B is listed as having a load of <600ohms, which I will assume = 600ohms. 
  • Page 2-2 of the PXIe-4302 user manual recommends an external bias resistor of Rbias = load_resistance*100 = 60kohms

QUESTIONS:

  • Since I have multiple transmitters using the same external bias resistor, does that affect the resistance of the bias resistor that I need?
  • How do I determine the maximum power through the resistor?  Is it negligible?  Or is the worst-case the full 23mA  going through the resistor, Power = I^2*R?  Or something else?

Any other comments on my proposed setup are welcome, I'm very new to 4-20mA current loops.

 

Thanks!


DMM 2535 Handshaking one scan multiple sample not working; V ok, R nok

$
0
0

Hey,

I'm using the DMM Switch handshaking example. It works as is, but:

1. keeping V measurement; changing continuous scan to FALSE; changing sample amount from 5 to 1; adding MUX leaving running state to continue to FETCH DMM; FETCH DMM with accumulated backlog.
STILL WORKS, BUT V values are wrong! 5.6V i.s.o. 0V !!

2. Corrected to work with:

- back to continuous scan (because single scan doesn't work (hangs in the mist somewhere) when more than 1 sample/trigger asked)

- multiple samples (e.g. 5) per trigger

NOW MEASURING CORRECT 0V

3. I want to measure R

DOESN'T WORK !! ALWAYS NaN i.s.o. e.g. 450 Ohm.

PXIe-1085 Slot Power Constraint

$
0
0

Hello,

We are configuring a NI-STS T1 using the PXIe 1085 chassis. We have decided to use the PXIe-4113 Power Supply. We noticed that the per slot capability of the PXIe1085 is 38.25W (pg 46 of the Specifications,screenshot attached), whereas the 4113 delivers 60W per channel. How is it possible to use the 4113 in the 1085? Please clarify on this. What sort of precautions need to be taken in such a case?

(Attached : Screenshot of the PXIe-1085 Specification)

Thanks in advance for the help!

 

PXIe-8135 unexpected ethernet port swap

$
0
0

Hi,

I have a number of PXIe-8135 controllers configured with a static IP address on port 1, with port 2 disabled. Every once in a while, after a power outage, a random controller restarts with port 2 as primary and configured with the static IP address that had been assigned to port 1. At that point it is necessary to use NI-MAX to manually reconfigure the ports in order to restore the original setup. How can this be prevented?

Application Development Environments for PXI-7953R

$
0
0

Hi,

 

I am looking out what is the necessary driver needed in order have run an developed *.lvbitx file on the PXI-7953R board.  In search of the FlexRIO driver, the following is the list.  Anyhow, I am not in the real time environment, so I want to ask if I am in trouble now?  From the list of the Application Development, I only have LabView 2015 SP1 installed.

 

Application Development Environments (ADEs)

Note: You should install ADEs before installing FlexRIO Support 16.0. To add support for ADEs installed after installing FlexRIO Support 16.0, modify your FlexRIO 16.0 installation or launch the FlexRIO 16.0 installer again.

  • LabVIEW 2013 SP1 (32-bit and 64-bit), 2014 SP1 (32-bit and 64-bit), 2015 SP1 (32-bit and 64-bit), and 2016
  • LabVIEW Real-Time Module 2013 SP1, 2014 SP1, 2015 SP1, and 2016
  • LabVIEW FPGA Module 2013 SP1, 2014 SP1, 2015 SP1, and 2016

 

And also, when I look into the NI Example, I found an example, "Simple External Memory FIFO", but when I opened up the project, error message is prompt saying "The plug-in for the selected item is not installed on your system or the plug-in has an expired license. Please contact National Instruments".  What am I missing? 

 

Any help is appreciated!

 

Thanks.

 

Peggy

 

 

PXI-8361 compatibility with PCIe-8361

$
0
0

Hi,

 

I am setting up a new test station.  I want to use a new standalone PC, connected to an existing PXI chassis via copper cable.  My PXI chassis is already fitted with a PXI-8361 card (that had been previously used in conjunction with a PC fitted with a PCI-8361).

 

Most new PCs don't have legacy PCI slots, only PCI-express. Therefore I am planning to fit the new one with a PCIe-8361. 

 

Will this be compatible with the PXI-8361, or will I need to upgrade to the PXIe-8361?

 

Thanks,

Dan

PXIe 1082 firmware update fails

$
0
0

Hello

 

I just fried a 1062Q backplane but by chance had a 1082 backplane on the shelf.

in NIMax, the backplane firmware shows up as version 1.0.0f0, and hardware rev A.

Running ver 17 of "everythig", NIMAX, PXI platform services.

Controller PXIe-8135, Win10.

 

The 1082 is identified and passes NIMax self test.

Only the first temperature sensor returns a reasonable value. 

But opening the VISA test panel fires:

Error opening resource:
{B63C26E6-6E77-4A84-BFD4-3B0F3D8F70D9}

VISA: (Hex 0xBFFF0012) Invalid resource reference specified. Parsing error.

 

I'm trying to update the firmware via MAX PXIe-1082_fw_15_0_0f0.bin but that fails with the message . 

"There was a problem updating the firmware for this device"

 

Any advice here on how I can update the firmware?

 

thanks

 

Using NI PXI 4462 for analog current monitoring

$
0
0

Hi, my name is Gabriel.

 

My question is: am I able to use Ni PXI 4462 to monitoring an analog current input from 4 to 20 mA?

 

Thank you.

 

 


XNET Deployment

$
0
0

Hi all,

 

I have a XNET DB in xml format in my PXI file system. I went to deploy that into my PXI running in Pharlap. But when i try to deploy/undeploy, I am getting a error called " This feature not supported under RT " . PFA image.

 

Help me in deploying it.

 

Thanks in advance.

Problem reading serial number on PXI

$
0
0

Hi ,

 

I'm using LabVIEW to get  access programmatically on hardware informations on my PXI using the System property Node.The informations I'm trying to retrieved are the following.

 

  1. SerialNum
  2. ProdName
  3. Slot

My actual configuration is 

Slot 0 : Chassis PXIe-1082,SN:305630A

Slot 1 : Controller PXIe-8135, SN:2F25FD89

Slot 5 : PXIe-6674T, SN:00F5929A

Slot 6 : PXI-6683H, SN:0198D955

Slot 8 : PXIe-7971R, SN:01BC305D

 

This is what I get from the System hardware property node

Slot 0 : Chassis PXIe-1082, SN:305630A

Slot 0 : Controller PXIe-8135, SN:2F25FD89

Slot 1 : Controller PXIe-8135, SN: None

Slot 4 : PXIe-6674T, SN:00F5929A

Slot 5 : PXI-6683H, SN:0198D955

Slot 7 : PXIe-7971R, SN:01BC305D

 

I can not understand why my controller is appearing on two differents slots  and only one of them has a serial number.Also I find the same behaviour using MAX .

Does anybody came accross this problem before ?

TCLK

$
0
0

Hi, I have 4 PXI-5421 AWG cards in a PXI_1065 chassis. How do I use Tclk to ensure that the timing of the four channels are synchronized?

niTClk_Synchronize(sessioncount, sessions [ ])... session count is the number of cards I have? Pls help me understand the usage of this function in visual basic.

Thanks.

PXI Chassis power cycle with remote control computer

$
0
0

Hi, I have a question on how to control the power between the remote control computer (a desktop computer with PCI-PXI extender card) and PXI Chassis (with PXIe-8360 MXI-Express). 

 

Because we are in development and constantly need to turn on/off the PXI chassis for swapping the instrument cards.  One thing that I notice is that every time when I powering off PXI chassis for changing the instrument cards, I needed to reboot the remote control computer?  I want to ask if this is normal behavior?   So for the powering sequence, the PXI chassis has be powered on first, then the remote control computer?

 

I am having some doubt because I used to work with VXI chassis; and, for VXI chassis, after turning off/on the power, I can go into NI MAX and do a refresh.  PXI seems behaving differently.

 

Thanks

 

Peggy

 

Hardware Error -50152

$
0
0

I'm using a PXIe 4330-Card in a 1062Q-Chassis, it is connected via cable and PXIe-PCIe8361-Card to a PC. Installed software is Measurement & Automation Explorer 16.0.0f0, all available updates were done via NI-Update-Service.

The simple thing I did is to start M&A Explorer and to create a task using the context menu on my PXIe 4330-Card: measure -> analog -> bridge. I try to use continues mode to read my sensor at channel a01. Instead of sensor readings I get a Hardware Error -50152. Other modes give me the same message, except the one where I pull a value "on demand": That one works, but is nothing I can make use of in my application.

HardwareError 50152HardwareError 50152

Now, if I take the cable and connect this setup to my laptop and its NI PXI-ExpressCard8360 everything works! (I made sure in both cases, that the chassi is switched on way before the PC or Laptop.) Our customer has the same PC-Card-Chassis-PXIe4330-Setup in an identical PC and experiences the same Problem. 

 

Does anyone have an idea, where I should look? (And no: a laptop is not an option for our customer).

 

Thank's in advance

Stephan (General_Purpose)

 

Recommended approach for PXI control from Python

$
0
0

Hello, I need to control several PXI devices (basically DC sources and DMM) via Python but I'm unsure about what the sanest approach could be.

Firstly I tried to use pyvisa as I've always done for SCPI devices and although I can open the corresponding resources, these have read_memory/write_memory methods since for example PXI-4110 doesn't take SCPI commands but direct register access, and from what I understand this low level control is not supported.

My second approach was to try control it with ctypes (package on which I have very little experience). However I'm stuck there because I can't find any detailed information on how to do this. I tried using examples from C++ etc as a reference but without luck. In particular, I load nidcpower.dll; checking http://zone.ni.com/reference/en-XX/help/370736R-01/ni_dc_power_supplies_help/software_behavior/ I see I have to first open a session with niDCPower_InitializeWithChannels. The corresponding resourceName for this function would be 'PXI1Slot5_2' as identified from MAX, but all it returns is -1074134966 no matter what I do, whatever this code means. I imagine I'm not even passing the arguments correctly, but I don't know where to look.


I would like to know how to properly initialize my devices this way, or even if there's any other approach.

 

Thanks

Wanted PXI Moduls Used or New

$
0
0

Hi,
I'm looking for the following modules for my lab:

 

1. NI PXI-6733

2. NI PXI-6602

3. NI PXI-2596

4. NI PXI-6723

5. NI PXI-6713

6. NI PXI-6533

Controller:

1. NI PXIe-8135

 

Thanks

 


Dual Display Problem with PXI 8108 (driver or hardware issue)

$
0
0

I have a very strange problem, and i am have tried many things and nothing is working. I am aware of DVI-I,DVI-D and VGA as well. Here are the details.

 

Using a PXI 8108. Its manual says it has The Mobile Intel GM45 Express Chipset (Graphics and Memory Controller Hub). Bought a 3rd Party DVI-I to DVI-D and VGA Splitter. Two monitors, both HP v221 (has both VGA and DVI-D). The setup worked great for 2 years. Meanwhile, i also bought the NI DVI-I Spliiter (P/N 780868-01) as a backup. The Dual Displays worked great and at the BIOS password prompt, both displays showed the Password entry.

 

After 2 years (around 6 months ago), my DVI-D monitor (hereby called as Monitor 2) started to flicker randomly, blank Display On and Off. There were no specific symptoms. It started doing this on its own, whether any application was running on the Windows (WinXP SP3) or not. I did re-install the display driver to see if it goes, but it didnt. It was so random that sometimes it started at Windows Log in, and sometimes after 3 4 hrs. The problem was only replicated in Windows, not while Booting Up or at the BIOS password. Hence i suspected a faulty DVI-D cable, probably it had aged or maybe deteriorated due to EMI.

 

Seeing that the DVI-D cable runs into issues, i ordered a DVI to VGA Converter, so that i can use that at the Splitter end, and get rid of the DVI Cable. I tested it and it worked OK. Before i can use it permanently i ran into another problem.

 

A requirement came up for a 3rd dispaly. One solution was a PCI card, another surprise solution came out to be Sewell Mini Deck 3.0, which turns a USB port into an external display (Cool). So i ordered MiniDeck 3.0, and installed the driver. It works great and now i have 3 displays working on PXI (1 VGA, 1 DVI-D, and 1 USB).

 

During this time, while testing the DVI-VGA adaptor, the Monitor 2 (2nd Display, DVI-D) stopped giving display! (This is the issue here..finally). The other two worked fine (VGA and USB), but not the DVI-D one. It didnt even display anything on the BIOS password prompt. The second display is visible in Device Manager (Mobile Intel 4 Series Express Chipset Family x 2). Also in Display Properties, it is visible and selectable. I can also Check (extend display onto this monitor). but nothing becomes visible on the DVI-D monitor (Monitor 2).

 

Now i have done the following to resolve, but havent worked.

1. Checked Monitor 2 elsewhere, it works fine. Both on VGA and DVI-D inputs.

2. I have 2 DVI-D cables, both work good on another PC. So the cable are good.

3. Uninstalled DisplayLink drivers (Sewell MiniDeck 3.0) 

4. I dont know what was the display driver version ( Mobile Intel 4 Series Express Chipset Family) when everything worked (before flickering). But after the flickering, i installed Graphics Driver Version 6.14.10.5009. It didnt help. I have also tried installing the following Driver Versions

Version 6.14.10.4957 (the latest driver available on NI website page for PXI-8108)

Version 6.14.10.5420 (the latest driver available on NI website for Mobile Intel 4 Series Express Chipset Family)

None of these work.

5. I have checked in BIOS and DDC Routing is set to DVI (as is recommeded here http://digital.ni.com/public.nsf/allkb/0E993D33675CD46A862572D50072C6A3).

"

  • If only the VGA monitor is working, make certain that the DDC Routing is set correctly in the BIOS.  To do this, navigate to Advanced»Integrated Peripherals»Monitor DDC.  Verify that Monitor DDC is set to DVI.  Analog monitors will work when DDC Routing is set to DVI and CRT, however, DVI monitors will not function when DDC Routing is set to CRT."

6. The HP V221 monitor menu has under Management option for DDC/CI Support (On and Off). I have tried it both, but no change in results.

7. I have downloaded the BIOS firmware version 2.0.5f but havent installed it. since its a little too much to ask at the moment. Current BIOS firmware version is 2.0.1f

8. At the PXI chassis DVI-I end, i have used a DVI-I to VGA and used VGA cable into the Monitor 2, it works. Also i have directly input DVI-D Cable into the DVI-I connector, and it DOESNT work. No display. Hence i am suspecting that my graphics adaptor isnt outputting video on the Digital part of DVI-I. 

 

Probable Problem: Either Hardware (DVI-I port), or Graphics Driver 

 

I would be really, really grateful if anyone can help me towards the solution (or the problem). I cannot describe how much miserable i feel at the moment, after having tried so many things.

 

Thank YOU,

Regards,

Ali

Task specified is invalid or does not exist

$
0
0

I have a C file with the following contents

 

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <string>
#include <iostream>
#include <Windows.h>
#include <setjmp.h>
#include "NIDAQmx.h"
#include "nisyscfg.h"
#include "nisyscfg_pxi.h"
#include "nisyscfg_errors.h"
#include "pxi_driver.h"
using namespace std;
TaskHandle task = 0;
char	errBuff[2048]={'\0'};
int32       error=0;
struct fileData{
	int channel1;
	int channel2;
	int channel3;
	int channel4;
	int channel5;
	int channel6;
	int channel7;
	struct fileData *next;
} *data;
int *index;
int listSize = 0;
int tempArray[1];
int *channel1_index;
int *channel2_index;
int *channel3_index;
int *channel4_index;
int *channel5_index;
int *channel6_index;
int *channel7_index;
int *channel8_index;
int *channel9_index;
int *channel10_index;
int *channel11_index;
int *channel12_index;
int *channel13_index;
int *channel14_index;
int *channel15_index;
int *channel16_index;
int *channel17_index;
int *channel18_index;
int *channel19_index;
int *channel20_index;
int *channel21_index;
int *channel22_index;
int *channel23_index;
int *channel24_index;
int *channel25_index;
int *channel26_index;
int *channel27_index;
int *channel28_index;
int *channel29_index;
int *channel30_index;
int *channel31_index;
int *channel32_index;
#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) errorCheck(); else
#define DAQmxErrChk2(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else

int main(int argc, char *argv[])
{
	int returnCode = 0;
	if(argc < 7){
		printf("%d arguments provided, need 6 arguments",argc);
		exit(1);
	}
	printf("opening file %s to read\n",argv[1]);
	FILE *replayFile = openFile(argv[1]);
	if(replayFile != NULL){
		printf("finished reading file\n");
	} else {
		printf("error reading file %s...exiting\n",argv[1]);
		exit(1);
	}
	readFile(replayFile);
	printf("creating task...\n");
	printf("Entering debug mode...press enter once connected\n");
	getchar();
	createTask();
	if(returnCode == 0){
		printf("task created\n");
	} else {
		printf("unable to create task...exiting\n");
		exit(returnCode);
	}
	printf("Opening device %s on port %s with lines %s:%s...\n",argv[2],argv[3],argv[4],argv[5]);
	startTask();
	openDevice(argv[2],argv[3],argv[4],argv[5]);
	if(returnCode == 0){
		printf("Device opened\n");
	} else {
		printf("Device opened with warnings\n");
	}
	printf("starting task\n");
	startTask();
	if(returnCode == 0){
		printf("Task started\n");
	} else {
		printf("Task started with warnings\n");
	}
	printf("replaying file\n");
	filePlayBack();
	printf("End of program, press Enter key to quit\n");
	getchar();
	return 0;
}

FILE *openFile(char filePath[]){
	int returnCode = -2;
	FILE *replayFile;
	if(replayFile = fopen(filePath, "r")){
		printf("Reading file %s\n",filePath);
	}
	return replayFile;
}

void openDevice(char device[],char port[],char lineHigh[],char lineLow[]){
	printf("value of task before open device is %d\n",&task);
	//DAQmxErrChk(DAQmxCreateDOChan(task,strcat(device,"/port0"),"",DAQmx_Val_ChanForAllLines));
	DAQmxErrChk(DAQmxCreateDOChan(&task,"DEV5/port0","",DAQmx_Val_ChanForAllLines));
	printf("value of task after opening device is %d\n",&task);
}

void readFile(FILE *replayFile){
	if(&replayFile != NULL){
		char buff[1024];
		fileData *new_node, *current = NULL;
		new_node = (fileData*)malloc(sizeof(fileData));
		new_node->next=NULL;
		data = new_node;
		current = new_node;
		while(fgets(buff,1024,replayFile) != NULL){
			char * delim = strtok(buff, ",");
			new_node->channel1 = atoi(delim);
			delim = strtok(buff, ",");
			new_node->channel2 = atoi(delim);
			delim = strtok(buff, ",");
			new_node->channel3 = atoi(delim);
			delim = strtok(buff, ",");
			new_node->channel4 = atoi(delim);
			listSize++;
			current->next=new_node;
			current=new_node;
			new_node = (fileData*)malloc(sizeof(fileData));
			new_node->next=NULL;
		}
		fclose(replayFile);
	} else {
		printf("no file was opened...exiting\n");
		exit(1);
	}
}

void filePlayBack(){
	printf("writing data...\n");
	int32 *numSamples;
	int32 temp = 4;
	numSamples = &temp;
	int numofChannels = 4;
	int *fileArray = listToArray();
	int i = 0;
	for(i = 0; i < listSize; i++){
		printf("writing value %d to channel\n",*(fileArray+i));
		//int value = *(channel1_index+i);
		//printf("writing value %d to channel\n",value);
		int value = *(fileArray+i);
		tempArrayValue(value);
		DAQmxErrChk(DAQmxWriteRaw(task,10000,true,-1,tempArray,numSamples,NULL));
		/*value = *(channel2_index+i);
		printf("writing value %d to channel\n",value);
		tempArrayValue(value);
		DAQmxWriteRaw(task,10000,true,-1,tempArray,numSamples,NULL);
		value = *(channel3_index+i);
		printf("writing value %d to channel\n",value);
		tempArrayValue(value);
		DAQmxWriteRaw(task,10000,true,-1,tempArray,numSamples,NULL);
		value = *(channel4_index+i);
		printf("writing value %d to channel\n",value);
		tempArrayValue(value);
		DAQmxWriteRaw(task,10000,true,-1,tempArray,numSamples,NULL);*/
		Sleep(10);
	}
}

void tempArrayValue(int value){
	if(value >= 5){
		tempArray[0] = 1;
	}
	else if(value < 5){
		tempArray[0] = 0;
	}
}

int *listToArray(){
	struct fileData *temp;
	temp = data;
	int *channel1_index = (int*)calloc(listSize,sizeof(int));
	int *channel2_index = (int*)calloc(listSize,sizeof(int));
	int *channel3_index = (int*)calloc(listSize,sizeof(int));
	int *channel4_index = (int*)calloc(listSize,sizeof(int));
	int i = 0;
	for(i=0;i<listSize;i++){
		*(i+channel1_index) = temp->channel1;
		*(i+channel2_index) = temp->channel2;
		*(i+channel3_index) = temp->channel3;
		*(i+channel4_index) = temp->channel4;
		temp=temp->next;
	}
	while(temp!=NULL){
		temp=temp->next;
		free(temp);
	}
	return channel1_index;
}

void createTask(){
	DAQmxErrChk2(DAQmxCreateTask("",&task));
	printf("value of task when creating task is %d\n",&task);
	Error:
		if( DAQmxFailed(error) )
			DAQmxGetExtendedErrorInfo(errBuff,2048);
		if( task!=0 ) {
			/*********************************************/
			// DAQmx Stop Code
			/*********************************************/
			DAQmxStopTask(task);
			DAQmxClearTask(task);
		}
		if( DAQmxFailed(error) ){
			printf("DAQmx Error: %s\n",errBuff);
			printf("End of program, press Enter key to quit\n");
			getchar();
			exit(1);
		}
}

void startTask(){
	DAQmxErrChk2(DAQmxStartTask(task));
	Error:
		if( DAQmxFailed(error) )
			DAQmxGetExtendedErrorInfo(errBuff,2048);
		if( task!=0 ) {
			/*********************************************/
			// DAQmx Stop Code
			/*********************************************/
			DAQmxStopTask(task);
			DAQmxClearTask(task);
		}
		if( DAQmxFailed(error) ){
			printf("DAQmx Error: %s\n",errBuff);
			printf("End of program, press Enter key to quit\n");
			getchar();
			exit(1);
		}
}

void errorCheck(){
	printf("in error check\n");
	if( DAQmxFailed(error) )
		DAQmxGetExtendedErrorInfo(errBuff,2048);
	if( task!=0 ) {
		DAQmxStopTask(task);
		DAQmxClearTask(task);
	}
	if( DAQmxFailed(error) )
		printf("DAQmx Error: %s\n",errBuff);
	printf("End of program, press Enter key to quit\n");
	getchar();
	exit(1);
}

The program was working fine now when I run the program I get the following output

 

value of task when creating task is 3814276
task created
Opening device DEV5 on port 0 with lines 1:2...
DAQmx Error: Task specified is invalid or does not exist.
Status Code: -200088
End of program, press Enter key to quit

What in my code could be causing this issue, or is it an issue external to the code and possibly in my hardware I am using?

How to use TDC IO on PXIe-7972R (FPGA)

$
0
0

Hi,

 

I read some literature on using FPGA to implement time-to-digital converter (TDC) for fluorescence lifetime imaging. There are some FPGA example code online but are mostly written in VHDL or Verilog. I noticed that NI PXIe-7972R FPGA has TDC IO available, but couldn't find any documentation about it. Can anyone please share a simple example or some experience on how to use the TDC IO?

 

Thanks,

Bing

How to connect DAQ and FPGA through PXI chassis backplane

$
0
0

Greetings,

 

I'm trying to use a NI DAQ (PXIe-6356) to control a FlexRIO FPGA (PXIe-7972R), or the other way around, through PXI chassis backplane. To be more specifically, I'd like to generate a digital pulse (for example a line clock) from one device and use it to trigger the other device (to start data acquisition) in the same PXI chassis. 

 

I could do that by connecting the corresponding DIO terminals with an external wire but that would affect the signal integrity and cause timing delay. There are some articles online talking about using PXI_Trig through PXI chassis backplane to sync different PXIe devices, but in DAQmx was not able to expose any PXI_Trig terminals (only port0/1/2 lines are available).

 

Did anyone have any experience with sync'ing DAQ and FGPA with PXI backplane? Any advice would be greatly appreciated.

Thanks very much!

 

-Bing 

Synchronising continuous generation

$
0
0

I have a PXie-1073 chassis which has a PXI-6723 (NI-DAQmx) for analog output generation and a PXI-6541 (NI-HSDIO) for digital generation.

 

The PXI-6541 is configured to run in scripted mode and uses its digital start trigger to start the generation of the samples written to the 6723 card. After each card has finished its generation, the buffer is overwritten with a new one.

 

I would like to configure them such that if I want to repeat the same sequence, each card will regenerate its buffer. To do this, I have set the SampleQuantityMode property to ContinuousSamples and WriteRegenerationMode to AllowRegeneration for the 6723 card and modified the 6541 script to repeat forever

 

script myScript

     repeat forever

     generate data

     end repeat

end myScript

 

The problem I've found is that the two sequences become de-synchronised. The two cards use their own sample clocks - the 6541 uses a 10 MHz clock referenced to the 10 MHz reference on the PXIe chassis, and the 6723 uses a 100 kHz clock which should also be referenced to this.

 

 

Is there a better way to synchronise the output of these cards and ensure that they remain synchronised after each loop?

Viewing all 3419 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>