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

/**************************************************************
** PDM DEVICE IDENTIFICATION
**************************************************************/

/* Macros to control which parameter is checked during checking device identity. */
#define	DEFAULT_MANUFACTURER_ID 0x11 /* Identcheck will fail if the manufacturer id (phys_man_id) is not identical to this value. */
#define	CHECK_DEVICE_TYPE "iTEMP TMT84"   /* Identcheck will fail if the device type (phys_device_id) is not identical to this value. */
#define	CHECK_SOFTWARE_VERSION "01.00" /* Identcheck will fail if the software revision (phys_software_rev) is not identical in XX.YY to this value. */
#define	CHECK_PROFILE_REV	0x0301 /* Identcheck will fail if the profile revision (phys_blk_profile_rev) is not identical to this value. */

//iassign(isOnline,1);\ // set local variable for check in METHODS if PDM in ONLINE or OFFLINE     
#define	FUNCTION_CHECK_SOFTWARE_VERSION \
    /*iassign(isOnline,1);*/\
    _TRACE("********** BEGIN: E+H IdentCheck - SW Version (XX.YY)");		\
    if( CHECK_SOFTWARE_VERSION != strMid(id_phys_software_rev, 0, 5) )    \
		{																			\
			ACKNOWLEDGE("Check SW Version ");										\
			sz = [mismatch_identcheck] + "\r\n    "									\
			+ [phys_software_revision] + "\r\n\r\n"									\
			+ [device_expected] + "\r\n    "										\
			+ [phys_software_revision] + " = "										\
			+ CHECK_SOFTWARE_VERSION												\
			+ "\r\n\r\n"															\
			+ [device_found] + "\r\n    "											\
			+ [phys_device_man_id] + " = "											\
			+ szManufacturer + "\r\n    "											\
			+ [phys_device_id] + " = "												\
			+ id_phys_device_id														\
			+ "\r\n    "															\
			+ [blk_profile_rev]	+ " = "												\
			+ itoa(ivar_value(id_phys_blk_profile_rev) / 256) 						\
			+ "." + itoa(ivar_value(id_phys_blk_profile_rev) & 0xff)		 		\
			+ "\r\n    "															\
			+ [phys_software_revision] + " = "										\
			+ id_phys_software_rev													\
			+ "\r\n    "															\
			+ [tag_desc] + " = "													\
			+ id_phys_tag_desc														\
			+ "\r\n\r\n"															\
			+ [no_communication_possible] ;											\
																					\
			if( id_Method_In_SilentMode == 0 )										\
			{																		\
				PUT_MESSAGE(sz);													\
			}																		\
			else																	\
			{																		\
				LOG_MESSAGE(0, sz);	\
			}																		\
																					\
			process_abort() ;														\
		} \
		_TRACE("********** END: E+H IdentCheck - SW Version (XX.YY)");

/* include file (E+H spec. Identcheck) */
#ifdef _V601_
#include "SIPASTIdent02.inc"
#else
#ifdef _V521_
#include "EHPASTIdent01.inc"
#endif
#endif

METHOD std_CheckWriteProtection
{
	LABEL		"std_CheckWriteProtection";
	CLASS		INPUT;
	ACCESS		OFFLINE;
	DEFINITION
	{
		ret_CheckWriteProtection = ID_CHECK_WRITABLE;

		_TRACE("std_CheckWriteProtection");

		if( VARID(phys_hw_write_protection) != 0 )
		{
			ReadCommand(read_phys_hw_write_protection);
			_TRACE("phys_hw_write_protection = " + itoa(ivar_value(phys_hw_write_protection)));
			if( ivar_value(phys_hw_write_protection) == 1 )
			{
				ret_CheckWriteProtection = ID_CHECK_WRITE_PROTECTED;
				if (id_Method_In_SilentMode == 0)
				{
					ACKNOWLEDGE([DeviceWriteProtected0]);
/*					ret_CheckWriteProtection = ID_CHECK_WRITABLE;*/
				}
				else
				{
					LOG_MESSAGE(0, [DeviceWriteProtected0]) ;
				}
			}
		}

	}
}

