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:01 AM, "Tech-talk" <[email protected]> wrote:
All right, thanks for the clarification. I understand that this is not possible.
> 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.
> On Thu, 24 Jul 2025, Heinz Junkes (FHI) via Tech-talk wrote:
>> 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