EPICS Home

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  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Re: [EXTERNAL] Some questions about CaLab
From: Dariush Hampai via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Date: Fri, 20 Jun 2025 22:07:07 +0200

Hi Kay,
thank you for you reply...
for the first question you are partially right... CaLab get.vi has the possibility to choose the field (or a set of field as I can send an array of fields...): is there a possibility to choose the field also iwith CaLab put.vi? The problem is that in memory SoftIOC.exe stores, using CaLab put.vi, two different records, while the record is always the same (with different fields).

for the second question... and now? how can I resolve my problem? any idea?

Dariush

Il 20/06/2025 20:47, Kasemir, Kay ha scritto:

Hi:

 

> newport IOC includes some records of the type
> mm4006:m11.HOMF
> mm4006:m11.MOVN

 

It’s different.

There are records with fields, and channels with properties.

 

A record X might have fields like VAL, EGU, PREC, SEVR, STAT, TIME, …

A channel has properties value, units, precision severity, status, time stamp, …

 

When you have a channel “X”, it connects to a record of the name “X”.

The value property of the channel is set from the VAL field of the record, units from EGU, precision from PREC, severity from SEVR, …

 

This separation of records/fields from channels/properties was an early EPICS design decision.

It allows you to have a channel that looks the same no matter if the record is an AI, AO, CALC, LONGIN, … record.

In fact the record type could change between AI and CALC, the client doesn’t need to care.

 

In principle, each field of a record could become a channel.

Just “X” is really the same as “X.VAL”.

“X.SCAN” will get you a channel where the value is set from the SCAN field of the record, the value range is “0-Passive, …” for the scan options. How the properties of the channel are mapped to the fields of the record depend on internals of the record.

 

In your example, “mm4006:m11” is the record. If you create a channel for mm4006:m11”, you get VAL, the desired motor position. You could also use “mm4006:m11.VAL” to make that explicit.

“mm4006:m11.RBV” would get the current motor position.

mm4006:m11.HOMF” is some value related to homing, I think.

 

Ø  if I put (for example) mm4006:m11.HOMF and mm4006:m11.MOVN as PV I find two distinct 
PVs...

 

Yes, and it’s perfectly fine to have multiple channels for various fields of a motor record.

 

 

> if I stop the IOCs, .. CaLab info.vi .. give me the last values read

 

That’s a bug in CaLab, it seems. Channel Access does give you a “disconnected” status as you can check via the “camonitor” command line tool.

 

-Kay

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Dariush Hampai via Tech-talk <tech-talk at aps.anl.gov>
Date: Friday, June 20, 2025 at 2:12
PM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: [EXTERNAL] Some questions about CaLab

Hi all, I have some problems with CaLab, necessary to integrate epics with a LabView interface. In particular now I have two big problems: 1) i don't understand how to use multiple field in the same CA. For example, my newport IOC includes some

Hi all,
I have some problems with CaLab, necessary to integrate epics with a 
LabView interface. In particular now I have two big problems:
1) i don't understand how to use multiple field in the same CA. For 
example, my newport IOC includes some records of the type
mm4006:m11.HOMF
mm4006:m11.MOVN
etc...
CaLab Put.vi does not include the field. What do I do? if I put (for 
example) mm4006:m11.HOMF and mm4006:m11.MOVN as PV I find two distinct 
PVs...
2) I am trying to generate a monitor of the various IOCs. When starting 
LabView there is no PV (via CaLab info.vi). If I start the IOCs I see 
the PVs. However if I stop the IOCs, via command prompt (caget etc...) I 
do not see (obviously) the active CA, while via CaLab info.vi the CA are 
still active and give me the last values read. Even after a reset of PV, 
using CaLab_Disconnect.vi, I still see the active CAs with the last 
value read. Where am I going wrong?
 
Dariush
 
-- 
************************************
 
Dr. Dariush Hampai, PhD
 
INFN - LNF
X-Lab Frascati
Via E. Fermi, 54 (ex 40)
I-00044 Frascati (RM)
Italy
 
Mail Address:
XLab-Frascati
LNF-INFN
Casella Postale 13
Frascati (RM)
Italy
 
Room:    +39.06.9403.5248
Lab.:      +39.06.9403.2286
Mob.:     +39.06.9403.8025
Fax.:      +39.06.9403.2597
 
************************************
 
 
-- 
************************************

Dr. Dariush Hampai, PhD

INFN - LNF
X-Lab Frascati
Via E. Fermi, 54 (ex 40)
I-00044 Frascati (RM)
Italy

Mail Address:
XLab-Frascati
LNF-INFN
Casella Postale 13
Frascati (RM)
Italy

Room:	+39.06.9403.5248
Lab.:	+39.06.9403.2286
Mob.:	+39.06.9403.8025
Fax.:	+39.06.9403.2597

************************************

References:
Some questions about CaLab Dariush Hampai via Tech-talk

Navigate by Date:
Prev: RE: Problem with Newport CONEX-AGAP FTDI device on Linux Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: Some questions about CaLab Dariush Hampai via Tech-talk
Next: Problem with Newport CONEX-AGAP FTDI device on Linux Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025