EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Native NI LabVIEW/EPICS integration
From: Mark Rivers <[email protected]>
To: "'Luca Cavalli'" <[email protected]>, "[email protected]" <[email protected]>
Date: Thu, 10 Nov 2016 17:35:09 +0000
Hi Luca,

Note that you don't need to use asynDriver to implement the ideas in the database I sent you.  If you have an input record from LabView and an output record to LabView that is all that is required to implement the logic in that database.  My input record (FileNumber_RBV) happened to use an asynDriver and SCAN=I/O Intr, but neither of those is required.  It could be SCAN="1 second" for example and some other driver/device support.  Same thing holds for the FileNumber_write output record.  It does not need to use asynDriver.

Mark


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Luca Cavalli
Sent: Thursday, November 10, 2016 10:54 AM
To: [email protected]
Subject: Re: Native NI LabVIEW/EPICS integration

Mark,

I love you!

Never used asynDriver, but I'm reading the documentation right now from
http://www.aps.anl.gov/epics/modules/soft/asyn/R4-30/asynDriver.html

I will come back to the ML in case of problems.


Thanks,

Luca
On gio, 2016-11-10 at 14:56 +0000, Mark Rivers wrote:
> Hi Luca,
>
> Here is a database idiom that can be used for that:
>
> For write you write to the FileNumber PV.  It does the actual I/O through
> FileNumber_write.
>
> When LabView updates the value FileNumber_RBV is changed.  That will update
> FileNumber without processing FileNumber_write again.
>
> ************************************************
> record(longout, "$(P)$(R)FileNumber")
> {
>     field(PINI, "YES")
>     field(OUT, "$(P)$(R)FileNumber_write PP")
>     field(VAL, "1")
> }
>
> record(longout, "$(P)$(R)FileNumber_write")
> {
>     field(SDIS, "$(P)$(R)FileNumber_Sync.PACT")
>     field(DISV, "1")
>     field(DTYP, "asynInt32")
>     field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FILE_NUMBER")
> }
>
> record(longin, "$(P)$(R)FileNumber_RBV")
> {
>     field(DTYP, "asynInt32")
>     field(INP,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))FILE_NUMBER")
>     field(SCAN, "I/O Intr")
>     field(FLNK, "$(P)$(R)FileNumber_Sync")
> }
>
> record(longout, "$(P)$(R)FileNumber_Sync")
> {
>     field(DOL,  "$(P)$(R)FileNumber_RBV NPP")
>     field(OMSL, "closed_loop")
>     field(OUT,  "$(P)$(R)FileNumber PP")
> }
> ************************************************
>
> Mark
>
>
>
> ________________________________________
> From: [email protected] [[email protected]] on behalf
> of Luca Cavalli [[email protected]]
> Sent: Thursday, November 10, 2016 8:38 AM
> To: [email protected]
> Subject: Native NI LabVIEW/EPICS integration
>
> Dear all,
>
> I have to control a NI PXI device.
> The software is written in LabVIEW using native NI LabVIEW/EPICS
> interface,unfortunately it seems to only support a subset of PV properties (no
> EGU, limits etc.).
>
> My idea is to write a tiny IOC that maps the "raw" LabView variable (e.g.
> PV_NAME_RAW) to a complete EPICS PV (e.g. PV_NAME) with precision, EGU, alarms
> and limits.
>
> [My IOC] <--PV_NAME--> [LV Mapper IOC] <--PV_NAME_RAW--> [NI PXI]
>
> The problem is that my PV must be both readable and writable at the same time.
> I.e. when I write the PV_NAME variable I want also the PV_NAME_RAW variable to
> be updated, and when LabVIEW modifies PV_NAME_RAW value I want PV_NAME to
> reflect the change.
> How can I define my db in LV Mapper IOC? I'm a bit lost, shall I use an input
> record or output record?
>
> So far I only achieved single direction control (either input or output, not
> both at the same time).
>
> Thanks for your help.
>
> Luca
>
>
> ________________________________
>
> << Le informazioni contenute in questo messaggio di posta elettronica e
> relativi allegati sono riservate e confidenziali e ne è vietata la diffusione
> in qualunque modo eseguita. Qualora Lei non fosse la persona a cui il presente
> messaggio è destinato, La invitiamo ad eliminarlo e a darcene gentile
> comunicazione. Quanto precede ai fini del rispetto delle Legge 675/96 e del
> Decreto Legislativo 30/06/2003 n.196, sulla tutela dei dati personali >>
>
> << This e-mail is confidential and may well also be legally privileged. If you
> have received it in error, you are on notice of its status. Please notify us
> immediately by reply e-mail and then delete this message from your system.
> Please do not copy it or use it for any purposes, or disclose its contents to
> any other person: to do so could be a breach of confidence. Thank you for your
> co-operation. Please contact our IT Helpdesk on +3902380481 or email it@cgspac
> e.it if you need assistance >>
>


________________________________

<< Le informazioni contenute in questo messaggio di posta elettronica e relativi allegati sono riservate e confidenziali e ne è vietata la diffusione in qualunque modo eseguita. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo e a darcene gentile comunicazione. Quanto precede ai fini del rispetto delle Legge 675/96 e del Decreto Legislativo 30/06/2003 n.196, sulla tutela dei dati personali >>

<< This e-mail is confidential and may well also be legally privileged. If you have received it in error, you are on notice of its status. Please notify us immediately by reply e-mail and then delete this message from your system. Please do not copy it or use it for any purposes, or disclose its contents to any other person: to do so could be a breach of confidence. Thank you for your co-operation. Please contact our IT Helpdesk on +3902380481 or email [email protected] if you need assistance >>




Replies:
Re: Native NI LabVIEW/EPICS integration Luca Cavalli
References:
Native NI LabVIEW/EPICS integration Luca Cavalli
RE: Native NI LabVIEW/EPICS integration Mark Rivers
Re: Native NI LabVIEW/EPICS integration Luca Cavalli

Navigate by Date:
Prev: RE: Opinion on timing system for synchrotron beamlines isa.uzun
Next: StreamDevice/AsynIPPort question Michael Westfall
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Native NI LabVIEW/EPICS integration Luca Cavalli
Next: Re: Native NI LabVIEW/EPICS integration Luca Cavalli
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 11 Nov 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·