#调峰功能  地址
#额定频率  地址



from device_conf import class_comm_device_config
import comm_remap as remap
import menu_page
from comm_device import class_comm_device
from comm_thread import class_comm_master_thread
from menu_base import class_device_menu
import menu_utils as utils
import comm_global
from enum import Enum

FREQ_ALARM_BASE          = 70
USER_GLOBAL_ALARM_BASE   = 32    #//Total 16 Global Alarm
USER_LOCAL_ALARM_BASE    = 200   #//Total 16 Local Alarm 
USER_GLOBAL_WARNING_BASE = 216   #//Total 16 Global Warning
USER_LOCAL_WARNING_BASE  = 232   #//Total 16 Local Warning  

#Propery of menu item
MENU_PROPERTY_READ_ONLY = 0
MENU_PROPERTY_USER      = 1
MENU_PROPERTY_ENGINEER  = 2
MENU_PROPERTY_WRITE_ONLY  = 3

STR_SensorFailCause   = "1. 传感器故障@2. 模拟量口故障@3. 通信电缆的接线不正确，或发生短路、断线"
STR_SensorFailProcess = "1. 更换传感器@2. 更换电机@3. 检查传感器是否断线或损坏。"
STR_FreqErrRef = "详见变频器说明书"
EMPTY_STRING = " "

class StrInfo(Enum) :
    STR_INPUT_PASSWORD = 0,   #// //请输入密码
    STR_COMM_FAIL = 1,   #//      //通讯故障
    STR_ENTER_TO_CLEAR = 2,   #// //按确认清除
    STR_ESC_TO_CANCEL = 3,   #//  //按退出取消
    STR_CLEAR_FINISH = 4,   #//   //清除完成
    STR_MIN_VALUE = 5,   #//
    STR_MAX_VALUE = 6,   #//
    STR_NO_RECORD = 7,   #//
    STR_VALUE_EXCEED = 8,   #//
    STR_SET_VALUE = 9,   #//
    STR_INFORM_OK = 10,   #//
    STR_CHECK_VOLTAGE = 11,   #//
    STR_CHECK_SENSOR = 12,   #//
    STR_CHECK_PIPE_IN = 13,   #//
    STR_CHECK_NONE = 14,   #//
    STR_CHECK_RSV = 15,   #//
    STR_CHECK_VOLTAGE_PHASE = 16,   #//
    STR_CHECK_PIPE_BROKE = 17,   #//
    STR_CHECK_WATER_SIGNAL = 18,   #//
    STR_CHECK_PID_PARA = 19,   #//
    STR_CHECK_HARD_ERROR = 20,   #//
    STR_CHECK_LOAD = 21,   #//
    STR_CHECK_POWER_INPUT = 22,   #//
    STR_CHECK_POWER_OUTPUT = 23,   #//
    STR_CHECK_FREQ_ACC_DEC_TIME = 24,   #//
    STR_CHECK_TEMPERATURE = 25,   #//
    STR_CHECK_FREQ_COMMUNICATE = 26,   #//
    STR_CHECK_MAIN_PUMP_LOST = 27,   #//
    STR_CHECK_FREQ_CONVERTER = 28,   #//
    STR_CHECK_CAN_COMM = 29,   #//
    STR_CHECK_FREQ_EXTERNAL_ALARM = 30, #//
    STR_CHECK_FREQ_POWER = 31, #//
    STR_CHECK_ALARM_RESET = 32,   #//
    STR_CHECK_PUMP_ID_CONFLICT = 33,   #//
    STR_CHECK_PRESSURE_LOW_IO = 34,   #//
    STR_CHECK_PRESSURE_HIGH_IO = 35,   #//
    STR_CHECK_WATER_CONTAINER_SIGNAL = 36,   #//
    STR_CHECK_MOTOR_TEMPERATURE_OR_SENSOR = 37,   #//
    STR_CHECK_BUS_POWER_SHORT = 38,   #//
    STR_PUMP_NOT_FOUNT = 39,   #// 
    STR_PUMP_UPDATE_FAIL = 40,   #//
    STR_PUMP_UPDATE_SUCCESS = 41,   #//
    STR_PUMP_UPDATE_TIMEOUT = 42,   #//
    STR_PUMP_READ_FAIL = 43,   #//
    STR_PUMP_READ_SUCCESS = 44,   #//
    STR_PUMP_READ_TIMEOUT = 45,   #//

class AlarmInfo(Enum) :
    
    ALARM_FREE = 0,
    ALARM_PIPE_BROKE = 1,          #//爆管保护
    ALARM_NO_WATER_EXIST = 2,      #//无水停机
    ALARM_WATER_PRESSURE_HIGH = 3, #//水压过高保护
    ALARM_OVER_VOLTAGE = 4,        #//供电电压过高
    ALARM_UNDER_VOLTAGE = 5,       #//供电电压过低
    ALARM_BOARD_HARDWARE = 6,      #//硬件故障
    ALARM_IO_NO_WATER_EXIST = 7,   #//市政或水箱无水停机
    #//传感器故障子故障
    ALARM_SENSOR_PRESS_IN = 8,     #//入口压力传感器故障
    ALARM_SENSOR_PRESS_OUT = 9,    #//出口压力传感器故障
    ALARM_SENSOR_FLUX = 10,        #//流量传感器故障
    ALARM_SENSOR_PH = 11,          #//PH值传感器故障
    ALARM_SENSOR_WATER_CLEAR = 12, #//浊度传感器故障
    ALARM_SENSOR_REMAIN_CL = 13,   #//余氯传感器故障
    ALARM_NEG_PRESSURE = 14,       #//负压报警
    ALARM_VACUMM_PRESSURE = 15,    #//真空报警

    ALARM_SENSOR_WATER_LEVEL = 16,       #//水位传感器故障
    ALARM_WATER_PRESSURE_LOW = 17,       #//水位过低提示
    ALARM_SENSOR_FLUX_IN = 18,           #//输入流量传感器故警
    ALARM_SENSOR_IN_VALVE_FEEDBACK = 19, #//输入阀反馈
    ALARM_SENSOR_NOIZE = 20,
    ALARM_SENSOR_HUMIDITY = 21,

    ALARM_IO_LEAK_WATER = 22,
    ALARM_IO_SMOKE = 23,
    ALARM_IO_EXTERNALERROR = 24,           #//外部故障

    ALARM_SENSOR_WATER_LEVEL2       = 25,  #//水位传感器2故障
    ALARM_SENSOR_IN_VALVE_FEEDBACK2 = 26,  #//开度反馈传感器2故障
    ALARM_SENSOR_TEMPERATURE        = 27,  #//温度传感器故障
    ALARM_SENSOR_TEMPERATURE2       = 28,  #//站内温度传感器故障
    ALARM_SENSOR_TEMPERATURE3       = 29,  #//夹层温度传感器故障
    ALARM_SENSOR_WATER_LEVEL3       = 30,

    USER_GLOBAL_ALARM_0       = USER_GLOBAL_ALARM_BASE + 0,   #水箱液位低报警
    USER_GLOBAL_ALARM_1       = USER_GLOBAL_ALARM_BASE + 1,
    USER_GLOBAL_ALARM_2       = USER_GLOBAL_ALARM_BASE + 2,
    USER_GLOBAL_ALARM_3       = USER_GLOBAL_ALARM_BASE + 3,
    USER_GLOBAL_ALARM_4       = USER_GLOBAL_ALARM_BASE + 4,
    USER_GLOBAL_ALARM_5       = USER_GLOBAL_ALARM_BASE + 5,
    USER_GLOBAL_ALARM_6       = USER_GLOBAL_ALARM_BASE + 6,
    USER_GLOBAL_ALARM_7       = USER_GLOBAL_ALARM_BASE + 7,
    USER_GLOBAL_ALARM_8       = USER_GLOBAL_ALARM_BASE + 8,
    USER_GLOBAL_ALARM_9       = USER_GLOBAL_ALARM_BASE + 9,
    USER_GLOBAL_ALARM_10      = USER_GLOBAL_ALARM_BASE + 10,
    USER_GLOBAL_ALARM_11      = USER_GLOBAL_ALARM_BASE + 11,
    USER_GLOBAL_ALARM_12      = USER_GLOBAL_ALARM_BASE + 12,
    USER_GLOBAL_ALARM_13      = USER_GLOBAL_ALARM_BASE + 13,
    USER_GLOBAL_ALARM_14      = USER_GLOBAL_ALARM_BASE + 14,
    USER_GLOBAL_ALARM_15      = USER_GLOBAL_ALARM_BASE + 15,

    #//每台泵子故障
    ALARM_COMM_FREQ_CONVERTER = 54,  #//变频器通讯故障
    ALARM_COMM_TOUCH_BOARD = 55,     #//触控板通讯故障
    ALARM_COMM_MAIN_BOARD = 56,      #//主控板通讯故障
    ALARM_PUMP_AIR_SWITCH_OFF = 57,  #//空开跳闸
    ALARM_MAIN_PUMP_LOST = 58,       #//主泵丢失
    ALARM_PUMP_RESET_DELAY = 59,     #//泵处于故障复位状态
    ALARM_COMMAND_EXECUTE_FAIL = 60, #//泵命令执行失败
    ALARM_FREQ_PARAMETER_SET = 61,   #//变频参数设置故障
    ALARM_PUMP_ADDR_ID_CONFLICT = 62,  #//泵号冲突
    ALARM_PUMP_MOTOR_TEMPERATURE_HIGH = 63,
    ALARM_BUS_POWER_SHORT = 64, #//总线电源短路
    ALARM_POWER_LOST = 65,      #//电源丢失
    ALARM_AUTO_REMOTE_DISABLE            = 66,  #//自动停止信号有效

    ALARM_FREQ_U_PROTECT = FREQ_ALARM_BASE + 0,				 #//变频器U相保护
    ALARM_FREQ_V_PROTECT = FREQ_ALARM_BASE + 1,				 #//变频器V相保护
    ALARM_FREQ_W_PROTECT = FREQ_ALARM_BASE + 2,				 #//变频器W相保护
    ALARM_FREQ_ACCELERATE_OVER_CURRENT = FREQ_ALARM_BASE + 3, #//变频器加速过流
    ALARM_FREQ_DECELERATE_OVER_CURRENT = FREQ_ALARM_BASE + 4, #//变频器减速过流
    ALARM_FREQ_FIX_SPEED_OVER_CURRENT = FREQ_ALARM_BASE + 5,  #//变频器恒速过流
    ALARM_FREQ_ACCELERATE_OVER_VOLTAGE = FREQ_ALARM_BASE + 6, #//变频器加速过电压
    ALARM_FREQ_DECELERATE_OVER_VOLTAGE = FREQ_ALARM_BASE + 7, #//变频器减速过电压
    ALARM_FREQ_FIX_SPEED_OVER_VOLTAGE = FREQ_ALARM_BASE + 8,  #//变频器恒速过电压
    ALARM_FREQ_DC_VOLTAGE_LOW = FREQ_ALARM_BASE + 9, 		 #//变频器母线电压低
    ALARM_FREQ_MOTOR_OVER_LOAD = FREQ_ALARM_BASE + 10,		 #//变频器电机过热
    ALARM_FREQ_OVER_LOAD = FREQ_ALARM_BASE + 11,			 #//变频器过载
    ALARM_FREQ_INPUT_MISS_PHASE = FREQ_ALARM_BASE + 12,		 #//变频器输入缺相
    ALARM_FREQ_OUTPUT_MISS_PHASE = FREQ_ALARM_BASE + 13,	 #//变频器输出缺相
    ALARM_FREQ_MODULE_TEMP_HIGH = FREQ_ALARM_BASE + 14,		 #//变频器温度过高
    ALARM_FREQ_RSV45 = FREQ_ALARM_BASE + 15,				 #//保留
    ALARM_FREQ_EXTERNAL = FREQ_ALARM_BASE + 16,				 #//变频器外部故障
    ALARM_FREQ_COMMUNICATION = FREQ_ALARM_BASE + 17,		 #//变频器通讯故障
    ALARM_FREQ_CURRENT_MEASURE = FREQ_ALARM_BASE + 18,		 #//变频器电流检测回路故障
    ALARM_FREQ_SELF_STUDY = FREQ_ALARM_BASE + 19, 			 #//变频器学习故障
    ALARM_FREQ_EEPROM = FREQ_ALARM_BASE + 20, 				 #//变频器EEPROM故障
    ALARM_FREQ_PID_FAIL = FREQ_ALARM_BASE + 21,				 #//变频器PID调节故障
    ALARM_FREQ_STOP_UNIT = FREQ_ALARM_BASE + 22,			 #//变频器制动单元故障
    ALARM_FREQ_RSV53 = FREQ_ALARM_BASE + 23,				 #//保留
    ALARM_FREQ_SHORT_GROUND = FREQ_ALARM_BASE + 24,			 #//变频器对地短路

    #// V1000C变频器故障
    #//    ALARM_FREQ_MEMOBUS              = 100,   #//CE (MEMOBUS通信故障) #// AlarmStatus5.MEMOBUSCommuFault, MinorAlarm1.CommAlarm, AlarmStatus1.CommAlarm, MinorAlarm3.CommunicationErr
    ALARM_FREQ_CONTROL_FAULT = 101,        #// CF （控制故障）    #// AlarmStatus5.ControlFault
    ALARM_FREQ_CURRENT_BASE = 102,         #// CoF （电流偏�?故障�? #// AlarmStatus7.CurrentBiasFault
    ALARM_FREQ_ADC_FAULT = 103,            #// CPF02 （A/D �?换器故障�?
    ALARM_FREQ_PWM_DATA_ERR = 104,         #// CPF03 （PWM 数据异常�?
    ALARM_FREQ_EEPROM_DATA_ERR = 105,      #// CPF06 （EEPROM 数据异常�?
    ALARM_FREQ_TERMINAL_FAULT = 106,       #// CPF07 （�??子电�?板通信故障�?
    ALARM_FREQ_EEPROM_COMM_FAULT = 107,    #// CPF08 （EEPROM 串�?�通信故障�?
    ALARM_FREQ_RAM_FAULT = 108,            #// CPF11 （RAM 故障�?
    ALARM_FREQ_FLASH_FAULT = 109,          #// CPF12 （闪存故障）
    ALARM_FREQ_MONITOR = 110,              #// CPF13 （监视故障） #//
    ALARM_FREQ_CTRL_CIRCUIT = 111,         #// CPF14 （控制回�?故障�?
    ALARM_FREQ_CLOCK_FAULT = 112,          #// CPF16 （时钟故障）
    ALARM_FREQ_INTERRUPT_FAULT = 113,      #// CPF17 （中�?故障�?
    ALARM_FREQ_PWM_FBDATA_ERR = 114,       #// CPF23 （PWM 反�?�数�?异常�?
    ALARM_FREQ_CAPACITY_SIGNAL = 115,      #// CPF24 （变频器容量信号故障�?
    ALARM_FREQ_TERMINAL_NOT_CONNECT = 116, #// CPF25 （未连接�?子电�?板）
    ALARM_FREQ_MONITOR_DEVICE = 117,       #// E5/CPF13 （监视�?�置故障�?
    ALARM_FREQ_EXTERN_FAULT_S1 = 118,      #// EF1 （�?�部故�??（输入�??�?S1））#// AlarmStatus7.ExternalFault1, MinorAlarm5.ExternalFault1
    ALARM_FREQ_EXTERN_FAULT_S2 = 119,      #// EF2 （�?�部故�??（输入�??�?S2））#// AlarmStatus7.ExternalFault2, MinorAlarm5.ExternalFault2
    ALARM_FREQ_EXTERN_FAULT_S3 = 120,      #// EF3 （�?�部故�??（输入�??�?S3））#// AlarmStatus4.ExternalFault3, MinorAlarm2.ExternalFault3
    ALARM_FREQ_EXTERN_FAULT_S4 = 121,      #// EF4 （�?�部故�??（输入�??�?S4））#// AlarmStatus4.ExternalFault4, MinorAlarm2.ExternalFault4
    ALARM_FREQ_EXTERN_FAULT_S5 = 122,      #// EF5 （�?�部故�??（输入�??�?S5））#// AlarmStatus4.ExternalFault5, MinorAlarm2.ExternalFault5
    ALARM_FREQ_EXTERN_FAULT_S6 = 123,      #// EF6 （�?�部故�??（输入�??�?S6））#// AlarmStatus4.ExternalFault6, MinorAlarm2.ExternalFault6
    ALARM_FREQ_EEPROMW_WRITE_ERR = 124,    #// Err （EEPROM 写入不当�?#// AlarmStatus4.EEPROMWriteError
    ALARM_FREQ_PIDFB_OVERTOP = 125,        #// FbH （PID 反�?�超值） #// AlarmStatus7.PIDFeedbackOvertop, MinorAlarm4.PIDFeedbackOvertop
    ALARM_FREQ_PID_FB_LOST = 126,          #// FbL （PID 反丧�?/ AlarmStatus5.PID_FeedbackLost, MinorAlarm4.PID_FeedbackLost
    ALARM_FREQ_GROUND_FALUT = 127,         #// GF （接地短�?�?
    ALARM_FREQ_OUT_PHASE_LOST = 128,       #// LF （输出缺相）
    ALARM_FREQ_OUT_IMBALANCE = 129,        #// LF2 （输出电流失衡）
    ALARM_FREQ_NODE_SETUP_ERR = 130,       #// nSE（Node Setup 故障�?
    ALARM_FREQ_OVER_CURRENT = 131,         #// oC （过电流�?
    ALARM_FREQ_FIN_OVER_HEAT = 132,        #// oH/oH1 （散�?片过�?�?
    ALARM_FREQ_MOTOR_OVERHEAT1 = 133,      #// oH3 （电机过�?警�??（PTC 输入））
    ALARM_FREQ_MOTOR_OVERHEAT2 = 134,      #// oH4 （电机过�?故�??（PTC 输入））
    ALARM_FREQ_MOTOR_OVERLOAD = 135,       #// oL1 （电机过载）
    ALARM_FREQ_VFD_OVERLOAD = 136,         #// oL2 （变频器过载�?
    ALARM_FREQ_OVER_TORQUE1 = 137,         #// oL3 （过�?矩�?��?1�?
    ALARM_FREQ_OVER_TORQUE2 = 138,         #// oL4 （过�?矩�?��?2�?
    ALARM_FREQ_MECHAN_AGING1 = 139,        #// oL5 （机械老化检�?1�?
    ALARM_FREQ_BREAK_OVERLOAD = 140,       #// oL7 （高滑差制动电机过载保护�?
    ALARM_FREQ_OVER_VOLTAGE = 141,         #// ov （主回路过电压）
    ALARM_FREQ_VOLTAGE_FAULT = 142,        #// PF （主回路电压故障�?
    ALARM_FREQ_BRAKE_TRANS = 143,          #// rr （内�?制动晶体管故障�??
    ALARM_FREQ_OUT_SHORT = 144,            #// SC （输出短�?或IGBT故障�?
    ALARM_FREQ_SPEED_SEARCH = 145,         #// SEr （速度搜索重试故障�?
    ALARM_FREQ_DISORDER = 146,             #// STo （失调�?�出）
    ALARM_FREQ_LACK_OF_TORQUE1 = 147,      #// UL3 （转矩不�?1�?
    ALARM_FREQ_LACK_OF_TORQUE2 = 148,      #// UL4 （转矩不�?2�?
    ALARM_FREQ_MECHAN_AGING2 = 149,        #// UL5 （机械老化检�?2�?
    ALARM_FREQ_MAJOR_UNDERVOLTAGE = 150,   #// Uv/Uv1 （主回路欠电压）
    ALARM_FREQ_CTRL_POW_FAULT = 151,       #// Uv2 （控制电源故障）
    ALARM_FREQ_PREVENT_SHOCK = 152,        #// Uv3 （冲击防止回�?故障�?

    ALARM_FREQ_CONTROL1_ERR  = 153,        #//CPF18
    ALARM_FREQ_CONTROL2_ERR  = 154,        #//CPF19
    ALARM_FREQ_HARD1_ERR     = 155,        #//CPF20
    ALARM_FREQ_HARD2_ERR     = 156,        #//CPF21
    ALARM_FREQ_ADC_ERR       = 157,        #//CPF22


    ALARM_FREQ_BASE_BLOCK = 160,       #// 变频器基极封锁(bb)
    ALARM_FREQ_COMM_WAITING = 161,     #// 通信等待中(CALL)
    ALARM_FREQ_RST_WHEN_RUN = 162,     #// 运行指令输入中复位(CrST)
    ALARM_FREQ_COMM_CYCLE_ERR = 163,   #// 通信周期设定错误(CyC)
    ALARM_FREQ_DRIVE_DISABLE = 164,    #// Drive Disable中(dnE)
    ALARM_FREQ_CW_CCW_CMD = 165,       #// 正反转指令同时输入(EF)
    ALARM_FREQ_CURRENT_WARNING = 166,  #// 电流警告(HCA)
    ALARM_FREQ_MAINTAIN_FAN = 167,     #// 冷却风扇维护时期(LT-1)
    ALARM_FREQ_MAINTAIN_CAP = 168,     #// 电容器维护时期(LT-2)
    ALARM_FREQ_MAINTAIN_RELAY = 169,   #// 冲击电流防止继电器维护时期(LT-3)
    ALARM_FREQ_MAINTAIN_IGBT_50 = 170, #// IGBT维护时期(50%)(LT-4)
    ALARM_FREQ_VFD_OH_ALERT = 171,     #// 变频器过热预警(oH2)
    ALARM_FREQ_MOTOR_OVERHEAT = 172,   #// 电机过热(oH3)
    ALARM_FREQ_RSV173 = 173,           #// 保留
    ALARM_FREQ_RSV174 = 174,           #// 保留
    ALARM_FREQ_MOBUS_TEST_OK = 175,    #// MEMOBUS通信测试模式正常(PASS)
    ALARM_FREQ_SWITCH_WHEN_RUN = 176,  #// 运行中输入电机切换指令(rUn)
    ALARM_FREQ_MOBUS_TEST_ERR = 177,   #// MEMOBUS通信测试模式故障(SE)
    ALARM_FREQ_MAINTAIN_IGBT_90 = 178, #// IGBT维护时期(90%)(TrPC)
    ALARM_FREQ_RSV179 = 179,           #// 保留
    ALARM_FREQ_RSV180 = 180,           #// 保留
    ALARM_FREQ_CAPACITY_SET_ERR = 181, #// oPE01  变频器容量的设定故障(oPE01)
    ALARM_FREQ_PARA_RANGE_ERR = 182,   #// oPE02  参数设定范围不当(oPE02)
    ALARM_FREQ_DIN_SELECT_ERR = 183,   #// oPE03  多功能输入的选择不当(oPE03)
    ALARM_FREQ_AIN_SELECT_ERR = 184,   #// oPE07  多功能模拟量输入的选择不当(oPE07)
    ALARM_FREQ_PARA_SELECT_ERR = 185,  #// oPE08  参数选择不当(oPE08)
    ALARM_FREQ_PID_SELECT_ERR = 186,   #// oPE09  PID控制的选择不当(oPE09)
    ALARM_FREQ_VF_DATA_SET_ERR = 187,  #// oPE10  V/f数据的设定不当(oPE10)
    ALARM_FREQ_CARRIER_SET_ERR = 188,  #// oPE11  载波频率的设定不当(oPE11)

    USER_LOCAL_ALARM_0   = USER_LOCAL_ALARM_BASE + 0,
    USER_LOCAL_ALARM_1   = USER_LOCAL_ALARM_BASE + 1,
    USER_LOCAL_ALARM_2   = USER_LOCAL_ALARM_BASE + 2,
    USER_LOCAL_ALARM_3   = USER_LOCAL_ALARM_BASE + 3,
    USER_LOCAL_ALARM_4   = USER_LOCAL_ALARM_BASE + 4,
    USER_LOCAL_ALARM_5   = USER_LOCAL_ALARM_BASE + 5,
    USER_LOCAL_ALARM_6   = USER_LOCAL_ALARM_BASE + 6,
    USER_LOCAL_ALARM_7   = USER_LOCAL_ALARM_BASE + 7,
    USER_LOCAL_ALARM_8   = USER_LOCAL_ALARM_BASE + 8,
    USER_LOCAL_ALARM_9   = USER_LOCAL_ALARM_BASE + 9,
    USER_LOCAL_ALARM_10   = USER_LOCAL_ALARM_BASE + 10,
    USER_LOCAL_ALARM_11   = USER_LOCAL_ALARM_BASE + 11,
    USER_LOCAL_ALARM_12   = USER_LOCAL_ALARM_BASE + 12,
    USER_LOCAL_ALARM_13   = USER_LOCAL_ALARM_BASE + 13,
    USER_LOCAL_ALARM_14   = USER_LOCAL_ALARM_BASE + 14,
    USER_LOCAL_ALARM_15   = USER_LOCAL_ALARM_BASE + 15,

    USER_GLOBAL_WARNING_0    = USER_GLOBAL_WARNING_BASE + 0,
    USER_GLOBAL_WARNING_1    = USER_GLOBAL_WARNING_BASE + 1,
    USER_GLOBAL_WARNING_2    = USER_GLOBAL_WARNING_BASE + 2,
    USER_GLOBAL_WARNING_3    = USER_GLOBAL_WARNING_BASE + 3,
    USER_GLOBAL_WARNING_4    = USER_GLOBAL_WARNING_BASE + 4,
    USER_GLOBAL_WARNING_5    = USER_GLOBAL_WARNING_BASE + 5,
    USER_GLOBAL_WARNING_6    = USER_GLOBAL_WARNING_BASE + 6,
    USER_GLOBAL_WARNING_7    = USER_GLOBAL_WARNING_BASE + 7,
    USER_GLOBAL_WARNING_8    = USER_GLOBAL_WARNING_BASE + 8,
    USER_GLOBAL_WARNING_9    = USER_GLOBAL_WARNING_BASE + 9,
    USER_GLOBAL_WARNING_10   = USER_GLOBAL_WARNING_BASE + 10,
    USER_GLOBAL_WARNING_11   = USER_GLOBAL_WARNING_BASE + 11,
    USER_GLOBAL_WARNING_12   = USER_GLOBAL_WARNING_BASE + 12,
    USER_GLOBAL_WARNING_13   = USER_GLOBAL_WARNING_BASE + 13,
    USER_GLOBAL_WARNING_14   = USER_GLOBAL_WARNING_BASE + 14,
    USER_GLOBAL_WARNING_15   = USER_GLOBAL_WARNING_BASE + 15,

    USER_LOCAL_WARNING_0     = USER_LOCAL_WARNING_BASE + 0,
    USER_LOCAL_WARNING_1     = USER_LOCAL_WARNING_BASE + 1,
    USER_LOCAL_WARNING_2     = USER_LOCAL_WARNING_BASE + 2,
    USER_LOCAL_WARNING_3     = USER_LOCAL_WARNING_BASE + 3,
    USER_LOCAL_WARNING_4     = USER_LOCAL_WARNING_BASE + 4,
    USER_LOCAL_WARNING_5     = USER_LOCAL_WARNING_BASE + 5,
    USER_LOCAL_WARNING_6     = USER_LOCAL_WARNING_BASE + 6,
    USER_LOCAL_WARNING_7     = USER_LOCAL_WARNING_BASE + 7,
    USER_LOCAL_WARNING_8     = USER_LOCAL_WARNING_BASE + 8,
    USER_LOCAL_WARNING_9     = USER_LOCAL_WARNING_BASE + 9,
    USER_LOCAL_WARNING_10    = USER_LOCAL_WARNING_BASE + 10,
    USER_LOCAL_WARNING_11    = USER_LOCAL_WARNING_BASE + 11,
    USER_LOCAL_WARNING_12    = USER_LOCAL_WARNING_BASE + 12,
    USER_LOCAL_WARNING_13    = USER_LOCAL_WARNING_BASE + 13,
    USER_LOCAL_WARNING_14    = USER_LOCAL_WARNING_BASE + 14,
    USER_LOCAL_WARNING_15    = USER_LOCAL_WARNING_BASE + 15,

    ALARM_MAX = 0x8000,