/**************************************************************
** YT - Diagramm
**************************************************************/
#ifdef _V600_
// PV 1
#define YT11_LABEL		trans1_primary_value.LABEL	
#define YT11_VALUE		trans1_primary_value			
#define	YT11_LRV		trans1_lower_sensor_limit	
#define YT11_URV		trans1_upper_sensor_limit	
// SV 1 von PV 1
#define YT12_LABEL		trans1_secondary_value_1.LABEL	
#define YT12_VALUE		trans1_secondary_value_1			
#define	YT12_LRV		trans1_lower_sensor_limit	
#define YT12_URV		trans1_upper_sensor_limit

// PV 2
#define YT21_LABEL		trans2_primary_value.LABEL	
#define YT21_VALUE		trans2_primary_value			
#define	YT21_LRV		trans2_lower_sensor_limit	
#define YT21_URV		trans2_upper_sensor_limit	

// SV 1 von PV2         
#define YT22_LABEL		trans2_secondary_value_1.LABEL	
#define YT22_VALUE		trans2_secondary_value_1			
#define	YT22_LRV		trans2_lower_sensor_limit	
#define YT22_URV		trans2_upper_sensor_limit	

// AI1
#define YT31_LABEL		"Output Value 1|de|Ausgangswert 1"
#define YT31_VALUE		func1_AI_out_value								
#define	YT31_LRV		func1_AI_out_lower_range_value	
#define YT31_URV		func1_AI_out_upper_range_value	

// AI2
#define YT41_LABEL		"Output Value 2|de|Ausgangswert 2"
#define YT41_VALUE		func2_AI_out_value								
#define	YT41_LRV		func2_AI_out_lower_range_value	
#define YT41_URV 		func2_AI_out_upper_range_value	

// AI3      
#define YT51_LABEL		"Output Value 3|de|Ausgangswert 3"
#define YT51_VALUE		func3_AI_out_value								
#define	YT51_LRV		func3_AI_out_lower_range_value	
#define YT51_URV		func3_AI_out_upper_range_value	

// AI4
#define YT61_LABEL		"Output Value 4|de|Ausgangswert 4"
#define YT61_VALUE		func4_AI_out_value								
#define	YT61_LRV		func4_AI_out_lower_range_value	
#define YT61_URV		func4_AI_out_upper_range_value  
      
//#include "SI_YT.inc"
#include "SI_YT_1.inc"
#include "SI_YT_2.inc"
#include "SI_YT_3.inc"
#include "SI_YT_4.inc"
#include "SI_YT_5.inc"
#include "SI_YT_6.inc"

#else

	// AI1
	#define YT1_LABEL		"Output Value 1|de|Ausgangswert 1"
	#define YT1_VALUE		func1_AI_out_value								
	#define	YT1_LRV			func1_AI_out_lower_range_value	
	#define YT1_URV			func1_AI_out_upper_range_value	

	// AI2
	#define YT2_LABEL		"Output Value 2|de|Ausgangswert 2"
	#define YT2_VALUE		func2_AI_out_value								
	#define	YT2_LRV			func2_AI_out_lower_range_value	
	#define YT2_URV 		func2_AI_out_upper_range_value	

	// AI3      
	#define YT3_LABEL		"Output Value 3|de|Ausgangswert 3"
	#define YT3_VALUE		func3_AI_out_value								
	#define	YT3_LRV			func3_AI_out_lower_range_value	
	#define YT3_URV			func3_AI_out_upper_range_value	

	// AI4
	#define YT4_LABEL		"Output Value 4|de|Ausgangswert 4"
	#define YT4_VALUE		func4_AI_out_value								
	#define	YT4_LRV			func4_AI_out_lower_range_value	
	#define YT4_URV			func4_AI_out_upper_range_value

	#include "si_yt.inc"

#endif
/**************************************************************
** MENU BAR
**************************************************************/

MENU Menu_Main_Specialist /* Hauptmenü Spezialist */
{
    LABEL       [main_menu];
    ITEMS
    {
        Menu_S_Device,         /* Gerät    */
		Menu_S_View
    }
}

MENU Menu_Main_Maintenance /* Hauptmenü Instandhalter */
{
    LABEL       [main_menu];
    ITEMS
    {
        Menu_M_Device,          /* Gerät    */
		Menu_M_View
    }
}

/**************************************************************
** MENU DEVICE
**************************************************************/

METHOD method_call_menu_onl_l2_disp_operation
{
    LABEL "Display/operation|de|Anzeige/Betrieb";
    ACCESS ONLINE;
    DEFINITION 
    {  
        long ival; ival = 0;
        isOnline = 1;
        MenuDisplay(menu_onl_l2_disp_operation, "OK",ival);
        isOnline = 0;
    }
}

METHOD method_call_menu_onl_l2_setup
{
    LABEL "Setup|de|Setup";
    ACCESS ONLINE;
    DEFINITION 
    {  
        long ival; ival = 0;
        isOnline = 1;
        MenuDisplay(menu_onl_l2_setup, "OK",ival);
        isOnline = 0;
    }
}

METHOD method_call_menu_onl_l2_diagnostics
{
    LABEL "Diagnostics|de|Diagnose";
    ACCESS ONLINE;
    DEFINITION 
    {  
        long ival; ival = 0;
        isOnline = 1;
        MenuDisplay(menu_onl_l2_diagnostics,"OK",ival);
        isOnline = 0;
    }
}

METHOD method_call_menu_onl_l2_experte
{
    LABEL "Expert|de|Experte";
    ACCESS ONLINE;
    DEFINITION 
    {  
        long ival; ival = 0;
        isOnline = 1;
        MenuDisplay(menu_onl_l2_experte,"OK",ival);
        isOnline = 0;
    }
}

MENU Menu_S_Device
{
    LABEL [menu_Device];
    ITEMS 
    {		
		std_NodeAddress,
		SEPARATOR,
		OnlineDialog_phys_factory_reset,
		OnlineDialog_profibus,
		OnlineDialog_Simulation,
        SEPARATOR,
        /*menu_onl_l2_disp_operation,
        menu_onl_l2_setup,
        menu_onl_l2_diagnostics,
        menu_onl_l2_experte*/
		#ifdef _V600_
		method_call_menu_onl_l2_disp_operation,
        method_call_menu_onl_l2_setup,
        method_call_menu_onl_l2_diagnostics,
        method_call_menu_onl_l2_experte
		#endif
    }
}

MENU Menu_M_Device
{
    LABEL [menu_Device];
    ITEMS 
    {
		std_NodeAddress,
		SEPARATOR,
		OnlineDialog_phys_factory_reset,
		OnlineDialog_profibus,
		OnlineDialog_Simulation,
        SEPARATOR,
        /*menu_onl_l2_disp_operation,
        menu_onl_l2_setup,
        menu_onl_l2_diagnostics,
        menu_onl_l2_experte*/
		#ifdef _V600_
		method_call_menu_onl_l2_disp_operation,
        method_call_menu_onl_l2_setup,
        method_call_menu_onl_l2_diagnostics,
        method_call_menu_onl_l2_experte
		#endif
    }
}

METHOD std_NodeAddress
{
	LABEL		[menu_Device_NodeAddress];
	DEFINITION
	{
	}
}

/* Profibus */

MENU OnlineDialog_profibus	// für Menu SetUnitToBus
{
	LABEL		"Profibus";
	ITEMS
	{
		Tab_set_unit_to_bus,
		Tab_ident_number_selector,
		Tab_condensed_status_settings
	}
}

MENU Tab_set_unit_to_bus	// für Menu SetUnitToBus
{
	LABEL		"Set unit to bus|de|Set Unit to Bus";
	ITEMS
	{
		phys_set_unit_to_bus
	}
}

MENU Tab_ident_number_selector	
{
	LABEL		"|en|Selection GSD|de|Auswahl GSD";
	ITEMS
	{
		phys_ident_number
	}
}

MENU Tab_condensed_status_settings	
{
	LABEL		"Condensed status settings|de|Einstellungen Sammelstatus";
	ITEMS
	{
		phys_cond_status_diag
	}
}

MENU OnlineDialog_phys_factory_reset	// für Menu Reset
{
	LABEL		"Reset";
	ITEMS
	{
		phys_factory_reset
	}
}

/* Simulation */ 

MENU OnlineDialog_Simulation
{
	LABEL		[menu_dialog_simulation];
	ITEMS
	{
		OnlineDialog_simulation_func1,
	    OnlineDialog_simulation_func2,
		OnlineDialog_simulation_func3,	
		OnlineDialog_simulation_func4	
	}
}

/* Dialog Simulation AI1 */

MENU OnlineDialog_simulation_func1
{
	LABEL		[func1_AI] ;
	ITEMS
	{
		Page_simulation_output_func1
	}
}

MENU Page_simulation_output_func1
{
	LABEL		[menu_dialog_simulation_output];
	ITEMS
	{
		func1_AI_target_mode,
		func1_actual_mode,
		Group_simulate_output_func1
	}
}

MENU Group_simulate_output_func1
{
	LABEL		[func_out_value];
	ITEMS
	{
		func1_AI_out_value,
		SEPARATOR,
		func1_AI_out_status_quality,
		func1_AI_out_status_limit
	}
}



/* Dialog Simulation AI2 */

MENU OnlineDialog_simulation_func2
{
	LABEL		[func2_AI] ;
	ITEMS
	{
		Page_simulation_output_func2
	}
}

MENU Page_simulation_output_func2
{
	LABEL		[menu_dialog_simulation_output];
	ITEMS
	{
		func2_AI_target_mode,
		func2_actual_mode,
		Group_simulate_output_func2
	}
}

MENU Group_simulate_output_func2
{
	LABEL		[func_out_value];
	ITEMS
	{
		func2_AI_out_value,
		SEPARATOR,
		func2_AI_out_status_quality,
		func2_AI_out_status_limit
	}
}



/* Dialog Simulation AI3 */

MENU OnlineDialog_simulation_func3
{
	LABEL		[func3_AI] ;
	ITEMS
	{
		Page_simulation_output_func3
	}
}

MENU Page_simulation_output_func3
{
	LABEL		[menu_dialog_simulation_output];
	ITEMS
	{
		func3_AI_target_mode,
		func3_actual_mode,
		Group_simulate_output_func3
	}
}

MENU Group_simulate_output_func3
{
	LABEL		[func_out_value];
	ITEMS
	{
		func3_AI_out_value,
		SEPARATOR,
		func3_AI_out_status_quality,
		func3_AI_out_status_limit
	}
}


/* Dialog Simulation AI4 */

MENU OnlineDialog_simulation_func4
{
	LABEL		[func4_AI] ;
	ITEMS
	{
		Page_simulation_output_func4
	}
}

MENU Page_simulation_output_func4
{
	LABEL		[menu_dialog_simulation_output];
	ITEMS
	{
		func4_AI_target_mode,
		func4_actual_mode,
		Group_simulate_output_func4
    }
}

MENU Group_simulate_output_func4
{
	LABEL		[func_out_value];
	ITEMS
	{
		func4_AI_out_value,
		SEPARATOR,
		func4_AI_out_status_quality,
		func4_AI_out_status_limit
	}
}



/**************************************************************
** MENU VIEW
**************************************************************/

MENU Menu_S_View
{
	LABEL		[menu_View];
	ITEMS
	{
			#ifdef _V600_
			PDM6_process_variables,
			#else
			OnlineWindow_process_variables,
			#endif
			OnlineWindow_display,
			#ifdef _V600_
			Page_OnlineWindow_yt,
			#else
			OnlineWindow_yt5,
			#endif
			OnlineWindow_diagnosis,
			menu_onl_l2_diagnostics,
			SEPARATOR,
			std_Funktionsleiste,
			std_Statuszeile,
			SEPARATOR,
			std_Update
	}
}

MENU Menu_M_View
{
	LABEL		[menu_View];
	ITEMS
	{
			#ifdef _V600_
			PDM6_process_variables,
			#else
			OnlineWindow_process_variables,
			#endif
			OnlineWindow_display,
			#ifdef _V600_
			Page_OnlineWindow_yt,
			#else
			OnlineWindow_yt5,
			#endif
			OnlineWindow_diagnosis,
			menu_onl_l2_diagnostics,
			SEPARATOR,
			std_Funktionsleiste,
			std_Statuszeile,
			SEPARATOR,
			std_Update
	}
}

/*********************************************************************
** Dialog Display 
*********************************************************************/

MENU OnlineWindow_display  // für Messwertanzeige
{
	LABEL		[menu_dialog_display];
	ITEMS
	{
		Page_display_measure_1,
		Page_display_measure_2,
		Page_display_func1,
		Page_display_func2,
		Page_display_func3,
		Page_display_func4
	}
}

MENU Page_display_measure_1	// für Messwertanzeige
{
	LABEL		"Transducer 1 values|de|Messwertanzeige Transducer 1";
	ITEMS
	{
		BarVal_pv1_display,		
		Group_display_pv1,
		BarVal_sv1_display,
		Group_display_sv1,
		Group_device_status
	}
}

/* TAB Transducer 1 values */ 

MENU BarVal_pv1_display	// für Messwertanzeige
{
	LABEL		"Primary value";
	ITEMS
	{
		trans1_primary_value,
		trans1_lower_sensor_limit,
		trans1_upper_sensor_limit
	}
}

MENU Group_display_pv1  // für Messwertanzeige
{
	LABEL		"Primary value";
	ITEMS
	{
		trans1_primary_value,
		SEPARATOR,
		trans1_primary_value_status_quality,
		trans1_primary_value_status_limit
	}
}

MENU BarVal_sv1_display	// für Messwertanzeige
{
	LABEL		"Secondary value 1";
	ITEMS
	{
		trans1_secondary_value_1,
		trans1_lower_sensor_limit,
		trans1_upper_sensor_limit
	}
}

MENU Group_display_sv1  // für Messwertanzeige
{
	LABEL		"Secondary Value 1";
	ITEMS
	{
		trans1_secondary_value_1,
		SEPARATOR,
		trans1_secondary_value_1_status_quality,
		trans1_secondary_value_1_status_limit
	}
}

MENU Group_device_status	// für Messwertanzeige
{
	LABEL		"Device Status|de|Gerätestatus";
	ITEMS
	{
		phys_diagnostic_code,
        phys_actual_error_code,
		phys_status_channel,
		phys_status_count,
		SEPARATOR,
		phys_diagnosis
	}
}

/* TAB Transducer 2 values */ 

MENU Page_display_measure_2	// für Messwertanzeige
{
	LABEL		"Transducer 2 values|de|Messwertanzeige Transducer 2";
	ITEMS
	{
		BarVal_pv2_display,		
		Group_display_pv2,
		BarVal_sv2_display,
		Group_display_sv2,
		Group_device_status

	}
}

MENU BarVal_pv2_display	// für Messwertanzeige
{
	LABEL		"Primary value";
	ITEMS
	{
		trans2_primary_value,
		trans2_lower_sensor_limit,
		trans2_upper_sensor_limit
	}
}

MENU Group_display_pv2  // für Messwertanzeige
{
	LABEL		"Primary value";
	ITEMS
	{
		trans2_primary_value,
		SEPARATOR,
		trans2_primary_value_status_quality,
		trans2_primary_value_status_limit
	}
}

MENU BarVal_sv2_display	// für Messwertanzeige
{
	LABEL		"Secondary value 1";
	ITEMS
	{
		trans2_secondary_value_1,
		trans2_lower_sensor_limit,
		trans2_upper_sensor_limit
	}
}

MENU Group_display_sv2  // für Messwertanzeige
{
	LABEL		"Secondary value 1";
	ITEMS
	{
		trans2_secondary_value_1,
		SEPARATOR,
		trans2_secondary_value_1_status_quality,
		trans2_secondary_value_1_status_limit
	}
}


/* TAB Func Values */

MENU Page_display_func1
{
	LABEL       [func1_AI] ;
	ITEMS
	{
		func1_AI_tag_desc,
		BarVal_out_display_func1,
		Group_display_func1_out,
		Group_display_func1_in
	}
}

MENU BarVal_out_display_func1
{
	LABEL		[func_out_value];
	HELP		[func_ai_out_value_help];
	ITEMS
	{
		func1_AI_out_value	(READ_ONLY),
		func1_AI_out_lower_range_value	(READ_ONLY),
		func1_AI_out_upper_range_value	(READ_ONLY)
	}
}

COLLECTION OF VARIABLE func1_short
{
	MEMBERS
	{
		alarm_sum, func1_current_state_alarm_sum, [menu_dialog_alarm_sum] ;
	}
}

MENU Group_display_func1_out
{
	LABEL		[menu_dialog_display_output] ;
	ITEMS
	{
		func1_actual_mode,
		SEPARATOR,
		func1_AI_out_status_quality	(READ_ONLY),
		func1_AI_out_status_limit		(READ_ONLY),
	    func1_short.alarm_sum
	}
}

MENU Group_display_func1_in
{
	LABEL		[menu_dialog_display_input] ;
	ITEMS
	{
		func1_AI_channel				(READ_ONLY),
		func1_AI_simulation_enabled (READ_ONLY)
	}
}

/* AI2 */

