/************************************************************************
* Endress + Hauser Wetzer GmbH + Co KG                                  
*                                                                       
* Project-Name:    G3PA - TMT84 Profibus-PA Temperature Head Transmitter
*                  Description of block Physical_Block
*                                                                       
* File-Name:       PBPA_EH_1551_0101_Physical_Block.ddl
*                                                                       
* Revision:        1.00.02                                                  
*                  Compatible to Firmware 01.00.xx
* Date::           feb. 2009                                             
*                                                                       
* Original Author: Christian Schneid                                    
*                                                                       
* ----------------------------------------------------------------------
* Description:   Device Description for TMT84.                          
* ----------------------------------------------------------------------
*                                                                       
*/




BLOCK physical_block
{
 TYPE PHYSICAL;
 NUMBER 1;
}

#define PHYSICAL_BLOCK_SLOT		0

/* defines for block configuration */

#ifndef FLOAT_MIN
    //#define FLOAT_MIN (-1E+20 - 0.01)
	#define FLOAT_MIN (-1.0e+20 + 0.01);
#endif
#ifndef FLOAT_MAX
    //#define FLOAT_MAX  (1E+20 + 0.01)
	#define FLOAT_MAX (1.0e+20 + 0.01);
#endif
 #define DEFAULT_MANUFACTURER_ID 0x11
#ifndef DEFAULT_VALUE_blk_profile
    #define DEFAULT_VALUE_blk_profile 0x4002
#endif
#ifndef DEFAULT_VALUE_blk_profile_ref
    #define DEFAULT_VALUE_blk_profile_ref 0x301
#endif

#include "PBPA_EH_1551_0101_enum_entrys.inc"
#include "PBPA_EH_1551_0101_methods.inc"
#include "PBPA_EH1551_Macros.inc"
#include "PBPA_EH_1551_0101_enum_entrys.inc"

/* VARIABLE definitons */

