LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

EPICS-Labview communication

Hi Andrei,

Can you give a short description of the steps needed to implement the shared memory option?

Steven

Message 21 of 41
(9,405 Views)

Sorry.

Wait a little or send another e-mail to Wim. There is some problem with ORNL license and Wim don't want to put with public access.

Other couple options can be

- If you have contact with SNS control group you can ask to pull out the library from CVS (I put there)

- you can ask on Epics forum in ANL. Some people use it.

 

I can look at home but I am not sure that I have it 😞

0 Kudos
Message 22 of 41
(9,399 Views)

Actually, mechanism is IOC + client that put data to IOC. People don't loke to use standard approach through CA (=network) because it can be slower with huge arrays. So Shared memory is combination of 3 parts

- special area in system Windows memory (I suppose that gave "shared memory" name). It has subarea per PV.

- library that provide interface to special area

- modified standard Epics IOC. It has new record types that contact with shared memory by the library

When LabVIEW program starts it launches modified IOC. Of course, programmer should prepare PV list for IOC. IOC creates "shared memory" in Windows system memory. After that LabVIEW can use library and get/put data to shared memory. Also the library has  set of function to sent event between IOC and library object in LabVIEW (or another) program.

There was one problem (maybe has fixed). It was very complicated from LabVIEW to subscribe to event that come from IOC.

0 Kudos
Message 23 of 41
(9,393 Views)
hello,

I'm working with labview 8.5b dsc to connect to an epics ioc server (an example from base package)
Laview is running on windows xp, and when episc server is on the same machine everything goes fine, i can access all the pv-s i need.
The problem appears when i run epics on other machine with linux. Both of them are in same net, but labiew doesn't seem to connect to pv-s, i get the following error on the vi screen:
"Bad quality for: \\my computer\my lib\variable", but using windows command shell i can get/put the pv-s that are running on linux.
I have followed the steps given in this forum before but i don't know what is missing in my labview project, must i configure something special in labview to get the channel-access information available?
Many thanks in advance
Mikel Eguiraun
0 Kudos
Message 24 of 41
(9,361 Views)
Hi,

I had a similar problem when connecting the first time.
 
The final trick was to delete these entries in the list of environment variables:

EPICS_CA_AUTO_ADDR_LIST

EPICS_CA_ADDR_LIST

Also check the firewall settings. You should add the epics channel access ports
epics-tcp port 5064 for tcp access
epics-udp port 5064 for udp access

Steven



0 Kudos
Message 25 of 41
(9,357 Views)
hello,

thanks for your quick answer,
i have done what you said but i still have the same situation,
Also i notice something strange when i do "cainfo rootHost:aiExample", i get the hostname of the machine running windows, not the ip address of the machine running epics.
i am new to labview and maybe i am missing something important, any suggestion?
thankyou
Mikel

0 Kudos
Message 26 of 41
(9,349 Views)
hello again,

i am not sure why, but now it runs. many thanks for your help
Mikel
0 Kudos
Message 27 of 41
(9,351 Views)

>> i get the hostname of the machine running windows, not the ip address of the machine running epics

That is bug in Epics I saw it myself from 3.14.0.1 up to 3.14.7 🙂  Epics core promised to fix it but I don't know 3.14.8 and 3.14.9 .

Epics cite is http://www.aps.anl.gov/epics/

Sometimes you can find useful information in tech-talk (forum) http://www.aps.anl.gov/epics/tech-talk/index.php

Ops ... I asked myself when wrote CA debug client with Qt graphic library http://www.aps.anl.gov/epics/tech-talk/2005/msg00959.php 🙂

0 Kudos
Message 28 of 41
(9,344 Views)
hello,

I'm working with an epics server which publlishes information from an oscilloscope (asynRecord module), I can read every field from labview (8.5b dsc) except one (BINP ) which contains a large amount of points (2500) taken from scopes' screen. I get the following warning:

"Warning -1950679034 occurred at Shared Variable Read in server.vi

Possible reason(s):

LabVIEW:  (Hex 0x8BBB0006) The shared variable has no value.

This warning occurred while reading \\My Computer\server\Variable1 (\\192.168.0.5\server\Variable1)"

But from the command line i am able to read those points.
Has anybody have any suggestion to fix this problem?

many thanks
Mikel
0 Kudos
Message 29 of 41
(8,073 Views)
hi
 
anyone know if in Labview 8.5 is possible to create a IOC?
I know that with dsc is possible to use ChannelAcces and retrive PVs from network, but can I create my IOC, my PVs set ?
 
thanks
0 Kudos
Message 30 of 41
(5,602 Views)