alias_table = [

    
    {"alias_str" : {
                    StrInfo.STR_INPUT_PASSWORD: "请输入密码",
                    StrInfo.STR_COMM_FAIL : "通讯故障",   #//      //通讯故障
                    StrInfo.STR_ENTER_TO_CLEAR : "按确认清除",   #// //按确认清除
                    StrInfo.STR_ESC_TO_CANCEL : "按退出取消",   #//  //按退出取消
                    StrInfo.STR_CLEAR_FINISH : "清除完成",   #//   //清除完成
                    StrInfo.STR_MIN_VALUE : "最小值",   #//
                    StrInfo.STR_MAX_VALUE : "最大值",   #//
                    StrInfo.STR_NO_RECORD : "无记录",   #//
                    StrInfo.STR_VALUE_EXCEED : "设定值越限",   #//
                    StrInfo.STR_SET_VALUE : "设定值",   #//
                    StrInfo.STR_INFORM_OK : "通知正常",   #//
                    StrInfo.STR_CHECK_VOLTAGE : "检测输入电压",   #//
                    StrInfo.STR_CHECK_SENSOR : "检测传感器",   #//
                    StrInfo.STR_CHECK_PIPE_IN : "检测输入管道",   #//
                    StrInfo.STR_CHECK_NONE : "无需处理",   #//
                    StrInfo.STR_CHECK_RSV : "未知故障, 请咨询设备厂家",   #//
                    StrInfo.STR_CHECK_VOLTAGE_PHASE : "电压相序故障",   #//
                    StrInfo.STR_CHECK_PIPE_BROKE : "检查爆管",   #//
                    StrInfo.STR_CHECK_WATER_SIGNAL : "检查水位型号",   #//
                    StrInfo.STR_CHECK_PID_PARA : "检查PID参数, 或流量变化过大",   #//
                    StrInfo.STR_CHECK_HARD_ERROR : "尝试重启, 如无效需寄回原厂返修",   #//
                    StrInfo.STR_CHECK_LOAD : "检查水泵负载情况",   #//
                    StrInfo.STR_CHECK_POWER_INPUT : "检查三相电源输入接线情况",   #//
                    StrInfo.STR_CHECK_POWER_OUTPUT : "检查三相电源输出接线是否短路",   #//
                    StrInfo.STR_CHECK_FREQ_ACC_DEC_TIME : "检查变频器加速或减速时间是否过小",   #//
                    StrInfo.STR_CHECK_TEMPERATURE : "检查变频器通风散热情况",   #//
                    StrInfo.STR_CHECK_FREQ_COMMUNICATE : "检查本台水泵供电是否正常",   #//
                    StrInfo.STR_CHECK_MAIN_PUMP_LOST : "检查CAN通讯线连接. 检查1号泵是否存在",   #//
                    StrInfo.STR_CHECK_FREQ_CONVERTER : "检查变频器是否允许通讯",   #//
                    StrInfo.STR_CHECK_CAN_COMM : "检查CAN通讯",   #//
                    StrInfo.STR_CHECK_FREQ_EXTERNAL_ALARM : "检查变频器与主控板接口线", #//
                    StrInfo.STR_CHECK_FREQ_POWER : "检查变频器供电情况", #//
                    StrInfo.STR_CHECK_ALARM_RESET : "故障复位中，请稍候",   #//
                    StrInfo.STR_CHECK_PUMP_ID_CONFLICT : "检查CAN地址冲突",   #//
                    StrInfo.STR_CHECK_PRESSURE_LOW_IO : "检查电压力节点低",   #//
                    StrInfo.STR_CHECK_PRESSURE_HIGH_IO : "检查电压力节点高",   #//
                    StrInfo.STR_CHECK_WATER_CONTAINER_SIGNAL : "检查水箱信号",   #//
                    StrInfo.STR_CHECK_MOTOR_TEMPERATURE_OR_SENSOR : "电机温度过高，检查电机散热风扇或水冷回路是否正常",   #//
                    StrInfo.STR_CHECK_BUS_POWER_SHORT : "检查总线电源是否存在短路",   #//
                    StrInfo.STR_PUMP_NOT_FOUNT : "泵没有找到",   #// 
                    StrInfo.STR_PUMP_UPDATE_FAIL : "泵数据更新失败",   #//
                    StrInfo.STR_PUMP_UPDATE_SUCCESS : "泵数据更新成功",   #//
                    StrInfo.STR_PUMP_UPDATE_TIMEOUT : "泵数据更新超时",   #//
                    StrInfo.STR_PUMP_READ_FAIL : "泵数据读取失败",   #//
                    StrInfo.STR_PUMP_READ_SUCCESS : "泵数据读取成功",   #//
                    StrInfo.STR_PUMP_READ_TIMEOUT : "泵数据读取超时",   #//
                    }},



    {"alias_alarm_str":  
                    {
                    AlarmInfo.ALARM_FREE : "无故障",
                    AlarmInfo.ALARM_PIPE_BROKE : "爆管保护",
                    AlarmInfo.ALARM_NO_WATER_EXIST : "市政或水箱无水停机",
                    AlarmInfo.ALARM_WATER_PRESSURE_HIGH : "超压保护",
                    AlarmInfo.ALARM_OVER_VOLTAGE : "供电电压过高",
                    AlarmInfo.ALARM_UNDER_VOLTAGE : "供电电压过低",
                    AlarmInfo.ALARM_BOARD_HARDWARE : "硬件故障",
                    AlarmInfo.ALARM_IO_NO_WATER_EXIST : "IO无水停机",
                    AlarmInfo.ALARM_SENSOR_PRESS_IN : "入口压力传感器故障",
                    AlarmInfo.ALARM_SENSOR_PRESS_OUT : "出口压力传感器故障",
                    AlarmInfo.ALARM_SENSOR_FLUX : "流量传感器故障",
                    AlarmInfo.ALARM_SENSOR_PH : "PH值传感器故障",
                    AlarmInfo.ALARM_SENSOR_WATER_CLEAR : "浊度传感器故障",
                    AlarmInfo.ALARM_SENSOR_REMAIN_CL : "余氯传感器故障",
                    AlarmInfo.ALARM_NEG_PRESSURE : "负压保护",
                    AlarmInfo.ALARM_VACUMM_PRESSURE : "真空保护",
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL : "液位1传感器故障",
                    AlarmInfo.ALARM_WATER_PRESSURE_LOW : "电接点压力低信号有效",
                    AlarmInfo.ALARM_SENSOR_FLUX_IN : "输入流量传感器故障",
                    AlarmInfo.ALARM_SENSOR_IN_VALVE_FEEDBACK : "输入阀反馈故障",
                    AlarmInfo.ALARM_SENSOR_NOIZE : "噪音传感器故障",
                    AlarmInfo.ALARM_SENSOR_HUMIDITY : "湿度传感器故障",
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL2 : "液位2传感器故障",
                    AlarmInfo.ALARM_SENSOR_IN_VALVE_FEEDBACK2 : "开度反馈2传感器故障",
                    AlarmInfo.ALARM_IO_LEAK_WATER : "漏水报警",
                    AlarmInfo.ALARM_IO_SMOKE : "烟感报警",
                    AlarmInfo.ALARM_IO_EXTERNALERROR : "外部故障报警",
                    AlarmInfo.ALARM_SENSOR_HUMIDITY : "湿度传感器故障",
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE : "水温传感器故障",
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE2 : "站内温度传感器故障",
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE3 : "夹层温度传感器故障",
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL3 : "液位3传感器故障",

                    AlarmInfo.ALARM_COMM_FREQ_CONVERTER : "变频器通讯故障",
                    AlarmInfo.ALARM_COMM_TOUCH_BOARD : "触控板通讯故障",
                    AlarmInfo.ALARM_COMM_MAIN_BOARD : "主控板通讯故障",
                    AlarmInfo.ALARM_PUMP_AIR_SWITCH_OFF : "空开跳闸",
                    AlarmInfo.ALARM_MAIN_PUMP_LOST : "主泵丢失",
                    AlarmInfo.ALARM_PUMP_RESET_DELAY : "泵处于故障复位状态",
                    AlarmInfo.ALARM_COMMAND_EXECUTE_FAIL : "泵命令执行失败",
                    AlarmInfo.ALARM_FREQ_PARAMETER_SET : "变频器参数设置故障",
                    AlarmInfo.ALARM_PUMP_ADDR_ID_CONFLICT : "泵号冲突",
                    AlarmInfo.ALARM_PUMP_MOTOR_TEMPERATURE_HIGH : "电机温度过高",
                    AlarmInfo.ALARM_BUS_POWER_SHORT : "通信电源短路",
                    AlarmInfo.ALARM_POWER_LOST : "本机内部失电",

                    AlarmInfo.ALARM_FREQ_U_PROTECT : "变频器U相保护", #//"30    //STR_ALARM_FREQ_U_PROTECT
                    AlarmInfo.ALARM_FREQ_V_PROTECT : "变频器V相保护", #//"31    //STR_ALARM_FREQ_V_PROTECT
                    AlarmInfo.ALARM_FREQ_W_PROTECT : "变频器W相保护", #//"32    //STR_ALARM_FREQ_W_PROTECT
                    AlarmInfo.ALARM_FREQ_ACCELERATE_OVER_CURRENT : "变频器加速过流保护", #//"33    //STR_ALARM_FREQ_ACCELERATE_OVER_CURRENT
                    AlarmInfo.ALARM_FREQ_DECELERATE_OVER_CURRENT : "变频器减速过流保护", #//"34    //STR_ALARM_FREQ_DECELERATE_OVER_CURRENT
                    AlarmInfo.ALARM_FREQ_FIX_SPEED_OVER_CURRENT : "变频器定速过流保护", #//"35    //STR_ALARM_FREQ_FIX_SPEED_OVER_CURRENT
                    AlarmInfo.ALARM_FREQ_ACCELERATE_OVER_VOLTAGE : "变频器加速过压保护", #//"36    //STR_ALARM_FREQ_ACCELERATE_OVER_VOLTAGE
                    AlarmInfo.ALARM_FREQ_DECELERATE_OVER_VOLTAGE : "变频器减速过压保护", #//"37    //STR_ALARM_FREQ_DECELERATE_OVER_VOLTAGE
                    AlarmInfo.ALARM_FREQ_FIX_SPEED_OVER_VOLTAGE : "变频器定速过压保护", #//"38    //STR_ALARM_FREQ_FIX_SPEED_OVER_VOLTAGE
                    AlarmInfo.ALARM_FREQ_DC_VOLTAGE_LOW : "变频器母线电压低", #//"39   //STR_ALARM_FREQ_DC_VOLTAGE_LOW
                    AlarmInfo.ALARM_FREQ_MOTOR_OVER_LOAD : "变频器电机过载", #//"40   //STR_ALARM_FREQ_MOTOR_OVER_LOAD
                    AlarmInfo.ALARM_FREQ_OVER_LOAD : "变频器过载", #//"41   //STR_ALARM_FREQ_OVER_LOAD
                    AlarmInfo.ALARM_FREQ_INPUT_MISS_PHASE : "变频器输入缺相", #//"42   //STR_ALARM_FREQ_INPUT_MISS_PHASE
                    AlarmInfo.ALARM_FREQ_OUTPUT_MISS_PHASE : "变频器输出缺相", #//"43   //STR_ALARM_FREQ_OUTPUT_MISS_PHASE
                    AlarmInfo.ALARM_FREQ_MODULE_TEMP_HIGH : "变频器温度过高", #//"44   //STR_ALARM_FREQ_MODULE_TEMP_HIGH
                    AlarmInfo.ALARM_FREQ_RSV45 : "保留", #//"45   //STR_ALARM_FREQ_RSV45
                    AlarmInfo.ALARM_FREQ_EXTERNAL : "变频器外部故障", #//"46   //STR_ALARM_FREQ_EXTERNAL
                    AlarmInfo.ALARM_FREQ_COMMUNICATION : "变频器通讯故障", #//"47   //STR_ALARM_FREQ_COMMUNICATION
                    AlarmInfo.ALARM_FREQ_CURRENT_MEASURE : "变频器电流检测回路故障", #//"48   //STR_ALARM_FREQ_CURRENT_MEASURE
                    AlarmInfo.ALARM_FREQ_SELF_STUDY : "变频器自学习故障", #//"49   //STR_ALARM_FREQ_SELF_STUDY
                    AlarmInfo.ALARM_FREQ_EEPROM : "变频器EEPROM故障", #//"50   //STR_ALARM_FREQ_EEPROM
                    AlarmInfo.ALARM_FREQ_PID_FAIL : "变频器PID调节故障", #//"51   //STR_ALARM_FREQ_PID_FAIL
                    AlarmInfo.ALARM_FREQ_STOP_UNIT : "变频器制动单元故障", #//"52   //STR_ALARM_FREQ_STOP_UNIT
                    AlarmInfo.ALARM_FREQ_RSV53 : "保留", #//"53   //STR_ALARM_FREQ_RSV53

                    AlarmInfo.ALARM_FREQ_CURRENT_BASE : "电流偏置故障(CoF)",  # //102
                    AlarmInfo.ALARM_FREQ_ADC_FAULT : "A/D 转换器故障(CPF02)",  # //103
                    AlarmInfo.ALARM_FREQ_PWM_DATA_ERR : "PWM 数据异常(CPF03)",  # //104
                    AlarmInfo.ALARM_FREQ_EEPROM_DATA_ERR : "EEPROM 数据异常(CPF06)",  # //105
                    AlarmInfo.ALARM_FREQ_TERMINAL_FAULT : "端子电路板通信故障(CPF07)",  # //106
                    AlarmInfo.ALARM_FREQ_EEPROM_COMM_FAULT : "EEPROM 串行通信故障(CPF08)",  # //107
                    AlarmInfo.ALARM_FREQ_RAM_FAULT : "RAM 故障(CPF11)",  # //108
                    AlarmInfo.ALARM_FREQ_FLASH_FAULT : "闪存故障(CPF12)",  # //109
                    AlarmInfo.ALARM_FREQ_MONITOR : "监视故障(CPF13)",  # //110
                    AlarmInfo.ALARM_FREQ_CTRL_CIRCUIT : "控制回路故障(CPF14)",  # //111
                    AlarmInfo.ALARM_FREQ_CLOCK_FAULT : "时钟故障(CPF16)",  # //112
                    AlarmInfo.ALARM_FREQ_INTERRUPT_FAULT : "中断故障(CPF17)",  # //113
                    AlarmInfo.ALARM_FREQ_PWM_FBDATA_ERR : "PWM 反馈数据异常(CPF23)",  # //114
                    AlarmInfo.ALARM_FREQ_CAPACITY_SIGNAL : "变频器容量信号故障(CPF24)",  # //115
                    AlarmInfo.ALARM_FREQ_TERMINAL_NOT_CONNECT : "未连接端子电路板(CPF25)",  # //116
                    AlarmInfo.ALARM_FREQ_MONITOR_DEVICE : "监视装置故障(E5/CPF13)",  # //117
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S1 : "外部故障(输入端子S1)(EF1)",  # //118
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S2 : "外部故障(输入端子S2)(EF2)",  # //119
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S3 : "外部故障(输入端子S3)(EF3)",  # //120
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S4 : "外部故障(输入端子S4)(EF4)",  # //121
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S5 : "外部故障(输入端子S5)(EF5)",  # //122
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S6 : "外部故障(输入端子S6)(EF6)",  # //123
                    AlarmInfo.ALARM_FREQ_EEPROMW_WRITE_ERR : "EEPROM 写入不当(Err)",  # //124
                    AlarmInfo.ALARM_FREQ_PIDFB_OVERTOP : "PID 反馈超值(FbH)",  # //125
                    AlarmInfo.ALARM_FREQ_PID_FB_LOST : "PID 反馈丧失(FbH)",  # //126
                    AlarmInfo.ALARM_FREQ_GROUND_FALUT : "接地短路(GF)",  # //127
                    AlarmInfo.ALARM_FREQ_OUT_PHASE_LOST : "输出缺相(LF)",  # //128
                    AlarmInfo.ALARM_FREQ_OUT_IMBALANCE : "输出电流失衡(LF)",  # //129
                    AlarmInfo.ALARM_FREQ_NODE_SETUP_ERR : "Node Setup 故障(LF)",  # //130
                    AlarmInfo.ALARM_FREQ_OVER_CURRENT : "过电流(oC)",  # //131
                    AlarmInfo.ALARM_FREQ_FIN_OVER_HEAT : "散热片过热(oH/oH1)",  # //132
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT1 : "电机过热警告(PTC 输入)(oH3)",  # //133
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT2 : "电机过热故障(PTC 输入)(oH4)",  # //134
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERLOAD : "电机过载(oL1)",  # //135
                    AlarmInfo.ALARM_FREQ_VFD_OVERLOAD : "变频器过载(oL2)",  # //136
                    AlarmInfo.ALARM_FREQ_OVER_TORQUE1 : "过转矩检出1(oL3)",  # //137
                    AlarmInfo.ALARM_FREQ_OVER_TORQUE2 : "过转矩检出2(oL4)",  # //138
                    AlarmInfo.ALARM_FREQ_MECHAN_AGING1 : "机械老化检出1(oL5)",  # //139
                    AlarmInfo.ALARM_FREQ_BREAK_OVERLOAD : "高滑差制动电机过载保护(oL7)",  # //140
                    AlarmInfo.ALARM_FREQ_OVER_VOLTAGE : "主回路过电压(ov)",  # //141
                    AlarmInfo.ALARM_FREQ_VOLTAGE_FAULT : "主回路电压故障(PF)",  # //142
                    AlarmInfo.ALARM_FREQ_BRAKE_TRANS : "内置制动晶体管故障(rr)",  # //143
                    AlarmInfo.ALARM_FREQ_OUT_SHORT : "输出短路或IGBT故障(SC)",  # //144
                    AlarmInfo.ALARM_FREQ_SPEED_SEARCH : "速度搜索重试故障(SC)",  # //145
                    AlarmInfo.ALARM_FREQ_DISORDER : "失调检出(STo)",  # //146
                    AlarmInfo.ALARM_FREQ_LACK_OF_TORQUE1 : "转矩不足1(UL3)",  # //147
                    AlarmInfo.ALARM_FREQ_LACK_OF_TORQUE2 : "转矩不足2(UL4)",  # //148
                    AlarmInfo.ALARM_FREQ_MECHAN_AGING2 : "机械老化检出2(UL5)",  # //149
                    AlarmInfo.ALARM_FREQ_MAJOR_UNDERVOLTAGE : "主回路欠电压(Uv/Uv1)",  # //150
                    AlarmInfo.ALARM_FREQ_CTRL_POW_FAULT : "控制电源故障(Uv2)",  # //151
                    AlarmInfo.ALARM_FREQ_CONTROL1_ERR : "控制回路故障(CPF18)",  # //151
                    AlarmInfo.ALARM_FREQ_CONTROL2_ERR : "控制回路故障(CPF19)",  # //151
                    AlarmInfo.ALARM_FREQ_HARD1_ERR : "硬件故障(CPF20)",  # //151
                    AlarmInfo.ALARM_FREQ_HARD2_ERR : "硬件故障(CPF21)",  # //151
                    AlarmInfo.ALARM_FREQ_ADC_ERR : "ADC故障(CPF22)",  # //151
                    AlarmInfo.ALARM_FREQ_PREVENT_SHOCK : "冲击防止回路故障(Uv3)",  # //152
                    AlarmInfo.ALARM_FREQ_BASE_BLOCK : "变频器基极封锁(bb)",  # //160
                    AlarmInfo.ALARM_FREQ_COMM_WAITING : "通信等待中(CALL)",  # //161
                    AlarmInfo.ALARM_FREQ_RST_WHEN_RUN : "运行指令输入中复位(CrST)",  # //162
                    AlarmInfo.ALARM_FREQ_COMM_CYCLE_ERR : "通信周期设定错误(CyC)",  # //163
                    AlarmInfo.ALARM_FREQ_DRIVE_DISABLE : "Drive Disable中(dnE)",  # //164
                    AlarmInfo.ALARM_FREQ_CW_CCW_CMD : "正反转指令同时输入(EF)",  # //165: "
                    AlarmInfo.ALARM_FREQ_CURRENT_WARNING : "电流警告(HCA)",  # //166
                    AlarmInfo.ALARM_FREQ_MAINTAIN_FAN : "冷却风扇维护时期(LT-1)",  # //167
                    AlarmInfo.ALARM_FREQ_MAINTAIN_CAP : "电容器维护时期(LT-2)",  # //168
                    AlarmInfo.ALARM_FREQ_MAINTAIN_RELAY : "冲击电流防止继电器维护时期(LT-3)",  # //169
                    AlarmInfo.ALARM_FREQ_MAINTAIN_IGBT_50 : "IGBT维护时期(50%)(LT-4)",  # //170
                    AlarmInfo.ALARM_FREQ_VFD_OH_ALERT : "变频器过热预警(oH2)",  # //171
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT : "电机过热(oH3)",  # //172
                    AlarmInfo.ALARM_FREQ_RSV173 : "保留",  # //173
                    AlarmInfo.ALARM_FREQ_RSV174 : "保留",  # //174

                    AlarmInfo.ALARM_FREQ_MOBUS_TEST_OK  : "MEMOBUS通信测试模式正常(PASS)",  # //175
                    AlarmInfo.ALARM_FREQ_SWITCH_WHEN_RUN  : "运行中输入电机切换指令(rUn)",  # //176
                    AlarmInfo.ALARM_FREQ_MOBUS_TEST_ERR  : "MEMOBUS通信测试模式故障(SE)",  # //177
                    AlarmInfo.ALARM_FREQ_MAINTAIN_IGBT_90  : "IGBT维护时期(90%)(TrPC)",  # //178
                    AlarmInfo.ALARM_FREQ_RSV179  : "保留",  # //179
                    AlarmInfo.ALARM_FREQ_RSV180  : "保留",  # //180
                    AlarmInfo.ALARM_FREQ_CAPACITY_SET_ERR  : "变频器容量的设定故障(oPE01)",  # //181
                    AlarmInfo.ALARM_FREQ_CAPACITY_SET_ERR  : "参数设定范围不当(oPE02)",  # //182
                    AlarmInfo.ALARM_FREQ_DIN_SELECT_ERR  : "多功能输入的选择不当(oPE03)",  # //183
                    AlarmInfo.ALARM_FREQ_AIN_SELECT_ERR  : "多功能模拟量输入的选择不当(oPE07)",  # //184
                    AlarmInfo.ALARM_FREQ_PARA_SELECT_ERR  : "参数选择不当(oPE08)",  # //182
                    AlarmInfo.ALARM_FREQ_PID_SELECT_ERR  : "PID控制的选择不当(oPE09)",  # //183
                    AlarmInfo.ALARM_FREQ_VF_DATA_SET_ERR  : "V/f数据的设定不当(oPE10)",  # //184
                    AlarmInfo.ALARM_FREQ_CARRIER_SET_ERR  : "载波频率的设定不当(oPE11)",  # //182
           
                    AlarmInfo.USER_GLOBAL_ALARM_0   : "1#水箱液位低报警",     #全局报警0",
                    AlarmInfo.USER_GLOBAL_ALARM_1   : "1#液位传感器未接入",
                    AlarmInfo.USER_GLOBAL_ALARM_2   : "2#液位传感器未接入",
                    AlarmInfo.USER_GLOBAL_ALARM_3   : "1#2#液位同时低",
                    AlarmInfo.USER_GLOBAL_ALARM_4   : "输入压力传感器无效",
                    AlarmInfo.USER_GLOBAL_ALARM_5   : "水箱无水同时进压低",
                    AlarmInfo.USER_GLOBAL_ALARM_6   : "全局报警6",
                    AlarmInfo.USER_GLOBAL_ALARM_7   : "全局报警7",
                    AlarmInfo.USER_GLOBAL_ALARM_8   : "全局报警8",
                    AlarmInfo.USER_GLOBAL_ALARM_9   : "全局报警9",
                    AlarmInfo.USER_GLOBAL_ALARM_10   : "全局报警10",
                    AlarmInfo.USER_GLOBAL_ALARM_11   : "全局报警11",
                    AlarmInfo.USER_GLOBAL_ALARM_12   : "全局报警12",
                    AlarmInfo.USER_GLOBAL_ALARM_13   : "全局报警13",
                    AlarmInfo.USER_GLOBAL_ALARM_14   : "全局报警14",
                    AlarmInfo.USER_GLOBAL_ALARM_15   : "全局报警15",

                    AlarmInfo.USER_GLOBAL_WARNING_0   : "1#水箱液位低警告",
                    AlarmInfo.USER_GLOBAL_WARNING_1   : "2#水箱液位低警告",
                    AlarmInfo.USER_GLOBAL_WARNING_2   : "全局警告2",
                    AlarmInfo.USER_GLOBAL_WARNING_3   : "全局警告3",
                    AlarmInfo.USER_GLOBAL_WARNING_4   : "全局警告4",
                    AlarmInfo.USER_GLOBAL_WARNING_5   : "全局警告5",
                    AlarmInfo.USER_GLOBAL_WARNING_6   : "全局警告6",
                    AlarmInfo.USER_GLOBAL_WARNING_7   : "全局警告7",
                    AlarmInfo.USER_GLOBAL_WARNING_8   : "全局警告8",
                    AlarmInfo.USER_GLOBAL_WARNING_9   : "全局警告9",
                    AlarmInfo.USER_GLOBAL_WARNING_10   : "全局警告10",
                    AlarmInfo.USER_GLOBAL_WARNING_11   : "全局警告11",
                    AlarmInfo.USER_GLOBAL_WARNING_12   : "全局警告12",
                    AlarmInfo.USER_GLOBAL_WARNING_13   : "全局警告13",
                    AlarmInfo.USER_GLOBAL_WARNING_14   : "全局警告14",
                    AlarmInfo.USER_GLOBAL_WARNING_15   : "全局警告15",

                    AlarmInfo.USER_LOCAL_WARNING_0   : "本机警告0",
                    AlarmInfo.USER_LOCAL_WARNING_1   : "本机警告1",
                    AlarmInfo.USER_LOCAL_WARNING_2   : "本机警告2",
                    AlarmInfo.USER_LOCAL_WARNING_3   : "本机警告3",
                    AlarmInfo.USER_LOCAL_WARNING_4   : "本机警告4",
                    AlarmInfo.USER_LOCAL_WARNING_5   : "本机警告5",
                    AlarmInfo.USER_LOCAL_WARNING_6   : "本机警告6",
                    AlarmInfo.USER_LOCAL_WARNING_7   : "本机警告7",
                    AlarmInfo.USER_LOCAL_WARNING_8   : "本机警告8",
                    AlarmInfo.USER_LOCAL_WARNING_9   : "本机警告9",
                    AlarmInfo.USER_LOCAL_WARNING_10   : "本机警告10",
                    AlarmInfo.USER_LOCAL_WARNING_11   : "本机警告11",
                    AlarmInfo.USER_LOCAL_WARNING_12   : "本机警告12",
                    AlarmInfo.USER_LOCAL_WARNING_13   : "本机警告13",
                    AlarmInfo.USER_LOCAL_WARNING_14   : "本机警告14",
                    AlarmInfo.USER_LOCAL_WARNING_15   : "本机警告15",
                    }},
    
    {"alias_alarm_cause":
                    {
                    AlarmInfo.ALARM_FREE : "无",
                    AlarmInfo.ALARM_PIPE_BROKE : "1. 系统管路泄漏@2. 输出压力传感器故障@3. 阀门开度太大",
                    AlarmInfo.ALARM_NO_WATER_EXIST : "1. 进水口无水或水压极低@2. 线路松动@3. 进水压力低于设定值@4. 模拟量异常或未校正，导到实系统压力值与实际压不一个致@5. 传感器故障",
                    AlarmInfo.ALARM_WATER_PRESSURE_HIGH : "1. 出水口水压过高@2. 线路松动@3. 电接点压力表设置不合理或故障4. 最低转速过高@5. 模拟量异常或未校正，导到系统压力值与实际压不一个致@6. 传感器故障",
                    AlarmInfo.ALARM_OVER_VOLTAGE : "1. 380V某一相(或几相)电压过高@2. 变频器故障",
                    AlarmInfo.ALARM_UNDER_VOLTAGE : "1. 380V某一相(或几相)电压过低@2. 变频器故障",
                    AlarmInfo.ALARM_BOARD_HARDWARE : "1. 需专业人员检修或更换控制器",
                    AlarmInfo.ALARM_IO_NO_WATER_EXIST : "1. 进水口无水或水箱浮球低位",
                    AlarmInfo.ALARM_SENSOR_PRESS_IN : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_PRESS_OUT : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_FLUX : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_PH : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_WATER_CLEAR : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_REMAIN_CL : STR_SensorFailCause,
                    AlarmInfo.ALARM_NEG_PRESSURE : "1. 进水口无水或水压极低@2. 线路松动@3. 进水压力低于设定值，@4. 模拟量异常或未校正，导到系统压力值与实际压不一个致@5. 传感器故障",
                    AlarmInfo.ALARM_VACUMM_PRESSURE : "1. 进水口无水或水压极低@2. 线路松动@3. 进水压力低于设定值，@4. 模拟量异常或未校正，导到实系统压力值与实际压不一个致@5. 传感器故障",
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL : STR_SensorFailCause,
                    AlarmInfo.ALARM_WATER_PRESSURE_LOW : "1. 并非故障，仅作提示@2. 电接点压力表低压设定值过大",
                    AlarmInfo.ALARM_SENSOR_FLUX_IN : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_IN_VALVE_FEEDBACK : "1. 调节阀故障@2. 模拟量口故障@3. 通信电缆的接线不正确，或发生短路、断线",
                    AlarmInfo.ALARM_SENSOR_NOIZE : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_HUMIDITY : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL2 : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_IN_VALVE_FEEDBACK2 : STR_SensorFailCause,
                    AlarmInfo.ALARM_IO_LEAK_WATER : "1. 检测到漏水信号",
                    AlarmInfo.ALARM_IO_SMOKE : "1. 检测到烟感信号",
                    AlarmInfo.ALARM_IO_EXTERNALERROR : "1. 检测到外部故障信号",
                    AlarmInfo.ALARM_SENSOR_HUMIDITY : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE2 : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE3 : STR_SensorFailCause,
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL3 : STR_SensorFailCause,
                    
                    AlarmInfo.ALARM_COMM_FREQ_CONVERTER : "1. 通信电缆断线、接触不良@2. 通信参数不匹配@3. 受到干扰@4. 变频器型号选择错误",
                    AlarmInfo.ALARM_COMM_TOUCH_BOARD : EMPTY_STRING,
                    AlarmInfo.ALARM_COMM_MAIN_BOARD : "1. 线路松动、硬件故障、干扰",
                    AlarmInfo.ALARM_PUMP_AIR_SWITCH_OFF : EMPTY_STRING,
                    AlarmInfo.ALARM_MAIN_PUMP_LOST : "1. 未设置1号泵@2. 1号泵未上电@3. 1号泵已损坏@4.通信电缆的接线短路或断线@5.干扰导致通信数据发生故障",
                    AlarmInfo.ALARM_PUMP_RESET_DELAY : EMPTY_STRING,
                    AlarmInfo.ALARM_COMMAND_EXECUTE_FAIL : EMPTY_STRING,
                    AlarmInfo.ALARM_FREQ_PARAMETER_SET : EMPTY_STRING,
                    AlarmInfo.ALARM_PUMP_ADDR_ID_CONFLICT : "1. 设置了两台相同泵号",
                    AlarmInfo.ALARM_PUMP_MOTOR_TEMPERATURE_HIGH : "1. 冷却水量少@2. 电机故障",
                    AlarmInfo.ALARM_BUS_POWER_SHORT : "1. 通信电缆的接线不正确，或发生短路",
                    AlarmInfo.ALARM_POWER_LOST : "1. 380V电源未上电 ",
                    
                    AlarmInfo.ALARM_FREQ_CURRENT_BASE : STR_FreqErrRef,    #//电流偏置故障(CoF)",  # //102
                    AlarmInfo.ALARM_FREQ_ADC_FAULT : STR_FreqErrRef,    #//A/D 转换器故障(CPF02)",  # //103
                    AlarmInfo.ALARM_FREQ_PWM_DATA_ERR : STR_FreqErrRef,    #//PWM 数据异常(CPF03)",  # //104
                    AlarmInfo.ALARM_FREQ_EEPROM_DATA_ERR : STR_FreqErrRef,    #//EEPROM 数据异常(CPF06)",  # //105
                    AlarmInfo.ALARM_FREQ_TERMINAL_FAULT : STR_FreqErrRef,    #//端子电路板通信故障(CPF07)",  # //106
                    AlarmInfo.ALARM_FREQ_EEPROM_COMM_FAULT : STR_FreqErrRef,    #//EEPROM 串行通信故障(CPF08)",  # //107
                    AlarmInfo.ALARM_FREQ_RAM_FAULT : STR_FreqErrRef,    #//RAM 故障(CPF11)",  # //108
                    AlarmInfo.ALARM_FREQ_FLASH_FAULT : STR_FreqErrRef,    #//闪存故障(CPF12)",  # //109
                    AlarmInfo.ALARM_FREQ_MONITOR : STR_FreqErrRef,    #//监视故障(CPF13)",  # //110
                    AlarmInfo.ALARM_FREQ_CTRL_CIRCUIT : STR_FreqErrRef,    #//控制回路故障(CPF14)",  # //111
                    AlarmInfo.ALARM_FREQ_CLOCK_FAULT : STR_FreqErrRef,    #//时钟故障(CPF16)",  # //112
                    AlarmInfo.ALARM_FREQ_INTERRUPT_FAULT : STR_FreqErrRef,    #//中断故障(CPF17)",  # //113
                    AlarmInfo.ALARM_FREQ_PWM_FBDATA_ERR : STR_FreqErrRef,    #//PWM 反馈数据异常(CPF23)",  # //114
                    AlarmInfo.ALARM_FREQ_CAPACITY_SIGNAL : STR_FreqErrRef,    #//变频器容量信号故障(CPF24)",  # //115
                    AlarmInfo.ALARM_FREQ_TERMINAL_NOT_CONNECT : STR_FreqErrRef,    #//未连接端子电路板(CPF25)",  # //116
                    AlarmInfo.ALARM_FREQ_MONITOR_DEVICE : STR_FreqErrRef,    #//监视装置故障(E5/CPF13)",  # //117
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S1 : STR_FreqErrRef,    #//外部故障(输入端子S1)(EF1)",  # //118
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S2 : STR_FreqErrRef,    #//外部故障(输入端子S2)(EF2)",  # //119
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S3 : STR_FreqErrRef,    #//外部故障(输入端子S3)(EF3)",  # //120
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S4 : STR_FreqErrRef,    #//外部故障(输入端子S4)(EF4)",  # //121
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S5 : STR_FreqErrRef,    #//外部故障(输入端子S5)(EF5)",  # //122
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S6 : STR_FreqErrRef,    #//外部故障(输入端子S6)(EF6)",  # //123
                    AlarmInfo.ALARM_FREQ_EEPROMW_WRITE_ERR : STR_FreqErrRef,    #//EEPROM 写入不当(Err)",  # //124
                    AlarmInfo.ALARM_FREQ_PIDFB_OVERTOP : STR_FreqErrRef,    #//PID 反馈超值(FbH)",  # //125
                    AlarmInfo.ALARM_FREQ_PID_FB_LOST : STR_FreqErrRef,    #//PID 反馈丧失(FbH)",  # //126
                    AlarmInfo.ALARM_FREQ_GROUND_FALUT : STR_FreqErrRef,    #//接地短路(GF)",  # //127
                    AlarmInfo.ALARM_FREQ_OUT_PHASE_LOST : STR_FreqErrRef,    #//输出缺相(LF)",  # //128
                    AlarmInfo.ALARM_FREQ_OUT_IMBALANCE : STR_FreqErrRef,    #//输出电流失衡(LF)",  # //129
                    AlarmInfo.ALARM_FREQ_NODE_SETUP_ERR : STR_FreqErrRef,    #//Node Setup 故障(LF)",  # //130
                    AlarmInfo.ALARM_FREQ_OVER_CURRENT : STR_FreqErrRef,    #//过电流(oC)",  # //131
                    AlarmInfo.ALARM_FREQ_FIN_OVER_HEAT : STR_FreqErrRef,    #//散热片过热(oH/oH1)",  # //132
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT1 : STR_FreqErrRef,    #//电机过热警告(PTC 输入)(oH3)",  # //133
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT2 : STR_FreqErrRef,    #//电机过热故障(PTC 输入)(oH4)",  # //134
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERLOAD : STR_FreqErrRef,    #//电机过载(oL1)",  # //135
                    AlarmInfo.ALARM_FREQ_VFD_OVERLOAD : STR_FreqErrRef,    #//变频器过载(oL2)",  # //136
                    AlarmInfo.ALARM_FREQ_OVER_TORQUE1 : STR_FreqErrRef,    #//过转矩检出1(oL3)",  # //137
                    AlarmInfo.ALARM_FREQ_OVER_TORQUE2 : STR_FreqErrRef,    #//过转矩检出2(oL4)",  # //138
                    AlarmInfo.ALARM_FREQ_MECHAN_AGING1 : STR_FreqErrRef,    #//机械老化检出1(oL5)",  # //139
                    AlarmInfo.ALARM_FREQ_BREAK_OVERLOAD : STR_FreqErrRef,    #//高滑差制动电机过载保护(oL7)",  # //140
                    AlarmInfo.ALARM_FREQ_OVER_VOLTAGE : STR_FreqErrRef,    #//主回路过电压(ov)",  # //141
                    AlarmInfo.ALARM_FREQ_VOLTAGE_FAULT : STR_FreqErrRef,    #//主回路电压故障(PF)",  # //142
                    AlarmInfo.ALARM_FREQ_BRAKE_TRANS : STR_FreqErrRef,    #//内置制动晶体管故障(rr)",  # //143
                    AlarmInfo.ALARM_FREQ_OUT_SHORT : STR_FreqErrRef,    #//输出短路或IGBT故障(SC)",  # //144
                    AlarmInfo.ALARM_FREQ_SPEED_SEARCH : STR_FreqErrRef,    #//速度搜索重试故障(SC)",  # //145
                    AlarmInfo.ALARM_FREQ_DISORDER : STR_FreqErrRef,    #//失调检出(STo)",  # //146
                    AlarmInfo.ALARM_FREQ_LACK_OF_TORQUE1 : STR_FreqErrRef,    #//转矩不足1(UL3)",  # //147
                    AlarmInfo.ALARM_FREQ_LACK_OF_TORQUE2 : STR_FreqErrRef,    #//转矩不足2(UL4)",  # //148
                    AlarmInfo.ALARM_FREQ_MECHAN_AGING2 : STR_FreqErrRef,    #//机械老化检出2(UL5)",  # //149
                    AlarmInfo.ALARM_FREQ_MAJOR_UNDERVOLTAGE : STR_FreqErrRef,    #//主回路欠电压(Uv/Uv1)",  # //150
                    AlarmInfo.ALARM_FREQ_CTRL_POW_FAULT : STR_FreqErrRef,    #//控制电源故障(Uv2)",  # //151
                    AlarmInfo.ALARM_FREQ_CONTROL1_ERR : STR_FreqErrRef,    #//控制回路故障(CPF18)",  # //151
                    AlarmInfo.ALARM_FREQ_CONTROL2_ERR : STR_FreqErrRef,    #//控制回路故障(CPF19)",  # //151
                    AlarmInfo.ALARM_FREQ_HARD1_ERR : STR_FreqErrRef,    #//硬件故障(CPF20)",  # //151
                    AlarmInfo.ALARM_FREQ_HARD2_ERR : STR_FreqErrRef,    #//硬件故障(CPF21)",  # //151
                    AlarmInfo.ALARM_FREQ_ADC_ERR : STR_FreqErrRef,    #//ADC故障(CPF22)",  # //151
                    AlarmInfo.ALARM_FREQ_PREVENT_SHOCK : STR_FreqErrRef,    #//冲击防止回路故障(Uv3)",  # //152
                    AlarmInfo.ALARM_FREQ_BASE_BLOCK : STR_FreqErrRef,    #//变频器基极封锁(bb)",  # //160
                    AlarmInfo.ALARM_FREQ_COMM_WAITING : STR_FreqErrRef,    #//通信等待中(CALL)",  # //161
                    AlarmInfo.ALARM_FREQ_RST_WHEN_RUN : STR_FreqErrRef,    #//运行指令输入中复位(CrST)",  # //162
                    AlarmInfo.ALARM_FREQ_COMM_CYCLE_ERR : STR_FreqErrRef,    #//通信周期设定错误(CyC)",  # //163
                    AlarmInfo.ALARM_FREQ_DRIVE_DISABLE : STR_FreqErrRef,    #//Drive Disable中(dnE)",  # //164
                    AlarmInfo.ALARM_FREQ_CW_CCW_CMD : STR_FreqErrRef,    #//正反转指令同时输入(EF)",  # //165
                    AlarmInfo.ALARM_FREQ_CURRENT_WARNING : STR_FreqErrRef,    #//电流警告(HCA)",  # //166
                    AlarmInfo.ALARM_FREQ_MAINTAIN_FAN : STR_FreqErrRef,    #//冷却风扇维护时期(LT-1)",  # //167
                    AlarmInfo.ALARM_FREQ_MAINTAIN_CAP : STR_FreqErrRef,    #//电容器维护时期(LT-2)",  # //168
                    AlarmInfo.ALARM_FREQ_MAINTAIN_RELAY : STR_FreqErrRef,    #//冲击电流防止继电器维护时期(LT-3)",  # //169
                    AlarmInfo.ALARM_FREQ_MAINTAIN_IGBT_50 : STR_FreqErrRef,    #//IGBT维护时期(50%)(LT-4)",  # //170
                    AlarmInfo.ALARM_FREQ_VFD_OH_ALERT : STR_FreqErrRef,    #//变频器过热预警(oH2)",  # //171
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT : STR_FreqErrRef,    #//电机过热(oH3)",  # //172
                    AlarmInfo.ALARM_FREQ_RSV173 : STR_FreqErrRef,    #//保留",  # //173
                    AlarmInfo.ALARM_FREQ_RSV174 : STR_FreqErrRef,    #//保留",  # //174
                    
                    AlarmInfo.ALARM_FREQ_MOBUS_TEST_OK  : "正在进行通信测试",  # //175
                    AlarmInfo.ALARM_FREQ_SWITCH_WHEN_RUN  : STR_FreqErrRef,    #//运行中输入电机切换指令(rUn)",  # //176
                    AlarmInfo.ALARM_FREQ_MOBUS_TEST_ERR  : STR_FreqErrRef,    #//MEMOBUS通信测试模式故障(SE)",  # //177
                    AlarmInfo.ALARM_FREQ_MAINTAIN_IGBT_90  : STR_FreqErrRef,    #//IGBT维护时期(90%)(TrPC)",  # //178
                    AlarmInfo.ALARM_FREQ_RSV179  : STR_FreqErrRef,    #//保留",  # //179
                    AlarmInfo.ALARM_FREQ_RSV180  : STR_FreqErrRef,    #//保留",  # //180
                    AlarmInfo.ALARM_FREQ_CAPACITY_SET_ERR  : STR_FreqErrRef,    #//变频器容量的设定故障(oPE01)",  # //181
                    AlarmInfo.ALARM_FREQ_CAPACITY_SET_ERR  : STR_FreqErrRef,    #//参数设定范围不当(oPE02)",  # //182
                    AlarmInfo.ALARM_FREQ_DIN_SELECT_ERR  : STR_FreqErrRef,    #//多功能输入的选择不当(oPE03)",  # //183
                    AlarmInfo.ALARM_FREQ_AIN_SELECT_ERR  : STR_FreqErrRef,    #//多功能模拟量输入的选择不当(oPE07)",  # //184
                    AlarmInfo.ALARM_FREQ_PARA_SELECT_ERR  : STR_FreqErrRef,    #//参数选择不当(oPE08)",  # //182
                    AlarmInfo.ALARM_FREQ_PID_SELECT_ERR  : STR_FreqErrRef,    #//PID控制的选择不当(oPE09)",  # //183
                    AlarmInfo.ALARM_FREQ_VF_DATA_SET_ERR  : STR_FreqErrRef,    #//V/f数据的设定不当(oPE10)",  # //184
                    AlarmInfo.ALARM_FREQ_CARRIER_SET_ERR  : STR_FreqErrRef,    #//载波频率的设定不当(oPE11)",  # //182

                    AlarmInfo.USER_GLOBAL_ALARM_0   : "1#水箱液位低于无水液位",  #全局报警0",
                    AlarmInfo.USER_GLOBAL_ALARM_1   : "1#水箱无液位传感器输入",
                    AlarmInfo.USER_GLOBAL_ALARM_2   : "2#水箱无液位传感器输入",
                    AlarmInfo.USER_GLOBAL_ALARM_3   : "1#水箱液位低, 2#水箱液位低",
                    AlarmInfo.USER_GLOBAL_ALARM_4   : "输入压力传感器未配置或损坏",
                    AlarmInfo.USER_GLOBAL_ALARM_5   : "1.水箱液位低于无水液位@2. 同时进水压力低于进压关阀压力 ",
                    AlarmInfo.USER_GLOBAL_ALARM_6   : "全局报警6",
                    AlarmInfo.USER_GLOBAL_ALARM_7   : "全局报警7",
                    AlarmInfo.USER_GLOBAL_ALARM_8   : "全局报警8",
                    AlarmInfo.USER_GLOBAL_ALARM_9   : "全局报警9",
                    AlarmInfo.USER_GLOBAL_ALARM_10   : "全局报警10",
                    AlarmInfo.USER_GLOBAL_ALARM_11   : "全局报警11",
                    AlarmInfo.USER_GLOBAL_ALARM_12   : "全局报警12",
                    AlarmInfo.USER_GLOBAL_ALARM_13   : "全局报警13",
                    AlarmInfo.USER_GLOBAL_ALARM_14   : "全局报警14",
                    AlarmInfo.USER_GLOBAL_ALARM_15   : "全局报警15",
                    
                    AlarmInfo.USER_GLOBAL_WARNING_0   : "1#水箱液位低于无水液位",
                    AlarmInfo.USER_GLOBAL_WARNING_1   : "2#水箱液位低于无水液位",
                    AlarmInfo.USER_GLOBAL_WARNING_2   : "全局警告2",
                    AlarmInfo.USER_GLOBAL_WARNING_3   : "全局警告3",
                    AlarmInfo.USER_GLOBAL_WARNING_4   : "全局警告4",
                    AlarmInfo.USER_GLOBAL_WARNING_5   : "全局警告5",
                    AlarmInfo.USER_GLOBAL_WARNING_6   : "全局警告6",
                    AlarmInfo.USER_GLOBAL_WARNING_7   : "全局警告7",
                    AlarmInfo.USER_GLOBAL_WARNING_8   : "全局警告8",
                    AlarmInfo.USER_GLOBAL_WARNING_9   : "全局警告9",
                    AlarmInfo.USER_GLOBAL_WARNING_10   : "全局警告10",
                    AlarmInfo.USER_GLOBAL_WARNING_11   : "全局警告11",
                    AlarmInfo.USER_GLOBAL_WARNING_12   : "全局警告12",
                    AlarmInfo.USER_GLOBAL_WARNING_13   : "全局警告13",
                    AlarmInfo.USER_GLOBAL_WARNING_14   : "全局警告14",
                    AlarmInfo.USER_GLOBAL_WARNING_15   : "全局警告15",

                    }},
    
    {"alias_alarm_help":  
                    {
                    AlarmInfo.ALARM_FREE : "无",
                    AlarmInfo.ALARM_PIPE_BROKE : "1. 管路修复@2. 检查传感器线路及更换传感器@3. 配置更大流量的泵或减少阀门开度",
                    AlarmInfo.ALARM_NO_WATER_EXIST : "1. 有水后自动解除故障@2. 检查传感器线路@3. @4.  出水压力显示是否正常，进行参数校正@5. 检查进水压力传感器是否正常",
                    AlarmInfo.ALARM_WATER_PRESSURE_HIGH : "1. 水压降低后自动解除@2. 检查传感器线路@3. 检查出水电接点压力表是否正常。n\4. 变频器最小频率是否合理。@5. 出水压力显示是否正常，进行参数校正@6. 出水传感器是否正常。",
                    AlarmInfo.ALARM_OVER_VOLTAGE : "1. 检查380V三相电压@2. 更换变频器",
                    AlarmInfo.ALARM_UNDER_VOLTAGE : "1. 检查380V三相电压@2. 更换变频器",
                    AlarmInfo.ALARM_BOARD_HARDWARE : "1. 更换电机",
                    AlarmInfo.ALARM_IO_NO_WATER_EXIST : "1. 有水后自动解除故障 @2检查无水信号IO点 @3检查水箱液位传感器",
                    AlarmInfo.ALARM_SENSOR_PRESS_IN : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_PRESS_OUT : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_FLUX : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_PH : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_WATER_CLEAR : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_REMAIN_CL : STR_SensorFailProcess,
                    AlarmInfo.ALARM_NEG_PRESSURE : "1. 有水后自动解除故障@2. 检查传感器线路@3. 检查设置是否合理，@4.  出水压力显示是否正常，进行参数校正@5. 检查进水压力传感器是否正常",
                    AlarmInfo.ALARM_VACUMM_PRESSURE : "1. 有水后自动解除故障@2. 检查传感器线路@3. 检查设置是否合理，@4.  出水压力显示是否正常，进行参数校正@5. 检查进水压力传感器是否正常",
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL : STR_SensorFailProcess,
                    AlarmInfo.ALARM_WATER_PRESSURE_LOW : "1. 无需处理@2. 检查电接点压力表设定值",
                    AlarmInfo.ALARM_SENSOR_FLUX_IN : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_IN_VALVE_FEEDBACK : "1. 更换调节阀@2. 更换电机@3. 检查调节阀是否断线或损坏。",
                    AlarmInfo.ALARM_SENSOR_NOIZE : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_HUMIDITY : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL2 : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_IN_VALVE_FEEDBACK2 : STR_SensorFailProcess,
                    AlarmInfo.ALARM_IO_LEAK_WATER : "1. 漏水信号消除后自动解除故障",
                    AlarmInfo.ALARM_IO_SMOKE : "1. 烟感信号消除后自动解除故障",
                    AlarmInfo.ALARM_IO_EXTERNALERROR : "1. 外部故障信号消除后自动解除故障",
                    AlarmInfo.ALARM_SENSOR_HUMIDITY : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE2 : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_TEMPERATURE3 : STR_SensorFailProcess,
                    AlarmInfo.ALARM_SENSOR_WATER_LEVEL3 : STR_SensorFailProcess,
                    
                    AlarmInfo.ALARM_COMM_FREQ_CONVERTER : "1. 检查通信电缆和接线@2. 检查波特率等通信参数的设置@3. 排除干扰，详见说明书@4. 修改 系统信息>变频器型号",
                    AlarmInfo.ALARM_COMM_TOUCH_BOARD : EMPTY_STRING,
                    AlarmInfo.ALARM_COMM_MAIN_BOARD : "1. 检查是否存在干扰现象。",
                    AlarmInfo.ALARM_PUMP_AIR_SWITCH_OFF : EMPTY_STRING,
                    AlarmInfo.ALARM_MAIN_PUMP_LOST : "1. 设置一台水泵为1号泵@2. 检查电源@3. 把原1号泵断开连接, 重新设置一台1号泵@4. 检查CAN通讯线束@5. 确认抗干扰对策的状况。@6. 检查控制回路的接线、主回路接地线",
                    AlarmInfo.ALARM_PUMP_RESET_DELAY : EMPTY_STRING,
                    AlarmInfo.ALARM_COMMAND_EXECUTE_FAIL : EMPTY_STRING,
                    AlarmInfo.ALARM_FREQ_PARAMETER_SET  : EMPTY_STRING,
                    AlarmInfo.ALARM_PUMP_ADDR_ID_CONFLICT : "1. 检查泵号设置",
                    AlarmInfo.ALARM_PUMP_MOTOR_TEMPERATURE_HIGH : "1. 调整减压阀，加大冷却水流量@2. 清洗减压阀过滤网@3. 更换电机",
                    AlarmInfo.ALARM_BUS_POWER_SHORT : "1. 检查CAN通讯线束",
                    AlarmInfo.ALARM_POWER_LOST : "1. 检查380V电源是否打开@2.检查线路是否松动",
                    
                    AlarmInfo.ALARM_FREQ_CURRENT_BASE : STR_FreqErrRef,    #//电流偏置故障(CoF)",  # //102
                    AlarmInfo.ALARM_FREQ_ADC_FAULT : STR_FreqErrRef,    #//A/D 转换器故障(CPF02)",  # //103
                    AlarmInfo.ALARM_FREQ_PWM_DATA_ERR : STR_FreqErrRef,    #//PWM 数据异常(CPF03)",  # //104
                    AlarmInfo.ALARM_FREQ_EEPROM_DATA_ERR : STR_FreqErrRef,    #//EEPROM 数据异常(CPF06)",  # //105
                    AlarmInfo.ALARM_FREQ_TERMINAL_FAULT : STR_FreqErrRef,    #//端子电路板通信故障(CPF07)",  # //106
                    AlarmInfo.ALARM_FREQ_EEPROM_COMM_FAULT : STR_FreqErrRef,    #//EEPROM 串行通信故障(CPF08)",  # //107
                    AlarmInfo.ALARM_FREQ_RAM_FAULT : STR_FreqErrRef,    #//RAM 故障(CPF11)",  # //108
                    AlarmInfo.ALARM_FREQ_FLASH_FAULT : STR_FreqErrRef,    #//闪存故障(CPF12)",  # //109
                    AlarmInfo.ALARM_FREQ_MONITOR : STR_FreqErrRef,    #//监视故障(CPF13)",  # //110
                    AlarmInfo.ALARM_FREQ_CTRL_CIRCUIT : STR_FreqErrRef,    #//控制回路故障(CPF14)",  # //111
                    AlarmInfo.ALARM_FREQ_CLOCK_FAULT : STR_FreqErrRef,    #//时钟故障(CPF16)",  # //112
                    AlarmInfo.ALARM_FREQ_INTERRUPT_FAULT : STR_FreqErrRef,    #//中断故障(CPF17)",  # //113
                    AlarmInfo.ALARM_FREQ_PWM_FBDATA_ERR : STR_FreqErrRef,    #//PWM 反馈数据异常(CPF23)",  # //114
                    AlarmInfo.ALARM_FREQ_CAPACITY_SIGNAL : STR_FreqErrRef,    #//变频器容量信号故障(CPF24)",  # //115
                    AlarmInfo.ALARM_FREQ_TERMINAL_NOT_CONNECT : STR_FreqErrRef,    #//未连接端子电路板(CPF25)",  # //116
                    AlarmInfo.ALARM_FREQ_MONITOR_DEVICE : STR_FreqErrRef,    #//监视装置故障(E5/CPF13)",  # //117
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S1 : STR_FreqErrRef,    #//外部故障(输入端子S1)(EF1)",  # //118
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S2 : STR_FreqErrRef,    #//外部故障(输入端子S2)(EF2)",  # //119
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S3 : STR_FreqErrRef,    #//外部故障(输入端子S3)(EF3)",  # //120
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S4 : STR_FreqErrRef,    #//外部故障(输入端子S4)(EF4)",  # //121
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S5 : STR_FreqErrRef,    #//外部故障(输入端子S5)(EF5)",  # //122
                    AlarmInfo.ALARM_FREQ_EXTERN_FAULT_S6 : STR_FreqErrRef,    #//外部故障(输入端子S6)(EF6)",  # //123
                    AlarmInfo.ALARM_FREQ_EEPROMW_WRITE_ERR : STR_FreqErrRef,    #//EEPROM 写入不当(Err)",  # //124
                    AlarmInfo.ALARM_FREQ_PIDFB_OVERTOP : STR_FreqErrRef,    #//PID 反馈超值(FbH)",  # //125
                    AlarmInfo.ALARM_FREQ_PID_FB_LOST : STR_FreqErrRef,    #//PID 反馈丧失(FbH)",  # //126
                    AlarmInfo.ALARM_FREQ_GROUND_FALUT : STR_FreqErrRef,    #//接地短路(GF)",  # //127
                    AlarmInfo.ALARM_FREQ_OUT_PHASE_LOST : STR_FreqErrRef,    #//输出缺相(LF)",  # //128
                    AlarmInfo.ALARM_FREQ_OUT_IMBALANCE : STR_FreqErrRef,    #//输出电流失衡(LF)",  # //129
                    AlarmInfo.ALARM_FREQ_NODE_SETUP_ERR : STR_FreqErrRef,    #//Node Setup 故障(LF)",  # //130
                    AlarmInfo.ALARM_FREQ_OVER_CURRENT : STR_FreqErrRef,    #//过电流(oC)",  # //131
                    AlarmInfo.ALARM_FREQ_FIN_OVER_HEAT : STR_FreqErrRef,    #//散热片过热(oH/oH1)",  # //132
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT1 : STR_FreqErrRef,    #//电机过热警告(PTC 输入)(oH3)",  # //133
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT2 : STR_FreqErrRef,    #//电机过热故障(PTC 输入)(oH4)",  # //134
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERLOAD : STR_FreqErrRef,    #//电机过载(oL1)",  # //135
                    AlarmInfo.ALARM_FREQ_VFD_OVERLOAD : STR_FreqErrRef,    #//变频器过载(oL2)",  # //136
                    AlarmInfo.ALARM_FREQ_OVER_TORQUE1 : STR_FreqErrRef,    #//过转矩检出1(oL3)",  # //137
                    AlarmInfo.ALARM_FREQ_OVER_TORQUE2 : STR_FreqErrRef,    #//过转矩检出2(oL4)",  # //138
                    AlarmInfo.ALARM_FREQ_MECHAN_AGING1 : STR_FreqErrRef,    #//机械老化检出1(oL5)",  # //139
                    AlarmInfo.ALARM_FREQ_BREAK_OVERLOAD : STR_FreqErrRef,    #//高滑差制动电机过载保护(oL7)",  # //140
                    AlarmInfo.ALARM_FREQ_OVER_VOLTAGE : STR_FreqErrRef,    #//主回路过电压(ov)",  # //141
                    AlarmInfo.ALARM_FREQ_VOLTAGE_FAULT : STR_FreqErrRef,    #//主回路电压故障(PF)",  # //142
                    AlarmInfo.ALARM_FREQ_BRAKE_TRANS : STR_FreqErrRef,    #//内置制动晶体管故障(rr)",  # //143
                    AlarmInfo.ALARM_FREQ_OUT_SHORT : STR_FreqErrRef,    #//输出短路或IGBT故障(SC)",  # //144
                    AlarmInfo.ALARM_FREQ_SPEED_SEARCH : STR_FreqErrRef,    #//速度搜索重试故障(SC)",  # //145
                    AlarmInfo.ALARM_FREQ_DISORDER : STR_FreqErrRef,    #//失调检出(STo)",  # //146
                    AlarmInfo.ALARM_FREQ_LACK_OF_TORQUE1 : STR_FreqErrRef,    #//转矩不足1(UL3)",  # //147
                    AlarmInfo.ALARM_FREQ_LACK_OF_TORQUE2 : STR_FreqErrRef,    #//转矩不足2(UL4)",  # //148
                    AlarmInfo.ALARM_FREQ_MECHAN_AGING2 : STR_FreqErrRef,    #//机械老化检出2(UL5)",  # //149
                    AlarmInfo.ALARM_FREQ_MAJOR_UNDERVOLTAGE : STR_FreqErrRef,    #//主回路欠电压(Uv/Uv1)",  # //150
                    AlarmInfo.ALARM_FREQ_CTRL_POW_FAULT : STR_FreqErrRef,    #//控制电源故障(Uv2)",  # //151
                    AlarmInfo.ALARM_FREQ_CONTROL1_ERR : STR_FreqErrRef,    #//控制回路故障(CPF18)",  # //151
                    AlarmInfo.ALARM_FREQ_CONTROL2_ERR : STR_FreqErrRef,    #//控制回路故障(CPF19)",  # //151
                    AlarmInfo.ALARM_FREQ_HARD1_ERR : STR_FreqErrRef,    #//硬件故障(CPF20)",  # //151
                    AlarmInfo.ALARM_FREQ_HARD2_ERR : STR_FreqErrRef,    #//硬件故障(CPF21)",  # //151
                    AlarmInfo.ALARM_FREQ_ADC_ERR : STR_FreqErrRef,    #//ADC故障(CPF22)",  # //151
                    AlarmInfo.ALARM_FREQ_PREVENT_SHOCK : STR_FreqErrRef,    #//冲击防止回路故障(Uv3)",  # //152
                    AlarmInfo.ALARM_FREQ_BASE_BLOCK : STR_FreqErrRef,    #//变频器基极封锁(bb)",  # //160
                    AlarmInfo.ALARM_FREQ_COMM_WAITING : STR_FreqErrRef,    #//通信等待中(CALL)",  # //161
                    AlarmInfo.ALARM_FREQ_RST_WHEN_RUN : STR_FreqErrRef,    #//运行指令输入中复位(CrST)",  # //162
                    AlarmInfo.ALARM_FREQ_COMM_CYCLE_ERR : STR_FreqErrRef,    #//通信周期设定错误(CyC)",  # //163
                    AlarmInfo.ALARM_FREQ_DRIVE_DISABLE : STR_FreqErrRef,    #//Drive Disable中(dnE)",  # //164
                    AlarmInfo.ALARM_FREQ_CW_CCW_CMD : STR_FreqErrRef,    #//正反转指令同时输入(EF)",  # //165
                    AlarmInfo.ALARM_FREQ_CURRENT_WARNING : STR_FreqErrRef,    #//电流警告(HCA)",  # //166
                    AlarmInfo.ALARM_FREQ_MAINTAIN_FAN : STR_FreqErrRef,    #//冷却风扇维护时期(LT-1)",  # //167
                    AlarmInfo.ALARM_FREQ_MAINTAIN_CAP : STR_FreqErrRef,    #//电容器维护时期(LT-2)",  # //168
                    AlarmInfo.ALARM_FREQ_MAINTAIN_RELAY : STR_FreqErrRef,    #//冲击电流防止继电器维护时期(LT-3)",  # //169
                    AlarmInfo.ALARM_FREQ_MAINTAIN_IGBT_50 : STR_FreqErrRef,    #//IGBT维护时期(50%)(LT-4)",  # //170
                    AlarmInfo.ALARM_FREQ_VFD_OH_ALERT : STR_FreqErrRef,    #//变频器过热预警(oH2)",  # //171
                    AlarmInfo.ALARM_FREQ_MOTOR_OVERHEAT : STR_FreqErrRef,    #//电机过热(oH3)",  # //172
                    AlarmInfo.ALARM_FREQ_RSV173 : STR_FreqErrRef,    #//保留",  # //173
                    AlarmInfo.ALARM_FREQ_RSV174 : STR_FreqErrRef,    #//保留",  # //174
                    
                    AlarmInfo.ALARM_FREQ_MOBUS_TEST_OK  : "不必采取对策（并非警报）",  # //175
                    AlarmInfo.ALARM_FREQ_SWITCH_WHEN_RUN  : STR_FreqErrRef,    #//运行中输入电机切换指令(rUn)",  # //176
                    AlarmInfo.ALARM_FREQ_MOBUS_TEST_ERR  : STR_FreqErrRef,    #//MEMOBUS通信测试模式故障(SE)",  # //177
                    AlarmInfo.ALARM_FREQ_MAINTAIN_IGBT_90  : STR_FreqErrRef,    #//IGBT维护时期(90%)(TrPC)",  # //178
                    AlarmInfo.ALARM_FREQ_RSV179  : STR_FreqErrRef,    #//保留",  # //179
                    AlarmInfo.ALARM_FREQ_RSV180  : STR_FreqErrRef,    #//保留",  # //180
                    AlarmInfo.ALARM_FREQ_CAPACITY_SET_ERR  : STR_FreqErrRef,    #//变频器容量的设定故障(oPE01)",  # //181
                    AlarmInfo.ALARM_FREQ_CAPACITY_SET_ERR  : STR_FreqErrRef,    #//参数设定范围不当(oPE02)",  # //182
                    AlarmInfo.ALARM_FREQ_DIN_SELECT_ERR  : STR_FreqErrRef,    #//多功能输入的选择不当(oPE03)",  # //183
                    AlarmInfo.ALARM_FREQ_AIN_SELECT_ERR  : STR_FreqErrRef,    #//多功能模拟量输入的选择不当(oPE07)",  # //184
                    AlarmInfo.ALARM_FREQ_PARA_SELECT_ERR  : STR_FreqErrRef,    #//参数选择不当(oPE08)",  # //182
                    AlarmInfo.ALARM_FREQ_PID_SELECT_ERR  : STR_FreqErrRef,    #//PID控制的选择不当(oPE09)",  # //183
                    AlarmInfo.ALARM_FREQ_VF_DATA_SET_ERR  : STR_FreqErrRef,    #//V/f数据的设定不当(oPE10)",  # //184
                    AlarmInfo.ALARM_FREQ_CARRIER_SET_ERR  : STR_FreqErrRef,    #//载波频率的设定不当(oPE11)",  # //182
                    
                    AlarmInfo.USER_GLOBAL_ALARM_0   : "1. PLC程序跳到非水箱程序@2. 调整水箱液位无水配置@3. 检测水箱是否真的无水@4. 水箱加水",
                    AlarmInfo.USER_GLOBAL_ALARM_1   : "1. 检查1#水箱的液位状态",
                    AlarmInfo.USER_GLOBAL_ALARM_2   : "1. 检查2#水箱的液位状态",
                    AlarmInfo.USER_GLOBAL_ALARM_3   : "1. 同时检查两个水箱的液位状态@2. 更换水箱液位传感器@3. 检查水箱进水阀",
                    AlarmInfo.USER_GLOBAL_ALARM_4   : "1. 检查或更换输入压力传感器 @2. 正确配置输入压力传感器",
                    AlarmInfo.USER_GLOBAL_ALARM_5   : "1. 检查水箱液位与进水压力 @2. 等待进水压力超过开阀压力",
                    AlarmInfo.USER_GLOBAL_ALARM_6   : "全局报警6",
                    AlarmInfo.USER_GLOBAL_ALARM_7   : "全局报警7",
                    AlarmInfo.USER_GLOBAL_ALARM_8   : "全局报警8",
                    AlarmInfo.USER_GLOBAL_ALARM_9   : "全局报警9",
                    AlarmInfo.USER_GLOBAL_ALARM_10   : "全局报警10",
                    AlarmInfo.USER_GLOBAL_ALARM_11   : "全局报警11",
                    AlarmInfo.USER_GLOBAL_ALARM_12   : "全局报警12",
                    AlarmInfo.USER_GLOBAL_ALARM_13   : "全局报警13",
                    AlarmInfo.USER_GLOBAL_ALARM_14   : "全局报警14",
                    AlarmInfo.USER_GLOBAL_ALARM_15   : "全局报警15",
                    
                    AlarmInfo.USER_GLOBAL_WARNING_0   : "检查1#水箱液位情况",
                    AlarmInfo.USER_GLOBAL_WARNING_1   : "检查2#水箱液位情况",
                    AlarmInfo.USER_GLOBAL_WARNING_2   : "全局警告2",
                    AlarmInfo.USER_GLOBAL_WARNING_3   : "全局警告3",
                    AlarmInfo.USER_GLOBAL_WARNING_4   : "全局警告4",
                    AlarmInfo.USER_GLOBAL_WARNING_5   : "全局警告5",
                    AlarmInfo.USER_GLOBAL_WARNING_6   : "全局警告6",
                    AlarmInfo.USER_GLOBAL_WARNING_7   : "全局警告7",
                    AlarmInfo.USER_GLOBAL_WARNING_8   : "全局警告8",
                    AlarmInfo.USER_GLOBAL_WARNING_9   : "全局警告9",
                    AlarmInfo.USER_GLOBAL_WARNING_10   : "全局警告10",
                    AlarmInfo.USER_GLOBAL_WARNING_11   : "全局警告11",
                    AlarmInfo.USER_GLOBAL_WARNING_12   : "全局警告12",
                    AlarmInfo.USER_GLOBAL_WARNING_13   : "全局警告13",
                    AlarmInfo.USER_GLOBAL_WARNING_14   : "全局警告14",
                    AlarmInfo.USER_GLOBAL_WARNING_15   : "全局警告15",
                    }},
    #模拟量输入固定为第0项
    {"alias_aiinput":  {0: "保留",
                        1:"输出压力", 
                        2:"输入压力", 
                        3:"液位信号", 
                        4:"调节阀反馈",
                        5:"输出流量",
                        6:"温度",
                        7:"余氯信息",
                        8:"浊度信息",
                        9:"PH信息", 
                        10:"输入流量",
                        11:"保留11",
                        12:"保留12",
                        13:"PAI0",
                        14:"PAI1",
                        15:"夹层温度",  
                        16:"站内温度",
                        17:"开度反馈2",                                            
                        18:"液位2", 
                        19:"噪音", 
                        20:"湿度", 
                        21:"液位3", 
                        }},

    {"alias_user_alarm": {0:"关闭", 1:"打开"}},
    {"alias_bool": {0:"关闭", 1:"打开"}},
    {"alias_voltage": {0:"380V", 1:"660V", 2:"1140V"}},
    {"alias_converter": {0: "V1000", 1: "MD380", 2: "S3100A",3: "MD80", 4: "WIDM100"}},
    {"alias_parity": {0: "无校验", 1: "奇校验", 2: "偶校验"}},
    {"alias_485stop": {0: "1", 1: "2"}},
    {"alias_baud": {0: "1200", 1: "2400", 2: "4800", 3: "9600", 4:"19200", 5:"38400", 6:"51200", 7:"115200"}},
    {"alias_can_baud": {0: "1M", 1: "800K", 2: "500K", 3: "250K", 4:"125K", 5:"100K", 6:"50K", 7:"20K", 8:"10K"}},
    {"alias_NoNC": {0: "常开", 1: "常闭"}},
    {"alias_bluetooth": {0: "未连接", 1: "连接"}},
    {"alias_onoff": {0: "分闸", 1: "合闸"}},
    {"alias_alarm": {0: "无故障", 1: "定时限短路", 2 : "定时限过流1段", 3: "定时限过流2段"}},
    {"alias_test":  {0: "测试", 1: "动作"}},
    {"alias_workmode2":  {0: "手动", 1: "自动"}},
    {"alias_comm":  {0: "保留", 1: "脚本", 2: "调试"}},
    {"alias_priority":  {0: "相等优先级", 1: "主泵优先", 2: "辅泵优先"}},
    {"alias_pidmode":  {0: "自定义", 1: "轻载", 2: "中载", 3: "重载"}},
    {"alias_pid":  {0: "NULL", 1: "P", 2: "I", 3: "PI", 4: "D", 5: "PD", 6: "ID", 7: "PID"}},
    {"alias_language":  {0: "中文", 1: "英文"}},
    {"alias_PX":  {0: "正常", 1: "关闭"}},
    {"alias_devicestatus":  {0: "本地停止", 1: "本地自动", 2: "远程控制", 3: "远程急停"}},
	{"alias_alarmstatus":  {0: "正常", 1: "报警"}},
    {"alias_Energymeter":  {0: "0-停用", 1: "1-安科瑞电表", 2: "2-斯菲尔电表"}},
    {"alias_plc":  {0:"0-调试程序", 
                    1:"1-调峰程序", 
                    2:"2-GPRS+流量计", 
                    3:"3-双水箱", 
                    4:"4-箱式无负压", 
                    5:"5-爆管阀门控制", 
                    6:"6-单水箱",    
                    7:"7-翰林国际小区",
                    8:"8-兼容全功能", 
                    9:"9-楼顶水箱",
                    10: "10-保留",
                    11: "11-保留"}},
    {"alias_plc_pin":  {0:"0-保留脚位", 
                    1:"1-初始脚位", 
                    2:"2-GPRS+流量计", 
                    3:"3-双水箱脚位", 
                    4:"4-箱式无负压脚位", 
                    5:"5-爆管阀门脚位", 
                    6:"6-单水箱脚位", 
                    7:"7-翰林国际小区脚位",
                    8:"8-兼容全功能脚位", 
                    9:"9-楼顶水箱脚位",
                    10: "10-保留脚位",
                    11: "11-保留脚位"}},

    {"alias_aioutput":  {0:"保留",
                         1:"市政水箱切换阀",
                         2:"1#水箱补水阀",
                         3:"2#水箱补水阀", 
                         4:"1#水箱出水阀",
                         5:"3#水箱补水阀", 
                         }},

    {"alias_input":  {0:"未使用",  
                      1:"电接点压力低", 
                      2:"电接点压力高",  
                      3:"市政无水信号",   
                      4:"1#浮球无水",    
                      7:"漏水信号",  
                      8:"烟感信号", 
                      9:"外部故障", 
                      10:"2#浮球无水", 
                      11:"门禁信号", 
                      12:"无水信号常闭",
                      24:"1#浮球高位",     #M163.0
                      25:"1#开阀到位",     #M163.1
                      26:"1#关阀到位",     #M163.2
                      27:"1#阀门故障信号",  #M163.3
                      28:"1#浮球低位",      #M163.4
                      
                      32:"2#浮球高位",      #M164.0
                      33:"2#开阀到位",      #m164.1
                      34:"2#关阀到位",      #M164.2
                      35:"2#阀门故障信号",  #M164.3
                      36:"2#浮球低位",      #M164.4
                      
                      38:"爆管开阀到位", 
                      39:"爆管关阀到位", 
                      43:"进压开阀到位",
                      44:"进压关阀到位",
                      47:"切换开阀到位", 
                      48:"切换关阀到位", 
                      49:"3#浮球高位", 
                      50:"3#开阀到位",
                      51:"3#关阀到位",
                      52:"3#阀门故障信号",
                      53:"3#楼顶浮球低", 
                      54:"1#楼顶浮球低", 
                      55:"2#楼顶浮球低"}},
    
    {"alias_output":  {0:"未使用",  
                       17: "Y0.0", 
                       18: "Y0.1", 
                       20: "Y0.3", 
                       29 : "1#水箱开阀", 
                       30:"1#水箱关阀", 
                       31: "2#水箱开阀", 
                       32: "2#水箱关阀", 
                       33: "爆管开阀",   
                       34:"爆管关阀",   
                       35:"进压开阀",   
                       36:"进压关阀",   
                       37: "风机开关",   
                       38: "加热开关",  
                       39:"空调开关",   
                       40:"切换装置开阀", 
                       41: "切换装置关阀", 
                       42: "照明开关", 
                       43: "开门输出", 
                       44:"关门输出", 
                       45:"紫外消毒输出",
                       46: "3#水箱开阀", 
                       47: "3#水箱关阀"}},
    {"alias_temp_wet":  {0:"0-停用", 
                         1:"1-RS_WS_N01"}},
    {"alias_noise":     {0:"0-停用", 
                         1:"1-RS-ZS-N01"}},
    
    {"alias_flowmeter": {0:"0-停用",
                         1:"1-迪纳声流量计", 
                         2:"2-熊猫PWM流量计",
                         3:"3-科龙IFC300流量计",
                         4:"4-星空XKD99Z流量计",
                         5:"5-熊猫PMF流量计",
                         6:"6-户表流量计"}},

    {"alias_waterquality": {0:"0-停用",  1:"1-天健TMS3000"}},
    {"alias_tempmiddle": {0:"0-停用",  1:"1-壁挂王字壳"}},
    {"alias_valve_output" :  {0: "未动作",   1: "开阀输出",  2: "关阀输出"}},
    {"alias_valve_status" :  {0: "未到位",   1: "已到位"}},
    {"alias_run_function" :  {0: "关闭",  1: "自动",   2: "手动"}},
    {"alias_PumpName" :  {0: "1号泵",  1: "2号泵",   2: "3号泵", 3: "4号泵",  4: "5号泵",   5: "6号泵", 6: "7号泵", 7: "8号泵"}},
    {"alias_anaolog_mode": {0:"4-20mA",  1:"0-10V"}},
    {"alias_pressure_in_select": {0: "市政输入", 1: "水箱输入"}}
]

 
def func_comm_switch_on(object_device : class_comm_device, topic_item, topic, message) :
    object_list = object_device.parent
    value  = 1
    result = object_list.comm_single_bit_write(object_device.comm_addr, 618, 1, value)
    return result

