LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Interfacing cRIO (scan) with SVE to DSC and HMI

Hi Folks,

 

I'm going to keep this question very basic for now - please let me know if you need clarification! (I had it all spelled out, but it simply complicated things).

 

The final goal of my project is to :

 

1 - From HMI (PC), define script ('recipe') and cRIO AIN channel properties (user-defined "name", scaling, log/don't log, etc)

2 - Download this script to my cRIO for execution

3 - cRIO executes, and logs to DSC, display/monitor on HMI

4 - HMI can still control (halt, pause, etc), but if disconnected, cRIO chugs away.

5 - HMI "seamlessly" can re-connect, regain recipe status, etc.

6 - This will be multi-site, so *eventually*, the idea is to use de-centralized HMI PCs to initiate/execute script, and "walk away", disconnect, potentially check in later from another HMI.

 

Now, in getting there, there are a few roll-out stages I need to meet first:

 

(I) I will initially be controlling / executing the script *entirely* from the HMI PC. Nothing at all embedded on cRIO. Logging locally to TDMS.

(II) Script will be off-loaded to cRIO for execution. HMI for display/logging/monitoring

(III) Addition of DSC server for logging.

 

I would like to maintain a high level of abstraction between the analog input cards, physically, and the test script - ideally, allowing the user to 'browse', select the cRIO slot, and channel, configure scaling, to log, etc. What is the best approach for this? I have used PSP URL's and OPC Client Read VI's in the past, but now with the addition of DSC, perhaps this is not the best approach(?)

 

I'm still a little confused on how the Scan Engine (which can network publish), the SVE, IO variables and Aliases (on PC) and DSC/OPC are all related, and how they're all intended to work together.  Especially when you consider the user may not want to monitor/log every single channel, from every single cRIO card.

 

Any thoughts would be greatly appreciated. I spoke with NI, but everyone seems to be focused on the FPGA side of cRIO (understandably). I can't find any update info on integration of cRIO and DSC.

 

Here are some pages I found useful, but I could use some 1st hand 'real world' thoughts. 🙂

 

Programmatic Discovery, Configuration, and Access of CompactRIO Scan Mode I/O with LabVIEW

 

Using NI CompactRIO Scan Mode with NI LabVIEW Software

 

Recommended Practices for Using the LabVIEW I/O Variable and NI Scan Engine

 

Thanks kindly,

Jamie

2011 w/RT, DSC, cRIO
0 Kudos
Message 1 of 4
(2,639 Views)

At the risk of answering my own questions, here's an interesting KB article:

 

Do NI Scan Engine I/O Variables Use the Shared Variable Engine When Network Published?

 

While Network Published I/O Variables (via scane engine) do not utilize the SVE (good thing), they don't support DSC functions (bad for me).

 

SO, it looks like I'm forced to host the SVE on the cRIO, and publish via SVE to DSC and HMI.

 

In the case of the HMI indicators, that means no change is neccessary once I switch from HMI recipe control to cRIO control - they will both be reading from SVE published values.

 

Thoughts?

 

Anyone utilized this TCP 'command based architecture' I see on NI's site?

 

 

 

 

2011 w/RT, DSC, cRIO
Message 2 of 4
(2,631 Views)

I have crossed this bridge before....

 

You can check out one solution that maybe give you some ideas at www.viscience.com.

Go to the Portfolio section and you will find a link to a cRIO SCADA Reference Design

I am still working on the documentation but could send you some additional notes if you are interested.

Message 3 of 4
(2,620 Views)

Hi -

 

Thank you for the response - I watched the HDS presentation, very nice work!

 

I'm just now taking a look at the reference design - I'll post back as soon as I finish digesting. 🙂

 

Best,

Jamie

2011 w/RT, DSC, cRIO
0 Kudos
Message 4 of 4
(2,599 Views)