08-07-2019 02:26 PM
I have a computer connected to an ethernet cDAQ. The computer runs an NI Citadel database, which I'm not very familiar with. It seems that the Citadel database gets data from the cDAQ via network-published shared variables.
I need to know if it is possible to connect another PC to the network, and call NI DAQmx drivers to acquire data from the cDAQ without interrupting the NI Citadel database.
Solved! Go to Solution.
08-09-2019 03:43 PM - last edited on 01-08-2024 11:12 AM by migration-bot
Hi sdusing,
Citadel is a database that comes with the LabVIEW Datalogging and Supervisory Control (DSC) Module. The DSC Module allows you to setup automatic logging of shared variable value changes. I'm guessing that this cDAQ is setup up similar to what is explained in this tutorial. Basically, LabVIEW shared variables can be bound to DAQmx channelss, and then the DSC Module logs the shared variable data to citadel. The DAQmx channel can either be a channel created in a LabVIEW project or a Global Virtual Channel created in NI MAX.
Unfortunately, if a deployed network-published shared variable is bound to a DAQmx task, that task is going to have the specific resource (the entire cDAQ module) reserved and you won't be able to access it using the DAQmx API. If you try to access it while the bound task is running, you will get error -50103:
To interact with the cDAQ using DAQmx, you will need to delete the Global Virtual Channel in NI MAX or undeploy the shared variable library containing the variables bound to the DAQmx channels.
-Jordan
08-09-2019 04:16 PM
What a complete answer. Thank you.