#ifndef __UserModbus_h__ #define __UserModbus_h__ //****************************************************************************** #define meterSN1 MBReg[INX_030] #define meterSN2 MBReg[INX_031] #define meterSN3 MBReg[INX_032] #define meterSN4 MBReg[INX_033] #define meterSN5 MBReg[INX_034] #define meterSN6 MBReg[INX_035] #define alarmState MBReg[INX_036] #define alarmState1 MBReg[INX_037] #define alarmState2 MBReg[INX_038] #define alarmState3 MBReg[INX_039] #define flowRateH MBReg[INX_03A] #define flowRateL MBReg[INX_03B] #define flowAccumulationIntegerH MBReg[INX_03C] #define flowAccumulationIntegerL MBReg[INX_03D] #define flowAccumulationDecimal MBReg[INX_03E] #define PCBTemperature MBReg[INX_03F] #define GasTemperature MBReg[INX_040] //#define MBReg[INX_041] //#define MBReg[INX_042] //#define MBReg[INX_043] //#define MBReg[INX_044] #define GASPressureH MBReg[INX_045] #define GASPressureL MBReg[INX_046] #define density MBReg[INX_047] #define batteryCY MBReg[INX_048] #define batteryVoltage MBReg[INX_049] #define batteryDay MBReg[INX_04A] #define batteryRDay MBReg[INX_04B] #define ComBatteryCY MBReg[INX_04C] #define ComBatteryVoltage MBReg[INX_04D] #define ComBatteryDay MBReg[INX_04E] #define ComBatteryRDay MBReg[INX_04F] #define useMinte MBReg[INX_050] #define useHourH MBReg[INX_051] #define useHourL MBReg[INX_052] #define VHHParameter MBReg[INX_053] //#define MBReg[INX_054] //#define MBReg[INX_055] #define flowAccumulationHexH MBReg[INX_056] #define flowAccumulationHexHM MBReg[INX_057] #define flowAccumulationHexLM MBReg[INX_058] #define flowAccumulationHexL MBReg[INX_059] //#define MBReg[INX_05A] //#define MBReg[INX_05B] //#define MBReg[INX_05C] //#define MBReg[INX_05D] //#define MBReg[INX_05E] #define densityFSParameter MBReg[INX_05F] //#define MBReg[INX_060] //#define MBReg[INX_061] //#define MBReg[INX_062] //#define MBReg[INX_063] //#define MBReg[INX_064] //#define MBReg[INX_065] //#define MBReg[INX_066] //#define MBReg[INX_067] //#define MBReg[INX_068] //#define MBReg[INX_069] //#define MBReg[INX_06A] //#define MBReg[INX_06B] //#define MBReg[INX_06C] //#define MBReg[INX_06D] //#define MBReg[INX_06E] //#define MBReg[INX_06F] //#define MBReg[INX_070] //#define MBReg[INX_071] //#define MBReg[INX_072] //#define MBReg[INX_073] //#define MBReg[INX_074] //#define MBReg[INX_075] //#define MBReg[INX_076] //#define MBReg[INX_077] //#define MBReg[INX_078] //#define MBReg[INX_079] //#define MBReg[INX_07A] //#define MBReg[INX_07B] //#define MBReg[INX_07C] //#define MBReg[INX_07D] #define softCRCCode MBReg[INX_07E] #define softVersion MBReg[INX_07F] #define protocol MBReg[INX_080] #define localAddress MBReg[INX_081] #define baudRate MBReg[INX_082] #define minFlowRateH MBReg[INX_083] #define minFlowRateL MBReg[INX_084] #define maxFlowRateH MBReg[INX_085] #define maxFlowRateL MBReg[INX_086] #define minAnalogOutputH MBReg[INX_087] #define minAnalogOutputL MBReg[INX_088] #define maxAnalogOutputH MBReg[INX_089] #define maxAnalogOutputL MBReg[INX_08A] #define GDCFactor MBReg[INX_08B] #define filterTime MBReg[INX_08C] #define responseTime MBReg[INX_08D] #define offsetGas MBReg[INX_08E] #define offsetGasA MBReg[INX_08F] #define flowUnit MBReg[INX_090] #define airFactor MBReg[INX_091] #define factorVth MBReg[INX_092] #define factoryUnitPerPulse MBReg[INX_093] #define PulseLevel MBReg[INX_094] #define samplingTiming MBReg[INX_095] #define alarmAccH MBReg[INX_096] #define alarmAccL MBReg[INX_097] #define alarmUpperFlowRateH MBReg[INX_098] #define alarmUpperFlowRateL MBReg[INX_099] #define alarmLowerFlowRateH MBReg[INX_09A] #define alarmLowerFlowRateL MBReg[INX_09B] #define alarmFunction MBReg[INX_09C] #define alarmOutDelay MBReg[INX_09D] #define uartDecimalPoint MBReg[INX_09E] #define recordTime MBReg[INX_09F] #define reverseFlowRateMinH MBReg[INX_0A0] #define reverseFlowRateMinL MBReg[INX_0A1] #define reverseFlowRateMaxH MBReg[INX_0A2] #define reverseFlowRateMaxL MBReg[INX_0A3] #define I2CAddr MBReg[INX_0A4] #define I2CCrcMod MBReg[INX_0A5] #define timingTxdStart MBReg[INX_0A6] #define timingTxdLen MBReg[INX_0A7] #define timingTxdTime MBReg[INX_0A8] #define pressureOffset MBReg[INX_0A9] //#define MBReg[INX_0AA] //#define MBReg[INX_0AB] //#define MBReg[INX_0AC] //#define MBReg[INX_0AD] #define keyPassWordH MBReg[INX_0AE] #define keyPassWordL MBReg[INX_0AF] //#define MBReg[INX_0B0] //#define MBReg[INX_0B1] //#define MBReg[INX_0B2] //#define MBReg[INX_0B3] //#define MBReg[INX_0B4] //#define MBReg[INX_0B5] //#define MBReg[INX_0B6] //#define MBReg[INX_0B7] //#define MBReg[INX_0B8] //#define MBReg[INX_0B9] //#define MBReg[INX_0BA] //#define MBReg[INX_0BB] //#define MBReg[INX_0BC] //#define MBReg[INX_0BD] //#define MBReg[INX_0BE] //#define MBReg[INX_0BF] //#define MBReg[INX_0C0] //#define MBReg[INX_0C1] //#define MBReg[INX_0C2] //#define MBReg[INX_0C3] //#define MBReg[INX_0C4] //#define MBReg[INX_0C5] //#define MBReg[INX_0C6] //#define MBReg[INX_0C7] //#define MBReg[INX_0C8] //#define MBReg[INX_0C9] //#define MBReg[INX_0CA] //#define MBReg[INX_0CB] //#define MBReg[INX_0CC] //#define MBReg[INX_0CD] //#define MBReg[INX_0CE] //#define MBReg[INX_0CF] //#define MBReg[INX_0D0] //#define MBReg[INX_0D1] //#define MBReg[INX_0D2] //#define MBReg[INX_0D3] //#define MBReg[INX_0D4] //#define MBReg[INX_0D5] //#define MBReg[INX_0D6] //#define MBReg[INX_0D7] //#define MBReg[INX_0D8] //#define MBReg[INX_0D9] #define minLeakFlowRate MBReg[INX_0DA] #define maxLeakFlowRate MBReg[INX_0DB] #define leakDetectTime MBReg[INX_0DC] //#define MBReg[INX_0DD] #define GDCFactorAType MBReg[INX_0DE] //#define MBReg[INX_0DF] //#define MBReg[INX_0E0] //#define MBReg[INX_0E1] //#define MBReg[INX_0E2] //#define MBReg[INX_0E3] //#define MBReg[INX_0E4] //#define MBReg[INX_0E5] //#define MBReg[INX_0E6] //#define MBReg[INX_0E7] //#define MBReg[INX_0E8] //#define MBReg[INX_0E9] //#define MBReg[INX_0EA] //#define MBReg[INX_0EB] //#define MBReg[INX_0EC] //#define MBReg[INX_0ED] //#define MBReg[INX_0EE] //#define MBReg[INX_0EF] #define CMDCalOffset MBReg[INX_0F0] #define CMDClrRecord MBReg[INX_0F1] //#define MBReg[INX_0F2] //#define MBReg[INX_0F3] //#define MBReg[INX_0F4] //#define MBReg[INX_0F5] //#define MBReg[INX_0F6] //#define MBReg[INX_0F7] //#define MBReg[INX_0F8] //#define MBReg[INX_0F9] //#define MBReg[INX_0FA] //#define MBReg[INX_0FB] //#define MBReg[INX_0FC] //#define MBReg[INX_0FD] //#define MBReg[INX_0FE] #define CMDComPassword MBReg[INX_0FF] #define MAPPoint1 MBReg[INX_100] #define MAPPoint2 MBReg[INX_101] #define MAPPoint3 MBReg[INX_102] #define MAPPoint4 MBReg[INX_103] #define MAPPoint5 MBReg[INX_104] #define MAPPoint6 MBReg[INX_105] #define MAPPoint7 MBReg[INX_106] #define MAPPoint8 MBReg[INX_107] #define MAPPoint9 MBReg[INX_108] #define MAPPoint10 MBReg[INX_109] #define MAPPoint11 MBReg[INX_10A] #define MAPPoint12 MBReg[INX_10B] #define MAPPoint13 MBReg[INX_10C] #define MAPPoint14 MBReg[INX_10D] #define MAPPoint15 MBReg[INX_10E] #define MAPPoint16 MBReg[INX_10F] #define MAPPoint17 MBReg[INX_110] #define MAPPoint18 MBReg[INX_111] #define MAPPoint19 MBReg[INX_112] #define MAPPoint20 MBReg[INX_113] #define MAPPoint21 MBReg[INX_114] #define MAPPoint22 MBReg[INX_115] #define MAPPoint23 MBReg[INX_116] #define MAPPoint24 MBReg[INX_117] #define MAPPoint25 MBReg[INX_118] #define MAPPoint26 MBReg[INX_119] #define MAPPoint27 MBReg[INX_11A] #define MAPPoint28 MBReg[INX_11B] #define MAPPoint29 MBReg[INX_11C] #define MAPPoint30 MBReg[INX_11D] #define MAPPoint31 MBReg[INX_11E] #define MAPPoint32 MBReg[INX_11F] #define MAPPoint33 MBReg[INX_120] #define MAPPoint34 MBReg[INX_121] #define MAPPoint35 MBReg[INX_122] #define MAPPoint36 MBReg[INX_123] #define MAPPoint37 MBReg[INX_124] #define MAPPoint38 MBReg[INX_125] #define MAPPoint39 MBReg[INX_126] #define MAPPoint40 MBReg[INX_127] #define MAPPoint41 MBReg[INX_128] #define MAPPoint42 MBReg[INX_129] #define MAPPoint43 MBReg[INX_12A] #define MAPPoint44 MBReg[INX_12B] #define MAPPoint45 MBReg[INX_12C] #define MAPPoint46 MBReg[INX_12D] #define MAPPoint47 MBReg[INX_12E] #define MAPPoint48 MBReg[INX_12F] #define dcoefNum MBReg[INX_130] //#define MBReg[INX_131] //#define MBReg[INX_132] //#define MBReg[INX_133] //#define MBReg[INX_134] //#define MBReg[INX_135] //#define MBReg[INX_136] //#define MBReg[INX_137] //#define MBReg[INX_138] //#define MBReg[INX_139] //#define MBReg[INX_13A] //#define MBReg[INX_13B] //#define MBReg[INX_13C] //#define MBReg[INX_13D] //#define MBReg[INX_13E] //#define MBReg[INX_13F] //#define MBReg[INX_140] //#define MBReg[INX_141] //#define MBReg[INX_142] //#define MBReg[INX_143] //#define MBReg[INX_144] //#define MBReg[INX_145] //#define MBReg[INX_146] //#define MBReg[INX_147] //#define MBReg[INX_148] //#define MBReg[INX_149] //#define MBReg[INX_14A] //#define MBReg[INX_14B] //#define MBReg[INX_14C] //#define MBReg[INX_14D] //#define MBReg[INX_14E] //#define MBReg[INX_14F] //#define MBReg[INX_150] //#define MBReg[INX_151] //#define MBReg[INX_152] //#define MBReg[INX_153] //#define MBReg[INX_154] //#define MBReg[INX_155] //#define MBReg[INX_156] //#define MBReg[INX_157] //#define MBReg[INX_158] //#define MBReg[INX_159] //#define MBReg[INX_15A] //#define MBReg[INX_15B] //#define MBReg[INX_15C] //#define MBReg[INX_15D] //#define MBReg[INX_15E] //#define MBReg[INX_15F] //#define MBReg[INX_160] //#define MBReg[INX_161] //#define MBReg[INX_162] //#define MBReg[INX_163] //#define MBReg[INX_164] //#define MBReg[INX_165] //#define MBReg[INX_166] //#define MBReg[INX_167] //#define MBReg[INX_168] //#define MBReg[INX_169] //#define MBReg[INX_16A] //#define MBReg[INX_16B] //#define MBReg[INX_16C] //#define MBReg[INX_16D] //#define MBReg[INX_16E] //#define MBReg[INX_16F] //#define MBReg[INX_170] //#define MBReg[INX_171] //#define MBReg[INX_172] //#define MBReg[INX_173] //#define MBReg[INX_174] //#define MBReg[INX_175] //#define MBReg[INX_176] //#define MBReg[INX_177] //#define MBReg[INX_178] //#define MBReg[INX_179] //#define MBReg[INX_17A] //#define MBReg[INX_17B] //#define MBReg[INX_17C] //#define MBReg[INX_17D] //#define MBReg[INX_17E] //#define MBReg[INX_17F] //#define MBReg[INX_180] /*****************************************************************************************/ extern u16 MBReg[]; #define GET_MBWORD_IDX(var) ((u32)(&(var) - MBReg)) //变量 → 索引var为MBReg[index]的变量名 #define GET_MBWORD_ADDR(var) (MEM_ADDR_REG_0X30+GET_MBWORD_IDX(var)*REG_WORD_WIDTH)//变量 → 地址var为MBReg[index]的变量名 #define ADR_MBWORD_IDX(adr) (((u32)(adr) - MEM_ADDR_REG_0X30) / REG_WORD_WIDTH)//地址 → 索引 adr为MBReg[index]的实际内存地址 /*****************************************************************************************/ #define SERIES_BASE GET_MBWORD_ADDR(meterSN1) #define SERIES_DEPTH 12 //-------------------------------------------------------- u16 SetupResponseTimeIndex(u16 response, u16 responseDefalt); u16 SetupResponseTime(u16 response, u16 responseDefalt); void InitUseBusParameter(void); void UseBusParameterInit(void); void UseBusParameterReset(void); void UserReadDataProtocol(void); void UserWriteDataProtocol(void); #endif