MENU Page_display_func2
{
	LABEL       [func2_AI] ;
	ITEMS
	{
		func2_AI_tag_desc,
		BarVal_out_display_func2,
		Group_display_func1_out,
		Group_display_func1_in
	}
}

MENU BarVal_out_display_func2
{
	LABEL		[func_out_value];
	HELP		[func_ai_out_value_help];
	ITEMS
	{
		func2_AI_out_value	(READ_ONLY),
		func2_AI_out_lower_range_value	(READ_ONLY),
		func2_AI_out_upper_range_value	(READ_ONLY)
	}
}

COLLECTION OF VARIABLE func2_short
{
	MEMBERS
	{
		alarm_sum, func2_current_state_alarm_sum, [menu_dialog_alarm_sum] ;
	}
}

MENU Group_display_func2_out
{
	LABEL		[menu_dialog_display_output] ;
	ITEMS
	{
		func1_actual_mode,
		SEPARATOR,
		func2_AI_out_status_quality	(READ_ONLY),
		func2_AI_out_status_limit		(READ_ONLY),
	    func2_short.alarm_sum
	}
}

MENU Group_display_func2_in
{
	LABEL		[menu_dialog_display_input] ;
	ITEMS
	{
		func2_AI_channel				(READ_ONLY),
		func2_AI_simulation_enabled (READ_ONLY)
	}
}

/* AI3 */

MENU Page_display_func3
{
	LABEL       [func3_AI] ;
	ITEMS
	{
		func3_AI_tag_desc,
		BarVal_out_display_func3,
		Group_display_func1_out,
		Group_display_func1_in
	}
}

MENU BarVal_out_display_func3
{
	LABEL		[func_out_value];
	HELP		[func_ai_out_value_help];
	ITEMS
	{
		func3_AI_out_value	(READ_ONLY),
		func3_AI_out_lower_range_value	(READ_ONLY),
		func3_AI_out_upper_range_value	(READ_ONLY)
	}
}

COLLECTION OF VARIABLE func3_short
{
	MEMBERS
	{
		alarm_sum, func3_current_state_alarm_sum, [menu_dialog_alarm_sum] ;
	}
}

MENU Group_display_func3_out
{
	LABEL		[menu_dialog_display_output] ;
	ITEMS
	{
		func1_actual_mode,
		SEPARATOR,
		func3_AI_out_status_quality	(READ_ONLY),
		func3_AI_out_status_limit		(READ_ONLY),
	    func3_short.alarm_sum
	}
}

MENU Group_display_func3_in
{
	LABEL		[menu_dialog_display_input] ;
	ITEMS
	{
		func3_AI_channel				(READ_ONLY),
		func3_AI_simulation_enabled (READ_ONLY)
	}
}

/* AI4 */

MENU Page_display_func4
{
	LABEL       [func4_AI] ;
	ITEMS
	{
		func4_AI_tag_desc,
		BarVal_out_display_func4,
		Group_display_func1_out,
		Group_display_func1_in
	}
}

MENU BarVal_out_display_func4
{
	LABEL		[func_out_value];
	HELP		[func_ai_out_value_help];
	ITEMS
	{
		func4_AI_out_value	(READ_ONLY),
		func4_AI_out_lower_range_value	(READ_ONLY),
		func4_AI_out_upper_range_value	(READ_ONLY)
	}
}

COLLECTION OF VARIABLE func4_short
{
	MEMBERS
	{
		alarm_sum, func4_current_state_alarm_sum, [menu_dialog_alarm_sum] ;
	}
}

MENU Group_display_func4_out
{
	LABEL		[menu_dialog_display_output] ;
	ITEMS
	{
		func1_actual_mode,
		SEPARATOR,
		func4_AI_out_status_quality	(READ_ONLY),
		func4_AI_out_status_limit		(READ_ONLY),
	    func4_short.alarm_sum
	}
}

MENU Group_display_func4_in
{
	LABEL		[menu_dialog_display_input] ;
	ITEMS
	{
		func4_AI_channel				(READ_ONLY),
		func4_AI_simulation_enabled (READ_ONLY)
	}
}