def func_comm_switch_off(object_device, topic_item, topic, message) :
    object_list = object_device.parent
    value  = 1
    result = object_list.comm_single_bit_write(object_device.comm_addr, 619, 1, value)
    return result

def func_comm_switch_rst(object_device, topic_item, topic, message) :
    object_list = object_device.parent
    value  = 1
    result = object_list.comm_single_bit_write(object_device.comm_addr, 620, 1, value)
    return result

def func_comm_test_leak(object_device, topic_item, topic, message) :
    return None

#mqtt 执行的开关命令, 可通过远程发送该命令
mqtt_topic_subscribe = [
    {"name": "通讯分闸", "execute": func_comm_switch_on},
    {"name": "通讯合闸", "execute": func_comm_switch_off},
    {"name": "故障复位", "execute": func_comm_switch_rst},
    {"name": "漏电试验", "execute": func_comm_test_leak},
]

mqtt_pack_alarm = [
    {
        "name": "AlarmType",
		"addr": "8138",
        "alias": "alias_test"
	},
]

dynamic_page_main = [
    {
        "name": "进水压力",
		"unit": "Mpa",
        "scale" : 0.001,
		"addr": "40023",
		"format": "%05.2f",
	},
    {
        "name": "水箱液位",
		"unit": "m",
        "scale" : 0.01,
		"addr": "40029",
		"format": "%05.2f",
	},
    {
        "name": "实际压力",
		"unit": "Mpa",
        "scale" : 0.001,
		"addr": "40025",
		"format": "%05.2f",
	},
    {
        "name": "设定压力",
		"unit": "Mpa",
        "scale" : 0.001,
		"addr": "40416",
		"format": "%05.2f",
	},
    {
        "name": "工作电流",
		"unit": "A",
        "scale" : 0.1,
		"addr": "40049",
		"format": "%04.1f",
	},
    {
        "name": "瞬时功率",
		"unit": "kW",
        "scale" : 0.1,
		"addr": "40007",
		"format": "%04.1f",
	},
]

