📄 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 + -