I have a question about bitSets.
I use the example program from exampleCPP get.cpp
with the code fragment
PvaClientGetDataPtr data = pvaClientGet->getData();
BitSetPtr bitSet = data->getChangedBitSet();
Cardinality is "1" although obviously nothing changes.
Bit #0 is set “structure”.
Now to my question. Is bitSet set by the server?
And then I don't understand that either (from the documentation).
"Only fields that change are transmitted.
Only the data for fields that change value between requests are sent.”
in the pvaGet I only request “value”.
The PV I am looking at is a classic V3 PV (ca) and on my server runs pvAccess-Server (qsrv).
ioc:
dbpr CRYAFM:AWG0:DDSA:SetDDSFreq,4
ACKS: NO_ALARM ACKT: YES ADEL: 0 ALST: 123456
AOFF: 0 ASG: ASLO: 0 ASP: 0x0
BKLNK: 00 00 00 00 00 00 00 00 00 00 00 00 BKPT: 00
DESC: Frequency DDS DDSA: DISA: 0 DISP: 0
DISS: NO_ALARM DISV: 1 DOL:CONSTANT DPVT: 0x19df880
DRVH: 0 DRVL: 0 DSET: 0x4fb724 DTYP: asynFloat64
EGU: Hz EGUF: 0 EGUL: 0 EOFF: 0
ESLO: 1 EVNT: FLNK:CONSTANT 0 HHSV: NO_ALARM
HIGH: 0 HIHI: 0 HOPR: 0 HSV: NO_ALARM
HYST: 0 INIT: 0 IVOA: Continue normally
IVOV: 0 LALM: 123456 LBRK: 0 LCNT: 0
LINR: NO CONVERSION LLSV: NO_ALARM LOLO: 0 LOPR: 0
LOW: 0 LSET: 0x1942808 LSV: NO_ALARM MDEL: 0
MLIS: 00 00 00 00 00 00 00 00 00 00 00 00 MLOK: 01 94 e7 40
MLST: 123456 NAME: CRYAFM:AWG0:DDSA:SetDDSFreq NSEV: NO_ALARM
NSTA: NO_ALARM OIF: Full OLDSIMM: NO OMOD: 0
OMSL: supervisory ORAW: 123456 ORBV: 0 OROC: 0
OUT:INST_IO @asyn(awg0, 0)DDS Frequency OVAL: 123456 PACT: 0
PBRK: 0x0 PHAS: 0 PINI: NO PPN: 0x0
PPNR: 0x0 PREC: 3 PRIO: LOW PROC: 0
PUTF: 0 PVAL: 123456 RBV: 0 RDES: 0xcdc5d0
ROFF: 0 RPRO: 0 RSET: 0x4fbac8 RVAL: 123456
SCAN: Passive SDIS:CONSTANT SDLY: -1 SEVR: NO_ALARM
SIML:CONSTANT SIMM: NO SIMPVT: 0x0 SIMS: NO_ALARM
SIOL:CONSTANT SPVT: 0x0 SSCN: <nil> STAT: NO_ALARM
TIME: 2018-08-14 08:51:37.697697041 TPRO: 0 TSE: 0
TSEL:CONSTANT UDF: 0 UDFS: INVALID VAL: 123456
humma-kavula:examples junkes$ cainfo CRYAFM:AWG0:DDSA:SetDDSFreq
CRYAFM:AWG0:DDSA:SetDDSFreq
State: connected
Host: cry-test.rz-berlin.mpg.de:5064
Access: read, write
Native data type: DBF_DOUBLE
Request type: DBR_DOUBLE
Element count: 1
humma-kavula:examples junkes$ pvinfo CRYAFM:AWG0:DDSA:SetDDSFreq
CHANNEL : CRYAFM:AWG0:DDSA:SetDDSFreq
STATE : CONNECTED
ADDRESS : 141.14.128.53:5075
epics:nt/NTScalar:1.0
double value
alarm_t alarm
int severity
int status
string message
time_t timeStamp
long secondsPastEpoch
int nanoseconds
int userTag
display_t display
double limitLow
double limitHigh
string description
string format
string units
control_t control
double limitLow
double limitHigh
double minStep
valueAlarm_t valueAlarm
boolean active
double lowAlarmLimit
double lowWarningLimit
double highWarningLimit
double highAlarmLimit
int lowAlarmSeverity
int lowWarningSeverity
int highWarningSeverity
int highAlarmSeverity
double hysteresis
get, nothing is changing ???
code fragment:
void get()
{
if(!channelConnected) {
cout << channelName << " channel not connected\n";
return;
}
if(!getConnected) {
cout << channelName << " channelGet not connected\n";
return;
}
pvaClientGet->get();
PvaClientGetDataPtr data = pvaClientGet->getData();
BitSetPtr bitSet = data->getChangedBitSet();
cout << "bitset Cardinality : " << bitSet->cardinality() << endl;
if(bitSet->cardinality()>0) {
cout << "changed " << channelName << endl;
data->showChanged(cout);
cout << "bitSet " << *bitSet << endl;
}
}
output:
channelGetConnect CRYAFM:AWG0:DDSA:SetDDSFreq status Status [type=OK]
channelGetDone CRYAFM:AWG0:DDSA:SetDDSFreq status Status [type=OK]
bitset Cardinality : 1
changed CRYAFM:AWG0:DDSA:SetDDSFreq
= epics:nt/NTScalar:1.0
double value 123456
alarm_t alarm
int severity 0
int status 0
string message NO_ALARM
time_t timeStamp
long secondsPastEpoch 1534254697
int nanoseconds 697697041
int userTag 0
display_t display
double limitLow 0
double limitHigh 0
string description Frequency DDS DDSA:
string format
string units Hz
control_t control
double limitLow 0
double limitHigh 0
double minStep 0
valueAlarm_t valueAlarm
boolean active false
double lowAlarmLimit nan
double lowWarningLimit nan
double highWarningLimit nan
double highAlarmLimit nan
int lowAlarmSeverity 0
int lowWarningSeverity 0
int highWarningSeverity 0
int highAlarmSeverity 0
double hysteresis 0
bitSet {0}
channelGetDone CRYAFM:AWG0:DDSA:SetDDSFreq status Status [type=OK]
bitset Cardinality : 1
changed CRYAFM:AWG0:DDSA:SetDDSFreq
= epics:nt/NTScalar:1.0
double value 123456
alarm_t alarm
int severity 0
int status 0
string message NO_ALARM
time_t timeStamp
long secondsPastEpoch 1534254697
int nanoseconds 697697041
int userTag 0
display_t display
double limitLow 0
double limitHigh 0
string description Frequency DDS DDSA:
string format
string units Hz
control_t control
double limitLow 0
double limitHigh 0
double minStep 0
valueAlarm_t valueAlarm
boolean active false
double lowAlarmLimit nan
double lowWarningLimit nan
double highWarningLimit nan
double highAlarmLimit nan
int lowAlarmSeverity 0
int lowWarningSeverity 0
int highWarningSeverity 0
int highAlarmSeverity 0
double hysteresis 0
bitSet {0}
----------------------------------------------------------------------
Das FHI verarbeitet, speichert und loescht Daten im Rahmen seiner
Geschaeftstaetigkeit gemaess der Datenschutz-Grundverordnung (DSGVO)
[General Data Protection Regulation (GDPR)] der Europaeischen Union.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
- Replies:
- Re: bitSets and PVStructure Michael Davidsaver
- Re: bitSets and PVStructure Marty Kraimer
- Navigate by Date:
- Prev:
Re: Parse a variable-length, multi-column waveform in stream device Mooney, Tim M.
- Next:
Re: bitSets and PVStructure Michael Davidsaver
- 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
- Navigate by Thread:
- Prev:
Re: Inverting control inputs on SIS3280? Mark Rivers
- Next:
Re: bitSets and PVStructure Michael Davidsaver
- 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
|