/**************************************************************************
** Dialog YT 
***************************************************************************/
#ifdef _V600_
MENU Page_OnlineWindow_yt
{
    LABEL		[menu_yt_diagram];
	ITEMS
	{
        OnlineWindow_yt_1,
        OnlineWindow_yt_2,
        OnlineWindow_yt_3,
        OnlineWindow_yt_4,
        OnlineWindow_yt_5
        OnlineWindow_yt_6
    }        
}
#else
MENU OnlineWindow_yt5
{
	LABEL		[menu_yt_diagram];
	ITEMS
	{
		Page_yt1,
		Page_yt2,
		Page_yt3,
		Page_yt4
	}
}

MENU Page_yt1
{
	LABEL YT1_LABEL;
	ITEMS
	{
		Val_yt,
		OCX_out_display_yt_1
	}
}

MENU OCX_out_display_yt_1								// OCX-Control
{
	LABEL		[menu_yt_diagram] ;
	HELP		[trendview_help] ;
	STYLE		"PDMTVPROXY.PDMTVProxyCtrl.1";		// Name, unter dem das OCX in Windows registriert ist
	ITEMS
	{
		OCX_ProfilNum_yt,							// Profil-Nummer

		OCX_out_display_1,							// 1. Kurve

		OCX_UserSettings_yt		// Für Speicherung von Settings, die vom Benutzer zur Laufzeit geändert wurden
	}
}

MENU Page_yt2
{
	LABEL YT2_LABEL;
	ITEMS
	{
		Val_yt2,
		OCX_out_display_yt_2
	}
}

MENU OCX_out_display_yt_2								// OCX-Control
{
	LABEL		[menu_yt_diagram] ;
	HELP		[trendview_help] ;
	STYLE		"PDMTVPROXY.PDMTVProxyCtrl.1";		// Name, unter dem das OCX in Windows registriert ist
	ITEMS
	{
		OCX_ProfilNum_yt,							// Profil-Nummer

		OCX_out_display_2,							// 2. Kurve
                                                                          
		OCX_UserSettings_yt		// Für Speicherung von Settings, die vom Benutzer zur Laufzeit geändert wurden
	}
}

MENU Page_yt3
{
	LABEL YT3_LABEL;
	ITEMS
	{
		Val_yt3,
		OCX_out_display_yt_3
	}
}

MENU OCX_out_display_yt_3								// OCX-Control
{
	LABEL		[menu_yt_diagram] ;
	HELP		[trendview_help] ;
	STYLE		"PDMTVPROXY.PDMTVProxyCtrl.1";		// Name, unter dem das OCX in Windows registriert ist
	ITEMS
	{
		OCX_ProfilNum_yt,							// Profil-Nummer

		OCX_out_display_3,							// 3. Kurve

		OCX_UserSettings_yt		// Für Speicherung von Settings, die vom Benutzer zur Laufzeit geändert wurden
	}
}

MENU Page_yt4
{
	LABEL YT4_LABEL;
	ITEMS
	{
		Val_yt4,
		OCX_out_display_yt_4
	}
}

MENU OCX_out_display_yt_4								// OCX-Control
{
	LABEL		[menu_yt_diagram] ;
	HELP		[trendview_help] ;
	STYLE		"PDMTVPROXY.PDMTVProxyCtrl.1";		// Name, unter dem das OCX in Windows registriert ist
	ITEMS
	{
		OCX_ProfilNum_yt,							// Profil-Nummer

		OCX_out_display_4,							// 4. Kurve

		OCX_UserSettings_yt		// Für Speicherung von Settings, die vom Benutzer zur Laufzeit geändert wurden
	}
}

#endif
/**************************************************************************
** Dialog Diagnosis 
***************************************************************************/

COLLECTION OF VARIABLE trans1
{
	MEMBERS
	{
		actual_mode,		trans1_actual_mode,			"|en|Trans 1 - Actual Mode|de|Trans 1 - Aktueller Modus";
	}
}

COLLECTION OF VARIABLE trans2
{
	MEMBERS
	{
		actual_mode,		trans2_actual_mode,			"|en|Trans 2 - Actual Mode|de|Trans 2 - Aktueller Modus";
	}
}

COLLECTION OF VARIABLE func1
{
	MEMBERS
	{
		actual_mode,		func1_actual_mode,			"|en|AI1 - Actual Mode|de|AI1 - Aktueller Modus";
	}
}

COLLECTION OF VARIABLE func2
{
	MEMBERS
	{
		actual_mode,		func2_actual_mode,			"|en|AI2 - Actual Mode|de|AI2 - Aktueller Modus";
	}
}

