JCOP Framework fwDevice component  8.3.0
fwDevice.ctl File Reference

Variables

const unsigned fwDevice_ALL = 0
 all configs More...
 
const unsigned fwDevice_ADDRESS_INDEX = 1
 address config More...
 
const unsigned fwDevice_ALERT_INDEX = 2
 alert config More...
 
const unsigned fwDevice_ARCHIVE_INDEX = 3
 archive config More...
 
const unsigned fwDevice_PVRANGE_INDEX = 4
 pv_range config More...
 
const unsigned fwDevice_CONVERSION_INDEX = 5
 conversion config More...
 
const unsigned fwDevice_SMOOTHING_INDEX = 6
 smoothing config More...
 
const unsigned fwDevice_UNIT_INDEX = 7
 unit (not a PVSS config, but we treat it as if it was) More...
 
const unsigned fwDevice_FORMAT_INDEX = 8
 format (not a PVSS config, but we treat it as if it was) More...
 
const unsigned fwDevice_DPFUNCTION_INDEX = 9
 dp_function config More...
 
const unsigned fwDevice_ORIGINAL_INDEX = 10
 
const unsigned MIN_CONFIG_INDEX = 1
 
const unsigned MAX_CONFIG_INDEX = 9
 
const int fwDevice_CONFIG_PROPERTY = 1
 
const int fwDevice_CONFIG_DPE = 2
 
const int fwDevice_CONFIG_MAX_INDEX = 2
 
global dyn_string fwDevice_CONFIG
 
global dyn_string fwDevice_CONFIG_CAN_HAVE
 
global dyn_dyn_string fwDevice_CONFIG_ATTRIBUTES_DEFINITION
 
string fwDevice_DEFINITION_EMPTY_ENTRY = "EMPTY"
 
global unsigned fwDevice_ADDRESS_TYPE
 
global unsigned fwDevice_ADDRESS_DRIVER_NUMBER
 
global unsigned fwDevice_ADDRESS_ROOT_NAME
 
global unsigned fwDevice_ADDRESS_OPC_SERVER_NAME
 
global unsigned fwDevice_ADDRESS_OPC_GROUP_IN
 
global unsigned fwDevice_ADDRESS_OPC_GROUP_OUT
 
global unsigned fwDevice_ADDRESS_OPCUA_SERVER_NAME
 
global unsigned fwDevice_ADDRESS_OPCUA_SUBSCRIPTION_IN
 
global unsigned fwDevice_ADDRESS_OPCUA_SUBSCRIPTION_OUT
 
global unsigned fwDevice_ADDRESS_OPCUA_KIND
 
global unsigned fwDevice_ADDRESS_OPCUA_VARIANT
 
global unsigned fwDevice_ADDRESS_S7_START
 
global unsigned fwDevice_ADDRESS_S7_SUBINDEX
 
global unsigned fwDevice_ADDRESS_S7_INTERVAL
 
global unsigned fwDevice_ADDRESS_DIM_TIME_INTERVAL
 
global unsigned fwDevice_ADDRESS_DIM_TIME_STAMP
 
const string fwDevice_ADDRESS_NONE = "NO HARDWARE CONNECTION"
 
const string fwDevice_ADDRESS_DEFAULT = "DEFAULT"
 
const string fwDevice_ADDRESS_OPC = "OPC"
 
const string fwDevice_ADDRESS_DIM = "DIM"
 
const string fwDevice_ADDRESS_MODBUS = "MODBUS"
 
const string fwDevice_ADDRESS_DIP = "DIP"
 
const string fwDevice_ADDRESS_S7 = "S7"
 
const string fwDevice_ADDRESS_SNMP = "SNMP"
 
const string fwDevice_ADDRESS_OPCUA = "OPCUA"
 
global dyn_int fwDevice_ADDRESS_DIR_INPUT
 
global dyn_int fwDevice_ADDRESS_DIR_OUTPUT
 
global dyn_int fwDevice_ADDRESS_DIR_INPUT_OUTPUT
 
const string fwDevice_ADDRESS_DPES_ALL = "ALL"
 
const string fwDevice_ADDRESS_DPES_INPUT = "INPUT"
 
const string fwDevice_ADDRESS_DPES_OUTPUT = "OUTPUT"
 
const string fwDevice_ADDRESS_DPES_INPUT_OUTPUT = "INPUT/OUTPUT"
 
global dyn_string fwDevice_ADDRESS_MODE_TO_LABEL
 
const unsigned fwDevice_ADDRESS_SUBSTITUTION_LEVELS = 4
 
const int fwDevice_OPC_SERVER_NAME = 1
 
const int fwDevice_OPC_SERVER_COMPUTER = 2
 
const int fwDevice_OPC_SERVER_PROGID = 3
 
const int fwDevice_OPC_SERVER_STATE_TIMER = 4
 
const int fwDevice_OPC_SERVER_RECONNECT_TIMER = 5
 
global dyn_int fwDevice_ADDRESS_OPC_MODE_TO_GROUP_MAPPING
 
const int fwDevice_DPATTR_ADDR_MODE_INPUT_OUTPUT = 6
 
const int fwDevice_DPCONFIG_NONE = 10
 
const string fwDevice_ADDRESS_SET = "ADDRESS SET"
 
const string fwDevice_ADDRESS_UNSET = "ADDRESS DEL"
 
const string fwDevice_ALERT_NONE = "NO ALARMS"
 
const string fwDevice_ALERT_DEFAULT = "DEFAULT"
 
const string fwDevice_ALERT_SET = "ALERT SET"
 
const string fwDevice_ALERT_UNSET = "ALERT UNSET"
 
const string fwDevice_ALERT_MASK = "ALERT MASK"
 
const string fwDevice_ALERT_UNMASK = "ALERT UNMASK"
 
const string fwDevice_ALERT_ACK = "ALERT ACK"
 
const string fwDevice_ALERT_SUMMARY_UNSET = "ALERT_SUMMARY_UNSET"
 
const string fwDevice_ARCHIVE_SET = "SET"
 
const string fwDevice_ARCHIVE_UNSET = "DEL"
 
const string fwDevice_ARCHIVE_CLASS = "fwArchiver"
 
const string fwDevice_DPFUNCTION_SET = "SET"
 
const string fwDevice_DPFUNCTION_UNSET = "UNSET"
 
const int fwDevice_CONFIG_CONVERSION_TYPE = 1
 
const unsigned fwDevice_DP_NAME = 1
 
const unsigned fwDevice_DP_TYPE = 2
 
const unsigned fwDevice_COMMENT = 3
 
const unsigned fwDevice_MODEL = 4
 
const unsigned fwDevice_DP_ALIAS = 5
 
const unsigned fwDevice_ALIAS = 6
 
const unsigned fwDevice_TYPE = 7
 
const unsigned fwDevice_OBJECT_MAX_INDEX = 6
 
const unsigned fwDEVICE_DEFAULT_CONFIGS = 1
 
const unsigned fwDEVICE_DEFAULT_CHILDREN = 2
 
const unsigned fwDevice_PANEL_NAVIGATOR_HARDWARE = 1
 
const unsigned fwDevice_PANEL_NAVIGATOR_LOGICAL = 2
 
const unsigned fwDevice_PANEL_EDITOR_HARDWARE = 3
 
const unsigned fwDevice_PANEL_EDITOR_LOGICAL = 4
 
const unsigned fwDevice_PANEL_EDITOR_EXPERT = 5
 
const unsigned fwDevice_PANEL_EDITOR_HARDWARE_ADD = 6
 
const unsigned fwDevice_PANEL_EDITOR_HARDWARE_REMOVE = 7
 
const string fwDevice_PANEL_EDITOR_HARDWARE_ADD_DEFAULT = "fwDevice/fwDeviceCreate"
 
const string fwDevice_DEFINITION_SUFIX = "Info"
 
const string fwDevice_ELEMENTS = ".properties.dpes"
 
const unsigned fwDevice_ELEMENTS_INDEX = 1
 
const string fwDevice_PROPERTY_NAMES = ".properties.names"
 
const unsigned fwDevice_PROPERTY_NAMES_INDEX = 2
 
const string fwDevice_USER_DATA = ".properties.userData"
 
const unsigned fwDevice_USER_DATA_INDEX = 3
 
const string fwDevice_DESCRIPTION = ".properties.description"
 
const unsigned fwDevice_DESCRIPTION_INDEX = 4
 
const string fwDevice_DEFAULT_VALUES = ".properties.defaultValues"
 
const unsigned fwDevice_DEFAULT_VALUES_INDEX = 5
 
const string fwDevice_ELEMENTS_TYPES = ".properties.types"
 
const unsigned fwDevice_ELEMENTS_TYPES_INDEX = 6
 
const string fwDevice_DPE_TYPE_REFERENCE = "REFERENCE"
 
const string fwDevice_DPE_TYPE_INT = "INT"
 
const string fwDevice_DPE_TYPE_FLOAT = "FLOAT"
 
const string fwDevice_DPE_TYPE_BOOL = "BOOL"
 
const string fwDevice_DPE_TYPE_STRING = "STRING"
 
const string fwDevice_HIERARCHY_SEPARATOR = "/"
 
const string fwDevice_HIERARCHY_LOGICAL_CUT = "!"
 
const int fwDevice_HIERARCHY_DP_NAME = 1
 
const int fwDevice_HIERARCHY_POSITION_STRING = 2
 
const int fwDevice_HIERARCHY_POSITION = 3
 
