📄 realdata.lst
字号:
C51 COMPILER V7.06 REALDATA 11/24/2008 09:37:06 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE REALDATA
OBJECT MODULE PLACED IN realdata.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE bottom\realdata.c LARGE OPTIMIZE(9,SIZE) BROWSE NOAREGS MODDP2 INCDIR(C:\DO
-CUMENTS AND SETTINGS\ADMINISTRATOR.LENOVO-80B42371\桌面\VANGO\程序\var\) DEBUG OBJECTEXTEND PRINT(.\realdata.lst) OBJECT
-(realdata.obj)
stmt level source
1 /*************************************************************************************
2
3 文件类型:读取各瞬时值
4 文件作用:
5 修改权限:
6 文件相关:
7
8 创 建 人:chenbo
9 创建日期:2007.06.21
10 当前版本:Ver0.1
11
12 版本信息:Ver0.1 GeminiKQ
13
14 **************************************************************************************/
15 #include "Tiger.h"
*** WARNING C318 IN LINE 15 OF bottom\realdata.c: can't open file 'Tiger.h'
16 #include "typemeter.h"
*** WARNING C318 IN LINE 16 OF bottom\realdata.c: can't open file 'typemeter.h'
17
18 struct real_dim
19 { unsigned char meteraddr; //计量模块中的地址
20 unsigned int ID_data; //数据ID号
21 unsigned int fenzi; //分子
22 unsigned long fenmu;
23 unsigned int levle; //计量门限
24 };
25
26 const struct real_dim code real_table[]=
27 {{4,ID_RMSCURNTA,1877,dim_Aamprms,type_Ib*100}, // Ia 1877 A通道电流有效值
*** ERROR C202 IN LINE 27 OF BOTTOM\REALDATA.C: 'ID_RMSCURNTA': undefined identifier
*** ERROR C202 IN LINE 27 OF BOTTOM\REALDATA.C: 'dim_Aamprms': undefined identifier
*** ERROR C202 IN LINE 27 OF BOTTOM\REALDATA.C: 'type_Ib': undefined identifier
28 {5,ID_RMSCURNTB,1877,dim_Bamprms,type_Ib*100}, // Ib A通道电流有效值
*** ERROR C202 IN LINE 28 OF BOTTOM\REALDATA.C: 'ID_RMSCURNTB': undefined identifier
*** ERROR C202 IN LINE 28 OF BOTTOM\REALDATA.C: 'dim_Bamprms': undefined identifier
*** ERROR C202 IN LINE 28 OF BOTTOM\REALDATA.C: 'type_Ib': undefined identifier
29 {8,ID_RMSVOLT,54325,dim_voltagerms,type_volit}, // V 51738 电压通道有效值
*** ERROR C202 IN LINE 29 OF BOTTOM\REALDATA.C: 'ID_RMSVOLT': undefined identifier
*** ERROR C202 IN LINE 29 OF BOTTOM\REALDATA.C: 'dim_voltagerms': undefined identifier
*** ERROR C202 IN LINE 29 OF BOTTOM\REALDATA.C: 'type_volit': undefined identifier
30 {3,ID_POWER,849,dim_kw,1000} // kw 功率有效值
*** ERROR C202 IN LINE 30 OF BOTTOM\REALDATA.C: 'ID_POWER': undefined identifier
*** ERROR C202 IN LINE 30 OF BOTTOM\REALDATA.C: 'dim_kw': undefined identifier
31 };
32
33
34 //=================================================================
35 //函数功能:初始化瞬时值模块,清零瞬时值
36 //
37 //=================================================================
38 void init_realdate(void)
39 {uint8 i;
*** ERROR C202 IN LINE 39 OF BOTTOM\REALDATA.C: 'uint8': undefined identifier
C51 COMPILER V7.06 REALDATA 11/24/2008 09:37:06 PAGE 2
*** ERROR C141 IN LINE 39 OF BOTTOM\REALDATA.C: syntax error near 'i'
40 1 flag_realdatarefresh=1;
*** ERROR C202 IN LINE 40 OF BOTTOM\REALDATA.C: 'flag_realdatarefresh': undefined identifier
41 1 type_refreshdata=0;
*** ERROR C202 IN LINE 41 OF BOTTOM\REALDATA.C: 'type_refreshdata': undefined identifier
42 1 for(i=0;i<40;i++)
*** ERROR C202 IN LINE 42 OF BOTTOM\REALDATA.C: 'i': undefined identifier
43 1 wr_buff[i]=0;
*** ERROR C202 IN LINE 43 OF BOTTOM\REALDATA.C: 'i': undefined identifier
44 1 Write_datafromID(0xc200);
45 1 Write_datafromID(0xc210);
46 1 Write_datafromID(0xc230);
47 1 Write_datafromID(0xc240);
48 1
49 1 }
50
51 //==============================================================
52 //函数功能:计算各种有效值并保存
53 //入口参数:计算类型
54 //返回参数:有效值
55 //==============================================================
56 unsigned long jisuan_youxiaozhi(unsigned char type)
57 { Word32 temp_data;
58 1 uint32 value;
59 1 uint8 i;
60 1 temp_data.lword=ReadMeterPara(real_table[type].meteraddr);
61 1 if(type==3)
62 1 {if(temp_data.lword>0x7fffffff)
63 2 {
64 3 temp_data.lword=(~temp_data.lword)+1; // 取补码
65 3 Flg_kwhfangxiang=1; // 能量反方向
66 3 }
67 2 else
68 2 Flg_kwhfangxiang=0;
69 2 }
70 1 temp_data.lword=(temp_data.lword*real_table[type].fenzi)/real_table[type].fenmu;
71 1 // if(temp_data.lword<real_table[type].levle)
72 1 // temp_data.lword=0;
73 1 value=temp_data.lword;
74 1 temp_data.lword=long_to_4bcd(temp_data.lword); //转BCD码
75 1 for(i=0;i<4;i++)
76 1 wr_buff[i]=temp_data.byte[i];
77 1 addr_baseonIDandtype(RAM,real_table[type].ID_data); //根据ID号获取地址
78 1 data_addr.lword=(*ID_coretalbpoint[0]).dataaddr;
79 1 Write_data((*ID_coretalbpoint[0]).stortype,(*ID_coretalbpoint[0]).datalong); // 数据保存
80 1 return value;
81 1 }
82
83 //=====================================================================
84 //函数功能:刷新各瞬时值
85 //备注:1秒中刷新一次
86 //=====================================================================
87 void realdata_mode(void)
88 {
89 1 if(flag_realdatarefresh==true)
90 1 { if(type_refreshdata>4)
91 2 type_refreshdata=0;
92 2 else
93 2 type_refreshdata++;
94 2 switch(type_refreshdata)
95 2 { case 0: //Ia
96 3 jisuan_youxiaozhi(0);
C51 COMPILER V7.06 REALDATA 11/24/2008 09:37:06 PAGE 3
97 3 break;
98 3 case 1: //Ib
99 3 jisuan_youxiaozhi(1);
100 3 break;
101 3 case 2: //V
102 3 jisuan_youxiaozhi(2);
103 3 break;
104 3 case 3:
105 3 // if(jisuan_youxiaozhi(3)<550) //kw
106 3 jisuan_youxiaozhi(3);
107 3 // Flg_kwhfangxiang=0;
108 3 break;
109 3 }
110 2 }
111 1
112 1 }
-
-
-
-
-
-
C51 COMPILATION COMPLETE. 2 WARNING(S), 17 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -