367 lines
19 KiB
C
367 lines
19 KiB
C
|
|
#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)) //<2F><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>varΪMBReg[index]<5D>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define GET_MBWORD_ADDR(var) (MEM_ADDR_REG_0X30+GET_MBWORD_IDX(var)*REG_WORD_WIDTH)//<2F><><EFBFBD><EFBFBD> <20><> <20><>ַvarΪMBReg[index]<5D>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ADR_MBWORD_IDX(adr) (((u32)(adr) - MEM_ADDR_REG_0X30) / REG_WORD_WIDTH)//<2F><>ַ <20><> <20><><EFBFBD><EFBFBD> adrΪMBReg[index]<5D><>ʵ<EFBFBD><CAB5><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ַ
|
|||
|
|
|
|||
|
|
/*****************************************************************************************/
|
|||
|
|
#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
|