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  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026  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  <20252026 
<== Date ==> <== Thread ==>

Subject: Re: [EXTERNAL] Support for DBR_INT64 missing in caget/camonitor?
From: "Kasemir, Kay via Tech-talk" <[email protected]>
To: "Heinz Junkes (FHI)" <[email protected]>
Cc: Mark Rivers via Tech-talk <[email protected]>
Date: Thu, 24 Jul 2025 14:11:22 +0000

Depends on the value.

CA sends the data as a double, so you get ~52 bits of information which are then scaled, not all 64 bits.

Note how ‘-f 0’ shows the wrong number, the lower bits in the hex number are basically zeroed.

 

$ pvput large 0x1234567812345678

New : 2025-07-24 10:06:55.607  1311768465173141112 

 

$ pvget large

large 2025-07-24 10:06:55.607  1311768465173141112 

 

$ caget -lx large

large                          0x7FFFFFFF

 

$ caget -f 0 large

large                          1311768465173140992

 

$ python3

>>> hex(1311768465173140992)

'0x1234567812345600'

 

 

 

 

 

On 2025-07-24, 9:55AM, "Heinz Junkes (FHI)" <[email protected]> wrote:

I can also read the value with channel access camonitor/caget with -f 0 shows it correctly ;-)

 

(base) hactar:Db junkes$ camonitor -f 0 PPB:DOOR:WIEGAND:1:_data

PPB:DOOR:WIEGAND:1:_data       2025-07-24 15:52:15.150886 0

PPB:DOOR:WIEGAND:1:_data       2025-07-24 15:52:35.552332 6242213385

PPB:DOOR:WIEGAND:1:_data       2025-07-24 15:53:00.685626 9745890313

 

Heinz

 

> On 24. Jul 2025, at 14:26, Kasemir, Kay <[email protected]> wrote:

>

> For what it’s worth, you can read INT64 with PV Access.

> Doesn’t mean you need to change everything over to PVA. Using CS-Studio, you may keep all your displays in Channel Access, but just for that one PV use “pva://PPB:DOOR::WIEGAND:1:data” to read it via PV Access.

>   On 2025-07-24, 6:01AM, "Tech-talk" <[email protected]> wrote:

> All right, thanks for the clarification. I understand that this is not possible.

> Heinz

>   > On 24. Jul 2025, at 11:46, Dmitry Yu. Bolkhovityanov <[email protected]> wrote:

> > > Hi!

> > > Lack of INT64/UINT64 is not caget/caput/camonitor problem.  These types are missing in the Channel Access protocol and it would be not an easy task to add them.

> > > Look into db_access.h file: there are 8 "basic" DBF_nnn types and a number of DBR_nnn types, of which first 8 are aliases to DBF_nnn, while the rest are 8x DBR_STS_nnn, 8x DBR_TIME_nnn, 8x DBR_GR_nnn, 8x DBR_CTRL_nnn, plus a number of exotic ones, like DBR_STSACK_STRING.

> > > It is hardly possible to extend the CA type nomenclature without breaking compatibility in some way.

> > > > With best regards,

> > Dmitry

> > > > > On Thu, 24 Jul 2025, Heinz Junkes (FHI) via Tech-talk wrote:

> > >> Hi,

> >> >> I have an int64in record and cannot read the decimal value via caget/camonitor.

> >> >> epics> dbpr PPB:DOOR::WIEGAND:1:data,7

> >> ACKS: NO_ALARM      ACKT: YES           ADEL: 0             AFTC: 0

> >> AFVL: 0             ALST: 8591023625    AMSG:               ASG :

> >> ASP : PTR (nil)     BKLNK: ELL 0 [(nil) .. (nil)]           BKPT: 00

> >> DESC: Wiegand w1    DISA: 0             DISP: 0             DISS: NO_ALARM

> >> DISV: 1             DPVT: PTR 0x55a303ba30

