Skip to content
Snippets Groups Projects

Port silecs cli to Python

Merged m.nabywaniec requested to merge 70-port-cli-client-to-python into master
Compare and
14 files
+ 1363
0
Compare changes
  • Side-by-side
  • Inline
Files
14
<?xml version="1.0" encoding="UTF-8"?>
<equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/opt/fesa/fesa-model-gsi/7.4.0/xml/design/design-gsi.xsd">
<information>
<class-name>SilecsTestClass</class-name>
<class-major-version>0</class-major-version>
<class-minor-version>1</class-minor-version>
<class-tiny-version>0</class-tiny-version>
<type>Final</type>
<description>An empty design with GSI-specific standard properties</description>
<fesa-version>7.4.0</fesa-version>
</information>
<ownership>
<responsible name="ACO"/>
<creator login="mnabywan"/>
</ownership>
<interface>
<device-interface>
<setting>
<GSI-Init-Property multiplexed="false" name="Init" visibility="operational" id="_220816101616_0">
<description>Control property, used to initialize the device with default values from the device instantiation file</description>
<set-action partial-setting="true" transaction="true">
<server-action-ref server-action-name-ref="InitSetAction"/>
</set-action>
</GSI-Init-Property>
<GSI-Reset-Property multiplexed="false" name="Reset" visibility="operational" id="_220816101616_1">
<description>Control property, used to reset the device while keeping the persistent data.</description>
<set-action partial-setting="true" transaction="true">
<server-action-ref server-action-name-ref="ResetSetAction"/>
</set-action>
</GSI-Reset-Property>
<GSI-Setting-Property multiplexed="false" name="Setting" visibility="operational" id="_220816101617_0">
<description>Used for setting hardware parameters for controlling the device.</description>
<update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816101620_2">
<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
</update-flag-item>
<cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816101620_3">
<array type="char">
<dim>32</dim>
</array>
</cycle-name-item>
<set-action partial-setting="true" transaction="true">
<server-action-ref server-action-name-ref="SettingSetAction"/>
</set-action>
<get-action>
<server-action-ref server-action-name-ref="SettingGetAction"/>
</get-action>
</GSI-Setting-Property>
<GSI-Setting-Property name="MySetting" visibility="development" multiplexed="false" id="_220816115050_0"><value-item name="DQ_Anlog00" direction="INOUT" id="_220817081951_0"><scalar type="int32_t"/><data-field-ref field-name-ref="DQ_Anlog00"/></value-item><value-item name="DQ_Bool07" direction="INOUT" id="_220817081951_1"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool07"/></value-item><value-item name="DQ_Bool06" direction="INOUT" id="_220817081951_2"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool06"/></value-item><value-item name="DQ_Bool05" direction="INOUT" id="_220817081952_0"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool05"/></value-item><value-item name="DQ_Bool04" direction="INOUT" id="_220817081952_1"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool04"/></value-item><value-item name="DQ_Bool03" direction="INOUT" id="_220817081952_2"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool03"/></value-item><value-item name="DQ_Bool02" direction="INOUT" id="_220817081952_3"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool02"/></value-item><value-item name="DQ_Bool01" direction="INOUT" id="_220817081952_4"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool01"/></value-item><value-item name="DQ_Bool00" direction="INOUT" id="_220817081953_0"><scalar type="int16_t"/><data-field-ref field-name-ref="DQ_Bool00"/></value-item><value-item name="mySettingRegister" direction="INOUT" id="_220816115051_1"><scalar type="int32_t"/><data-field-ref field-name-ref="mySettingRegister"/></value-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816115051_2"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816115052_0"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMySetting"/></set-action><get-action><server-action-ref server-action-name-ref="GetMySetting"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational" id="_220816101617_1">
<description>Used to turn the power of a device on or off.</description>
<update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816101621_0">
<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
</update-flag-item>
<cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816101621_1">
<array type="char">
<dim>32</dim>
</array>
</cycle-name-item>
<set-action partial-setting="true" transaction="true">
<server-action-ref server-action-name-ref="PowerSetAction"/>
</set-action>
<get-action>
<server-action-ref server-action-name-ref="PowerGetAction"/>
</get-action>
<power-item direction="INOUT" name="power" id="_220816101621_2">
<custom-type-scalar data-type-name-ref="DEVICE_POWER"/>
<data-field-ref field-name-ref="power"/>
</power-item>
</GSI-Power-Property>
</setting>
<acquisition>
<GSI-Status-Property cycle-bound="false" name="Status" on-change="true" subscribable="true" visibility="operational" id="_220816101618_0">
<description>Used to display the (cycle independent) overall status of the device.</description>
<description>Detailed status information may be additionally added to this property.</description>
<acq-stamp-item direction="OUT" name="acqStamp" id="_220816101622_0">
<scalar type="int64_t"/>
</acq-stamp-item>
<update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816101622_1">
<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
</update-flag-item>
<cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816101622_2">
<array type="char">
<dim>32</dim>
</array>
</cycle-name-item>
<cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_220816101622_3">
<scalar type="int64_t"/>
</cycle-stamp-item>
<get-action>
<server-action-ref server-action-name-ref="StatusGetAction"/>
</get-action>
<status-item direction="OUT" name="status" id="_220816101623_0">
<custom-type-scalar data-type-name-ref="DEVICE_STATUS"/>
<data-field-ref field-name-ref="status"/>
</status-item>
<detailed-status-item direction="OUT" name="detailedStatus" id="_220816101623_1">
<description>Detailed status should consist of an array of boolean values considered as detailed status information as well as a
corresponding string array containing keys to illustrate the meaning of the detailed status information.</description>
<array type="bool">
<custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
</array>
<data-field-ref field-name-ref="detailedStatus"/>
</detailed-status-item>
<detailed-status-labels-item direction="OUT" name="detailedStatus_labels" id="_220816101623_2">
<description>Labels of detailed status bits.</description>
<array2D type="char">
<custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/>
<custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/>
</array2D>
<data-field-ref field-name-ref="detailedStatus_labels"/>
</detailed-status-labels-item>
<detailed-status-severity-item direction="OUT" name="detailedStatus_severity" id="_220816101624_0">
<description>Severities of the detailed status bits</description>
<custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY">
<custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
</custom-type-array>
<data-field-ref field-name-ref="detailedStatus_severity"/>
</detailed-status-severity-item>
<powerState-item direction="OUT" name="powerState" id="_220816101624_1">
<description>Power state of the device (ON, OFF)</description>
<custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/>
<data-field-ref field-name-ref="powerState"/>
</powerState-item>
<control-item direction="OUT" name="control" id="_220816101624_2">
<custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/>
<data-field-ref field-name-ref="control"/>
</control-item>
<interlock-item direction="OUT" name="interlock" id="_220816101624_3">
<description>Interlock state of the device</description>
<scalar type="bool"/>
<data-field-ref field-name-ref="interlock"/>
</interlock-item>
<opReady-item direction="OUT" name="opReady" id="_220816101625_0">
<description>Contains the devices state regarding operation</description>
<scalar type="bool"/>
<data-field-ref field-name-ref="opReady"/>
</opReady-item>
<modulesReady-item direction="OUT" name="modulesReady" id="_220816101625_1">
<description>Contains the devices module state</description>
<scalar type="bool"/>
<data-field-ref field-name-ref="modulesReady"/>
</modulesReady-item>
<error_collection-item direction="OUT" id="_220816101625_2">
<error_codes direction="OUT" name="error_codes">
<array type="int32_t">
<custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
</array>
</error_codes>
<error_messages direction="OUT" name="error_messages">
<array2D type="char">
<custom-constant-dim1 constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
<custom-constant-dim2 constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
</array2D>
</error_messages>
<error_timestamps direction="OUT" name="error_timestamps">
<array type="int64_t">
<custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
</array>
</error_timestamps>
<error_cycle_names direction="OUT" name="error_cycle_names">
<array2D type="char">
<custom-constant-dim1 constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
<custom-constant-dim2 constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
</array2D>
</error_cycle_names>
<error_collection-field-ref field-name-ref="error_collection"/>
</error_collection-item>
</GSI-Status-Property>
<GSI-ModuleStatus-Property cycle-bound="false" name="ModuleStatus" subscribable="true" visibility="operational" id="_220816101619_0">
<description>Gives detailed information on the state of 3rd party hardware and software components which are required to operate the device.</description>
<acq-stamp-item direction="OUT" name="acqStamp" id="_220816101625_3">
<scalar type="int64_t"/>
</acq-stamp-item>
<update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816101626_0">
<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
</update-flag-item>
<cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816101626_1">
<array type="char">
<dim>32</dim>
</array>
</cycle-name-item>
<cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_220816101626_2">
<scalar type="int64_t"/>
</cycle-stamp-item>
<get-action>
<server-action-ref server-action-name-ref="ModuleStatusGetAction"/>
</get-action>
<module-status-item direction="OUT" name="moduleStatus" id="_220816101627_0">
<custom-type-array data-type-name-ref="MODULE_STATUS">
<custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/>
</custom-type-array>
<data-field-ref field-name-ref="moduleStatus"/>
</module-status-item>
<module-status-labels-item direction="OUT" name="moduleStatus_labels" id="_220816101628_0">
<array2D type="char">
<custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/>
<custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/>
</array2D>
<data-field-ref field-name-ref="moduleStatus_labels"/>
</module-status-labels-item>
</GSI-ModuleStatus-Property>
<GSI-Acquisition-Property cycle-bound="true" name="Acquisition" on-change="true" subscribable="true" visibility="operational" id="_220816101619_1">
<description>Used for returning acquisition data which is retrieved from the hardware.</description>
<acq-stamp-item direction="OUT" name="acqStamp" id="_220816101630_0">
<scalar type="int64_t"/>
</acq-stamp-item>
<update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816101630_1">
<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
</update-flag-item>
<cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816101630_2">
<array type="char">
<dim>32</dim>
</array>
</cycle-name-item>
<cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_220816101631_0">
<scalar type="int64_t"/>
</cycle-stamp-item>
<get-action>
<server-action-ref server-action-name-ref="AcquisitionGetAction"/>
</get-action>
<acquisition-context-item direction="OUT" id="_220816101631_1">
<processIndex direction="OUT" name="processIndex">
<scalar type="int32_t"/>
</processIndex>
<sequenceIndex direction="OUT" name="sequenceIndex">
<scalar type="int32_t"/>
</sequenceIndex>
<chainIndex direction="OUT" name="chainIndex">
<scalar type="int32_t"/>
</chainIndex>
<eventNumber direction="OUT" name="eventNumber">
<scalar type="int32_t"/>
</eventNumber>
<timingGroupID direction="OUT" name="timingGroupID">
<scalar type="int32_t"/>
</timingGroupID>
<acquisitionStamp direction="OUT" name="acquisitionStamp">
<scalar type="int64_t"/>
</acquisitionStamp>
<eventStamp direction="OUT" name="eventStamp">
<scalar type="int64_t"/>
</eventStamp>
<processStartStamp direction="OUT" name="processStartStamp">
<scalar type="int64_t"/>
</processStartStamp>
<sequenceStartStamp direction="OUT" name="sequenceStartStamp">
<scalar type="int64_t"/>
</sequenceStartStamp>
<chainStartStamp direction="OUT" name="chainStartStamp">
<scalar type="int64_t"/>
</chainStartStamp>
<acquisition-context-field-ref field-name-ref="acquisitionContext"/>
</acquisition-context-item>
</GSI-Acquisition-Property>
<GSI-Acquisition-Property name="MyBlock" visibility="development" subscribable="true" cycle-bound="false" on-change="true" id="_220816115051_0"><value-item name="DI_Anlog01" direction="OUT" id="_220817081953_1"><scalar type="int32_t"/><data-field-ref field-name-ref="DI_Anlog01"/></value-item><value-item name="DI_Anlog00" direction="OUT" id="_220817081953_2"><scalar type="int32_t"/><data-field-ref field-name-ref="DI_Anlog00"/></value-item><value-item name="DI_Bool07" direction="OUT" id="_220817081953_3"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool07"/></value-item><value-item name="DI_Bool06" direction="OUT" id="_220817081953_4"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool06"/></value-item><value-item name="DI_Bool05" direction="OUT" id="_220817081953_5"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool05"/></value-item><value-item name="DI_Bool04" direction="OUT" id="_220817081954_0"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool04"/></value-item><value-item name="DI_Bool03" direction="OUT" id="_220817081954_1"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool03"/></value-item><value-item name="DI_Bool02" direction="OUT" id="_220817081954_2"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool02"/></value-item><value-item name="DI_Bool01" direction="OUT" id="_220817081954_3"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool01"/></value-item><value-item name="DI_Bool00" direction="OUT" id="_220817081954_4"><scalar type="int16_t"/><data-field-ref field-name-ref="DI_Bool00"/></value-item><value-item name="myRegister" direction="OUT" id="_220816115052_1"><scalar type="int32_t"/><data-field-ref field-name-ref="myRegister"/></value-item><acq-stamp-item direction="OUT" name="acqStamp" id="_220816115052_2"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816115052_3"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816115053_0"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_220816115053_1"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyBlock"/></get-action><acquisition-context-item direction="OUT" id="_220816115053_2"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Version-Property cycle-bound="false" name="Version" on-change="false" subscribable="false" visibility="operational" id="_220816101619_2">
<description>Returns the current software and hardware versions of a piece of equipment.</description>
<acq-stamp-item direction="OUT" name="acqStamp" id="_220816101631_2">
<scalar type="int64_t"/>
</acq-stamp-item>
<update-flag-item direction="OUT" name="updateFlags" optional="true" id="_220816101631_3">
<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
</update-flag-item>
<cycle-name-item direction="OUT" name="cycleName" optional="true" id="_220816101631_4">
<array type="char">
<dim>32</dim>
</array>
</cycle-name-item>
<cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_220816101631_5">
<scalar type="int64_t"/>
</cycle-stamp-item>
<get-action>
<server-action-ref server-action-name-ref="VersionGetAction"/>
</get-action>
<version-item direction="OUT" name="classVersion" id="_220816101632_0">
<array type="char">
<custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
</array>
</version-item>
<version-item direction="OUT" name="deployUnitVersion" id="_220816101632_1">
<array type="char">
<custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
</array>
</version-item>
<version-item direction="OUT" name="fesaVersion" id="_220816101632_2">
<array type="char">
<custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
</array>
</version-item>
</GSI-Version-Property>
</acquisition>
</device-interface>
<global-interface>
<setting>
<diagnostic-property multiplexed="false" name="DiagnosticSetting" visibility="expert" id="_220816101620_0">
<description>Generic property which allows to diagnose any FESA classes</description>
<mode-item direction="INOUT" name="enableDiagMode" id="_220816101632_3">
<scalar type="bool"/>
</mode-item>
<host-item direction="INOUT" name="hostName" id="_220816101632_4">
<description>Host of the FESA class</description>
<array type="char">
<dim>32</dim>
</array>
</host-item>
<port-item direction="INOUT" name="portNumber" id="_220816101632_5">
<description>Port used by the FESA class</description>
<scalar type="int32_t"/>
</port-item>
<config-item direction="IN" name="requestConfig" id="_220816101632_6">
<scalar type="bool"/>
</config-item>
<state-item direction="IN" name="requestState" id="_220816101633_0">
<scalar type="bool"/>
</state-item>
<fwk-topic-item direction="INOUT" name="fwkTopic" id="_220816101633_1">
<builtin-type-scalar data-type-name-ref="DIAG_FWK_TOPIC"/>
</fwk-topic-item>
<custom-topic-item direction="INOUT" name="customTopic" id="_220816101633_2">
<custom-type-scalar data-type-name-ref="DIAG_TOPIC"/>
</custom-topic-item>
<device-trace-item direction="INOUT" name="traceDevices" id="_220816101633_3">
<array type="char">
<dim>320</dim>
</array>
</device-trace-item>
<bypass-action-item direction="INOUT" name="bypassActions" id="_220816101633_4">
<array type="char">
<dim>320</dim>
</array>
</bypass-action-item>
</diagnostic-property>
</setting>
<acquisition>
<GSI-DeviceDescription-Property cycle-bound="false" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational" id="_220816101620_1">
<timing-info-item direction="OUT" name="deviceNameTimingReceiver" id="_220816101633_5">
<array type="char">
<variable-dim/>
</array>
<data-field-ref field-name-ref="deviceNameTimingReceiver"/>
</timing-info-item>
<property-info-item direction="OUT" name="propertyNames" id="_220816101633_6">
<array2D type="char">
<variable-dim1/>
<variable-dim2/>
</array2D>
</property-info-item>
<device-info-item direction="OUT" name="deviceNames" id="_220816101634_0">
<array2D type="char">
<variable-dim1/>
<variable-dim2/>
</array2D>
</device-info-item>
<global-device-info-item direction="OUT" name="globalDeviceName" id="_220816101634_1">
<array type="char">
<variable-dim/>
</array>
</global-device-info-item>
<host-info-item direction="OUT" name="host" id="_220816101634_2">
<array type="char">
<variable-dim/>
</array>
</host-info-item>
</GSI-DeviceDescription-Property>
</acquisition>
</global-interface>
</interface>
<builtin-types>
<notification-update-enum name="NOTIFICATION_UPDATE">
<IMMEDIATE access="RO" symbol="IMMEDIATE" value="1"/>
<SET access="RO" symbol="SET" value="2"/>
</notification-update-enum>
<diag-fwk-topic name="DIAG_FWK_TOPIC">
<b0 name="SRV_GET_ACTION_PROFIING"/>
<b1 name="SRV_SET_ACTION_PROFILING"/>
<b2 name="RT_ACTION_PROFILING"/>
<b3 name="EVENT_PROFILING"/>
<b4 name="NOTIFICATION_PROFILING"/>
<b5 name="SRV_GET_ACTION_TRACKING"/>
<b6 name="SRV_SET_ACTION_TRACKING"/>
<b7 name="RT_ACTION_TRACKING"/>
<b8 name="EVENT_TRACKING"/>
<b9 name="NOTIFICATION_TRACKING"/>
<b10 name="PERSISTENCY_TRACKING"/>
<b11 name="TRANSACTION_TRACKING"/>
<b12 name="SUBSCRIPTION_TRACKING"/>
<b13 name="SIGNAL_HANDLER_TRACKING"/>
<b14 name="LOCAL_CONNECTION_TRACKING"/>
</diag-fwk-topic>
<fault-severity name="FaultSeverity">
<description>Enumeration listing the available fault severities used by the fault fields</description>
<INFO access="RO" meaning="NONE" symbol="INFO" value="0"/>
<WARNING access="RO" meaning="WARNING" symbol="WARNING" value="1"/>
<ERROR access="RO" meaning="ERROR" symbol="ERROR" value="2"/>
<CRITICAL access="RO" meaning="ERROR" symbol="CRITICAL" value="3"/>
</fault-severity>
</builtin-types>
<custom-types>
<diag-custom-topic name="DIAG_TOPIC" id="_220816101644_0">
</diag-custom-topic>
<enum name="DEVICE_STATUS" id="_220816101644_1">
<!--Possible (mutually exclusive) values to describe the device status-->
<item access="RW" meaning="NONE" symbol="UNKNOWN" value="0" id="_220816101650_4"/>
<!--The device status is unknown-->
<item access="RW" meaning="NONE" symbol="OK" value="1" id="_220816101651_0"/>
<!--The device is in fully operational state-->
<item access="RW" meaning="NONE" symbol="WARNING" value="2" id="_220816101651_1"/>
<!--The device is not fully operational; A device in WARNING state can still be used operationally, -->
<!--but clients must be informed of a problem that might become worse. Details are explained in the errorMsg field.-->
<item access="RW" meaning="NONE" symbol="ERROR" value="3" id="_220816101651_2"/>
<!--The device is in a fault state. Details are explained in the errorMsg field-->
</enum>
<enum name="DEVICE_POWER_STATE" id="_220816101645_0">
<!--Possible (mutually exclusive) values to describe the power-state of the device.-->
<item access="RW" meaning="NONE" symbol="UNKNOWN" value="0" id="_220816101651_3"/>
<!--The device mode is unknown-->
<item access="RW" meaning="ON" symbol="ON" value="1" id="_220816101652_0"/>
<!--The device is in fully operational state-->
<item access="RW" meaning="NONE" symbol="OFF" value="2" id="_220816101652_1"/>
<!--The device is turned off-->
<item access="RW" meaning="NONE" symbol="STANDBY" value="3" id="_220816101652_2"/>
<!--The device is in a stand-by mode. This mode is a sort of “parking mode” in which the device can -->
<!--stay for hours or even days. It is defined by the following characteristics:-->
<!--It is safe, it does not wear out, it consumes little energy.-->
<!--Furthermore, it takes a short time to go from STANDBY to ON mode-->
<item access="RW" meaning="NONE" symbol="POWER_DOWN" value="4" id="_220816101652_3"/>
<!--The device is shutting down. Note that some properties may not be accessible during this time.-->
<!--After shutdown the device will be in the mode OFF-->
<item access="RW" meaning="NONE" symbol="POWER_UP" value="5" id="_220816101653_0"/>
<!--The device is starting up. Note that some properties may not be accessible during this time.-->
<!--After (re-)starting the device probably will be in the mode ON-->
</enum>
<enum name="DEVICE_POWER" id="_220816101645_1">
<!--An enumeration Type used to control the operational mode of the device.-->
<!--Its values are a subset of those in the DEVICE_POWER_STATE type-->
<item access="RW" meaning="ON" symbol="ON" value="1" id="_220816101653_1"/>
<!--The device is in fully operational state-->
<item access="RW" meaning="OFF" symbol="OFF" value="2" id="_220816101653_2"/>
<!--The device is turned off-->
</enum>
<enum name="DEVICE_CONTROL" id="_220816101645_2">
<!--Possible values to describe the control mode of a device-->
<!--Currently two control modes (LOCAL, REMOTE) are defined-->
<item access="RW" meaning="NONE" symbol="REMOTE" value="0" id="_220816101653_3"/>
<!--The device can be controlled normally through the control system-->
<item access="RW" meaning="NONE" symbol="LOCAL" value="1" id="_220816101653_4"/>
<!--The device can be controlled locally. But it can be accessed in read-only mode via the control system-->
</enum>
<enum name="TOL_CHECK_MODE" id="_220816101646_0">
<!--This constant defines possible modes to check whether a control value is inside the tolerance values.-->
<!--Used to give information on how the tolerance fields are used to calculate the xxx_status information.-->
<item access="RO" symbol="ABS" value="0" id="_220816101653_5"/>
<!--Use the absolute tolerance _tolAbs-->
<item access="RO" symbol="REL" value="1" id="_220816101653_6"/>
<!--Use the relative tolerance _tolRel-->
</enum>
<bit-enum-32bits name="AQN_STATUS" id="_220816101646_1">
<!--Possible values to describe the acquisition status of a field (in the _status suffix)-->
<!--If this suffix is missing, it means that no additional status information is provided for the corresponding field-->
<!--If all bits are 0, this means that the corresponding field is OK.-->
<!--Only the lower 16 bits are standardized, the upper 16 bits can be defined by the equipment specialist.-->
<!--The difference between the Status property and the _status suffix is described in the section on the Status property.-->
<b0 name="NOT_OK"/>
<!--Some problem occurred that is not represented by the other bits. This property is called-->
<!-- NOT_OK so that it is not mixed up with ERROR or WARNING in the Status property-->
<b1 name="BAD_QUALITY"/>
<!--The value was acquired with a degraded quality. This is typically used for measurements.-->
<b2 name="DIFFERENT_FROM_SETTING"/>
<!--Different from the requested control value (for discrete values)--><!--or out of tolerance (for continuous values).-->
<b3 name="OUT_OF_RANGE"/>
<!--The value is out of the normal range (e.g. a temperature is too high or too low).-->
<b4 name="BUSY"/>
<!--The property value is changing in response to receiving a new control value (e.g. moving to a-->
<!--new position, charging a capacitor, ...). If the value change does not reach the requested new-->
<!--value within the maximum timeout, the BUSY bit should remain=1 and the TIMEOUT bit must be turned on.-->
<b5 name="TIMEOUT"/>
<!--A timeout occurred, because the property did not reach the reqested new control value within the-->
<!--maximum allowable time. A timeout normally indicates a problem to be addressed by the-->
<!--equipment specialist. This is typically used for slow changing control values that are BUSY while they change.-->
<b6 name="bit6_is_reserved_for_later_usage"/>
<b7 name="bit7_is_reserved_for_later_usage"/>
<b8 name="bit8_is_reserved_for_later_usage"/>
<b9 name="bit9_is_reserved_for_later_usage"/>
<b10 name="bit10_is_reserved_for_later_usage"/>
<b11 name="bit11_is_reserved_for_later_usage"/>
<b12 name="bit12_is_reserved_for_later_usage"/>
<b13 name="bit13_is_reserved_for_later_usage"/>
<b14 name="bit14_is_reserved_for_later_usage"/>
<b15 name="bit15_is_reserved_for_later_usage"/>
<!--bit 6 to 15 are reserved ... dont use them!-->
<b16 name="bit_16_and_higher_can_be_used_by_the_class_developer"/>
<!--into bit 16..32 you can put in anything you want-->
</bit-enum-32bits>
<struct name="GSI_ERROR" id="_220816101646_2">
<!--This struct-item describes the structure of an GSI-error-->
<struct-item name="error_string" id="_220816101654_7">
<!--This string holds the error-message-->
<array type="char">
<custom-constant-dim constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
</array>
</struct-item>
<struct-item name="error_code" id="_220816101654_8">
<!--The error code according to the defined error-message-->
<scalar type="int32_t"/>
</struct-item>
<!--The timestamp when the error occured-->
<struct-item name="error_timestamp" id="_220816101655_0">
<scalar type="int64_t"/>
</struct-item>
<!--The cycle for which the error occured-->
<struct-item name="error_cycle_name" id="_220816101655_1">
<array type="char">
<custom-constant-dim constant-name-ref="MAX_CYCLE_NAME_LENGTH"/>
</array>
</struct-item>
</struct>
<struct name="GSI_ACQ_CONTEXT" id="_220816101646_3">
<description>WhiteRabbit event specific acquisition information</description>
<struct-item name="processIndex" id="_220816101655_2">
<description>Used in order to index process-multiplexed data</description>
<scalar type="int32_t"/>
</struct-item>
<struct-item name="sequenceIndex" id="_220816101655_3">
<description>Used in order to index sequence-multiplexed data</description>
<scalar type="int32_t"/>
</struct-item>
<struct-item name="chainIndex" id="_220816101655_4">
<description>Refers to a specific beam production chain</description>
<scalar type="int32_t"/>
</struct-item>
<struct-item name="eventNumber" id="_220816101655_5">
<description>The number of the event describes it's type</description>
<scalar type="int32_t"/>
</struct-item>
<struct-item name="timingGroupID" id="_220816101655_6">
<description>ID of the timing group for which the event is relevant</description>
<scalar type="int32_t"/>
</struct-item>
<struct-item name="acquisitionStamp" id="_220816101655_7">
<description>The acquisition stamp is used to indicate when a measurement was done</description>
<scalar type="int64_t"/>
</struct-item>
<struct-item name="eventStamp" id="_220816101655_8">
<description>The event stamp is used to indicate when WhiteRabbit event was triggered on the Timing Receiver</description>
<scalar type="int64_t"/>
</struct-item>
<struct-item name="processStartStamp" id="_220816101656_0">
<description>The process start stamp indicates when the first event of the current process was triggered</description>
<scalar type="int64_t"/>
</struct-item>
<struct-item name="sequenceStartStamp" id="_220816101656_1">
<description>The sequence start stamp indicates when the first event of the current sequence was triggered</description>
<scalar type="int64_t"/>
</struct-item>
<struct-item name="chainStartStamp" id="_220816101656_2">
<description>The chain start stamp indicates when the first event of the current chain was triggered</description>
<scalar type="int64_t"/>
</struct-item>
</struct>
<constant name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256" id="_220816101647_0"/>
<constant name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16" id="_220816101647_1"/>
<constant name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256" id="_220816101647_2"/>
<constant name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256" id="_220816101648_0"/>
<constant name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30" id="_220816101648_1"/>
<constant name="DETAILED_STATUS_SIZE" type="uint32_t" value="2" id="_220816101649_0"/>
<enum name="DETAILED_STATUS_SEVERITY" id="_220816101650_0">
<item access="RO" symbol="INFO" value="0" id="_220816101653_7"/>
<item access="RO" symbol="WARNING_ON_FALSE" value="1" id="_220816101654_0"/>
<item access="RO" symbol="ERROR_ON_FALSE" value="2" id="_220816101654_1"/>
</enum>
<enum name="MODULE_STATUS" id="_220816101650_1">
<!-- Mutually exclusive values to describe the status of a hardware / software module-->
<item access="RO" symbol="UNKNOWN" value="0" id="_220816101654_2"/>
<!--The status of the module is not known-->
<item access="RO" symbol="OK" value="1" id="_220816101654_3"/>
<!--The module is in fully operational state-->
<item access="RO" symbol="WARNING" value="2" id="_220816101654_4"/>
<!--The module is not fully operational; A module in WARNING state may still be used operationally, -->
<!--but clients must be informed of a problem that might become worse. -->
<item access="RO" symbol="ERROR" value="3" id="_220816101654_5"/>
<!--The module is in a fault state. The related device is not operational.-->
<item access="RO" symbol="NOT_AVAILABLE" value="4" id="_220816101654_6"/>
<!--The module is missing. The related device is not operational.-->
</enum>
<constant name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30" id="_220816101650_2"/>
<constant name="MODULE_STATUS_SIZE" type="uint32_t" value="2" id="_220816101650_3"/>
</custom-types>
<data>
<device-data>
<configuration>
<field name="plcDeviceLabel" id="_220816115053_3"><description>Name of the related SILECS instance within the PLC mapping</description><array type="char"><dim>128</dim></array></field><field name="plcHostName" id="_220816115054_0"><description>Hostname of the PLC that contains the related SILECS class device</description><array type="char"><dim>128</dim></array></field><GSI-detailed-status-labels-field name="detailedStatus_labels" id="_220816101635_0">
<array2D type="char">
<custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/>
<custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/>
</array2D>
<default>{myStatusLabel1,myStatusLabel2}</default>
</GSI-detailed-status-labels-field>
<GSI-detailed-status-severity-field name="detailedStatus_severity" id="_220816101635_1">
<custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY">
<custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
</custom-type-array>
<default>{INFO,INFO}</default>
</GSI-detailed-status-severity-field>
<GSI-module-status-labels-field name="moduleStatus_labels" id="_220816101635_2">
<array2D type="char">
<custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/>
<custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/>
</array2D>
<default>{myModule1,myModule2}</default>
</GSI-module-status-labels-field>
</configuration>
<setting>
<field name="DQ_Anlog00" multiplexed="false" persistent="true" id="_220817081955_0"><scalar type="int32_t"/></field><field name="DQ_Bool07" multiplexed="false" persistent="true" id="_220817081955_1"><scalar type="int16_t"/></field><field name="DQ_Bool06" multiplexed="false" persistent="true" id="_220817081955_2"><scalar type="int16_t"/></field><field name="DQ_Bool05" multiplexed="false" persistent="true" id="_220817081955_3"><scalar type="int16_t"/></field><field name="DQ_Bool04" multiplexed="false" persistent="true" id="_220817081955_4"><scalar type="int16_t"/></field><field name="DQ_Bool03" multiplexed="false" persistent="true" id="_220817081955_5"><scalar type="int16_t"/></field><field name="DQ_Bool02" multiplexed="false" persistent="true" id="_220817081955_6"><scalar type="int16_t"/></field><field name="DQ_Bool01" multiplexed="false" persistent="true" id="_220817081956_0"><scalar type="int16_t"/></field><field name="DQ_Bool00" multiplexed="false" persistent="true" id="_220817081956_1"><scalar type="int16_t"/></field><field name="mySettingRegister" multiplexed="false" persistent="true" id="_220816115054_1"><scalar type="int32_t"/></field><GSI-power-field multiplexed="false" name="power" persistent="false" id="_220816101635_3">
<custom-type-scalar data-type-name-ref="DEVICE_POWER"/>
</GSI-power-field>
</setting>
<acquisition>
<field name="DI_Anlog01" cycle-bound="false" persistent="false" id="_220817081956_2"><scalar type="int32_t"/></field><field name="DI_Anlog00" cycle-bound="false" persistent="false" id="_220817081956_3"><scalar type="int32_t"/></field><field name="DI_Bool07" cycle-bound="false" persistent="false" id="_220817081956_4"><scalar type="int16_t"/></field><field name="DI_Bool06" cycle-bound="false" persistent="false" id="_220817081956_5"><scalar type="int16_t"/></field><field name="DI_Bool05" cycle-bound="false" persistent="false" id="_220817081956_6"><scalar type="int16_t"/></field><field name="DI_Bool04" cycle-bound="false" persistent="false" id="_220817081957_0"><scalar type="int16_t"/></field><field name="DI_Bool03" cycle-bound="false" persistent="false" id="_220817081957_1"><scalar type="int16_t"/></field><field name="DI_Bool02" cycle-bound="false" persistent="false" id="_220817081958_0"><scalar type="int16_t"/></field><field name="DI_Bool01" cycle-bound="false" persistent="false" id="_220817081958_1"><scalar type="int16_t"/></field><field name="DI_Bool00" cycle-bound="false" persistent="false" id="_220817081958_2"><scalar type="int16_t"/></field><field name="myRegister" cycle-bound="false" persistent="false" id="_220816115054_2"><scalar type="int32_t"/></field><GSI-control-field cycle-bound="false" name="control" id="_220816101635_4">
<custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/>
</GSI-control-field>
<GSI-powerState-field cycle-bound="false" name="powerState" id="_220816101635_5">
<custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/>
</GSI-powerState-field>
<GSI-status-field cycle-bound="false" name="status" id="_220816101636_0">
<custom-type-scalar data-type-name-ref="DEVICE_STATUS"/>
</GSI-status-field>
<GSI-interlock-field cycle-bound="false" name="interlock" id="_220816101637_0">
<scalar type="bool"/>
</GSI-interlock-field>
<GSI-opReady-field cycle-bound="false" name="opReady" id="_220816101638_0">
<scalar type="bool"/>
</GSI-opReady-field>
<GSI-modulesReady-field cycle-bound="false" name="modulesReady" id="_220816101640_0">
<scalar type="bool"/>
</GSI-modulesReady-field>
<GSI-detailed-status-field cycle-bound="false" name="detailedStatus" id="_220816101640_1">
<array type="bool">
<custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
</array>
</GSI-detailed-status-field>
<GSI-module-status-field cycle-bound="false" name="moduleStatus" id="_220816101640_2">
<custom-type-array data-type-name-ref="MODULE_STATUS">
<custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/>
</custom-type-array>
</GSI-module-status-field>
<GSI-acquisition-context-field cycle-bound="true" name="acquisitionContext" id="_220816101641_0">
<custom-type-scalar data-type-name-ref="GSI_ACQ_CONTEXT"/>
</GSI-acquisition-context-field>
<GSI-error_collection-field cycle-bound="false" name="error_collection" id="_220816101641_1">
<custom-type-array data-type-name-ref="GSI_ERROR">
<custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
</custom-type-array>
</GSI-error_collection-field>
</acquisition>
</device-data>
<global-data>
<configuration>
<!-- The name of the timing receiver -->
<field name="plcClassVersion" id="_220816115054_3"><description>Version of the SILECS class that needs to be deployed in the controller</description><array type="char"><dim>5</dim></array><default>0.1.0</default></field><GSI-timing-receiver-name-field name="deviceNameTimingReceiver" id="_220816101643_0">
<array type="char">
<!-- The number of the timing receiver -->
<variable-dim/>
</array>
</GSI-timing-receiver-name-field>
</configuration>
</global-data>
</data>
<actions>
<set-server-action implementation="default" name="InitSetAction"/>
<set-server-action implementation="default" name="ResetSetAction"/>
<set-server-action implementation="default" name="SettingSetAction"/>
<set-server-action implementation="default" name="PowerSetAction"/>
<get-server-action implementation="default" name="PowerGetAction"/>
<get-server-action implementation="default" name="SettingGetAction"/>
<get-server-action implementation="default" name="AcquisitionGetAction"/>
<get-server-action implementation="default" name="StatusGetAction"/>
<get-server-action implementation="default" name="VersionGetAction"/>
<get-server-action implementation="default" name="ModuleStatusGetAction"/>
<rt-action name="StatusUpdateAction"/> <!-- Pre-defined status update action -->
<get-server-action name="GetMyBlock" implementation="custom"/><set-server-action name="SetMySetting" implementation="custom"/><get-server-action name="GetMySetting" implementation="custom"/></actions>
<events>
<logical-events>
<logical-event name="StatusUpdateEvent" type="timer" use="required" id="_220816101634_3"/>
</logical-events>
</events>
<scheduling-units>
<scheduling-unit name="StatusUpdateSchedulingUnit">
<rt-action-ref rt-action-name-ref="StatusUpdateAction"/>
<logical-event-ref logical-event-name-ref="StatusUpdateEvent"/>
</scheduling-unit>
</scheduling-units>
</equipment-model>
Loading