?? datainit.lst
字號:
346 =1 void serial_command_resolve(void);
347 =1 void serial_make_senddata(void);
348 =1
349 =1 //datainit.c
350 =1 void data_init(void);
351 =1 void orgdata_init(void); //恢復原始數據
352 =1 void orgdata_init_total(void);
353 =1 void orgdata_init_input(void);
354 =1 void orgdata_init_output(void);
355 =1 void GetUserParamSaveOverFlg();
356 =1 void SetUserParamSaveOverFlg();
357 =1
358 =1 //param_save_restore.c
359 =1 void restore_user_param(void);
360 =1 void save_user_param(void);
361 =1 void restore_factory_param(void);
362 =1 uchar erase(uint addr);
363 =1 uchar writef(uint x,uchar y);
364 =1
365 =1 //can.c
366 =1 void can_init(uint pointa); //can初始化
367 =1 void can_reset(void);
C51 COMPILER V6.12 DATAINIT 06/05/2005 15:44:45 PAGE 14
368 =1 void can_call_in(uchar a); //外呼
369 =1 can_receive_more(uchar a); //控制器
370 =1 can_receive_only(uchar a); //控制器
371 =1 clear_unknow_code(uchar a); //清亂碼
372 =1 void can_call_assign(); //外呼分派
373 =1 can_call_lamp(); //暫定50ms循環點燈,滅燈
374 =1
375 =1
2
3 void data_init(void)
4 {
5 1 xdata uchar j=0;
6 1 //取得用戶參數存儲過標記
7 1 GetUserParamSaveOverFlg();
8 1
9 1 // mE_InputData.mDianTi[0].TongXun.bZhiShi=m_save_over_flg;
10 1 if(m_save_over_flg==0){ //未存儲
11 2 orgdata_init();
12 2 }else if(m_save_over_flg==0x01){ //存儲過
13 2 restore_user_param();
14 2 //2004.06.22 added by LHM
15 2 //外呼數據
16 2 for(j=0; j<ARRAY_BYTENUM; j++){
17 3 switch(j){
18 4 case 0: mE_InputData.mWaiHu.bShang[j]=0; mE_InputData.mWaiHu.bXia[j]=0; break;
19 4 case 1: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
20 4 case 2: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
21 4 case 3: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
22 4 case 4: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
23 4 case 5: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
24 4 case 6: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
25 4 default: break;
26 4 }
27 3 }
28 2 //輸出數據
29 2 orgdata_init_output();
30 2 //END
31 2 //中間數據初始化
32 2 InitData();
33 2 }
34 1 }
35
36 //原始數據初始化
37 void orgdata_init(void)
38 {
39 1 //總體數據初始化
40 1 orgdata_init_total();
41 1
42 1 //輸入數據初始化
43 1 orgdata_init_input();
44 1
45 1 //輸出數據初始化
46 1 orgdata_init_output();
47 1
48 1 //中間數據初始化
49 1 InitData();
50 1
51 1 }
52
53 //總體數據初始化
54 void orgdata_init_total(void)
55 {
C51 COMPILER V6.12 DATAINIT 06/05/2005 15:44:45 PAGE 15
56 1 //總體數據初始化
57 1 mL_Data.cLNum=LNum_MAX; //最大樓層數
58 1 //2004.05.13 LHM (暫時為4路CAN)
59 1 // mL_Data.cENum=ENum_MAX; //最大群控電梯數
60 1 mL_Data.cENum=4;
61 1 //end //最大群控電梯數
62 1 mL_Data.nTKYanChiTime=300; //靜態停靠延遲時間(秒)
63 1 mL_Data.mSysTime.mYearMonDat.cYear=0x04; //系統時間
64 1 mL_Data.mSysTime.mYearMonDat.cMonth=0x01; //系統時間
65 1 mL_Data.mSysTime.mYearMonDat.cDate=0x01; //系統時間
66 1 mL_Data.mSysTime.mYearMonDat.cWeek=0x01; //系統時間(暫時未使用)
67 1 mL_Data.mSysTime.mHourMinSec.cHour=0; //系統時間
68 1 mL_Data.mSysTime.mHourMinSec.cMinute=0; //系統時間
69 1 mL_Data.mSysTime.mHourMinSec.cSecond=0; //系統時間(暫時未使用)
70 1
71 1 mL_Data.ZaoGF.lStartTime.cHour=0x08; //早高峰
72 1 mL_Data.ZaoGF.lStartTime.cMinute=0;
73 1 mL_Data.ZaoGF.lStartTime.cSecond=0;
74 1 mL_Data.ZaoGF.lEndTime.cHour=0x09;
75 1 mL_Data.ZaoGF.lEndTime.cMinute=0x30;
76 1 mL_Data.ZaoGF.lEndTime.cSecond=0;
77 1
78 1 mL_Data.WuGF.lStartTime.cHour=0x11; //午高峰
79 1 mL_Data.WuGF.lStartTime.cMinute=0x30;
80 1 mL_Data.WuGF.lStartTime.cSecond=0;
81 1 mL_Data.WuGF.lEndTime.cHour=0x13;
82 1 mL_Data.WuGF.lEndTime.cMinute=0x30;
83 1 mL_Data.WuGF.lEndTime.cSecond=0;
84 1
85 1 mL_Data.WanGF.lStartTime.cHour=0x17; //晚高峰
86 1 mL_Data.WanGF.lStartTime.cMinute=0;
87 1 mL_Data.WanGF.lStartTime.cSecond=0;
88 1 mL_Data.WanGF.lEndTime.cHour=0x19;
89 1 mL_Data.WanGF.lEndTime.cMinute=0;
90 1 mL_Data.WanGF.lEndTime.cSecond=0;
91 1 }
92
93 void orgdata_init_input(void)
94 {
95 1 xdata uchar i,j;
96 1
97 1 //電梯數據
98 1 for(i=0; i<ENum_MAX; i++){
99 2 mE_InputData.mDianTi[i].bZhunBeiHao=0; //準備好
100 2 mE_InputData.mDianTi[i].bDanOrQun=0; //單梯/群控
101 2 mE_InputData.mDianTi[i].bZhunBeiHao=0; //準備好
102 2 mE_InputData.mDianTi[i].bDanOrQun=0; //單梯/群控
103 2 mE_InputData.mDianTi[i].cDangQianCeng=9; //當前層
104 2 mE_InputData.mDianTi[i].bDongOrJing=0; //運動/靜止
105 2 mE_InputData.mDianTi[i].FangXiang.bShang=0; //運動方向
106 2 mE_InputData.mDianTi[i].FangXiang.bXia=0; //運動方向
107 2 mE_InputData.mDianTi[i].Men.bKaiMenDaoWei=0; //開門到位
108 2 mE_InputData.mDianTi[i].Men.bGuanMenDaoWei=1; //關門到位
109 2 mE_InputData.mDianTi[i].Men.bKaiMenAnNiu=0; //開門按鈕
110 2 mE_InputData.mDianTi[i].Men.bGuanMenZhong=0; //關門中
111 2 mE_InputData.mDianTi[i].Men.bMenGuZhang=0; //門故障
112 2 mE_InputData.mDianTi[i].ChengZai.bKongZai=1; //空載
113 2 mE_InputData.mDianTi[i].ChengZai.bQingZai=0; //輕載
114 2 mE_InputData.mDianTi[i].ChengZai.bZhongZai=0; //重載
115 2 mE_InputData.mDianTi[i].ChengZai.bManZai=0; //滿載
116 2 mE_InputData.mDianTi[i].ChengZai.bChaoZai=0; //超載
117 2 mE_InputData.mDianTi[i].TeBie.bJianXiu=0; //檢修
C51 COMPILER V6.12 DATAINIT 06/05/2005 15:44:45 PAGE 16
118 2 mE_InputData.mDianTi[i].TeBie.bSiJi=0; //司機
119 2 mE_InputData.mDianTi[i].TeBie.bZhiShi=0; //直駛
120 2 mE_InputData.mDianTi[i].TeBie.bBaoLiu=0; //保留
121 2 mE_InputData.mDianTi[i].TeBie.bSuoTi=0; //鎖梯
122 2 mE_InputData.mDianTi[i].TeBie.bXiaoFang=0; //消防
123 2 mE_InputData.mDianTi[i].TeBie.bJiTing=0; //急停
124 2 mE_InputData.mDianTi[i].TeBie.bGuZhang=0; //故障
125 2 mE_InputData.mDianTi[i].TeBie.bJingGao=0; //警告
126 2 // mE_InputData.mDianTi[i].bNeiXuan[ARRAY_BYTENUM]; //內選數據
127 2 for(j=0; j<ARRAY_BYTENUM; j++){
128 3 mE_InputData.mDianTi[i].bNeiXuan[j]=0x00;
129 3 }
130 2 mE_InputData.mDianTi[i].cPortNo=0; //控制器端口號
131 2 mE_InputData.mDianTi[i].cChengZhong=0; //承重值
132 2 mE_InputData.mDianTi[i].cZaoGFCeng=9; //高峰停靠層(早)
133 2 mE_InputData.mDianTi[i].cWuGFCeng=9; //高峰停靠層(午)
134 2 mE_InputData.mDianTi[i].cWanGFCeng=9; //高峰停靠層(晚)
135 2 mE_InputData.mDianTi[i].cJuDiCengShu=0; //起始層距地面樓層數
136 2 mE_InputData.mDianTi[i].cXueXiCengShu=2; //學習樓層數
137 2 mE_InputData.mDianTi[i].cYouXianJi=i+1; //優先級
138 2 mE_InputData.mDianTi[i].cQuXianShu=8; //曲線數
139 2 // mE_InputData.mDianTi[i].nTiSu[QuXianShu_Max]; //梯速
140 2 for(j=0; j<QuXianShu_Max; j++){
141 3 switch(j){
142 4 case 0: mE_InputData.mDianTi[i].nTiSu[j]=20; break;
143 4 case 1: mE_InputData.mDianTi[i].nTiSu[j]=25; break;
144 4 case 2: mE_InputData.mDianTi[i].nTiSu[j]=30; break;
145 4 case 3: mE_InputData.mDianTi[i].nTiSu[j]=35; break;
146 4 case 4: mE_InputData.mDianTi[i].nTiSu[j]=40; break;
147 4 case 5: mE_InputData.mDianTi[i].nTiSu[j]=45; break;
148 4 case 6: mE_InputData.mDianTi[i].nTiSu[j]=50; break;
149 4 case 7: mE_InputData.mDianTi[i].nTiSu[j]=55; break;
150 4 default: break;
151 4 }
152 3 }
153 2 mE_InputData.mDianTi[i].nJiaSuDu=300; //額定加速度(取值范圍:200-1000 單位:mm/s2)
154 2 mE_InputData.mDianTi[i].nZhuanSu=1450; //電機轉速(取值范圍:1400-1500 單位:轉/分)
155 2 mE_InputData.mDianTi[i].cPinLv=50; //電機頻率(取值范圍:30-60 單位:Hz)
156 2 mE_InputData.mDianTi[i].cEDingTiSu=16; //額定梯速(取值范圍:5-30 單位:分米/秒)
157 2 mE_InputData.mDianTi[i].cYunXingTiSu=16; //運行梯速(取值范圍:5-30 單位:分米/秒)
158 2 mE_InputData.mDianTi[i].lBMQMaiChongShu=600; //編碼器脈沖數
159 2 mE_InputData.mDianTi[i].lDGCMaiChongShu=23200; //等高層脈沖數
160 2 mE_InputData.mDianTi[i].bQunKong=1; //群控選中
161 2 mE_InputData.mDianTi[i].cMinFenPei=2; //分配最小樓層數
162 2 mE_InputData.mDianTi[i].cMinCancelFenPei=3; //取消分配最小樓層數
163 2 mE_InputData.mDianTi[i].cZuiDiCeng=9; //可到最底層(注意工廠數據不要超過10,靜態停靠時分配牽連)
164 2 mE_InputData.mDianTi[i].cZuiGaoCeng=10; //可到最高層
165 2 // mE_InputData.mDianTi[i].cChaoShiTime[MenChaoShi_Num];//門超時時間
166 2 for(j=0; j<MenChaoShi_Num; j++){
167 3 switch(j){
168 4 case 0: mE_InputData.mDianTi[i].cChaoShiTime[j]=5; break;
169 4 case 1: mE_InputData.mDianTi[i].cChaoShiTime[j]=10; break;
170 4 case 2: mE_InputData.mDianTi[i].cChaoShiTime[j]=15; break;
171 4 case 3: mE_InputData.mDianTi[i].cChaoShiTime[j]=20; break;
172 4 case 4: mE_InputData.mDianTi[i].cChaoShiTime[j]=90; break;
173 4 default: break;
174 4 }
175 3 }
176 2 mE_InputData.mDianTi[i].TongXun.bCanChuShiOK=0; //Can初始化OK
177 2 mE_InputData.mDianTi[i].TongXun.bZhiShi=0; //通訊指示
178 2 mE_InputData.mDianTi[i].MenTime.cKaiMenTime=7; //開門時間(秒)
179 2 mE_InputData.mDianTi[i].MenTime.cGuanMenTime=7; //關門時間(秒)
C51 COMPILER V6.12 DATAINIT 06/05/2005 15:44:45 PAGE 17
180 2 mE_InputData.mDianTi[i].MenTime.cGMYanChiTime=3; //自動關門延遲時間(秒)
181 2 // mE_InputData.mDianTi[i].bNeiXuanKeTing[ARRAY_BYTENUM]; //內選可停
182 2 for(j=0; j<ARRAY_BYTENUM; j++){
183 3 switch(j){
184 4 case 0: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
185 4 case 1: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
186 4 case 2: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
187 4 case 3: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
188 4 case 4: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
189 4 case 5: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
190 4 case 6: mE_InputData.mDianTi[i].bNeiXuanKeTing[j]=0xFF; break;
191 4 default: break;
192 4 }
193 3 }
194 2 // mE_InputData.mDianTi[i].bShangHuKeTing[ARRAY_BYTENUM]; //上呼可停
195 2 for(j=0; j<ARRAY_BYTENUM; j++){
196 3 switch(j){
197 4 case 0: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
198 4 case 1: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
199 4 case 2: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
200 4 case 3: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
201 4 case 4: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
202 4 case 5: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
203 4 case 6: mE_InputData.mDianTi[i].bShangHuKeTing[j]=0xFF; break;
204 4 default: break;
205 4 }
206 3 }
207 2 // mE_InputData.mDianTi[i].bXiaHuKeTing[ARRAY_BYTENUM]; //下呼可停
208 2 for(j=0; j<ARRAY_BYTENUM; j++){
209 3 switch(j){
210 4 case 0: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
211 4 case 1: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
212 4 case 2: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
213 4 case 3: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
214 4 case 4: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
215 4 case 5: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
216 4 case 6: mE_InputData.mDianTi[i].bXiaHuKeTing[j]=0xFF; break;
217 4 default: break;
218 4 }
219 3 }
220 2 //2004.05.19 added by LHM
221 2 mE_InputData.mDianTi[i].bLingSuXinHao=0;
222 2 mE_InputData.mDianTi[i].bBenCengKaiMen=0;
223 2 //end
224 2 }
225 1
226 1 //外呼數據
227 1 for(j=0; j<ARRAY_BYTENUM; j++){
228 2 switch(j){
229 3 case 0: mE_InputData.mWaiHu.bShang[j]=0; mE_InputData.mWaiHu.bXia[j]=0; break;
230 3 case 1: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
231 3 case 2: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
232 3 case 3: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
233 3 case 4: mE_InputData.mWaiHu.bShang[j]=0x00; mE_InputData.mWaiHu.bXia[j]=0x00; break;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -