forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-22 66ea95dcb8fd91d29465c2f11ced4dd6153a2504
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
/**
  ******************************************************************************
  * @file    regmap.h
  * @author  AndyChen
  * @version V1.0
  * @date    2015-xx-xx
  * @brief   Modbus register address map
  ******************************************************************************
  * @attention
  *  
  ******************************************************************************
  */ 
 
/* Define to prevent recursive inclusion --------------------------------------*/
 
#ifndef __REGMAP_H
 
#define __REGMAP_H
 
/* Includes -------------------------------------------------------------------*/
 
#include "define_all.h" 
 
/* Exported_Macros ------------------------------------------------------------*/
 
typedef uint16_t uint16;
typedef uint32_t uint32;
 
/* Exported_Types -------------------------------------------------------------*/
 
//2 byte aligned
#pragma pack(2)
 
/*-------------------------------É豸ÐòÁкÅ------------------------------------*/
 
//address: 0000~0039
typedef    struct
{                                            /* Register        Type           R/W */
    uint16        serialNum[4];                  /* 0      64bit integer     r/w */
    
    uint16        hardwareVerSn[3];            /* 1      32bit integer     r/w */
    uint16        firmwareVer[3];                /* 6       32bit integer    r/w */
    uint16        firmwareCRC;                  /* 8         16bit integer     r/w */
    uint16        firmwareVerDate_year;            /* 9        32bit integer     r/w */    
    uint16        firmwareVerDate_month;            /* 9        32bit integer     r/w */    
    uint16        firmwareVerDate_day;            /* 9        32bit integer     r/w */    
    
    uint16        psSerialNum[4];                /* 11        64bit integer     r/w */
    uint16        tsSerialNum[4];                /* 15        64bit integer     r/w */
    
    uint16        supersonicA1[4];            /* 19        64bit integer     r/w */
    uint16        supersonicA2[4];            /* 23        64bit integer     r/w */
    uint16        supersonicA3[4];            /* 27        64bit integer     r/w */
    
    uint16        supersonicB1[4];            /* 31        64bit integer     r/w */
    uint16        supersonicB2[4];            /* 35        64bit integer     r/w */
    uint16        supersonicB3[4];            /* 39        64bit integer     r/w */
    
} deviceSerialNum_t;
 
/*-------------------------------É豸ÅäÖòÎÊý-----------------------------------*/
 
//Part I 
//address: 1001~1030
typedef struct
{                                            /* Register        Type           R/W */
    uint16        systemMode;                    /* 1001      16bit integer   r/w */
    
    float        mid_distance;            /* 1002      16bit float     r/w */
    float        up_distance;    
    float        down_distance;    
    float        mid_a_compensate_time;            
    float        mid_b_compensate_time;                
    float        up_a_compensate_time;            
    float        up_b_compensate_time;                
    float        down_a_compensate_time;            
    float        down_b_compensate_time;            
    float        set_sound_speed;            
    
    u16            device_id[4];
 
    //25
    u16            mid_A_level;            
    u16            mid_B_level;
    u16            up_A_level;            
    u16            up_B_level;    
    u16            down_A_level;            
    u16            down_B_level;            
    u16            device_type;
    
    //32
    /*¼ÓÁË6¸öµØÖ·*/
    u16            device_gprs_ip[2];
    u16            device_gprs_port;
    //35
    u16     measure_channel;
    float        flow_mid;
    float        flow_up;
    float        flow_down;
 
    u16            current_open_state;
    u16            current_flow_max;
} deviceConfigParam_t1;
 
//Part II 
//address: 1049~1100
typedef struct
{                                            /* Register        Type           R/W */
 
    
    float        flowCalibFactor[10];            /* 1049      32bit float     r/w */    
//     float        flowCalibFactor2;            /* 1051      32bit float     r/w */
//     float        flowCalibFactor3;            /* 1053      32bit float     r/w */    
//     float        flowCalibFactor4;            /* 1055      32bit float     r/w */
//     float        flowCalibFactor5;            /* 1057      32bit float     r/w */    
//     float        flowCalibFactor6;            /* 1059      32bit float     r/w */
//     float        flowCalibFactor7;            /* 1061      32bit float     r/w */    
//     float        flowCalibFactor8;            /* 1063      32bit float     r/w */
//     float        flowCalibFactor9;            /* 1065      32bit float     r/w */    
//     float        flowCalibFactor10;            /* 1067      32bit float     r/w */
    
    float        flowSegmentPoint[10];            /* 1069      32bit float     r/w */    
//     float        flowSegmentPoint2;            /* 1071      32bit float     r/w */
//     float        flowSegmentPoint3;            /* 1073      32bit float     r/w */    
//     float        flowSegmentPoint4;            /* 1075      32bit float     r/w */
//     float        flowSegmentPoint5;            /* 1077      32bit float     r/w */    
//     float        flowSegmentPoint6;            /* 1079      32bit float     r/w */
//     float        flowSegmentPoint7;            /* 1081      32bit float     r/w */    
//     float        flowSegmentPoint8;            /* 1083      32bit float     r/w */
//     float        flowSegmentPoint9;            /* 1085      32bit float     r/w */    
//     float        flowSegmentPoint10;            /* 1087      32bit float     r/w */
    
    float        mProbePostiveDelay;            /* 1089      16bit integer   r/w */
    float        mProbeReverseDelay;            /* 1091      16bit integer   r/w */
    float        uProbePostiveDelay;            /* 1093      16bit integer   r/w */
    float        uProbeReverseDelay;            /* 1095      16bit integer   r/w */
    float        dProbePostiveDelay;            /* 1097      16bit integer   r/w */
    float        dProbeReverseDelay;            /* 1099      16bit integer   r/w */
    
} deviceConfigParam_t2;
 
//Part III 
//address: 1101~1140
typedef struct
{                                            /* Register        Type           R/W */
    float        indicationError[10];            /* 1101      32bit float     r/w */    
//     float        indicationError2;            /* 1103      32bit float     r/w */
//     float        indicationError3;            /* 1105      32bit float     r/w */    
//     float        indicationError4;            /* 1107      32bit float     r/w */
//     float        indicationError5;            /* 1109      32bit float     r/w */    
//     float        indicationError6;            /* 1111      32bit float     r/w */
//     float        indicationError7;            /* 1113      32bit float     r/w */    
//     float        indicationError8;            /* 1115      32bit float     r/w */
//     float        indicationError9;            /* 1117      32bit float     r/w */    
//     float        indicationError10;            /* 1119      32bit float     r/w */
    
    float        stdEquipmentFlow[10];            /* 1121      32bit float     r/w */    
//     float        stdEquipmentFlow2;            /* 1123      32bit float     r/w */
//     float        stdEquipmentFlow3;            /* 1125      32bit float     r/w */    
//     float        stdEquipmentFlow4;            /* 1127      32bit float     r/w */
//     float        stdEquipmentFlow5;            /* 1129      32bit float     r/w */    
//     float        stdEquipmentFlow6;            /* 1131      32bit float     r/w */
//     float        stdEquipmentFlow7;            /* 1133      32bit float     r/w */    
//     float        stdEquipmentFlow8;            /* 1135      32bit float     r/w */
//     float        stdEquipmentFlow9;            /* 1137      32bit float     r/w */    
//     float        stdEquipmentFlow10;            /* 1139      32bit float     r/w */
    
    
} deviceConfigParam_t3;
 
//Part IV 
//address: 1141~1180
typedef struct
{                                            /* Register        Type           R/W */
    uint16        gprsTimeModeSet;            /* 1141      16bit integer   r/w */
    uint16        gprsTimeSet;                /* 1142      16bit integer   r/w */        
    
    float        temperatureRevC_K;            /* 1143      32bit float     r/w */    
    float        temperaturePosB_B;            /* 1145      32bit float     r/w */
    
    float        pressureRevC_K;                /* 1147      32bit float     r/w */    
    float        pressurePosB_B;                /* 1149      32bit float     r/w */
    
    float        tempThreshold_Min;            /* 1151      16bit integer     r/w */    
    float        tempThreshold_Max;            /* 1153      16bit integer     r/w */
    
    float        presThreshold_Min;            /* 1155      16bit integer     r/w */    
    float        presThreshold_Max;            /* 1157      16bit integer     r/w */
    
    float        flowThreshold_Max;            /* 1159      16bit integer     r/w */
 
    float        flowThreshold_Min;            /* 1161      16bit integer     r/w */
 
    float        smallflow_cut;                /* 1163      16bit integer     r/w */
    
    uint16        pulseOutputMode;            /* 1165      16bit integer     r/w */
    
    float        pulseCoefficient;            /* 1166,1167      32bit float     r/w */
 
    uint16        warningInfoStatus;            /* 1168      32bit float     r/w */
    uint16        paraInfoStatus;                /* 1169      32bit float     r/w */        
    
    //uint16        reg_void;
 
 
//    uint16        visitorPassword;            /* 1169      16bit integer     r/w */
    uint16        userPassword;                /* 1170      16bit integer     r/w */
    uint16        authUsrPassword;            /* 1171      16bit integer     r/w */
    
    uint16   monthbackup_set;      /* 1172      16bit integer     r/w */
    uint16   daybackup_set;       /* 1173      16bit integer     r/w */
    uint16   periodbackup_set;     /* 1174      16bit integer     r/w */
    
    uint16   RTCtime_year;        /* 1175      16bit integer     r/w */
    uint16   RTCtime_month;       /* 1176      16bit integer     r/w */
    uint16   RTCtime_day;         /* 1177      16bit integer     r/w */
    uint16   RTCtime_hour;        /* 1178      16bit integer     r/w */
    uint16   RTCtime_min;         /* 1179      16bit integer     r/w */
    uint16   RTCtime_sec;         /* 1180      16bit integer     r/w */
    uint16        lowpluseMode;            /* 1181   16bit integer     r/w */
    uint16        lowPluseWide;            /* 1182     16bit integer     r/w */
    float        fill_addr;                /* 1183   32bit float     r/w */
    uint16        devSlaveAddr;            /* 1185      16bit integer     r/w */
    uint16        devBaudRate;            /* 1186      16bit integer     r/w */
    uint16        monthbackupLogNum;            /* 1187      16bit integer     r/w */
    uint16        daybackupLogNum;            /* 1188      16bit integer     r/w */
    uint16        periodbackupLogNum;            /* 1189      16bit integer     r/w */
    
    uint16        monthbackuptranscmd;            /* 1190      16bit integer     r/w */
    uint16        daybackuptranscmd;            /* 1191      16bit integer     r/w */
    uint16        periodbackuptranscmd;            /* 1192      16bit integer     r/w */
    uint16        eventlogtranscmd;            /* 1193      16bit integer     r/w */
    uint16        paralogtranscmd;            /* 1194     16bit integer     r/w */
    uint16        othercmd;                        /* 1195      16bit integer     r/w */
    float        user_error[10];                        /*1196-1215*/
    float        user_flow[10];                        /*1216-1235*/
    uint16        password;                        /* 1236     16bit integer     r/w */
    uint16        superpassword;                    /* 1237     16bit integer     r/w */
    uint16        confirmpassword;                /* 1238     16bit integer     r/w */
    uint16        confirmsuperpassword;            /* 1239     16bit integer     r/w */
    float        user_cal_error[10];                        /*1240-1259*/
    float        user_cal_flow[10];                        /*1260-1279*/
    uint16        gas_type;                    /*1280*/
    float        gas_factor;                    /*1281,1282*/
 
    
} deviceConfigParam_t4;
 
 
 
/*-------------------------------Á÷Á¿¼Æ¼ÆÁ¿ÐÅÏ¢------------------------------------*/
 
//address: 3000~3029
typedef struct
{                                            /* Register        Type           R/W */
    float        workConTotalFlow;            /* 3000        32bit float         r/w */
    float        stdConTotalFlow;            /* 3002        32bit float         r/w */
    
    float        workConInstantFlow;            /* 3004        32bit float         r/w */
    float        stdConInstantFlow;            /* 3006        32bit float         r/w */
 
    float        todayWorkFlow;                /* 3008        32bit float         r/w */
    float        yesterdayWorkFlow;            /* 3010        32bit float         r/w */
 
    float        monthWorkFlow;                /* 3012        32bit float         r/w */
    float        lastmonthWorkFlow;            /* 3014        32bit float         r/w */
 
    float        todayStdFlow;                /* 3016        32bit float         r/w */
    float        yesterdayStdFlow;            /* 3018        32bit float         r/w */
 
    float        monthStdFlow;                /* 3020        32bit float         r/w */
    float        lastmonthStdFlow;            /* 3022        32bit float         r/w */
    
    float       temperatureValue;            /* 3024        32bit float         r/w */    
    float       pressureValue;                /* 3026        32bit float         r/w */
 
    
    
} flowMeterMsrInfo_t;
 
 
typedef struct
{                                            /* Register Type   R */
    float        midA;                        /* 4701         r */
    float        midB;                        /* 4703            r */
    float        upA;                        /* 4705         r */
    float        upB;                        /* 4707            r */
    float        downA;                        /* 4709            r */
    float        downB;                        /* 4711            r */
    float        mid_sound;                    /* 4713            r */    
    float        up_sound;                    /* 4715            r */    
    float        down_sound;                    /* 4717            r */    
 
 
    uint16        snrmidA;                    /* 4719            r */    
    uint16        snrmidB;                    /* 4720            r */    
    uint16        snrupA;                        /* 4721            r */    
    uint16        snrupB;                        /* 4722            r */    
    uint16        snrdownA;                    /* 4723            r */    
    uint16        snrdownB;                    /* 4724            r */    
    
    uint16        gainmidA;                    /* 4725            r */    
    uint16        gainmidB;                    /* 4726            r */    
    uint16        gainupA;                    /* 4727            r */    
    uint16        gainupB;                    /* 4728            r */    
    uint16        gaindownA;                    /* 4729            r */    
    uint16        gaindownB;                    /* 4730            r */    
 
    uint16        sigstremidA;                /* 4731            r */    
    uint16        sigstremidB;                /* 4732            r */    
    uint16        sigstreupA;                    /* 4733            r */    
    uint16        sigstreupB;                    /* 4734            r */    
    uint16        sigstredownA;                /* 4735            r */    
    uint16        sigstredownB;                /* 4736            r */    
 
    float        mid_flow;                    /* 4737            r */ 
    float        up_flow;                    /* 4739            r */ 
    float        down_flow;                    /* 4741            r */ 
 
    u16            mid_A_level1;            
    u16            mid_B_level1;
    u16            up_A_level1;            
    u16            up_B_level1;    
    u16            down_A_level1;            
    u16            down_B_level1;    
    
    u16            mid_A_level2;            
    u16            mid_B_level2;
    u16            up_A_level2;            
    u16            up_B_level2;    
    u16            down_A_level2;            
    u16            down_B_level2;    
    
    
    float        updowncal_flow;
    float        midcal_flow;
    float        updowm_mid_rate;
    
    u16            system_state;
    float        mid_sig_rate;
    float        up_sig_rate;
    float        down_sig_rate;
    
} deviceMsrInfo_t;
 
typedef struct
{                                            /* Register Type   R */
  u16   system_workstatus;   //4001
} regworkstatusInfo_t;
 
 
#pragma pack()
 
/* Exported_Functions ---------------------------------------------------------*/
 
 
#endif
/******************* (C) COPYRIGHT 2015 AndyChen *******END OF FILE*************/