dlt645_api_07.h 86 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725
  1. /*******************************************************************************
  2. File name: dlt645_api_07.h
  3. Author: 李明
  4. Version: 1.0
  5. Date: 2012年10月22日
  6. Description: dlt645 2007版规约解析头文件,用于智能采集终端与集中器、集中
  7. 器与智能电表通信的规约处理
  8. Others:
  9. Function List:
  10. 1. History:
  11. 1) Date:
  12. 2) Author:
  13. 3) Modification: Created
  14. 2. ...
  15. *******************************************************************************/
  16. #ifndef _DLT645_API_2007_H_
  17. #define _DLT645_API_2007_H_
  18. #pragma pack(push) // 采用一字节对齐
  19. #pragma pack(1)
  20. /* 调试开关 */
  21. #define D07_DEBUG_ON
  22. #undef D07_DEBUG_ON // 正式版注释掉
  23. #ifdef D07_DEBUG_ON
  24. #define OUT_BUF_LEN 1024
  25. #define D07_ON 0
  26. #define D07_OFF 1
  27. extern int g_need_pack_07;
  28. extern char g_out_data_07[OUT_BUF_LEN];
  29. #endif
  30. #ifndef _TYPE_DEF_LM_
  31. #define _TYPE_DEF_LM_
  32. #ifndef __RTL_H__
  33. #define __RTL_H__
  34. #ifndef BOOL
  35. typedef char BOOL;
  36. #endif // !BOOL
  37. #endif
  38. #ifndef TRUE
  39. #define TRUE 1
  40. #endif
  41. #ifndef FALSE
  42. #define FALSE 0
  43. #endif
  44. typedef unsigned char UCHAR;
  45. typedef char CHAR;
  46. typedef unsigned short USHORT;
  47. typedef short SHORT;
  48. typedef unsigned long ULONG;
  49. typedef long LONG;
  50. #ifndef _TYPE_DEF_
  51. #define _TYPE_DEF_
  52. typedef char INT8; //c
  53. typedef short INT16; //s
  54. typedef int INT32; //l
  55. typedef unsigned char UINT8; //uc
  56. typedef unsigned short UINT16; //us
  57. typedef unsigned int UINT32; //ul
  58. #ifdef MACHINE_64_BITS
  59. typedef long INT64;
  60. typedef unsigned long UINT64;
  61. #else
  62. typedef long long INT64;
  63. typedef unsigned long long UINT64;
  64. #endif
  65. typedef char* STRING; //str
  66. typedef char ISBOOL; //b
  67. typedef unsigned int IPADDR; //ip
  68. typedef double DOUBLE;
  69. typedef void* FRWK_HANDLE;
  70. #endif
  71. #endif
  72. /* 宏定义 **/
  73. #define NAME_LEN 128
  74. #define UNKNOWN_RULER_ID 0XFFFFFFFF
  75. #define D07_ADDR_LEN 12 /* 地址长 */
  76. #define D07_DATA_MAX_NR 240 /* dlt645 2007 最大数据域字节数算规约ID */
  77. #define D07_DATA_MAX (D07_DATA_MAX_NR + 4) /* dlt645 2007 最大数据域字节数 */
  78. #define D07_FRAME_LEN_MIN 12 /* DLT645 2007 最小帧字节数 */
  79. /*功能码 2007*/
  80. #define D07_CTRL_RESV 0x00 // 保留
  81. #define D07_CTRL_SYNC_TIME 0x08 // 广播校时
  82. #define D07_CTRL_READ_DATA 0x11 // 读数据
  83. #define D07_CTRL_READ_AFTERDATA 0x12 // 读后续数据
  84. #define D07_CTRL_READ_ADDR 0x13 // 读通信地址
  85. #define D07_CTRL_WRITE_DATA 0x14 // 写数据
  86. #define D07_CTRL_WRITE_ADDR 0x15 // 写通信地址
  87. #define D07_CTRL_FREEZ_COMM 0x16 // 冻结命令
  88. #define D07_CTRL_MODIFY_BAUD 0x17 // 修改通信速率
  89. #define D07_CTRL_MODIFY_PASSWORD 0x18 // 修改密码
  90. #define D07_CTRL_CLEAR_MAXDEMAND 0x19 // 最大需量清零
  91. #define D07_CTRL_CLEAR_METER 0x1A // 电表清零
  92. #define D07_CTRL_CLEAR_EVENT 0x1B // 事件清零
  93. #define D07_CTRL_COMM 0x1C // 控制命令
  94. /** 宏定义 */
  95. /* 返回值类型 列表*/
  96. typedef enum
  97. {
  98. E_D07_OK = 0, /* 返回OK */
  99. E_D07_ERRO_NULL, /* 指针为空 */
  100. E_D07_ERRO_UNKOWN_ID, // 未知规约ID
  101. E_D07_ERRO_PARA_NONE, /* 不存在 */
  102. E_D07_ERRO_PARA_OUT_RANGE,
  103. //check frame
  104. E_D07_ERRO_FRAME_UNCOMP, /* 不完整的帧数据 */
  105. E_D07_ERRO_FRAME_0x68, /* 测试帧帧起始符 0x68 的位置不对 */
  106. E_D07_ERRO_FRAME_CHECK_SUM, /* 测试帧检验和不对 */
  107. E_D07_ERRO_FRAME_END_0x16, /* 测试帧结束符 0x16 不对 */
  108. E_D07_ERRO_NONE_FRAME, // 没有找到帧
  109. }eD07Err;
  110. /* dlt645 2007规约类型 **/
  111. typedef enum
  112. {
  113. E_D07_RULER_TYPE_UNKNOWN = 0, // 未知的规约类型
  114. /* 标准协议 */
  115. E_D07_RULER_TYPE_A1_MIN,
  116. /* [00] [00] [(00~FF)] [00] */
  117. E_D07_RULER_TYPE_COMB_HAVE_POWER_TOTAL = E_D07_RULER_TYPE_A1_MIN,// 组合有功总电能
  118. E_D07_RULER_TYPE_COMB_HAVE_POWER_RATE, // 组合有功费率电能
  119. E_D07_RULER_TYPE_COMB_HAVE_POWER_BLOCK, // 组合有电能数据块
  120. /* [00] [01] [(00~FF)] [00] */
  121. E_D07_RULER_TYPE_FORTH_HAVE_POWER_TOTAL, // 正向有功总电能
  122. E_D07_RULER_TYPE_FORTH_HAVE_POWER_RATE, // 正向有功费率电能
  123. E_D07_RULER_TYPE_FORTH_HAVE_POWER_BLOCK, // 正向有功电能数据块
  124. /* [00] [02] [(00~FF)] [00] */
  125. E_D07_RULER_TYPE_BACK_HAVE_POWER_TOTAL, // 反向有功总电能
  126. E_D07_RULER_TYPE_BACK_HAVE_POWER_RATE, // 反向有功费率电能
  127. E_D07_RULER_TYPE_BACK_HAVE_POWER_BLOCK, // 反向有功电能数据块
  128. /* [00] [03] [(00~FF)] [00] */
  129. E_D07_RULER_TYPE_COMB_NONE_1_POWER_TOTAL, // 组合无功1总电能
  130. E_D07_RULER_TYPE_COMB_NONE_1_POWER_RATE, // 组合无功1费率电能
  131. E_D07_RULER_TYPE_COMB_NONE_1_POWER_BLOCK, // 组合无功1电能数据块
  132. /* [00] [04] [(00~FF)] [00] */
  133. E_D07_RULER_TYPE_COMB_NONE_2_POWER_TOTAL, // 组合无功2总电能
  134. E_D07_RULER_TYPE_COMB_NONE_2_POWER_RATE, // 组合无功2费率电能
  135. E_D07_RULER_TYPE_COMB_NONE_2_POWER_BLOCK, // 组合无功2电能数据块
  136. /* [00] [05] [(00~FF)] [00] */
  137. E_D07_RULER_TYPE_QUAD_1_NONE_POWER_TOTAL, // 第一象限无功总电能
  138. E_D07_RULER_TYPE_QUAD_1_NONE_POWER_RATE, // 第一象限无功费率电能
  139. E_D07_RULER_TYPE_QUAD_1_NONE_POWER_BLOCK, // 第一象限无功电能数据块
  140. /* [00] [06] [(00~FF)] [00] */
  141. E_D07_RULER_TYPE_QUAD_2_NONE_POWER_TOTAL, // 第二象限无功总电能
  142. E_D07_RULER_TYPE_QUAD_2_NONE_POWER_RATE, // 第二象限无功费率电能
  143. E_D07_RULER_TYPE_QUAD_2_NONE_POWER_BLOCK, // 第二象限无功电能数据块
  144. /* [00] [07] [(00~FF)] [00] */
  145. E_D07_RULER_TYPE_QUAD_3_NONE_POWER_TOTAL, // 第三象限无功总电能
  146. E_D07_RULER_TYPE_QUAD_3_NONE_POWER_RATE, // 第三象限无功费率电能
  147. E_D07_RULER_TYPE_QUAD_3_NONE_POWER_BLOCK, // 第三象限无功电能数据块
  148. /* [00] [08] [(00~FF)] [00] */
  149. E_D07_RULER_TYPE_QUAD_4_NONE_POWER_TOTAL, // 第四象限无功总电能
  150. E_D07_RULER_TYPE_QUAD_4_NONE_POWER_RATE, // 第四象限无功费率电能
  151. E_D07_RULER_TYPE_QUAD_4_NONE_POWER_BLOCK, // 第四象限无功电能数据块
  152. /* [00] [09] [(00~FF)] [00] */
  153. E_D07_RULER_TYPE_FORTH_APPARENT_POWER_TOTAL, // 正向视在总电能
  154. E_D07_RULER_TYPE_FORTH_APPARENT_POWER_RATE, // 正向视在费率电能
  155. E_D07_RULER_TYPE_FORTH_APPARENT_POWER_BLOCK, // 正向视在电能数据块
  156. /* [00] [0A] [(00~FF)] [00] */
  157. E_D07_RULER_TYPE_BACK_APPARENT_POWER_TOTAL, // 反向视在总电能
  158. E_D07_RULER_TYPE_BACK_APPARENT_POWER_RATE, // 反向视在费率电能
  159. E_D07_RULER_TYPE_BACK_APPARENT_POWER_BLOCK, // 反向视在电能数据块
  160. /* [00] [80][00] [00] */
  161. E_D07_RULER_TYPE_ASSO_POWER_TOTAL, // 关联总电能
  162. /* [00] [81][00] [00] */
  163. E_D07_RULER_TYPE_FORTH_FUND_HAVE_POWER_TOTAL, // 正向有功基波总电能
  164. /* [00] [82][00] [00] */
  165. E_D07_RULER_TYPE_BACK_FUND_HAVE_POWER_TOTAL, // 反向有功基波总电能
  166. /* [00] [83][00] [00] */
  167. E_D07_RULER_TYPE_FORTH_HARM_HAVE_POWER_TOTAL, // 正向有功谐波总电能
  168. /* [00] [84][00] [00] */
  169. E_D07_RULER_TYPE_BACK_HARM_HAVE_POWER_TOTAL, // 反向有功谐波总电能
  170. /* [00] [85][00] [00] */
  171. E_D07_RULER_TYPE_COPR_LOSS_HAVE_POWER_COMP_TOTAL, // 铜损有功总电能补偿量
  172. /* [00] [86][00] [00] */
  173. E_D07_RULER_TYPE_CORE_LOSS_HAVE_POWER_COMP_TOTAL, // 铁损有功总电能补偿量
  174. /* [00] [(15~9A)][00] [00] */
  175. E_D07_RULER_TYPE_PHASE_A_FORTH_HAVE_POWER, // A相正向有功电能
  176. E_D07_RULER_TYPE_PHASE_A_BACK_HAVE_POWER, // A相反向有功电能
  177. E_D07_RULER_TYPE_PHASE_A_COMB_NONE_1_POWER, // A相组合无功1电能
  178. E_D07_RULER_TYPE_PHASE_A_COMB_NONE_2_POWER, // A相组合无功2电能
  179. E_D07_RULER_TYPE_PHASE_A_QUAD_1_NONE_POWER, // A相第一象限无功电能
  180. E_D07_RULER_TYPE_PHASE_A_QUAD_2_NONE_POWER, // A相第二象限无功电能
  181. E_D07_RULER_TYPE_PHASE_A_QUAD_3_NONE_POWER, // A相第三象限无功电能
  182. E_D07_RULER_TYPE_PHASE_A_QUAD_4_NONE_POWER, // A相第四象限无功电能
  183. E_D07_RULER_TYPE_PHASE_A_FORTH_APPARENT_POWER, // A相正向视在电能
  184. E_D07_RULER_TYPE_PHASE_A_BACK_APPARENT_POWER, // A相反向视在电能
  185. E_D07_RULER_TYPE_PHASE_A_ASSO_POWER, // A相关联电能
  186. E_D07_RULER_TYPE_PHASE_A_FORTH_FUND_HAVE_POWER, // A相正向有功基波电能
  187. E_D07_RULER_TYPE_PHASE_A_BACK_FUND_HAVE_POWER, // A相反向有功基波电能
  188. E_D07_RULER_TYPE_PHASE_A_FORTH_HARM_HAVE_POWER, // A相正向有功谐波电能
  189. E_D07_RULER_TYPE_PHASE_A_BACK_HARM_HAVE_POWER, // A相反向有功谐波电能
  190. E_D07_RULER_TYPE_PHASE_A_COPR_LOSS_HAVE_POWER_COMP, // A相铜损有功电能补偿量
  191. E_D07_RULER_TYPE_PHASE_A_CORE_LOSS_HAVE_POWER_COMP, // A相铁损有功电能补偿量
  192. /* [00] [(29~AE)][00] [00] */
  193. E_D07_RULER_TYPE_PHASE_B_FORTH_HAVE_POWER, // B相正向有功电能
  194. E_D07_RULER_TYPE_PHASE_B_BACK_HAVE_POWER, // B相反向有功电能
  195. E_D07_RULER_TYPE_PHASE_B_COMB_NONE_1_POWER, // B相组合无功1电能
  196. E_D07_RULER_TYPE_PHASE_B_COMB_NONE_2_POWER, // B相组合无功2电能
  197. E_D07_RULER_TYPE_PHASE_B_QUAD_1_NONE_POWER, // B相第一象限无功电能
  198. E_D07_RULER_TYPE_PHASE_B_QUAD_2_NONE_POWER, // B相第二象限无功电能
  199. E_D07_RULER_TYPE_PHASE_B_QUAD_3_NONE_POWER, // B相第三象限无功电能
  200. E_D07_RULER_TYPE_PHASE_B_QUAD_4_NONE_POWER, // B相第四象限无功电能
  201. E_D07_RULER_TYPE_PHASE_B_FORTH_APPARENT_POWER, // B相正向视在电能
  202. E_D07_RULER_TYPE_PHASE_B_BACK_APPARENT_POWER, // B相反向视在电能
  203. E_D07_RULER_TYPE_PHASE_B_ASSO_POWER, // B相关联电能
  204. E_D07_RULER_TYPE_PHASE_B_FORTH_FUND_HAVE_POWER, // B相正向有功基波电能
  205. E_D07_RULER_TYPE_PHASE_B_BACK_FUND_HAVE_POWER, // B相反向有功基波电能
  206. E_D07_RULER_TYPE_PHASE_B_FORTH_HARM_HAVE_POWER, // B相正向有功谐波电能
  207. E_D07_RULER_TYPE_PHASE_B_BACK_HARM_HAVE_POWER, // B相反向有功谐波电能
  208. E_D07_RULER_TYPE_PHASE_B_COPR_LOSS_HAVE_POWER_COMP, // B相铜损有功电能补偿量
  209. E_D07_RULER_TYPE_PHASE_B_CORE_LOSS_HAVE_POWER_COMP, // B相铁损有功电能补偿量
  210. /* [00] [(3D~C2)][00] [00] */
  211. E_D07_RULER_TYPE_PHASE_C_FORTH_HAVE_POWER, // C相正向有功电能
  212. E_D07_RULER_TYPE_PHASE_C_BACK_HAVE_POWER, // C相反向有功电能
  213. E_D07_RULER_TYPE_PHASE_C_COMB_NONE_1_POWER, // C相组合无功1电能
  214. E_D07_RULER_TYPE_PHASE_C_COMB_NONE_2_POWER, // C相组合无功2电能
  215. E_D07_RULER_TYPE_PHASE_C_QUAD_1_NONE_POWER, // C相第一象限无功电能
  216. E_D07_RULER_TYPE_PHASE_C_QUAD_2_NONE_POWER, // C相第二象限无功电能
  217. E_D07_RULER_TYPE_PHASE_C_QUAD_3_NONE_POWER, // C相第三象限无功电能
  218. E_D07_RULER_TYPE_PHASE_C_QUAD_4_NONE_POWER, // C相第四象限无功电能
  219. E_D07_RULER_TYPE_PHASE_C_FORTH_APPARENT_POWER, // C相正向视在电能
  220. E_D07_RULER_TYPE_PHASE_C_BACK_APPARENT_POWER, // C相反向视在电能
  221. E_D07_RULER_TYPE_PHASE_C_ASSO_POWER, // C相关联电能
  222. E_D07_RULER_TYPE_PHASE_C_FORTH_FUND_HAVE_POWER, // C相正向有功基波电能
  223. E_D07_RULER_TYPE_PHASE_C_BACK_FUND_HAVE_POWER, // C相反向有功基波电能
  224. E_D07_RULER_TYPE_PHASE_C_FORTH_HARM_HAVE_POWER, // C相正向有功谐波电能
  225. E_D07_RULER_TYPE_PHASE_C_BACK_HARM_HAVE_POWER, // C相反向有功谐波电能
  226. E_D07_RULER_TYPE_PHASE_C_COPR_LOSS_HAVE_POWER_COMP, // C相铜损有功电能补偿量
  227. E_D07_RULER_TYPE_PHASE_C_CORE_LOSS_HAVE_POWER_COMP, // C相铁损有功电能补偿量
  228. // 对应表A.1电能数据标识编码表最大标识 */
  229. E_D07_RULER_TYPE_A1_MAX = E_D07_RULER_TYPE_PHASE_C_CORE_LOSS_HAVE_POWER_COMP,
  230. /* 对应表A.2 */
  231. E_D07_RULER_TYPE_A2_MIN,
  232. /* [01] [00] [(00~FF)] [00] */
  233. /* [01] [01] [(00~FF)] [00] */
  234. E_D07_RULER_TYPE_FORTH_HAVE_DEMAND_TOTAL = E_D07_RULER_TYPE_A2_MIN, // 正向有功总最大需量及发生时间
  235. E_D07_RULER_TYPE_FORTH_HAVE_DEMAND_RATE, // 正向有功费率最大需量及发生时间
  236. E_D07_RULER_TYPE_FORTH_HAVE_DEMAND_BLOCK, // 正向有功最大需量及发生时间数据块
  237. /* [01] [02] [(00~FF)] [00] */
  238. E_D07_RULER_TYPE_BACK_HAVE_DEMAND_TOTAL, // 反向有功总最大需量及发生时间
  239. E_D07_RULER_TYPE_BACK_HAVE_DEMAND_RATE, // 反向有功费率最大需量及发生时间
  240. E_D07_RULER_TYPE_BACK_HAVE_DEMAND_BLOCK, // 反向有功最大需量及发生时间数据块
  241. /* [01] [03] [(00~FF)] [00] */
  242. E_D07_RULER_TYPE_COMB_NONE_1_DEMAND_TOTAL, // 组合无功1总最大需量及发生时间
  243. E_D07_RULER_TYPE_COMB_NONE_1_DEMAND_RATE, // 组合无功1费率最大需量及发生时间
  244. E_D07_RULER_TYPE_COMB_NONE_1_DEMAND_BLOCK, // 组合无功1最大需量及发生时间数据块
  245. /* [01] [04] [(00~FF)] [00] */
  246. E_D07_RULER_TYPE_COMB_NONE_2_DEMAND_TOTAL, // 组合无功2总最大需量及发生时间
  247. E_D07_RULER_TYPE_COMB_NONE_2_DEMAND_RATE, // 组合无功2费率最大需量及发生时间
  248. E_D07_RULER_TYPE_COMB_NONE_2_DEMAND_BLOCK, // 组合无功2最大需量及发生时间数据块
  249. /* [01] [05] [(00~FF)] [00] */
  250. E_D07_RULER_TYPE_QUAD_1_NONE_DEMAND_TOTAL, // 第一象限无功总最大需量及发生时间
  251. E_D07_RULER_TYPE_QUAD_1_NONE_DEMAND_RATE, // 第一象限无功费率最大需量及发生时间
  252. E_D07_RULER_TYPE_QUAD_1_NONE_DEMAND_BLOCK, // 第一象限无功最大需量及发生时间数据块
  253. /* [01] [06] [(00~FF)] [00] */
  254. E_D07_RULER_TYPE_QUAD_2_NONE_DEMAND_TOTAL, // 第二象限无功总最大需量及发生时间
  255. E_D07_RULER_TYPE_QUAD_2_NONE_DEMAND_RATE, // 第二象限无功费率最大需量及发生时间
  256. E_D07_RULER_TYPE_QUAD_2_NONE_DEMAND_BLOCK, // 第二象限无功最大需量及发生时间数据块
  257. /* [01] [07] [(00~FF)] [00] */
  258. E_D07_RULER_TYPE_QUAD_3_NONE_DEMAND_TOTAL, // 第三象限无功总最大需量及发生时间
  259. E_D07_RULER_TYPE_QUAD_3_NONE_DEMAND_RATE, // 第三象限无功费率最大需量及发生时间
  260. E_D07_RULER_TYPE_QUAD_3_NONE_DEMAND_BLOCK, // 第三象限无功最大需量及发生时间数据块
  261. /* [01] [08] [(00~FF)] [00] */
  262. E_D07_RULER_TYPE_QUAD_4_NONE_DEMAND_TOTAL, // 第四象限无功总最大需量及发生时间
  263. E_D07_RULER_TYPE_QUAD_4_NONE_DEMAND_RATE, // 第四象限无功费率最大需量及发生时间
  264. E_D07_RULER_TYPE_QUAD_4_NONE_DEMAND_BLOCK, // 第四象限无功最大需量及发生时间数据块
  265. /* [01] [09] [(00~FF)] [00] */
  266. E_D07_RULER_TYPE_FORTH_APPARENT_DEMAND_TOTAL, // 正向视在总最大需量及发生时间
  267. E_D07_RULER_TYPE_FORTH_APPARENT_DEMAND_RATE, // 正向视在费率最大需量及发生时间
  268. E_D07_RULER_TYPE_FORTH_APPARENT_DEMAND_BLOCK, // 正向视在最大需量及发生时间数据块
  269. /* [01] [0A] [(00~FF)] [00] */
  270. E_D07_RULER_TYPE_BACK_APPARENT_DEMAND_TOTAL, // 反向视在总最大需量及发生时间
  271. E_D07_RULER_TYPE_BACK_APPARENT_DEMAND_RATE, // 反向视在费率最大需量及发生时间
  272. E_D07_RULER_TYPE_BACK_APPARENT_DEMAND_BLOCK, // 反向视在最大需量及发生时间数据块
  273. /* [01] [(15~9A)][00] [00] */
  274. E_D07_RULER_TYPE_PHASE_A_FORTH_HAVE_DEMAND, // A相正向有功最大需量及发生时间
  275. E_D07_RULER_TYPE_PHASE_A_BACK_HAVE_DEMAND, // A相反向有功最大需量及发生时间
  276. E_D07_RULER_TYPE_PHASE_A_COMB_NONE_1_DEMAND, // A相组合无功1最大需量及发生时间
  277. E_D07_RULER_TYPE_PHASE_A_COMB_NONE_2_DEMAND, // A相组合无功2最大需量及发生时间
  278. E_D07_RULER_TYPE_PHASE_A_QUAD_1_NONE_DEMAND, // A相第一象限无功最大需量及发生时间
  279. E_D07_RULER_TYPE_PHASE_A_QUAD_2_NONE_DEMAND, // A相第二象限无功最大需量及发生时间
  280. E_D07_RULER_TYPE_PHASE_A_QUAD_3_NONE_DEMAND, // A相第三象限无功最大需量及发生时间
  281. E_D07_RULER_TYPE_PHASE_A_QUAD_4_NONE_DEMAND, // A相第四象限无功最大需量及发生时间
  282. E_D07_RULER_TYPE_PHASE_A_FORTH_APPARENT_DEMAND, // A相正向视在最大需量及发生时间
  283. E_D07_RULER_TYPE_PHASE_A_BACK_APPARENT_DEMAND, // A相反向视在最大需量及发生时间
  284. /* [01] [(29~AE)][00] [00] */
  285. E_D07_RULER_TYPE_PHASE_B_FORTH_HAVE_DEMAND, // B相正向有功最大需量及发生时间
  286. E_D07_RULER_TYPE_PHASE_B_BACK_HAVE_DEMAND, // B相反向有功最大需量及发生时间
  287. E_D07_RULER_TYPE_PHASE_B_COMB_NONE_1_DEMAND, // B相组合无功1最大需量及发生时间
  288. E_D07_RULER_TYPE_PHASE_B_COMB_NONE_2_DEMAND, // B相组合无功2最大需量及发生时间
  289. E_D07_RULER_TYPE_PHASE_B_QUAD_1_NONE_DEMAND, // B相第一象限无功最大需量及发生时间
  290. E_D07_RULER_TYPE_PHASE_B_QUAD_2_NONE_DEMAND, // B相第二象限无功最大需量及发生时间
  291. E_D07_RULER_TYPE_PHASE_B_QUAD_3_NONE_DEMAND, // B相第三象限无功最大需量及发生时间
  292. E_D07_RULER_TYPE_PHASE_B_QUAD_4_NONE_DEMAND, // B相第四象限无功最大需量及发生时间
  293. E_D07_RULER_TYPE_PHASE_B_FORTH_APPARENT_DEMAND, // B相正向视在最大需量及发生时间
  294. E_D07_RULER_TYPE_PHASE_B_BACK_APPARENT_DEMAND, // B相反向视在最大需量及发生时间
  295. /* [01] [(3D~C2)][00] [00] */
  296. E_D07_RULER_TYPE_PHASE_C_FORTH_HAVE_DEMAND, // C相正向有功最大需量及发生时间
  297. E_D07_RULER_TYPE_PHASE_C_BACK_HAVE_DEMAND, // C相反向有功最大需量及发生时间
  298. E_D07_RULER_TYPE_PHASE_C_COMB_NONE_1_DEMAND, // C相组合无功1最大需量及发生时间
  299. E_D07_RULER_TYPE_PHASE_C_COMB_NONE_2_DEMAND, // C相组合无功2最大需量及发生时间
  300. E_D07_RULER_TYPE_PHASE_C_QUAD_1_NONE_DEMAND, // C相第一象限无功最大需量及发生时间
  301. E_D07_RULER_TYPE_PHASE_C_QUAD_2_NONE_DEMAND, // C相第二象限无功最大需量及发生时间
  302. E_D07_RULER_TYPE_PHASE_C_QUAD_3_NONE_DEMAND, // C相第三象限无功最大需量及发生时间
  303. E_D07_RULER_TYPE_PHASE_C_QUAD_4_NONE_DEMAND, // C相第四象限无功最大需量及发生时间
  304. E_D07_RULER_TYPE_PHASE_C_FORTH_APPARENT_DEMAND, // C相正向视在最大需量及发生时间
  305. E_D07_RULER_TYPE_PHASE_C_BACK_APPARENT_DEMAND, // C相反向视在最大需量及发生时间
  306. /* 对应表A.2最大需量及发生时间数据标识编码表 */
  307. E_D07_RULER_TYPE_A2_MAX = E_D07_RULER_TYPE_PHASE_C_BACK_APPARENT_DEMAND,
  308. /* 对应表A.3 变量数据标识编码表 */
  309. E_D07_RULER_TYPE_A3_MIN,
  310. E_D07_RULER_TYPE_PHASE_A_VOLT = E_D07_RULER_TYPE_A3_MIN,// A相电压
  311. E_D07_RULER_TYPE_PHASE_B_VOLT, // B相电压
  312. E_D07_RULER_TYPE_PHASE_C_VOLT, // C相电压
  313. E_D07_RULER_TYPE_VOLT_BLOCK, // 电压数据块
  314. E_D07_RULER_TYPE_PHASE_A_ELEC, // A相电流
  315. E_D07_RULER_TYPE_PHASE_B_ELEC, // B相电流
  316. E_D07_RULER_TYPE_PHASE_C_ELEC, // C相电流
  317. E_D07_RULER_TYPE_ELEC_BLOCK, // 电流数据块
  318. E_D07_RULER_TYPE_INSTANT_HAVE_POWER_RATE_TOTAL, // 瞬时总有功功率
  319. E_D07_RULER_TYPE_INSTANT_PHASE_A_HAVE_POWER_RATE, // 瞬时A相有功功率
  320. E_D07_RULER_TYPE_INSTANT_PHASE_B_HAVE_POWER_RATE, // 瞬时B相有功功率
  321. E_D07_RULER_TYPE_INSTANT_PHASE_C_HAVE_POWER_RATE, // 瞬时C相有功功率
  322. E_D07_RULER_TYPE_INSTANT_HAVE_POWER_RATE_BLOCK, // 瞬时有功功率数据块
  323. E_D07_RULER_TYPE_INSTANT_NONE_POWER_RATE_TOTAL, // 瞬时总无功功率
  324. E_D07_RULER_TYPE_INSTANT_PHASE_A_NONE_POWER_RATE, // 瞬时A相无功功率
  325. E_D07_RULER_TYPE_INSTANT_PHASE_B_NONE_POWER_RATE, // 瞬时B相无功功率
  326. E_D07_RULER_TYPE_INSTANT_PHASE_C_NONE_POWER_RATE, // 瞬时C相无功功率
  327. E_D07_RULER_TYPE_INSTANT_NONE_POWER_RATE_BLOCK, // 瞬时无功功率数据块
  328. E_D07_RULER_TYPE_INSTANT_APPARENT_POWER_RATE_TOTAL, // 瞬时总视在功率
  329. E_D07_RULER_TYPE_INSTANT_PHASE_A_APPARENT_POWER_RATE, // 瞬时A相视在功率
  330. E_D07_RULER_TYPE_INSTANT_PHASE_B_APPARENT_POWER_RATE, // 瞬时B相视在功率
  331. E_D07_RULER_TYPE_INSTANT_PHASE_C_APPARENT_POWER_RATE, // 瞬时C相视在功率
  332. E_D07_RULER_TYPE_INSTANT_APPARENT_POWER_RATE_BLOCK, // 瞬时视在功率数据块
  333. E_D07_RULER_TYPE_POWER_RATE_FACTOR_TOTAL, // 总功率因数
  334. E_D07_RULER_TYPE_PHASE_A_POWER_RATE_FACTOR, // A相功率因数
  335. E_D07_RULER_TYPE_PHASE_B_POWER_RATE_FACTOR, // B相功率因数
  336. E_D07_RULER_TYPE_PHASE_C_POWER_RATE_FACTOR, // C相功率因数
  337. E_D07_RULER_TYPE_POWER_RATE_FACTOR_BLOCK, // 功率因数数据块
  338. E_D07_RULER_TYPE_PHASE_A_ANGLE, // A相相角
  339. E_D07_RULER_TYPE_PHASE_B_ANGLE, // B相相角
  340. E_D07_RULER_TYPE_PHASE_C_ANGLE, // C相相角
  341. E_D07_RULER_TYPE_ANGLE_BLOCK, // 相角数据块
  342. E_D07_RULER_TYPE_PHASE_A_VOLT_WAVEFORM_DISTORTION, // A相电压波形失真度
  343. E_D07_RULER_TYPE_PHASE_B_VOLT_WAVEFORM_DISTORTION, // B相电压波形失真度
  344. E_D07_RULER_TYPE_PHASE_C_VOLT_WAVEFORM_DISTORTION, // C相电压波形失真度
  345. E_D07_RULER_TYPE_VOLT_WAVEFORM_DISTORTION_BLOCK, // 电压波形失真度数据块
  346. E_D07_RULER_TYPE_PHASE_A_ELEC_WAVEFORM_DISTORTION, // A相电流波形失真度
  347. E_D07_RULER_TYPE_PHASE_B_ELEC_WAVEFORM_DISTORTION, // B相电流波形失真度
  348. E_D07_RULER_TYPE_PHASE_C_ELEC_WAVEFORM_DISTORTION, // C相电流波形失真度
  349. E_D07_RULER_TYPE_ELEC_WAVEFORM_DISTORTION_BLOCK, // 电流波形失真度数据块
  350. E_D07_RULER_TYPE_PHASE_A_VOLT_HARMONIC_CONTENT_T, // A相电压(t)次谐波含量
  351. E_D07_RULER_TYPE_PHASE_A_VOLT_HARMONIC_CONTENT_BLOCK, // A相电压次谐波含量数据块
  352. E_D07_RULER_TYPE_PHASE_B_VOLT_HARMONIC_CONTENT_T, // B相电压(t)次谐波含量
  353. E_D07_RULER_TYPE_PHASE_B_VOLT_HARMONIC_CONTENT_BLOCK, // B相电压谐波含量数据块
  354. E_D07_RULER_TYPE_PHASE_C_VOLT_HARMONIC_CONTENT_T, // C相电压(t)次谐波含量
  355. E_D07_RULER_TYPE_PHASE_C_VOLT_HARMONIC_CONTENT_BLOCK, // C相电压谐波含量数据块
  356. E_D07_RULER_TYPE_PHASE_A_ELEC_HARMONIC_CONTENT_T, // A相电流(t)次谐波含量
  357. E_D07_RULER_TYPE_PHASE_A_ELEC_HARMONIC_CONTENT_BLOCK, // A相电流谐波含量数据块
  358. E_D07_RULER_TYPE_PHASE_B_ELEC_HARMONIC_CONTENT_T, // C相电流(t)次谐波含量
  359. E_D07_RULER_TYPE_PHASE_B_ELEC_HARMONIC_CONTENT_BLOCK, // C相电流谐波含量数据块
  360. E_D07_RULER_TYPE_PHASE_C_ELEC_HARMONIC_CONTENT_T, // C相电流(t)次谐波含量
  361. E_D07_RULER_TYPE_PHASE_C_ELEC_HARMONIC_CONTENT_BLOCK, // C相电流谐波含量数据块
  362. E_D07_RULER_TYPE_ZERO_LINE_ELEC, // 零线电流
  363. E_D07_RULER_TYPE_POWER_GRID_HZ, // 电网频率
  364. E_D07_RULER_TYPE_1M_AVER_HAVE_POWER_RATE_TOTAL, // 一分钟有功总平均功率
  365. E_D07_RULER_TYPE_CURRENT_HAVE_POWER_DEMAND, // 当前有功需量
  366. E_D07_RULER_TYPE_CURRENT_NONE_POWER_DEMAND, // 当前无功需量
  367. E_D07_RULER_TYPE_CURRENT_APPARENT_POWER_DEMAND, // 当前视在需量
  368. E_D07_RULER_TYPE_METER_TEMP, // 表内温度
  369. E_D07_RULER_TYPE_INTER_CLOCK_CELL_VOLT, // 时钟电池电压(内部)
  370. E_D07_RULER_TYPE_READ_METER_CELL_VOLT, // 停电抄表电池电压(外部)
  371. E_D07_RULER_TYPE_INTER_CLOCK_WORK_TIME, // 内部电池工作时间
  372. E_D07_RULER_TYPE_A3_MAX = E_D07_RULER_TYPE_INTER_CLOCK_WORK_TIME,
  373. /* 对应表 A.4 事件记录数据标识编码表 */
  374. E_D07_RULER_TYPE_A4_MIN, /* 表A.4规约最小值 */
  375. E_D07_RULER_TYPE_PHASE_ABC_LOSS_VOLT_TIMES = E_D07_RULER_TYPE_A4_MIN,// ABC相失压次数,总累计时间
  376. E_D07_RULER_TYPE_PHASE_A_LOSS_VOLT_RECORD, // 上(n)次A相失压记录
  377. E_D07_RULER_TYPE_PHASE_B_LOSS_VOLT_RECORD, // 上(n)次B相失压记录
  378. E_D07_RULER_TYPE_PHASE_C_LOSS_VOLT_RECORD, // 上(n)次C相失压记录
  379. E_D07_RULER_TYPE_PHASE_ABC_LESS_VOLT_TIMES, // ABC相欠压次数,总累计时间
  380. E_D07_RULER_TYPE_PHASE_A_LESS_VOLT_RECORD, // 上(n)次A相欠压记录
  381. E_D07_RULER_TYPE_PHASE_B_LESS_VOLT_RECORD, // 上(n)次B相欠压记录
  382. E_D07_RULER_TYPE_PHASE_C_LESS_VOLT_RECORD, // 上(n)次C相欠压记录
  383. E_D07_RULER_TYPE_PHASE_ABC_MORE_VOLT_TIMES, // ABC相过压次数,总累计时间
  384. E_D07_RULER_TYPE_PHASE_A_MORE_VOLT_RECORD, // 上(n)次A相过压记录
  385. E_D07_RULER_TYPE_PHASE_B_MORE_VOLT_RECORD, // 上(n)次B相过压记录
  386. E_D07_RULER_TYPE_PHASE_C_MORE_VOLT_RECORD, // 上(n)次C相过压记录
  387. E_D07_RULER_TYPE_PHASE_ABC_DROP_TIMES, // ABC相断相次数,总累计时间
  388. E_D07_RULER_TYPE_PHASE_A_DROP_RECORD, // 上(n)次A相断相记录
  389. E_D07_RULER_TYPE_PHASE_B_DROP_RECORD, // 上(n)次B相断相记录
  390. E_D07_RULER_TYPE_PHASE_C_DROP_RECORD, // 上(n)次C相断相记录
  391. E_D07_RULER_TYPE_LOSS_VOLT_TIMES_TOTAL, // 全失压次数,总累计时间
  392. E_D07_RULER_TYPE_LOSS_ALL_VOLT_TIME_N, // 上(n)次全失压发生时刻,电流值,结束时刻
  393. E_D07_RULER_TYPE_APS_LOSS_ELEC_TIMES_TOTAL, // 辅助电源失电发生次数,总累计时间
  394. E_D07_RULER_TYPE_APS_LOSS_ELEC_TIME_N, // 上(n)次辅助电源失电发生时刻,结束时刻
  395. E_D07_RULER_TYPE_VOLT_ANTI_PHASE_TIMES_TOTAL, // 电压逆相序总次数,总累计时间
  396. E_D07_RULER_TYPE_VOLT_ANTI_PHASE_RECORD_N, // 上(n)次电压逆相序记录
  397. E_D07_RULER_TYPE_ELEC_ANTI_PHASE_TIMES_TOTAL, // 电流逆相序总次数,总累计时间
  398. E_D07_RULER_TYPE_ELEC_ANTI_PHASE_RECORD_N, // 上(n)次电流逆相序记录
  399. E_D07_RULER_TYPE_VOLT_UNBALANCE_TIMES_TOTAL, // 电压不平衡总次数,总累计时间
  400. E_D07_RULER_TYPE_VOLT_UNBALANCE_RECORD_N, // 上(n)次电压不平衡记录
  401. E_D07_RULER_TYPE_ELEC_UNBALANCE_TIMES_TOTAL, // 电流不平衡总次数,总累计时间
  402. E_D07_RULER_TYPE_ELEC_UNBALANCE_RECORD_N, // 上(n)次电流不平衡记录
  403. E_D07_RULER_TYPE_PHASE_ABC_LOSS_ELEC_TIMES, // ABC相失流次数,总累计时间
  404. E_D07_RULER_TYPE_PHASE_A_LOSS_ELEC_RECORD, // 上(n)次A相失流记录
  405. E_D07_RULER_TYPE_PHASE_B_LOSS_ELEC_RECORD, // 上(n)次B相失流记录
  406. E_D07_RULER_TYPE_PHASE_C_LOSS_ELEC_RECORD, // 上(n)次C相失流记录
  407. E_D07_RULER_TYPE_PHASE_ABC_MORE_ELEC_TIMES, // ABC相过流次数,总累计时间
  408. E_D07_RULER_TYPE_PHASE_A_MORE_ELEC_RECORD, // 上(n)次A相过流记录
  409. E_D07_RULER_TYPE_PHASE_B_MORE_ELEC_RECORD, // 上(n)次B相过流记录
  410. E_D07_RULER_TYPE_PHASE_C_MORE_ELEC_RECORD, // 上(n)次C相过流记录
  411. E_D07_RULER_TYPE_PHASE_ABC_DROP_ELEC_TIMES, // ABC相断流次数,总累计时间
  412. E_D07_RULER_TYPE_PHASE_A_DROP_ELEC_RECORD, // 上(n)次A相断流记录
  413. E_D07_RULER_TYPE_PHASE_B_DROP_ELEC_RECORD, // 上(n)次B相断流记录
  414. E_D07_RULER_TYPE_PHASE_C_DROP_ELEC_RECORD, // 上(n)次C相断流记录
  415. E_D07_RULER_TYPE_PHASE_ABC_BACKWARD_ELEC_TIMES, // ABC相潮流反向次数,总累计时间
  416. E_D07_RULER_TYPE_PHASE_A_BACKWARD_ELEC_RECORD, // 上(n)次A相潮流反向记录
  417. E_D07_RULER_TYPE_PHASE_B_BACKWARD_ELEC_RECORD, // 上(n)次B相潮流反向记录
  418. E_D07_RULER_TYPE_PHASE_C_BACKWARD_ELEC_RECORD, // 上(n)次C相潮流反向记录
  419. E_D07_RULER_TYPE_PHASE_ABC_OVERLOAD_TIMES, // ABC相过载次数,总累计时间
  420. E_D07_RULER_TYPE_PHASE_A_OVERLOAD_RECORD, // 上(n)次A相过载记录
  421. E_D07_RULER_TYPE_PHASE_B_OVERLOAD_RECORD, // 上(n)次B相过载记录
  422. E_D07_RULER_TYPE_PHASE_C_OVERLOAD_RECORD, // 上(n)次C相过载记录
  423. E_D07_RULER_TYPE_VOLT_PASS_PERCENT_M, // 上(n)月电压合格率统计数据
  424. E_D07_RULER_TYPE_PHASE_A_VOLT_PASS_PERCENT_M, // 上(n)月A相电压合格率统计数据
  425. E_D07_RULER_TYPE_PHASE_B_VOLT_PASS_PERCENT_M, // 上(n)月B相电压合格率统计数据
  426. E_D07_RULER_TYPE_PHASE_C_VOLT_PASS_PERCENT_M, // 上(n)月C相电压合格率统计数据
  427. E_D07_RULER_TYPE_POWER_DOWN_TIMES, // 掉电总次数
  428. E_D07_RULER_TYPE_POWER_DOWN_TIME_T, // 上(t)次掉电发生时刻,结束时刻
  429. E_D07_RULER_TYPE_OVER_LIMIT_MEMAND_TIMES, // 需量超限总次数记录
  430. E_D07_RULER_TYPE_FORTH_OVER_LIMIT_MEMAND_TIME_T, // 上(t)次正向有功需量超限记录
  431. E_D07_RULER_TYPE_BACK_OVER_LIMIT_MEMAND_TIME_T, // 上(t)次反向有功需量超限记录
  432. E_D07_RULER_TYPE_QUAD_1_OVER_LIMIT_MEMAND_TIME_T, // 上(t)次第1象限无功需量超限记录
  433. E_D07_RULER_TYPE_QUAD_2_OVER_LIMIT_MEMAND_TIME_T, // 上(t)次第2象限无功需量超限记录
  434. E_D07_RULER_TYPE_QUAD_3_OVER_LIMIT_MEMAND_TIME_T, // 上(t)次第3象限无功需量超限记录
  435. E_D07_RULER_TYPE_QUAD_4_OVER_LIMIT_MEMAND_TIME_T, // 上(t)次第4象限无功需量超限记录
  436. E_D07_RULER_TYPE_METER_PROG_TIMES_TOTAL, // 编程总次数
  437. E_D07_RULER_TYPE_METER_PROG_RECORD_T, // 上(t)次编程记录
  438. E_D07_RULER_TYPE_METER_CLEAR_TIMES_TOTAL, // 电表清零总次数
  439. E_D07_RULER_TYPE_METER_CLEAR_RECORD_T, // 上(t)次电表清零记录
  440. E_D07_RULER_TYPE_DEMAND_CLEAR_TIMES_TOTAL, // 需量清零总次数
  441. E_D07_RULER_TYPE_DEMAND_CLEAR_RECORD_T, // 上(t)次需量清零记录
  442. E_D07_RULER_TYPE_EVENT_CLEAR_TIMES_TOTAL, // 事件清零总次数
  443. E_D07_RULER_TYPE_EVENT_CLEAR_RECORD_T, // 上(t)次事件清零记录
  444. E_D07_RULER_TYPE_ADJUST_TIME_TIMES_TOTAL, // 校时总次数
  445. E_D07_RULER_TYPE_ADJUST_TIME_RECORD_T, // 上(t)次校时记录
  446. E_D07_RULER_TYPE_TIME_PART_PROG_TIMES_TOTAL, // 时段表编程总次数
  447. E_D07_RULER_TYPE_TIME_PART_PROG_RECORD_T, // 上(t)次时段表编程记录
  448. E_D07_RULER_TYPE_TIME_ZONE_PROG_TIMES_TOTAL, // 时区表编程总次数
  449. E_D07_RULER_TYPE_TIME_ZONE_PROG_RECORD_T, // 上(t)次时区表编程记录
  450. E_D07_RULER_TYPE_WEEKDAY_PROG_TIMES_TOTAL, // 周休日编程总次数
  451. E_D07_RULER_TYPE_WEEKDAY_PROG_RECORD_T, // 上(t)次周休日编程记录
  452. E_D07_RULER_TYPE_HOLIDAY_PROG_TIMES_TOTAL, // 节假日编程总次数
  453. E_D07_RULER_TYPE_HOLIDAY_PROG_RECORD_T, // 上(t)次节假日编程记录
  454. E_D07_RULER_TYPE_HAVE_COMB_PROG_TIMES_TOTAL, // 有功组合方式编程总次数
  455. E_D07_RULER_TYPE_HAVE_COMB_PROG_RECORD_T, // 上(t)次有功组合方式编程记录
  456. E_D07_RULER_TYPE_NONE_COMB_1_PROG_TIMES_TOTAL, // 无功组合方式1编程总次数
  457. E_D07_RULER_TYPE_NONE_COMB_1_PROG_RECORD_T, // 上(t)次无功组合方式1编程记录
  458. E_D07_RULER_TYPE_NONE_COMB_2_PROG_TIMES_TOTAL, // 无功组合方式2编程总次数
  459. E_D07_RULER_TYPE_NONE_COMB_2_PROG_RECORD_T, // 上(t)次无功组合方式2编程记录
  460. E_D07_RULER_TYPE_PAYOFF_DAY_PROG_TIMES_TOTAL, // 结算日编程总次数
  461. E_D07_RULER_TYPE_PAYOFF_DAY_PROG_RECORD_T, // 上(t)次结算日编程记录
  462. E_D07_RULER_TYPE_OPEN_METER_CAP_TIMES_TOTAL, // 开表盖总次数
  463. E_D07_RULER_TYPE_OPEN_METER_CAP_RECORD_T, // 上(t)次开表盖记录
  464. E_D07_RULER_TYPE_OPEN_BTN_BOX_TIMES_TOTAL, // 开端钮盒总次数
  465. E_D07_RULER_TYPE_OPEN_BTN_BOX_RECORD_T, // 上(t)次开端钮盒记录
  466. E_D07_RULER_TYPE_A4_MAX = E_D07_RULER_TYPE_OPEN_BTN_BOX_RECORD_T, /* 表 A.4 规约最大值 */
  467. /* 对应表 A.5 参变量数据标识编码表 */
  468. E_D07_RULER_TYPE_A5_MIN, /* 表 A.5 规约最小值 */
  469. E_D07_RULER_TYPE_DATE = E_D07_RULER_TYPE_A5_MIN, // 日期及星期(其中0代表星期天)
  470. E_D07_RULER_TYPE_TIME, // 时间
  471. E_D07_RULER_TYPE_DEMAND_PERIOD, // 最大需量周期
  472. E_D07_RULER_TYPE_SLIT_TIME, // 滑差时间
  473. E_D07_RULER_TYPE_ADJUST_PULSE_WEDTH, // 校表脉冲宽度
  474. E_D07_RULER_TYPE_SWITCH_ZONE_TIME, // 两套时区表切换时间
  475. E_D07_RULER_TYPE_SWITCH_PART_TIME, // 两套日时段表切换时间
  476. E_D07_RULER_TYPE_YEAR_ZONE_P, // 年时区数 p <= 14
  477. E_D07_RULER_TYPE_DAY_PART_Q, // 日时段表数 q <= 8
  478. E_D07_RULER_TYPE_DAY_PART_M, // 日时段数(每日切换数)m <=14
  479. E_D07_RULER_TYPE_RATE_K, // 费率数 k <= 63
  480. E_D07_RULER_TYPE_HOLIDAY_N, // 公共假日数n <= 254
  481. E_D07_RULER_TYPE_HARMONIC_ANALY_TIMES, // 谐波分析次数
  482. E_D07_RULER_TYPE_AUTO_DISPLAY_SCREENS, // 自动循环显示屏数
  483. E_D07_RULER_TYPE_DISPLAY_TIME, // 每屏显示时间
  484. E_D07_RULER_TYPE_DISPLAY_POWER_DECIMAL_DIGITS, // 显示电能小数位数
  485. E_D07_RULER_TYPE_DISPLAY_DEMAND_DECIMAL_DIGITS, // 显示最大需量小数位数
  486. E_D07_RULER_TYPE_PRESS_DISPLAY_SCREENS, // 按键循环显示屏数
  487. E_D07_RULER_TYPE_ADDRESS, // 通信地址
  488. E_D07_RULER_TYPE_METER_ID, // 表号
  489. E_D07_RULER_TYPE_ASSETS_CODE, // 资产管理编码
  490. E_D07_RULER_TYPE_RATED_VOLT, // 额定电压
  491. E_D07_RULER_TYPE_RATED_ELEC, // 额定电流
  492. E_D07_RULER_TYPE_MAX_ELEC, // 最大电流
  493. E_D07_RULER_TYPE_HAVE_ACCURACY_CLASS, // 有功准确度等级
  494. E_D07_RULER_TYPE_NONE_ACCURACY_CLASS, // 无功准确度等级
  495. E_D07_RULER_TYPE_METER_HAVE_CONSTANT, // 电表有功常数
  496. E_D07_RULER_TYPE_METER_NONE_CONSTANT, // 电表无功常数
  497. E_D07_RULER_TYPE_METER_MODEL_NUM, // 电表型号
  498. E_D07_RULER_TYPE_METER_PROD_DATE, // 生产日期
  499. E_D07_RULER_TYPE_METER_RULER_VERSION, // 协议版本号
  500. E_D07_RULER_TYPE_METER_RUN_STWD_1, // 电表运行状态字 1
  501. E_D07_RULER_TYPE_METER_RUN_STWD_2, // 电表运行状态字 2
  502. E_D07_RULER_TYPE_METER_RUN_STWD_3, // 电表运行状态字 3
  503. E_D07_RULER_TYPE_METER_RUN_STWD_4, // 电表运行状态字 4
  504. E_D07_RULER_TYPE_METER_RUN_STWD_5, // 电表运行状态字 5
  505. E_D07_RULER_TYPE_METER_RUN_STWD_6, // 电表运行状态字 6
  506. E_D07_RULER_TYPE_METER_RUN_STWD_7, // 电表运行状态字 7
  507. E_D07_RULER_TYPE_METER_RUN_STWD_BLOCK, // 电表运行状态字数据块
  508. E_D07_RULER_TYPE_HAVE_COMB_STWD, // 有功组合方式特征字
  509. E_D07_RULER_TYPE_NONE_COMB_1_STWD, // 无功组合方式1特征字
  510. E_D07_RULER_TYPE_NONE_COMB_2_STWD, // 无功组合方式2特征字
  511. E_D07_RULER_TYPE_MODEM_IRDA_RATE_STWD, // 调制型红外光口通信速率特征字
  512. E_D07_RULER_TYPE_TOUCH_IRDA_RATE_STWD, // 接触式红外光口通信速率特征字
  513. E_D07_RULER_TYPE_PART_1_RATE_STWD, // 通信口 1 通信速率特征字
  514. E_D07_RULER_TYPE_PART_2_RATE_STWD, // 通信口 2 通信速率特征字
  515. E_D07_RULER_TYPE_PART_3_RATE_STWD, // 通信口 3 通信速率特征字
  516. E_D07_RULER_TYPE_WEEKDAY_STWD, // 周休日特征字
  517. E_D07_RULER_TYPE_WEEKDAY_TBL, // 周休日采用的日时段表号
  518. E_D07_RULER_TYPE_OVERLOAD_MODEL_STWD, // 负荷记录模式字
  519. E_D07_RULER_TYPE_FREEZE_MODEL_STWD, // 冻结数据模式字
  520. E_D07_RULER_TYPE_OVERLOAD_START_TIME, // 负荷记录起始时间
  521. E_D07_RULER_TYPE_OVERLOAD_INTRV_TIME_1, // 第 1 类负荷记录间隔时间
  522. E_D07_RULER_TYPE_OVERLOAD_INTRV_TIME_2, // 第 2 类负荷记录间隔时间
  523. E_D07_RULER_TYPE_OVERLOAD_INTRV_TIME_3, // 第 3 类负荷记录间隔时间
  524. E_D07_RULER_TYPE_OVERLOAD_INTRV_TIME_4, // 第 4 类负荷记录间隔时间
  525. E_D07_RULER_TYPE_OVERLOAD_INTRV_TIME_5, // 第 5 类负荷记录间隔时间
  526. E_D07_RULER_TYPE_OVERLOAD_INTRV_TIME_6, // 第 6 类负荷记录间隔时间
  527. E_D07_RULER_TYPE_PAYOFF_DAY_1, // 每月第 1 结算日
  528. E_D07_RULER_TYPE_PAYOFF_DAY_2, // 每月第 2 结算日
  529. E_D07_RULER_TYPE_PAYOFF_DAY_3, // 每月第 3 结算日
  530. E_D07_RULER_TYPE_PASSWORD_LV0, // 0 级密码
  531. E_D07_RULER_TYPE_PASSWORD_LV1, // 1 级密码
  532. E_D07_RULER_TYPE_PASSWORD_LV2, // 2 级密码
  533. E_D07_RULER_TYPE_PASSWORD_LV3, // 3 级密码
  534. E_D07_RULER_TYPE_PASSWORD_LV4, // 4 级密码
  535. E_D07_RULER_TYPE_PASSWORD_LV5, // 5 级密码
  536. E_D07_RULER_TYPE_PASSWORD_LV6, // 6 级密码
  537. E_D07_RULER_TYPE_PASSWORD_LV7, // 7 级密码
  538. E_D07_RULER_TYPE_PASSWORD_LV8, // 8 级密码
  539. E_D07_RULER_TYPE_PASSWORD_LV9, // 9 级密码
  540. E_D07_RULER_TYPE_PHASE_A_CONDUCT_FACTOR, // A相电导系数
  541. E_D07_RULER_TYPE_PHASE_A_SUSCEPT_FACTOR, // A相电纳系数
  542. E_D07_RULER_TYPE_PHASE_A_RESIST_FACTOR, // A相电阻系数
  543. E_D07_RULER_TYPE_PHASE_A_REACTANCE_FACTOR, // A相电抗系数
  544. E_D07_RULER_TYPE_PHASE_B_CONDUCT_FACTOR, // B相电导系数
  545. E_D07_RULER_TYPE_PHASE_B_SUSCEPT_FACTOR, // B相电纳系数
  546. E_D07_RULER_TYPE_PHASE_B_RESIST_FACTOR, // B相电阻系数
  547. E_D07_RULER_TYPE_PHASE_B_REACTANCE_FACTOR, // B相电抗系数
  548. E_D07_RULER_TYPE_PHASE_C_CONDUCT_FACTOR, // C相电导系数
  549. E_D07_RULER_TYPE_PHASE_C_SUSCEPT_FACTOR, // C相电纳系数
  550. E_D07_RULER_TYPE_PHASE_C_RESIST_FACTOR, // C相电阻系数
  551. E_D07_RULER_TYPE_PHASE_C_REACTANCE_FACTOR, // C相电抗系数
  552. E_D07_RULER_TYPE_FORTH_HAVE_POWER_MAX, // 正向有功功率上限值
  553. E_D07_RULER_TYPE_BACK_HAVE_POWER_MAX, // 反向有功功率上限值
  554. E_D07_RULER_TYPE_VOLT_MAX, // 电压上限值
  555. E_D07_RULER_TYPE_VOLT_MIN, // 电压下限值
  556. E_D07_RULER_TYPE_DAY_PART_DATA_1, // 第一套时区表数据
  557. E_D07_RULER_TYPE_DAY_PART_DATA_1_T, // 第一套第(t)日时段表数据 t(1~8)
  558. E_D07_RULER_TYPE_DAY_PART_DATA_2, // 第二套时区表数据
  559. E_D07_RULER_TYPE_DAY_PART_DATA_2_T, // 第二套第(t)日时段表数据 t(1~8)
  560. E_D07_RULER_TYPE_HOLIDAY_DATE_T, // 第 (t)公共假日日期及日时段表号 t(1~254)
  561. E_D07_RULER_TYPE_AUTO_DISPLAY_SCREEN_T, // 自动循环显示第(t)屏显示数据项 t(1~254)
  562. E_D07_RULER_TYPE_PREES_DISPLAY_SCREEN_T, // 按键循环显示第(t)屏显示数据项 t(1~254)
  563. E_D07_RULER_TYPE_FACTORY_SOFTWARE_VERSION, // 厂家软件版本号
  564. E_D07_RULER_TYPE_FACTORY_HARDWARE_VERSION, // 厂家硬件版本号
  565. E_D07_RULER_TYPE_FACTORY_SERIAL_NUM, // 厂家编号
  566. E_D07_RULER_TYPE_A5_MAX = E_D07_RULER_TYPE_FACTORY_SERIAL_NUM,/* 表 A.5 规约最大值 */
  567. /* 对应表 A.6 冻结数据标识编码表 */
  568. /* t(1~12)*/
  569. E_D07_RULER_TYPE_A6_MIN, /* 表 A.6 规约最小值 */
  570. E_D07_RULER_TYPE_FIX_FREZ_TIME_T = E_D07_RULER_TYPE_A6_MIN, // 上(t)次定时冻结时间
  571. E_D07_RULER_TYPE_FIX_FREZ_FORTH_HAVE_POWER_T, // 上(t)次定时冻结正向有功电能数据
  572. E_D07_RULER_TYPE_FIX_FREZ_BACK_HAVE_POWER_T, // 上(t)次定时冻结反向有功电能数据
  573. E_D07_RULER_TYPE_FIX_FREZ_COMB_1_NONE_POWER_T, // 上(t)次定时冻结组合无功1电能数据
  574. E_D07_RULER_TYPE_FIX_FREZ_COMB_2_NONE_POWER_T, // 上(t)次定时冻结组合无功2电能数据
  575. E_D07_RULER_TYPE_FIX_FREZ_PHASE_1_NONE_POWER_T, // 上(t)次定时冻结第一象限无功电能数据
  576. E_D07_RULER_TYPE_FIX_FREZ_PHASE_2_NONE_POWER_T, // 上(t)次定时冻结第二象限无功电能数据
  577. E_D07_RULER_TYPE_FIX_FREZ_PHASE_3_NONE_POWER_T, // 上(t)次定时冻结第三象限无功电能数据
  578. E_D07_RULER_TYPE_FIX_FREZ_PHASE_4_NONE_POWER_T, // 上(t)次定时冻结第四象限无功电能数据
  579. E_D07_RULER_TYPE_FIX_FREZ_FORTH_HAVE_DEMAND_T, // 上(t)次定时冻结正向有功最大需量数据及发生时间数据
  580. E_D07_RULER_TYPE_FIX_FREZ_BACK_HAVE_DEMAND_T, // 上(t)次定时冻结反向有功最大需量数据及发生时间数据
  581. E_D07_RULER_TYPE_FIX_FREZ_VAR_T, // 上(t)次定时冻结变量数据
  582. E_D07_RULER_TYPE_FIX_FREZ_BLOCK_T, // 上(t)次定时冻结数据块
  583. /* t (1~3)*/
  584. E_D07_RULER_TYPE_INST_FREZ_TIME_T, // 上(t)次瞬时冻结时间
  585. E_D07_RULER_TYPE_INST_FREZ_FORTH_HAVE_POWER_T, // 上(t)次瞬时冻结正向有功电能数据
  586. E_D07_RULER_TYPE_INST_FREZ_BACK_HAVE_POWER_T, // 上(t)次瞬时冻结反向有功电能数据
  587. E_D07_RULER_TYPE_INST_FREZ_COMB_1_NONE_POWER_T, // 上(t)次瞬时冻结组合无功电能数据
  588. E_D07_RULER_TYPE_INST_FREZ_COMB_2_NONE_POWER_T, // 上(t)次瞬时冻结组合无功电能数据
  589. E_D07_RULER_TYPE_INST_FREZ_PHASE_1_NONE_POWER_T, // 上(t)次瞬时冻结第一象限无功电能数据
  590. E_D07_RULER_TYPE_INST_FREZ_PHASE_2_NONE_POWER_T, // 上(t)次瞬时冻结第二象限无功电能数据
  591. E_D07_RULER_TYPE_INST_FREZ_PHASE_3_NONE_POWER_T, // 上(t)次瞬时冻结第三象限无功电能数据
  592. E_D07_RULER_TYPE_INST_FREZ_PHASE_4_NONE_POWER_T, // 上(t)次瞬时冻结第四象限无功电能数据
  593. E_D07_RULER_TYPE_INST_FREZ_FORTH_HAVE_DEMAND_T, // 上(t)次瞬时冻结正向有功最大需量数据及发生时间数据
  594. E_D07_RULER_TYPE_INST_FREZ_BACK_HAVE_DEMAND_T, // 上(t)次瞬时冻结反向有功最大需量数据及发生时间数据
  595. E_D07_RULER_TYPE_INST_FREZ_BLOCK_T, // 上(t)次瞬时冻结数据块
  596. /* t (1~2) */
  597. E_D07_RULER_TYPE_SWITCH_ZONE_TIME_T, // 上(t)次 两套时区表切换时间
  598. E_D07_RULER_TYPE_SWITCH_ZONE_FORTH_HAVE_POWER_T, // 上(t)次 两套时区表切换正向有功电能数据
  599. E_D07_RULER_TYPE_SWITCH_ZONE_BACK_HAVE_POWER_T, // 上(t)次 两套时区表切换反向有功电能数据
  600. E_D07_RULER_TYPE_SWITCH_ZONE_COMB_1_NONE_POWER_T, // 上(t)次 两套时区表切换组合无功电能数据
  601. E_D07_RULER_TYPE_SWITCH_ZONE_COMB_2_NONE_POWER_T, // 上(t)次 两套时区表切换组合无功电能数据
  602. E_D07_RULER_TYPE_SWITCH_ZONE_QUAD_1_NONE_POWER_T, // 上(t)次 两套时区表切换第一象限无功电能数据
  603. E_D07_RULER_TYPE_SWITCH_ZONE_QUAD_2_NONE_POWER_T, // 上(t)次 两套时区表切换第二象限无功电能数据
  604. E_D07_RULER_TYPE_SWITCH_ZONE_QUAD_3_NONE_POWER_T, // 上(t)次 两套时区表切换第三象限无功电能数据
  605. E_D07_RULER_TYPE_SWITCH_ZONE_QUAD_4_NONE_POWER_T, // 上(t)次 两套时区表切换第四象限无功电能数据
  606. E_D07_RULER_TYPE_SWITCH_ZONE_FORTH_HAVE_DEMAND_T, // 上(t)次 两套时区表切换正向有功最大需量及发生时间数据
  607. E_D07_RULER_TYPE_SWITCH_ZONE_BACK_HAVE_DEMAND_T, // 上(t)次 两套时区表切换反向有功最大需量及发生时间数据
  608. E_D07_RULER_TYPE_SWITCH_ZONE_VAR_DATA_T, // 上(t)次 两套时区表切换变量数据
  609. E_D07_RULER_TYPE_SWITCH_ZONE_BLOCK_T, // 上(t)次 两套时区表切换数据块
  610. /* t (1~2) */
  611. E_D07_RULER_TYPE_SWITCH_PART_TIME_T, // 上(t)次 两套日时段表切换时间
  612. E_D07_RULER_TYPE_SWITCH_PART_FORTH_HAVE_POWER_T, // 上(t)次 两套日时段表切换正向有功电能数据
  613. E_D07_RULER_TYPE_SWITCH_PART_BACK_HAVE_POWER_T, // 上(t)次 两套日时段表切换反向有功电能数据
  614. E_D07_RULER_TYPE_SWITCH_PART_COMB_1_NONE_POWER_T, // 上(t)次 两套日时段表切换组合无功电能数据
  615. E_D07_RULER_TYPE_SWITCH_PART_COMB_2_NONE_POWER_T, // 上(t)次 两套日时段表切换组合无功电能数据
  616. E_D07_RULER_TYPE_SWITCH_PART_QUAD_1_NONE_POWER_T, // 上(t)次 两套日时段表切换第一象限无功电能数据
  617. E_D07_RULER_TYPE_SWITCH_PART_QUAD_2_NONE_POWER_T, // 上(t)次 两套日时段表切换第二象限无功电能数据
  618. E_D07_RULER_TYPE_SWITCH_PART_QUAD_3_NONE_POWER_T, // 上(t)次 两套日时段表切换第三象限无功电能数据
  619. E_D07_RULER_TYPE_SWITCH_PART_QUAD_4_NONE_POWER_T, // 上(t)次 两套日时段表切换第四象限无功电能数据
  620. E_D07_RULER_TYPE_SWITCH_PART_FORTH_HAVE_DEMAND_T, // 上(t)次 两套日时段表切换正向有功最大需量及发生时间数据
  621. E_D07_RULER_TYPE_SWITCH_PART_BACK_HAVE_DEMAND_T, // 上(t)次 两套日时段表切换反向有功最大需量及发生时间数据
  622. E_D07_RULER_TYPE_SWITCH_PART_VAR_DATA_T, // 上(t)次 两套日时段表切换变量数据
  623. E_D07_RULER_TYPE_SWITCH_PART_BLOCK_T, // 上(t)次 两套日时段表切换数据块
  624. E_D07_RULER_TYPE_A6_MAX = E_D07_RULER_TYPE_SWITCH_PART_BLOCK_T, /* 表 A.6 规约最大值 */
  625. /* 对应表 A.7 负荷记录数据编码表 */
  626. E_D07_RULER_TYPE_A7_MIN, /* 表 A.7 规约最小值 */
  627. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD = E_D07_RULER_TYPE_A7_MIN, // 最早记录块
  628. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD, // 给定时间记录块
  629. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD, // 最近一个记录块
  630. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD_1, // 第一类负荷 最早记录块
  631. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD_1, // 第一类负荷 给定时间记录块
  632. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_1, // 第一类负荷 最近一个记录块
  633. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD_2, // 第二类负荷 最早记录块
  634. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD_2, // 第二类负荷 给定时间记录块
  635. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_2, // 第二类负荷 最近一个记录块
  636. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD_3, // 第三类负荷 最早记录块
  637. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD_3, // 第三类负荷 给定时间记录块
  638. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_3, // 第三类负荷 最近一个记录块
  639. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD_4, // 第四类负荷 最早记录块
  640. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD_4, // 第四类负荷 给定时间记录块
  641. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_4, // 第四类负荷 最近一个记录块
  642. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD_5, // 第五类负荷 最早记录块
  643. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD_5, // 第五类负荷 给定时间记录块
  644. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_5, // 第五类负荷 最近一个记录块
  645. E_D07_RULER_TYPE_EARLY_OVERLOAD_RECORD_6, // 第六类负荷 最早记录块
  646. E_D07_RULER_TYPE_GIVEN_OVERLOAD_RECORD_6, // 第六类负荷 给定时间记录块
  647. E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_6, // 第六类负荷 最近一个记录块
  648. E_D07_RULER_TYPE_A7_MAX = E_D07_RULER_TYPE_RECNT_OVERLOAD_RECORD_6, /* 表 A.7 规约最大值 */
  649. /* 用户扩展 */
  650. }E_D07_RULER_TYPE;
  651. /** dlt645 2007规约类型 */
  652. /* DLT645 2007版 规约编码表类型 */
  653. typedef enum
  654. {
  655. E_DLT64507_RULER_TABEL_POWER, /* 对应表A.1 电能量数据标识编码表 */
  656. E_DLT64507_RULER_TABEL_DEMAND, /* 对应表A.2 最大需量及发生时间数据标识编码表 */
  657. E_DLT64507_RULER_TABEL_VAR, /* 对应表A.3 变量数据标识编码表 */
  658. E_DLT64507_RULER_TABEL_EVENT, /* 对应表A.4 事件记录数据标识编码表 */
  659. E_DLT64507_RULER_TABEL_PARA, /* 对应表A.5 参变量数据标识编码表 */
  660. E_DLT64507_RULER_TABEL_FREEZE, /* 对应表A.6 冻结数据标识编码表 */
  661. E_DLT64507_RULER_TABEL_LOAD, /* 对应表A.7 负荷记录数据标识编码表 */
  662. E_DLT64507_RULER_TABEL_EXT, /* 对应表A.8 用户自定义数据标识编码表 */
  663. }E_DLT645_07_RULER_TABEL_TYPE;
  664. /* 结算日类型 */
  665. typedef enum
  666. {
  667. E_D07_PAYOFF_NULL, // 不关心该参数
  668. E_D07_PAYOFF_CURRENT, /* 当前 */
  669. E_D07_PAYOFF_PRE_1, /* 上 1 结算日 */
  670. E_D07_PAYOFF_PRE_2, /* 上 2 结算日 */
  671. E_D07_PAYOFF_PRE_3, /* 上 3 结算日 */
  672. E_D07_PAYOFF_PRE_4, /* 上 4 结算日 */
  673. E_D07_PAYOFF_PRE_5, /* 上 5 结算日 */
  674. E_D07_PAYOFF_PRE_6, /* 上 6 结算日 */
  675. E_D07_PAYOFF_PRE_7, /* 上 7 结算日 */
  676. E_D07_PAYOFF_PRE_8, /* 上 8 结算日 */
  677. E_D07_PAYOFF_PRE_9, /* 上 9 结算日 */
  678. E_D07_PAYOFF_PRE_10, /* 上 10 结算日 */
  679. E_D07_PAYOFF_PRE_11, /* 上 11 结算日 */
  680. E_D07_PAYOFF_PRE_12, /* 上 12 结算日 */
  681. }E_D07_PARA_PAYOFF;
  682. /* 参数 谐波次数 */
  683. typedef enum
  684. {
  685. E_D07_HARM_NULL, // 不关心谐波次数
  686. E_D07_HARM_1, // 1次谐波
  687. E_D07_HARM_2, // 2次谐波
  688. E_D07_HARM_3, // 3次谐波
  689. E_D07_HARM_4, // 4次谐波
  690. E_D07_HARM_5, // 5次谐波
  691. E_D07_HARM_6, // 6次谐波
  692. E_D07_HARM_7, // 7次谐波
  693. E_D07_HARM_8, // 8次谐波
  694. E_D07_HARM_9, // 9次谐波
  695. E_D07_HARM_10, // 10次谐波
  696. E_D07_HARM_11, // 11次谐波
  697. E_D07_HARM_12, // 12次谐波
  698. E_D07_HARM_13, // 13次谐波
  699. E_D07_HARM_14, // 14次谐波
  700. E_D07_HARM_15, // 15次谐波
  701. E_D07_HARM_16, // 16次谐波
  702. E_D07_HARM_17, // 17次谐波
  703. E_D07_HARM_18, // 18次谐波
  704. E_D07_HARM_19, // 19次谐波
  705. E_D07_HARM_20, // 20次谐波
  706. E_D07_HARM_21, // 21次谐波
  707. }E_D07_PARA_HARM;
  708. /* 参数上N次数 */
  709. typedef enum
  710. {
  711. E_D07_LAST_NULL, // 上不关次数
  712. E_D07_LAST_1, // 上1次
  713. E_D07_LAST_2, // 上2次
  714. E_D07_LAST_3, // 上3次
  715. E_D07_LAST_4, // 上4次
  716. E_D07_LAST_5, // 上5次
  717. E_D07_LAST_6, // 上6次
  718. E_D07_LAST_7, // 上7次
  719. E_D07_LAST_8, // 上8次
  720. E_D07_LAST_9, // 上9次
  721. E_D07_LAST_10, // 上10次
  722. E_D07_LAST_11, // 上11次
  723. E_D07_LAST_12, // 上12次
  724. }E_D07_PARA_LAST;
  725. /* 规约参数费率 */
  726. typedef enum
  727. {
  728. E_D07_RATE_NULL, // 不关心费率参数
  729. E_D07_RATE_1, // 费率
  730. E_D07_RATE_2, // 费率2
  731. E_D07_RATE_3, // 费率3
  732. E_D07_RATE_4, // 费率4
  733. E_D07_RATE_5, // 费率5
  734. E_D07_RATE_6, // 费率6
  735. E_D07_RATE_7, // 费率7
  736. E_D07_RATE_8, // 费率8
  737. E_D07_RATE_9, // 费率9
  738. E_D07_RATE_10, // 费率10
  739. E_D07_RATE_11, // 费率11
  740. E_D07_RATE_12, // 费率12
  741. E_D07_RATE_13, // 费率13
  742. E_D07_RATE_14, // 费率14
  743. E_D07_RATE_15, // 费率15
  744. E_D07_RATE_16, // 费率16
  745. E_D07_RATE_17, // 费率17
  746. E_D07_RATE_18, // 费率18
  747. E_D07_RATE_19, // 费率19
  748. E_D07_RATE_20, // 费率20
  749. E_D07_RATE_21, // 费率21
  750. E_D07_RATE_22, // 费率22
  751. E_D07_RATE_23, // 费率23
  752. E_D07_RATE_24, // 费率24
  753. E_D07_RATE_25, // 费率25
  754. E_D07_RATE_26, // 费率26
  755. E_D07_RATE_27, // 费率27
  756. E_D07_RATE_28, // 费率28
  757. E_D07_RATE_29, // 费率29
  758. E_D07_RATE_30, // 费率30
  759. E_D07_RATE_31, // 费率31
  760. E_D07_RATE_32, // 费率32
  761. E_D07_RATE_33, // 费率33
  762. E_D07_RATE_34, // 费率34
  763. E_D07_RATE_35, // 费率35
  764. E_D07_RATE_36, // 费率36
  765. E_D07_RATE_37, // 费率37
  766. E_D07_RATE_38, // 费率38
  767. E_D07_RATE_39, // 费率39
  768. E_D07_RATE_40, // 费率40
  769. E_D07_RATE_41, // 费率41
  770. E_D07_RATE_42, // 费率42
  771. E_D07_RATE_43, // 费率43
  772. E_D07_RATE_44, // 费率44
  773. E_D07_RATE_45, // 费率45
  774. E_D07_RATE_46, // 费率46
  775. E_D07_RATE_47, // 费率47
  776. E_D07_RATE_48, // 费率48
  777. E_D07_RATE_49, // 费率49
  778. E_D07_RATE_50, // 费率50
  779. E_D07_RATE_51, // 费率51
  780. E_D07_RATE_52, // 费率52
  781. E_D07_RATE_53, // 费率53
  782. E_D07_RATE_54, // 费率54
  783. E_D07_RATE_55, // 费率55
  784. E_D07_RATE_56, // 费率56
  785. E_D07_RATE_57, // 费率57
  786. E_D07_RATE_58, // 费率58
  787. E_D07_RATE_59, // 费率59
  788. E_D07_RATE_60, // 费率60
  789. E_D07_RATE_61, // 费率61
  790. E_D07_RATE_62, // 费率62
  791. E_D07_RATE_63, // 费率63
  792. E_D07_RATE_64, // 费率64
  793. }E_D07_PARA_RATE;
  794. /* 结构 */
  795. /* 数据转换方向 */
  796. typedef enum
  797. {
  798. E_D07_TRANS_U2F, // 数据格式从用户侧转换到帧侧
  799. E_D07_TRANS_F2U, // 数据格式从帧侧转换到用户侧
  800. }E_D07_TRANS_FLG;
  801. typedef eD07Err (*F_D07_RULER_TRANS)(E_D07_TRANS_FLG, char*, char*);
  802. /* 规约的格式类型 */
  803. typedef enum
  804. {
  805. E_D07_FMT_UNKOWN, // 未知
  806. E_D07_FMT_XXXX, // XXXX
  807. E_D07_FMT_XX_2 = E_D07_FMT_XXXX,// XXXX
  808. E_D07_FMT_XXXXXX, // XXXXXX
  809. E_D07_FMT_XX_3 = E_D07_FMT_XXXXXX,
  810. E_D07_FMT_XX_4, // XX 重复4次
  811. E_D07_FMT_XX_6, // XX 重复6次
  812. E_D07_FMT_XX_8, // XX 重复8次
  813. E_D07_FMT_XX_10, // XX 重复10次
  814. E_D07_FMT_XX_16, // XX 重复16次
  815. E_D07_FMT_X_XXX, // X.XXX
  816. E_D07_FMT_XX_XX, // XX.XX
  817. E_D07_FMT_XX_XXXX, // XX.XXXX
  818. E_D07_FMT_XX_XXXX_8, // XX.XXXX
  819. E_D07_FMT_XXX_X, // XXX.X
  820. E_D07_FMT_XXX_XXX, // XXX.XXX
  821. E_D07_FMT_XXXXXX_XX, // XXXXXX.XX
  822. E_D07_FMT_XXXXXXXX, // XXXXXXXX
  823. E_D07_FMT_XXXXXX_2, // XXXXXX 重复2次
  824. E_D07_FMT_XXXXXX_6, // XXXXXX 重复6次
  825. E_D07_FMT_NN, // NN
  826. E_D07_FMT_NNNN, // NNNN
  827. E_D07_FMT_NN_4, // NN
  828. E_D07_FMT_NN_6, // NN
  829. E_D07_FMT_NN_32, // NN
  830. E_D07_FMT_N_NNN, // N.NNN
  831. E_D07_FMT_NN_NNNN, // NN.NNNN
  832. E_D07_FMT_NNN_N, // NNN.N
  833. E_D07_FMT_hhmmss, // hhmmss
  834. E_D07_FMT_MMDDhhmm, // MMDDhhmm
  835. E_D07_FMT_MMDDNN_14, // MMDDNN 重复14次
  836. E_D07_FMT_hhmmNN_14, // hhmmNN 重复14次
  837. E_D07_FMT_DDhh, // DDhh
  838. E_D07_FMT_YYMMDDWW, // YYMMDDWW
  839. E_D07_FMT_YYMMDDNN, // YYMMDDWW
  840. E_D07_FMT_YYMMDDhhmm, // YYMMDDhhmm
  841. E_D07_FMT_YYMMDDhhmmNN, // YYMMDDhhmm
  842. E_D07_FMT_YYMMDDhhmmss, // YYMMDDhhmmss
  843. E_D07_FMT_YYMMDDhhmmss_2, // YYMMDDhhmmss YYMMDDhhmmss
  844. E_D07_FMT_YYMMDDhhmmss_2_XX_XXXX_YYMMDDhhmm, // YYMMDDhhmmss YYMMDDhhmmss xx.xxxx YYMMDDhhmm
  845. E_D07_FMT_XX_XXXX_YYMMDDhhmm, /* XX.XXXX
  846. YYMMDDhhmm */
  847. E_D07_FMT_YYMMDDhhmmss_XXX_XXX_YYMMDDhhmmss, /* YYMMDDhhmmss
  848. XXX.XXXX
  849. YYMMDDhhmmss */
  850. // 复杂结合数据格式类型
  851. E_D07_FMT_RECD_LOSS_LESS_VOLT, // 失压 欠压数据格式
  852. E_D07_FMT_RECD_ANTI_PHASE, // 逆相序数据格式
  853. E_D07_FMT_RECD_UN_BALANCE, // 不平衡数据格式
  854. E_D07_FMT_RECD_LESS_MORE_LOSS_ELEC, // LESS MORE LOSS 失流、过流、断流数据记录格式
  855. E_D07_FMT_RECD_VOLT_PASS_PERCENT, // 电压合格率数据统计
  856. E_D07_FMT_RECD_METER_PROG, // 电压合格率数据统计
  857. E_D07_FMT_RECD_METER_CLEAR, // 电压合格率数据统计
  858. E_D07_FMT_RECD_DEAMD_CLEAR, // 电压合格率数据统计
  859. E_D07_FMT_RECD_EVENT_CLEAR, // 电压合格率数据统计
  860. E_D07_FMT_RECD_ADJUST_TIME, // 电压合格率数据统计
  861. E_D07_FMT_RECD_PART_PROG, // 时段表编程记录
  862. E_D07_FMT_RECD_ZONE_PROG, // 时区表编程记录
  863. E_D07_FMT_RECD_WEEKDAY_PROG,
  864. E_D07_FMT_RECD_HOLIDAY_PROG,
  865. E_D07_FMT_RECD_POWER_PROG,
  866. E_D07_FMT_RECD_PAYOFF_PROG,
  867. E_D07_FMT_RECD_OPEN_METER_CAP,
  868. E_D07_FMT_RECD_OPEN_BTN_BOX,
  869. }E_D07_RULER_FORMAT;
  870. /* 规约读写类型 */
  871. typedef enum
  872. {
  873. E_D07_RDWR_READ_ONLY, /* 只读 */
  874. E_D07_RDWR_WRITE_ONLY, /* 只写 */
  875. E_D07_RDWR_READ_WRITE, /* 读写 */
  876. }E_D07_RULER_RDWR;
  877. /*数据结构*/
  878. typedef struct
  879. {
  880. E_D07_PARA_PAYOFF payoff; // 结算日(不关心,当前,上(1-12)结算日)
  881. E_D07_PARA_RATE rate; // 费率(不关心,1~63)
  882. E_D07_PARA_HARM harm; // 谐波次(不关心,1~21)
  883. E_D07_PARA_LAST last; // 上(n)次记录(不关心,1-10)
  884. }S_D07_RULER_PARA;
  885. typedef struct
  886. {
  887. E_D07_RULER_TYPE type; // 规约类型
  888. E_D07_RULER_RDWR rdwr; // 规约数据的读写属性
  889. E_D07_RULER_FORMAT format; // 规约数据的格式
  890. F_D07_RULER_TRANS func; // 数据域转换函数指针
  891. S_D07_RULER_PARA para; // 规约类型的额外数据
  892. int len; // 数据域字节长度
  893. char name[NAME_LEN*2]; // 该条规约数据项名称
  894. }S_D07_RULER_INFO;
  895. typedef struct
  896. {
  897. UINT32 ruler_id; /* 规约标签符 C0 C1 型如 0x40E3 */
  898. UINT8 ctrl_code; /* 控制码 */
  899. UINT8 data_len; /* 数据域字节数 包括规约和其它数据 */
  900. char address[13]; /* 地址 */
  901. char* data; /* 数据 */
  902. }S_D07_PACK_FRAME;
  903. /* 控制码域 C 帧传送方向 */
  904. typedef enum
  905. {
  906. E_D07_CTRL_DIR_M2S, // 主站到从站
  907. E_D07_CTRL_DIR_S2M, // 从站到主站
  908. }E_D07_CTRL_DIR;
  909. /* 从站异常标志 */
  910. typedef enum
  911. {
  912. E_D07_CTRL_SR_OK, // 从站正常应答
  913. E_D07_CTRL_SR_NO, // 从站异常应答
  914. }E_D07_CTRL_SR;
  915. /* 有无后续帧标志 */
  916. typedef enum
  917. {
  918. E_D07_CTRL_FLW_NONE, //无后续
  919. E_D07_CTRL_FLW_HAVE, //有后续
  920. }E_D07_CTRL_FLW;
  921. /* 解析包数据域的结果标志 */
  922. typedef enum
  923. {
  924. E_D07_UNPD_FLG_OK, /* 解析正确 数据可用 且数据是正常的答复 */
  925. E_D07_UNPD_FLG_ERROR_OK, /* 解析正确 数据可用 且数据是异常的答复 */
  926. E_D07_UNPD_FLG_NONE_DATA, /* 没有对应除规约 数据 */
  927. E_D07_UNPD_FLG_FUNC_NULL, /* 没有解析函数 */
  928. E_D07_UNPD_FLG_FUNC_ERROR, /* 有解析函数,但解析过程出错 */
  929. E_D07_UNPD_FLG_NONE_STRUCT, /* 没有解析该类型的用户侧数据结构 */
  930. }E_D07_UNPD_FLG;
  931. /* 控制域C 功能码 */
  932. typedef enum
  933. {
  934. E_D07_CTRL_RESV = 0x00,// 保留
  935. E_D07_CTRL_SYNC_TIME = 0x08,// 广播校时
  936. E_D07_CTRL_READ_DATA = 0x11,// 读数据
  937. E_D07_CTRL_READ_AFTERDATA = 0x12,// 读后续数据
  938. E_D07_CTRL_READ_ADDR = 0x13,// 读通信地址
  939. E_D07_CTRL_WRITE_DATA = 0x14,// 写数据
  940. E_D07_CTRL_WRITE_ADDR = 0x15,// 写通信地址
  941. E_D07_CTRL_FREEZ_COMM = 0x16,// 冻结命令
  942. E_D07_CTRL_MODIFY_BAUD = 0x17,// 修改通信速率
  943. E_D07_CTRL_MODIFY_PASSWORD = 0x18,// 修改密码
  944. E_D07_CTRL_CLEAR_MAXDEMAND = 0x19,// 最大需量清零
  945. E_D07_CTRL_CLEAR_METER = 0x1A,// 电表清零
  946. E_D07_CTRL_CLEAR_EVENT = 0x1B,// 事件清零
  947. E_D07_CTRL_COMM = 0x1C // 控制命令
  948. }E_D07_CTRL_FNC;
  949. /* 控制域C 结构定义 */
  950. typedef struct
  951. {
  952. E_D07_CTRL_DIR direct; // 帧传送方向
  953. E_D07_CTRL_SR reply; // 从站应答异常标志
  954. E_D07_CTRL_FLW follow; // 有无后续帧
  955. E_D07_CTRL_FNC funcode; // 功能码
  956. }S_D07_CTRL_CODE;
  957. typedef struct
  958. {
  959. float fXX_XXXX;
  960. UINT8 YY;
  961. UINT8 MM;
  962. UINT8 DD;
  963. UINT8 hh;
  964. UINT8 mm;
  965. }S_D07_XX_XXXX_YYMMDDhhmm;
  966. typedef struct
  967. {
  968. UINT32 a_times;
  969. UINT32 a_seconds;
  970. UINT32 b_times;
  971. UINT32 b_seconds;
  972. UINT32 c_times;
  973. UINT32 c_seconds;
  974. }S_D07_XXXXXX_6;
  975. typedef struct
  976. {
  977. UINT8 MM; // month
  978. UINT8 DD; // day
  979. UINT8 hh; // hour
  980. UINT8 mm; // minute
  981. }S_D07_MMDDhhmm;
  982. typedef struct
  983. {
  984. UINT32 ulTimes; // XXXXXX
  985. UINT32 ulMinutes; // XXXXXX
  986. }S_D07_XXXXXX_2;
  987. typedef struct
  988. {
  989. float fXX_XXXXX[8];
  990. }S_D07_XX_XXXX_8;
  991. typedef struct
  992. {
  993. UINT8 hh;
  994. UINT8 mm;
  995. UINT8 ss;
  996. }S_D07_hhmmss;
  997. typedef struct
  998. {
  999. UINT8 hh;
  1000. UINT8 mm;
  1001. UINT8 NN;
  1002. }S_D07_hhmmNN;
  1003. typedef struct
  1004. {
  1005. S_D07_hhmmNN hhmmNN[14];
  1006. }S_D07_hhmmNN_14;
  1007. typedef struct
  1008. {
  1009. UINT8 YY; // year
  1010. UINT8 MM; // month
  1011. UINT8 DD; // day
  1012. UINT8 hh; // hour
  1013. UINT8 mm; // minute
  1014. UINT8 ss; // second
  1015. }S_D07_YYMMDDhhmmss;
  1016. typedef struct
  1017. {
  1018. S_D07_YYMMDDhhmmss sBegin;
  1019. S_D07_YYMMDDhhmmss sEnd;
  1020. }S_D07_YYMMDDhhmmss_2;
  1021. typedef struct
  1022. {
  1023. UINT8 YY; // year
  1024. UINT8 MM; // month
  1025. UINT8 DD; // day
  1026. UINT8 hh; // hour
  1027. UINT8 mm; // minute
  1028. }S_D07_YYMMDDhhmm;
  1029. typedef struct
  1030. {
  1031. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻 6 * 1
  1032. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻 6 * 1
  1033. S_D07_XX_XXXX_YYMMDDhhmm sDemand; // 最大需量及发生时间
  1034. }S_D07_YYMMDDhhmmss_2_XX_XXXX_YYMMDDhhmm;
  1035. typedef struct
  1036. {
  1037. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻 6 * 1
  1038. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻 6 * 1
  1039. float fXXX_XXX;
  1040. }S_D07_YYMMDDhhmmss_XX_XXXX_YYMMDDhhmmss;
  1041. typedef struct
  1042. {
  1043. double dForthHavePowerIcr; // 事件发生期间某相 正向有功电能增量 XXXXXX.XX
  1044. double dBackHavePowerIcr; // 事件发生期间某相 反向有功电能增量 XXXXXX.XX
  1045. double dCombNone1PowerIcr; // 事件发生期间某相 组合无功1电能增量 XXXXXX.XX
  1046. double dCombNone2PowerIcr; // 事件发生期间某相 组合无功2电能增量 XXXXXX.XX
  1047. }S_D07_EventRecordVoltPhase;
  1048. typedef struct
  1049. {
  1050. float fVolt; // 事件发生期间某相 电压 形如 XXX.X
  1051. float fElec; // 事件发生期间某相 电流 XXX.XXX
  1052. float fHavePowerRate; // 事件发生期间某相 有功功率 XX.XXXX
  1053. float fNonePowerRate; // 事件发生期间某相 无功功率 XX.XXXX
  1054. float fPowerRateFactor; // 事件发生期间某相 功率因数 X.XXX
  1055. }S_D07_EventRecordFactor;
  1056. typedef struct
  1057. {
  1058. double dAtimeTotal; // 事件发生期间 总安时数 XXXXXX.XX
  1059. double dAtimePhaseA; // 事件发生期间 A相安时数 XXXXXX.XX
  1060. double dAtimePhaseB; // 事件发生期间 B相安时数 XXXXXX.XX
  1061. double dAtimePhaseC; // 事件发生期间 C相安时数 XXXXXX.XX
  1062. }S_D07_EventRecordAtime; // 安时数
  1063. typedef struct
  1064. {
  1065. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻 6 * 1
  1066. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻 6 * 1
  1067. S_D07_EventRecordVoltPhase sPowerTotal; // 总电能增量 4 * 8
  1068. S_D07_EventRecordVoltPhase sPowerA; // A相电能增量 4 * 8
  1069. S_D07_EventRecordFactor sFactorA; // A相因数 5 * 4
  1070. S_D07_EventRecordVoltPhase sPowerB; // B相电能增量 4 * 8
  1071. S_D07_EventRecordFactor sFactorB; // B相因数 5 * 4
  1072. S_D07_EventRecordVoltPhase sPowerC; // C相电能增量 4 * 8
  1073. S_D07_EventRecordFactor sFactorC; // C相因数 5 * 4
  1074. S_D07_EventRecordAtime sAtime; // 安时数 4 * 8
  1075. }S_D07_LESS_LOSS_VOLT;// 失压欠压过压,断相事件发生记录数据 35 * 4 + 12 = 152字节
  1076. typedef struct
  1077. {
  1078. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻 6 * 1
  1079. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻 6 * 1
  1080. S_D07_EventRecordVoltPhase sPowerTotal; // 总电能增量 4 * 8
  1081. S_D07_EventRecordVoltPhase sPowerA; // A相电能增量 4 * 8
  1082. S_D07_EventRecordVoltPhase sPowerB; // B相电能增量 4 * 8
  1083. S_D07_EventRecordVoltPhase sPowerC; // C相电能增量 4 * 8
  1084. }S_D07_EventRevPhase; // 电压 电流逆相 共(140)字节
  1085. typedef struct
  1086. {
  1087. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻
  1088. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻
  1089. float fMaxUnbalanceFator; // 最大不平衡率
  1090. S_D07_EventRecordVoltPhase sPowerTotal; // 总电能增量 4 * 8
  1091. S_D07_EventRecordVoltPhase sPowerA; // A相电能增量 4 * 8
  1092. S_D07_EventRecordVoltPhase sPowerB; // B相电能增量 4 * 8
  1093. S_D07_EventRecordVoltPhase sPowerC; // C相电能增量 4 * 8
  1094. }S_D07_EventUnBalance; //不平衡事件记录
  1095. typedef struct
  1096. {
  1097. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻 6 * 1
  1098. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻 6 * 1
  1099. S_D07_EventRecordVoltPhase sPowerTotal; // 总电能增量 4 * 8
  1100. S_D07_EventRecordVoltPhase sPowerA; // A相电能增量 4 * 8
  1101. S_D07_EventRecordFactor sFactorA; // A相因数 5 * 4
  1102. S_D07_EventRecordVoltPhase sPowerB; // B相电能增量 4 * 8
  1103. S_D07_EventRecordFactor sFactorB; // B相因数 5 * 4
  1104. S_D07_EventRecordVoltPhase sPowerC; // C相电能增量 4 * 8
  1105. S_D07_EventRecordFactor sFactorC; // C相因数 5 * 4
  1106. //S_D07_EventRecordAtime sAtime; // 安时数 4 * 8
  1107. }S_D07_LESS_MORE_LOSS_ELET;// 失流,断流,过流事件发生记录数据 35 * 4 + 12 = 152字节
  1108. typedef struct
  1109. {
  1110. UINT32 ulMonitorVoltMinutes; // 监测时间 单位分
  1111. float fVoltPassPercent; // 电压合格率
  1112. float fVoltOverLimitPercent; // 电压超限率
  1113. UINT32 ulVoltOverUpperLimitMinutes; // 电压超上限时间
  1114. UINT32 ulVoltOverLowerLimitMinutes; // 电压超下限时间
  1115. float fVoltValueMax; // 电压最大值
  1116. float fVoltValueMin; // 电压最小值
  1117. S_D07_MMDDhhmm sTimeVoltValueMax; // 最高电压发生时间
  1118. S_D07_MMDDhhmm sTimeVoltValueMin; // 最低电压发生时间
  1119. }S_D07_EventPassPercent; // 合格率事件数据
  1120. typedef struct
  1121. {
  1122. S_D07_YYMMDDhhmmss sProgTime; // 事件发生时刻
  1123. UINT8 programer[4]; // 编程者标识 4字节
  1124. UINT32 ulRulerID[10]; // 编程的前十个数据标识码,型如 0xFFFFFFFF 不足用0xFFFFFFFF补足
  1125. }S_D07_EventMeterProgram; // 编程事件记录
  1126. typedef struct
  1127. {
  1128. double dForthHavePower; // XXXXXX.XX 正向 有功总电能
  1129. double dBackHavePower; // XXXXXX.XX 反向 有功总电能
  1130. double dNonePowerQuad1; // XXXXXX.XX 事件发生时第 1 象限无功电能
  1131. double dNonePowerQuad2; // XXXXXX.XX 事件发生时第 2 象限无功电能
  1132. double dNonePowerQuad3; // XXXXXX.XX 事件发生时第 3 象限无功电能
  1133. double dNonePowerQuad4; // XXXXXX.XX 事件发生时第 4 象限无功电能
  1134. }S_D07_EventPower;
  1135. typedef struct
  1136. {
  1137. S_D07_XX_XXXX_YYMMDDhhmm sFortHaveDemand; // 正向有功最大需量及发生时间 XX.XXXX YYMMDDhhmm
  1138. S_D07_XX_XXXX_YYMMDDhhmm sBackHaveDemand; // 正向有功最大需量及发生时间 XX.XXXX YYMMDDhhmm
  1139. S_D07_XX_XXXX_YYMMDDhhmm sNoneDemandQuad1; // 正向有功最大需量及发生时间 XX.XXXX YYMMDDhhmm
  1140. S_D07_XX_XXXX_YYMMDDhhmm sNoneDemandQuad2; // 正向有功最大需量及发生时间 XX.XXXX YYMMDDhhmm
  1141. S_D07_XX_XXXX_YYMMDDhhmm sNoneDemandQuad3; // 正向有功最大需量及发生时间 XX.XXXX YYMMDDhhmm
  1142. S_D07_XX_XXXX_YYMMDDhhmm sNoneDemandQuad4; // 正向有功最大需量及发生时间 XX.XXXX YYMMDDhhmm
  1143. }S_D07_EventDemand; //最大需量清零事件某项最大需量及发生时间
  1144. typedef struct
  1145. {
  1146. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1147. UINT8 operator[4]; // 操作者标识 4字节
  1148. S_D07_EventDemand sTotal; // 电表清零前 总 需量数据
  1149. S_D07_EventDemand sPhaseA; // 电表清零前 A相需量数据
  1150. S_D07_EventDemand sPhaseB; // 电表清零前 B相需量数据
  1151. S_D07_EventDemand sPhaseC; // 电表清零前 C相需量数据
  1152. }S_D07_EventDemandClear;
  1153. typedef struct
  1154. {
  1155. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1156. UINT8 operator[4]; // 操作者标识 4字节
  1157. S_D07_EventPower sTotal; // 电表清零前 总 电能数据
  1158. S_D07_EventPower sPhaseA; // 电表清零前 A相电能数据
  1159. S_D07_EventPower sPhaseB; // 电表清零前 B相电能数据
  1160. S_D07_EventPower sPhaseC; // 电表清零前 C相电能数据
  1161. }S_D07_EventMeterClear; // 电表清0事件记录
  1162. typedef struct
  1163. {
  1164. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1165. UINT8 operator[4]; // 操作者标识 4字节
  1166. UINT32 ulEventID; // 清零事件标记
  1167. }S_D07_EventClear; // 事件清零记录
  1168. typedef struct
  1169. {
  1170. UINT8 operator[4]; // 操作者标识 4字节
  1171. S_D07_YYMMDDhhmmss sBefTime; // 校时前时间
  1172. S_D07_YYMMDDhhmmss sAftTime; // 校时后时间
  1173. }S_D07_EventTiming; // 校时事件记录
  1174. typedef struct
  1175. {
  1176. UINT8 MM;
  1177. UINT8 DD;
  1178. UINT8 NN;
  1179. }S_D07_MMDDNN;
  1180. typedef struct
  1181. {
  1182. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1183. UINT8 operator[4]; // 操作者标识 4字节
  1184. S_D07_MMDDNN sZoneSet1[14]; // 时区表编程前第一套第(1~14)时区表数据
  1185. S_D07_MMDDNN sZoneSet2[14]; // 时区表编程前第二套第(1~14)时区表数据
  1186. }S_D07_EventZone; // 时区表编程事件记录
  1187. typedef struct
  1188. {
  1189. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1190. UINT8 operator[4]; // 操作者标识 4字节
  1191. UINT8 ucTableNum; // 周休是编程前采用的日段表号
  1192. }S_D07_EventWeekDay; // 周休日编程记录
  1193. typedef struct
  1194. {
  1195. UINT8 DD;
  1196. UINT8 hh;
  1197. }S_D07_DDhh;
  1198. typedef struct
  1199. {
  1200. UINT8 YY;
  1201. UINT8 MM;
  1202. UINT8 DD;
  1203. UINT8 NN;
  1204. }S_D07_YYMMDDNN;
  1205. typedef struct
  1206. {
  1207. UINT8 YY;
  1208. UINT8 MM;
  1209. UINT8 DD;
  1210. UINT8 hh;
  1211. UINT8 mm;
  1212. UINT8 NN;
  1213. }S_D07_YYMMDDhhmmNN;
  1214. typedef struct
  1215. {
  1216. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1217. UINT8 operator[4]; // 操作者标识 4字节
  1218. S_D07_YYMMDDNN sHoliday[12];
  1219. // 中国法定节假日11天 元旦一天。春节三天。清明一天。五一一天。端午一天。中秋一天。国庆三天。
  1220. // 编程前第N节假日数据 标准协议支持254个节假日
  1221. //
  1222. }S_D07_EventHoliday; // 节假日编程事件记录
  1223. typedef struct
  1224. {
  1225. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1226. UINT8 operator[4]; // 操作者标识 4字节
  1227. UINT8 ucWord; // 功组合方式编程前的有功组合方式特征字
  1228. }S_D07_EventCombPower; // 有功/无功组合方式编程记录
  1229. typedef struct
  1230. {
  1231. S_D07_YYMMDDhhmmss sOccurTime; // 事件发生时刻
  1232. UINT8 operator[4]; // 操作者标识 4字节
  1233. S_D07_DDhh sDay1;
  1234. S_D07_DDhh sDay2;
  1235. S_D07_DDhh sDay3;
  1236. }S_D07_EventPayoff;
  1237. typedef struct
  1238. {
  1239. S_D07_YYMMDDhhmmss sBgnTime; // 开始时刻
  1240. S_D07_YYMMDDhhmmss sEndTime; // 结束时刻
  1241. S_D07_EventPower sPowerBeforOpen; // 开盖前电能数据
  1242. S_D07_EventPower sPowerAfterOpen; // 开盖后电能数据
  1243. }S_D07_EventOpenCap; // 开表盖记录
  1244. typedef struct
  1245. {
  1246. UINT8 YY;
  1247. UINT8 MM;
  1248. UINT8 DD;
  1249. UINT8 WW;
  1250. }S_D07_YYMMDDWW;
  1251. typedef struct
  1252. {
  1253. S_D07_MMDDNN MMDDNN[14];
  1254. }S_D07_MMDDNN_14;
  1255. typedef struct
  1256. {
  1257. BOOL bRateErr; // 费率数超
  1258. BOOL bDayErr; // 日时段数超
  1259. BOOL bYearErr; // 年时区数超
  1260. BOOL bCommErr; // 通讯速率不能更改
  1261. BOOL bPwdErr; // 密码错或未授权
  1262. BOOL bNoneReq; // 没有请求数据
  1263. BOOL bOtherErr; // 其它错误
  1264. }S_D07_ERR;
  1265. /* 用户接口侧数据结构 */
  1266. typedef union
  1267. {
  1268. float fPower;
  1269. S_D07_YYMMDDWW sYYMMDDWW;
  1270. S_D07_ERR sError;
  1271. }U_D07_DATA_UNPACK;
  1272. /* 解析帧信息数据结构 */
  1273. typedef struct
  1274. {
  1275. UINT8 ctrl_c; /* 控制码 字节型 */
  1276. UINT8 lead_num; /* 前导字符 0xFE的个数 */
  1277. UINT32 ruler_id; /* 规约ID */
  1278. unsigned short data_len; /* 数据域长 */
  1279. unsigned short frame_len; /* 整个帧长*/
  1280. E_D07_RULER_TYPE type; /* 规约类型 */
  1281. E_D07_RULER_FORMAT format; /* 帧中数据格式 */
  1282. E_D07_UNPD_FLG flag; /* 解析数据到用户侧数据的标志,说明解析状态 决定data_unpack 是否可用 */
  1283. S_D07_CTRL_CODE ctrl_s; /* 控制码结构 */
  1284. S_D07_RULER_PARA para; /* 规约类型的额外数据 */
  1285. UINT8 data_pack[D07_DATA_MAX_NR]; /* 数据域 不包括规约ID的部分 没有做转换 */
  1286. UINT8 address[D07_ADDR_LEN+1]; //12位地址域数据
  1287. U_D07_DATA_UNPACK data_unpack; /* 转换为用户侧的数据 */
  1288. //UINT8 *pDataUser;
  1289. }S_D07_UNPACK;
  1290. /* 功能函数 */
  1291. /* 根据规约ID 获取对应规约的数据类型信息 */
  1292. int get_d07_ruler_info(UINT32 rulerID, S_D07_RULER_INFO *outRulerInfo);
  1293. int get_d07_ruler_id(E_D07_RULER_TYPE type,
  1294. S_D07_RULER_PARA para,
  1295. UINT32 *poutRulerID);
  1296. /* 通过地址 规约ID 数据域数据及长度 封帧 */
  1297. int pack_d07_frame_by_data(S_D07_PACK_FRAME *inPara, char *outBuffer, int *outLength);
  1298. //解析 dlt645 07帧
  1299. int unpack_d07_frame(void *inpBuffer, int inBufferLength, S_D07_UNPACK *outpFrame);
  1300. INT32 dlt645api_unpack_d07_frame(void *inpBuffer, INT32 inBufferLength, S_D07_UNPACK *outpFrame);
  1301. /* 从一段数据中找出第一个有效dlt645 2007帧的位置及长度 */
  1302. int get_d07_first_valid_frame(const UINT8 *pBuf, // 要解析的buf
  1303. UINT16 usLenBuf, // 要解析的buf字节数
  1304. UINT8 **ppFirstPos, // 输出帧buffer
  1305. UINT16 *pusLenFrame); // 输出Frame字节数
  1306. /* 判断一个帧是否为正确的 */
  1307. int is_right_d07_frame(void *inpBuffer, int inBufferLength);
  1308. /* */
  1309. void d07_str2bcd(const char *pstr, UINT8 *pbcd, int len);
  1310. void d07_bcd2str(const char* inBCD, char *outStr, int len);
  1311. double d07_bcd_to_double(UINT8* pBcd, int len,int LeftDigit);
  1312. int d07_remove_dot(int len, char*inArray, char *outArray); // 去掉字符串格式中去的小数点
  1313. int d07_add_dot(int len, char*inArray, char *outArray, int dotpos); // 加上小数点
  1314. /* 解析控制码 */
  1315. eD07Err trans_d07ctrl_struct2char(UINT8 *outChar, S_D07_CTRL_CODE *inStruct); //将结构封装成字节
  1316. eD07Err trans_d07ctrl_char2struct(UINT8 inChar, S_D07_CTRL_CODE *outStruct); //将字节封装成结构
  1317. /* 数据解析函数 */
  1318. /*XX*/
  1319. eD07Err trans_d07_data_XX_2(E_D07_TRANS_FLG flag, char *user, char *frame);
  1320. eD07Err trans_d07_data_XX_3(E_D07_TRANS_FLG flag, char *user, char *frame);
  1321. eD07Err trans_d07_data_XX_4(E_D07_TRANS_FLG flag, char *user, char *frame);
  1322. eD07Err trans_d07_data_XX_6(E_D07_TRANS_FLG flag, char *user, char *frame);
  1323. eD07Err trans_d07_data_XX_8(E_D07_TRANS_FLG flag, char *user, char *frame);
  1324. eD07Err trans_d07_data_XX_10(E_D07_TRANS_FLG flag, char *user, char *frame);
  1325. eD07Err trans_d07_data_XX_16(E_D07_TRANS_FLG flag, char *user, char *frame);
  1326. eD07Err trans_d07_data_XXXXXX_2(E_D07_TRANS_FLG flag, char *user, char *frame);
  1327. eD07Err trans_d07_data_XXXXXX_6(E_D07_TRANS_FLG flag, char *user, char *frame);
  1328. eD07Err trans_d07_data_XXXX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1329. eD07Err trans_d07_data_XXXXXX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1330. eD07Err trans_d07_data_XXX_X(E_D07_TRANS_FLG flag, char *user, char *frame);
  1331. eD07Err trans_d07_data_XXX_XXX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1332. eD07Err trans_d07_data_XX_XXXX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1333. eD07Err trans_d07_data_XXXXXXXX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1334. eD07Err trans_d07_data_XXXXXX_XX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1335. eD07Err trans_d07_data_XX_XXXX_YYMMDDhhmm(E_D07_TRANS_FLG flag, char *user, char *frame);
  1336. eD07Err trans_d07_data_XX_XXXX_8(E_D07_TRANS_FLG flag, char *user, char *frame);
  1337. /*NN*/
  1338. eD07Err trans_d07_data_NN(E_D07_TRANS_FLG flag, char *user, char *frame);
  1339. eD07Err trans_d07_data_NNNN(E_D07_TRANS_FLG flag, char *user, char *frame);
  1340. eD07Err trans_d07_data_NN_4(E_D07_TRANS_FLG flag, char *user, char *frame);
  1341. eD07Err trans_d07_data_NN_6(E_D07_TRANS_FLG flag, char *user, char *frame);
  1342. eD07Err trans_d07_data_NN_32(E_D07_TRANS_FLG flag, char *user, char *frame);
  1343. eD07Err trans_d07_data_N_NNN(E_D07_TRANS_FLG flag, char *user, char *frame);
  1344. eD07Err trans_d07_data_NN_NNNN(E_D07_TRANS_FLG flag, char *user, char *frame);
  1345. eD07Err trans_d07_data_NNN_N(E_D07_TRANS_FLG flag, char *user, char *frame);
  1346. /*X.X*/
  1347. eD07Err trans_d07_data_X_XXX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1348. eD07Err trans_d07_data_XX_XX(E_D07_TRANS_FLG flag, char *user, char *frame);
  1349. /*YYMMDDWWhhmmss*/
  1350. eD07Err trans_d07_data_hhmmss(E_D07_TRANS_FLG flag, char *user, char *frame);
  1351. eD07Err trans_d07_data_MMDDhhmm(E_D07_TRANS_FLG flag, char *user, char *frame);
  1352. eD07Err trans_d07_data_DDhh(E_D07_TRANS_FLG flag, char *user, char *frame);
  1353. eD07Err trans_d07_data_YYMMDDWW(E_D07_TRANS_FLG flag, char *user, char *frame);
  1354. eD07Err trans_d07_data_YYMMDDNN(E_D07_TRANS_FLG flag, char *user, char *frame);
  1355. eD07Err trans_d07_data_YYMMDDhhmm(E_D07_TRANS_FLG flag, char *user, char *frame);
  1356. eD07Err trans_d07_data_YYMMDDhhmmNN(E_D07_TRANS_FLG flag, char *user, char *frame);
  1357. eD07Err trans_d07_data_YYMMDDhhmmss(E_D07_TRANS_FLG flag, char *user, char *frame);
  1358. eD07Err trans_d07_data_YYMMDDhhmmss_2(E_D07_TRANS_FLG flag, char *user, char *frame);
  1359. eD07Err trans_d07_data_YYMMDDhhmmss_2_XX_XXXX_YYMMDDhhmm(E_D07_TRANS_FLG flag, char *user, char *frame);
  1360. eD07Err trans_d07_data_YYMMDDhhmmss_XXX_XXX_YYMMDDhhmmss(E_D07_TRANS_FLG flag, char *user, char *frame);
  1361. eD07Err trans_d07_data_MMDDNN_14(E_D07_TRANS_FLG flag, char *user, char *frame);
  1362. eD07Err trans_d07_data_hhmmNN_14(E_D07_TRANS_FLG flag, char *user, char *frame);
  1363. /* 组合数据 */
  1364. eD07Err trans_d07_data_recd_loss_less_volt(E_D07_TRANS_FLG flag, char *user, char *frame);
  1365. eD07Err trans_d07_data_recd_anti_phase(E_D07_TRANS_FLG flag, char *user, char *frame); // 逆相序数据格式
  1366. eD07Err trans_d07_data_recd_un_balance(E_D07_TRANS_FLG flag, char *user, char *frame); // 不平衡数据格式
  1367. eD07Err trans_d07_data_recd_less_more_loss_elec(E_D07_TRANS_FLG flag, char *user, char *frame); // less more loss 失流、过流、断流数据记录格式
  1368. eD07Err trans_d07_data_recd_volt_pass_percent(E_D07_TRANS_FLG flag, char *user, char *frame);
  1369. eD07Err trans_d07_data_recd_meter_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1370. eD07Err trans_d07_data_recd_meter_clear(E_D07_TRANS_FLG flag, char *user, char *frame);
  1371. eD07Err trans_d07_data_recd_demand_clear(E_D07_TRANS_FLG flag, char *user, char *frame);
  1372. eD07Err trans_d07_data_recd_event_clear(E_D07_TRANS_FLG flag, char *user, char *frame);
  1373. eD07Err trans_d07_data_recd_adjust_time(E_D07_TRANS_FLG flag, char *user, char *frame);
  1374. eD07Err trans_d07_data_recd_part_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1375. eD07Err trans_d07_data_recd_zone_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1376. eD07Err trans_d07_data_recd_weekday_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1377. eD07Err trans_d07_data_recd_holiday_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1378. eD07Err trans_d07_data_recd_power_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1379. eD07Err trans_d07_data_recd_payoff_prog(E_D07_TRANS_FLG flag, char *user, char *frame);
  1380. eD07Err trans_d07_data_recd_open_meter_cap(E_D07_TRANS_FLG flag, char *user, char *frame);
  1381. eD07Err trans_d07_data_recd_open_btn_box(E_D07_TRANS_FLG flag, char *user, char *frame);
  1382. //错误状态字
  1383. eD07Err trans_d07_data_err(E_D07_TRANS_FLG flag, char *user, char *frame);
  1384. #pragma pack(pop)
  1385. #endif //__DLT645_2007_RULERS_H__