PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

NI Error -89136 set property DAQmx_RefClk_Src with value /PXI1Slot2/PXI_CLK10

Solved!
Go to solution

Dear NI forum members,

 

We just got a NI PXIe-1073 Chassis with a NI PXIe-6361 switched in PXI1Slot2 and a shielded connector box BNC-2111. Aim is to trigger two output signals to control a laser and a sound via Matlab Application.

 

Matlab version is 8.2.0.701 (R2013b) and data acquisition toolbox is 3.4. Installed is the 9.8.0 NI-DAQmx driver. We followed the tutorial example on the Matlab web-page for generating output signal. The code established a connection with a device, it creates a session and adds an output channel. Once done, the session is started in foreground but it fails with the following error massage:

 

NI Error -89136:

Specified route cannot be satisfied, because the hardware does not support it.

Property: DAQmx_RefClk_Src

Requested Value: /PXI1Slot2/PXI_CLK10

 

Based on some forums we checked the device route tab in the Automation Explorer and the PXI_CLK10 signal is almost yellow everywhere. It seems like that it expects as a reference clock the PXI_CLK10, but there is no direct route to it. On the other hand there is PXIe_CLK100 which is green.

Question is how via the Matlab session based interface one can set the Reference Clock signal? Or is there another way of solving that error? Maybe some other kind of configuration is needed?

Any tips, leads and solutions are welcomed!

Thank you in advance!

 

cheers,

go9kata

 

P.S.: the same question was added three different times to the Matlab support page, but there was no reply at all

 

http://www.mathworks.de/matlabcentral/answers/107494-acquire-synchronized-data-using-pxie-devices

 

http://www.mathworks.de/matlabcentral/answers/37134-data-acquisition-from-ni-pxie-1062q

 

http://www.mathworks.de/matlabcentral/answers/112626-national-instruments-data-acquisition-software-...

 

 

 

0 Kudos
Message 1 of 6
(6,128 Views)

Hi go9kata,

 

I really like to help you with your project but I need some further informations. What wiring did you make to measure your voltage?

 

How many PXI card did you insert into the chassis? In one of your other posts you talked about syncronization of PXI card. But for me it seems that you are only having one? Perhaps your are starting with the wrong example.

 

I am not familiar with the Matlab Toolbox, but very familiar with the LabVIEW DAQmx API. The steps to do and the names of the functions should be similar. I think you need to choose the right sample clock. Your error message indicated a wrong reference clock which is not necessary to perform your application.

 

Kind Regards,

Vanessa

AE Munich

0 Kudos
Message 2 of 6
(6,090 Views)

Hi, Vans!

 

Thank you for your massage!

Our aim is to generate 3 synchonized TTL signals that will evoke other instruments trigger. 

At the momnet in our NI PXIe-1073 Chassis is using just a single module - NI PXIe-6361 PXI1Slot2.

The links I gave, were not written by members of our group, just examples of similar NI Error in other users. 

We noticed that the error appears only by opening an analog channel for either in/out signal. If we open a digital channel the error is not present.

Can we generate a TTL signal with the DAQmx driver?

Thank you for further guidance!

 

cheers,

georgi

0 Kudos
Message 3 of 6
(6,078 Views)

Hi Georgi,

 

sorry for the misunderstanding of the posts.

 

Of course you can generate a TTL signal using the DAQmx API.

 

It is expected that you need to create a digital channel. The TTL signal changes between high and low. The exact value of the signal is not known. The sequence of boolean values can only be send to a digital output. The analog channel is waiting for numeric values which are not present.

 

How far did you get using a digital channel? Where did you get stuck?

 

Kind Regards

 

 

0 Kudos
Message 4 of 6
(6,049 Views)

Hi, guys!

 

Here how far I got. I use now the niDAQmx C API together with MEX to incorporate it in Matlab. I found out how I can generate a TTL pulse using the clock signal:

 

float64 initialDelay;
float64 lowTime;
float64 highTime;
uInt64 periodsPerTrain;
float64 maxTime = (lowTime+highTime)*periodsPerTrain + 2*initialDelay;

// Configure Pulse
DAQmxErrChk(DAQmxCreateTask("", &taskHandle));
DAQmxErrChk(DAQmxCreateCOPulseChanTime(taskHandle, "PXI1Slot2/ctr0", "", DAQmx_Val_Seconds, DAQmx_Val_Low, initialDelay, lowTime, highTime));

// Configure Pulse Train
DAQmxErrChk(DAQmxCfgImplicitTiming(taskHandle, DAQmx_Val_FiniteSamps, periodsPerTrain));

// Start Train
DAQmxErrChk(DAQmxStartTask(taskHandle));

// Wait for execution
DAQmxErrChk(DAQmxWaitUntilTaskDone(taskHandle, maxTime));

// Clean up
DAQmxStopTask(taskHandle);
DAQmxClearTask(taskHandle);

 My next problem is how to generate more than one Pulse Train and that they are synchronized? What I aim for is on the plot (attached image). 

Further problem is I am using the BNC2111 connector. Which are the physical channels to be used? At the moment /PXI1Slot2/ctr0 goes to PFI12/P2.4 . But If I create more signals how will I redistribute them on the connector?

Any comments and tips are welcomed!

Thank you in advance!

Screen Shot 2014-02-07 at 1.49.05 PM.png

0 Kudos
Message 5 of 6
(5,983 Views)
Solution
Accepted by topic author go9kata

Hello all,

 

the last questions are also here posted and answered:

 

multiple TTL finite pulse trains

 

 

best regards
Alexander
0 Kudos
Message 6 of 6
(5,963 Views)