VARIABLE phys_blk_reserve
{
    LABEL [blk_reserved];
    HELP [blk_reserved_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (1);
}
VARIABLE phys_blk_object
{
    LABEL [blk_block_object];
    HELP [blk_block_object_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED (1)
    {
        { PHYS_BLK_OBJECT_PHYSICAL_BLOCK }
    }
    DEFAULT_VALUE 1;
}
VARIABLE phys_blk_parent_class
{
    LABEL [blk_parent_class];
    HELP [phys_blk_parent_class_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED(1)
    {
        { PHYS_BLK_PARENT_CLASS_TRANSMITTER }
    }
    DEFAULT_VALUE 1;
}
VARIABLE phys_blk_class
{
    LABEL [blk_class];
    HELP [phys_blk_class_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED(1)
    {
        { PHYS_BLK_CLASS__NOT_USED_ }
    }
    DEFAULT_VALUE 250;
}
VARIABLE phys_blk_dd_reference
{
    LABEL [blk_dd_reference];
    HELP [blk_dd_reference_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (4);
}
VARIABLE phys_blk_dd_rev
{
    LABEL [blk_dd_rev];
    HELP [blk_dd_rev_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (2);
}
VARIABLE phys_blk_profile
{
    LABEL [blk_profile];
    HELP [blk_profile_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED(2)
    {
        { PHYS_BLK_PROFILE__BLK_PROFILE_PA_COMPACT_A_ },
        { PHYS_BLK_PROFILE__BLK_PROFILE_PA_COMPACT_B_ },
        { PHYS_BLK_PROFILE__BLK_PROFILE_PA_SIMPLE_A_ },
        { PHYS_BLK_PROFILE__BLK_PROFILE_PA_SIMPLE_B_ }
    }
    DEFAULT_VALUE DEFAULT_VALUE_blk_profile;
}
VARIABLE phys_blk_profile_rev
{
    LABEL [blk_profile_rev];
    HELP [blk_profile_rev_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED(2)
    {
        { PHYS_BLK_PROFILE_REV_2_90 },
        { PHYS_BLK_PROFILE_REV_2_91 },
        { PHYS_BLK_PROFILE_REV_2_92 },
        { PHYS_BLK_PROFILE_REV_2_93 },
        { PHYS_BLK_PROFILE_REV_2_94 },
        { PHYS_BLK_PROFILE_REV_2_95 },
        { PHYS_BLK_PROFILE_REV_2_96 },
        { PHYS_BLK_PROFILE_REV_2_97 },
        { PHYS_BLK_PROFILE_REV_2_98 },
        { PHYS_BLK_PROFILE_REV_2_99 },
        { PHYS_BLK_PROFILE_REV_3_0 },
        { PHYS_BLK_PROFILE_REV_3_01 }
    }
    DEFAULT_VALUE DEFAULT_VALUE_blk_profile_ref;
}
VARIABLE phys_blk_execution_time
{
    LABEL [blk_execution_time];
    HELP [blk_execution_time_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (1);
}
VARIABLE phys_blk_num_parameters
{
    LABEL [blk_num_parameters];
    HELP [blk_num_parameters_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (2);
}
VARIABLE phys_blk_index_view_1
{
    LABEL [blk_index_view_1];
    HELP [blk_index_view_1_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (2);
}
VARIABLE phys_blk_num_view_lists
{
    LABEL [blk_num_view_lists];
    HELP [blk_num_view_lists_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (1);
}
VARIABLE phys_st_rev
{
    LABEL [st_rev];
    HELP [st_rev_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER (2)
    {
        DEFAULT_VALUE 0;
    }
}
VARIABLE phys_tag_desc
{
    LABEL "|en|Device TAG|de|Messstellenbezeichnung (TAG)";
    HELP [tag_desc_help];
    CLASS DEVICE & DYNAMIC;
    HANDLING READ & WRITE;
    TYPE ASCII (32)
    {
        DEFAULT_VALUE "DEFAULT_TAG";
    }
	#ifdef _V600_
	POST_READ_ACTIONS
	{
		post_read_status_signal
	}
	#endif
}
VARIABLE phys_target_mode
{
    LABEL "|en|Physical Block - Target Mode|de|Physical Block - Zielmodus";
    HELP [target_mode_help];
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED (1)
    {
        IF(phys_cond_status_diag==0)
        {
        {PHYS_TARGET_MODE__MODE_AUTO_}
        }
        ELSE
        {
        {PHYS_TARGET_MODE__MODE_AUTO_},
        {PHYS_TARGET_MODE__MODE_OUT_OF_SERVICE_}}
    }
    DEFAULT_VALUE 0x08;
}
VARIABLE phys_actual_mode
{
    LABEL "|en|Physical Block - Actual Mode|de|Physical Block - Aktueller Modus";
    HELP [actual_mode_help];
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE ENUMERATED (1)
    {
        { PHYS_ACTUAL_MODE__MODE_AUTO_ },
        { PHYS_ACTUAL_MODE__MODE_OUT_OF_SERVICE_ }
    }
    DEFAULT_VALUE 0x08;
}
VARIABLE phys_permitted_mode
{
    LABEL [permitted_mode];
    HELP [permitted_mode_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE BIT_ENUMERATED (1)
    {
        { PHYS_PERMITTED_MODE__MODE_AUTO_ },
        { PHYS_PERMITTED_MODE__MODE_OUT_OF_SERVICE_ }
    }
    DEFAULT_VALUE 0x08;
}
VARIABLE phys_normal_mode
{
    LABEL [normal_mode];
    HELP [normal_mode_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED (1)
    {
        { PHYS_NORMAL_MODE__MODE_AUTO_ },
        { PHYS_NORMAL_MODE__MODE_OUT_OF_SERVICE_ }
    }
    DEFAULT_VALUE 0x08;
}
VARIABLE phys_software_rev
{
    LABEL "|en|Firmware version|de|Firmware Version";
    HELP [phys_software_revision_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ASCII (16)
    {
        DEFAULT_VALUE "01.00.zz        ";
    }
}
VARIABLE phys_device_man_id
{
    LABEL [phys_device_man_id];
    HELP [phys_device_man_id_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED (2)
    {
        { PHYS_DEVICE_MAN_ID_ENDRESS_PLUS_HAUSER }
    }
    DEFAULT_VALUE DEFAULT_MANUFACTURER_ID;
}
VARIABLE phys_device_id
{
    LABEL [phys_device_type];
    HELP [phys_device_type_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ASCII (16)
    {
        DEFAULT_VALUE "iTEMP TMT84     ";
    }
}
VARIABLE phys_serial_num
{
    LABEL [phys_device_ser_num];
    HELP [phys_device_ser_num_help];
    CLASS DEVICE;
    HANDLING IF(phys_service_locking!=4685) {READ;} ELSE { READ & WRITE; }
    TYPE ASCII (16);
}
VARIABLE phys_diagnosis
{
    LABEL "|en|Diagnostics|de|Diagnose";
    HELP [phys_diagnosis_help];
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE BIT_ENUMERATED (4)
    {
        { PHYS_DIAGNOSIS__DIA_HW_ELECTR_ },
        { PHYS_DIAGNOSIS__DIA_HW_MECH_ },
        { PHYS_DIAGNOSIS__DIA_TEMP_ELECTR_ },
        { PHYS_DIAGNOSIS__DIA_MEM_CHKSUM_ },
        { PHYS_DIAGNOSIS__DIA_MEASUREMENT_ },
        { PHYS_DIAGNOSIS__DIA_INIT_ERR_ },
        { PHYS_DIAGNOSIS__DIA_CONF_INVAL_ },
        { PHYS_DIAGNOSIS__DIA_WARMSTART_ },
        { PHYS_DIAGNOSIS__DIA_COLDSTART_ },
        { PHYS_DIAGNOSIS__DIA_MAINTENANCE_ },
        { PHYS_DIAGNOSIS__DIA_IDENT_VIOL_ },
        { PHYS_DIAGNOSIS_FAILURE },
        { PHYS_DIAGNOSIS_MAINTENANCE_REQUEST },
        { PHYS_DIAGNOSIS_FUNCTION_CHECK },
        { PHYS_DIAGNOSIS_OUT_OF_SPECIFICATION },
        { PHYS_DIAGNOSIS__DIA_EXTENSION_AVAILABLE_ }
    }
    DEFAULT_VALUE 0x00000000;
}
VARIABLE phys_factory_reset
{
    LABEL "|en|Reset|de|Rücksetzen";
    HELP [phys_factory_reset_help];
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(2)
    {
        { PHYS_FACTORY_RESET__NO_FUNCTION_ },
        { PHYS_FACTORY_RESET_PRODUCT_DEFAULT },
        { PHYS_FACTORY_RESET__PHYS_DEVICE_RESET_CMD_ },
        { PHYS_FACTORY_RESET__FACTORY_RESET_ADDRESS_ },
        { PHYS_FACTORY_RESET_ORDERED_CONFIGURATION }
    }
    DEFAULT_VALUE 0;
}
VARIABLE phys_descriptor
{
    LABEL [phys_descriptor];
    HELP [phys_descriptor_help];
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ASCII (32)
    {
        DEFAULT_VALUE " ";
    }
}
VARIABLE phys_message
{
    LABEL [phys_message];
    HELP [phys_message_help];
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ASCII (32)
    {
        DEFAULT_VALUE " ";
    }
}
VARIABLE phys_install_date
{
    LABEL [phys_install_date];
    HELP [phys_install_date_help];
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ASCII (16);
}
VARIABLE phys_ident_number
{
    LABEL "|en|PROFIBUS Ident Number Selector|de|PROFIBUS Ident Number Selector";
    HELP [phys_ident_number_help];
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED (1)
    {
        { PHYS_IDENT_NUMBER_MANUF_SPECIFIC_IDENT_NUMBER_1551_TMT84_ },
        { PHYS_IDENT_NUMBER_PROFILE_SPECIFIC_IDENT_NUMBER_9700_1XAI_ },
        { PHYS_IDENT_NUMBER_PROFILE_SPECIFIC_IDENT_NUMBER_9701_2XAI_ },
        { PHYS_IDENT_NUMBER_PROFILE_SPECIFIC_IDENT_NUMBER_9702_3XAI_ },
        { PHYS_IDENT_NUMBER_PROFILE_SPECIFIC_IDENT_NUMBER_9703_4XAI_ },
        { PHYS_IDENT_NUMBER_MANUF_SPECIFIC_IDENT_NUMBER_1523_TMT184_ },
        { PHYS_IDENT_NUMBER_AUTOMATIC_0X9700_0X9701_0X9702_0X9703_0X1551_0X1523_ }
    }
    DEFAULT_VALUE 255;
}
VARIABLE phys_hw_write_protection
{
    LABEL "|en|HW write protection|de|Hardware-Schreibschutz";
    HELP [phys_hw_write_protection_help];
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE ENUMERATED (1)
    {
        { PHYS_HW_WRITE_PROTECTION_OFF },
        { PHYS_HW_WRITE_PROTECTION_ON }
    }
    DEFAULT_VALUE 0;
}
VARIABLE phys_feature_supported
{
    LABEL "|en|Supported features|de|Unterstützte Funktionen";
    HELP "|en|Displays which modes of displaying status messages are supported by the device|de|Zeigt an, welche Arten der Darstellung von Statusmeldungen das Gerät unterstützt.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE BIT_ENUMERATED(4)
    {
        { PHYS_FEATURE_SUPPORTED_CONDENSED_STATUS_AND_DIAGNOSTICS_INFORMATION },
        { PHYS_FEATURE_SUPPORTED_STATUS_AND_DIAGNOSTICS_AS_DESCRIBED_IN_PROFILE_3_01_ }
    }
}
VARIABLE phys_feature_enabled
{
    LABEL "|en|Enabled features|de|Freigegebene Funktionen";
    HELP "|en|Displays which modes of handling status messages are enabled.|de|Zeigt an, welche Arten der Darstellung von Statusmeldungen aktiviert sind.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE BIT_ENUMERATED(4)
    {
        { PHYS_FEATURE_ENABLED_CONDENSED_STATUS_AND_DIAGNOSTICS_ENABLED },
        { PHYS_FEATURE_ENABLED_EXTENDED_STATUS_DIAGNOSTICS_IS_SUPPORTED }
    }
}
VARIABLE phys_cond_status_diag
{
    LABEL "|en|Setting condensed status diagnostics|de|Einstellung Sammelstatus Diagnose";
    HELP "|en|Choose if status messages are displayed compliant to Profile 3.01 or to Profile 3.01 AM2 (Condensed Status)|de|Auswahl, ob Statusmeldungen konform zu Profil 3.01 oder zu Profil 3.01 Am2 (Condensed Status) ausgegeben werden sollen.";
    CLASS DEVICE & DYNAMIC;
    HANDLING IF(phys_ident_number_display != 0x1551) {READ;} ELSE {READ & WRITE;}
    TYPE ENUMERATED(1)
    {
        { PHYS_COND_STATUS_DIAG_STATUS_AND_DIAGNOSTICS_AS_DESCRIBED_IN_PROFILE_3_01 },
        { PHYS_COND_STATUS_DIAG_CONDENSED_STATUS_AND_DIAGNOSTICS_INFORMATION_IS_PROVIDED }
    }
    DEFAULT_VALUE 1;
}
VARIABLE phys_actual_error_code
{
    LABEL "|en|Current diagnostics description|de|Aktuelle Diagnose Beschreibung";
    HELP "|en|This parameter shows the actual device status.|de|Dieser Parameter stellt den aktuellen Gerätestatus dar.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE ENUMERATED(2)
    {
        { PHYS_ACTUAL_ERROR_CODE_GOOD },
        { PHYS_ACTUAL_ERROR_CODE_SENSOR_BREAK },
        { PHYS_ACTUAL_ERROR_CODE_SENSOR_CORROSION },
        { PHYS_ACTUAL_ERROR_CODE_SENSOR_SHORTCUT },
        { PHYS_ACTUAL_ERROR_CODE_SENSOR_RANGE_UNDERSHOOT },
        { PHYS_ACTUAL_ERROR_CODE_SENSOR_RANGE_OVERSHOOT },
        { PHYS_ACTUAL_ERROR_CODE_SENSOR_DRIFT_DETECTED },
        { PHYS_ACTUAL_ERROR_CODE_BACKUP_ACTIVE },
        { PHYS_ACTUAL_ERROR_CODE_REFERENCE_JUNCTION_MEASUREMENT },
        { PHYS_ACTUAL_ERROR_CODE_ELECTRONIC_FAILURE },
        { PHYS_ACTUAL_ERROR_CODE_DISPLAY_MINUS_COMMUNICATION_FAILURE },
        { PHYS_ACTUAL_ERROR_CODE_MEMORY_ERROR },
        { PHYS_ACTUAL_ERROR_CODE_STARTUP_OF_DEVICE },
        { PHYS_ACTUAL_ERROR_CODE_NO_CALIBRATION },
        { PHYS_ACTUAL_ERROR_CODE_CONFIGURATION_ERROR },
        { PHYS_ACTUAL_ERROR_CODE_SIMULATION_MODE_ACTIVE },
        { PHYS_ACTUAL_ERROR_CODE_DEVICE_PRESET },
        { PHYS_ACTUAL_ERROR_CODE_LINEARIZATION_ERROR },
        { PHYS_ACTUAL_ERROR_CODE_AMBIENT_TEMPERATURE_UNDERSHOOT },
        { PHYS_ACTUAL_ERROR_CODE_AMBIENT_TEMPERATURE_OVERSHOOT }
    }
    DEFAULT_VALUE 0;
}
VARIABLE phys_updown_feat_supp
{
    LABEL "|en|UpDownFeaturesSupported|de|UpDownFeaturesSupported";
    HELP "";
    CLASS DEVICE;
    HANDLING READ;
    TYPE ENUMERATED(1)
    {
        { PHYS_UPDOWN_FEAT_SUPP_UPLOAD_SUPPORTED },
        { PHYS_UPDOWN_FEAT_SUPP_PARALLEL_UPLOAD_SUPPORTED },
        { PHYS_UPDOWN_FEAT_SUPP_DOWNLOAD_SUPPORTED },
        { PHYS_UPDOWN_FEAT_SUPP_TWO_BUFFER_DEVICE }
    }
    DEFAULT_VALUE 0x00;
}
VARIABLE phys_device_address
{
    LABEL "|en|Device bus address|de|Busadresse";
    HELP "|en|Displays the PROFIBUS address of the device|de|Zeigt die PROFIBUS- Adresse des Geräts an.";
    CLASS DEVICE;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER(1)
    {
        MIN_VALUE 0;
        MAX_VALUE 126;
		DEFAULT_VALUE 126;
    }
}
VARIABLE phys_set_unit_to_bus
{
    LABEL "|en|Set Unit To Bus|de|Set Unit To Bus";
    HELP "|en|Enable this parameter to copy the unit of the transducer blocks to the related AI blocks|de| Setzen Sie diesen Parameter, um die Einheiten aus den Transducer Blöcken in die betreffenden AI- Blöcke zu kopieren.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(1)
    {
        { PHYS_SET_UNIT_TO_BUS__OFF_ },
        { PHYS_SET_UNIT_TO_BUS__ON_ }
    }
    DEFAULT_VALUE 0;
}
VARIABLE phys_blk_profile_rev_string
{
    LABEL "|en|Profile Revision|de|Profil-Revision";
    HELP [blk_profile_rev_help];
    CLASS DEVICE;
    HANDLING READ;
    TYPE ASCII(32)
    {
        DEFAULT_VALUE "3.01";
    }
}
VARIABLE phys_clear_last_error
{
    LABEL "|en|Clear last diagnostics|de|Letzte Diagnose löschen";
    HELP "|en|This parameter resets the information about the last device status|de|Dieser Parameter setzt die Informationen über den letzten Gerätestatus zurück.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(1)
    {
        { PHYS_CLEAR_LAST_ERROR_SHOW_LAST_ERROR },
        { PHYS_CLEAR_LAST_ERROR_CLEAR_LAST_ERROR }
    }
    DEFAULT_VALUE 0;
}
VARIABLE phys_ident_number_display
{
    LABEL [phys_ident_number];
    HELP [phys_ident_number_help];
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE ENUMERATED (2)
    {
        { PHYS_IDENT_NUMBER_DISPLAY_0X1523 },
        { PHYS_IDENT_NUMBER_DISPLAY_0X1551 },
        { PHYS_IDENT_NUMBER_DISPLAY_0X9700 },
        { PHYS_IDENT_NUMBER_DISPLAY_0X9701 },
        { PHYS_IDENT_NUMBER_DISPLAY_0X9702 },
        { PHYS_IDENT_NUMBER_DISPLAY_0X9703 }
    }
    DEFAULT_VALUE 0x1551;
}
VARIABLE phys_enp_order_code
{
    LABEL "Order code " \
          "|de|Bestellcode ";
    HELP "Indication of s the order code of the device. The order code is generated from the extended oder code. The device features can not be read directly from the order code. The order code helps to order an identical spare device." \
          "|de|Bestellcodes des Geräts. Im Gegensatz zum erweiterten Bestellcode sind die Gerätemerkmale am Bestellocde nicht direkt ablesbar. Der Bestellcode dient zur Bestellung von baugleichen Ersatzgeräten.";
    CLASS DEVICE;
    HANDLING IF(phys_service_locking!=4685) {READ;} ELSE { READ & WRITE; }
    TYPE ASCII(60)
    {
        DEFAULT_VALUE "";
    }
}
VARIABLE phys_tag_location
{
    LABEL "|en|TAG location|de|TAG Location";
    HELP "|en|Location of the device|de|Einbauort";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ASCII(22)
    {
        DEFAULT_VALUE "                    ";
    }
}
VARIABLE phys_signature
{
    LABEL "|en|Signature|de|Signature";
    HELP "";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ASCII(54);
}
VARIABLE phys_enp_enp_version
{
    LABEL "|en|ENP version|de|ENP Version";
    HELP "|en|Displays the version of the 'electronic name plate' of the device|de|Zeigt die Version des 'Elektronischen Typenschilds' an.";
    CLASS DEVICE;
    HANDLING READ;
    TYPE ASCII(16)
    {
        DEFAULT_VALUE "02.01.01";
    }
}
VARIABLE phys_enp_order_Ident
{
    LABEL "|en|Order identifier|de|Bestellkennung";
    HELP "|en|Displays the order identification number.|de|Zeigt die Bestell- Idendifikationsnummer an.";
    CLASS DEVICE;
    HANDLING IF(phys_service_locking!=4685) {READ;} ELSE { READ & WRITE; }
    TYPE ASCII(20)
    {
        DEFAULT_VALUE "";
    }
}
VARIABLE phys_service_locking
{
    LABEL "|en|Service locking|de|Service verriegelung";
    HELP "";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ & WRITE;
    TYPE UNSIGNED_INTEGER(2)
    {
        MIN_VALUE 0;
        MAX_VALUE 9999;
        DEFAULT_VALUE 0;
    }
}
VARIABLE phys_diagnostic_code
{
    LABEL "|en|Current diagnostics|de|Aktuelle Diagnose";
    HELP "|en|Displays the current device status|de|Zeigt den aktuellen Gerätestatus an.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE ASCII(4)
    {
        DEFAULT_VALUE "G000";
    }
}
//for NE107
VARIABLE phys_diagnostic_code_integer
{
    LABEL "|en|Current diagnostics|de|Aktuelle Diagnose";
    HELP "|en|Displays the current device status|de|Zeigt den aktuellen Gerätestatus an.";
    CLASS CONTAINED & DYNAMIC;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER(4)
    {
        DEFAULT_VALUE 0x47303030; // G000
    }
}
VARIABLE phys_status_channel
{
    LABEL "|en|Status channel|de|Status Kanalinfo";
    HELP "|en|In case of a non- good device status this parameter displays the channel (sensor 1 or sensor 2), which causes the status message|de|Im Falle eines nicht- guten Gerätestatus zeigt dieser Parameter an, welcher Kanal (Sensor 1 oder Sensor 2) die aktuelle Statusmeldung verursacht.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER(1)
    {
        DEFAULT_VALUE 0;
    }
}
VARIABLE phys_status_count
{
    LABEL "|en|Status count|de|Status Anzahl";
    HELP "|en|This parameter displays the actual amount of non- good status messages|de|Dieser Parameter zeigt die aktuelle Anzahl der Fehler- Statusmeldungen (ungleich 'gut') an.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER(1)
    {
        DEFAULT_VALUE 0;
    }
}
VARIABLE phys_last_diagnostic_code
{
    LABEL "|en|Last diagnostics|de|Letzte Diagnose";
    HELP "|en|This parameter displays the last status message|de|Dieser Parameter zeigt die letzte Statusmeldung an.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE ASCII(4)
    {
        DEFAULT_VALUE "G000";
    }
}
VARIABLE phys_last_status_channel
{
    LABEL "|en|Last status channel|de|Letzter Status Kanalinfo";
    HELP "|en|This Parameter displays in which Channel (sensor 1, sensor 2 or device) the 'Last diagnostics' appeared|de|Dieser Parameter zeigt an, in welchem Kanal (Sensor 1, Sensor 2 oder im Gerät) die 'Letzte Diagnose' aufgetreten ist.";
    CLASS DEVICE & DYNAMIC;
    HANDLING READ;
    TYPE UNSIGNED_INTEGER(1)
    {
        DEFAULT_VALUE 0;
    }
}
VARIABLE phys_sensor_drift_monitoring
{
    LABEL "|en|Sensor drift monitoring|de|Sensor Driftüberwachung";
    HELP "|en|Definition of the behaviour if measured values for sensors 1 and 2 deviate from one another. Input:\n - Warning (The 'Caution' icon becomes active on the display. The device switches to a warning signal.)\n - Alarm (The 'Caution' icon becomes active on the display. The device switches to error signal.)|de|Definition des Verhaltens wenn die Messwerte Sensor 1 und 2 voneinander abweichen. Eingabe:\n- Warning (Im Display wird das Achtung-Symbol aktiv. Das Gerät meldet einen 'Maintenance'- Alarm)\n- Alarm (Im Display wird das Achtung-Symbol aktiv. Das Gerät schaltet auf 'Failure'- Alarm)";
    CLASS DEVICE;
    TYPE ENUMERATED(1)
    {
        { PHYS_SENSOR_DRIFT_MONITORING_WARNING },
        { PHYS_SENSOR_DRIFT_MONITORING_FAILURE }
    }
    DEFAULT_VALUE 0;
    HANDLING IF ((trans2_sensor_measure_type == 224 || trans2_sensor_measure_type == 225) || (trans1_sensor_measure_type == 224 || trans1_sensor_measure_type == 225)) 
        { READ & WRITE; }
    ELSE
        { READ; }
}
VARIABLE phys_system_alarm_delay
{
    LABEL "|en|System alarm delay|de|System Alarmverzoegerung";
    HELP "|en|Enter the time (in seconds)  between the appearance of an error and it`s reporting|de|Wählen sie die Verzögerung zwischen dem Auftreten eines Fehlers und dessen Meldung an das System.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    CONSTANT_UNIT "sec.";
    TYPE UNSIGNED_INTEGER(1)
    {
        MIN_VALUE 0;
        MAX_VALUE 10;
        DEFAULT_VALUE 2;
    }
}
VARIABLE phys_mains_filter
{
    LABEL "|en|Mains filter|de|Netzfrequenzfilter";
    HELP "|en|Select power filter to compensate the influence of mains frequency on the devices measurement. Dependent on matching frequency of individual power networks.|de|Auswahl des Netzfilters zur Kompensation des Einflusses der Netzfrequenz auf die Messung. Die passende Auswahl ist von der jeweiligen Frequenz des Stromnetzes abhängig.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(1)
    {
        { PHYS_MAINS_FILTER_50_HZ },
        { PHYS_MAINS_FILTER_60_HZ }
    }
    DEFAULT_VALUE 0;
}
VARIABLE phys_ambient_alarm
{
    LABEL "|en|Ambient alarm|de|Umgebungstemperatur Alarm";
    HELP "|en|Select whether the device shall report a warning or an alarm, if the ambient temperature is out of specification|de|Auswahl, ob eine Warnung oder ein Alarm gemeldet wird, wenn die Umgebungstemperatur außerhalb der Spezifikation ist.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(1)
    {
        { PHYS_AMBIENT_ALARM_FAILURE },
        { PHYS_AMBIENT_ALARM_MAINTENANCE }
    }
    DEFAULT_VALUE 0;
}
VARIABLE disp_alternating_time
{
    LABEL "|en|Alternating time|de|Display Intervall";
    HELP "|en|When displaying more than one value the display alternates with the choosen time interval.|de|Wird mehr als ein Wert auf dem Display ausgegeben, so wechselt die Anzeige zwischen den Werten mit dem gewählten Zeitintervall.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    CONSTANT_UNIT "sec";
    TYPE UNSIGNED_INTEGER(1)
    {
        MIN_VALUE 4;
        MAX_VALUE 60;
        DEFAULT_VALUE 6;
    }
}
VARIABLE disp_source_1
{
    LABEL "|en|Display source 1|de|Quelle Anzeigewert 1";
    HELP "|en|Select the source for the displayed value.|de|Wählen Sie die Quelle des angezeigten Werts.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(2)
    {
        IF(trans1_lin_type==251 && trans2_lin_type==251)
        {
        {DISP_SOURCE_1_OFF},
        {DISP_SOURCE_1_PRIMARY_VALUE_1}
        }
        ELSE
        {
        IF
        (trans1_lin_type!=251 && trans2_lin_type==251)
        {
        {DISP_SOURCE_1_OFF},
        {DISP_SOURCE_1_PRIMARY_VALUE_1},
        {DISP_SOURCE_1_SENSOR_VALUE_1},
        {DISP_SOURCE_1_RJ_VALUE}
        }
        ELSE
        {
        IF
        (trans1_lin_type==251 && trans2_lin_type!=251)
        {
        {DISP_SOURCE_1_OFF},
        {DISP_SOURCE_1_PRIMARY_VALUE_2},
        {DISP_SOURCE_1_SENSOR_VALUE_2},
        {DISP_SOURCE_1_RJ_VALUE}
        }
        ELSE
        {
        {DISP_SOURCE_1_OFF},
        {DISP_SOURCE_1_PRIMARY_VALUE_1},
        {DISP_SOURCE_1_SENSOR_VALUE_1},
        {DISP_SOURCE_1_PRIMARY_VALUE_2},
        {DISP_SOURCE_1_SENSOR_VALUE_2},
        {DISP_SOURCE_1_RJ_VALUE}}}}
    }
    DEFAULT_VALUE 1;
    POST_EDIT_ACTIONS
    {
        post_edit_disp_source_1
    }
	#ifdef _V600_
    POST_WRITE_ACTIONS
    {
        post_write_action_read_back_disp_source_1
    }
	#endif
}
VARIABLE disp_value_1
{
    LABEL "|en|Display value description 1|de|Beschreibung Anzeigewert 1";
    HELP "|en|Enter a description for the displayed value. Maximum text length is 16 characters.|de|Geben Sie eine Beschreibung für den angezeigten Wert ein. Die maximale Textlänge beträgt 16 Zeichen.";
    CLASS DEVICE;
    TYPE ASCII(16)
    {
        DEFAULT_VALUE "P1              ";
    }
    HANDLING IF (disp_source_1 > 0) 
        { READ & WRITE; }
    ELSE
        { READ; }
}
VARIABLE disp_format_1
{
    LABEL "|en|Display format 1|de|Format Anzeigewert 1";
    HELP "|en|Select the number of decimal places to display.|de|Wählen Sie die Anzahl der anzuzeigenden Dezimalstellen.";
    CLASS DEVICE;
    TYPE ENUMERATED(1)
    {
        { DISP_FORMAT_1_AUTO },
        { DISP_FORMAT_1_XXXXX },
        { DISP_FORMAT_1_XXXX_X },
        { DISP_FORMAT_1_XXX_XX },
        { DISP_FORMAT_1_XX_XXX }
    }
    DEFAULT_VALUE 1;
    HANDLING IF (disp_source_1 > 0) 
        { READ & WRITE; }
    ELSE
        { READ; }
}
VARIABLE disp_source_2
{
    LABEL "|en|Display source 2|de|Quelle Anzeigewert 2";
    HELP "|en|Select the source for the displayed value.|de|Wählen Sie die Quelle des angezeigten Werts.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(2)
    {
        IF(trans1_lin_type==251 && trans2_lin_type==251)
        {
        {DISP_SOURCE_2_OFF}
        }
        ELSE
        {
        IF
        (trans1_lin_type!=251 && trans2_lin_type==251)
        {
        {DISP_SOURCE_2_OFF},
        {DISP_SOURCE_2_PRIMARY_VALUE_1},
        {DISP_SOURCE_2_SENSOR_VALUE_1},
        {DISP_SOURCE_2_RJ_VALUE}
        }
        ELSE
        {
        IF
        (trans1_lin_type==251 && trans2_lin_type!=251)
        {
        {DISP_SOURCE_2_OFF},
        {DISP_SOURCE_2_PRIMARY_VALUE_2},
        {DISP_SOURCE_2_SENSOR_VALUE_2},
        {DISP_SOURCE_2_RJ_VALUE}
        }
        ELSE
        {
        {DISP_SOURCE_2_OFF},
        {DISP_SOURCE_2_PRIMARY_VALUE_1},
        {DISP_SOURCE_2_SENSOR_VALUE_1},
        {DISP_SOURCE_2_PRIMARY_VALUE_2},
        {DISP_SOURCE_2_SENSOR_VALUE_2},
        {DISP_SOURCE_2_RJ_VALUE}}}}
    }
    DEFAULT_VALUE 0x0000;
    POST_EDIT_ACTIONS
    {
        post_edit_disp_source_2
    }
	#ifdef _V600_
    POST_WRITE_ACTIONS
    {
        post_write_action_read_back_disp_source_2
    }
	#endif
}
VARIABLE disp_value_2
{
    LABEL "|en|Display value description 2|de|Beschreibung Anzeigewert 2";
    HELP "|en|Enter a description for the displayed value. Maximum text length is 16 characters.|de|Geben Sie eine Beschreibung für den angezeigten Wert ein. Die maximale Textlänge beträgt 16 Zeichen.";
    CLASS DEVICE;
    TYPE ASCII(16)
    {
        DEFAULT_VALUE " S1             ";
    }
    HANDLING IF (disp_source_2 > 0) 
        { READ & WRITE; }
    ELSE
        { READ; }
}
VARIABLE disp_format_2
{
    LABEL "|en|Display format 2|de|Format Anzeigewert 2";
    HELP "|en|Select the number of decimal places to display.|de|Wählen Sie die Anzahl der anzuzeigenden Dezimalstellen.";
    CLASS DEVICE;
    TYPE ENUMERATED(1)
    {
        { DISP_FORMAT_2_AUTO },
        { DISP_FORMAT_2_XXXXX },
        { DISP_FORMAT_2_XXXX_X },
        { DISP_FORMAT_2_XXX_XX },
        { DISP_FORMAT_2_XX_XXX }
    }
    DEFAULT_VALUE 1;
    HANDLING IF (disp_source_2 > 0) 
        { READ & WRITE; }
    ELSE
        { READ; }
}
VARIABLE disp_source_3
{
    LABEL "|en|Display source 3|de|Quelle Anzeigewert 3";
    HELP "|en|Select the source for the displayed value.|de|Wählen Sie die Quelle des angezeigten Werts.";
    CLASS DEVICE;
    HANDLING READ & WRITE;
    TYPE ENUMERATED(2)
    {
        IF(trans1_lin_type==251 && trans2_lin_type==251)
        {
        {DISP_SOURCE_3_OFF}
        }
        ELSE
        {
        IF
        (trans1_lin_type!=251 && trans2_lin_type==251)
        {
        {DISP_SOURCE_3_OFF},
        {DISP_SOURCE_3_PRIMARY_VALUE_1},
        {DISP_SOURCE_3_SENSOR_VALUE_1},
        {DISP_SOURCE_3_RJ_VALUE}
        }
        ELSE
        {
        IF
        (trans1_lin_type==251 && trans2_lin_type!=251)
        {
        {DISP_SOURCE_3_OFF},
        {DISP_SOURCE_3_PRIMARY_VALUE_2},
        {DISP_SOURCE_3_SENSOR_VALUE_2},
        {DISP_SOURCE_3_RJ_VALUE}
        }
        ELSE
        {
        {DISP_SOURCE_3_OFF},
        {DISP_SOURCE_3_PRIMARY_VALUE_1},
        {DISP_SOURCE_3_SENSOR_VALUE_1},
        {DISP_SOURCE_3_PRIMARY_VALUE_2},
        {DISP_SOURCE_3_SENSOR_VALUE_2},
        {DISP_SOURCE_3_RJ_VALUE}}}}
    }
    DEFAULT_VALUE 0x0000;
    POST_EDIT_ACTIONS
    {
        post_edit_disp_source_3
    }
	#ifdef _V600_
    POST_WRITE_ACTIONS
    {
        post_write_action_read_back_disp_source_3
    }
	#endif
}
VARIABLE disp_value_3
{
    LABEL "|en|Display value description 3|de|Beschreibung Anzeigewert 3";
    HELP "|en|Enter a description for the displayed value. Maximum text length is 16 characters.|de|Geben Sie eine Beschreibung für den angezeigten Wert ein. Die maximale Textlänge beträgt 16 Zeichen.";
    CLASS DEVICE;
    TYPE ASCII(16)
    {
        DEFAULT_VALUE " RJ             ";
    }
    HANDLING IF (disp_source_3 > 0) 
        { READ & WRITE; }
    ELSE
        { READ; }
}
VARIABLE disp_format_3
{
    LABEL "|en|Display format 3|de|Format Anzeigewert 3";
    HELP "|en|Select the number of decimal places to display.|de|Wählen Sie die Anzahl der anzuzeigenden Dezimalstellen.";
    CLASS DEVICE;
    TYPE ENUMERATED(1)
    {
        { DISP_FORMAT_3_AUTO },
        { DISP_FORMAT_3_XXXXX },
        { DISP_FORMAT_3_XXXX_X },
        { DISP_FORMAT_3_XXX_XX },
        { DISP_FORMAT_3_XX_XXX }
    }
    DEFAULT_VALUE 1;
    HANDLING IF (disp_source_3 > 0) 
        { READ & WRITE; }
    ELSE
        { READ; }
}

/************************************************************************/
/* COMMAND DEFINITIONS                                                  */
/************************************************************************/


COMMAND read_phys_blk
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 16;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_blk_reserve,
            phys_blk_object,
            phys_blk_parent_class,
            phys_blk_class,
            phys_blk_dd_reference,
            phys_blk_dd_rev,
            phys_blk_profile,
            phys_blk_profile_rev,
            phys_blk_execution_time,
            phys_blk_num_parameters,
            phys_blk_index_view_1,
            phys_blk_num_view_lists
        }
    }
}


COMMAND read_phys_st_rev
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 17;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_st_rev
        }
    }
}


COMMAND read_phys_tag_desc
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 18;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_tag_desc
        }
    }
}


COMMAND write_phys_tag_desc
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 18;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_tag_desc
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_target_mode
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 21;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_target_mode
        }
    }
}


COMMAND write_phys_target_mode
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 21;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_target_mode
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_mode
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 22;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_actual_mode,
            phys_permitted_mode,
            phys_normal_mode
        }
    }
}


COMMAND read_phys_software_rev
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 24;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_software_rev
        }
    }
}