const string fwDevice_HARDWARE = "HARDWARE"
 
const string fwDevice_HARDWARE_SELECT = "HARDWARE SELECT"
 
const string fwDevice_LOGICAL = "LOGICAL"
 
const string fwDevice_LOGICAL_CLIPBOARD = "LOGICAL CLIPBOARD"
 
const string fwDevice_FSM_EDITOR = "FSM_EDITOR"
 
const string fwDevice_FSM_NAVIGATOR = "FSM_NAVIGATOR"
 
const int fwDevice_MODEL_SLOTS = 1
 
const int fwDevice_MODEL_SYMBOLS = 2
 
const int fwDevice_MODEL_UNITS = 3
 
const int fwDevice_MODEL_LIMITS = 4
 
const int fwDevice_MODEL_WIDTH = 5
 
const int fwDevice_MODEL_CHILDREN_DP_TYPES = 6
 
const int fwDevice_MODEL_NAME_ROOT = 7
 
const int fwDevice_MODEL_NAME_DIGITS = 8
 
const int fwDevice_MODEL_STARTING_NUMBER = 9
 
global mapping fwDevice_modelDpCache
 
const int fwDevice_DEFAULT_SLOTS_NUMBER = 20
 
global mapping fwDevice_emptyMap
 
int driverNumber
 
int objectSize = dynlen(addressParameters)
 
string definitionDp
 
string deviceModel
 
dyn_bool canHaveDpFunction
 
dyn_int addressModes
 
dyn_string dpElements
 
dyn_string items
 
dyn_string dpFunctions
 
dyn_string dpParams
 
dyn_string dpParamsList
 
dyn_string device = makeDynString(deviceDpName, dpTypeName(deviceDpName), "", "")
 
dyn_string elementsToDelete
 