modbus_comm_table = [
    {"name":"status",        "reg_addr":8162,   "reg_count":4,      "cycle": 100},
    {"name":"alarm",         "reg_addr":8120,   "reg_count":10,     "cycle": 0,    "mqtt_pack": "mqtt_pack_alarm"},
    {"name":"measure",       "reg_addr":8139,   "reg_count":35,     "cycle": 200,  "mqtt_pack": "dynamic_page_main"},
    {"name":"comm_cmd",      "reg_addr":100618, "reg_count":32,     "cycle": 0},
    {"name":"para_group",    "reg_addr":2000,   "reg_count":10,     "cycle": 0},
    {"name":"time_group",    "reg_addr":2300,   "reg_count":6,      "cycle": 500},
    {"name":"protect_group", "reg_addr":8174,   "reg_count":26,     "cycle": 0},
    {"name":"ip_addr_group", "reg_addr":8410,   "reg_count":6,      "cycle": 0},
    {"name":"inter_group",   "reg_addr":8240,   "reg_count":10,     "cycle": 0},
]

def func_comm_table_trigger_check(object_comm_table, comm_table_item) :
    return False



menu_normal_set = [
    {
        "name": "给定压力",
		"unit": "Mpa",
		"addr": "40415",
        "scale" : 0.001,
		"format": "%05.3f",
	},
    {
        "name": "上限压差", #"压力上限",
		"unit": "Mpa",
		"addr": "40417",   #"2419",
        "scale" : 0.001,
		"format": "%05.3f",
	},
    {
        "name": "下限压差", #"压力下限",
		"unit": "Mpa",
		"addr": "40418",  #"2418",
        "scale" : 0.001,
		"format": "%05.3f",
	},
    # {
    #     "name": "唤醒压差",
    #     "addr": "40318", 
    #     "scale": 0.001,
    #     "unit": "Mpa",
    #     "format": "%05.3f",
	# },
    {
        "name": "休眠功率*",
        "addr": "44203", 
        "scale": 0.01,
        "unit": "kW",
        "format": "%05.2f",
        "action": "SelfPumpOffset8",
	},  
    {
        "name": "超压报警",
		"unit": "Mpa",
		"addr": "40289",
        "scale" : 0.001,
		"format": "%05.3f",
	},
    # {
    #     "name": "定时切换",
	# 	"unit": "Min",
	# 	"addr": "40282",
    #     "scale" : 1.0,
	# 	"format": "%04.0f",
	# },
    {
        "name": "泵号",
        "addr": "40194",
        "scale" : 1.0,
		"format": "%1.0f",
	},
    {
        "name": "水泵台数",
        "addr": "40283",
        "scale" : 1.0,
		"format": "%1.0f",
        "min" : 1,
        "max" : 6,
	},
    {
        "name": "最大台数",   #爆管台数
        "addr": "40285",
        "scale" : 1.0,
		"format": "%1.0f",
        "min" : 1,
        "max" : 6,
	},
    {
        "name": "辅泵编号",
        "addr": "40284",
        "scale" : 1.0,
		"format": "%1.0f",
	},
    {
        "name": "进水压力",
        "alias" : "alias_bool",
        "addr": "40226",
	},
    {
        "name": "水箱液位传感器",
        "alias" : "alias_bool",
        "addr": "40258",
	},
    {
        "name": "参数同步",
        "action": "sync_3",
	},
]