COMMAND read_phys_device_man_id
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 26;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_device_man_id
        }
    }
}


COMMAND read_phys_device_id
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 27;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_device_id
        }
    }
}


COMMAND read_phys_serial_num
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 28;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_serial_num
        }
    }
}


COMMAND write_phys_serial_num
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 28;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_serial_num
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_diagnosis
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 29;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_diagnosis
        }
    }
}


COMMAND read_phys_factory_reset
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 35;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_factory_reset
        }
    }
}


COMMAND write_phys_factory_reset
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 35;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_factory_reset
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_descriptor
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 36;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_descriptor
        }
    }
}


COMMAND write_phys_descriptor
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 36;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_descriptor
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_message
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 37;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_message
        }
    }
}


COMMAND write_phys_message
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 37;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_message
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_install_date
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 38;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_install_date
        }
    }
}


COMMAND write_phys_install_date
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 38;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_install_date
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_ident_number
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 40;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_ident_number
        }
    }
}


COMMAND write_phys_ident_number
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 40;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_ident_number
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_hw_write_protection
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 41;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_hw_write_protection
        }
    }
}


COMMAND read_phys_feature
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 42;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_feature_supported,
            phys_feature_enabled
        }
    }
}


COMMAND read_phys_cond_stat_diag
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 43;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_cond_status_diag
        }
    }
}