> >> DSET: PTR 0x7fb81f00c0                  DTYP: wiegandInt64in

> >> EGU :               EVNT:               FLNK: CONSTANT      HHSV: NO_ALARM

> >> HIGH: 0             HIHI: 0             HOPR: 0             HSV : NO_ALARM

> >> HYST: 0             INP : CONSTANT 1    LALM: 8591023625    LCNT: 0

> >> LLSV: NO_ALARM      LOLO: 0             LOPR: 0             LOW : 0

> >> LSET: PTR 0x55a303b3a0                  LSV : NO_ALARM      MDEL: 0

> >> MLIS: ELL 0 [(nil) .. (nil)]            MLOK: c0 b8 03 a3 55 00 00 00

> >> MLST: 8591023625    NAME: PPB:DOOR::WIEGAND:1:data          NAMSG:

> >> NSEV: NO_ALARM      NSTA: NO_ALARM      OLDSIMM: NO         PACT: 0

> >> PHAS: 0             PINI: YES           PPN : PTR (nil)     PPNR: PTR (nil)

> >> PRIO: LOW           PROC: 0             PUTF: 0

> >> RDES: PTR 0x55a2fdc0a0                  RPRO: 0

> >> RSET: PTR 0x7fb81c0d40                  SCAN: I/O Intr      SDIS: CONSTANT

> >> SDLY: -1            SEVR: NO_ALARM      SIML: CONSTANT      SIMM: NO

> >> SIMPVT: PTR (nil)   SIMS: NO_ALARM      SIOL: CONSTANT

> >> SPVT: PTR 0x55a3042840                  SSCN: 65535         STAT: NO_ALARM

> >> SVAL: 0             TIME: 2025-07-24 10:33:53.999485865     TPRO: 0

> >> TSE : 0             TSEL: CONSTANT      UDF : 0             UDFS: INVALID

> >> UTAG: 0             VAL : 8591023625

> >> >> With caget/camonitor I get the value displayed as float:

> >> >> (base) hactar:~ junkes$ caget PPB:DOOR::WIEGAND:1:data

> >> PPB:DOOR::WIEGAND:1:data       8.59102e+09

> >> (base) hactar:~ junkes$ camonitor PPB:DOOR::WIEGAND:1:data

> >> PPB:DOOR::WIEGAND:1:data       2025-07-24 10:33:53.999486 8.59102e+09

> >> >> >> The attempt to specify the type is not possible:

> >> >> (base) hactar:~ junkes$ caget -d DBR_INT64 PPB:DOOR::WIEGAND:1:data

> >> Requested dbr type out of range or invalid - ignored. ('caget -h' for help.)

> >> PPB:DOOR::WIEGAND:1:data       8.59102e+09

> >> >> Gruss Heinz

 

 

 


References:
Support for DBR_INT64 missing in caget/camonitor? Heinz Junkes (FHI) via Tech-talk
Re: Support for DBR_INT64 missing in caget/camonitor? Dmitry Yu. Bolkhovityanov via Tech-talk
Re: Support for DBR_INT64 missing in caget/camonitor? Heinz Junkes (FHI) via Tech-talk
Re: [EXTERNAL] Re: Support for DBR_INT64 missing in caget/camonitor? Kasemir, Kay via Tech-talk
Re: [EXTERNAL] Support for DBR_INT64 missing in caget/camonitor? Heinz Junkes (FHI) via Tech-talk

Navigate by Date:
Prev: Re: [EXTERNAL] Support for DBR_INT64 missing in caget/camonitor? Heinz Junkes (FHI) via Tech-talk
Next: Thanks for all the fish John Dobbins 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  <20252026 
Navigate by Thread:
Prev: Re: [EXTERNAL] Support for DBR_INT64 missing in caget/camonitor? Heinz Junkes (FHI) via Tech-talk
Next: Compile error for base R7.0.8.1 Jörn Dreyer 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  <20252026 
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·