menu_func_set = [
    {
        "name": "水箱1配置",
        "sub_menu": "menu_tank1",
	},
    {
        "name": "水箱2配置",
        "sub_menu": "menu_tank2",
	},
    {
        "name": "泵组进压阀",
		"sub_menu": "menu_pump_inletvalve",
	},
    {
        "name": "水箱市政切换设置",
		"sub_menu": "menu_tank_switch",
	},  
    {
        "name": "分时压力",
		"sub_menu": "menu_time_pressure",
	},
    {
        "name": "程序功能",
		"alias": "alias_plc",
        "addr": "43983",
        "action": "reboot_global",
	},
    {
        "name": "GPRS泵号",
        "format": "%1.0f",
        "addr": "54201", #"48402",
	},
    # {
    #     "name": "通讯设置",
	# 	"sub_menu": "menu_comm_set",
	# },
    {
        "name": "流量计型号",
		"alias": "alias_flowmeter",
        "addr": "54200", #"48400",
	},
    {
        "name": "流量计泵号",
		"format": "%1.0f",
        "addr": "54205", #"48410",
	},
    # {
    #     "name": "调峰功能",
	#     "alias": "alias_bool",
    #     "addr": "40000",
	# },
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_run_set = [
    {
        "name": "加泵频率",
        "scale" : 0.01,
        "unit" : "Hz",
        "format": "%06.2f",
        "addr": "40278",
	},
    {
        "name": "减泵频率",
        "scale" : 0.01,
        "unit" : "Hz",
        "format": "%06.2f",
        "addr": "40279",
	},
    {
        "name": "加泵功率",
        "addr": "40276", 
        "scale": 0.01,
        "unit": "KW",
        "format": "%05.2f",
	},

    {
        "name": "减泵功率",
        "addr": "40277", 
        "scale": 0.01,
        "unit": "KW",
        "format": "%05.2f",
	},
    {
        "name": "加泵延时",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "40280",
	},
    {
        "name": "减泵延时",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%04.1f",
        "addr": "40273",
	},
    {
        "name": "休眠频率",
        "scale" : 0.01,
        "unit" : "Hz",
        "format": "%06.2f",
        "addr": "40316",
	},
    {
        "name": "休眠延时",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%06.1f",
        "addr": "40317",
	},
    {
        "name": "休眠功率*",
        "addr": "44203", 
        "scale": 0.01,
        "unit": "kW",
        "format": "%05.2f",
        "action": "SelfPumpOffset8",
	},
    {
        "name": "功率均衡",
        "alias": "alias_bool",
        "addr": "40391",
	},
    {
        "name": "均衡死区",
        "addr": "40388",
        "unit": "%",
        "scale": 0.1,
        "format": "%05.1f",
	},
    {
        "name": "定时换泵",
        "alias": "alias_bool",
        "addr": "40281.0", 
	},
    {
        "name": "换泵周期",
        "addr": "40282", 
        "unit": "Min",
        "format": "%05.0f",
	},

]

menu_protect_set = [
    # {
    #     "name": "超压保护",
    #     "alias": "alias_bool",
    #     "addr": "40289.2",
	# },
    {
        "name": "超压报警",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40289",
	},
    {
        "name": "负压保护",
        "alias": "alias_bool",
        "addr": "40288.5",
	},
    {
        "name": "负压报警",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40290",
	},
    {
        "name": "真空报警",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40291",
	},
    {
        "name": "负压解除",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40292",
	},
    {
        "name": "真空解除",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40305",
	},
    {
        "name": "无水液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%04.2f",
        "addr": "40293",
	},
    {
        "name": "无水解除",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%04.2f",
        "addr": "40294",
	},
    {
        "name": "防冻时间",
        "addr": "40403", 
        "unit": "S",
        "format": "%04.0f",
	},
    {
        "name": "防冻周期",
        "addr": "40404", 
        "unit": "Min",
        "format": "%04.0f",
	},
]

menu_data_pump = [
    {
        "name": "水泵台数",
        "addr": "40283",
        "scale" : 1.0,
		"format": "%1.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "辅泵编号",
        "addr": "40284",
        "scale" : 1.0,
		"format": "%1.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "总电量",
        "scale" : 1.0,
        "unit" : "kwh",
        "format": "%1.0f",
        "addr": "53932#2",    #"47864#2",    "40010#2",   GD7864
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispInverseCtrl_59102.12",   #10205.4  M205.4  电表通讯成功
	},
    {
        "name": "总功率",
        "scale" : 0.1,
        "unit" : "kW",
        "format": "%1.1f",
        "addr": "50585",    #"40012",        GW1170
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispInverseCtrl_59102.12",   #10205.4  M205.4  电表通讯成功
	},
    {
        "name": "电表电量",
        "scale" : 1.0,
        "unit" : "kwh",
        "format": "%1.0f",
        "addr": "53932#2",    #"47864#2",    "40010#2",   GD7864
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_59102.12",   #10205.4  M205.4  电表通讯成功
	},
    {
        "name": "电表功率",
        "scale" : 0.1,
        "unit" : "kW",
        "format": "%1.1f",
        "addr": "50585",    #"40012",        GW1170
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_59102.12",   #10205.4  M205.4  电表通讯成功
	},
    {
        "name": "入水压力",
        "scale" : 0.001,
        "unit" : "Mpa",
        "format": "%1.3f",
        "addr": "40023",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A2",
	},
    {
        "name": "出水压力",
        "scale" : 0.001,
        "unit" : "Mpa",
        "format": "%1.3f",
        "addr": "40025",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A1",
	},    
    {
        "name": "1#液位",
		"unit": "m",
        "scale" : 0.01,
		"addr": "56329", #"39955",
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A3",
	},
    {
        "name": "2#液位",
		"unit": "m",
        "scale" : 0.01,
		"addr": "56291", #"39970",
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A18",
	},
    {
        "name": "3#液位",
		"unit": "m",
        "scale" : 0.01,
		"addr": "56283", #"39973",
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A21",
	},
    {
        "name": "输出流量",
		"unit": "m³/h",
        "scale" : 0.01,
		"addr": "56060#2",  #FD120
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A5",
	},
    {
        "name": "输出累计",
		"unit": "m³",
        "scale" : 0.001,
		"addr": "56072#2",  #FD144
		"format": "%1.0f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A5",
	},
    {
        "name": "输入流量",
		"unit": "m³/h",
        "scale" : 0.01,
        "addr": "56070#2",   #FD140
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A10",
	},
    {
        "name": "输入累计",
		"unit": "m³",
        "scale" : 0.001,
        "addr": "56074#2",   #FD148
		"format": "%1.0f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A10",
	},
    {
        "name": "阀门开度",
		"unit": "%",
        "scale" : 0.1, 
		"addr": "56299",
		"format": "%1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A4",
	},
    
    {
        "name": "开度2",
		"unit": "%",
        "scale" : 0.1, 
		"addr": "56289",
		"format": "%1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A17",
	},
    {
        "name": "余氯值",
		"unit": "mg/L",
        "scale" : 0.01, 
		"addr": "56317",
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A7",
	},
    {
        "name": "浊度值",
		"unit": "NTU",
        "scale" : 0.01, 
		"addr": "56319",
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A8",
	},
    {
        "name": "PH值",
		"unit": "",
        "scale" : 0.01, 
		"addr": "56321",
		"format": "%1.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A9",
	},
    {
        "name": "水温",
		"unit": "℃",
        "scale" : 0.1, 
		"addr": "56469",
		"format": "%+1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A6",
	},
    {
        "name": "噪音分贝",
		"unit": "DB",
        "scale" : 0.1, 
		"addr": "56295",
		"format": "%1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A19",
	},
    {
        "name": "站内湿度",
		"unit": "%",
        "scale" : 0.1, 
		"addr": "56293",
		"format": "%1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A20",
	},
    {
        "name": "站内温度",
		"unit": "℃",
        "scale" : 0.1, 
		"addr": "56287",
		"format": "%+1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A16",
	},
    {
        "name": "夹层温度",
		"unit": "℃",
        "scale" : 0.1, 
		"addr": "56285",
		"format": "%+1.1f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A15",
	},
]

menu_data_Native1 = [
    {
        "name": "当前泵号*",
        "addr": "40194",
        "scale" : 1.0,
		"format": "%1.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "本次运行*",
        "unit" : "Min",
        "format": "%05.0f",
        "addr": "40042#2", #"56342#2",
        "property": MENU_PROPERTY_READ_ONLY,
        "action": "SelfPumpOffset16",
	},
    {
        "name": "累计运行*",
        "scale" : 0.016667,
        "unit" : "h",
        "format": "%6.0f",
        "addr": "40044#2", #"56344#2",
        "property": MENU_PROPERTY_READ_ONLY,
        "action": "SelfPumpOffset16",
	},
    {
        "name": "当前频率*",
        "scale" : 0.01,
        "unit" : "Hz",
        "format": "%06.2f",
        "addr": "40041",
        "property": MENU_PROPERTY_READ_ONLY,
        "action": "SelfPumpOffset16",
	},
    {
        "name": "当前转速*",
        "scale" : 1,
        "unit" : "rpm",
        "format": "%06.0f",
        "addr": "56233",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "母线电压*",
        "scale" : 0.1,
        "unit" : "V",
        "format": "%05.1f",
        "addr": "40050",  #"46350",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "变频温度*",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "40048",  #"56348",
        "property": MENU_PROPERTY_READ_ONLY,
        "action": "SelfPumpOffset16",
	},
    {
        "name": "电机温度*",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "56346",
        "action": "SelfPumpOffset16",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "当前功率*",
        "scale" : 0.01,
        "unit" : "kW",
        "format": "%05.2f",
        "addr": "40051", #"45351",
        "action": "SelfPumpOffset16",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "额定功率*",
        "scale" : 0.01,
        "unit" : "kW",
        "format": "%05.2f",
        "addr": "44017",
        "action": "SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "输出电流*",
        "scale" : 0.1,
        "unit" : "A",
        "format": "%05.1f",
        "addr": "40049", #"56349",
        "action": "SelfPumpOffset16",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "额定电流*",
        "scale" : 0.1,
        "unit" : "A",
        "format": "%05.2f",
        "addr": "44018", #"56834",
        "action": "SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
]
menu_data_Native2 = [
    {
        "name": "泵电量*",
        "scale" : 1.0,
        "unit" : "kwh",
        "format": "%07.0f",
        "addr": "40008#2",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "泵功率*",
        "scale" : 0.01,
        "unit" : "kw",
        "format": "%05.2f",
        "addr": "40007",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "加速时间*",
		"unit": "S",
		"addr": "44013",
        "scale" : 0.1,
		"format": "%04.1f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "减速时间*",
		"unit": "S",
		"addr": "44014",
        "scale" : 0.1,
		"format": "%04.1f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "频率上限*",
		"unit": "Hz",
		"addr": "44015",
        "scale" : 0.01,
		"format": "%06.2f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "频率下限*",
		"unit": "Hz",
		"addr": "44016",
        "scale" : 0.01,
		"format": "%06.2f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},  
    {
        "name": "蓝牙状态",
        "alias": "alias_bluetooth",
        "addr": "40270",
        "property": MENU_PROPERTY_READ_ONLY,
	},

	{
        "name": "通讯地址*",
        "addr": "43000", 
        "scale": 1.0,
        "format": "%03.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
	{
        "name": "通讯1*",
        "alias": "alias_comm",
        "addr": "43005", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
	{
        "name": "通讯2*",
        "alias": "alias_comm",
        "addr": "43006",
        "property": MENU_PROPERTY_READ_ONLY, 
	},
    {
        "name": "水泵流量*",
        "addr": "48033", 
        "scale": 0.1,
        "unit": "m³/h",
        "format": "%04.1f",
        "property": MENU_PROPERTY_READ_ONLY,
	}, 
    {
        "name": "水泵扬程*",
        "addr": "48032", 
        "unit": "m",
        "format": "%04.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
]

menu_data_user = [
    {
        "name": "漏水PX0",
        "alias": "alias_PX",
        "addr": "47612",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "烟感PX1",
        "alias": "alias_PX",
        "addr": "47614",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "故障PX2",
        "alias": "alias_PX",
        "addr": "47616",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "门禁PX4",
        "alias": "alias_PX",
        "addr": "47618",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "水箱长度",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54000", #"48000",
        "property": MENU_PROPERTY_READ_ONLY,  
	},
    {
        "name": "水箱宽度",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54001", #"48002", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "水箱高度",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54002", #"48004",
        "property": MENU_PROPERTY_READ_ONLY, 
	},
    {
        "name": "水箱容积",
        "scale" : 0.01,
        "unit" : "m³",
        "format": "%05.2f",
        "addr": "46004",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "水箱面积",
        "scale" : 0.01,
        "unit" : "㎡",
        "format": "%05.2f",
        "addr": "46022",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "水箱功能",
        "addr": "54061",  #"48122", 
        "alias": "alias_run_function",
        "property": MENU_PROPERTY_READ_ONLY,
	},
	{
        "name": "阀门动作",   #默认120.0s
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54062", #"48124",
        "property": MENU_PROPERTY_READ_ONLY, 
	},
    {
        "name": "储水总量",
        "scale" : 0.01,
        "unit" : "m³",
        "format": "%05.2f",
        "addr": "46008",
        "property": MENU_PROPERTY_READ_ONLY,
	},
]

cur_curve = [
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_quick_tag = [
    {
        "name": "泵组工作时间统计",
        "sub_menu" : "menu_statistic",
	},
    {
        "name": "故障查询",
        "sub_menu" : "menu_alarm_history",
	},
    {
        "name": "压力曲线",
        "sub_menu" : "cur_curve",
	},
    {
        "name": "通信设置",
        "sub_menu" : "menu_comm_set",
	},
    {
        "name": "信号配置",
        "sub_menu" : "memu_sensor_engineer",
	},
    {
        "name": "用户参数",
		"sub_menu" : "menu_parameter",
	},
    {
        "name": "联机设置",
        "sub_menu" : "menu_link",
	},
    {
        "name": "工程师菜单",
        "sub_menu" : "menu_full_set",
	},
    {
        "name": "重启",
        "action": "reboot",
	},
]

menu_time_pressure = [
    {
        "name": "分时段压力使能",
        "addr": "40281.3",
        "alias": "alias_bool",
	},
    {
        "name": "分时段1",
        "addr": "40320#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力1",
        "addr": "40320",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段2",
        "addr": "40328#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力2",
        "addr": "40328",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段3",
        "addr": "40336#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力3",
        "addr": "40336",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段4",
        "addr": "40344#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力4",
        "addr": "40344",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段5",
        "addr": "40352#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力5",
        "addr": "40352",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段6",
        "addr": "40360#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力6",
        "addr": "40360",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段7",
        "addr": "40368#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力7",
        "addr": "40368",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
    {
        "name": "分时段8",
        "addr": "40376#8",
        "action": "pressure_time_ctrl",
	},
    {
        "name": "分时段压力8",
        "addr": "40376",
        "scale": 0.001,
        "format": "%05.3f",
        "unit": "Mpa",
	},
]

menu_hand_adjust = [
    {
        "name": "只写页",
	},
]

disp_hand_adjust = [      #手动控制页面
    {
        "name": "OutPressure",
        "format": "%4.0f",
        "addr": "40025", 
	},
    {
        "name": "FreqSet",             #手动设定频率
        "format": "%5.0f",
        "addr": "44010", 
        "action": "SelfPumpOffset24",
	},
    {
        "name": "FreqCur",             #变频器当前频率频率
        "format": "%5.0f",
        "addr": "40041", 
        "action": "SelfPumpOffset16",
	},
]

menu_link = [
    {
        "name": "1#模式",
		"alias": "alias_workmode2",
		"addr": "44009.1#2",
        "action" : "work_mode"
	},
    {
        "name": "2#模式",
		"alias": "alias_workmode2",
		"addr": "44033.1#2",
        "action" : "work_mode"
	},
    {
        "name": "3#模式",
		"alias": "alias_workmode2",
		"addr": "44057.1#2",
        "action" : "work_mode"
	},
    {
        "name": "4#模式",
		"alias": "alias_workmode2",
		"addr": "44081.1#2",
        "action" : "work_mode"
	},
    {
        "name": "5#模式",
		"alias": "alias_workmode2",
		"addr": "44105.1#2",
        "action" : "work_mode"
	},
    {
        "name": "6#模式",
		"alias": "alias_workmode2",
		"addr": "44129.1#2",
        "action" : "work_mode"
	},
]


menu_alarm_history = [
    {
        "name": "泵组故障查询",
        "action": "alarm_pump_-1",
	},
    {
        "name": "泵1故障查询",
        "action": "alarm_pump_0",
	},
    {
        "name": "泵2故障查询",
        "action": "alarm_pump_1",
	},
    {
        "name": "泵3故障查询",
        "action": "alarm_pump_2",
	},
    {
        "name": "泵4故障查询",
        "action": "alarm_pump_3",
	},
    {
        "name": "泵5故障查询",
        "action": "alarm_pump_4",
	},
    {
        "name": "泵6故障查询",
        "action": "alarm_pump_5",
	},
    {
        "name": "清除故障",
        "sub_menu": "menu_alarm_clear",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_alarm = [
    {
        "name": "清除本次故障",
        "action": "alarm_clear",
	},
    {
        "name": "历史故障查询",
        "sub_menu": "menu_alarm_history",
	},
]

menu_curve_history = [
    {
        "name": "只读页",
	},
]

menu_comm_set = [
	{
        "name": "485地址*",
        "addr": "43000", 
        "scale": 1.0,
        "format": "%03.0f",
	},
	{
        "name": "485波特率1*",
        "alias": "alias_baud",
        "addr": "43001", 
	},
	{
        "name": "485校验1*",
        "alias": "alias_parity",
        "addr": "43002", 
	},
	{
        "name": "485波特率2*",
        "alias": "alias_baud",
        "addr": "43003", 
	},
	{
        "name": "485校验2*",
        "alias": "alias_parity",
        "addr": "43004", 
	},
	{
        "name": "485设备1*",
        "alias": "alias_comm",
        "addr": "43005", 
	},
	{
        "name": "485设备2*",
        "alias": "alias_comm",
        "addr": "43006", 
	},
    {
        "name": "IP地址*",
        "addr": "43009#2", 
        "action" : "ip",
	},
    {
        "name": "子网掩码*",
        "action": "ip",
        "addr": "43011#2", 
	},
    {
        "name": "IP网关*",
        "action": "ip",
        "addr": "43013#2", 
	},
    {
        "name": "蓝牙*",
        "addr": "48028", 
        "alias" : "alias_bool",
	},
    {
        "name": "蓝牙地址*",
        "action": "bluetooth_addr",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_parameter = [
	{
        "name": "GPRS泵号",
        "addr": "54201",  #"48402", 
        "scale": 1.0,
        "format": "%01.0f",
	},
	{
        "name": "PLC通讯主机泵号",
        "format": "%1.0f",
        "addr": "54205", #48410
	},
 	{
        "name": "PLC电度表选择",
        "alias": "alias_Energymeter",
        "addr": "54206", #48412
	},
 	{
        "name": "PLC输出流量计",
        "alias": "alias_flowmeter",
        "addr": "54200", #48400
	},
 	{
        "name": "PLC输入流量计",
        "alias": "alias_flowmeter",
        "addr": "54202", #48404
	},
 	{
        "name": "PLC水质分析仪",
        "format": "%1.0f",
        "addr": "54208", #48416
        "alias": "alias_waterquality",
	},
    {
        "name": "PLC温湿度选型",
        "alias": "alias_temp_wet",
        "addr": "54209", #48418
	},
    {
        "name": "PLC夹层温度",
        "alias": "alias_tempmiddle",
        "addr": "54211", #48422
	},
    {
        "name": "PLC噪声变送器",
        "alias": "alias_noise",
        "addr": "54212", #48424
	},
	{
        "name": "脚位配置",
        "alias": "alias_plc_pin",
        "addr": "54130", #48260
        "action": "reboot_global",
	},
 
	# {
    #     "name": "脚本输出流量计*",
    #     "alias": "alias_flowmeter",
    #     "addr": "54151",  #"48302", 
    #     "action" : "SelfPumpOffset8",
    #     "action": "reboot_global",
	# },
	# {
    #     "name": "脚本输入流量计*",
    #     "alias": "alias_flowmeter",
    #     "addr": "54152",#48304
    #     "action" : "SelfPumpOffset8",
    #     "action": "reboot_global",
	# },
	# {
    #     "name": "脚本电表选择*",
    #     "alias": "alias_Energymeter",
    #     "addr": "54156", #48312
    #     "action" : "SelfPumpOffset8",
    #     "action": "reboot_global",
	# },

    # {
    #     "name": "脚本温湿度选型*",
    #     "alias": "alias_temp_wet",
    #     "addr": "54150", #48300
    #     "action" : "SelfPumpOffset8",
	# },
    # {
    #     "name": "脚本噪声变送器*",
    #     "alias": "alias_noise",
    #     "addr": "54153", #48306
    #     "action" : "SelfPumpOffset8",
	# },
    # {
    #     "name": "脚本水质分析仪*",
    #     "alias": "alias_waterquality",
    #     "addr": "54154", #48308
    #     "action" : "SelfPumpOffset8",
	# },
    # {
    #     "name": "脚本夹层温度*",
    #     "alias": "alias_tempmiddle",
    #     "addr": "54155", #48310
    #     "action" : "SelfPumpOffset8",
	# },
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_temp_control = [
	{
        "name": "空调功能",
        "addr": "54088",  #"48176", 
        "alias": "alias_run_function",
	},
	{
        "name": "空调上限温度",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "54085",      #"48170", 
	},
	{
        "name": "空调下限温度",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "54086",      #"48172", 
	},
    {
        "name": "空调开启时长",
        "scale" : 1.0,
        "unit" : "Min",
        "format": "%06.0f",
        "addr": "54087",      #"48174",  
	},
    {
        "name": "手动空调开启*",
        "action" : "KeyEnterTrigger_DispCtrl_54088.1",#48176.1
        "addr": "59060.12",   #"10121.4", 
	},
	{
        "name": "手动空调关闭*",
        "action" : "KeyEnterTrigger_DispCtrl_54088.1",
        "addr": "59060.13",    #"10121.5", 
	},
    {
        "name": "加热器功能",
        "addr": "54082", #"48164", 
        "alias": "alias_run_function",
	},
	{
        "name": "加热开启温度",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "54080", #"48160", 
	},
	{
        "name": "加热关闭温度",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "54081", #"48162", 
	},
    {
        "name": "手动加热开启*",
        "action" : "KeyEnterTrigger_DispCtrl_54082.1",#48164.1
        "addr": "59060.10",    #"10121.2", 
	},
	{
        "name": "手动加热关闭*",
        "action" : "KeyEnterTrigger_DispCtrl_54082.1",
        "addr": "59060.11",    #"10121.3", 
	},
]
menu_tank1 = [
    {
        "name": "液位1传感器",
		"alias": "alias_bool",
        "addr": "40258",          #400  =  FW600  + 516 = FW1116
	},
    {
        "name": "1#液位",
		"unit": "m",
        "scale" : 0.01,
		"addr": "56329", #"39955",
		"format": "%05.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A3",
	},
	{
        "name": "1#水箱功能",
        "addr": "54061",  #"48122", 
        "alias": "alias_run_function",
	},
    {
        "name": "1#手动开阀",
        "addr": "59060.0",  #"10120.0", 
        "action" : "KeyEnterTrigger_DispCtrl_54061.1",#48122.1
	},
    {
        "name": "1#手动关阀",
        "addr": "59060.1",  #"10120.1", 
        "action" : "KeyEnterTrigger_DispCtrl_54061.1",
	},
    {
        "name": "1#开阀输出",
        "addr": "59086.13",  #"10173.5", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "1#关阀输出",
        "addr": "59086.14",  #"10173.6", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "1#开阀到位",
        "addr": "59122.3",  #"10244.3", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "1#关阀到位",
        "addr": "59122.4",  #"10244.4", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
	{
        "name": "1#阀门动作时长",   #默认120.0s
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54062", #"48124", 
	},
	{
        "name": "1#开阀液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "56595", #"1190", 
	},
    {
        "name": "1#关阀液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "56596", #"1192",  
	},
    {
        "name": "无水液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "56593", #"1186",  
	},
    {
        "name": "无水解除",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%04.2f",
        "addr": "40294",
	},
    {
        "name": "水箱长度",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54000", #"48000",  
	},
    {
        "name": "水箱宽度",
       "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54001", #"48002", 
	},
    {
        "name": "水箱高度",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54002", #"48004", 
	},
]
menu_tank2 = [
    {
        "name": "液位2传感器",
        "alias" : "alias_bool",
        "addr": "43942", 
	},
    {
        "name": "2#液位",
		"unit": "m",
        "scale" : 0.01,
		"addr": "56291", #"39970",
		"format": "%05.2f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "Visible_A18",
	},
	{
        "name": "2#水箱功能",
        "addr": "54056", #"48112", 
        "alias": "alias_run_function",
	},
    {
        "name": "2#手动开阀",
        "addr": "59060.2",  #"10120.2", 
        "action" : "KeyEnterTrigger_DispCtrl_54056.1",#48112.1
	},
    {
        "name": "2#手动关阀",
        "addr": "59060.3", #"10120.3", 
        "action" : "KeyEnterTrigger_DispCtrl_54056.1",
	},
    
    {
        "name": "2#开阀输出",
        "addr": "59086.15",  #"10173.7", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "2#关阀输出",
        "addr": "59087.0",  #"10174.0", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
    
    {
        "name": "2#开阀到位",
        "addr": "59082.1",  #"10164.1", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "2#关阀到位",
        "addr": "59082.2",  #"10164.2", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
	},
	{
        "name": "2#阀门动作时长",   #默认120s
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54057", #"48114", 
	},
	{
        "name": "2#开阀液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54054", #"48108", 
	},
    {
        "name": "2#关阀液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54055", #"48110",  
	},
]
menu_tank3 = [
	{
        "name": "3#水箱功能",
        "addr": "54073", #"48146", 
        "alias": "alias_run_function",
	},
    {
        "name": "3#手动开阀",
        "addr": "59059.8", #"10119.0", 
        "action" : "KeyEnterTrigger_DispCtrl_54073.1",#48146.1
	},
    {
        "name": "3#手动关阀",
        "addr": "59059.9", #"10119.1", 
        "action" : "KeyEnterTrigger_DispCtrl_54073.1",
	},
	{
        "name": "3#阀门动作时长",   #默认120s
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54084", #"48168", 
	},
	{
        "name": "3#开阀液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54074", #"48148", 
	},
    {
        "name": "3#关阀液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "54083",   #"48166",  
	},
]
menu_tank_switch = [
	{
        "name": "水箱市政切换",
        "addr": "54100",   #"48200", 
        "alias": "alias_run_function",
	},
    {
        "name": "切换手动开阀",
        "addr": "59061.2", #"10122.2", 
        "action" : "KeyEnterTrigger_DispCtrl_54100.1",#48200.1
	},
    {
        "name": "切换手动关阀",
        "addr": "59061.3", #"10122.3", 
        "action" : "KeyEnterTrigger_DispCtrl_54100.1",
	},
    {
        "name": "切换开阀输出",
        "addr": "59087.8",  #"10175.0", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54100",
	},
    {
        "name": "切换关阀输出",
        "addr": "59087.9",  #"10175.1", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
         "action" : "DispCtrl_54100",
	},
    {
        "name": "切换开阀到位",
        "addr": "59082.15", #"10165.7",
        "alias": "alias_valve_status",
        "property": MENU_PROPERTY_READ_ONLY, 
        "action" : "DispCtrl_54100",
	},
    {
        "name": "切换关阀到位",
        "addr": "59083.0", #"10166.0", 
        "alias": "alias_valve_status",
        "property": MENU_PROPERTY_READ_ONLY,
         "action" : "DispCtrl_54100",
	},
	{
        "name": "阀门动作延时",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54117", #"48234",  
	},
	{
        "name": "时段一始",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54108", #"48216", 
	},
    {
        "name": "时段一终",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54109", #"48218",  
	},
    {
        "name": "时段二始",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54110", #"48220",  
	},
    {
        "name": "时段二终",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54111", #"48222", 
	},
    {
        "name": "时段三始",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54112", #"48224",  
	},
    {
        "name": "时段三终",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54113", #"48226", 
	},
    {
        "name": "时段四始",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54114", #48228",  
	},
    {
        "name": "时段四终",
        "scale" : 0.01,
        "unit" : "时:分",
        "min"  : "00#00",
        "max"  : "23#59",
        "format": "%05.2f",
        "addr": "54115", #"48230", 
	},   
]
menu_pump_inletvalve = [
	{
        "name": "进压阀门功能",
        "addr": "54069", #"48138", 
        "alias": "alias_run_function",
	},
    {
        "name": "进水压力",
		"unit": "Mpa",
        "scale" : 0.001,
		"addr": "40023",
		"format": "%05.2f",
	},
    {
        "name": "手动进压开阀",
        "addr": "59060.6",  #"10120.6", 
        "action" : "KeyEnterTrigger_DispCtrl_54069.1",   #48138.1
	},
    {
        "name": "手动进压关阀",
        "addr": "59060.7",  #"10120.7", 
        "action" : "KeyEnterTrigger_DispCtrl_54069.1",   #48138.1
	},
    {
        "name": "进压开阀输出",
        "addr": "59087.3",  #"10174.3", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54069",
	},
    {
        "name": "进压关阀输出",
        "addr": "59087.4",  #"10174.4", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54069",
	},
	{
        "name": "开阀到位状态",
        "alias": "alias_valve_status",
        "addr": "59082.11", #"10165.3", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54069",   #48138
	},
    {
        "name": "关阀到位状态",
        "alias": "alias_valve_status",
        "addr": "59082.12", #"10165.4", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54069",   #48138
	},
    {
        "name": "进水有效延时",
        "scale" : 0.001,
        "unit" : "S",
        "format": "%06.3f",
        "min" : 1.0,
        "max" : 65.535,
        "addr": "54068", #"48136",
	},
    {
        "name": "开阀压力值",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "54066", #"48132", 
	},
    {
        "name": "关阀压力值",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "54065", #"48130", 
	},
    {
        "name": "阀门动作时长",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54067", #"48134",
	},
]

menu_explosion_valve = [
	{
        "name": "爆管阀门功能",
        "addr": "54072", #"48144", 
        "alias": "alias_run_function",
	},
    {
        "name": "手动爆管开阀",
        "addr": "59060.4", #"10120.4", 
        "action" : "KeyEnterTrigger_DispCtrl_54072.1",  #48144.1
	},
    {
        "name": "手动爆管关阀",
        "addr": "59060.5", #"10120.5", 
        "action" : "KeyEnterTrigger_DispCtrl_54072.1",  #48144.1
	},
    {
        "name": "漏水信号",
        "addr": "59080.7",  #"10160.7", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54072",   #48144
	},
    {
        "name": "爆管开阀输出",
        "addr": "59087.1",  #"10174.1", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54072",   #48144
	},
    {
        "name": "爆管关阀输出",
        "addr": "59087.2",  #"10174.2", 
        "alias" : "alias_bool",
        "property" : MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54072",   #48144
	},
	{
        "name": "爆管开阀到位",
        "alias": "alias_valve_status",
        "addr": "59082.6", #"10164.6", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54072",   #48144
	},
    {
        "name": "爆管关阀到位",
        "alias": "alias_valve_status",
        "addr": "59082.7", #"10164.7", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "DispCtrl_54072",   #48144
	},
    {
        "name": "阀门工作时长",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%05.1f",
        "addr": "54071", #"48142",
	},
	{
        "name": "爆管信号延时",
        "unit" : "ms",
        "format": "%05.0f",
        "addr": "54070", #"48140", 
	},
]

menu_peripheral = [
	{
        "name": "照明功能",
        "addr": "54095", #"48190", 
        "alias": "alias_run_function",
	},
    {
        "name": "照明手动开",
        "addr": "59061.0", #"10122.0", 
        "action" : "KeyEnterTrigger_DispCtrl_54095.1",#48190.1
	},
    {
        "name": "照明手动关",
        "addr": "59061.1", #10122.1", 
        "action" : "KeyEnterTrigger_DispCtrl_54095.1",
	},
	{
        "name": "门禁功能",
        "alias": "alias_run_function",
        "addr": "54105", #"48210", 
	},
    {
        "name": "门禁手动开",
        "addr": "59060.14", #"10121.6", 
        "action" : "KeyEnterTrigger_DispCtrl_54105.1",#48210.1
	},
    {
        "name": "门禁手动关",
        "addr": "59060.15", #"10121.7", 
        "action" : "KeyEnterTrigger_DispCtrl_54105.1",
	},
]
menu_fan_arefaction = [
	{
        "name": "风机功能",
        "addr": "54079",  #"48158", 
        "alias": "alias_run_function",
	},
	{
        "name": "风机开启温度",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "54075", #"48150", 
	},
	{
        "name": "风机关闭温度",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "54076", #"48152", 
	},
    {
        "name": "风机手动开",
        "addr": "59060.8", #"10121.0", 
        "action" : "KeyEnterTrigger_DispCtrl_54079.1",#48158.1
	},
    {
        "name": "风机手动关",
        "addr": "59060.9", #"10121.1", 
        "action" : "KeyEnterTrigger_DispCtrl_54079.1",
	},
    {
        "name": "除湿机功能",
        "addr": "54092", #"48184", 
        "alias": "alias_run_function",
	},
	{
        "name": "除湿机开启湿度",
        "scale" : 0.1,
        "unit" : "%",
        "format": "%05.1f",
        "addr": "54090", #"48180",  
	},
	{
        "name": "除湿机关闭湿度",
        "scale" : 0.1,
        "unit" : "%",
        "format": "%05.1f",
        "addr": "54091", #"48182",  
	},
    {
        "name": "除湿机手动开",
        "addr": "59060.14", #"10121.6", 
        "action" : "KeyEnterTrigger_DispCtrl_54092.1",#48184.1
	},
    {
        "name": "除湿机手动关",
        "addr": "59060.15", #"10121.7", 
        "action" : "KeyEnterTrigger_DispCtrl_54092.1",
	},
]

menu_pin_configure = [
	{
        "name": "X0.1(X1)*",
        "alias": "alias_input",
        "addr": "44265",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset22",
	},
	{
        "name": "X0.3(X3)*",
        "alias": "alias_input",
        "addr": "44267", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset22",
	},
	{
        "name": "X0.4(X4)*",
        "alias": "alias_input",
        "addr": "44268", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset22",
	},
    {
        "name": "X0.5(X5)*",
        "addr": "44269", 
        "alias": "alias_input",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset22",
	},
	{
        "name": "X0.6(X6)*",
        "alias": "alias_input",
        "addr": "44270", 
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset22",
	},
	{
        "name": "Y0.0(A1-B1)*",
        "alias": "alias_output",
        "addr": "44272", 
        "action" : "SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "Y0.1(A2-B2)*",
        "alias": "alias_output",
        "addr": "44273", 
        "action" : "SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "Y0.3(A4-B4)*",
        "alias": "alias_output",
        "addr": "44275", 
        "action" : "SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
]

menu_statistic = [
    
    {
        "name": "所有泵统计",
        "action": "pumps_statistic",
	}, 
    {
        "name": "当前压力曲线",
        "sub_menu": "cur_curve",
	}, 
    {
        "name": "当前工作时间",
        "addr": "40042#2", 
		"unit": "Min",
		"format": "%09.0f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset16",
	}, 
    {
        "name": "累计工作时间",
        "addr": "40044#2", 
		"unit": "Min",
		"format": "%09.0f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset16",
	}, 
    {
        "name": "累计工作次数",
        "addr": "40054#2", 
		"unit": "次",
		"format": "%09.0f",
        "property": MENU_PROPERTY_READ_ONLY,
        "action" : "SelfPumpOffset16",
	}, 
    {
        "name": "累计清零",
        "action": "clear_acc_time",
        "property": MENU_PROPERTY_ENGINEER,
	}, 
    {
        "name": "累计电量清零",
        "action": "clear_kwh",
        "property": MENU_PROPERTY_ENGINEER,
	}, 

    {
        "name": "退出",
        "action": "exit",
	},
]

menu_system = [
    {
        "name": "硬件版本*",
        "addr": "48013", 
        "scale" : 0.01,
        "format": "%05.2f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "系统版本*",
        "addr": "48031", 
        "scale" : 0.01,
        "format": "%04.2f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "PLC版本*",
        "addr": "50499", #"40998", 
        "scale" : 0.01,
        "format": "%04.2f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "序列号*",
        "addr": "44024#2", 
        "format": "%09.0f",
        "action" : "SerialId_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "系统日期",
        "addr": "40408#3", 
        "action" : "date",
	},
    {
        "name": "当前时间",
        "addr": "40411#3", 
        "action" : "time",
	},
    {
        "name": "语言*",
        "addr": "48014", 
        "alias": "alias_language",
	},
    {
        "name": "提示音*",
        "addr": "48029", 
        "alias" : "alias_bool",
	},
    {
        "name": "锁定键盘*",
        "action" : "lock",
	},
    {
        "name": "背光亮度*",
        "addr": "48009", 
        "unit": "%",
        "min": 10,
        "max": 100,
        "format": "%03.0f",
	},
    {
        "name": "背光延时*",
        "addr": "48008", 
        "unit": "S",
        "format": "%04.0f",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_protect = [
    {
        "name": "负压保护",
        "alias": "alias_bool",
        "addr": "40288.5",
	},
    {
        "name": "负压报警值",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40290",
	},
    {
        "name": "真空报警值",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40291",
	},
    {
        "name": "负压报警解除值",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40292",
	},
    {
        "name": "真空报警解除值",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40305",
	},
    {
        "name": "超压报警",
		"unit": "Mpa",
		"addr": "40289",
        "scale" : 0.001,
		"format": "%05.3f",
	},
    {
        "name": "爆管保护",
        "alias": "alias_bool",
        "addr": "40288.8",
	},
    {
        "name": "爆管停机压力",
        "scale" : 0.001,
        "unit" : "MPa",
        "format": "%05.3f",
        "addr": "40297",
	},
    {
        "name": "爆管停机延时",
        "scale" : 0.1,
        "unit" : "S",
        "format": "%04.1f",
        "addr": "40298",
	},
    {
        "name": "电机温度上限",
        "scale" : 0.1,
        "unit" : "℃",
        "format": "%05.1f",
        "addr": "40392",
	},
    {
        "name": "水箱无水保护",
        "alias": "alias_bool",
        "addr": "40289.7",          #FW600 + 598.7  = FW1198.7
	},
    {
        "name": "无水液位",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%05.2f",
        "addr": "56593",
	},
    {
        "name": "无水解除",
        "scale" : 0.01,
        "unit" : "m",
        "format": "%04.2f",
        "addr": "40294",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_sleep_set = [
    {
        "name": "休眠功率*",
        "addr": "44203", 
        "scale": 0.01,
        "unit": "kW",
        "format": "%05.2f",
        "action": "SelfPumpOffset8",
	},
    {
        "name": "休眠频率",
        "scale" : 0.01,
        "unit" : "Hz",
        "format": "%06.2f",
        "addr": "40316",
	},
    {
        "name": "休眠延时",
        "addr": "40317", 
        "scale": 0.1,
        "unit": "S",
        "format": "%06.1f",
	},
    {
        "name": "休眠提升时间*",
        "addr": "44206", 
        "scale": 0.1,
        "unit": "S",
        "format": "%05.1f",
        "action" : "SelfPumpOffset8",
	},
    {
        "name": "唤醒延时",
        "addr": "40319", 
        "scale": 0.01,
        "unit": "S",
        "format": "%05.2f",
	},
    {
        "name": "唤醒压差",
        "addr": "40318", 
        "scale": 0.001,
        "unit": "Mpa",
        "format": "%05.3f",
	},


    {
        "name": "退出",
        "action": "exit",
	},
]
menu_pump_adjust_set = [
    {
        "name": "减泵压差",
        "scale" : 0.001,
        "unit" : "Mpa",
        "format": "%05.3f",
        "addr": "40274", 
	},
    {
        "name": "加泵压差",
        "scale": 0.001,
        "unit": "Mpa",
        "format": "%05.3f",
        "addr": "40275", 
	},
    {
        "name": "休眠加泵压差",   #频率在休眠频率以下时的加泵压力差，可以加快加泵速度。
        "scale": 0.001,
        "unit": "Mpa",
        "format": "%05.3f",
        "addr": "40306", 
	},
    {
        "name": "加泵延时",
        "addr": "40280", 
        "scale": 0.1,
        "unit": "S",
        "format": "%05.1f",
	},
    {
        "name": "减泵延时",
        "addr": "40273", 
        "scale": 0.1,
        "unit": "S",
        "format": "%04.1f",
	}, 
    {
        "name": "功率到达加泵",
        "addr": "40272.0", 
        "alias": "alias_bool",
	},
    {
        "name": "加泵功率",
        "addr": "40276", 
        "scale": 0.01,
        "unit": "KW",
        "format": "%05.2f",
	},
    {
        "name": "功率到达减泵",
        "addr": "40272.1", 
        "alias": "alias_bool",
	},
    {
        "name": "减泵功率",
        "addr": "40277", 
        "scale": 0.01,
        "unit": "KW",
        "format": "%05.2f",
	},
    {
        "name": "频率到达加泵",
        "addr": "40272.2", 
        "alias": "alias_bool",
	},
    {
        "name": "加泵频率",
        "addr": "40278", 
        "scale": 0.01,
        "unit": "Hz",
        "format": "%06.2f",
	},
    {
        "name": "频率到达减泵",
        "addr": "40272.3", 
        "alias": "alias_bool",
	},
    {
        "name": "减泵频率",
        "addr": "40279", 
        "scale": 0.01,
        "unit": "Hz",
        "format": "%06.2f",
	},

    {
        "name": "退出",
        "action": "exit",
	},
]
menu_pid_set = [
    {
        "name": "启动PID类型",
        "addr": "40304", 
        "alias": "alias_pid",
	},
    {
        "name": "启动PID Kp",
        "addr": "40307", 
        "scale": 0.001,
        "format": "%05.3f",
	},
    {
        "name": "启动PID Ti",
        "addr": "40308", 
        "scale": 0.01,
        "unit": "S",
        "format": "%06.2f",
	},
    {
        "name": "启动PID Td",
        "addr": "40309", 
        "scale": 0.01,
        "unit": "S",
        "format": "%06.2f",
	},
    {
        "name": "动态PID类型",
        "addr": "40395", 
        "alias": "alias_pid",
	},
    {
        "name": "动态PID Kp",
        "addr": "40396", 
        "scale": 0.001,
        "format": "%05.3f",
	},
    {
        "name": "动态PID Ti",
        "addr": "40397", 
        "scale": 0.01,
        "unit": "S",
        "format": "%06.2f",
	},
    {
        "name": "动态PID Td",
        "addr": "40398", 
        "scale": 0.01,
        "unit": "S",
        "format": "%06.2f",
	},
    {
        "name": "动态PID进入",
        "addr": "40394", 
        "scale": 0.01,
        "unit": "%",
        "format": "%05.2f",
	},
    {
        "name": "动态PID退出",
        "addr": "40393", 
        "scale": 0.01,
        "unit": "%",
        "format": "%05.2f",
	},
    {
        "name": "PID死区",
        "addr": "40314", 
        "scale": 0.01,
        "unit": "%",
        "format": "%06.2f",
	},
    {
        "name": "PID调节周期",
        "addr": "40311", 
        "unit": "ms",
        "format": "%04.0f",
	},
    {
        "name": "PID负载",
        "addr": "40406", 
        "alias": "alias_pidmode",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_winter_set = [
    {
        "name": "防冻使能",
        "alias": "alias_bool",
        "addr": "40401", 
	},
    {
        "name": "运行频率/下限",
        "addr": "40402", 
        "unit": "%",
        "format": "%03.0f",
	},
    {
        "name": "防冻运行时间",
        "addr": "40403", 
        "unit": "S",
        "format": "%04.0f",
	},
    {
        "name": "防冻周期",
        "addr": "40404", 
        "unit": "Min",
        "format": "%04.0f",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_pumpgroup = [
    {
        "name": "加减泵设置",
        "sub_menu": "menu_pump_adjust_set",
	},
    {
        "name": "休眠设置",
        "sub_menu": "menu_sleep_set",
	},
    {
        "name": "常用设置",
        "sub_menu": "menu_normal_set",
	},
    {
        "name": "功能设置",
        "sub_menu": "menu_func_set",
	},
    
    {
        "name": "主辅设置",
        "sub_menu": "menu_host_set",
	},
    {
        "name": "防冻设置",
        "sub_menu": "menu_winter_set",
	},

    {
        "name": "程序功能",
        "alias": "alias_plc",
        "addr": "43983",
        "action": "reboot_global",
	},
    
    {
        "name": "参数同步",
        "action": "sync_3",
	},
    {
        "name": "定时换泵",
        "alias": "alias_bool",
        "addr": "40281.0", 
	},
    {
        "name": "定时换泵周期",
        "addr": "40282", 
        "unit": "Min",
        "format": "%05.0f",
        "min": 10,
        "max": 480,
        "default": 360,
	},
    {
        "name": "换泵冷却时间",
        "addr": "40303", 
        "scale": 1.0,
        "unit": "Min",
        "format": "%05.0f",
	},
    {
        "name": "水泵流量*",
        "addr": "48033", 
        "scale": 0.1,
        "unit": "m³/h",
        "format": "%04.1f",
	}, 
    {
        "name": "水泵扬程*",
        "addr": "48032", 
        "unit": "m",
        "format": "%04.0f",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_full_set = [    #工程师菜单的专属设置
    {
        "name": "信号配置",
        "sub_menu": "memu_sensor_engineer",
	},
    {
        "name": "泵组PID配置",
        "sub_menu": "menu_pid_set",
	},
    {
        "name": "变频器参数",
        "sub_menu": "menu_freq_convert",
	},
    {
        "name": "系统信息",
        "sub_menu": "menu_system_engineer",
	},
    {
        "name": "模拟量传感器",
        "sub_menu": "memu_sensor_config",
    }, 
    {
        "name": "数字IO测试",
        "sub_menu": "test_io",
	},
    {
        "name": "模拟IO测试",
        "sub_menu": "test_aio",
	},
    {
        "name": "用户参数",
        "sub_menu": "menu_parameter",
	},
    {
        "name": "重启",
        "action": "reboot",
	},
    # {
    #     "name": "常规设置",
    #     "sub_menu": "menu_system",
    # },

    # {
    #     "name": "设置",
    #     "sub_menu": "menu_normal_set",
	# },
    {
        "name": "退出",
        "action": "exit",
	},
]

memu_sensor_engineer = [    #工程师菜单的专属设置
    {
        "name": "开关量输入配置",
        "sub_menu": "menu_io_in",
	},
    {
        "name": "开关量输出配置",
        "sub_menu": "menu_io_out",
	},
    {
        "name": "模拟量输入配置",
        "sub_menu": "menu_aio_in",
	},
    {
        "name": "模拟量输出配置",
        "sub_menu": "menu_aio_out",
	}, 
    {
        "name": "AI1 AD值",
        "addr": "56206",   #FW412
        "format": "%05.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "AI3 AD值",
        "addr": "56208",   #FW416
        "format": "%05.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "AI4 AD值",
        "addr": "56209",   #FW418
        "format": "%05.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_io_out= [  
    {
        "name": "A1-B1*",
        "alias": "alias_output",
        "addr": "44272",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "A2-B2*",
        "alias": "alias_output",
        "addr": "44273",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "A4-B4",
        "alias": "alias_output",
        "addr": "44275",
        "action": "SelfPumpOffset22",
	},
]
menu_io_in= [  
    {
        "name": "X1*",
        "alias": "alias_input",
        "addr": "44265",
        "action": "SelfPumpOffset22",
	},
    #{
    #    "name": "X2*",
    #    "alias": "alias_input",
    #    "addr": "44266",
    #    "action": "SelfPumpOffset22",
	#},
    {
        "name": "X3*",
        "alias": "alias_input",
        "addr": "44267",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "X4*",
        "alias": "alias_input",
        "addr": "44268",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "X5*",
        "alias": "alias_input",
        "addr": "44269",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "X6*",
        "alias": "alias_input",
        "addr": "44270",
        "action": "SelfPumpOffset22",
	},
]
menu_aio_out= [  
    {
        "name": "AO2*",
        "alias": "alias_aioutput",
        "addr": "44285",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "AO2 4mA*",
        "addr": "48053", 
        "format": "%04.0f",
        "min" : 0,
        "max" : 4095,
	},
    {
        "name": "AO2 20mA*",
        "addr": "48054", 
        "format": "%04.0f",
        "min" : 0,
        "max" : 4095,
	},
]
menu_aio_in= [  
    {
        "name": "AI1*",
        "alias": "alias_aiinput",
        "addr": "44280",
        "action" : "SelfPumpOffset22"
	},
    {
        "name": "AI3*",
        "alias": "alias_aiinput",
        "addr": "44282",
        "action" : "SelfPumpOffset22"
	},
    {
        "name": "AI4*",
        "alias": "alias_aiinput",
        "addr": "44283",
        "action" : "SelfPumpOffset22"
	},
    {
        "name": "AI1配置",
        "sub_menu": "menu_aio_set1",
	},
    {
        "name": "AI3配置",
        "sub_menu": "menu_aio_set2",
	},
    {
        "name": "AI4配置",
        "sub_menu": "menu_aio_set3",
	},
    {
        "name": "AO校正",
        "sub_menu": "menu_ao_cal",
	}, 
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_aio_set1= [  
    {
        "name": "当前AD值",
        "format" : "%05.0f",
        "addr": "56206",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "AD值10V",
        "format": "%04.0f",
        "addr": "48047",
	},
    {
        "name": "设为AD值10V",
        "action":"AI_Calibrate0",
	},
    {
        "name": "AI1模式",
        "addr": "44271.0",
        "alias": "alias_anaolog_mode",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "退出",
        "action": "exit",
	}, 
]


menu_aio_set2= [  
    {
        "name": "当前AD值",
        "format" : "%05.0f",
        "addr": "56208",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "AD值10V",
        "format": "%04.0f",
        "addr": "48049",
	},
    {
        "name": "设为AD值10V",
        "action":"AI_Calibrate2",
	},
    {
        "name": "AI3模式",
        "addr": "44271.1",
        "alias": "alias_anaolog_mode",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "退出",
        "action": "exit",
	}, 
]

menu_aio_set3= [  
    {
        "name": "当前AD值",
        "format" : "%05.0f",
        "addr": "56209",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "AD值10V",
        "format": "%04.0f",
        "addr": "48050",
	},
    {
        "name": "设为AD值10V",
        "action":"AI_Calibrate3",
	},
    {
        "name": "AI1模式",
        "addr": "44271.2",
        "alias": "alias_anaolog_mode",
        "action": "SelfPumpOffset22",
	},
    {
        "name": "退出",
        "action": "exit",
	}, 
]

menu_ao_cal = [
    {
        "name": "模拟量输出",
        "format" : "%05.0f",
        "addr": "48061",
        "min" : 0,
        "max" : 32000,
        "action":"AO_Calibrate",
    },
    {
        "name": "4mA输出标定",
        "action":"AO_Calibrate4mA",
	},
    {
        "name": "20mA输出标定",
        "action":"AO_Calibrate20mA",
	},
    {
        "name": "AO1模式",
        "addr": "44271.3",
        "alias": "alias_anaolog_mode",
        "action": "SelfPumpOffset22",
	}, 
    {
        "name": "退出",
        "action": "exit",
	},
]

# menu_pump_engineer = [    #工程师菜单的专属设置

# ]
menu_freq_convert = [
    {
        "name": "自动复位限制",
        "addr": "40301", 
        "unit": "次",
        "format": "%02.0f",
	},
    {
        "name": "累计复位次数",
        "addr": "40197", 
        "unit": "次",
        "format": "%02.0f",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "加速时间*",
		"unit": "S",
		"addr": "44013",
        "scale" : 0.1,
		"format": "%04.1f",
        "action": "FreqParaStop_SelfPumpOffset24",
	},
    {
        "name": "减速时间*",
		"unit": "S",
		"addr": "44014",
        "scale" : 0.1,
		"format": "%04.1f",
        "action": "FreqParaStop_SelfPumpOffset24",
	},
    {
        "name": "启动时间*",
		"unit": "S",
		"addr": "44020",
        "scale" : 0.1,
		"format": "%05.1f",
        "action": "FreqParaStop_SelfPumpOffset24",
	},
    {
        "name": "载波频率*",
		"unit": "kHz",
        "scale" : 0.1,
        "format": "%04.1f",
		"addr": "44019",
        "action": "FreqParaStop_SelfPumpOffset24",
	},
    {
        "name": "频率上限*",
		"unit": "Hz",
		"addr": "44015",
        "scale" : 0.01,
		"format": "%06.2f",
        "action": "FreqParaStop_SelfPumpOffset24",
	},
    {
        "name": "频率下限*",
		"unit": "Hz",
		"addr": "44016",
        "scale" : 0.01,
		"format": "%06.2f",
        "action": "FreqParaStop_SelfPumpOffset24",
	},  
    {
        "name": "额定频率*",
		"unit": "Hz",
		"addr": "44012",
        "scale" : 0.01,
		"format": "%06.2f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},  
    {
        "name": "额定功率*",
		"unit": "Kw",
		"addr": "56833",
        "scale" : 0.01,
		"format": "%05.2f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},  
    {
        "name": "额定电流*",
		"unit": "A",
		"addr": "56834",
        "scale" : 0.1,
		"format": "%04.1f",
        "action": "FreqParaStop_SelfPumpOffset24",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "退出",
        "action": "exit",
	}, 
]
menu_system_engineer = [    #工程师菜单的专属设置
    # {
    #     "name": "变频器选择",
    #     "alias" : "alias_converter",
    #     "addr": "48012",
	# },
    # {
    #     "name": "权限管理",
    #     "action": "admin",
    # },
    {
        "name": "系统密码*",
        "addr": "48041",
        "format" :"%04.0f",
        "action": "password",
    },
    {
        "name": "恢复出厂设置",
        "sub_menu": "menu_factory_default",
	},
    {
        "name": "备份还原点1",
        "sub_menu": "menu_save_restore1",
	},
    {
        "name": "备份还原点2",
        "sub_menu": "menu_save_restore2",
	}, 
    {
        "name": "序列号*", 
        "addr": "48002#2", 
        "format": "%10.0f",
        "action": "SerialId_Modify",
    },
    {
        "name": "累计运行*",
        "scale" : 0.016667,
        "unit" : "h",
        "format": "%07.0f",
        "addr": "40044#2", #"56344#2",
        "action": "SelfPumpOffset16",
        "property": MENU_PROPERTY_ENGINEER,
	},
    {
        "name": "退出",
        "action": "exit",
	},
]
#显示1台泵
menu_run_data1 = [
    {
        "name": "转速*",
	},
    {
        "name": "电流*",
	},
    {
        "name": "功率*",
	},
    {
        "name": "时间*",
	},
]

#显示2台泵
menu_run_data2 = [
    {
        "name": "转速*",
	},
    {
        "name": "电流*",
	},
    {
        "name": "功率*",
	},
    {
        "name": "时间*",
	},
]

#显示3台泵
menu_run_data3 = [
    {
        "name": "转速*",
	},
    {
        "name": "电流*",
	},
    {
        "name": "功率*",
	},
    {
        "name": "时间*",
	},
]

#模拟IO测试
test_aio = [
    {
        "name": "AO2",
        "addr" : "48060",
        "scale" : 0.1,
        "format" : "%05.1f",
        "unit" : "%",
	},
]

#数字IO测试
test_io = [
    {
        "name": "Y1",
        "addr" : "44272",
        "alias" : "alias_output",
        "action" : "TestY0_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "Y2",
        "addr" : "44273",
        "alias" : "alias_output",
        "action" : "TestY1_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "Y3",
        "addr" : "44275",
        "alias" : "alias_output",
        "action" : "TestY3_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "X1",
        "addr" : "44265",
        "alias" : "alias_input",
        "action" : "TestX1_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "X2",
        "addr" : "44266",
        "alias" : "alias_input",
        "action" : "TestX2_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "X3",
        "addr" : "44267",
        "alias" : "alias_input",
        "action" : "TestX3_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "X4",
        "addr" : "44268",
        "alias" : "alias_input",
        "action" : "TestX4_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "X5",
        "addr" : "44269",
        "alias" : "alias_input",
        "action" : "TestX5_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "X6",
        "addr" : "44270",
        "alias" : "alias_input",
        "action" : "TestX6_SelfPumpOffset22",
        "property": MENU_PROPERTY_READ_ONLY,
	},
]


menu_pressure_in = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40226",        # FW600 + 452  = FW1052
	}, 
    {
        "name": "全局值",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "40023", 
	},
    {
        "name": "本机值*",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "56124", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40022", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40230", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40229", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "40228", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "40227", 
	},
    {
        "name": "退出",
        "action": "exit",
	},   
]

menu_pressure_out = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40234",           #FW600 +  468  = FW1068
	}, 
    {
        "name": "全局值",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "40025", 
	},
    {
        "name": "本机值*",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "56123", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40024", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40238", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40237", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "40236", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.3f",
        "scale": 0.001,
        "unit": "Mpa",
        "addr": "40235", 
	},
    {
        "name": "退出",
        "action": "exit",
	},  
]


menu_valve_opening  = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43910", 
	}, 
    {
        "name": "全局值",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "39999", 
	},
    {
        "name": "本机值*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "56126", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "39998", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43914", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43913", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "43912", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "43911", 
	}, 
    {
        "name": "退出",
        "action": "exit",
	}, 
]

menu_water_level2 = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43942", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "56291", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "56140", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56290", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43946", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43945", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "43944", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "43943", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_water_level3 = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43974", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "56285", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "56143", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56284", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43978", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43977", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "43976", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "43975", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_temp = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40250", 
	}, 
    {
        "name": "全局值",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "40169#s", 
	},
    {
        "name": "本机值*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "56128#s", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40168", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40254", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40253", 
	},   
    {
        "name": "量程下限*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "40252#s", 
	},   
    {
        "name": "量程上限*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "40251#s", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_temp_inside = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43958", 
	}, 
    {
        "name": "全局值",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "56287#s", 
	},
    {
        "name": "本机值*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "56138#s", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56286", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43962", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43961", 
	},   
    {
        "name": "量程下限*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "43960#s", 
	},   
    {
        "name": "量程上限*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "43959#s", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_temp_middle = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43966", 
	}, 
    {
        "name": "全局值",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "56285#s", 
	},
    {
        "name": "本机值*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "56137#s", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56284", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43970", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43969", 
	},   
    {
        "name": "量程下限*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "43968#s", 
	},   
    {
        "name": "量程上限*",
        "format": "%+06.1f",
        "scale": 0.1,
        "unit": "℃",
        "addr": "43967#s", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_water_level= [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40258", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "40029", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "56125", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40028", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40262", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40261", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "40260", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m",
        "addr": "40259", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_valve_opening2 = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43950", 
	}, 
    {
        "name": "全局值",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "56289", 
	},
    {
        "name": "本机值*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "56140", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56288", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43954", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43953", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "43952", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "%",
        "addr": "43951", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_chlorine = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40202", 
	}, 
    
    {
        "name": "本机值*",
        "format": "%06.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "56129", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40016", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40206", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40205", 
	},   
    {
        "name": "量程下限*",
        "format": "%06.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "40204", 
	},   
    {
        "name": "量程上限*",
        "format": "%06.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "40203", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_dirty = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40210", 
	}, 
    {
        "name": "本机值*",
        "format": "%06.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "56130", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40018", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40214", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40213", 
	},   
    {
        "name": "量程下限*",
        "format": "%06.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "40212", 
	},   
    {
        "name": "量程上限*",
        "format": "%06.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "40211", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_flow_out = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40242", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "40027", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "56127", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40026", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40246", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40245", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "40244", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "40243", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_flow_in = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43918", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "56297", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "56132", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56296", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43922", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43921", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "43920", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "m³/h",
        "addr": "43919", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_ph_sensor = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "40218", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "addr": "40021", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "addr": "56131", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "40020", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "40222", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "40221", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "addr": "40220", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "addr": "40219", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_wet_sensor = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43926", 
	}, 
    {
        "name": "全局值",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "56293", 
	},
    {
        "name": "本机值*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "56142", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56292", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43930", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43929", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "43928", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.2f",
        "scale": 0.01,
        "unit": "%",
        "addr": "43927", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]
menu_sound_sensor = [
    {
        "name": "配置",
        "alias" : "alias_bool",
        "addr": "43934", 
	}, 
    {
        "name": "全局值",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "db",
        "addr": "56295", 
	},
    {
        "name": "本机值*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "db",
        "addr": "56141", 
	},
    {
        "name": "AD值*",
        "format": "%05.0f",
        "addr": "56294", 
        "property": MENU_PROPERTY_READ_ONLY,
	},
    {
        "name": "ADMin*",
        "format": "%05.0f",
        "addr": "43938", 
	},   
    {
        "name": "ADMax*",
        "format": "%05.0f",
        "addr": "43937", 
	},   
    {
        "name": "量程下限*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "db",
        "addr": "43936", 
	},   
    {
        "name": "量程上限*",
        "format": "%05.1f",
        "scale": 0.1,
        "unit": "db",
        "addr": "43935", 
	},  
    {
        "name": "退出",
        "action": "exit",
	},
]

#信号配置
memu_sensor_config = [
    {
        "name": "输入压力传感器",
        "sub_menu": "menu_pressure_in",
	},
    {
        "name": "输出压力传感器",
        "sub_menu": "menu_pressure_out",
	},
    {
        "name": "输入流量传感器",
        "sub_menu": "menu_flow_in",
	}, 
    {
        "name": "输出流量传感器",
        "sub_menu": "menu_flow_out",
	},
    {
        "name": "水箱液位1",
        "sub_menu": "menu_water_level",
	},   
    {
        "name": "水箱液位2",
        "sub_menu": "menu_water_level2",
	},  
    {
        "name": "水箱液位3",
        "sub_menu": "menu_water_level3",
	},  
    {
        "name": "调节阀开度反馈",
        "sub_menu": "menu_valve_opening",
	}, 
    {
        "name": "开度反馈2",
        "sub_menu": "menu_valve_opening2",
	},
    {
        "name": "温度传感器",
        "sub_menu": "menu_temp",
	},
    {
        "name": "站内温度传感器",
        "sub_menu": "menu_temp_inside",
	},
    {
        "name": "夹层温度传感器",
        "sub_menu": "menu_temp_middle",
	},
    {
        "name": "余氯传感器",
        "sub_menu": "menu_chlorine",
	},
    {
        "name": "浊度传感器",
        "sub_menu": "menu_dirty",
	},
    {
        "name": "PH传感器",
        "sub_menu": "menu_ph_sensor",
	},
    {
        "name": "湿度传感器",
        "sub_menu": "menu_wet_sensor",
	},
    {
        "name": "噪音传感器",
        "sub_menu": "menu_sound_sensor",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_main = [
    {
        "name": "设置",
        "sub_menu": "menu_normal_set",
	},
    {
        "name": "数据",
        "sub_menu": "menu_data_pump"
	},
    {
        "name": "模式",
        "sub_menu": "menu_mode"
	},
    {
        "name": "菜单",
        "sub_menu": "menu_normal_menu"
    },
]
menu_normal_menu = [    #普通菜单页面
    {
        "name": "系统信息",
        "sub_menu": "menu_system",
	},
    {
        "name": "泵组配置",
        "sub_menu": "menu_pumpgroup",
	},
    {
        "name": "保护设置",
        "sub_menu": "menu_protect",
	},
    {
        "name": "故障查询",
        "sub_menu": "menu_alarm",
	}, 
    {
        "name": "通信设置",
        "sub_menu": "menu_comm_set",
	},
    {
        "name": "用户参数",
        "sub_menu": "menu_parameter",
	},
    {
        "name": "工程师菜单",
        "sub_menu": "menu_full_set",
	},
    {
        "name": "恢复出厂设置",
        "sub_menu": "menu_factory_default",
    },
    {
        "name": "重启",
        "action": "reboot",
	},

    {
        "name": "退出",
        "action": "exit",
	},
]

menu_script_desc = [
    {
        "name": "脚本 V1.08",
	},
    {
        "name": "输出流量:10, 输入流量:11",
	},
    {
        "name": "噪声传感器: 通讯地址=7",
	},
    {
        "name": "温湿度传感器: 通讯地址=8",
    },
    {
        "name": "水质分析仪: 通讯地址=5",
    },
    {
        "name": "夹层温度: 通讯地址=9",
    },
    {
        "name": "电度表: 通讯地址=6",
    },
]

menu_factory_default = [
    {
        "name": "恢复到本机",
        "action": "self_restore_0",
	},
    {
        "name": "恢复到全局",
        "action": "global_restore_0",
	},
    {
        "name": "退  出",
        "action": "exit",
	},
]

menu_save_restore1 = [
    {
        "name": "保存",
        "action": "save_1",
	},
    {
        "name": "恢复到本机",
        "action": "self_restore_1",
	},
    {
        "name": "恢复到全局",
        "action": "global_restore_1",
	},
    {
        "name": "退  出",
        "action": "exit",
	},
]

menu_save_restore2 = [
    {
        "name": "保存",
        "action": "save_2",
	},
    {
        "name": "恢复到本机",
        "action": "self_restore_2",
	},
    {
        "name": "恢复到全局",
        "action": "global_restore_2",
	},
    {
        "name": "退  出",
        "action": "exit",
	},
]

display_main = [
    {
        "name": "PumpName", 
        "alias": "alias_PumpName",
        "addr" : "48000",           #PumpId
    },
    {
        "name": "PressureOutMax",   #输出压力上限
        "format": "%4.0f",
        "addr" : "40235", 
    },
    {
        "name": "设定压力",
		"addr": "40416",
		"format": "%4.0f",
	},
]

menu_host_set = [
    {
        "name": "主辅泵优先级",
        "addr": "40299",
        "alias": "alias_priority",
	},
    {
        "name": "辅泵编号",
        "addr": "40284",
        "scale" : 1.0,
		"format": "%1.0f",
	},
    {
        "name": "辅泵切换延时",
        "addr": "40300", 
        "scale": 0.1,
        "unit": "S",
        "format": "%05.1f",
	},
    {
        "name": "辅泵切换功率",
        "addr": "40302", 
        "scale": 0.01,
        "unit": "KW",
        "format": "%05.2f",
	},
    {
        "name": "参数同步",
        "action": "sync_3",
	},
    {
        "name": "退出",
        "action": "exit",
	},
]

menu_caption = [
   {"name" : "menu_main",           "menu" : menu_main,          "caption": "主菜单",         "page" : 2,     "max_items" : 4,   "next" : menu_link,  "prev": menu_hand_adjust, "display": display_main},
   {"name" : "display_main",        "menu" : display_main,       "caption": "display_main",  "page" : 2,     "max_items" : 4},
   {"name" : "menu_link",           "menu" : menu_link,          "caption": "联机设置",       "page" : 4,     "max_items" : 6,   "next" : menu_run_data1,      "prev" : menu_main},
   {"name" : "menu_run_data1",      "menu" : menu_run_data1,     "caption": "数据页1",        "page" : 3,     "max_items" : 1,   "next" : menu_alarm,          "prev" : menu_link},
   {"name" : "menu_run_data2",      "menu" : menu_run_data2,     "caption": "数据页2",        "page" : 13,    "max_items" : 1,   "next" : menu_alarm,          "prev" : menu_link},
   {"name" : "menu_run_data3",      "menu" : menu_run_data3,     "caption": "数据页3",        "page" : 23,    "max_items" : 1,   "next" : menu_alarm,          "prev" : menu_link},
   {"name" : "menu_alarm",          "menu" : menu_alarm,         "caption": "报警显示",       "page" : 5,     "max_items" : 2,   "next" : menu_curve_history,  "prev" : menu_run_data1},
   {"name" : "menu_curve_history",  "menu" : menu_curve_history, "caption": "历史曲线",       "page" : 25,    "max_items" : 1,  "next" : menu_hand_adjust,    "prev" : menu_alarm},
   {"name" : "menu_hand_adjust",    "menu" : menu_hand_adjust,   "caption": "手动调速",       "page" : 15,    "max_items" : 1,   "next" : menu_main,           "prev" : menu_curve_history, "display": disp_hand_adjust},
   {"name" : "disp_hand_adjust",    "menu" : disp_hand_adjust,   "caption": "显示调速",       "page" : 15,    "max_items" : 1},
   
   {"name" : "menu_alarm_history",  "menu" : menu_alarm_history, "caption": "历史故障",       "page" : 11,    "max_items" : 8},
   {"name" : "dynamic_page_main",   "menu" : dynamic_page_main,  "caption": "测量数据",       "page" : 2,     "max_items" : 4},
   {"name" : "mqtt_pack_alarm",     "menu" : mqtt_pack_alarm,    "caption": "报警数据",       "page" : 5,     "max_items" : 8},
   {"name" : "menu_sleep_set",      "menu" : menu_sleep_set,     "caption": "休眠设置",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_winter_set",     "menu" : menu_winter_set,    "caption": "防冻设置",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_pump_adjust_set",  "menu" : menu_pump_adjust_set, "caption": "加减泵设置",     "page" : 11,    "max_items" : 8},
   {"name" : "menu_pumpgroup",      "menu" : menu_pumpgroup,     "caption": "泵组配置",       "page" : 11,    "max_items" : 8},
   {"name" : "memu_sensor_config",  "menu" : memu_sensor_config, "caption": "模拟量传感器",   "page" : 11,    "max_items" : 8},   
   {"name" : "menu_system",         "menu" : menu_system,        "caption": "系统信息",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_protect",        "menu" : menu_protect,       "caption": "保护设置",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_full_set",       "menu" : menu_full_set,      "caption": "工程师菜单",     "page" : 11,    "max_items" : 8},
   {"name" : "menu_normal_menu",    "menu" : menu_normal_menu,   "caption": "普通菜单",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_comm_set",       "menu" : menu_comm_set,      "caption": "通讯设置",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_statistic",      "menu" : menu_statistic,     "caption": "统计信息",       "page" : 11,    "max_items" : 8},
   {"name" : "menu_time_pressure",  "menu" : menu_time_pressure, "caption": "分时段压力",     "page" : 11,    "max_items" : 8},
   {"name" : "cur_curve",           "menu" : cur_curve,          "caption": "当前压力",       "page" : 12,    "max_items" : 1},
   {"name" : "menu_io_out",         "menu" : menu_io_out,        "caption": "开关量输出配置",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_io_in",          "menu" : menu_io_in,         "caption": "开关量输入配置",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_aio_out",        "menu" : menu_aio_out,       "caption": "模拟量输出配置",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_aio_in",         "menu" : menu_aio_in,        "caption": "模拟量输入配置",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_aio_set1",       "menu" : menu_aio_set1,      "caption": "模拟输入校正1",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_aio_set2",       "menu" : menu_aio_set2,      "caption": "模拟输入校正2",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_aio_set3",       "menu" : menu_aio_set3,      "caption": "模拟输入校正3",  "page" : 11,     "max_items" : 8},
   {"name" : "menu_ao_cal",         "menu" : menu_ao_cal,        "caption": "模拟输出标定",  "page" : 11,     "max_items" : 8},
   
   #工程师菜单
   {"name" : "menu_freq_convert",   "menu" : menu_freq_convert,  "caption": "变频器参数",     "page" : 11,    "max_items" : 8},
   {"name" : "memu_sensor_engineer","menu" : memu_sensor_engineer,"caption": "信号配置",      "page" : 11,    "max_items" : 8},
   {"name" : "menu_system_engineer","menu" : menu_system_engineer,"caption": "系统信息",      "page" : 11,    "max_items" : 8},
    #{"name" : "menu_pump_engineer",  "menu" : menu_pump_engineer, "caption": "泵组PID配置",       "page" : 11,    "max_items" : 8},
   {"name" : "test_io",             "menu" : test_io,            "caption": "数字IO测试",     "page" : 7,     "max_items" : 9},
   {"name" : "test_aio",            "menu" : test_aio,           "caption": "模拟IO测试",     "page" : 8,     "max_items" : 1},
   {"name" : "menu_factory_default", "menu" : menu_factory_default,   "caption": "恢复出厂设置",    "page" : 11,     "max_items" : 8},
   {"name" : "menu_save_restore1",    "menu" : menu_save_restore1,    "caption": "备份还原点1",     "page" : 11,     "max_items" : 8},
   {"name" : "menu_save_restore2",    "menu" : menu_save_restore2,    "caption": "备份还原点2",     "page" : 11,     "max_items" : 8},
   {"name" : "menu_pid_set",        "menu" : menu_pid_set,       "caption": "泵组PID配置",    "page" : 11,    "max_items" : 8},
   
   #传感器
   {"name" : "menu_pressure_in",    "menu" : menu_pressure_in,   "caption": "输入压力传感器",  "page" : 11,   "max_items" : 8},   
   {"name" : "menu_pressure_out",   "menu" : menu_pressure_out,  "caption": "输出压力传感器",  "page" : 11,   "max_items" : 8},   
   {"name" : "menu_water_level",    "menu" : menu_water_level,   "caption": "水箱液位传感器",  "page" : 11,   "max_items" : 8},
   {"name" : "menu_water_level2",   "menu" : menu_water_level2,  "caption": "水箱液位2",       "page" : 11,   "max_items" : 8},
   {"name" : "menu_water_level3",   "menu" : menu_water_level3,  "caption": "水箱液位3",       "page" : 11,   "max_items" : 8},  
   {"name" : "menu_temp",           "menu" : menu_temp,          "caption": "温度传感器",      "page" : 11,   "max_items" : 8}, 
   {"name" : "menu_temp_inside",    "menu" : menu_temp_inside,   "caption": "站内温度传感器",  "page" : 11,   "max_items" : 8},
   {"name" : "menu_temp_middle",    "menu" : menu_temp_middle,   "caption": "夹层温度传感器",  "page" : 11,   "max_items" : 8},
   {"name" : "menu_valve_opening",  "menu" : menu_valve_opening, "caption": "调节阀开度反馈",  "page" : 11,   "max_items" : 8},
   {"name" : "menu_valve_opening2", "menu" : menu_valve_opening2,"caption": "开度反馈2",       "page" : 11,   "max_items" : 8},
   {"name" : "menu_flow_out",       "menu" : menu_flow_out,      "caption": "输出流量传感器",  "page" : 11,   "max_items" : 8},
   {"name" : "menu_flow_in",        "menu" : menu_flow_in,       "caption": "输入流量传感器",  "page" : 11,   "max_items" : 8},
   {"name" : "menu_chlorine",       "menu" : menu_chlorine,      "caption": "余氯传感器",      "page" : 11,   "max_items" : 8},
   {"name" : "menu_dirty",          "menu" : menu_dirty,         "caption": "浊度传感器",      "page" : 11,   "max_items" : 8},
   {"name" : "menu_ph_sensor",      "menu" : menu_ph_sensor,     "caption": "PH传感器",        "page" : 11,   "max_items" : 8},
   {"name" : "menu_wet_sensor",     "menu" : menu_wet_sensor,    "caption": "湿度传感器",      "page" : 11,   "max_items" : 8},
   {"name" : "menu_sound_sensor",   "menu" : menu_sound_sensor,  "caption": "噪音传感器",      "page" : 11,   "max_items" : 8},
   #设置页面
   {"name" : "menu_quick_tag",      "menu" : menu_quick_tag,     "caption": "快捷入口",       "page" : 11,    "max_items" : 8,   "next" : menu_normal_set,  "prev" : menu_protect_set},
   {"name" : "menu_normal_set",     "menu" : menu_normal_set,    "caption": "常用设置",       "page" : 6,     "max_items" : 12,  "next" : menu_run_set,    "prev" : menu_quick_tag},
   {"name" : "menu_run_set",        "menu" : menu_run_set,       "caption": "运行设置",       "page" : 6,     "max_items" : 12,  "next" : menu_func_set, "prev" : menu_normal_set},
   {"name" : "menu_func_set",       "menu" : menu_func_set,      "caption": "功能设置",       "page" : 11,    "max_items" : 8,  "next" : menu_protect_set,     "prev" : menu_run_set},
   {"name" : "menu_protect_set",    "menu" : menu_protect_set,   "caption": "保护设置",       "page" : 6,     "max_items" : 12,  "next" : menu_quick_tag,   "prev" : menu_func_set},
   
   {"name" : "menu_host_set",       "menu" : menu_host_set,      "caption": "主辅设置",       "page" : 11,     "max_items" : 8},
   #数据页面
   {"name" : "menu_data_pump",      "menu" : menu_data_pump,     "caption": "泵组数据",       "page" : 19,     "max_items" : 12,  "next" : menu_data_Native1,    "prev" : menu_data_user},
   {"name" : "menu_data_Native1",    "menu" : menu_data_Native1,   "caption": "本机数据1",    "page" : 19,     "max_items" : 12,  "next" : menu_data_Native2,   "prev" : menu_data_pump},
   {"name" : "menu_data_Native2",    "menu" : menu_data_Native2,   "caption": "本机数据2",    "page" : 19,     "max_items" : 12,  "next" : menu_data_user,   "prev" : menu_data_Native1},
   {"name" : "menu_data_user",      "menu" : menu_data_user,     "caption": "用户数据",       "page" : 19,     "max_items" : 12,  "next" :  menu_data_pump,    "prev" : menu_data_Native2},
   #用户参数页面
   {"name" : "menu_parameter",      "menu" : menu_parameter,     "caption": "用户参数",       "page" : 11,    "max_items" : 8,  "next" : menu_temp_control,    "prev" : menu_pin_configure},
   {"name" : "menu_temp_control",   "menu" : menu_temp_control,  "caption": "调温配置",       "page" : 11,    "max_items" : 8,  "next" : menu_tank1,    "prev" : menu_parameter},
   {"name" : "menu_tank1",          "menu" : menu_tank1,         "caption": "1#水箱",         "page" : 11,    "max_items" : 8,  "next" : menu_tank2,    "prev" : menu_temp_control},
   {"name" : "menu_tank2",          "menu" : menu_tank2,         "caption": "2#水箱",         "page" : 11,    "max_items" : 8,  "next" : menu_tank3,    "prev" : menu_tank1},
   {"name" : "menu_tank3",          "menu" : menu_tank3,         "caption": "3#水箱",         "page" : 11,    "max_items" : 8,  "next" : menu_tank_switch,    "prev" : menu_tank2},
   {"name" : "menu_tank_switch",    "menu" : menu_tank_switch,   "caption": "箱罐切换",       "page" : 11,     "max_items" : 8,  "next" : menu_pump_inletvalve,    "prev" : menu_tank3},
   {"name" : "menu_pump_inletvalve","menu" : menu_pump_inletvalve,"caption": "泵组进压阀门",   "page" : 11,    "max_items" : 8,  "next" : menu_explosion_valve,    "prev" : menu_tank_switch},
   {"name" : "menu_explosion_valve","menu" : menu_explosion_valve,"caption": "爆管阀门",      "page" : 11,     "max_items" : 8,  "next" : menu_peripheral,    "prev" : menu_pump_inletvalve},
   {"name" : "menu_peripheral",     "menu" : menu_peripheral,    "caption": "其他外设",       "page" : 11,     "max_items" : 8,  "next" : menu_fan_arefaction,    "prev" : menu_explosion_valve},
   {"name" : "menu_fan_arefaction", "menu" : menu_fan_arefaction,"caption": "风机除湿",       "page" : 11,     "max_items" : 8,  "next" : menu_pin_configure,    "prev" : menu_peripheral},
   {"name" : "menu_pin_configure",  "menu" : menu_pin_configure, "caption": "引脚配置",       "page" : 11,     "max_items" : 8,  "next" : menu_script_desc,    "prev" : menu_fan_arefaction},
   {"name" : "menu_script_desc",    "menu" : menu_script_desc,   "caption": "脚本描述",       "page" : 14,     "max_items" : 8,  "next" : menu_parameter,    "prev" : menu_pin_configure},
]

class class_pump_comm_device_config(class_comm_device_config):
    def __init__(self):
        class_comm_device_config.__init__(self)
        pass
    
    #@override get_alias_table
    def get_alias_table(self) :
        return alias_table

    #@override get_comm_table
    def get_comm_table(self) :
        return modbus_comm_table, func_comm_table_trigger_check

    #@override get_menu_main
    def get_menu_top(self) :
        return menu_main

    #@override get_mqtt_table
    def get_mqtt_table(self) :
        return mqtt_topic_subscribe

    #@override menu_get_display_page
    def menu_get_display_page(self, active_menu):
        return menu_page.KUNLUN_GRAOUP_PAGE_MENU

    def get_menu_caption_info(self) :
        return menu_caption


#comm_device_config的名字不要更改, 创建通讯配置类
comm_device_config = class_pump_comm_device_config()