COMMAND write_phys_cond_stat_diag
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 43;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_cond_status_diag
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_actual_error_code
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 54;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_actual_error_code
        }
    }
}


COMMAND read_physupdown_feat_supp
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 56;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_updown_feat_supp
        }
    }
}


COMMAND read_phys_device_address
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 59;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_device_address
        }
    }
}


COMMAND read_phys_set_unit_to_bus
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 61;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_set_unit_to_bus
        }
    }
}


COMMAND write_phys_set_unit_to_bus
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 61;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_set_unit_to_bus
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_blk_profile_rev
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 64;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_blk_profile_rev_string
        }
    }
}


COMMAND read_phys_clear_last_error
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 65;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_clear_last_error
        }
    }
}


COMMAND write_phys_clear_last_error
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 65;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_clear_last_error
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_ident_number_display
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 66;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_ident_number_display
        }
    }
}


COMMAND read_phys_enp_order_code
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 69;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_enp_order_code
        }
    }
}


COMMAND write_phys_enp_order_code
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 69;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_enp_order_code
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_tag_location
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 70;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_tag_location
        }
    }
}


COMMAND write_phys_tag_location
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 70;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_tag_location
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys__signature
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 71;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_signature
        }
    }
}


COMMAND write_phys__signature
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 71;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_signature
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_enp_enp_version
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 72;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_enp_enp_version
        }
    }
}


COMMAND read_phys_enp_order_Ident
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 74;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_enp_order_Ident
        }
    }
}


COMMAND write_phys_enp_order_ident
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 74;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_enp_order_Ident
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_service_locking
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 75;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_service_locking
        }
    }
}


COMMAND write_phys_service_locking
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 75;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_service_locking
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_diagnostic_code
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 96;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_diagnostic_code
        }
    }
}


COMMAND read_phys_diagnostic_code_integer
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 96;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_diagnostic_code_integer
        }
    }
}


COMMAND read_phys_status_channel
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 97;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_status_channel
        }
    }
}


COMMAND read_phys_status_count
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 98;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_status_count
        }
    }
}


COMMAND read_phys_last_diagnostic_code
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 100;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_last_diagnostic_code
        }
    }
}


COMMAND read_phys_last_status_channel
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 101;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_last_status_channel
        }
    }
}


COMMAND read_phys_sensor_drift_monitoring
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 118;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_sensor_drift_monitoring
        }
    }
}


COMMAND write_phys_sensor_drift_monitoring
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 118;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_sensor_drift_monitoring
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_system_alarm_delay
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 119;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_system_alarm_delay
        }
    }
}


COMMAND write_phys_system_alarm_delay
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 119;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_system_alarm_delay
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_mains_filter
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 120;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_mains_filter
        }
    }
}


