/* ********************************************************************** ** Includes ********************************************************************** */ /**** standard library include files - From FF******/ #include "com_tbls.h" #include "std_defs.h" #include "builtins.h" /**** LX include files - Device specific **************/ /****#include "hwl_defs.h" #include "swrvhc16.h" *******/ #include "dd_rev.h" #define _1_32MS "|en| 1/32 millisec" #define MANUFAC_ID 0x0464c53 #define DEV_TYPE 0x0202 #define DEV_REV 0x06 /* Dev_rev value for 2.0 software release. */ /* ********************************************************************** ** This DDL imports standard blocks ** and adds parameters to them as required. ** NOTE! symbols.txt is important here and must be maintained. **********************************************************************/ MANUFACTURER MANUFAC_ID, DEVICE_TYPE DEV_TYPE, DEVICE_REVISION DEV_REV, DD_REVISION DD_REV /************************************* * Import all the standard parameters used with this block. ******************************************************/ IMPORT MANUFACTURER __FF, DEVICE_TYPE __STD_PARM, DEVICE_REVISION __STD_PARM_rel_dev_rev, DD_REVISION __STD_PARM_rel_dd_rev /* Standard Parameter Definitions */ { VARIABLE __block_tag; VARIABLE __dd_member; VARIABLE __dd_item; VARIABLE __dd_revis; VARIABLE __profile; VARIABLE __profile_revision; VARIABLE __execution_time; VARIABLE __execution_period; VARIABLE __num_of_params; VARIABLE __next_fb_to_execute; VARIABLE __views_index; VARIABLE __number_view_3; VARIABLE __number_view_4; VARIABLE __st_rev; VARIABLE __tag_desc; VARIABLE __strategy; VARIABLE __alert_key; RECORD __mode_blk; VARIABLE __target_mode; VARIABLE __actual_mode; VARIABLE __permitted_mode; VARIABLE __normal_mode; VARIABLE __block_err; VARIABLE __rs_state; RECORD __test_read_write; VARIABLE __test_boolean; VARIABLE __test_integer8; VARIABLE __test_integer16; VARIABLE __test_integer32; VARIABLE __test_unsigned8; VARIABLE __test_unsigned16; VARIABLE __test_unsigned32; VARIABLE __test_float; VARIABLE __test_visible_string; VARIABLE __test_octet_string; VARIABLE __test_date; VARIABLE __test_time; VARIABLE __test_time_diff; VARIABLE __test_bitstring; VARIABLE __test_dll_time; VARIABLE __dd_resource; VARIABLE __manufac_id; VARIABLE __dev_type; VARIABLE __dev_rev; VARIABLE __dd_rev; RECORD __grant_deny; VARIABLE __grant; VARIABLE __deny; VARIABLE __hard_types; VARIABLE __restart; VARIABLE __features; VARIABLE __feature_sel; VARIABLE __cycle_type; VARIABLE __cycle_sel; VARIABLE __min_cycle_t; VARIABLE __memory_size; VARIABLE __nv_cycle_t; VARIABLE __free_space; VARIABLE __free_time; VARIABLE __shed_rcas; VARIABLE __shed_rout; VARIABLE __fault_state; VARIABLE __set_fstate; VARIABLE __clr_fstate; VARIABLE __max_notify; VARIABLE __lim_notify; VARIABLE __confirm_time; VARIABLE __write_lock; RECORD __event_update; VARIABLE __unacknowledged_evt; VARIABLE __update_state; VARIABLE __time_stamp; VARIABLE __static_revision; VARIABLE __relative_index; RECORD __block_alm; VARIABLE __unacknowledged; VARIABLE __alarm_state; VARIABLE __sub_code; VARIABLE __alm_value; RECORD __alarm_sum; VARIABLE __current_summary; VARIABLE __unacked_summary; VARIABLE __unreported_summary; VARIABLE __disabled_summary; VARIABLE __ack_option; VARIABLE __write_pri; RECORD __write_alm; VARIABLE __discrete_value; RECORD __pv; VARIABLE __status_contained_r; VARIABLE __float_contained_r; RECORD __out; VARIABLE __status_output_nd; VARIABLE __float_output_nd; RECORD __simulate_float; VARIABLE __simulate_status; VARIABLE __simulate_value; VARIABLE __transducer_status; VARIABLE __transducer_value; VARIABLE __enable_disable; RECORD __xd_scale; VARIABLE __eu_100; VARIABLE __eu_0; VARIABLE __units_index; VARIABLE __decimal; RECORD __out_scale; VARIABLE __io_opts; VARIABLE __status_opts; VARIABLE __channel; /* VARIABLE __l_type; VARIABLE __low_cut;*/ VARIABLE __pv_ftime; VARIABLE __alarm_hys; VARIABLE __hi_hi_pri; VARIABLE __hi_hi_lim; VARIABLE __hi_pri; VARIABLE __hi_lim; VARIABLE __lo_pri; VARIABLE __lo_lim; VARIABLE __lo_lo_pri; VARIABLE __lo_lo_lim; RECORD __field_val; VARIABLE __field_val_r; RECORD __hi_hi_alm; VARIABLE __float_value; RECORD __hi_alm; RECORD __lo_alm; RECORD __lo_lo_alm; RECORD __sp; VARIABLE __status_contained_nd; VARIABLE __float_contained_nd; RECORD __pv_scale; VARIABLE __control_opts; RECORD __in; VARIABLE __status_input_nd; VARIABLE __float_input_nd; VARIABLE __bypass; RECORD __cas_in; VARIABLE __status_input; VARIABLE __float_input; VARIABLE __sp_rate_dn; VARIABLE __sp_rate_up; VARIABLE __sp_hi_lim; VARIABLE __sp_lo_lim; VARIABLE __gain; VARIABLE __reset; VARIABLE __bal_time; VARIABLE __rate; RECORD __bkcal_in; VARIABLE __out_hi_lim; VARIABLE __out_lo_lim; VARIABLE __bkcal_hys; RECORD __bkcal_out; VARIABLE __status_output_r; VARIABLE __float_output_r; RECORD __rcas_in; RECORD __rout_in; VARIABLE __status_contained; VARIABLE __float_contained; VARIABLE __shed_opt; RECORD __rcas_out; RECORD __rout_out; RECORD __trk_scale; RECORD __trk_in_d; VARIABLE __discrete_input_nd; VARIABLE __on_off_input_nd; RECORD __trk_val; RECORD __ff_val; RECORD __ff_scale; VARIABLE __ff_gain; VARIABLE __dv_hi_pri; VARIABLE __dv_hi_lim; VARIABLE __dv_lo_pri; VARIABLE __dv_lo_lim; RECORD __dv_hi_alm; RECORD __dv_lo_alm; RECORD __readback; VARIABLE __fstate_time; VARIABLE __fstate_val; VARIABLE __discrete_contained_nd; VARIABLE __itk_ver; RECORD __alarm_sum_res2; VARIABLE __current_summary_res2; VARIABLE __unacked_summary_res2; VARIABLE __unreported_summary_res2; VARIABLE __disabled_summary_res2; VARIABLE __ack_option_res2; RECORD __alarm_sum_pid; VARIABLE __current_summary_pid; VARIABLE __unacked_summary_pid; VARIABLE __unreported_summary_pid; VARIABLE __disabled_summary_pid; VARIABLE __ack_option_pid; } /**** Separate file for the menus and methods ******/ #include "XDMethods.ddl" /* ****************************************** ** Transducer Block definition. ******************************************** */ BLOCK lx_xd_block { LABEL "|en|Fieldbus Valve Positioner Transducer Block"; HELP "|en|"; CHARACTERISTICS lx_xd_character; PARAMETERS { ST_REV, __st_rev ; TAG_DESC, __tag_desc ; STRATEGY, __strategy ; ALERT_KEY, __alert_key ; MODE_BLK, __mode_blk ; BLOCK_ERR, __block_err ; UPDATE_EVT, __event_update; BLOCK_ALM, __block_alm; /**** Add required XD block paramters. Transducer BAP Part 2.*****************/ TRANSDUCER_DIRECTORY, transducer_directory; TRANSDUCER_TYPE, transducer_type; /* 10 */ XD_ERROR, xd_error; COLLECTION_DIRECTORY, collection_directory; FINAL_VALUE, final_value; FINAL_VALUE_RANGE, final_value_range; FINAL_VALUE_CUTOFF_HI, final_value_cutoff_hi; FINAL_VALUE_CUTOFF_LO, final_value_cutoff_lo; FINAL_POSITION_VALUE, final_position_value; ACT_FAIL_ACTION, act_fail_action; ACT_MAN_ID, act_man_id; ACT_MODEL_NUM, act_model_num; /* 20 */ ACT_SN, act_sn; VALVE_MAN_ID, valve_man_id; VALVE_MODEL_NUM, valve_model_num; VALVE_SN, valve_sn; VALVE_TYPE, valve_type; XD_CAL_LOC, xd_cal_loc; XD_CAL_DATE, xd_cal_date; XD_CAL_WHO, xd_cal_who; /****** Remote Parameters *******/ DAC_PERCENT, dac_percent; CONTROL_FLAGS, control_flags; /* 30 */ GAIN_UPPER, gain_upper; GAIN_LOWER, gain_lower; GAIN_MULT, gain_mult; IGAIN, igain; IL_OFFSET, il_offset; STATUS_FLAGS, status_flags; CMD_USED, cmd_used; CALIBRATE, calibrate; DAC_VALUE, dac_value; PRESS_CAL, press_cal; /* 40 */ CALIBRATE_FLAGS, calibrate_flags; SOFTSTOP_HIGH, softstop_high; SOFTSTOP_LOW, softstop_low; CYCLE_COUNTER, cycle_counter; CYCLE_DEADBAND, cycle_deadband; CYCLE_LIMIT, cycle_limit; TRAVEL_ENG, travel_eng; TRAVEL_DEADBAND, travel_deadband; TRAVEL_ALERT, travel_alert; STROKE_ENG, stroke_eng; /* 50 */ TRAVEL_UNITS, travel_units; CURVEX, curvex; CURVEY, curvey; TRAVEL_FLAGS, travel_flags; TEMPERATURE, temperature; PORT_1_PRESSURE, port_1_pressure; PORT_2_PRESSURE, port_2_pressure; SUPPLY_PRESSURE, supply_pressure; VOLTAGE_REFERENCE, voltage_reference; HALL_SENSOR, hall_sensor; /* 60 */ DAC_CHECK, dac_check; MOD_CURRENT, mod_current; IL_CHK, il_chk; INTERNAL_FLAGS, internal_flags; PRESS_FLAGS, press_flags; PRESS_UNITS, press_units; TEMP_UNITS, temp_units; ELECTRONICS_SN, electronics_sn; SOFTWARE_VER, software_ver; FAIL_MODE, fail_mode; /* 70 */ AD_RAW_FB, ad_raw_fb; ERROR, error; PGAIN, pgain; INTEGRAL_SUM, integral_sum; ALPHA_FILT, alpha_filt; PRESS_WINDOW, press_window; PRESS_HYST, press_hyst; PRESS_GAIN, press_gain; TP_ZERO, tp_zero; TP_SPAN, tp_span; /* 80 */ TP_FULL_SCALE, tp_full_scale; BP_ZERO, bp_zero; BP_SPAN, bp_span; BP_FULL_SCALE, bp_full_scale; FB_ZERO, fb_zero; FB_SPAN, fb_span; FB_SCOUNT, fb_scount; HALL_NULL, hall_null; HALL_DOWN, hall_down; HALL_UP, hall_up; /* 90 */ POSALERT_HIGH, posalert_high; POSALERT_LOW, posalert_low; POSDEV_DEADBAND, posdev_deadband; POSDEV_TIME, posdev_time; SIG_START, sig_start; SIG_STOP, sig_stop; RAMP_RATE, ramp_rate; STEP_TIME, step_time; SIG_FLAGS, sig_flags; SAMPLE_TIME, sample_time; /* 100 */ SIG_COUNTER, sig_counter; INTAD_RAW1, intad_raw1; INTAD_RAWTP, intad_rawtp; INTAD_RAWBP, intad_rawbp; INTAD_RAW3, intad_raw3; INTAD_RAW4, intad_raw4; INTAD_RAW5, intad_raw5; INTAD_RAW6, intad_raw6; INTAD_RAW8, intad_raw8; TEST_MODE, test_mode; /* 110 */ VALVE_SIZE, valve_size; VALVE_CLASS, valve_class; VALVE_ENDCON, valve_endcon; VALVE_BODYMAT, valve_bodymat; VALVE_TRIMMAT, valve_trimmat; VALVE_TRIMCHAR, valve_trimchar; VALVE_TRIMTYPE, valve_trimtype; VALVE_TRIMNO, valve_trimno; VALVE_PACKTYPE, valve_packtype; STEM_DIAM, stem_diam; /* 120 */ LEAK_CLASS, leak_class; INLET_PRESS, inlet_press; OUTLET_PRESS, outlet_press; VALVE_FLAGS, valve_flags; RATED_TRAV, rated_trav; ACT_TYPE, act_type; ACT_SIZE, act_size; SPRING_TYPE, spring_type; SPOOL_ID, spool_id; PO_DATE, po_date; /* 130 */ INSTALL_DATE, install_date; LOAD_EE_DEFAULTS, load_ee_defaults; ENG_RELEASE_NUM, eng_release_num; MISC_FLAGS, misc_flags; SIG_INDEX, sig_index; SIG_DATA, sig_data; MFG_PHONE, mfg_phone; PUR_ORDER_NUM, pur_order_num; STROKE_TIME_OPEN, stroke_time_open; STROKE_TIME_CLOSE, stroke_time_close; /* 140 */ CAL_FULLSCALE, cal_fullscale; AUTO_TUNE_MULT, auto_tune_mult; /**** Unique parameters *********************/ NVRAM_WRITE_CYCLES, nvram_write_cycles; GENERIC_PARM_NUM, generic_parm_num; GENERIC_PARM_VAL, generic_parm_val; SPI_TEST_RCV, spi_test_rcv; SPI_TEST_TX, spi_test_tx; BLOCK_TEST, block_test; /* 148 */ } PARAMETER_LISTS { VIEW_1, xd_view_1; VIEW_2, xd_view_2; VIEW_3, xd_view_3; VIEW_4, xd_view_4; } MENU_ITEMS { device_root_menu_xd } METHOD_ITEMS { read_final_value } } /* ***************************************** ** Import standard resource block 2 and add Manufacturer's Unique Parameters. ******************************************* */ IMPORT MANUFACTURER __FF, DEVICE_TYPE __RES_BLOCK_2, DEVICE_REVISION __RES_BLOCK_2_rel_dev_rev, DD_REVISION __RES_BLOCK_2_rel_dd_rev { EVERYTHING; REDEFINITIONS { BLOCK __resource_block_2 { PARAMETERS { ADD DL_CMD1, dl_cmd1; ADD DL_CMD2, dl_cmd2; ADD DL_APPSTATE, dl_appstate; ADD DL_SIZE, dl_size; ADD DL_CHECKSUM, dl_checksum; ADD REVISION_ARRAY, revision_array; ADD BLOCK_TEST, block_test; ADD ERROR_DETAIL, error_detail; ADD AUX_FEATURES, aux_features; REDEFINE CONFIRM_TIME, temp_confirm_time; REDEFINE MIN_CYCLE_T, temp_min_cycle_t; REDEFINE NV_CYCLE_T, temp_nv_cycle_t; REDEFINE SHED_RCAS, temp_shed_rcas; REDEFINE SHED_ROUT, temp_shed_rout; /**** FEATURE_SEL is restricted to the values of FEATURES *********************************************/ REDEFINE FEATURE_SEL, supported_feature_sel; /*** CYCLE_SEL is restrited to the values of CYCLE_TYPE ********************************************/ REDEFINE CYCLE_SEL, supported_cycle_type; } REDEFINE MENU_ITEMS { device_root_menu_rs2 } } VARIABLE_LIST __res_2_view_3 { MEMBERS { ADD VL_DL_APPSTATE, PARAM.DL_APPSTATE ; ADD VL_DL_SIZE, PARAM.DL_SIZE ; ADD VL_DL_CHECKSUM, PARAM.DL_CHECKSUM ; ADD VL_BLOCK_TEST, PARAM.BLOCK_TEST ; ADD VL_ERROR_DETAIL, PARAM.ERROR_DETAIL ; } } VARIABLE_LIST __res_2_view_4 { MEMBERS { ADD VL_REVISION_ARRAY , PARAM.REVISION_ARRAY ; } } } } MENU device_root_menu_rs2 { LABEL "Main RB Menu"; ITEMS { Revisions PARAM.DL_CHECKSUM } } MENU Revisions { LABEL "SW Revisions"; ITEMS { "Empty" } } /* ***************************************** ** Import standard AO block and add Manufacturer's Unique Parameters. ******************************************* */ /*****************************************************************/ IMPORT MANUFACTURER __FF, DEVICE_TYPE __AO_BLOCK, DEVICE_REVISION __AO_BLOCK_rel_dev_rev, DD_REVISION __AO_BLOCK_rel_dd_rev /* Analog Output Block */ { EVERYTHING; REDEFINITIONS { BLOCK __analog_output_block { PARAMETERS { ADD WSP, wsp; ADD READBACK_OUT, readback_out; ADD BLOCK_TEST, block_test; /**** CHANNEL is limited ******/ REDEFINE CHANNEL, hw_ao_channel; /***** Redifine STATUS_OPTS and IO_OPTS to match FBAP Part 2 restrictions.*****/ REDEFINE IO_OPTS, ao_io_opts; REDEFINE STATUS_OPTS, ao_status_opts; } } VARIABLE_LIST __ao_view_1 { MEMBERS { ADD VL_WSP, PARAM.WSP; ADD VL_READBACK_OUT,PARAM.READBACK_OUT; } } VARIABLE_LIST __ao_view_3 { MEMBERS { ADD VL_WSP, PARAM.WSP; ADD VL_READBACK_OUT,PARAM.READBACK_OUT; ADD VL_BLOCK_TEST, PARAM.BLOCK_TEST; } } } } /* ***************************************** ** Import standard PID block and add Manufacturer's Unique Parameters. ******************************************* */ IMPORT MANUFACTURER __FF, DEVICE_TYPE __PID_BLOCK, DEVICE_REVISION __PID_BLOCK_rel_dev_rev, DD_REVISION __PID_BLOCK_rel_dd_rev /* PID Block */ { EVERYTHING; REDEFINITIONS { BLOCK __proportional_integral_derivative_block { PARAMETERS { ADD PID_FORM, pid_form; ADD ALGO_TYPE, algo_type; ADD OUT_LAG, out_lag; ADD GAIN_NLIN, gain_nlin; ADD GAIN_COMP, gain_comp; ADD ERROR_ABS, error_abs; ADD WSP, wsp; ADD BLOCK_TEST, block_test; * Fix promised by D. Dougherty in email 12/5/97 * Still not fixed in std lib 1.966 *****/ REDEFINE TRK_IN_D, temp_trk_in_d; REDEFINE RATE, hw_rate; /****** PV_FTIME is upper limited ****/ REDEFINE PV_FTIME, hw_pv_ftime; /****** GAIN and GAIN_NLIN have same restrictions *****/ REDEFINE GAIN, hw_gain; /***** Redifine STATUS_OPTS and CONTROL_OPTS to match FBAP Part 2 restrictions.*****/ REDEFINE CONTROL_OPTS, pid_control_opts; REDEFINE STATUS_OPTS, pid_status_opts; } } VARIABLE_LIST __pid_view_1 { MEMBERS { ADD VL_GAIN_COMP, PARAM.GAIN_COMP ; ADD VL_ERROR_ABS, PARAM.ERROR_ABS; ADD VL_WSP, PARAM.WSP; } } VARIABLE_LIST __pid_view_2 { MEMBERS { ADD VL_PID_FORM, PARAM.PID_FORM; ADD VL_ALGO_TYPE, PARAM.ALGO_TYPE; ADD VL_OUT_LAG, PARAM.OUT_LAG; ADD VL_GAIN_NLIN, PARAM.GAIN_NLIN; } } VARIABLE_LIST __pid_view_3 { MEMBERS { ADD VL_GAIN_COMP, PARAM.GAIN_COMP ; ADD VL_ERROR_ABS, PARAM.ERROR_ABS; ADD VL_WSP, PARAM.WSP; ADD VL_BLOCK_TEST, PARAM.BLOCK_TEST; } } } } /* ********************************************************************** ** Variables ********************************************************************** */ VARIABLE dl_cmd1 { LABEL "|en|DL_CMD1" ; HELP "|en|Used in sequence with DL_CMD2 to control access to the device's " "|en|flash memory during a code-download procedure. Different combinations " "|en|of commands are used to: a.)erase flash memory, b.)'unlock' the flash " "|en|memory to enable a download, and c.) activate the new downloaded application. " "|en|Refer to the User's Manual or the release notes for the download procedure."; CLASS CONTAINED & DYNAMIC; TYPE UNSIGNED_INTEGER (1) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE dl_cmd2 { LABEL "|en|DL_CMD2" ; HELP "|en|Used in sequence with DL_CMD1 to control access to the device's flash memory " "|en|during a code-download procedure. Different combinations of commands are used to: " "|en|a.)erase flash memory, b.)'unlock' the flash memory to enable a download, " "|en|and c.) activate the new downloaded application. Refer to the User's " "|en|Manual or the release notes for the download procedure."; CLASS CONTAINED & DYNAMIC; TYPE UNSIGNED_INTEGER (1) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE dl_appstate { LABEL "|en|DL_APPSTATE" ; HELP "|en|Download Application State. A 2 byte value indicates the success or failure " "|en|of download command procedures. Refer to the User's Manual or the release " "|en|notes for the download procedure." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE dl_size { LABEL "|en|DL_SIZE" ; HELP "|en|Contains the size of the downloaded application. (This will always be an even number)." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE dl_checksum { LABEL "|en|DL_CHECKSUM" ; HELP "|en|Contains the 16-bit checksum of the downloaded application." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } ARRAY revision_array { LABEL "|en|REVISION_ARRAY"; HELP "|en|Indicates Software Revisions:" "|en| [1] Fieldbus APPLICATION REV." "|en| [2] Fieldbus BOOT REV." "|en| [3] Secondary Processor (if present) REV"; TYPE revision_array_var; NUMBER_OF_ELEMENTS 3; /* RESPONSE_CODES xxx ; */ } VARIABLE revision_array_var { LABEL "|en|REVISION_ARRAY Element" ; HELP "|en|Lists Software Revision number for applicable Assembly."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } ARRAY error_detail { LABEL "|en|ERROR_DETAIL"; HELP "|en|Indicates the details of critical device errors:" "|en| [1] The error type" "|en| [2] The error location (within code or data)" "|en| [3] The error subtype"; TYPE error_detail_var; NUMBER_OF_ELEMENTS 3; /* RESPONSE_CODES xxx ; */ } VARIABLE error_detail_var { LABEL "|en|ERROR_DETAIL Element" ; HELP "|en|Contains details of critical device errors."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE aux_features { LABEL "|en|AUX_FEATURES" ; HELP "|en|Select additional device features." ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { { 0x0001, "|en|Feature 1" }, { 0x0002, "|en|Feature 2" }, { 0x0004, "|en|Feature 3" }, { 0x0008, "|en|Feature 4" }, { 0x0010, "|en|Feature 5" }, { 0x0020, "|en|Feature 6" }, { 0x0040, "|en|Feature 7" }, { 0x0080, "|en|Feature 8" }, { 0x0100, "|en|Feature 9" }, { 0x0200, "|en|Feature 10" }, { 0x0400, "|en|Feature 11" }, { 0x0800, "|en|Feature 12" }, { 0x1000, "|en|Feature 13" }, { 0x2000, "|en|Feature 14" }, { 0x4000, "|en|Feature 15" }, { 0x8000, "|en|Feature 16" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; } RECORD lx_xd_character { LABEL [blk_char] ; HELP [blk_char_help] ; MEMBERS { BLOCK_TAG, __block_tag ; DD_MEMBER, __dd_member ; DD_ITEM, __dd_item ; DD_REVIS, __dd_revis ; PROFILE, __profile ; PROFILE_REVISION, __profile_revision ; EXECUTION_TIME, __execution_time ; EXECUTION_PERIOD, __execution_period ; NUM_OF_PARAMS, __num_of_params ; NEXT_FB_TO_EXECUTE, __next_fb_to_execute ; VIEWS_INDEX, __views_index ; NUMBER_VIEW_3, __number_view_3 ; NUMBER_VIEW_4, __number_view_4 ; } } /* NOTE, this is a copy of __units_index from Std_parm.ddl adjusted to be READ. */ /*********************************************************************** * The following must be used with DD support library V 1.2. */ VARIABLE units_index_r { LABEL [units_index] ; HELP [units_index_help] ; CLASS CONTAINED ; TYPE ENUMERATED (2) { _UNIT_CODE_1000, _UNIT_CODE_1001, _UNIT_CODE_1002, _UNIT_CODE_1003, _UNIT_CODE_1004, _UNIT_CODE_1005, _UNIT_CODE_1006, _UNIT_CODE_1007, _UNIT_CODE_1008, _UNIT_CODE_1009, _UNIT_CODE_1010, _UNIT_CODE_1011, _UNIT_CODE_1012, _UNIT_CODE_1013, _UNIT_CODE_1014, _UNIT_CODE_1015, _UNIT_CODE_1016, _UNIT_CODE_1017, _UNIT_CODE_1018, _UNIT_CODE_1019, _UNIT_CODE_1020, _UNIT_CODE_1021, _UNIT_CODE_1022, _UNIT_CODE_1023, _UNIT_CODE_1024, _UNIT_CODE_1025, _UNIT_CODE_1026, _UNIT_CODE_1027, _UNIT_CODE_1028, _UNIT_CODE_1029, _UNIT_CODE_1030, _UNIT_CODE_1031, _UNIT_CODE_1032, _UNIT_CODE_1033, _UNIT_CODE_1034, _UNIT_CODE_1035, _UNIT_CODE_1036, _UNIT_CODE_1037, _UNIT_CODE_1038, _UNIT_CODE_1039, _UNIT_CODE_1040, _UNIT_CODE_1041, _UNIT_CODE_1042, _UNIT_CODE_1043, _UNIT_CODE_1044, _UNIT_CODE_1045, _UNIT_CODE_1046, _UNIT_CODE_1047, _UNIT_CODE_1048, _UNIT_CODE_1049, _UNIT_CODE_1050, _UNIT_CODE_1051, _UNIT_CODE_1052, _UNIT_CODE_1053, _UNIT_CODE_1054, _UNIT_CODE_1055, _UNIT_CODE_1056, _UNIT_CODE_1057, _UNIT_CODE_1058, _UNIT_CODE_1059, _UNIT_CODE_1060, _UNIT_CODE_1061, _UNIT_CODE_1062, _UNIT_CODE_1063, _UNIT_CODE_1064, _UNIT_CODE_1065, _UNIT_CODE_1066, _UNIT_CODE_1067, _UNIT_CODE_1068, _UNIT_CODE_1069, _UNIT_CODE_1070, _UNIT_CODE_1071, _UNIT_CODE_1072, _UNIT_CODE_1073, _UNIT_CODE_1074, _UNIT_CODE_1075, _UNIT_CODE_1076, _UNIT_CODE_1077, _UNIT_CODE_1078, _UNIT_CODE_1079, _UNIT_CODE_1080, _UNIT_CODE_1081, _UNIT_CODE_1082, _UNIT_CODE_1083, _UNIT_CODE_1084, _UNIT_CODE_1085, _UNIT_CODE_1086, _UNIT_CODE_1087, _UNIT_CODE_1088, _UNIT_CODE_1089, _UNIT_CODE_1090, _UNIT_CODE_1091, _UNIT_CODE_1092, _UNIT_CODE_1093, _UNIT_CODE_1094, _UNIT_CODE_1095, _UNIT_CODE_1096, _UNIT_CODE_1097, _UNIT_CODE_1098, _UNIT_CODE_1099, _UNIT_CODE_1100, _UNIT_CODE_1101, _UNIT_CODE_1102, _UNIT_CODE_1103, _UNIT_CODE_1104, _UNIT_CODE_1105, _UNIT_CODE_1106, _UNIT_CODE_1107, _UNIT_CODE_1108, _UNIT_CODE_1109, _UNIT_CODE_1110, _UNIT_CODE_1111, _UNIT_CODE_1112, _UNIT_CODE_1113, _UNIT_CODE_1114, _UNIT_CODE_1115, _UNIT_CODE_1116, _UNIT_CODE_1117, _UNIT_CODE_1118, _UNIT_CODE_1119, _UNIT_CODE_1120, _UNIT_CODE_1121, _UNIT_CODE_1122, _UNIT_CODE_1123, _UNIT_CODE_1124, _UNIT_CODE_1125, _UNIT_CODE_1126, _UNIT_CODE_1127, _UNIT_CODE_1128, _UNIT_CODE_1129, _UNIT_CODE_1130, _UNIT_CODE_1131, _UNIT_CODE_1132, _UNIT_CODE_1133, _UNIT_CODE_1134, _UNIT_CODE_1135, _UNIT_CODE_1136, _UNIT_CODE_1137, _UNIT_CODE_1138, _UNIT_CODE_1139, _UNIT_CODE_1140, _UNIT_CODE_1141, _UNIT_CODE_1142, _UNIT_CODE_1143, _UNIT_CODE_1144, _UNIT_CODE_1145, _UNIT_CODE_1146, _UNIT_CODE_1147, _UNIT_CODE_1148, _UNIT_CODE_1149, _UNIT_CODE_1150, _UNIT_CODE_1151, _UNIT_CODE_1152, _UNIT_CODE_1153, _UNIT_CODE_1154, _UNIT_CODE_1155, _UNIT_CODE_1156, _UNIT_CODE_1157, _UNIT_CODE_1158, _UNIT_CODE_1159, _UNIT_CODE_1160, _UNIT_CODE_1161, _UNIT_CODE_1162, _UNIT_CODE_1163, _UNIT_CODE_1164, _UNIT_CODE_1165, _UNIT_CODE_1166, _UNIT_CODE_1167, _UNIT_CODE_1168, _UNIT_CODE_1169, _UNIT_CODE_1170, _UNIT_CODE_1171, _UNIT_CODE_1172, _UNIT_CODE_1173, _UNIT_CODE_1174, _UNIT_CODE_1175, _UNIT_CODE_1176, _UNIT_CODE_1177, _UNIT_CODE_1178, _UNIT_CODE_1179, _UNIT_CODE_1180, _UNIT_CODE_1181, _UNIT_CODE_1182, _UNIT_CODE_1183, _UNIT_CODE_1184, _UNIT_CODE_1185, _UNIT_CODE_1186, _UNIT_CODE_1187, _UNIT_CODE_1188, _UNIT_CODE_1189, _UNIT_CODE_1190, _UNIT_CODE_1191, _UNIT_CODE_1192, _UNIT_CODE_1193, _UNIT_CODE_1194, _UNIT_CODE_1195, _UNIT_CODE_1196, _UNIT_CODE_1197, _UNIT_CODE_1198, _UNIT_CODE_1199, _UNIT_CODE_1200, _UNIT_CODE_1201, _UNIT_CODE_1202, _UNIT_CODE_1203, _UNIT_CODE_1204, _UNIT_CODE_1205, _UNIT_CODE_1206, _UNIT_CODE_1207, _UNIT_CODE_1208, _UNIT_CODE_1209, _UNIT_CODE_1210, _UNIT_CODE_1211, _UNIT_CODE_1212, _UNIT_CODE_1213, _UNIT_CODE_1214, _UNIT_CODE_1215, _UNIT_CODE_1216, _UNIT_CODE_1217, _UNIT_CODE_1218, _UNIT_CODE_1219, _UNIT_CODE_1220, _UNIT_CODE_1221, _UNIT_CODE_1222, _UNIT_CODE_1223, _UNIT_CODE_1224, _UNIT_CODE_1225, _UNIT_CODE_1226, _UNIT_CODE_1227, _UNIT_CODE_1228, _UNIT_CODE_1229, _UNIT_CODE_1230, _UNIT_CODE_1231, _UNIT_CODE_1232, _UNIT_CODE_1233, _UNIT_CODE_1234, _UNIT_CODE_1235, _UNIT_CODE_1236, _UNIT_CODE_1237, _UNIT_CODE_1238, _UNIT_CODE_1239, _UNIT_CODE_1240, _UNIT_CODE_1241, _UNIT_CODE_1242, _UNIT_CODE_1243, _UNIT_CODE_1244, _UNIT_CODE_1245, _UNIT_CODE_1246, _UNIT_CODE_1247, _UNIT_CODE_1248, _UNIT_CODE_1249, _UNIT_CODE_1250, _UNIT_CODE_1251, _UNIT_CODE_1252, _UNIT_CODE_1253, _UNIT_CODE_1254, _UNIT_CODE_1255, _UNIT_CODE_1256, _UNIT_CODE_1257, _UNIT_CODE_1258, _UNIT_CODE_1259, _UNIT_CODE_1260, _UNIT_CODE_1261, _UNIT_CODE_1262, _UNIT_CODE_1263, _UNIT_CODE_1264, _UNIT_CODE_1265, _UNIT_CODE_1266, _UNIT_CODE_1267, _UNIT_CODE_1268, _UNIT_CODE_1269, _UNIT_CODE_1270, _UNIT_CODE_1271, _UNIT_CODE_1272, _UNIT_CODE_1273, _UNIT_CODE_1274, _UNIT_CODE_1275, _UNIT_CODE_1276, _UNIT_CODE_1277, _UNIT_CODE_1278, _UNIT_CODE_1279, _UNIT_CODE_1280, _UNIT_CODE_1281, _UNIT_CODE_1282, _UNIT_CODE_1283, _UNIT_CODE_1284, _UNIT_CODE_1285, _UNIT_CODE_1286, _UNIT_CODE_1287, _UNIT_CODE_1288, _UNIT_CODE_1289, _UNIT_CODE_1290, _UNIT_CODE_1291, _UNIT_CODE_1292, _UNIT_CODE_1293, _UNIT_CODE_1294, _UNIT_CODE_1295, _UNIT_CODE_1296, _UNIT_CODE_1297, _UNIT_CODE_1298, _UNIT_CODE_1299, _UNIT_CODE_1300, _UNIT_CODE_1301, _UNIT_CODE_1302, _UNIT_CODE_1303, _UNIT_CODE_1304, _UNIT_CODE_1305, _UNIT_CODE_1306, _UNIT_CODE_1307, _UNIT_CODE_1308, _UNIT_CODE_1309, _UNIT_CODE_1310, _UNIT_CODE_1311, _UNIT_CODE_1312, _UNIT_CODE_1313, _UNIT_CODE_1314, _UNIT_CODE_1315, _UNIT_CODE_1316, _UNIT_CODE_1317, _UNIT_CODE_1318, _UNIT_CODE_1319, _UNIT_CODE_1320, _UNIT_CODE_1321, _UNIT_CODE_1322, _UNIT_CODE_1323, _UNIT_CODE_1324, _UNIT_CODE_1325, _UNIT_CODE_1326, _UNIT_CODE_1327, _UNIT_CODE_1328, _UNIT_CODE_1329, _UNIT_CODE_1330, _UNIT_CODE_1331, _UNIT_CODE_1332, _UNIT_CODE_1333, _UNIT_CODE_1334, _UNIT_CODE_1335, _UNIT_CODE_1336, _UNIT_CODE_1337, _UNIT_CODE_1338, _UNIT_CODE_1339, _UNIT_CODE_1340, _UNIT_CODE_1341, _UNIT_CODE_1342, _UNIT_CODE_1343, _UNIT_CODE_1344, _UNIT_CODE_1345, _UNIT_CODE_1346, _UNIT_CODE_1347, _UNIT_CODE_1348, _UNIT_CODE_1349, _UNIT_CODE_1350, _UNIT_CODE_1351, _UNIT_CODE_1352, _UNIT_CODE_1353, _UNIT_CODE_1354, _UNIT_CODE_1355, _UNIT_CODE_1356, _UNIT_CODE_1357, _UNIT_CODE_1358, _UNIT_CODE_1359, _UNIT_CODE_1360, _UNIT_CODE_1361, _UNIT_CODE_1362, _UNIT_CODE_1363, _UNIT_CODE_1364, _UNIT_CODE_1365, _UNIT_CODE_1366, _UNIT_CODE_1367, _UNIT_CODE_1368, _UNIT_CODE_1369, _UNIT_CODE_1370, _UNIT_CODE_1371, _UNIT_CODE_1372, _UNIT_CODE_1373, _UNIT_CODE_1374, _UNIT_CODE_1375, _UNIT_CODE_1376, _UNIT_CODE_1377, _UNIT_CODE_1378, _UNIT_CODE_1379, _UNIT_CODE_1380, _UNIT_CODE_1381, _UNIT_CODE_1382, _UNIT_CODE_1383, _UNIT_CODE_1384, _UNIT_CODE_1385, _UNIT_CODE_1386, _UNIT_CODE_1387, _UNIT_CODE_1388, _UNIT_CODE_1389, _UNIT_CODE_1390, _UNIT_CODE_1391, _UNIT_CODE_1392, _UNIT_CODE_1393, _UNIT_CODE_1394, _UNIT_CODE_1395, _UNIT_CODE_1396, _UNIT_CODE_1397, _UNIT_CODE_1398, _UNIT_CODE_1399, _UNIT_CODE_1400, _UNIT_CODE_1401, _UNIT_CODE_1402, _UNIT_CODE_1403, _UNIT_CODE_1404, _UNIT_CODE_1405, _UNIT_CODE_1406, _UNIT_CODE_1407, _UNIT_CODE_1408, _UNIT_CODE_1409, _UNIT_CODE_1410, _UNIT_CODE_1411, _UNIT_CODE_1412, _UNIT_CODE_1413, _UNIT_CODE_1414, _UNIT_CODE_1415, _UNIT_CODE_1416, _UNIT_CODE_1417, _UNIT_CODE_1418, _UNIT_CODE_1419, _UNIT_CODE_1420, _UNIT_CODE_1421, _UNIT_CODE_1422, _UNIT_CODE_1423, _UNIT_CODE_1424, _UNIT_CODE_1425, _UNIT_CODE_1426, _UNIT_CODE_1427, _UNIT_CODE_1428, _UNIT_CODE_1429, _UNIT_CODE_1430, _UNIT_CODE_1431, _UNIT_CODE_1432, _UNIT_CODE_1433, _UNIT_CODE_1434, _UNIT_CODE_1435, _UNIT_CODE_1436, _UNIT_CODE_1437, _UNIT_CODE_1438, _UNIT_CODE_1439, _UNIT_CODE_1440 /** FUTURE, NOT YET DEFINED IN COM_TBLS.H and STANDARD.DCT _UNIT_CODE_1441, _UNIT_CODE_1442, _UNIT_CODE_1443, _UNIT_CODE_1444, _UNIT_CODE_1445, _UNIT_CODE_1446, _UNIT_CODE_1447, _UNIT_CODE_1448, _UNIT_CODE_1449, _UNIT_CODE_1450, _UNIT_CODE_1451, _UNIT_CODE_1452, _UNIT_CODE_1453, _UNIT_CODE_1454, _UNIT_CODE_1455, _UNIT_CODE_1456, _UNIT_CODE_1457, _UNIT_CODE_1458, _UNIT_CODE_1459, _UNIT_CODE_1460, _UNIT_CODE_1461, _UNIT_CODE_1462, _UNIT_CODE_1463, _UNIT_CODE_1464, _UNIT_CODE_1465, _UNIT_CODE_1466, _UNIT_CODE_1467, _UNIT_CODE_1468, _UNIT_CODE_1469, _UNIT_CODE_1470, _UNIT_CODE_1471, _UNIT_CODE_1472, _UNIT_CODE_1473, _UNIT_CODE_1474, _UNIT_CODE_1475, _UNIT_CODE_1476, _UNIT_CODE_1477, _UNIT_CODE_1478, _UNIT_CODE_1479, _UNIT_CODE_1480, _UNIT_CODE_1481, _UNIT_CODE_1482, _UNIT_CODE_1483, _UNIT_CODE_1484, _UNIT_CODE_1485, _UNIT_CODE_1486, _UNIT_CODE_1487, _UNIT_CODE_1488, _UNIT_CODE_1489, _UNIT_CODE_1490, _UNIT_CODE_1491, _UNIT_CODE_1492, _UNIT_CODE_1493, _UNIT_CODE_1494, _UNIT_CODE_1495, _UNIT_CODE_1496, _UNIT_CODE_1497, _UNIT_CODE_1498, _UNIT_CODE_1499, _UNIT_CODE_1500 ****** ...... END OF FUTURE REGION ******/ } CONSTANT_UNIT [blank] ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } /* NOTE, this is a copy of __decimal from Std_parm.ddl adjusted to be READ. */ VARIABLE decimal_r { LABEL [decimal] ; HELP [decimal_help] ; CLASS CONTAINED ; TYPE INTEGER (1) ; CONSTANT_UNIT [blank] ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } ARRAY block_test { LABEL "|en|BLOCK_TEST"; HELP ""; TYPE block_test_var; NUMBER_OF_ELEMENTS 8; /* RESPONSE_CODES xxx ; */ } VARIABLE block_test_var { LABEL "|en|BLOCK_TEST Element" ; HELP "|en|Reserved for function block testing."; TYPE UNSIGNED_INTEGER (1) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE pid_form { LABEL "|en|PID_FORM" ; HELP "|en| Available Forms of PID algorithm. "; CLASS CONTAINED; TYPE ENUMERATED (1) { _UNINITIALIZED_VALUE, { 1, "|en|IDEAL PID", "" }, { 2, "|en|ROBUST PID", "" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE algo_type { LABEL "|en|ALGO_TYPE" ; HELP "|en|Type 'A' equation: Proportional, Integral and Derivative act on ERROR. " "|en| Type 'B' equation: Proportional and Integral act on ERROR and Derivative acts on PV." "|en| Type 'C' equation: Integral acts on ERROR and Proportional and Derivative act on PV."; CLASS CONTAINED; TYPE ENUMERATED (1) { _UNINITIALIZED_VALUE, { 1, "|en|PID Type A", "" }, { 2, "|en|PID Type B", "" } { 3, "|en|PID Type C", "" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE out_lag { LABEL "|en|OUT_LAG"; HELP "|en|Output Lag Parameter. ; CLASS CONTAINED ; TYPE FLOAT { MAX_VALUE 7500.0; } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE gain_nlin { LABEL "|en|GAIN_NLIN"; HELP "|en|NonLinear Gain Parameter. ; CLASS CONTAINED & TUNE; TYPE FLOAT { MIN_VALUE1 0.0; MAX_VALUE1 0.0; MIN_VALUE2 0.004; MAX_VALUE2 250.0; } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE gain_comp { LABEL "|en|GAIN_COMP"; HELP "|en|"; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE error_abs { LABEL "|en|ERROR_ABS"; HELP "|en|Absolute value of the deviation between PV and working setpoint (WSP). Read only."; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } RECORD wsp { LABEL "|en|WSP"; HELP "|en|Working setpoint. This is the setpoint value after absolute and rate " "|en|limits have been applied. Deviation alarms are computed on this value. Read only."; MEMBERS { STATUS, __status_contained_r ; VALUE, __float_contained_r ; } /* RESPONSE_CODES xxx ; */ } RECORD readback_out { LABEL "|en|READBACK_OUT"; HELP "|en|An output variable which is a copy of READBACK."; MEMBERS { STATUS, __status_output_r ; VALUE, __float_output_r ; } /* RESPONSE_CODES xxx ; */ } RECORD temp_trk_in_d { LABEL [trk_in_d_label] ; HELP [trk_in_d_help] ; MEMBERS { STATUS, __status_input_nd ; VALUE, __on_off_input_nd ; } /* RESPONSE_CODES xxx ; */ } VARIABLE hw_rate { LABEL [rate_label] ; HELP [rate_help] ; CLASS CONTAINED & TUNE; TYPE FLOAT { MIN_VALUE 0.0; MAX_VALUE 7500.0; } CONSTANT_UNIT [sec] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE transducer_directory { LABEL "|en|TRANSDUCER_DIRECTORY"; HELP "|en|"; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE transducer_type { LABEL "|en|TRANSDUCER_TYPE" ; HELP "|en|Indicates the nature of the Transducer. " "|en|106 represents the Standard Advanced Positioner Valve."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE xd_error { LABEL "|en|XD_ERROR" ; HELP "|en|Transducer Error Code. This is a subcode of BLOCK_ALM identifying a Transducer Processing error."; TYPE ENUMERATED (1) { /* from Transducer BAP, Part 2, section 4.8 */ { 0, "|en|None", "|en|No error has been reported." }, { 16, "|en|Unspecified", "|en|An error has occurred that was not identified." }, { 17, "|en|General", "|en|An error that could not be classified as one of the errors below." }, { 18, "|en|Calibration", "|en|An error occurred during calibration, or a cal error found during normal operation." }, { 19, "|en|Configuration", "|en|An error during configuration or a config error detected during normal operation." }, { 20, "|en|Electronics", "|en|An electronic component has failed." }, { 21, "|en|Mechanical", "|en|A mechanical component has failed." }, { 22, "|en|I/O", "|en|An I/O failure has occurred." }, { 23, "|en|Data Integrity", "|en|Indicates that data stored within the system may no longer by valid due to NVM checksum failure, etc." }, { 24, "|en|Software", "|en|The software has detected an error, e.g. interrupt service error, etc." }, { 25, "|en|Algorithm", "|en|The algorithm used in the transducer block has produced an error." } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE collection_directory { LABEL "|en|COLLECTION_DIRECTORY"; HELP "|en|A directory that specifies the number, starting indicies, and DD Item IDs " "|en|of the data collections in each transducer within a transducer block." "|en|Refer to Transducer BAP - Part 1 [FF-902] " "|en|The LX has only one data collection, which may not be implemented."; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } RECORD final_value { LABEL "|en|FINAL_VALUE"; HELP "|en|This is the command value, in percent, to which the valve is being positioned."; MEMBERS { STATUS, __status_contained_nd ; VALUE, __float_contained_nd ; } /* RESPONSE_CODES xxx ; */ } RECORD final_value_range { LABEL "|en|FINAL_VALUE_RANGE" ; HELP "|en|The high and low range limit values, the engineering units code " "|en|and the number of digits to the right of the decimal point " "|en|to be used to display the Final Value." "|en|The LX only allows '%' as a range." ; MEMBERS { EU_100, __eu_100 ; EU_0, __eu_0 ; UNITS_INDEX, final_val_index ; DECIMAL, __decimal ; } /* RESPONSE_CODES xxx ; */ } /* variation of __units_index tailored to LX XD FINAL VALUE*/ VARIABLE final_val_index { LABEL [units_index] ; HELP [units_index_help] ; CLASS CONTAINED ; TYPE ENUMERATED (2) { /* There is only one unit allowed for LX, '%'.*/ _UNINITIALIZED_VALUE, _UNIT_CODE_1342 } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE final_value_cutoff_hi { LABEL "|en|FINAL_VALUE_CUTOFF_HI" ; HELP "|en|If FINAL_VALUE (positioner's set point) goes above this value " "|en|the positioner will drive the valve open. FINAL_VALUE must " "|en|be less than FINAL_VALUE_CUTOFF_HI by more than 1% before the " "|en|positioner will start to close the valve."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE final_value_cutoff_lo { LABEL "|en|FINAL_VALUE_CUTOFF_LO" ; HELP "|en|If FINAL_VALUE (positioner's set point) goes below this value " "|en|the positioner will drive the valve closed. FINAL_VALUE must " "|en|be greater than FINAL_VALUE_CUTOFF_LO by more than 1% before the " "|en|positioner will start to open the valve."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } RECORD final_position_value { LABEL "|en|FINAL_POSITION_VALUE"; HELP "|en|This is the actual feedback position (valve position) expressed in " "|en|terms of percent. This could be used as the READBACK_VALUE " "|en|in an AO block."; MEMBERS { STATUS, status_contained_nvr ; VALUE, float_contained_nvr ; } /* RESPONSE_CODES xxx ; */ } /* status_contained_nvr is meant to represent a non-volatile * read only variable. It is adapted from __status_contained_r * which is a dynamic read-only variable.*******/ VARIABLE status_contained_nvr { LABEL [status_label] ; HELP [status_contained_help] ; CLASS CONTAINED ; TYPE ENUMERATED (1) { __FF_STATUS_VALUES } CONSTANT_UNIT [blank] ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } /* float_contained_nvr is meant to represent a non-volatile * read only variable. It is adapted from __float_contained_r * which is a dynamic read-only variable. *********/ VARIABLE float_contained_nvr { LABEL [value_label] ; HELP [float_contained_help] ; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE act_fail_action { LABEL "|en|ACT_FAIL_ACTION" ; HELP "|en|Actuator Fail Action. Specifies the action the actuator takes in case of failure." "|en|Information Only"; TYPE ENUMERATED (1) { { 0, "|en|None", "|en|" }, { 1, "|en|Mechanical Fail Closed", "|en|" }, { 2, "|en|Mechanical Fail Open", "|en|" }, { 3, "|en|Mechanical Fail In Place", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE act_man_id { LABEL "|en|ACT_MAN_ID" ; HELP "|en|The actuator Manufacturer ID number"; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 5, "|en|Valtek", "|en|" }, { 6, "|en|Kammer", "|en|" }, { 7, "|en|Sereg", "|en|" }, { 8, "|en|Automax", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE act_model_num { LABEL "|en|ACT_MODEL_NUM" ; HELP "|en|Actuator Model Number"; CLASS CONTAINED ; TYPE VISIBLE (32) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE act_sn { LABEL "|en|ACT_SN" ; HELP "|en|Actuator Serial Number"; CLASS CONTAINED ; TYPE VISIBLE (32) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_man_id { LABEL "|en|VALVE_MAN_ID" ; HELP "|en|The Valve Manufacturer ID number"; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Valtek", "|en|" }, { 2, "|en|Kammer", "|en|" }, { 3, "|en|Sereg", "|en|" }, { 4, "|en|Durco", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_model_num { LABEL "|en|VALVE_MODEL_NUM" ; HELP "|en|Valve Model Number"; CLASS CONTAINED ; TYPE VISIBLE (32) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_sn { LABEL "|en|VALVE_SN" ; HELP "|en|Valve Serial Number"; CLASS CONTAINED ; TYPE VISIBLE (32) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_type { LABEL "|en|VALVE_TYPE" ; HELP "|en|The Type of Valve."; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Mark 1", "|en|" }, { 2, "|en|Mark 2", "|en|" }, { 3, "|en|Mark 8", "|en|" }, { 4, "|en|Mark 1x", "|en|" }, { 5, "|en|ShearStream", "|en|" }, { 6, "|en|Maxflow", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE xd_cal_loc { LABEL "|en|XD_CAL_LOC" ; HELP "|en|This describes the physical location at which the calibration was performed."; CLASS CONTAINED ; TYPE VISIBLE (32) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE xd_cal_date { LABEL "|en|XD_CAL_DATE"; HELP "|en|Last Calibration Date." ; CLASS CONTAINED ; TYPE VISIBLE (8) ; /**** TYPE DATE_AND_TIME;********************************/ /**** Note: type DATE_T, which is the designated type for this parameter in the **** Transducer BAP spec is NOT Y2K compliant. Therefore, this will initially **** be a 8 octet ASCII string to show the date MMDDYYYY. ***********/ CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE xd_cal_who { LABEL "|en|XD_CAL_WHO" ; HELP "|en|The name of the person responsible for the last positioner calibration."; CLASS CONTAINED ; TYPE VISIBLE (32) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE dac_percent { LABEL "|en|DAC_PERCENT" ; HELP "|en|This is the value, in percent, which is written to the external " "|en|12-bit D/A. DAC_PERCENT is the value that drives the analog, " "|en|inner loop, spool positioning circuit."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE control_flags { LABEL "|en|CONTROL_FLAGS" ; HELP "|en|Configures the positioner for valve and actuator type." "|en| Quick Opening Curve - Select to write Quick Opening " "|en|curve data to CURVEX and CURVEY," "|en| Equal Percent Curve - Select to write Equal Percent " "|en|curve data to CURVEX and CURVEY, " "|en| Custom Characterization Active - Select to activate " "|en|the curve stored in CURVEX and CURVEY (linear curve is default when deselected)"; /**/ TYPE BIT_ENUMERATED (1) { { 0x01, "|en|Quick Opening Curve","|en|Select to write Quick Opening curve data to CURVEX and CURVEY" }, { 0x02, "|en|Equal Percent Curve","|en|Select to write Equal Percent curve data to CURVEX and CURVEY" }, /*{ 0x04, "|en|Actuator Type: Off = Double Acting, On = Single Acting","|en|Select the type of actuator" },*/ { 0x08, "|en|Positioner Model: Off=Standard, On=Advanced","|en|Advanced = with pressure sensors, Standard = without pressure sensors" }, { 0x10, "|en|Actuator Style: Off=Linear, On=Rotary","|en|Select the style of actuator" }, { 0x20, "|en|Custom Characterization Active: Off = Linear, On = Custom or selected Curve.","|en|Select to activate the curve stored in CURVEX and CURVEY (linear curve is default when deselected)" }, /**{ 0x40, "|en|Fail Position: Off=Fail Closed, On=Fail Open","|en|Select the actuator fail position" },**/ { 0x80, "|en|Air Action: Off = ATO, On = ATC","|en|select the actuator air action" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE gain_upper { LABEL "|en|GAIN_UPPER" ; HELP "|en|This is the maximum outer loop proportional gain. " "|en|GAIN_UPPER is used along with GAIN_LOWER and GAIN_MULT " "|en|to calculate the variable outer loop proportional gain."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE gain_lower { LABEL "|en|GAIN_LOWER" ; HELP "|en|This is the minimum outer loop proportional gain. " "|en|GAIN_LOWER is used along with GAIN_UPPER and GAIN_MULT " "|en|to calculate the variable outer loop proportional gain."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE gain_mult { LABEL "|en|GAIN_MULT" ; HELP "|en|This is the proportional gain multiplier. GAIN_MULT is " "|en|used along with GAIN_UPPER and GAIN_LOWER to calculate " "|en|the variable outer loop proportional gain."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE igain { LABEL "|en|IGAIN" ; HELP "|en|This is the integral gain. This variable is typically set to equal 10."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE il_offset { LABEL "|en|IL_OFFSET" ; HELP "|en|This is the inner loop offset expressed in terms of percent. " "|en|This variable is automatically set during a stroke calibration " "|en|procedure. This variable is adjusted to place the spool in " "|en|the balanced ('null') position."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE status_flags { LABEL "|en|STATUS_FLAGS" ; HELP "|en|This variable reports the status of the positioner card to the Fieldbus card."; TYPE BIT_ENUMERATED (1) { { 0x01, "|en|Inter Board Comm Failure.","|en|" }, /*{ 0x04, "|en|Op Code/Var number not valid","|en|" },*//* No longer used */ { 0x08, "|en|Checksum error in Received SPI","|en|" }, { 0x10, "|en|Error in PRESS_FLAGS","|en|" }, { 0x20, "|en|Error in INTERNAL_FLAGS","|en|" }, { 0x40, "|en|Error in TRAVEL_FLAGS","|en|" }, { 0x80, "|en|Error in CALIBRATE_FLAGS","|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE cmd_used { LABEL "|en|CMD_USED" ; HELP "|en|This is the actual command used to position the valve. " "|en|If Softstops, characterization or FINAL_VALUE_CUTOFF are " "|en|active, the value reported by CMD_USED may be different than " "|en|the value in FINAL_VALUE."; CLASS CONTAINED & DYNAMIC; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE calibrate { LABEL "|en|CALIBRATE" ; HELP "|en|This variable is used to initiate and report the state of calibration routines."; TYPE ENUMERATED (1) { { 0, "|en|Normal Operation (Rev 0x21).", "|en|calibration OFF, position control enabled" }, { 1, "|en|Perform a stroke calibration procedure.", "|en|" }, { 2, "|en|Automatically Calibrate Actuator Pressure Sensors", "|en|" }, { 5, "|en|Moving valve to closed position", "|en|Get Feedback at 0%" }, { 6, "|en|Moving valve to open position", "|en|Get Feedback at 100%" }, { 7, "|en|Calibrating SUPPLY sensor", "|en|" }, { 8, "|en|Calibrating Actuator Sensor - closed", "|en|" }, { 9, "|en|Calibrating Actuator Sensor - open", "|en|" }, { 11, "|en|Check quick-cal button", "|en|" }, { 12, "|en|Error occurred during Calibration", "|en|" }, { 16, "|en|Determine inner-loop offset", "|en|" }, { 18, "|en|Auto Tune Positioner", "|en|" }, { 19, "|en|Jog Cal - waiting for user to set 100% Point.", "|en|" }, { 20, "|en|Range Checking.", "|en|" }, { 101, "|en|Normal Operation (Rev 0x23)--Check jog cal in MISC_FLAGS", "|en|calibration OFF, position control enabled" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE dac_value { LABEL "|en|DAC_VALUE" ; HELP "|en|Binary value written to external 12-bit DAC." ; CLASS CONTAINED & DYNAMIC ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE press_cal { LABEL "|en|PRESS_CAL" ; HELP "|en|This is the supply pressure that was used to calibrate the " "|en|pressure sensors. Prior to calibrating the pressure sensors, " "|en|the input supply pressure value must be written to PRESS_CAL. "; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE calibrate_flags { LABEL "|en|CALIBRATE_FLAGS" ; HELP "|en|This variable reports errors that may have occurred during a calibration procedure."; TYPE BIT_ENUMERATED (1) { { 0x08, "|en|Step time test time out","|en|" }, { 0x04, "|en|Position A/D Converter span error","|en|" }, { 0x10, "|en|Position A/D Converter saturated at 100% position","|en|" }, { 0x20, "|en|Position A/D Converter saturated at 0% position","|en|" }, { 0x80, "|en|Calibration time out","|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE softstop_high { LABEL "|en|SOFTSTOP_HIGH" ; HELP "|en|This is the upper soft stop expressed in terms of percent."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE softstop_low { LABEL "|en|SOFTSTOP_LOW" ; HELP "|en|This is the lower soft stop expressed in terms of percent."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE cycle_counter { LABEL "|en|CYCLE_COUNTER" ; HELP "|en|This variable stores the total number of cycles the valve " "|en|has accumulated. The variable CYCLE_DEADBAND defines how much " "|en|of a change in position is required to be counted as a cycle."; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE cycle_deadband { LABEL "|en|CYCLE_DEADBAND"; HELP "|en|This variable, in percent, determines the valve position movement " "|en|necessary to count as a valve cycle. The magnitude of this " "|en|variable is translated into a bipolar deadband. For example, if " "|en|a deadband of +/- 10% is desired, CYCLE_DEADBAND should be " "|en|written as 10."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE cycle_limit { LABEL "|en|CYCLE_LIMIT" ; HELP "|en|This variable holds the cycle counter alert limit. If CYCLE_COUNTER " "|en|exceeds this limit a warning will be set by TRAVEL_FLAGS."; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE travel_eng { LABEL "|en|TRAVEL_ENG" ; HELP "|en|This is the total amount of travel that the valve has moved " "|en|expressed in engineering units. The units of travel are defined " "|en|by variable TRAVEL_UNITS."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE travel_deadband { LABEL "|en|TRAVEL_DEADBAND" ; HELP "|en|This variable, in percent, determines the valve position movement " "|en|necessary to calculate the amount of distance the valve has " "|en|traveled. Movement of the valve must exceed this deadband in " "|en|order to increment the travel counter. The magnitude of this " "|en|variable is translated into a bipolar deadband. For example, if " "|en|a deadband of +/- 10% is desired, TRAVEL_DEADBAND should " "|en|be written as 10."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE travel_alert { LABEL "|en|TRAVEL_ALERT" ; HELP "|en|This is the travel accumulator alert set point expressed in " "|en|engineering units. If the travel accumulator (TRAVEL_ENG) " "|en|exceeds this value, a warning will be set by TRAVEL_FLAGS"; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE stroke_eng { LABEL "|en|STROKE_ENG" ; HELP "|en|The total stroke of the valve expressed in engineering units. The " "|en|units for this variable are found in TRAVEL_UNITS."; CLASS CONTAINED ; TYPE FLOAT ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE travel_units { LABEL "|en|TRAVEL_UNITS" ; HELP "|en|This variable selects the engineering units used with TRAVEL_ENG."; TYPE ENUMERATED (1) { _UNINITIALIZED_VALUE, { 47, "|en|inches", "|en|" }, { 49, "|en|millimeters", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } ARRAY curvex { LABEL "|en|CURVEX" ; HELP "|en|Characterization X co-ordinates."; TYPE charzation_var; NUMBER_OF_ELEMENTS 21; /* RESPONSE_CODES xxx ; */ } ARRAY curvey { LABEL "|en|CURVEY" ; HELP "|en|Characterization Y co-ordinates."; TYPE charzation_var; NUMBER_OF_ELEMENTS 21; /* RESPONSE_CODES xxx ; */ } VARIABLE charzation_var { LABEL "|en|CURVEXY Element" ; HELP "|en|Used with CURVEX and Y."; TYPE FLOAT ; CONSTANT_UNIT [blank] ; CLASS CONTAINED; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE travel_flags { LABEL "|en|TRAVEL_FLAGS" ; HELP "|en|This variable indicates if a user defined travel limit has been " "|en|met or exceeded. Used to indicate Position Deviation Alerts, " "|en|Cycle Counter Alerts, Travel Accumulator Alerts, Soft Stops active, " "|en|Final Value Cutoff active, or Position Alerts."; TYPE BIT_ENUMERATED (1) { { 0x01, "|en|Position Deviation Alert","|en|" }, { 0x02, "|en|Travel accumulator limit exceeded","|en|" }, { 0x04, "|en|Cycle counter limit exceeded","|en|" }, { 0x08, "|en|Upper position alert","|en|" }, { 0x10, "|en|Lower position alert","|en|" }, { 0x20, "|en|Upper soft stop active","|en|" }, { 0x40, "|en|Lower soft stop active","|en|" }, { 0x80, "|en|Final_Value_Cutoff active ","|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE temperature { LABEL "|en|TEMPERATURE" ; HELP "|en|Reports internal ambient positioner temperature, expressed in " "|en|units set by TEMP_UNITS."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE port_1_pressure { LABEL "|en|PORT_1_PRESSURE" ; HELP "|en|Reports the port 1 pressure expressed in units set by PRESS_UNITS."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE port_2_pressure { LABEL "|en|PORT_2_PRESSURE" ; HELP "|en|Reports the port 2 pressure expressed in units set by PRESS_UNITS."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE supply_pressure { LABEL "|en|SUPPLY_PRESSURE" ; HELP "|en|Reports the supply actuator pressure expressed in units set by PRESS_UNITS."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE voltage_reference { LABEL "|en|VOLTAGE_REFERENCE" ; HELP "|en|External 12-bit A/D reference voltage"; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE hall_sensor { LABEL "|en|HALL_SENSOR" ; HELP "|en|Value measured by Hall Sensor used to control spool position."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE dac_check { LABEL "|en|DAC_CHECK" ; HELP "|en|12 bit DAC check."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE mod_current { LABEL "|en|MOD_CURRENT" ; HELP "|en|Modulator coil current expressed in mA."; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } VARIABLE il_chk { LABEL "|en|IL_CHK" ; HELP "|en|Inner Loop hardware check."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE internal_flags { LABEL "|en|INTERNAL_FLAGS" ; HELP "|en|Variable used to report electronic hardware alarm conditions on " "|en|the positioner card."; TYPE BIT_ENUMERATED (1) { { 0x01, "|en|EEPROM Checksum Error","|en|" }, { 0x02, "|en|Inner Loop Error","|en|" }, { 0x04, "|en|Excessive Modulator Current","|en|" }, { 0x08, "|en|Hall Sensor Error","|en|" }, { 0x10, "|en|Temperature Error","|en|" }, { 0x20, "|en|12 bit DAC Error","|en|" }, { 0x40, "|en|1.23V Reference Error","|en|" }, { 0x80, "|en|12 bit A/D Reference Error","|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE press_flags { LABEL "|en|PRESS_FLAGS" ; HELP "|en|Variable used to report pressure sensor alarm conditions."; TYPE BIT_ENUMERATED (1) { { 0x10, "|en|Output Port 2 Sensor Failure","|en|" }, { 0x20, "|en|Output Port 1 Sensor Failure","|en|" }, /*{ 0x40, "|en|Supply Sensor Failure","|en|" }, -- no longer used in Control Board.*/ { 0x80, "|en|Loss of Supply","|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE press_units { LABEL "|en|PRESS_UNITS" ; HELP "|en|Variable used to select pressure-reading units."; TYPE ENUMERATED (1) { _UNINITIALIZED_VALUE, { 6, "|en|psi", "|en|" }, { 7, "|en|bar", "|en|" }, { 10, "|en|Kg/cm2 ", "|en|" }, { 12, "|en|Kpa", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE temp_units { LABEL "|en|TEMP_UNITS" ; HELP "|en|Variable used to select temperature units."; TYPE ENUMERATED (1) { _UNINITIALIZED_VALUE, { 32, "|en|deg C", "|en|" }, { 33, "|en|deg F", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE electronics_sn { LABEL "|en|ELECTRONICS_SN" ; HELP "|en|This is a number programmed into the Control Board " "|en|non-volatile memory in the factory. It is used to create " "|en|the Device ID."; CLASS CONTAINED ; TYPE VISIBLE (8) ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE software_ver { LABEL "|en|SOFTWARE_VER" ; HELP "|en|Version of the positioner controller board software."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE fail_mode { LABEL "|en|FAIL_MODE" ; HELP "|en|Fail Mode of the actuator if loss of Communications occurs " "|en|Red LED will blink if active. 0x00 means Fail to Last Known " "|en|Command. If Open and Closed are both set, write is ignored."; TYPE ENUMERATED (1) { { 0x00, "|en|Fail to last known set point.","|en|" }, { 0x01, "|en|Fail Valve Closed","|en|" }, { 0x02, "|en|Fail Valve Open","|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE nvram_write_cycles { LABEL "|en|NVRAM_WRITE_CYCLES" ; HELP "|en|Keeps count every every data access to the NVRAM in the " "|en|Fieldbus board."; TYPE UNSIGNED_INTEGER (4); CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } RECORD generic_parm_num { LABEL "|en|GENERIC_PARM_NUM" ; HELP "|en|Enables read/write of non-mapped internal " "|en| Controller variables: " "|en| VAR_NUM: Variable Number [1 - 255]." "|en| 0 means no variable selected." "|en| VAR_TYPE: Variable Type."; MEMBERS { VAR_TYPE, gen_var_type; VAR_NUM, gen_var_num; } /* RESPONSE_CODES xxx ; */ } VARIABLE gen_var_type { LABEL "|en|GENERIC_PARM_NUM Type" ; HELP "|en|Type of the variable requested by GENERIC_PARM_NUM."; TYPE ENUMERATED (1) { { 0, "|en|Signed int", "|en|" }, { 1, "|en|unsigned int", "|en|" }, { 2, "|en|unsigned char", "|en|" }, { 3, "|en|unsigned long", "|en|" }, { 4, "|en|signed long", "|en|" }, { 5, "|en|float", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE gen_var_num { LABEL "|en|GENERIC_PARM_NUM ID Number." ; HELP "|en|The controller variable list number requested by GENERIC_PARM_NUM."; TYPE UNSIGNED_INTEGER (1) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE generic_parm_val { LABEL "|en|GENERIC_PARM_VAL" ; HELP "|en|Value of variable identified by generic_parm_num."; TYPE INTEGER (4) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } ARRAY spi_test_rcv { LABEL "|en|SPI_TEST_RCV"; HELP "|en|Contains the SPI Rx_buffer."; TYPE spi_test_var; NUMBER_OF_ELEMENTS 16; /* RESPONSE_CODES xxx ; */ } ARRAY spi_test_tx { LABEL "|en|SPI_TEST_TX"; HELP "|en|Contains the SPI Tx_buffer."; TYPE spi_test_var; NUMBER_OF_ELEMENTS 16; /* RESPONSE_CODES xxx ; */ } VARIABLE spi_test_var { LABEL "|en|SPI_TEST Element" ; HELP "|en| Contains the SPI buffer data of the most recent transaction."; TYPE UNSIGNED_INTEGER (1) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE press_window { LABEL "|en|PRESS_WINDOW"; HELP "|en|Window size to lock in pressure control. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE press_hyst { LABEL "|en|PRESS_HYST"; HELP "|en|Hysteresis added to prevent Pressure Window from unlocking. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE press_gain { LABEL "|en|PRESS_GAIN" ; HELP "|en|Gain value for Pressure Control." ; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE tp_zero { LABEL "|en|TP_ZERO" ; HELP "|en|Port 1 pressure sensor Zero 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE tp_span { LABEL "|en|TP_SPAN" ; HELP "|en|Port 1 pressure sensor Span 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE tp_full_scale { LABEL "|en|TP_FULL_SCALE" ; HELP "|en|Port 1 pressure sensor Full Scale 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE bp_zero { LABEL "|en|BP_ZERO" ; HELP "|en|Port 2 pressure sensor Zero 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE bp_span { LABEL "|en|BP_SPAN" ; HELP "|en|Port 2 pressure sensor Span 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE bp_full_scale { LABEL "|en|BP_FULL_SCALE" ; HELP "|en|Port 2 pressure sensor Full Scale 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sp_zero { LABEL "|en|SP_ZERO" ; HELP "|en|Supply pressure sensor Zero 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sp_span { LABEL "|en|SP_SPAN" ; HELP "|en|Supply pressure sensor Span 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sp_full_scale { LABEL "|en|SP_FULL_SCALE" ; HELP "|en|Supply pressure sensor Full Scale 10 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE fb_zero { LABEL "|en|FB_ZERO" ; HELP "|en|Feedback 0% 12 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE fb_span { LABEL "|en|FB_SPAN" ; HELP "|en|Feedback 100% 12 bit A/D counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE fb_scount { LABEL "|en|FB_SCOUNT" ; HELP "|en|Feedback full scale counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE hall_null { LABEL "|en|HALL_NULL" ; HELP "|en|Hall effect sensor A/D counts when spool is in its null position." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE hall_down { LABEL "|en|HALL_DOWN" ; HELP "|en|Hall effect sensor A/D counts when the spool is down." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE hall_up { LABEL "|en|HALL_UP" ; HELP "|en|Hall effect sensor A/D counts when the spool is up." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_raw1 { LABEL "|en|INTAD_RAW1" ; HELP "|en|10 bit A/D temperature counts."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_rawtp { LABEL "|en|INTAD_RAWTP" ; HELP "|en|10 bit A/D counts, port 1 pressure sensor."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_rawbp { LABEL "|en|INTAD_RAWBP" ; HELP "|en|10 bit A/D counts, port 2 pressure sensor."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_rawsp { LABEL "|en|INTAD_RAWSP" ; HELP "|en|10 bit A/D counts, supply pressure."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_raw3 { LABEL "|en|INTAD_RAW3" ; HELP "|en|10 bit A/D 2.5 VDC reference counts."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_raw4 { LABEL "|en|INTAD_RAW4" ; HELP "|en|10 bit A/D IL Hall sensor counts."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_raw5 { LABEL "|en|INTAD_RAW5" ; HELP "|en|10 bit A/D 12 bit DAC output counts."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_raw6 { LABEL "|en|INTAD_RAW6" ; HELP "|en|10 bit A/D modulator current counts."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE intad_raw8 { LABEL "|en|INTAD_RAW8" ; HELP "|en|10 bit A/D zero reference counts."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE test_mode { LABEL "|en|TEST_MODE" ; HELP "|en|This variable is used to run off line tests."; TYPE BIT_ENUMERATED (1) { { 0x01, "|en|Enable Diagnostic Variable access.", "|en|" }, { 0x10, "|en|Blink green LED", "|en|" }, { 0x20, "|en|Blink yellow LED", "|en|" }, { 0x40, "|en|Blink red LED", "|en|" }, { 0x80, "|en|Write to DAC_value", "|en|DAC control given to PC." } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sig_start { LABEL "|en|SIG_START"; HELP "|en|Starting control command, in %, for signature analysis. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sig_stop { LABEL "|en|SIG_STOP"; HELP "|en|Ending control command, in %, for signature analysis. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE ramp_rate { LABEL "|en|RAMP_RATE"; HELP "|en|The rate, in %/minute, that the control command changes " "|en|during ramp signature analysis. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE step_time { LABEL "|en|STEP_TIME"; HELP "|en|Settling time after step in seconds. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sig_flags { LABEL "|en|SIG_FLAGS" ; HELP "|en|Signature Flags. " "|en|VALVE_INIT - Initializes valve for signature capture (read only). " "|en|STEP_RAMP - Selects which type of signature is desired. Select for ramp signature. " "|en|SIG_COMPLETE - Status byte set when the signature has been completed (read only). " "|en|PRESS_MEAS - Select if actuator pressure readings are desired as part of the signature. " "|en|BEGIN_SIG - Select to initiate the signature routine."; TYPE BIT_ENUMERATED (1) { { 0x08, "|en|VALVE_INIT", "|en|Initializes valve for signature capture (read only)." }, { 0x10, "|en|STEP_RAMP", "|en|Selects which type of signature is desired. Select for ramp signature." }, { 0x20, "|en|SIG_COMPLETE", "|en|Status byte set when the signature has been completed (read only)." }, { 0x40, "|en|PRESS_MEAS", "|en|Select if actuator pressure readings are desired as part of the signature." }, { 0x80, "|en|BEGIN_SIG", "|en|Select to initiate the signature routine." } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE sample_time { LABEL "|en|SAMPLE_TIME"; HELP "|en|Time between signature samples. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sig_counter { LABEL "|en|SIG_COUNTER" ; HELP "|en|Indicates number of data points collected during a signature test."; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE ad_raw_fb { LABEL "|en|AD_RAW_FB" ; HELP "|en|12 bit A/D Feedback counts."; TYPE INTEGER (2) ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE error { LABEL "|en|ERROR"; HELP "|en|Position Deviation in %. "; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE pgain { LABEL "|en|PGAIN"; HELP "|en|Present Proportional Gain. "; CLASS CONTAINED & DYNAMIC ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE integral_sum { LABEL "|en|INTEGRAL_SUM" ; HELP "|en|Integration summer in %."; TYPE FLOAT ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE alpha_filt { LABEL "|en|ALPHA_FILT" ; HELP "|en|Recursive filter 'alpha' coefficient."; TYPE FLOAT ; CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE eng_release_num { LABEL "|en|ENG_RELEASE_NUM" ; HELP "|en|Embedded Engineering Release Number." ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE posalert_high { LABEL "|en|POSALERT_HIGH"; HELP "|en|Position Alert High Limit in %. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE posalert_low { LABEL "|en|POSALERT_LOW"; HELP "|en|Position Alert Low Limit in %."; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE posdev_deadband { LABEL "|en|POSDEV_DEADBAND"; HELP "|en|Position Deviation Deadband,entered in %, determines " "|en|the maximum steady state error which generates a Position " "|en|Deviation Alert. This is entered as an absolute value. " "|en|For example, if a deadband of ± 2% is desired, a value of " "|en|2 should be entered. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE posdev_time { LABEL "|en|POSDEV_TIME"; HELP "|en|Position Deviation Time is the amount of time, entered in " "|en|seconds, that the Position Deviation can exceed the Position " "|en|Deviation Deadband before a Position Deviation Alert is " "|en|generated. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_size { LABEL "|en|VALVE_SIZE" ; HELP "|en|Valve Size in inches." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|0.5 inch", "|en|" }, { 2, "|en|0.75 inch", "|en|" }, { 3, "|en|1.0 inch", "|en|" }, { 4, "|en|1.5 inch", "|en|" }, { 5, "|en|2.0 inch", "|en|" }, { 6, "|en|3.0 inch", "|en|" }, { 7, "|en|4.0 inch", "|en|" }, { 8, "|en|6.0 inch", "|en|" }, { 9, "|en|8.0 inch", "|en|" }, { 10, "|en|10.0 inch", "|en|" }, { 11, "|en|12.0 inch", "|en|" }, { 12, "|en|14.0 inch", "|en|" }, { 13, "|en|18.0 inch", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_class { LABEL "|en|VALVE_CLASS" ; HELP "|en|Pressure Class Rating." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|150", "|en|" }, { 2, "|en|300", "|en|" }, { 3, "|en|600", "|en|" }, { 4, "|en|900", "|en|" }, { 5, "|en|1500", "|en|" }, { 6, "|en|2500", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_endcon { LABEL "|en|VALVE_ENDCON" ; HELP "|en|Valve End Connections." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|CS Sep. Flange", "|en|" }, { 2, "|en|316 SS Sep Flange", "|en|" }, { 3, "|en|Integral Flange", "|en|" }, { 4, "|en|RTJ", "|en|" }, { 5, "|en|NPT", "|en|" }, { 6, "|en|Socket Weld", "|en|" }, { 7, "|en|Butt Weld", "|en|" }, { 8, "|en|Gray Loc.", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_bodymat { LABEL "|en|VALVE_BODYMAT" ; HELP "|en|Valve Body Material." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Alloy 20", "|en|" }, { 2, "|en|Aluminum", "|en|" }, { 3, "|en|Bronze", "|en|" }, { 4, "|en|Carbon .5 Mly", "|en|" }, { 5, "|en|Carbon Steel", "|en|" }, { 6, "|en|Cast Iron", "|en|" }, { 7, "|en|Ductile Iron", "|en|" }, { 8, "|en|Hastelloy B2", "|en|" }, { 9, "|en|Hastelloy C", "|en|" }, { 10, "|en|Inconel", "|en|" }, { 11, "|en|Monel 400", "|en|" }, { 12, "|en|Nickel", "|en|" }, { 13, "|en|Titanium", "|en|" }, { 14, "|en|Type 304", "|en|" }, { 15, "|en|Type 304L", "|en|" }, { 16, "|en|Type 316", "|en|" }, { 17, "|en|Type 316L", "|en|" }, { 18, "|en|Type 347", "|en|" }, { 19, "|en|1.25 Chrm-0.5 MLY", "|en|" }, { 20, "|en|2.25 Chrm-1.0 MLY", "|en|" }, { 21, "|en|3.5 Nickel", "|en|" }, { 22, "|en|5 Chrm-0.5 MLY", "|en|" }, { 23, "|en|9 Chrm-1.0 MLY", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_trimmat { LABEL "|en|VALVE_TRIMMAT" ; HELP "|en|Valve Trim Material." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|316 SS", "|en|" }, { 2, "|en|316 SS w/ Stellite", "|en|" }, { 3, "|en|416 SS", "|en|" }, { 4, "|en|Monel", "|en|" }, { 5, "|en|K-Monel", "|en|" }, { 6, "|en|17-4 PH", "|en|" }, { 7, "|en|Alloy 20", "|en|" }, { 8, "|en|440-C", "|en|" }, { 9, "|en|Hastelloy 'B'", "|en|" }, { 10, "|en|Hastelloy 'C'", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_trimchar { LABEL "|en|VALVE_TRIMCHAR" ; HELP "|en|Valve Trim Characteristic." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Equal Percent (=%)", "|en|" }, { 2, "|en|Linear", "|en|" }, { 3, "|en|Quick Open", "|en|" }, { 4, "|en|Bi-Linear", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_trimtype { LABEL "|en|VALVE_TRIMTYPE" ; HELP "|en|Valve Trim Type." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Cav. Control", "|en|" }, { 2, "|en|Channel Stream", "|en|" }, { 3, "|en|High Pressure", "|en|" }, { 4, "|en|Mega Stream", "|en|" }, { 5, "|en|Standard", "|en|" }, { 6, "|en|Tiger Tooth", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_trimno { LABEL "|en|VALVE_TRIMNO" ; HELP "|en|Valve Trim Diameter." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|0.12a", "|en|" }, { 2, "|en|0.12b", "|en|" }, { 3, "|en|0.12c", "|en|" }, { 4, "|en|0.12d", "|en|" }, { 5, "|en|0.12e", "|en|" }, { 6, "|en|0.25a", "|en|" }, { 7, "|en|0.25b", "|en|" }, { 8, "|en|0.31", "|en|" }, { 9, "|en|0.38", "|en|" }, { 10, "|en|0.5", "|en|" }, { 11, "|en|0.62", "|en|" }, { 12, "|en|0.72", "|en|" }, { 13, "|en|0.81", "|en|" }, { 14, "|en|1.0", "|en|" }, { 15, "|en|1.25", "|en|" }, { 16, "|en|1.62", "|en|" }, { 17, "|en|2.0", "|en|" }, { 18, "|en|2.25", "|en|" }, { 19, "|en|2.62", "|en|" }, { 20, "|en|3.0", "|en|" }, { 21, "|en|3.5", "|en|" }, { 22, "|en|5.0", "|en|" }, { 23, "|en|6.25", "|en|" }, { 24, "|en|7.38", "|en|" }, { 25, "|en|8.0", "|en|" }, { 26, "|en|9.5", "|en|" }, { 27, "|en|11.0", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_packtype { LABEL "|en|VALVE_PACKTYPE" ; HELP "|en|Valve Packing Type." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Safeguard", "|en|" }, { 2, "|en|Standard Graphite", "|en|" }, { 3, "|en|Standard Square", "|en|" }, { 4, "|en|Standard V", "|en|" }, { 5, "|en|Sureguard", "|en|" }, { 6, "|en|Sureguard XT", "|en|" }, { 7, "|en|Twin Graphite", "|en|" }, { 8, "|en|Twin Square", "|en|" }, { 9, "|en|Twin V", "|en|" }, { 10, "|en| Vacuum Seal Twin", "|en|" }, { 11, "|en| Vacuum Seal V", "|en|" } { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE stem_diam { LABEL "|en|STEM_DIAM"; HELP "|en|Stem/shaft Diameter. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE leak_class { LABEL "|en|LEAK_CLASS" ; HELP "|en|Shutoff Leakage Class." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 7, "|en|Class I", "|en|" }, { 8, "|en|Class II", "|en|" }, { 9, "|en|Class III", "|en|" }, { 10, "|en|Class IV", "|en|" }, { 11, "|en|Class V", "|en|" }, { 12, "|en|~2% Rate", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE inlet_press { LABEL "|en|INLET_PRESS"; HELP "|en|Upstream Pressure of Valve. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE outlet_press { LABEL "|en|OUTLET_PRESS"; HELP "|en|Downstream Pressure of Valve. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE valve_flags { LABEL "|en|VALVE_FLAGS" ; HELP "|en|Valve information."; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Flow Over", "|en|" }, { 2, "|en|Flow Under", "|en|" }, { 3, "|en|Shaft Upstream", "|en|" }, { 4, "|en|Shaft Downstream", "|en|" }, { 5, "|en|Shaft Center", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE rated_trav { LABEL "|en|RATED_TRAV"; HELP "|en|Rated Valve Travel Before Service is Required. "; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE act_type { LABEL "|en|ACT_TYPE" ; HELP "|en|Actuator Type." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Single Acting", "|en|" }, { 2, "|en|Double Acting", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE act_size { LABEL "|en|ACT_SIZE" ; HELP "|en|Actuator Size." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|25 sq. inch", "|en|" }, { 2, "|en|50 sq. inch", "|en|" }, { 3, "|en|100 sq. inch", "|en|" }, { 4, "|en|200 sq. inch", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE spring_type { LABEL "|en|SPRING_TYPE" ; HELP "|en|Spring type: Single, Dual, etc." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Single", "|en|" }, { 2, "|en|Heavy Duty", "|en|" }, { 3, "|en|Dual", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE spool_id { LABEL "|en|SPOOL_ID" ; HELP "|en|Spool Identification." ; CLASS CONTAINED ; TYPE ENUMERATED (1) { /* from */ _UNINITIALIZED_VALUE, { 1, "|en|Low Flow", "|en|" }, { 2, "|en|High Flow", "|en|" }, { 99, "|en|Other", "|en|" } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE po_date { LABEL "|en|PO_DATE" ; HELP "|en|Purchase Order Date."; CLASS CONTAINED ; TYPE VISIBLE (8) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE install_date { LABEL "|en|INSTALL_DATE" ; HELP "|en|Installation Date."; CLASS CONTAINED ; TYPE VISIBLE (8) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE load_ee_defaults { LABEL "|en|LOAD_EE_DEFAULTS" ; HELP "|en|This variable will load the positioner board " "|en|EEPROM with factory default values."; TYPE ENUMERATED (1) { { 0, "|en|Normal Operation.", "|en|" }, { 1, "|en|Reset Non-volatile variables.", "|en|" }, { 2, "|en|Reset Calibration variables.", "|en|" } } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE misc_flags { LABEL "|en|MISC_FLAGS" ; HELP "|en|Enable/disable various features ." "|en| Auto Model Detect disabled - Feature which automatically " "|en|determines whether the positioner is an advanced or standard " "|en|model. Select this to disable this feature." "|en| Large Actuator Calibration - Select to disable a special " "|en|calibration routine for large actuators, " "|en| Re-Cal Disabled - Select to disable the Re-Cal button";/**/ TYPE BIT_ENUMERATED (1) { { 0x01, "|en|Jog Calibration Enabled", "|en|Enables Jog Calibration routine and disables normal. CALIBRATE will reflect progress." }, { 0x08, "|en|Auto Feedback Gain Enabled.", "|en|Enables automatic switching of rotary and linear gains. Used with CAL_FULLSCALE." }, { 0x10, "|en|Pressure Control Enabled.", "|en|Enables internal pressure control algorithm to smooth out oscillations." }, { 0x20, "|en|Auto Model Detect disabled.", "|en|Feature which automatically determines whether the positioner is an advanced model or a standard model. Select this to disable this feature." }, { 0x40, "|en|Large Actuator Calibration.", "|en|Select to activate a special calibration routine for large actuators when CALIBRATE (perform a stroke calibration procedure) is selected. Actuators larger than 100 square inches generally require this feature." }, { 0x80, "|en|Re-Cal Disabled.", "|en|Select to disable the Re-Cal button. This is set automatically when the Transducer Block is OOS." } } CONSTANT_UNIT [blank] ; CLASS CONTAINED ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE sig_index { LABEL "|en|SIG_INDEX" ; HELP "|en|Pointer to internal Signature Sample Database. Writeable " "|en|only when MODE_BLK in FVPTB is OOS in the current version" ; CLASS CONTAINED & DYNAMIC ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } ARRAY sig_data { LABEL "|en|SIG_DATA" ; HELP "|en|Single set of Signature Samples pointed at by SIG_INDEX."; TYPE sig_data_var; NUMBER_OF_ELEMENTS 4; /* RESPONSE_CODES xxx ; */ } VARIABLE sig_data_var { LABEL "|en|SIG_DATA Element" ; HELP "|en|Individual member of SIG_DATA."; TYPE FLOAT ; CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } VARIABLE mfg_phone { LABEL "|en|MFG_PHONE" ; HELP "|en|Manufacturer's Phone Number."; CLASS CONTAINED ; TYPE VISIBLE (18) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE pur_order_num { LABEL "|en|PUR_ORDER_NUM" ; HELP "|en|Purchase Order Number."; CLASS CONTAINED ; TYPE VISIBLE (18) ; CONSTANT_UNIT [blank] ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } RECORD stroke_time_open { LABEL "|en|STROKE_TIME_OPEN" ; HELP "|en|Set a stroke time, in seconds, for the valve to open."; MEMBERS { VALUE, stroke_float_value; SUP_STATUS, support_status; } /* RESPONSE_CODES xxx ; */ } RECORD stroke_time_close { LABEL "|en|STROKE_TIME_CLOSE" ; HELP "|en|Set a stroke time, in seconds, for the valve to close. Zero to disable."; MEMBERS { VALUE, stroke_float_value; SUP_STATUS, support_status; } /* RESPONSE_CODES xxx ; */ } VARIABLE stroke_float_value { LABEL "|en|STROKE_FLOAT_VALUE"; HELP "|en|Floating point value for stroke rate variables."; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT "Seconds" ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } RECORD cal_fullscale { LABEL "|en|CAL_FULLSCALE" ; HELP "|en|Sets the minimum amount of feedback pot movement in A/D counts required to prevent calibration error." "|en|The default value is 1500 counts."; MEMBERS { VALUE, counts_value; SUP_STATUS, support_status; } /* RESPONSE_CODES xxx ; */ } VARIABLE counts_value { LABEL "|en|COUNTS_VALUE" ; HELP "|en|Value for cal_fullscale record."; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) ; CONSTANT_UNIT "A/D counts" ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } RECORD auto_tune_mult { LABEL "|en|AUTO_TUNE_MULT" ; HELP "|en|Make the positioner auto tuning more, or less response. Value of 50 cuts gains in half."; MEMBERS { VALUE, autotune_float_value; SUP_STATUS, support_status; } /* RESPONSE_CODES xxx ; */ } VARIABLE autotune_float_value { LABEL "|en|AUTOTUNE_FLOAT_VALUE" ; HELP "|en|Value for Auto_tune_mult record."; CLASS CONTAINED ; TYPE FLOAT ; CONSTANT_UNIT "per cent" ; HANDLING READ & WRITE; /* RESPONSE_CODES xxx ; */ } VARIABLE support_status { LABEL "|en|SUPPORT_STATUS" ; HELP "|en|Shows status of support for 'e' variables."; TYPE ENUMERATED (1) { { 0, "|en|NOT Supported! See SOFTWARE_VER", "|en|" }, /* early versions assigned '1' */ { 1, "|en|active", "|en|" }, /* Stroke_time_open, _close, cal_fullscale */ { 2, "|en|inactive", "|en|" }, { 101, "|en|Active only if Auto Tune Switch is set.", "|en|" } /*auto_tune_mult only */ } CONSTANT_UNIT [blank] ; CLASS CONTAINED & DYNAMIC ; HANDLING READ; /* RESPONSE_CODES xxx ; */ } /* ********************************************************************** ** Variable lists for the Transducer Block ********************************************************************** */ VARIABLE_LIST xd_view_1 { LABEL "|en|XD View 1" ; HELP "|en|" ; MEMBERS { VL_ST_REV, PARAM.ST_REV ; VL_MODE_BLK, PARAM.MODE_BLK ; VL_BLOCK_ERR, PARAM.BLOCK_ERR ; VL_FINAL_VALUE, PARAM.FINAL_VALUE ; VL_FINAL_POSITION_VALUE,PARAM.FINAL_POSITION_VALUE ; VL_DAC_PERCENT, PARAM.DAC_PERCENT; VL_CONTROL_FLAGS, PARAM.CONTROL_FLAGS; VL_STATUS_FLAGS, PARAM.STATUS_FLAGS; VL_CMD_USED, PARAM.CMD_USED; VL_CALIBRATE, PARAM.CALIBRATE; VL_CALIBRATE_FLAGS, PARAM.CALIBRATE_FLAGS; VL_CYCLE_COUNTER, PARAM.CYCLE_COUNTER; VL_TRAVEL_ENG, PARAM.TRAVEL_ENG; VL_TRAVEL_FLAGS, PARAM.TRAVEL_FLAGS; VL_TEMPERATURE, PARAM.TEMPERATURE; VL_PORT_1_PRESSURE, PARAM.PORT_1_PRESSURE ; VL_PORT_2_PRESSURE, PARAM.PORT_2_PRESSURE ; VL_SUPPLY_PRESSURE, PARAM.SUPPLY_PRESSURE; VL_VOLTAGE_REFERENCE, PARAM.VOLTAGE_REFERENCE ; VL_HALL_SENSOR, PARAM.HALL_SENSOR; VL_DAC_CHECK, PARAM.DAC_CHECK; VL_MOD_CURRENT, PARAM.MOD_CURRENT; VL_IL_CHK, PARAM.IL_CHK; VL_INTERNAL_FLAGS, PARAM.INTERNAL_FLAGS; VL_PRESS_FLAGS, PARAM.PRESS_FLAGS; VL_INTEGRAL_SUM, PARAM.INTEGRAL_SUM; VL_MISC_FLAGS, PARAM.MISC_FLAGS; } } VARIABLE_LIST xd_view_2 { LABEL "|en|XD View 2" ; HELP "|en|" ; MEMBERS { VL_ST_REV, PARAM.ST_REV ; VL_FINAL_VALUE_RANGE, PARAM.FINAL_VALUE_RANGE ; VL_FINAL_VALUE_CUTOFF_HI, PARAM.FINAL_VALUE_CUTOFF_HI; VL_FINAL_VALUE_CUTOFF_LO, PARAM.FINAL_VALUE_CUTOFF_LO; VL_GAIN_UPPER, PARAM.GAIN_UPPER; VL_GAIN_LOWER, PARAM.GAIN_LOWER; VL_GAIN_MULT, PARAM.GAIN_MULT; VL_SOFTSTOP_HIGH, PARAM.SOFTSTOP_HIGH; VL_SOFTSTOP_LOW, PARAM.SOFTSTOP_LOW; VL_CYCLE_DEADBAND, PARAM.CYCLE_DEADBAND; VL_CYCLE_LIMIT, PARAM.CYCLE_LIMIT; VL_TRAVEL_DEADBAND, PARAM.TRAVEL_DEADBAND; VL_TRAVEL_ALERT, PARAM.TRAVEL_ALERT; VL_STROKE_ENG, PARAM.STROKE_ENG; VL_TRAVEL_UNITS, PARAM.TRAVEL_UNITS; VL_FAIL_MODE, PARAM.FAIL_MODE; VL_PRESS_WINDOW, PARAM.PRESS_WINDOW; VL_PRESS_HYST, PARAM.PRESS_HYST; VL_PRESS_GAIN, PARAM.PRESS_GAIN; VL_POSALERT_HIGH, PARAM.POSALERT_HIGH; VL_POSALERT_LOW, PARAM.POSALERT_LOW; VL_POSDEV_DEADBAND, PARAM.POSDEV_DEADBAND; VL_POSDEV_TIME, PARAM.POSDEV_TIME; } } VARIABLE_LIST xd_view_3 { LABEL "|en|XD View 3" ; HELP "|en|" ; MEMBERS { VL_ST_REV, PARAM.ST_REV ; VL_MODE_BLK, PARAM.MODE_BLK ; VL_BLOCK_ERR, PARAM.BLOCK_ERR ; VL_FINAL_VALUE, PARAM.FINAL_VALUE ; VL_FINAL_POSITION_VALUE,PARAM.FINAL_POSITION_VALUE ; VL_DAC_PERCENT, PARAM.DAC_PERCENT; VL_CONTROL_FLAGS, PARAM.CONTROL_FLAGS; VL_STATUS_FLAGS, PARAM.STATUS_FLAGS; VL_CMD_USED, PARAM.CMD_USED; VL_CALIBRATE, PARAM.CALIBRATE; VL_CALIBRATE_FLAGS, PARAM.CALIBRATE_FLAGS; VL_CYCLE_COUNTER, PARAM.CYCLE_COUNTER; VL_TRAVEL_ENG, PARAM.TRAVEL_ENG; VL_TRAVEL_FLAGS, PARAM.TRAVEL_FLAGS; VL_TEMPERATURE, PARAM.TEMPERATURE; VL_PORT_1_PRESSURE, PARAM.PORT_1_PRESSURE ; VL_PORT_2_PRESSURE, PARAM.PORT_2_PRESSURE ; VL_SUPPLY_PRESSURE, PARAM.SUPPLY_PRESSURE ; VL_VOLTAGE_REFERENCE, PARAM.VOLTAGE_REFERENCE ; VL_HALL_SENSOR, PARAM.HALL_SENSOR; VL_DAC_CHECK, PARAM.DAC_CHECK; VL_MOD_CURRENT, PARAM.MOD_CURRENT; VL_IL_CHK, PARAM.IL_CHK; VL_INTERNAL_FLAGS, PARAM.INTERNAL_FLAGS; VL_PRESS_FLAGS, PARAM.PRESS_FLAGS; VL_INTEGRAL_SUM, PARAM.INTEGRAL_SUM; VL_SIG_START, PARAM.SIG_START; VL_SIG_STOP, PARAM.SIG_STOP; VL_RAMP_RATE, PARAM.RAMP_RATE; VL_STEP_TIME, PARAM.STEP_TIME; VL_SIG_FLAGS, PARAM.SIG_FLAGS; VL_SAMPLE_TIME, PARAM.SAMPLE_TIME; VL_SIG_COUNTER, PARAM.SIG_COUNTER; VL_MISC_FLAGS, PARAM.MISC_FLAGS; /***** view_3_2 ******/ /*** See FF App note AN-002 FS 1.0 31 Jan 2000 ***/ VL_ST_REV_01, PARAM.ST_REV; VL_XD_ERROR, PARAM.XD_ERROR; VL_DAC_VALUE, PARAM.DAC_VALUE; VL_AD_RAW_FB, PARAM.AD_RAW_FB; VL_ERROR, PARAM.ERROR; VL_PGAIN, PARAM.PGAIN; VL_INTAD_RAW1, PARAM.INTAD_RAW1; VL_INTAD_RAWTP, PARAM.INTAD_RAWTP; VL_INTAD_RAWBP, PARAM.INTAD_RAWBP; VL_INTAD_RAW3, PARAM.INTAD_RAW3; VL_INTAD_RAW4, PARAM.INTAD_RAW4; VL_INTAD_RAW5, PARAM.INTAD_RAW5; VL_INTAD_RAW6, PARAM.INTAD_RAW6; VL_INTAD_RAW8, PARAM.INTAD_RAW8; VL_TEST_MODE, PARAM.TEST_MODE; VL_LOAD_EE_DEFAULTS, PARAM.LOAD_EE_DEFAULTS; VL_SIG_INDEX, PARAM.SIG_INDEX; VL_SIG_DATA, PARAM.SIG_DATA; VL_NVRAM_WRITE_CYCLES, PARAM.NVRAM_WRITE_CYCLES; VL_GENERIC_PARM_NUM, PARAM.GENERIC_PARM_NUM; VL_GENERIC_PARM_VAL, PARAM.GENERIC_PARM_VAL; VL_SPI_TEST_RCV, PARAM.SPI_TEST_RCV; VL_SPI_TEST_TX, PARAM.SPI_TEST_TX; VL_BLOCK_TEST, PARAM.BLOCK_TEST; } } VARIABLE_LIST xd_view_4 { LABEL "|en|XD View 4" ; HELP "|en|" ; MEMBERS { VL_ST_REV, PARAM.ST_REV ; VL_STRATEGY, PARAM.STRATEGY ; VL_ALERT_KEY, PARAM.ALERT_KEY ; VL_ACT_MAN_ID, PARAM.ACT_MAN_ID ; VL_VALVE_MAN_ID, PARAM.VALVE_MAN_ID; VL_VALVE_SN, PARAM.VALVE_SN; VL_VALVE_TYPE, PARAM.VALVE_TYPE; VL_XD_CAL_DATE, PARAM.XD_CAL_DATE; VL_IGAIN, PARAM.IGAIN; VL_PRESS_CAL, PARAM.PRESS_CAL; VL_PRESS_UNITS, PARAM.PRESS_UNITS; VL_TEMP_UNITS, PARAM.TEMP_UNITS; VL_PO_DATE, PARAM.PO_DATE; VL_INSTALL_DATE, PARAM.INSTALL_DATE; VL_STROKE_TIME_OPEN, PARAM.STROKE_TIME_OPEN; VL_STROKE_TIME_CLOSE, PARAM.STROKE_TIME_CLOSE; VL_CAL_FULLSCALE, PARAM.CAL_FULLSCALE; VL_AUTO_TUNE_MULT, PARAM.AUTO_TUNE_MULT; /***** view_4_2 ******/ /*** See FF App note AN-002 FS 1.0 31 Jan 2000 ***/ VL_ST_REV_02, PARAM.ST_REV; VL_ELECTRONICS_SN, PARAM.ELECTRONICS_SN; VL_SOFTWARE_VER, PARAM.SOFTWARE_VER; VL_VALVE_SIZE, PARAM.VALVE_SIZE; VL_VALVE_CLASS, PARAM.VALVE_CLASS; VL_VALVE_ENDCON, PARAM.VALVE_ENDCON; VL_VALVE_BODYMAT, PARAM.VALVE_BODYMAT; VL_VALVE_TRIMMAT, PARAM.VALVE_TRIMMAT; VL_VALVE_TRIMCHAR, PARAM.VALVE_TRIMCHAR; VL_VALVE_TRIMTYPE, PARAM.VALVE_TRIMTYPE; VL_VALVE_TRIMNO, PARAM.VALVE_TRIMNO; VL_VALVE_PACKTYPE, PARAM.VALVE_PACKTYPE; VL_STEM_DIAM, PARAM.STEM_DIAM; VL_LEAK_CLASS, PARAM.LEAK_CLASS; VL_INLET_PRESS, PARAM.INLET_PRESS; VL_OUTLET_PRESS, PARAM.OUTLET_PRESS; VL_VALVE_FLAGS, PARAM.VALVE_FLAGS; VL_RATED_TRAV, PARAM.RATED_TRAV; VL_ACT_TYPE, PARAM.ACT_TYPE; VL_ACT_SIZE, PARAM.ACT_SIZE; VL_SPRING_TYPE, PARAM.SPRING_TYPE; VL_SPOOL_ID, PARAM.SPOOL_ID; VL_ENG_RELEASE_NUM, PARAM.ENG_RELEASE_NUM; VL_MFG_PHONE, PARAM.MFG_PHONE; VL_PUR_ORDER_NUM, PARAM.PUR_ORDER_NUM; /***** view_4_3 ******/ /*** See FF App note AN-002 FS 1.0 31 Jan 2000 ***/ VL_ST_REV_03, PARAM.ST_REV; VL_CURVEX, PARAM.CURVEX; /***** view_4_4 ******/ /*** See FF App note AN-002 FS 1.0 31 Jan 2000 ***/ VL_ST_REV_04, PARAM.ST_REV; VL_CURVEY, PARAM.CURVEY; /***** view_4_5 ******/ /*** See FF App note AN-002 FS 1.0 31 Jan 2000 ***/ VL_ST_REV_05, PARAM.ST_REV; VL_XD_CAL_LOC, PARAM.XD_CAL_LOC; VL_XD_CAL_WHO, PARAM.XD_CAL_WHO; VL_IL_OFFSET, PARAM.IL_OFFSET; VL_ALPHA_FILT, PARAM.ALPHA_FILT; VL_TP_ZERO, PARAM.TP_ZERO; VL_TP_SPAN, PARAM.TP_SPAN; VL_TP_FULL_SCALE, PARAM.TP_FULL_SCALE; VL_BP_ZERO, PARAM.BP_ZERO; VL_BP_SPAN, PARAM.BP_SPAN; VL_BP_FULL_SCALE, PARAM.BP_FULL_SCALE; VL_FB_ZERO, PARAM.FB_ZERO; VL_FB_SPAN, PARAM.FB_SPAN; VL_FB_SCOUNT, PARAM.FB_SCOUNT; VL_HALL_NULL, PARAM.HALL_NULL; VL_HALL_DOWN, PARAM.HALL_DOWN; VL_HALL_UP, PARAM.HALL_UP; /***** view_4_6 ******/ /*** See FF App note AN-002 FS 1.0 31 Jan 2000 ***/ VL_ST_REV_06, PARAM.ST_REV; VL_TRANSDUCER_DIRECTORY,PARAM.TRANSDUCER_DIRECTORY; VL_TRANSDUCER_TYPE, PARAM.TRANSDUCER_TYPE; VL_COLLECTION_DIRECTORY,PARAM.COLLECTION_DIRECTORY; VL_ACT_FAIL_ACTION, PARAM.ACT_FAIL_ACTION; VL_ACT_MODEL_NUM, PARAM.ACT_MODEL_NUM; VL_ACT_SN, PARAM.ACT_SN; VL_VALVE_MODEL_NUM, PARAM.VALVE_MODEL_NUM; } } /*********************************************************************************** *** the following temporary variables are identical to what is defined for std lib 1.4 *** in std_parm.ddl, except CONSTANT_UNIT is changed to "|en| 1/32 millisec". **********************************************************************************/ /* ********************************************************************** __confirm_time %SYM% member CONFIRM_TIME parameter 0xC00100B8 %SYM% member VL_CONFIRM_TIME variable-list 0xC00100B9 %TXT% variable __confirm_time unsigned 0x800200B8 %IMP% VARIABLE __confirm_time ********************************************************************** */ VARIABLE temp_confirm_time { LABEL [confirm_time_label] ; HELP [confirm_time_help] ; CLASS CONTAINED & TUNE ; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT _1_32MS ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /* ********************************************************************** __min_cycle_t %SYM% member MIN_CYCLE_T parameter 0xC0010124 %SYM% member VL_MIN_CYCLE_T variable-list 0xC0010125 %TXT% variable __min_cycle_t unsigned 0x80020124 %IMP% VARIABLE __min_cycle_t ********************************************************************** */ VARIABLE temp_min_cycle_t { LABEL [min_cycle_t_label] ; HELP [min_cycle_t_help] ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT _1_32MS ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } /* ********************************************************************** __nv_cycle_t %SYM% member NV_CYCLE_T parameter 0xC0010128 %SYM% member VL_NV_CYCLE_T variable-list 0xC0010129 %TXT% variable __nv_cycle_t unsigned 0x80020128 %IMP% VARIABLE __nv_cycle_t ********************************************************************** */ VARIABLE temp_nv_cycle_t { LABEL [nv_cycle_t_label] ; HELP [nv_cycle_t_help] ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT _1_32MS ; HANDLING READ ; /* RESPONSE_CODES xxx ; */ } /* ********************************************************************** __shed_rcas %SYM% member SHED_RCAS parameter 0xC0010166 %SYM% member VL_SHED_RCAS variable-list 0xC0010167 %TXT% variable __shed_rcas unsigned 0x80020166 %IMP% VARIABLE __shed_rcas ********************************************************************** */ VARIABLE temp_shed_rcas { LABEL [shed_rcas_label] ; HELP [shed_rcas_help] ; CLASS CONTAINED & TUNE ; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT _1_32MS ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /* ********************************************************************** __shed_rout %SYM% member SHED_ROUT parameter 0xC0010168 %SYM% member VL_SHED_ROUT variable-list 0xC0010169 %TXT% variable __shed_rout unsigned 0x80020168 %IMP% VARIABLE __shed_rout ********************************************************************** */ VARIABLE temp_shed_rout { LABEL [shed_rout_label] ; HELP [shed_rout_help] ; CLASS CONTAINED & TUNE ; TYPE UNSIGNED_INTEGER (4) ; CONSTANT_UNIT _1_32MS ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /**************************************************** ** feature_sel is restricted to the values in FEATURES.** **** ref SUPPORTED_FEATURES in hwl_defs.h *** ********************************************************/ VARIABLE supported_feature_sel { LABEL [feature_sel_label] ; HELP [feature_sel_help] ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { /*{ 0x0001, [feature_unicode], [feature_unicode_help] },*/ { 0x0002, [feature_report], [feature_report_help] }, { 0x0004, [feature_faultstate], [feature_faultstate_help] }, /*{ 0x0008, [feature_soft_write], [feature_soft_write_help] },*/ { 0x0010, [feature_hard_write], [feature_hard_write_help] } , { 0x0020, [feature_out_readback], [feature_out_readback_help] } /*, { 0x0040, [feature_direct_write], [feature_direct_write_help] }*/ } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /**************************************************** ** cycle_sel is restricted to the values in CYCLE_TYPE.** **** ref rs_init() in rs_alg.c *** ********************************************************/ VARIABLE supported_cycle_type { LABEL [cycle_sel_label] ; HELP [cycle_sel_help] ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { { 0x0001, [block_scheduled], [block_scheduled_help] } /*, { 0x0002, [block_completion], [block_completion_help] }, { 0x0004, [block_manufacturer], [block_manufacturer_help] } */ } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } VARIABLE hw_ao_channel { LABEL [channel_label] ; HELP [channel_help] ; CLASS CONTAINED ; TYPE UNSIGNED_INTEGER (2) { MIN_VALUE 1 ; MAX_VALUE 1 ; /* see AO_MAX_CHANNEL in system.h */ } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /**************************************************** ** pv_ftime is upper limited to 200.0 ***************************************************/ VARIABLE hw_pv_ftime { LABEL [pv_ftime_label] ; HELP [pv_ftime_help] ; CLASS CONTAINED & TUNE ; TYPE FLOAT { MIN_VALUE 0.0 ; MAX_VALUE 200.0; } CONSTANT_UNIT [sec] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /********************************************** * The Manufacturer's Unique RESET has a hard upper limit of 7500.0 * There is also an internal limit driven by the macrocycle * which cannot be reflected in the DD, because the macrocycle is * unknown here. Positive Infinity is also allowed, which * cannot be described in this DD ***********************************************/ VARIABLE hw_reset { LABEL [reset_label] ; HELP [reset_help] ; CLASS CONTAINED & TUNE ; TYPE FLOAT; CONSTANT_UNIT [sec] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /********************************************** * The Manufacturer's Unique GAIN has a hard upper limit of 250.0 * There is a lower limit of 0.004, but 0.0 is acceptable. ***********************************************/ VARIABLE hw_gain { LABEL [gain_label] ; HELP [gain_help] ; CLASS CONTAINED & TUNE ; TYPE FLOAT { MIN_VALUE1 0.0; MAX_VALUE1 0.0; MIN_VALUE2 0.004; MAX_VALUE2 250.0; } HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /************************************************** * Restrict status_opts for AO to the members identified in * FBAP Part 2 section 5.4.2.3. ****************************************************/ VARIABLE ao_status_opts { LABEL [status_opts_label] ; HELP [status_opts_help] ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { /** { 0x0001, [status_opt_ifs_bad_in], [status_opt_ifs_bad_in_help] }, { 0x0002, [status_opt_ifs_bad_cas_in], [status_opt_ifs_bad_cas_in_help] }, { 0x0004, [status_opt_uncertain_good], [status_opt_uncertain_good_help] }, { 0x0008, "|en|Propogate Fault Fwd", [status_opt_fail_fwd_help] }, **/ { 0x0010, "|en|Propogate Fault Backward", [status_opt_fail_bkwd_help] } /** { 0x0020, [status_opt_man_bad_in], [status_opt_man_bad_in_help] }, { 0x0040, [status_opt_uncertain_ltd], [status_opt_uncertain_ltd_help] }, { 0x0080, [status_opt_bad_ltd], [status_opt_bad_ltd_help] }, { 0x0100, [status_opt_uncertain_man], [status_opt_uncertain_man_help] }, { 0x0200, [status_opt_no_select_not_auto], [status_opt_no_select_not_auto_help] }, { 0x0400, [status_opt_no_select_not_cas], [status_opt_no_select_not_cas_help] } **/ } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /************************************************** * Restrict io_opts for AO to the members identified in * FBAP Part 2 section 5.4.2.1. ****************************************************/ VARIABLE ao_io_opts { LABEL [io_opts_label] ; HELP [io_opts_help] ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { /****** { 0x0001, [io_invert], [io_invert_help] }, ******/ { 0x0002, [io_sp_pv_track_man], [io_sp_pv_track_man_help] }, /****** { 0x0004, [io_reserved], [io_reserved_help] }, ******/ { 0x0008, [io_sp_pv_track_lo], [io_sp_pv_track_lo_help] } { 0x0010, [io_sp_track_target], [io_sp_track_target_help] } { 0x0020, [io_inc_to_close], [io_inc_to_close_help] }, { 0x0040, [io_faultstate], [io_faultstate_help] }, { 0x0080, [io_faultstate_restart], [io_faultstate_restart_help] } { 0x0100, [io_target_to_man], [io_target_to_man_help] }, { 0x0200, [io_pv_for_bkcal_out], [io_pv_for_bkcal_out_help] } /****** { 0x0400, [io_low_cutoff], [io_low_cutoff_help] } ******/ /****** { 0x0800, [io_reserved], [io_reserved_help] }, ******/ /****** { 0x1000, [io_reserved], [io_reserved_help] }, ******/ /****** { 0x2000, [io_reserved], [io_reserved_help] }, ******/ /****** { 0x4000, [io_reserved], [io_reserved_help] }, ******/ /****** { 0x8000, [io_reserved], [io_reserved_help] }, ******/ } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /************************************************** * Restrict status_opts for PID to the members identified in * FBAP Part 2 section 5.4.2.3. ****************************************************/ VARIABLE pid_status_opts { LABEL [status_opts_label] ; HELP [status_opts_help] ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { { 0x0001, [status_opt_ifs_bad_in], [status_opt_ifs_bad_in_help] }, { 0x0002, [status_opt_ifs_bad_cas_in], [status_opt_ifs_bad_cas_in_help] }, { 0x0004, [status_opt_uncertain_good], [status_opt_uncertain_good_help] }, /** { 0x0008, "|en|Propogate Fault Fwd", [status_opt_fail_fwd_help] }, { 0x0010, [status_opt_fail_bkwd], [status_opt_fail_bkwd_help] }, **/ { 0x0020, [status_opt_man_bad_in], [status_opt_man_bad_in_help] }, /** { 0x0040, [status_opt_uncertain_ltd], [status_opt_uncertain_ltd_help] }, { 0x0080, [status_opt_bad_ltd], [status_opt_bad_ltd_help] }, { 0x0100, [status_opt_uncertain_man], [status_opt_uncertain_man_help] } **/ { 0x0200, "|en|Target to next permitted mode if BAD_CAS_IN", "|en|Set the target mode to next permitted mode " "|en|if the target mode is CAS and the status of CAS_IN is BAD. " "|en|This latches a control block into the next permitted mode if " "|en|the CAS_IN is being used in control and the status goes bad." } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ } /************************************************** * Restrict control_opts for PID to the members identified in * FBAP Part 2 section 5.4.2.2. ****************************************************/ VARIABLE pid_control_opts { LABEL [control_opts_label] ; HELP [control_opts_help] ; CLASS CONTAINED ; TYPE BIT_ENUMERATED (2) { { 0x0001, [bypass_enable], [bypass_enable_help] }, { 0x0002, [sp_pv_track_man], [sp_pv_track_man_help] }, { 0x0004, [sp_pv_track_rout], [sp_pv_track_rout_help] }, { 0x0008, [sp_pv_track_lo], [sp_pv_track_lo_help] }, { 0x0010, [sp_track_retain], [sp_track_retain_help] }, { 0x0020, [direct_acting], [direct_acting_help] }, /*** { 0x0040, [balance_ramp], [balance_ramp_help] }, ***/ { 0x0080, [track_enable], [track_enable_help] }, { 0x0100, [track_in_man], [track_in_man_help] }, { 0x0200, [pv_for_bkcal_out], [pv_for_bkcal_out_help] } /*** { 0x0400, [act_on_ir], [act_on_ir_help] } { 0x0800, [use_percent_in_1], [use_percent_in_1_help] } ***/ { 0x1000, [obey_sp_limits], [obey_sp_limits_help] } { 0x2000, [no_out_lim_man], [no_out_lim_man_help] } } CONSTANT_UNIT [blank] ; HANDLING READ & WRITE ; /* RESPONSE_CODES xxx ; */ }