LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Use of the functional safety modules (NI-9350, NI-9351) with C real-time API

Hi,

 

as I understand, NI functional safety modules (NI-9350 and NI-9351) can be controlled only with the LabView Scan Interface. Can that be done from the FPGA LabView? Our project is using C-API to communicate with the LabView FPGA code, and we would like to replace a common DIO module for safety rated module.

 

I understand I can setup safety state machines in the NI Functional Safety Editor. I would like to see if that's somehow possible to control the safety state machine from realtime C-API application running on cRIO.

0 Kudos
Message 1 of 3
(415 Views)

@lsstpkubanek

To be able to use NI-9350 or NI-9351 in Scan Interface, cRIO chassis with RT Controller would be needed.

From LabVIEW Project add your Target to the project then select required 'Execution Mode' (in this case - 'Scan Interface') for the target by right click on the FPGA chassis seen in the project.

0 Kudos
Message 2 of 3
(151 Views)

You will get an error when you try to load FPGA with the Scan interface and safety module(s) via CAPI functions. You can CAPI load FPGA bitfiles originating from the same LabVIEW project with safety module(s) deleted from the project. That clearly shows any CAPI integration is impossible - as you cannot load a bitfile with any Scan interface reference.

 

This makes sense, as safety testing C code will be much more difficult than testing (a bit limited in what can go wrong) the LabVIEW code.

 

What will work will be a hybrid approach, where you will keep some interface parts in LabVIEW, and use some LabVIEW <-> C interface (sockets (TCP, UDP), ..). You cannot use CAPI to interface with non-FPGA code (as capigen needs an FPGA bitfile to create the C headers).

0 Kudos
Message 3 of 3
(131 Views)