COLLECTION OF VARIABLE func3
{
	MEMBERS
	{
		actual_mode,		func3_actual_mode,			"|en|AI3 - Actual Mode|de|AI3 - Aktueller Modus";
	}
}

COLLECTION OF VARIABLE func4
{
	MEMBERS
	{
		actual_mode,		func4_actual_mode,			"|en|AI4 - Actual Mode|de|AI4 - Aktueller Modus";
	}
}


MENU OnlineWindow_diagnosis
{
	LABEL		[menu_dialog_diagnosis];
	ITEMS
	{
		Page_diagnosis_overview,
		Page_diagnosis_general,
		Page_diagnosis_phys_block,
		Page_diagnosis_trans1,
		Page_diagnosis_trans2,
		Page_diagnosis_func1,
		Page_diagnosis_func2,
		Page_diagnosis_func3,
		Page_diagnosis_func4
	}
}


MENU Page_diagnosis_overview
{
	LABEL	[menu_dialog_overview];
	ITEMS
	{
		trans1.actual_mode,
		trans2.actual_mode,
		func1.actual_mode,
		func2.actual_mode,
		func3.actual_mode,
		func4.actual_mode,
		phys_diagnostic_code,
        phys_actual_error_code,
		phys_status_channel,
		phys_status_count,
		phys_last_diagnostic_code
	}
}
MENU Page_diagnosis_general
{
	LABEL		[menu_dialog_general];
	ITEMS
	{
		phys_tag_desc			(READ_ONLY),
		phys_device_man_id,
		phys_device_id,
		phys_serial_num,
		phys_software_rev,
		phys_install_date		(READ_ONLY),
		phys_diagnosis
	}
}

MENU Page_diagnosis_phys_block
{
	LABEL		[blk_block_object_PHYSICAL];
	ITEMS
	{
		phys_blk_object,
		phys_blk_parent_class,
		phys_blk_class,
		phys_blk_profile,
		phys_blk_profile_rev,
		phys_st_rev,
		phys_actual_mode
	}
}

MENU Page_diagnosis_trans1
{
	LABEL		"Transducer 1";
	ITEMS
	{
		trans1_blk_object,
		trans1_blk_parent_class,
		trans1_blk_class,
		trans1_blk_profile,
		trans1_blk_profile_rev,
		trans1_st_rev,
		trans1_actual_mode
	}
}

MENU Page_diagnosis_trans2
{
	LABEL		"Transducer 2";
	ITEMS
	{
		trans2_blk_object,
		trans2_blk_parent_class,
		trans2_blk_class,
		trans2_blk_profile,
		trans2_blk_profile_rev,
		trans2_st_rev,
		trans2_actual_mode
	}
}

MENU Page_diagnosis_func1
{
	LABEL		"AI1" ;
	ITEMS
	{
		func1_AI_blk_object,
		func1_AI_blk_parent_class,
		func1_AI_blk_class,
		func1_AI_blk_profile,
		func1_AI_blk_profile_rev,
		func1_AI_st_rev,
		func1_actual_mode,
		func1_AI_simulation_enabled (READ_ONLY)
	}
}

MENU Page_diagnosis_func2
{
	LABEL		"AI2" ;
	ITEMS
	{
		func2_AI_blk_object,
		func2_AI_blk_parent_class,
		func2_AI_blk_class,
		func2_AI_blk_profile,
		func2_AI_blk_profile_rev,
		func2_AI_st_rev,
		func2_actual_mode,
		func2_AI_simulation_enabled (READ_ONLY)
	}
}

MENU Page_diagnosis_func3
{
	LABEL		"AI3" ;
	ITEMS
	{
		func3_AI_blk_object,
		func3_AI_blk_parent_class,
		func3_AI_blk_class,
		func3_AI_blk_profile,
		func3_AI_blk_profile_rev,
		func3_AI_st_rev,
		func3_actual_mode,
		func3_AI_simulation_enabled (READ_ONLY)
	}
}

MENU Page_diagnosis_func4
{
	LABEL		"AI4" ;
	ITEMS
	{
		func4_AI_blk_object,
		func4_AI_blk_parent_class,
		func4_AI_blk_class,
		func4_AI_blk_profile,
		func4_AI_blk_profile_rev,
		func4_AI_st_rev,
		func4_actual_mode,
		func4_AI_simulation_enabled (READ_ONLY)
	}
}