COMMAND write_phys_mains_filter
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 120;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_mains_filter
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_ambient_alarm
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 121;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            phys_ambient_alarm
        }
    }
}


COMMAND write_phys_ambient_alarm
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 121;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            phys_ambient_alarm
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_alternating_time
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 126;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_alternating_time
        }
    }
}


COMMAND write_phys_disp_alternating_time
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 126;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_alternating_time
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_source_1
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 127;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_source_1
        }
    }
}


COMMAND write_phys_disp_source_1
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 127;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_source_1
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_value_1
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 128;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_value_1
        }
    }
}


COMMAND write_phys_disp_value_1
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 128;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_value_1
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_format_1
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 129;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_format_1
        }
    }
}


COMMAND write_phys_disp_format_1
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 129;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_format_1
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_source_2
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 130;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_source_2
        }
    }
}


COMMAND write_phys_disp_source_2
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 130;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_source_2
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_value_2
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 131;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_value_2
        }
    }
}


COMMAND write_phys_disp_value_2
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 131;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_value_2
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_format_2
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 132;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_format_2
        }
    }
}


COMMAND write_phys_disp_format_2
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 132;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_format_2
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_source_3
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 133;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_source_3
        }
    }
}


COMMAND write_phys_disp_source_3
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 133;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_source_3
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_value_3
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 134;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_value_3
        }
    }
}


COMMAND write_phys_disp_value_3
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 134;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_value_3
        }
        REPLY
        {
        }
    }
}


COMMAND read_phys_disp_format_3
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 135;
    OPERATION READ;
    TRANSACTION
    {
        REQUEST
        {
        }
        REPLY
        {
            disp_format_3
        }
    }
}


COMMAND write_phys_disp_format_3
{
    SLOT PHYSICAL_BLOCK_SLOT;
    INDEX 135;
    OPERATION WRITE;
    TRANSACTION
    {
        REQUEST
        {
            disp_format_3
        }
        REPLY
        {
        }
    }
}


/*************************************************************
** UNIT RELATIONS
*************************************************************/

