LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error in running an EPICS server on cRIO

I am trying to deploy an EPICS server running on a cRIO 9074 real time controller with scan interface. using Labview 2013, but cannot get a PV to read or write from any machine.

 

I have followed the following to create an EPICS server, deployed it to the 9074 : https://decibel.ni.com/content/docs/DOC-22825 but when I try to access the EPICS PVs I get an error :

 

 

When I try to explore the distributed system manager, I can see :

 

distsysman.png

 

I have tried creating bound variables as well with the same result.

 

I have done this before successfully using an older version of labview, but no longer have access to that version. 

 

Any ideas?

 

Thanks,

 

Pete

0 Kudos
Message 1 of 6
(3,394 Views)

And just to add a few things,

 

network variables are network published, no aliasing, no buffering, enabled RT FIFO, single element.

 

The same server / variable combination works fine when deployed on a normal windows PC. 

 

I have tried accessing the PV from a few different systems (Scientific linux, windows, another cRIO system)  all fail to read or write to the PV

0 Kudos
Message 2 of 6
(3,383 Views)

Hi. Since EPICS runs on the shared variable engine, there could be a potential issue with your firewall. 

http://zone.ni.com/reference/en-XX/help/371361J-01/lvhowto/psp_firewall/

Also, what error are you getting? It'll be easier to debug the problem if I have that information.

 

Thank you.

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

Hi Nigel,

 

I've actually (half) solved the problem, by abandoning the menu driven creation of the EPICS server within the project window, and creating the EPICS server programatically within the startup VI on the cRIO.  Firewall is fine, and all PVs read and write when done programatically.

 

I still cant get it to work through the menu driven project method as per the tutorial. 

 

Ive tried this on 2 different cRIO9074 devices, and 2 different PCs  All I see in the distriduted system manager is "process failure" when i do a caget i get :

 

CA.Client.Exception...............................................
Warning: "Channel read request failed"
Context: "op=0, channel=STATUS, type=DBR_TIME_STRING, count=1, ctx="read failed""
Source File: ..\getCopy.cpp line 92
Current Time: Mon Aug 18 2014 12:33:41.405134621
..................................................................
Read operation timed out: some PV data was not read.
STATUS

 

If I have the same server running on a PC it is fine, it is only when it is moved onto the real time target.

 

Strange!

0 Kudos
Message 4 of 6
(3,326 Views)

Hi,

 

If you have managed to get it working before on an older version of LabVIEW, the software on the cDAQ might be outdated. You can go into NI MAX > Remote Systems > "Your Device" > Software > Add/Remove Software. Ensure that when you do this, install software which is the same version as your version of LabVIEW.

 

Please keep me informed if this works.

 

Thank you.

0 Kudos
Message 5 of 6
(3,296 Views)

Thanks Nigel, 

 

Ive tried this, with the same result. 

 

Ive given up on using the menu driven method.  The programatic way of generating the server and PVs is actually less effort for me now I know how to do it, as I have a small loop which automatically generates PVs from my shared variable library!

 

Thanks anyway.

 

Pete

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