dyn_dyn_string deviceHierarchy
 
 return
 
 withSelectedDpes = FALSE
 
 fwDevice_initialize ()
 
 fwDevice_canHaveDefaults (dyn_string device, dyn_bool &canHaveDefaults, dyn_string &exceptionInfo)
 
 fwDevice_checkAddress (dyn_string device, dyn_string addressParameters, bool &isOk, dyn_string &exceptionInfo)
 
 fwDevice_copy (string sourceDeviceDpName, string destinationDeviceDpName, dyn_string &exceptionInfo, int driverNumber=1)
 
 fwDevice_copyRecursively (string sourceDeviceDpName, string destinationDeviceDpName, dyn_string &exceptionInfo, int driverNumber=1)
 
 fwDevice_create (dyn_string device, dyn_string parentDevice, dyn_string &exceptionInfo, mapping replacements=fwDevice_emptyMap, bool setDefaults=true)
 
 fwDevice_createDIMAddress (int driverNumber, string rootName, int timeInterval, bool timeStamp, dyn_string &addressParameters, dyn_string &exceptionInfo)
 
 fwDevice_createOPCAddress (int driverNumber, string rootName, string opcServerName, string inOPCGroup, string outOPCGroup, dyn_string &addressParameters, dyn_string &exceptionInfo)
 
 fwDevice_createOPCUAAddress (int driverNumber, string rootName, string opcServerName, string inSubscription, string outSubscription, dyn_string &addressParameters, dyn_string &exceptionInfo)
 
 fwDevice_createS7Address (int driverNumber, int s7Start, int s7SubIndex, int s7Interval, dyn_string &addressParameters, dyn_string &exceptionInfo)
 
 fwDevice_delete (string deviceDpName, dyn_string &exceptionInfo)
 
 fwDevice_deleteLogical (dyn_string device, string newParentDpAlias, dyn_string &exceptionInfo)
 
 fwDevice_displayConfigurationPanel (string deviceDpName, dyn_string &exceptionInfo)
 
 fwDevice_dpNames (string dpPattern, string dpType, dyn_string &dps, dyn_string &exceptionInfo)
 
 fwDevice_fillDpType (dyn_string &device, dyn_string &exceptionInfo)
 
 fwDevice_getAddressDefaultParams (string deviceDpType, dyn_string &addressParameters, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="", string addressType=fwDevice_ADDRESS_DEFAULT)
 
 fwDevice_getAddressDefaultParamsDIM (string deviceDpType, dyn_string &addressParameters, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getAddressDefaultParamsOPC (string deviceDpType, dyn_string &addressParameters, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getAddressDefaultParamsOPCUA (string deviceDpType, dyn_string &addressParameters, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getAddressDefaultParamsS7 (string deviceDpType, dyn_string &addressParameters, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getAddressDefaultParamsSNMP (string deviceDpType, dyn_string &addressParameters, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getAddressElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getAddressModeLabel (int addressMode, string &label, dyn_string &exceptionInfo)
 
 fwDevice_getAlertElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getAllItems (string deviceDpType, string addressType, dyn_string &items, dyn_string &elements, dyn_int &modes, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getAllTypes (dyn_dyn_string &types, dyn_string &exceptionInfo)
 
 fwDevice_getArchiveClass (string deviceDpType, string &archiveClass, dyn_string &exceptionInfo)
 
 fwDevice_getArchiveElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getChildren (string device, string type, dyn_string &children, dyn_string &exceptionInfo)
 
 fwDevice_getChildrenDpTypes (dyn_string device, dyn_string &childrenDpTypes, dyn_string &exceptionInfo)
 
 fwDevice_getChildrenInSlots (dyn_string device, string type, dyn_string &orderedChildren, dyn_string &exceptionInfo)
 
 fwDevice_getConfigElements (string deviceDpType, int configIndex, dyn_dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getConfigObjects (string deviceDpType, int configIndex, dyn_dyn_string &objects, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getConversionElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getDefaultConfigurationExpertPanels (string deviceDpType, string &panel, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getDefaultConfigurationLogicalPanels (string deviceDpType, dyn_string &panels, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getDefaultConfigurationPanels (string deviceDpType, dyn_string &panels, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getDefaultName (dyn_string device, int position, string &defaultName, dyn_string &exceptionInfo)
 
 fwDevice_getDefaultOperationLogicalPanels (string deviceDpType, dyn_string &panels, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getDefaultOperationPanels (string deviceDpType, dyn_string &panels, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getDefinitionDp (dyn_string device, string &definitionDp, dyn_string &exceptionInfo)
 
 fwDevice_getDpFunctionElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getDpType (string deviceType, string &deviceDpType, dyn_string &exceptionInfo)
 
 fwDevice_getElements (string deviceDpType, dyn_string &elements, dyn_int &mode, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getElementPossibleConfigs (string deviceDpType, string dpElement, dyn_bool &possibleConfigs, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getFormatElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getFreeSlots (dyn_string device, dyn_int &freeSlots, dyn_string &exceptionInfo)
 
 fwDevice_getHierarchy (string deviceDpName, dyn_dyn_string &deviceHierarchy, dyn_string &exceptionInfo)
 
 fwDevice_getInstancePanels (string deviceDpName, string mode, dyn_string &panelList, dyn_string &exceptionInfo)
 
 fwDevice_getItems (string deviceDpType, string addressType, string direction, dyn_string &items, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getLeafs (string deviceDpName, dyn_string &leafs, dyn_string &exceptionInfo)
 
 fwDevice_getModel (dyn_string device, string &model, dyn_string &exceptionInfo)
 
 fwDevice_getModelChildrenDpTypes (dyn_string device, dyn_string &childrenDpTypes, dyn_string &exceptionInfo)
 
 fwDevice_getModelDp (dyn_string device, dyn_string &modelDp, dyn_string &exceptionInfo)
 
 fwDevice_getModelProperties (dyn_string device, dyn_dyn_string &modelProperties, dyn_string &exceptionInfo)
 
 fwDevice_getModelSlots (dyn_string device, int &numberOfSlots, dyn_string &exceptionInfo)
 
 fwDevice_getModelStartingNumber (dyn_string device, int &startingNumber, dyn_string &exceptionInfo)
 
 fwDevice_getModelSymbols (dyn_string device, dyn_string &symbolFileNames, dyn_string &exceptionInfo)
 
 fwDevice_getName (string deviceDpName, string &deviceName, dyn_string &exceptionInfo)
 
 fwDevice_getPanels (dyn_string device, dyn_dyn_string &panels, dyn_string &exceptionInfo)
 
 fwDevice_getParent (string deviceDpName, string &deviceDpParent, dyn_string &exceptionInfo)
 
 fwDevice_getPosition (string deviceDpName, string &name, int &position, dyn_string &exceptionInfo)
 
 fwDevice_getPossibleAddressTypes (string deviceDpType, dyn_string &addressTypes, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
string fwDevice_getDefaultAddressType (string deviceDpType, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getPossibleChildren (dyn_string device, dyn_dyn_string &childrenDpTypesAndModels, dyn_string &exceptionInfo)
 
 fwDevice_getPossibleChildrenDpTypes (string deviceDpType, dyn_string &childrenDpTypes, dyn_string &exceptionInfo)
 
 fwDevice_getPvRangeElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getElementsOfType (string deviceDpType, string selectedType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="", string deviceDpName="")
 
 fwDevice_getSmoothingElements (string deviceDpType, dyn_string &elements, dyn_string &exceptionInfo, string deviceModel="")
 
 fwDevice_getType (string deviceDpType, string &deviceType, dyn_string &exceptionInfo)
 
 fwDevice_getTypeModels (string deviceDpType, string parentDpName, dyn_string &models, dyn_string &exceptionInfo, string parentModel="")
 
 fwDevice_openPanelAdd (dyn_string device, dyn_float &fReturn, dyn_string &sReturn, dyn_string &exceptionInfo)
 
string fwDevice_evalExpression (string stringToEvaluate, mapping variables, dyn_string &exceptionInfo)
 
 fwDevice_processAddressTemplate (string deviceDpName, string templateString, string &finalString, dyn_string &exceptionInfo, dyn_dyn_string deviceHierarchy="", mapping replacements=fwDevice_emptyMap)
 
 fwDevice_removeAliasRecursively (dyn_string device, dyn_string &exceptionInfo)
 
 fwDevice_renameLogical (dyn_string device, string newDeviceAlias, dyn_string &exceptionInfo)
 
 DebugFTN ("FW_INFO","fwDevice_setAddress("+deviceDpName+")", dpes)
 
 fwDevice_getModel (device, deviceModel, exceptionInfo)
 
 if (dynlen(exceptionInfo)) return
 
 fwDevice_getDefinitionDp (device, definitionDp, exceptionInfo)
 
 if (addressParameters[fwDevice_ADDRESS_TYPE]==fwDevice_ADDRESS_DEFAULT)
 
 DebugFTN ("FW_INFO","fwDevice_setAddress(): device "+device)
 
 DebugFTN ("FW_INFO","fwDevice_setAddress(): addressParameters "+addressParameters)
 
 DebugFTN ("FW_INFO","fwDevice_setAddress(): definitionDp ", definitionDp)
 
 fwDevice_getHierarchy (deviceDpName, deviceHierarchy, exceptionInfo)
 
 if (mappinglen(replacements)==0)
 
 switch (addressParameters[fwDevice_ADDRESS_TYPE])
 
 if (!withSelectedDpes)
 
 fwDevice_setDpFunction (string deviceDpName, string operation, dyn_string &exceptionInfo, string definitionDp="", dyn_dyn_string deviceHierarchy="", mapping replacements=fwDevice_emptyMap, bool skipNotExisting=false, dyn_string selectedDpes="")
 
 fwDevice_setDpFunctionRecursively (string deviceDpName, string operation, dyn_string &exceptionInfo, string definitionDp="", dyn_dyn_string deviceHierarchy="", string hierarchyType=fwDevice_HARDWARE)
 
 fwDevice_setAddressRecursively (string deviceDpName, dyn_string addressParameters, dyn_string &exceptionInfo, string hierarchyType="HARDWARE")
 
 fwDevice_setAlert (string deviceDpName, string operation, dyn_string &exceptionInfo, dyn_string selectedDpes="")
 
 fwDevice_setAlertRecursively (string deviceDpName, string operation, dyn_string &exceptionInfo, string hierarchyType="HARDWARE")
 
 fwDevice_setArchive (string deviceDpName, string archiveClass, string operation, dyn_string &exceptionInfo)
 
 fwDevice_setArchiveRecursively (string deviceDpName, string archiveClass, string operation, dyn_string &exceptionInfo, string hierarchyType="HARDWARE")
 
 fwDevice_setDefaultValues (string deviceDpName, dyn_string &exceptionInfo, mapping replacements=fwDevice_emptyMap)
 
 fwDevice_setModel (string deviceDpName, string deviceModel, dyn_string &exceptionInfo)
 
 fwDevice_setPropertyRecursively (string deviceDpName, string element, string hierarchyType, string value, dyn_string exceptionInfo)
 
bool fwDevice_isValidVariableName (string name)
 
mapping fwDevice_getReplacementsFromDp (string deviceDpName, dyn_string &exceptionInfo)
 
 fwDevice_setUnits (string deviceDpName, dyn_string &exceptionInfo)
 

Detailed Description

This library contains functions associated with all Framework devices. The functions work at the device level, based on the information provided in the device/model definition. There different groups of functions

<li>Functions to create, delete, rename, move devices
<li>Functions to handle the hardware and logical hierarchies
<li>Functions to do operations like setting the addresses, the alerts or the archiving 
or a whole device, based on some defaults.
Creation Date
11/07/02
Modification History
Constraints
fwDevice_initialize has to be called once per manager before using any other function in the library
Author
Manuel Gonzalez Berges (IT-CO)

Function Documentation

fwDevice_initialize ( )
Initializes constants required for the fwDevice.ctl library.

This function has to be called prior to any other function in the library. It is required once per manager.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
fwDevice_canHaveDefaults ( dyn_string  device,
dyn_bool &  canHaveDefaults,
dyn_string &  exceptionInfo 
)
Checks whether a device type can have default configuration
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object (only the dp type/model or dp name is required)
canHaveDefaultswhether the device can have default for: configs (index fwDEVICE_DEFAULT_CONFIGS) automatic children generation (index fwDEVICE_DEFAULT_CHILDREN)
exceptionInfodetails of any exceptions are returned here
fwDevice_checkAddress ( dyn_string  device,
dyn_string  addressParameters,
bool &  isOk,
dyn_string &  exceptionInfo 
)
Checks whether an address configuration is correct and could

be applied

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object
addressParametersstructure with the address configuration
isOkindicates whether the address specified in addressParameters can be used
exceptionInfodetails of any exceptions are returned here, indicating if the address is correct
fwDevice_copy ( string  sourceDeviceDpName,
string  destinationDeviceDpName,
dyn_string &  exceptionInfo,
int  driverNumber = 1 
)
Copies a device from source to destination. The copy includes all configs.

The new address configs, by default will be in driver number 1. One has to be careful because PVSS doesn't allow duplicate output addresses, so if the driver number is the same as the one used in the source device, then there will be errors. There can also be problems if one copies the same device twice and one doesn't update the address configs between both copies. If the device supports default address config, it is recommended to apply it between copies.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
sourceDeviceDpNamedevice object
destinationDeviceDpNameparent device object
exceptionInfodetails of any exceptions are returned here
driverNumberdriver number for the destination device address configs
fwDevice_copyRecursively ( string  sourceDeviceDpName,
string  destinationDeviceDpName,
dyn_string &  exceptionInfo,
int  driverNumber = 1 
)
Copies a device and all of its children from source to destination. The 

copy includes all configs. The new address configs, by default will be in driver number 1. One has to be careful because PVSS doesn't allow duplicate output addresses, so if the driver number is the same as the one used in the source device, then there will be errors. There can also be problems if one copies the same device twice and one doesn't update the address configs between both copies. If the device supports default address config, it is recommended to apply it between copies.

The copy is carried from bottom to top, to avoid the problem of references to 

non existing devices.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
sourceDeviceDpNamedevice object:
destinationDeviceDpNameparent device object
exceptionInfodetails of any exceptions are returned here
driverNumberdriver number for the destination device address configs
fwDevice_create ( dyn_string  device,
dyn_string  parentDevice,
dyn_string &  exceptionInfo,
mapping  replacements = fwDevice_emptyMap,
bool  setDefaults = true 
)
Creates a device inside PVSS with the characteristics specified in the 

device object and having as parent the parent device.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object
parentDeviceparent device object
exceptionInfodetails of any exceptions are returned here
setDefaults[default true] set defaults when device is created
fwDevice_createDIMAddress ( int  driverNumber,
string  rootName,
int  timeInterval,
bool  timeStamp,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo 
)
Creates a data structure with all the parameters necessary

to set up a DIM address

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
driverNumberdriver number
rootNameroot name to build the DIM item name
timeIntervalThe time interval in seconds for periodic reception - 0 for on change (default)
timeStampquality and time-stamp flag - 1 for quality and time-stamp (default)
addressParametersstructure with the DIM parameters
exceptionInfodetails of any exceptions are returned here
fwDevice_createOPCAddress ( int  driverNumber,
string  rootName,
string  opcServerName,
string  inOPCGroup,
string  outOPCGroup,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo 
)
Creates a data structure with all the parameters necessary

to set up an OPC address

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
driverNumberdriver number
rootNameroot name to build the OPC item name
opcServerNamename given to the OPC server inside PVSS
inOPCGroupone of the PVSS OPC groups used to read data
outOPCGroupone of the PVSS OPC groups used to write data
addressParametersstructure with the OPC parameters
exceptionInfodetails of any exceptions are returned here
fwDevice_createOPCUAAddress ( int  driverNumber,
string  rootName,
string  opcServerName,
string  inSubscription,
string  outSubscription,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo 
)
Creates a data structure with all the parameters necessary

to set up an OPC UA address

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
driverNumberdriver number
rootNameroot name to build the OPC item name
opcServerNamename given to the OPC server inside PVSS
inSubscriptionone of the PVSS OPC groups used to read data
outSubscriptionone of the PVSS OPC groups used to write data
addressParametersstructure with the OPC parameters
exceptionInfodetails of any exceptions are returned here
fwDevice_createS7Address ( int  driverNumber,
int  s7Start,
int  s7SubIndex,
int  s7Interval,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo 
)
Creates a data structure with all the parameters necessary

to set up an S7 address

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
driverNumberdriver number
fwDevice_delete ( string  deviceDpName,
dyn_string &  exceptionInfo 
)

Deletes a device and all of its children in the hardware hierarchy from the system

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamethe data point name of device to be deleted, the system name is included
exceptionInfodetails of any exceptions are returned here
fwDevice_deleteLogical ( dyn_string  device,
string  newParentDpAlias,
dyn_string &  exceptionInfo 
)

Renames a device and all of its children in the logical view. Can be used to delete from the logical view by entering "" as the new parent alias.

Constraints
Works only for the local system
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object, only the data for the device dp alias needs to be present
newParentDpAliasdp alias set for the parent. It will be used as root. "" to cut to clipboard
exceptionInfodetails of any exceptions are returned here
fwDevice_displayConfigurationPanel ( string  deviceDpName,
dyn_string &  exceptionInfo 
)
This function will display the first of the configuration panels

defined for the specified device.

Constraints
The panel to be displayed has to accept $sDpName and $bHierarchyBrowser as dollar parameters
Usage
Public
PVSS managers
VISION
Parameters
deviceDpNamename of the device to be passed as parameter to the panel
exceptionInfodetails of any exceptions
fwDevice_dpNames ( string  dpPattern,
string  dpType,
dyn_string &  dps,
dyn_string &  exceptionInfo 
)
This function was only provided temporarily until the PVSS function

dpNames worked correctly in a distributed system when specifying a dp type. Since this is now the case, the function is obsolete and has been updated to use fully the dpNames call. It is recommended to use directly the PVSS call.

Constraints
None
Usage
JCOP Framework internal
PVSS managers
VISION, CTRL
Parameters
dpPatternpattern that the datapoint names should follow (e.g. CAEN/crate01/*)
dpTypedesired datapoint type. No wildcards allowed (e.g. FwCaenBoard)
dpsdatapoints that meet the specifier conditions for name and type
exceptionInfodetails of any exceptions
fwDevice_fillDpType ( dyn_string &  device,
dyn_string &  exceptionInfo 
)
Fills in the DP type of a device object
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object
exceptionInfodetails of any exceptions
fwDevice_getAddressDefaultParams ( string  deviceDpType,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "",
string  addressType = fwDevice_ADDRESS_DEFAULT 
)
This function will return the address parameters to be used when

configuring a device with the default addressing.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
addressParametersreturns a structure with the default address parameters, if they have been set
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAddressDefaultParamsDIM ( string  deviceDpType,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
This functions returns the address parameter to be used

by default when DIM is chosen as connection.

Constraints
None
Usage
Public

managers VISION, CTRL

Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
addressParametersreturns the default DIM parameters, if they have been set
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAddressDefaultParamsOPC ( string  deviceDpType,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
This functions returns the address parameter to be used

by default when OPC is chosen as connection.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
addressParametersreturns the default OPC parameters, if they have been set
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAddressDefaultParamsOPCUA ( string  deviceDpType,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
This functions returns the address parameter to be used

by default when OPC UA is chosen as connection.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
addressParametersreturns the default OPC parameters, if they have been set
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAddressDefaultParamsS7 ( string  deviceDpType,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
This functions returns the address parameter to be used

by default when S7 is chosen as connection.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device
addressParametersreturns the default OPC parameters, if they have been set
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAddressDefaultParamsSNMP ( string  deviceDpType,
dyn_string &  addressParameters,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
This functions returns the address parameter to be used

by default when SNMP is chosen as connection.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device
addressParametersreturns the default OPC parameters, if they have been set
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAddressElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
Returns the dp elements that can have an address for a given device type and device model.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have an address
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getAddressModeLabel ( int  addressMode,
string &  label,
dyn_string &  exceptionInfo 
)
Returns the label associated with the address mode (or direction) to be used for display to users.
Constraints
Requires fwDevice_ADDRESS_MODE_TO_LABEL to be initialized
Usage
Public
PVSS managers
VISION, CTRL
Parameters
addressModeaddress mode
labellabel associated with the address mode
exceptionInfodetails of any exceptions
fwDevice_getAlertElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
Returns the dp elements that can have an alert for a given device type and device model.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have an alert
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getAllItems ( string  deviceDpType,
string  addressType,
dyn_string &  items,
dyn_string &  elements,
dyn_int &  modes,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns all the elements of a device type that can have an address, with the

items to which each element is connected and the address mode.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
addressTypeselected address type(e.g. fwDevice_ADDRESS_OPC)
itemslist with the address items
elementslist with the PVSS datapoint elements
modeslist with the adress modes
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getAllTypes ( dyn_dyn_string &  types,
dyn_string &  exceptionInfo 
)
Returns all the datapoints that have been declared as 

Framework devices. The declaration as a Framework device requires only the existance of a definition for the device (a datapoint of type _FwDeviceDefinition, named after the datapoint type of the device and a suffix) and the following dpes filled in the definition: .type (device type, e.g. CAEN Channel) .dpType (datapoint type, e.g. FwCaenBoard)

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
typesmatrix containing the device types and the device datapoint types types[1] = device types types[2] = datapoint types
exceptionInfodetails of any exceptions
fwDevice_getArchiveClass ( string  deviceDpType,
string &  archiveClass,
dyn_string &  exceptionInfo 
)
Returns the Framework default archive class. For the moment

this is constant for all device types

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
archiveClassarchiver to be used
exceptionInfodetails of any exceptions
fwDevice_getArchiveElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
Returns the dp elements that can be archived for a given device.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can be archived
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getChildren ( string  device,
string  type,
dyn_string &  children,
dyn_string &  exceptionInfo 
)
Get all the children devices of a device
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedatapoint name or datapoint alias of the device
typetype of hierarchy (fwDevice_HARDWARE or fwDevice_LOGICAL)
childrenlist of child devices
exceptionInfodetails of any exception
fwDevice_getChildrenDpTypes ( dyn_string  device,
dyn_string &  childrenDpTypes,
dyn_string &  exceptionInfo 
)
Gets the possible dp types that a device can have as children.

It is a combination of fwDevice_getModelChildrenDpTypes (gets the possible children for the model) and fwDevice_getPossibleDpTypes (gets the possible children for the dp type). It will first try the model and if there are no possible children then try the dp type.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object (only the dp type or dp name is required)
childrenDpTypespossible children dp types
exceptionInfodetails of any exceptions are returned here, indicating if the address is correct
fwDevice_getChildrenInSlots ( dyn_string  device,
string  type,
dyn_string &  orderedChildren,
dyn_string &  exceptionInfo 
)
Get all the children devices of a device ordered in slots
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object
typetype of hierarchy fwDevice_HARDWARE or fwDevice_LOGICAL
orderedChildrenlist of child devices ordered in slots
exceptionInfodetails of any exception
fwDevice_getConfigElements ( string  deviceDpType,
int  configIndex,
dyn_dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
For a given device type and device model, returns its datapoint elements

that can have a specific config, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
configIndexselected config. Has to be one of the supported config indexes (SUPPORTED_CONFIGS)
elementsstructure with the dpes and the correspondent device property name elements[fwDevice_ELEMENTS_INDEX] dp elements that can have the selected config elements[fwDevice_PROPERTY_NAMES_INDEX] property names for the above elements elements[fwDevice_USER_DATA_INDEX] user data for the above elements elements[fwDevice_DESCRIPTION_INDEX] description for the above elements
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getConfigObjects ( string  deviceDpType,
int  configIndex,
dyn_dyn_string &  objects,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
For a given device type and device model, returns the definition 

information for the specific config, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
configIndexselected config. It has to be one of the supported config indexes (SUPPORTED_CONFIGS)
objectsarray of objects with selected config data for each device property
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getConversionElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
For a given device type and device model, returns its datapoint elements

that can have a conversion config, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have conversion
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getDefaultConfigurationExpertPanels ( string  deviceDpType,
string &  panel,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns the default expert configuration panel for

a specific device type and device model.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
paneldefault expert configuration panel
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getDefaultConfigurationLogicalPanels ( string  deviceDpType,
dyn_string &  panels,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns the default logical configuration panels for

a specific device type and device model.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
panelsdefault logical configuration panels
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getDefaultConfigurationPanels ( string  deviceDpType,
dyn_string &  panels,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns the default hardware configuration panels for

a specific device type and device model.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
panelsdefault hardware configuration panels
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getDefaultName ( dyn_string  device,
int  position,
string &  defaultName,
dyn_string &  exceptionInfo 
)
Returns the default name for a given device dp type and device

model, in a given position in its parent. The name is built with the information contained in the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. It has to contain either the device dp type, or the device dp type and the device dp model if one wants to include model specific characteristics.
positionposition of the device in the parent
defaultNamedefault name
exceptionInfodetails of any exceptions
fwDevice_getDefaultOperationLogicalPanels ( string  deviceDpType,
dyn_string &  panels,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns the default logical operation panels for

a specific device type and device model.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
panelsdefault logical operation panels
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getDefaultOperationPanels ( string  deviceDpType,
dyn_string &  panels,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns the default hardware operation panels for

a specific device type and device model.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
panelsdefault hardware operation panels
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getDefinitionDp ( dyn_string  device,
string &  definitionDp,
dyn_string &  exceptionInfo 
)
Returns the dp that has to be read to get the definition to

be used to configure the device. The dp can be linked to the device type or to the device model

Constraints
None
Usage
JCOP Framework internal
PVSS managers
VISION, CTRL
Parameters
devicedevice object. It has to contain the device dp name, the device dp type, or the device dp type and the device dp model if one wants to include model specific characteristics.
definitionDpdp (or structure dpe) containing the definition to be used for the device object
exceptionInfodetails of any exceptions
fwDevice_getDpFunctionElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
For a given device type and device model, returns its datapoint elements

that can have a dp function config, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have a dp function
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getDpType ( string  deviceType,
string &  deviceDpType,
dyn_string &  exceptionInfo 
)
Returns the PVSS datapoint type associated with the given

Framework device type.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceTypedevice type
deviceDpTypedevice datapoint type
exceptionInfodetails of any exceptions
fwDevice_getElements ( string  deviceDpType,
dyn_string &  elements,
dyn_int &  mode,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
For a given device type and device model, returns a list of its datapoint

elements and the correspondent PVSS address mode.

Constraints
Currently only works with OPC addresses.
Usage
JCOP Framework internal
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedevice datapoint type (e.g. FwCaenBoard)
elementslist of datapoint elements
modelist of PVSS address modes correpondent to the datapoint elements
exceptionInfodetails of any exceptions
deviceModeldevice model (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getElementPossibleConfigs ( string  deviceDpType,
string  dpElement,
dyn_bool &  possibleConfigs,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
For a given device datapoint and device model, and a datapoint element inside

the datapoint type, the function returns a list with the PVSS configs that the datapoint element can have.

Constraints
the device must be of one of the valid framework types
Usage
Public
PVSS managers:
VISION, CTRL
Parameters
deviceDpTypedevice datapoint type from which info is requested (e.g. FwCaenBoard)
dpElementdatapoint element inside the devive datapoint type
possibleConfigsboolean list that indicates the possible configs. Each position in the array correponds to one of the supported configs indexes defined in the begining of this file (fwDevice_ADDRESS_INDEX, etc)
exceptionInforeturns details of any exceptions
deviceModeldevice model (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getFormatElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
For a given device type and device model, returns its datapoint elements

that can have a format defined, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have a dp function
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getFreeSlots ( dyn_string  device,
dyn_int &  freeSlots,
dyn_string &  exceptionInfo 
)
Returns a list of the available slots in the

device.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object
freeSlotsfreeSlots currently available in the device
exceptionInfodetails of any exceptions
fwDevice_getHierarchy ( string  deviceDpName,
dyn_dyn_string &  deviceHierarchy,
dyn_string &  exceptionInfo 
)

Goes through the device dp name and to returns the full hierarchy above it with device names and positions.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
deviceHierarchystructure containing the hierarchy from the given device going to its parent, grandparent, ect. Each row in the dyn_dyn_string has the following structure:
  1. device dp name
  2. device position as string (keeping trailing 0s)
  3. device position as int
So for example, deviceHierarchy[3][1] will contain the device dp name of the grandparent.
exceptionInfodetails of any exceptions
fwDevice_getInstancePanels ( string  deviceDpName,
string  mode,
dyn_string &  panelList,
dyn_string &  exceptionInfo 
)
Returns the panels asscociated with a device instance.

At the moment, the only device that can have a panel associated to an instance is the Node (FwNode)

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedevice datapoint name
modewhether Navigator or Editor mode panels are wanted
panelListlist with the panels
exceptionInfodetails of any exceptions
fwDevice_getItems ( string  deviceDpType,
string  addressType,
string  direction,
dyn_string &  items,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
For a given device type and device model, and a requested address direction,

returns a list of items and its associated datapoint elements, based on the device definition.

Constraints
None
Usage
Public

PVSS manager usage: VISION, CTRL

Parameters
deviceDpTypedevice datapoint type (e.g. FwCaenBoard)
addressTypeaddress type (e.g. fwDevice_ADDRESS_OPC)
directiondirection of the requested items: Input: "IN" or fwDevice_ADDRESS_DPES_INPUT Output: "OUT" or fwDevice_ADDRESS_DPES_OUTPUT Input/Output: fwDevice_ADDRESS_DPES_INPUT_OUTPUT
itemslist of items of the requested address type
elementslist of elements correspondent to the list of items
exceptionInfodetails of any exceptions
deviceModeldevice model (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getLeafs ( string  deviceDpName,
dyn_string &  leafs,
dyn_string &  exceptionInfo 
)
Gets all the leaf devices in the hardware hierarchy below below a given device.
Constraints
Works only for the hardware hierarchy.
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedevice datapoint name
leafslist of devices that are leafs in the hierarchy below deviceDpName
exceptionInfodetails of any exceptions
fwDevice_getModel ( dyn_string  device,
string &  model,
dyn_string &  exceptionInfo 
)
Returns the model information for a given device object.
Parameters
devicedevice object. Only the device datapoint name is relevant.
modelreturns the device model if it exists; empty string if deviceDP exists but has no model (e.g. non-Fw device)
exceptionInfoexception details, on non-existing DP or invalid structure of the device parameter
fwDevice_getModelChildrenDpTypes ( dyn_string  device,
dyn_string &  childrenDpTypes,
dyn_string &  exceptionInfo 
)
Returns the possible children datapoint types for a given device type and device

model (contained in the device object). The information is retrieved from a device model definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object
childrenDpTypeslist of possible children datapoint types for the given device type and model
exceptionInfodetails of any exceptions
fwDevice_getModelDp ( dyn_string  device,
dyn_string &  modelDp,
dyn_string &  exceptionInfo 
)
Gets the datapoint used to contain information about the model of the given device.
Parameters
devicedevice object. Either the device datapoint name or the device dp type and the model are required.
modelDpon return will be filled with structure with the following information: modelDp[1] = dp defining the model modelDp[2] = model
exceptionInfodetails of any exceptions

Note that it is normal that a device has no model, in which case the information is in the device type definition. In such case the modelDp is empty on return.

Reviewed:
2018-10-03
fwDevice_getModelProperties ( dyn_string  device,
dyn_dyn_string &  modelProperties,
dyn_string &  exceptionInfo 
)
Returns all the information with the characteristics of a model of a given device type.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. Either the device datapoint name or the device dp type and the model are required.
modelPropertiesinformation with the characteristics of the model:
  1. Slots
  2. Symbols
  3. Units
  4. Limits
  5. Width
  6. Children dp types
  7. Name root
  8. Name digits
  9. Starting number
exceptionInfodetails of any exceptions
fwDevice_getModelSlots ( dyn_string  device,
int &  numberOfSlots,
dyn_string &  exceptionInfo 
)
For a given device, returns the number of slots the device has.
Constraints
Only supported for Framework devices that have a model defined
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. Either the device datapoint name or the device dp type and the model are required.
numberOfSlotsnumber of children devices the device can hold
exceptionInfodetails of any exceptions
fwDevice_getModelStartingNumber ( dyn_string  device,
int &  startingNumber,
dyn_string &  exceptionInfo 
)
Returns the number used to start the numbering of the children of a specific device
Constraints
Only supported for Framework devices that have a model defined
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. Either the device datapoint name or the device dp type and the model are required.
startingNumbernumber used to start the numbering
exceptionInfodetails of any exceptions
fwDevice_getModelSymbols ( dyn_string  device,
dyn_string &  symbolFileNames,
dyn_string &  exceptionInfo 
)
Returns the symbols (reference panels) that can be used to represent the given device
Constraints
Only supported for Framework devices that have a model defined
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. Either the device datapoint name or the device dp type and the model are required.
symbolFileNameslist of symbols (reference panels) that can be used to represent the device
exceptionInfodetails of any exceptions
Reviewed:
2018-06-22 (API)
fwDevice_getName ( string  deviceDpName,
string &  deviceName,
dyn_string &  exceptionInfo 
)

Goes through the device dp name and returns the device name

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
deviceNamereturned name of the device (e.g. channel005)
exceptionInfodetails of any exceptions
fwDevice_getPanels ( dyn_string  device,
dyn_dyn_string &  panels,
dyn_string &  exceptionInfo 
)
Returns all the panels to be used for a given device.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. It has to contain the device dp name, the device dp type, or the device dp type and the device dp model if one wants to include model specific characteristics.
panelsreturns all the panels for the specified device. Each row of the matrix contains the list of panels of one type. To access the matrix the constants of the form fwDevice_PANEL_XXXXX_XXXXX have to be used. For example, panels[fwDevice_PANELS_HARDWARE_OPERATION] will return the list of operation panels of the device in the hardware hierarchy. The constants are: fwDevice_PANEL_NAVIGATOR_HARDWARE fwDevice_PANEL_NAVIGATOR_LOGICAL fwDevice_PANEL_EDITOR_HARDWARE fwDevice_PANEL_EDITOR_LOGICAL fwDevice_PANEL_EDITOR_EXPERT fwDevice_PANEL_EDITOR_HARDWARE_ADD fwDevice_PANEL_EDITOR_HARDWARE_REMOVE
exceptionInfodetails of any exceptions
fwDevice_getParent ( string  deviceDpName,
string &  deviceDpParent,
dyn_string &  exceptionInfo 
)
Returns the device datapoint name of the parent device.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
deviceDpParentreturns the dp name of the parent device (e.g. CAEN/crate003/board07)
exceptionInfodetails of any exceptions
fwDevice_getPosition ( string  deviceDpName,
string &  name,
int &  position,
dyn_string &  exceptionInfo 
)
Goes through the device dp name and returns the device name without

any trailing number and the position if the dp name ends in an integer number.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
namereturns root name of the device (e.g. channel)
positionposition of the device coded in the name (e.g. 5), or -1 if no position could be found
exceptionInfodetails of any exceptions
fwDevice_getPossibleAddressTypes ( string  deviceDpType,
dyn_string &  addressTypes,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns a list with the possible address types for a device or device model

The function return a list of address types that a device or device model could have, based on the information in the device definition, and depending on parameters that are passed.

In the default variant, one would pass a datapoint type name in the deviceDpType parameter, and the function will look up the matching device definition for it and find the matching addresses. One may also use the deviceModel optional parameter to query the information for a particular model for the specifed deviceDpType. Note that for some device types model information is declared for completness, yet the ".modelDefinition.useModelDefinition" may be set to false hence effectively disabling the retrieval of the model. In such case, the information from non-specific device definition will be retrieved.

In the second variant, one would use the deviceDpName to specify an existing device, for which the information should be queried. The device may be from the local or from any connected dist system. The model name of the actual device is retrieved and then used for further query. Note that (this is historical compatibility option!) for remote devices the device definition of LOCAL SYSTEM is firstly queried, and only if it is not find then it is queried from the remote system. In this mode, the parameters deviceDpType and deviceModel are ignored.

Reviewed:
2018-08-14, Implementation changed to use dpQuery, documentation extended.
Parameters
deviceDpTypedevice datapoint type (e.g. "FwCaenBoardSY1527"); ignored if deviceDpName specified
addressTypeson return will contain the list of possible address types
exceptionInfostandard exception handling variable
deviceModel(optional) device model (e.g. "AG536S"); ignored if deviceDpName specified
deviceDpName(optional) datapoint name of the device, if information is queried for an existing device rather that for device type (see description above).
string fwDevice_getDefaultAddressType ( string  deviceDpType,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns default address type for specified device model or device instance

See the documentation of fwDevice_getPossibleAddressTypes for explanation of the modes of operation.

Parameters
deviceDpTypedevice datapoint type (e.g. "FwCaenBoardSY1527"); ignored if deviceDpName specified
exceptionInfostandard exception handling variable
deviceModel(optional) device model (e.g. "AG536S"); ignored if deviceDpName specified
deviceDpName(optional) datapoint name of the device, if information is queried for an existing device rather that for device type.
fwDevice_getPossibleChildren ( dyn_string  device,
dyn_dyn_string &  childrenDpTypesAndModels,
dyn_string &  exceptionInfo 
)
Gets the possible combinations dp type - model that a device can have as children.

It is a combination of all the information available in the _FwDeviceDefinition and _FwDeviceModel datapoints. For that several functions are used:

<li>fwDevice_getModelChildrenDpTypes (gets the possible children for the model)
<li>fwDevice_getPossibleDpTypes (gets the possible children for the dp type). 
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object (dp type and model, or dp name are required)
childrenDpTypesAndModelsmatrix containing list of possible children dp type - models: childrenDpTypesAndModels[x][1] = device dp type childrenDpTypesAndModels[x][2] = device model 1 of the above device dp type childrenDpTypesAndModels[x][3] = device model 2 of the above device dp type ... childrenDpTypesAndModels[x][n] = device model n - 1 of the above device dp type
exceptionInfodetails of any exceptions
fwDevice_getPossibleChildrenDpTypes ( string  deviceDpType,
dyn_string &  childrenDpTypes,
dyn_string &  exceptionInfo 
)
Returns which dp types can be used as children of the

specified dp type

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedevice datapoint type (e.g. FwCaenBoard)
childrenDpTypeslist of possible children dp types
exceptionInfodetails of any exceptions
fwDevice_getPvRangeElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
For a given device type and device model, returns its datapoint elements

that can have a pv_range config, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have pv range
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getElementsOfType ( string  deviceDpType,
string  selectedType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "",
string  deviceDpName = "" 
)
Returns the dp elements in a device type (e.g. FwCaenBoard) that are of the selected

data type (e.g FLOAT, REFERENCE). This is based in the device definition, and not in the PVSS datapoint element type.

Constraints
None
Usage
JCOP Framework internal
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedevice datapoint type (e.g. FwCaenBoard)
selectedTyperequired data type for the dpes. The possible types are: fwDevice_DPE_TYPE_REFERENCE fwDevice_DPE_TYPE_INT fwDevice_DPE_TYPE_FLOAT fwDevice_DPE_TYPE_BOOL fwDevice_DPE_TYPE_STRING
elementselements with the required data type
exceptionInfodetails of any exceptions
deviceModeldevice model (e.g. A834P)
deviceDpNamedp name of the device. This is required when we want this function to retrieve the panels for a device that is not installed locally but we still want to be able to browse instances in a remote system. If the device definition is available locally, then it will be used even if we browse a remote system.
fwDevice_getSmoothingElements ( string  deviceDpType,
dyn_string &  elements,
dyn_string &  exceptionInfo,
string  deviceModel = "" 
)
For a given device type and device model, returns its datapoint elements

that can have a smooth config, based on the device definition.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedatapoint type of the device (e.g. FwCaenBoard)
elementselements that can have smoothing
exceptionInfodetails of any exceptions
deviceModelmodel of the device (e.g. A834P)
fwDevice_getType ( string  deviceDpType,
string &  deviceType,
dyn_string &  exceptionInfo 
)
Gets the device type associated with the given device datapoint type.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedevice datapoint type (e.g. FwCaenBoard)
deviceTypedevice type associated to deviceDpType
exceptionInfodetails of any exceptions
fwDevice_getTypeModels ( string  deviceDpType,
string  parentDpName,
dyn_string &  models,
dyn_string &  exceptionInfo,
string  parentModel = "" 
)
Returns a list of possible device models for a given device datapoint type.

Optionally, it is possible to restrict the search to possible models, when the type it is used as child of a given device type/model.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpTypedevice datapoint type (e.g. FwCaenBoard)
parentDpNamedefines parent device type/model to restrict search
modelsreturns all models of the device type
exceptionInfodetails of any exceptions
parentModeloptional model of the parent (e.g. SY527)
fwDevice_openPanelAdd ( dyn_string  device,
dyn_float &  fReturn,
dyn_string &  sReturn,
dyn_string &  exceptionInfo 
)
Opens the panel to add children devices to the specified device. This

can be the default panel or a customized panel entered in the device definition.

Constraints
None
Usage
Public
PVSS managers
graphics manager
Parameters
devicedevice to add children to
fReturnfor future use
sReturnfor future use
exceptionInfodetails of any exceptions
string fwDevice_evalExpression ( string  stringToEvaluate,
mapping  variables,
dyn_string &  exceptionInfo 
)

This function is used to process a template string for an address with the help of replacement variables. The expressions to be evaluated must be enclosed in two curly brackets {{expr}}. It is possible to have several expressions in the string passed, but they cannot be nested.

Parameters
stringToEvaluatestring with expressions to be evaluated
variablesmapping of variable names to variable values
exceptionInfodetails of any exception
Returns
evaluated expression
fwDevice_processAddressTemplate ( string  deviceDpName,
string  templateString,
string &  finalString,
dyn_string &  exceptionInfo,
dyn_dyn_string  deviceHierarchy = "",
mapping  replacements = fwDevice_emptyMap 
)
This function is used to process a template string for an address,

replacing the tokens by their value. The tokens have to be appended by a number to indicate a position in the hierarchy. The numbering starts with 1 referencing the current device, 2 referencing the parent and so on. The possible tokens are:

<li>dpName: references a device dp name (e.g. \%dpName1% references the 
        current device dp name)
<li>name: references a device name (e.g. \%name2% references the device 
        name of the parent of the current device)
<li>pos: references the position of the device. The position is taken
        from the dp name and treated as a string, so, for example, it
        may contain trailing zeros (e.g. \%pos2% references the position
        of the parent device in the grandparent).
<li>decPos: references the position of the device. The position is taken
        from the dp name and treated as an int (e.g. \%decPos2% references 
        the position of the parent device in the grandparent).
Constraints
None
Usage
JCOP Framework internal
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedevice to which the template belongs (e.g. CAEN/crate003/board07/channel005)
templateStringtemplate to be processed
finalStringresult of the processing
exceptionInfodetails of any exceptions
deviceHierarchyoptionally it is possible to pass the hierarchy as returned by fwDevice_getHierarchy, to speed up
fwDevice_removeAliasRecursively ( dyn_string  device,
dyn_string &  exceptionInfo 
)
Sets the alias of the device and all its logical children to

an empty string (""), so that they are removed from the logical hierarchy.

Constraints
Only local because of limitation of dpAliasToName
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. Only device DP alias is required.
exceptionInfodetails of any exceptions
fwDevice_renameLogical ( dyn_string  device,
string  newDeviceAlias,
dyn_string &  exceptionInfo 
)
Renames the device in the logical view (sets the device alias to the 

new value) and consequently changes all its logical children so that the hierarchy is preserved. It is important to stress that what is changed is the device alias (e.g. wire001, and not the device dp alias (e.g. chamber03/plane02/wire001), so the device stays in the same position in the logical hierarchy. To move a device in the logical hierarchy, one has to use the copy/paste features of the Device Editor and Navigator.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
devicedevice object. Only device DP alias is required.
newDeviceAliasnew device alias for the device
exceptionInfodetails of any exceptions
DebugFTN ( "FW_INFO"  ,
"fwDevice_setAddress("+deviceDpName+")"  ,
dpes   
)
fwDevice_getModel ( device  ,
deviceModel  ,
exceptionInfo   
)
if ( dynlen(exceptionInfo)  )
fwDevice_getDefinitionDp ( device  ,
definitionDp  ,
exceptionInfo   
)
if ( addressParameters  [fwDevice_ADDRESS_TYPE] = fwDevice_ADDRESS_DEFAULT)
DebugFTN ( "FW_INFO"  ,
"fwDevice_setAddress(): device "+  device 
)
DebugFTN ( "FW_INFO"  ,
"fwDevice_setAddress(): addressParameters "+  addressParameters 
)
DebugFTN ( "FW_INFO"  ,
"fwDevice_setAddress(): definitionDp ,
definitionDp   
)
fwDevice_getHierarchy ( deviceDpName  ,
deviceHierarchy  ,
exceptionInfo   
)
if ( mappinglen(replacements)  = = 0)
switch ( addressParameters  [fwDevice_ADDRESS_TYPE])
if ( withSelectedDpes)
fwDevice_setDpFunction ( string  deviceDpName,
string  operation,
dyn_string &  exceptionInfo,
string  definitionDp = "",
dyn_dyn_string  deviceHierarchy = "",
mapping  replacements = fwDevice_emptyMap,
bool  skipNotExisting = false,
dyn_string  selectedDpes = "" 
)
Sets the dp function for the given device with the given parameters.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
operationoperation to be performed: -Set DpFunction: fwDevice_DPFUNCTION_SET -Unset DpFunction: fwDevice_DPFUNCTION_UNSET
exceptionInfodetails of any exceptions
definitionDpwhere to read the device definition. It is optional. If it is required by the function and it has not been passed, the function will get it
deviceHierarchydevice hierarchy above deviceDpName (including it). It is optional. If it is required by the function and it has not been passed, the function will get it
replacementsmapping of the replacments to pass to generate the dp function from template. If empty it is filled automatically based on the default values
skipNotExistingskip dp function depending from other data points if the other data point does not exist
fwDevice_setDpFunctionRecursively ( string  deviceDpName,
string  operation,
dyn_string &  exceptionInfo,
string  definitionDp = "",
dyn_dyn_string  deviceHierarchy = "",
string  hierarchyType = fwDevice_HARDWARE 
)
Sets the dp function for the given device and all of its children in 

the specified hierarchy with the given parameters. By default the hardware hierarchy is used.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
operationoperation to be performed: -Set DpFunction: fwDevice_DPFUNCTION_SET -Unset DpFunction: fwDevice_DPFUNCTION_UNSET
exceptionInfodetails of any exceptions
definitionDpwhere to read the device definition. It is optional. If it is required by the function and it has not been passed, the function will get it
deviceHierarchydevice hierarchy above deviceDpName (including it). It is optional. If it is required by the function and it has not been passed, the function will get it
hierarchyTypehierarchy where to apply the recursive action -fwDevice_HARDWARE -fwDevice_LOGICAL
fwDevice_setAddressRecursively ( string  deviceDpName,
dyn_string  addressParameters,
dyn_string &  exceptionInfo,
string  hierarchyType = "HARDWARE" 
)
Sets the address for the given device and all of its children in 

the hardware hierarchy, with the given parameters.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07)
addressParametersparameters to be used when setting the address
exceptionInfodetails of any exceptions
hierarchyTypehierarchy where to apply the recursive action -fwDevice_HARDWARE -fwDevice_LOGICAL the default value is fwDevice_HARDWARE. The constant cannot be used because of the PVSS bug when using default values in recursive functions
fwDevice_setAlert ( string  deviceDpName,
string  operation,
dyn_string &  exceptionInfo,
dyn_string  selectedDpes = "" 
)
This function can be used to perform several operations on the alert

config of the given device, based on the device definition information: Set the alert for the dpes that can have a default according to the definition (operation = fwDevice_ALERT_SET) Unset the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_UNSET) Mask the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_MASK) Unmask the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_UNMASK) Acknowledge the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_ACK) Unset the summary alert (operation = fwDevice_ALERT_SUMMARY_UNSET)

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
operationoperation to be performed as specified in the description
exceptionInfodetails of any exceptions
fwDevice_setAlertRecursively ( string  deviceDpName,
string  operation,
dyn_string &  exceptionInfo,
string  hierarchyType = "HARDWARE" 
)
This function can be used to perform several operations on the alert

config of the given device and all of its children in the hardware hierarchy, based on the device definition information: Set the alert for the dpes that can have a default according to the default in the definition (operation = fwDevice_ALERT_SET) Unset the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_UNSET) Mask the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_MASK) Unmask the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_UNMASK) Acknowledge the alert for the dpes that can have it according to the definition (operation = fwDevice_ALERT_ACK) Unset the summary alert (operation = fwDevice_ALERT_SUMMARY_UNSET)

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07)
operationoperation to be performed as specified in the description
exceptionInfodetails of any exceptions
hierarchyTypehierarchy where to apply the recursive action -fwDevice_HARDWARE -fwDevice_LOGICAL the default value is fwDevice_HARDWARE. The constant cannot be used because of the PVSS bug when using default values in recursive functions
fwDevice_setArchive ( string  deviceDpName,
string  archiveClass,
string  operation,
dyn_string &  exceptionInfo 
)
This function can be used to perform several operations on the archive

config of the given device, based on the device definition information: Set the archive for the dpes that can have it according to the default in the definition (operation = fwDevice_ARCHIVE_SET) Unset the archive for the dpes that can have it according to the definition (operation = fwDevice_ARCHIVE_UNSET)

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
archiveClassname of the PVSS archive class to be used for the configs
operationoperation to be performed as specified in the description
exceptionInfodetails of any exceptions
fwDevice_setArchiveRecursively ( string  deviceDpName,
string  archiveClass,
string  operation,
dyn_string &  exceptionInfo,
string  hierarchyType = "HARDWARE" 
)
This function can be used to perform several operations on the archive

config of the given device and all of its children in the hardware hierarchy, based on the device definition information: Set the archive for the dpes that can have it according to the definition (operation = fwDevice_ARCHIVE_SET) Unset the archive for the dpes that can have it according to the definition (operation = fwDevice_ARCHIVE_UNSET)

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07)
archiveClassname of the PVSS archive class to be used for the configs
operationoperation to be performed as specified in the description
exceptionInfodetails of any exceptions
hierarchyTypehierarchy where to apply the recursive action -fwDevice_HARDWARE -fwDevice_LOGICAL the default value is fwDevice_HARDWARE. The constant cannot be used because of the PVSS bug when using default values in recursive functions
fwDevice_setDefaultValues ( string  deviceDpName,
dyn_string &  exceptionInfo,
mapping  replacements = fwDevice_emptyMap 
)
Sets the default values for the dpes inside that have

a default value spedified in the device/model definition

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
exceptionInfodetails of any exceptions
replacementsvariables to replace
fwDevice_setModel ( string  deviceDpName,
string  deviceModel,
dyn_string &  exceptionInfo 
)
This function sets the model of a given device to the specified

string, if the device type supports to have models defined.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
deviceModeldevice model
exceptionInfodetails of any exceptions
fwDevice_setPropertyRecursively ( string  deviceDpName,
string  element,
string  hierarchyType,
string  value,
dyn_string  exceptionInfo 
)
Sets a new value for a given element in the given device, and for all

of its children in the specified hierarchy if they have also that element.

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
elementelement in the datapoint to be set
hierarchyTypehierarchy type, either fwDevice_HARDWARE or fwDevice_LOGICAL
valuevalue to be set
exceptionInfodetails of any exceptions
bool fwDevice_isValidVariableName ( string  name)

Check if a string is a valid variable name

Parameters
namethe string to check
Returns
true if it is a valid variable name
mapping fwDevice_getReplacementsFromDp ( string  deviceDpName,
dyn_string &  exceptionInfo 
)

Assuming that the default values have been applied and that for each parameter there is an element set to {{parameter}} this function returns the mapping of replacements variable name = variable value for the given device

Parameters
deviceDpNamethe device to get the replacements
exceptionInfodetails of any exception
Returns
mapping variable name to variable value
fwDevice_setUnits ( string  deviceDpName,
dyn_string &  exceptionInfo 
)
Sets the units for the dpes inside that have

a unit spedified in the device/model definition

Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
exceptionInfodetails of any exceptions
Reviewed:
2018-06-22 API Even though it does not seem to be used, keep it as a part of public API

Variable Documentation

const unsigned fwDevice_ALL = 0

all configs

const unsigned fwDevice_ADDRESS_INDEX = 1

address config

const unsigned fwDevice_ALERT_INDEX = 2

alert config

const unsigned fwDevice_ARCHIVE_INDEX = 3

archive config

const unsigned fwDevice_PVRANGE_INDEX = 4

pv_range config

const unsigned fwDevice_CONVERSION_INDEX = 5

conversion config

const unsigned fwDevice_SMOOTHING_INDEX = 6

smoothing config

const unsigned fwDevice_UNIT_INDEX = 7

unit (not a PVSS config, but we treat it as if it was)

const unsigned fwDevice_FORMAT_INDEX = 8

format (not a PVSS config, but we treat it as if it was)

const unsigned fwDevice_DPFUNCTION_INDEX = 9

dp_function config

const unsigned fwDevice_ORIGINAL_INDEX = 10
const unsigned MIN_CONFIG_INDEX = 1
const unsigned MAX_CONFIG_INDEX = 9
const int fwDevice_CONFIG_PROPERTY = 1
const int fwDevice_CONFIG_DPE = 2
const int fwDevice_CONFIG_MAX_INDEX = 2
global dyn_string fwDevice_CONFIG
global dyn_string fwDevice_CONFIG_CAN_HAVE
global dyn_dyn_string fwDevice_CONFIG_ATTRIBUTES_DEFINITION
string fwDevice_DEFINITION_EMPTY_ENTRY = "EMPTY"
global unsigned fwDevice_ADDRESS_TYPE
global unsigned fwDevice_ADDRESS_DRIVER_NUMBER
global unsigned fwDevice_ADDRESS_ROOT_NAME
global unsigned fwDevice_ADDRESS_OPC_SERVER_NAME
global unsigned fwDevice_ADDRESS_OPC_GROUP_IN
global unsigned fwDevice_ADDRESS_OPC_GROUP_OUT
global unsigned fwDevice_ADDRESS_OPCUA_SERVER_NAME
global unsigned fwDevice_ADDRESS_OPCUA_SUBSCRIPTION_IN
global unsigned fwDevice_ADDRESS_OPCUA_SUBSCRIPTION_OUT
global unsigned fwDevice_ADDRESS_OPCUA_KIND
global unsigned fwDevice_ADDRESS_OPCUA_VARIANT
global unsigned fwDevice_ADDRESS_S7_START
global unsigned fwDevice_ADDRESS_S7_SUBINDEX
global unsigned fwDevice_ADDRESS_S7_INTERVAL
global unsigned fwDevice_ADDRESS_DIM_TIME_INTERVAL
global unsigned fwDevice_ADDRESS_DIM_TIME_STAMP
const string fwDevice_ADDRESS_NONE = "NO HARDWARE CONNECTION"
const string fwDevice_ADDRESS_DEFAULT = "DEFAULT"
const string fwDevice_ADDRESS_OPC = "OPC"
const string fwDevice_ADDRESS_DIM = "DIM"
const string fwDevice_ADDRESS_MODBUS = "MODBUS"
const string fwDevice_ADDRESS_DIP = "DIP"
const string fwDevice_ADDRESS_S7 = "S7"
const string fwDevice_ADDRESS_SNMP = "SNMP"
const string fwDevice_ADDRESS_OPCUA = "OPCUA"
global dyn_int fwDevice_ADDRESS_DIR_INPUT
global dyn_int fwDevice_ADDRESS_DIR_OUTPUT
global dyn_int fwDevice_ADDRESS_DIR_INPUT_OUTPUT
const string fwDevice_ADDRESS_DPES_ALL = "ALL"
const string fwDevice_ADDRESS_DPES_INPUT = "INPUT"
const string fwDevice_ADDRESS_DPES_OUTPUT = "OUTPUT"
const string fwDevice_ADDRESS_DPES_INPUT_OUTPUT = "INPUT/OUTPUT"
global dyn_string fwDevice_ADDRESS_MODE_TO_LABEL
const unsigned fwDevice_ADDRESS_SUBSTITUTION_LEVELS = 4
const int fwDevice_OPC_SERVER_NAME = 1
const int fwDevice_OPC_SERVER_COMPUTER = 2
const int fwDevice_OPC_SERVER_PROGID = 3
const int fwDevice_OPC_SERVER_STATE_TIMER = 4
const int fwDevice_OPC_SERVER_RECONNECT_TIMER = 5
global dyn_int fwDevice_ADDRESS_OPC_MODE_TO_GROUP_MAPPING
const int fwDevice_DPATTR_ADDR_MODE_INPUT_OUTPUT = 6
const int fwDevice_DPCONFIG_NONE = 10
const string fwDevice_ADDRESS_SET = "ADDRESS SET"
const string fwDevice_ADDRESS_UNSET = "ADDRESS DEL"
const string fwDevice_ALERT_NONE = "NO ALARMS"
const string fwDevice_ALERT_DEFAULT = "DEFAULT"
const string fwDevice_ALERT_SET = "ALERT SET"
const string fwDevice_ALERT_UNSET = "ALERT UNSET"
const string fwDevice_ALERT_MASK = "ALERT MASK"
const string fwDevice_ALERT_UNMASK = "ALERT UNMASK"
const string fwDevice_ALERT_ACK = "ALERT ACK"
const string fwDevice_ALERT_SUMMARY_UNSET = "ALERT_SUMMARY_UNSET"
const string fwDevice_ARCHIVE_SET = "SET"
const string fwDevice_ARCHIVE_UNSET = "DEL"
const string fwDevice_ARCHIVE_CLASS = "fwArchiver"
const string fwDevice_DPFUNCTION_SET = "SET"
const string fwDevice_DPFUNCTION_UNSET = "UNSET"
const int fwDevice_CONFIG_CONVERSION_TYPE = 1
const unsigned fwDevice_DP_NAME = 1
const unsigned fwDevice_DP_TYPE = 2
const unsigned fwDevice_COMMENT = 3
const unsigned fwDevice_MODEL = 4
const unsigned fwDevice_DP_ALIAS = 5
const unsigned fwDevice_ALIAS = 6
const unsigned fwDevice_TYPE = 7
const unsigned fwDevice_OBJECT_MAX_INDEX = 6
const unsigned fwDEVICE_DEFAULT_CONFIGS = 1
const unsigned fwDEVICE_DEFAULT_CHILDREN = 2
const unsigned fwDevice_PANEL_NAVIGATOR_HARDWARE = 1
const unsigned fwDevice_PANEL_NAVIGATOR_LOGICAL = 2
const unsigned fwDevice_PANEL_EDITOR_HARDWARE = 3
const unsigned fwDevice_PANEL_EDITOR_LOGICAL = 4
const unsigned fwDevice_PANEL_EDITOR_EXPERT = 5
const unsigned fwDevice_PANEL_EDITOR_HARDWARE_ADD = 6
const unsigned fwDevice_PANEL_EDITOR_HARDWARE_REMOVE = 7
const string fwDevice_PANEL_EDITOR_HARDWARE_ADD_DEFAULT = "fwDevice/fwDeviceCreate"
const string fwDevice_DEFINITION_SUFIX = "Info"
const string fwDevice_ELEMENTS = ".properties.dpes"
const unsigned fwDevice_ELEMENTS_INDEX = 1
const string fwDevice_PROPERTY_NAMES = ".properties.names"
const unsigned fwDevice_PROPERTY_NAMES_INDEX = 2
const string fwDevice_USER_DATA = ".properties.userData"
const unsigned fwDevice_USER_DATA_INDEX = 3
const string fwDevice_DESCRIPTION = ".properties.description"
const unsigned fwDevice_DESCRIPTION_INDEX = 4
const string fwDevice_DEFAULT_VALUES = ".properties.defaultValues"
const unsigned fwDevice_DEFAULT_VALUES_INDEX = 5
const string fwDevice_ELEMENTS_TYPES = ".properties.types"
const unsigned fwDevice_ELEMENTS_TYPES_INDEX = 6
const string fwDevice_DPE_TYPE_REFERENCE = "REFERENCE"
const string fwDevice_DPE_TYPE_INT = "INT"
const string fwDevice_DPE_TYPE_FLOAT = "FLOAT"
const string fwDevice_DPE_TYPE_BOOL = "BOOL"
const string fwDevice_DPE_TYPE_STRING = "STRING"
const string fwDevice_HIERARCHY_SEPARATOR = "/"
const string fwDevice_HIERARCHY_LOGICAL_CUT = "!"
const int fwDevice_HIERARCHY_DP_NAME = 1
const int fwDevice_HIERARCHY_POSITION_STRING = 2
const int fwDevice_HIERARCHY_POSITION = 3
const string fwDevice_HARDWARE = "HARDWARE"
const string fwDevice_HARDWARE_SELECT = "HARDWARE SELECT"
const string fwDevice_LOGICAL = "LOGICAL"
const string fwDevice_LOGICAL_CLIPBOARD = "LOGICAL CLIPBOARD"
const string fwDevice_FSM_EDITOR = "FSM_EDITOR"
const string fwDevice_FSM_NAVIGATOR = "FSM_NAVIGATOR"
const int fwDevice_MODEL_SLOTS = 1
const int fwDevice_MODEL_SYMBOLS = 2
const int fwDevice_MODEL_UNITS = 3
const int fwDevice_MODEL_LIMITS = 4
const int fwDevice_MODEL_WIDTH = 5
const int fwDevice_MODEL_CHILDREN_DP_TYPES = 6
const int fwDevice_MODEL_NAME_ROOT = 7
const int fwDevice_MODEL_NAME_DIGITS = 8
const int fwDevice_MODEL_STARTING_NUMBER = 9
global mapping fwDevice_modelDpCache
const int fwDevice_DEFAULT_SLOTS_NUMBER = 20
global mapping fwDevice_emptyMap
int driverNumber
Initial value:
{
bool hasAddress, withSelectedDpes
withSelectedDpes
Definition: fwDevice.ctl:4296
Sets the address for the given device with the given parameters.
Constraints
None
Usage
Public
PVSS managers
VISION, CTRL
Parameters
deviceDpNamedp name of the device (e.g. CAEN/crate003/board07/channel005)
addressParametersparameters to be used when setting the address
exceptionInfodetails of any exceptions
itemPrefixprefix to be used for all the item names in the addresses
dpeslist of dpes to consider, if empty all dpes are considered
replacementsmapping of the replacments to pass to generate the dp function from template. If empty it is filled automatically based on the default values
objectSize = dynlen(addressParameters)
string definitionDp
string deviceModel
dyn_bool canHaveDpFunction
dyn_int addressModes
dyn_string dpElements
dyn_string items
dyn_string dpFunctions
dyn_string dpParams
dyn_string dpParamsList
device[fwDevice_MODEL] = makeDynString(deviceDpName, dpTypeName(deviceDpName), "", "")
dyn_string elementsToDelete
dyn_dyn_string deviceHierarchy
return
Initial value:
{
fwException_raise( exceptionInfo,
"ERROR",
"fwDevice_setAddress(): " + deviceDpName + " does not exist",
"")
else withSelectedDpes = FALSE