LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

I want to Host my Shared Variables on a cRIO, but use DSC for Logging/Alarming/SCADA

Solved!
Go to solution

I think you might have to give up on automatic logging via the DSC to accomplish this.  You could setup a permanent rt buffer that can expand and contract as neccesary.  Then use tcpip data transfers which will always read from this buffer to the host were you can perform DSC trace writes.  You will need to capture a timestamp with each datapoint or if you have synchronous data capture then you can transfer blocks of data with a fixed dt and then can write to citadel as a waveform. There are many examples of circular memory or disk buffers or perhaps TDMS vi's might work for this as well.

On the other hand you might be able to beef up your network to provide redundancy so that you can use the DSC logging right out of the box which is sweet.

0 Kudos
Message 11 of 18
(2,494 Views)

Sachsm,

 

So basically have the cRIO's package the data, then send to the server where the package is broken down into individual elements, allowing the DSC module to log/trend/alarm each of those variables on the server side? Thats certainly an option, kind of what I thought might need to happen, since citadel can't run on a cRIO.

 

The reason for doing this wouldn't be so much b/c we expereience network issues (our infrasturcture has been very reliable), but so that process can continue to run if the central server needs to come down for updates. One reason for this would be adding additional cRIOs to the system after it has been implemented (this will be long-term project where cells are brought online 1 by 1). Any thoughts on setting up the server anticipating the addition of future cRIOs?


Thanks for the input.

--------------------------------------------------------------------------------------------------

--CLD--
LV 6.1 to 2015 SP1
0 Kudos
Message 12 of 18
(2,484 Views)

Well another thought is that you might be able to have a local network were your mirrored NSV's are hosted and then from there have a remote citadel connection to your corporate network.

I have not done this, but I understand that the local PC will buffer data if the remote network goes down and will automatically reconnect when available and transfer any buffered data to citadel.

 

http://zone.ni.com/devzone/cda/tut/p/id/6579

 

Check out the section on Networking with Citadel

0 Kudos
Message 13 of 18
(2,479 Views)

Nice article, I will have to read it a few times over. this part caught my interest:

 

"

Citadel Writing API

The DSC Module 8.0 and later include an API for writing data directly to a Citadel trace. This API is useful to perform the following operations:

 

· Implement a data redundancy system for LabVIEW Real-Time targets.

· Record data in a Citadel trace faster than can be achieved with a shared variable.

· Write trace data using custom time stamps.

 

The Citadel writing API inserts trace data point-by-point with either user-specified or server-generated time stamps. You can write numeric, logical, string, bit-array, and variant data using this method. Benchmarks have demonstrated that you can write single-point data to a Citadel trace at approximately 80,000 points per second on a 3Ghz Pentium IV."

 

Am I understanding correctly that you can manually write to the database with the specified time stamp? Would this then allow you to create a "backlog" on the cRIO during network dissconnects, then push all that data into Citadel traces?

--------------------------------------------------------------------------------------------------

--CLD--
LV 6.1 to 2015 SP1
0 Kudos
Message 14 of 18
(2,473 Views)

Yes, that is exactly what it is made to do.

0 Kudos
Message 15 of 18
(2,464 Views)

Sachsm,

 

I'm trying to build the utility you described to "clone and bind to" the shared variable Library on a cRIO and build a mirrored library on the PC side. I've done some searching on the forms but can't seem to find any example. Where do i begin?

--------------------------------------------------------------------------------------------------

--CLD--
LV 6.1 to 2015 SP1
0 Kudos
Message 16 of 18
(1,871 Views)

Here is the basic idea..

 

.Create bound process.PNG

 

0 Kudos
Message 17 of 18
(1,855 Views)

I have video to show this use. I hope it's useful with you!!!

https://www.youtube.com/watch?v=7fCWBPgsvKE

0 Kudos
Message 18 of 18
(1,081 Views)