EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [Fwd: LabView/EPICS]
From: "Dale L. Brewe" <[email protected]>
To: Brian Tieman <[email protected]>, Ned Arnold <[email protected]>
Cc: APS tech-talk <[email protected]>
Date: Mon, 08 Mar 2004 11:36:22 -0600


At 10:26 AM 3/8/2004, Brian Tieman wrote:
Ned,

I've been using the Active-X implementation for a month or two now. It feels more like the Portable Server in that it's easy to create a PV and have it served without the complications of supporting a full record--which is a good thing! Since most of what I use LabView for is quick and dirty, I would be happy with this type of interface as opposed to full record support.

The biggest problem I have with this Active-X interface and LabView is that CA calls queue up. There's no support for anything like threads or even events. The created PV must be in a loop and checked periodically to see if a client requests a change. Also, once a change has been detected and the LabView process starts doing its thing, any subsequent client requests are ignored until the first request is completed. The client requests seem to be queued in some manner--which can be a real problem.

I haven't used the ActiveX interface to epics, but there are events, which are called occurences, and threads available in LabVIEW itself. It's pretty straightforward to set up a parallel structure in a vi that sits and waits for events from other areas of the diagram, or to launch a vi that sits and waits for events from other vis. There are also semaphores, queues, and some other types of synchronization. There is also support for threads, but not very flexible. There are about 5 threads to which vis can be assigned ahead of time. Within each thread LabVIEW does cooperative multitasking, to which there are limitations (for example I think any called dll takes over its thread until it's finished).


I've used the LabVIEW "datasocket" server, which I think is based on activeX. Basically I have a small server application that launches a few subvis executing in separate threads and waiting for new values in some datasocket items, which are passed off to queues in other subvis that handle the input. This is a pretty small scale server.
dale brewe



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dale L. Brewe PNC-CAT/U. of Washington
ph: 630 252 0582 fax: 630 252 0580
Mail:
Argonne National Laboratory
Bldg 435E sector 20
9700 S. Cass Ave.
Argonne, IL 60439
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



References:
[Fwd: LabView/EPICS] Ned Arnold
Re: [Fwd: LabView/EPICS] Brian Tieman

Navigate by Date:
Prev: RE: [Fwd: LabView/EPICS] Liyu, Andrei
Next: RE: [Fwd: LabView/EPICS] Chestnut, Ronald P.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: [Fwd: LabView/EPICS] Kay-Uwe Kasemir
Next: Re: [Fwd: LabView/EPICS] W T Meyer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·