Page History
...
EPICS (Experimental Physics and Industrial Control System) is used for hardware control and readout of hardware status, values etc. These are called process variables (PV). pdsdata Pdsdata contains a package that holds the epics classes needed to read the process variables from the xtc file. This is not even a complete documentation of these classes, as it would be unneccesarily detailed. Here we aim just to include the main ingredients and what the user need to know to extract the data.
Class EpicsPvHeader
...
The following classes, typedefs and variables are part of Epics namespace:
Classes
Code Block |
---|
struct epicsTimeStamp struct dbr_time_string struct dbr_time_short struct dbr_time_float struct dbr_time_enum struct dbr_time_char struct dbr_time_long struct dbr_time_double struct dbr_sts_string struct dbr_ctrl_int struct dbr_ctrl_short struct dbr_ctrl_float struct dbr_ctrl_enum struct dbr_ctrl_char struct dbr_ctrl_long struct dbr_ctrl_double |
Typedefs
Code Block |
---|
typedef char epicsInt8 typedef unsigned char epicsUInt8 typedef short epicsInt16 typedef unsigned short epicsUInt16 typedef epicsUInt16 epicsEnum16 typedef int epicsInt32 typedef unsigned epicsUInt32 typedef float epicsFloat32 typedef double epicsFloat64 typedef unsigned long epicsIndex typedef epicsInt32 epicsStatus typedef char epicsOldString [MAX_STRING_SIZE] typedef Pds::Epics::epicsTimeStamp epicsTimeStamp typedef epicsOldString EpicsPvHeader( short int iPvId1, short int iDbrType1, short int iNumElements1 ) : iPvId(iPvId1), dbr_string_t typedef epicsUInt8 iDbrType(iDbrType1), dbr_char_t typedef epicsInt16 dbr_short_t typedef epicsUInt16 iNumElements(iNumElements1) {} dbr_enum_t typedef epicsInt32 dbr_long_t typedef epicsFloat32 int printPv() const; dbr_float_t typedef epicsFloat64 dbr_double_t typedef epicsUInt16 static void* operator new(size dbr_put_ackt_t size, char* p) typedef epicsUInt16 { return p; } // Disable ordinary (non-placement) new: only placement new and memory mapped objects are allowed // Disable placement delete: Not allow to delete memory mapped objects |
Class EpicsPvCtrlHeader
dbr_put_acks_t
typedef epicsOldString dbr_stsack_string_t
typedef epicsOldString dbr_class_name_t
|
Variables
Code Block |
---|
const char * epicsAlarmSeverityStrings [ALARM_NSEV]
const char * epicsAlarmConditionStrings [ALARM_NSTATUS]
const char * dbr_text [35]
const char * epicsAlarmSeverityStrings [ALARM_NSEV]
Initial value:
{
"NO_ALARM",
"MINOR",
"MAJOR",
"INVALID",
}
const char * epicsAlarmConditionStrings [ALARM_NSTATUS]
Initial value:
{
"NO_ALARM",
"READ",
"WRITE",
"HIHI",
"HIGH",
"LOLO",
"LOW",
"STATE",
"COS",
"COMM",
"TIMEOUT",
"HWLIMIT",
"CALC",
"SCAN",
"LINK",
"SOFT",
"BAD_SUB",
"UDF",
"DISABLE",
"SIMM",
"READ_ACCESS",
"WRITE_ACCESS",
}
|
The following epics-related classes are not part of Epics namespace:
Class EpicsPvHeader
Public attributes:
Code Block |
---|
short int iPvId |
Code Block |
/** * Layout of the EpicsPvCtrlHeader * *---------------------------------- EpicsPvHeader --------------------------------------------- *---------------------+-----------------+--------------+------------------------------------ * Name | Length(Bytes) | Type | Description *---------------------+-----------------+--------------+------------------------------------ * iPvId 2 Int16 Pv Id * iDbrType 2// process variable ID short int iDbrType Int16 // Epics Data Type short int iNumElements // Size of PV Array |
Public Member Functions:
Code Block |
---|
EpicsPvHeader( short int iPvId1, short int iDbrType1, short int iNumElements1 ) : iPvId(iPvId1), // process variable ID * iDbrType(iDbrType1), // Epics Data Type iNumElements(iNumElements1) {} // Size of PV Array int printPv() const; |
Public Member Functions:
Code Block |
---|
static void* operator new(size_t size, char* p) { return p; }
// Disable ordinary (non-placement) new: only placement new and memory mapped objects are allowed
// Disable placement delete: Not allow to delete memory mapped objects
|
Class EpicsPvCtrlHeader
Public attributes:
Code Block |
---|
Code Block |
---|
/** * Layout of the EpicsPvCtrlHeaderCtrl Types: DB_CTRL_STRING ~ DBR_CTRL_DOUBLE * iNumElements 2 Int16 Size of Pv Array * *---------------------------------- EpicsPvCtrlHeader --------------------------------------------- *---------------------+-----------------+--------------+------------------------------------ * Name | Length(Bytes) | Type | Description *---------------------+-----------------+--------------+------------------------------------ * sPvName _iMaxPvNameLength char [] Null-terminated string, */ |
Class EpicsPvCtrl<iDbrType1,EpicsPvBase>
Class EpicsPvTime<iDbrType1,EpicsPvBase>
...