📄 global.lst
字号:
17 #define END_0x0D 0x0D //结束命令0x0D
18 #define END_0x0A 0x0A //结束命令0x0A
19 #define MORN_PARAM_NUM 5 //监视参数的个数
20 #define SCCBUF_MAXSIZE 32 //串口通信的缓冲区
21 #define SCC_MONITOR_DELAYCOUNT 10 //收到最后一个'M'后,延迟50ms接受动作再发送监视数据
22 #define COUNT_ERR 2
23 //方向
24 enum Direct{
25 D_Down=0,
26 D_Up
27 };
28
29 //门动作状态
30 enum DoorActionState{
31 Door_OpenOK=0, //开门到位
32 Door_CloseOK, //关门到位
33 Door_Opening, //开门中
34 Door_Closing, //关门中
35 Door_ERROR
36 };
37
38 //承载状态
39 enum{
40 Weight_Null, //空载
41 Weight_Light, //轻载
42 Weight_Heavy, //重载
43 Weight_Full, //满载
44 Weight_Over, //超载
45 Weight_ERROR
46 };
47
48 //中间淘汰数据结构体
49 struct tag_InterData{
50 uchar bFloorCanStop; //楼层可停(标志电梯在某层是否可停, 0:不可停 1:可停)
51 uchar bVeto; //一票否决(标志电梯是否被一票否决, 0:否 1:是)
52 uchar b2FloorMove; //2层以内运动中(对于某层外呼,标志电梯到达该层所需距离是否不超过2层, 0:否 1:是)
53 uint nTime; //到达大致时间(电梯到达外呼层的大致时间, 单位:秒)
54 uchar cWeight; //承载程度(标志电梯当前承载状态, 0:空载 1:轻载 2:重载 3:满载 4:超载)
55 uchar bSameDirection; //顺向(若电梯响应该外呼是否顺向, 0:否, 1:是)
56 uchar cStopCount; //停靠层站数(标志电梯电梯所能够停靠的层站数)
57 uchar cPRINo; //电梯优先级号(范围:1->8,优先级递减)
58 };
59 #define INTER_DATA struct tag_InterData
60
C51 COMPILER V6.12 GLOBAL 06/05/2005 15:44:45 PAGE 9
61 //串口通信用数据结构
62 struct tag_DT_SCC{
63 uchar ReadFlg; // receive flag, always TRUE
64 uchar m_ReadBuf[SCCBUF_MAXSIZE]; // pointer to buffer used to receive data
65 uchar dwReadReqSize; // size of buffer used to receive data
66 // uchar dwpReadSpoolSize; // size of data received
67 uchar nReadCount;
68
69 uchar WriteFlg; // send flag
70 uchar m_WriteBuf[SCCBUF_MAXSIZE];// pointer to buffer used to send data
71 uchar dwWriteReqSize; // size of buffer used to send data
72 // uchar dwWriteSpoolSize; // size of data sended
73 uchar nWriteCount;
74 };
75 #define DT_SCC struct tag_DT_SCC
76
77
78 //--------------------------- Variable ---------------------//
79
80 /*
81 sbit P1_0=P1^0;
82 sbit P1_1=P1^1;
83 sbit P1_2=P1^2;
84 sbit P1_3=P1^3;
85 sbit P1_4=P1^4;
86 sbit P1_5=P1^5;
87 sbit P1_6=P1^6;
88 sbit P1_7=P1^7;
89
90 sbit P2_0=P2^0;
91 sbit P2_1=P2^1;
92 sbit P2_2=P2^2;
93 sbit P2_3=P2^3;
94 sbit P2_4=P2^4;
95 sbit P2_5=P2^5;
96 sbit P2_6=P2^6;
97 sbit P2_7=P2^7;*/
98
99 sbit P3_0=P3^0;
100 sbit P3_1=P3^1;
101 sbit P3_2=P3^2;
102 sbit P3_3=P3^3;
103 sbit P3_4=P3^4;
104 sbit P3_5=P3^5;
105
106 /*can总线定义的变量*/
107 EXTERN xdata uchar *can3_cs; /*can3 指针*/
108 EXTERN xdata uchar *can2_cs; /*can2 指针*/
109 EXTERN xdata uchar *can1_cs; /*can1 指针*/
110 EXTERN xdata uchar *can0_cs; /*can0 指针*/
111
112 //EXTERN xdata uchar sbuf_rec; /* SBUF的缓冲区*/
113 //EXTERN xdata uchar time_flag; /* 50ms计数时钟起始标志 */
114 //EXTERN xdata uchar time_last; /* 50ms计时时钟上次状态 */
115 //EXTERN xdata uchar time_now; /* 50ms计时时钟本次状态 */
116 //EXTERN xdata uchar time_over; /* 50ms计时时钟运行结果标志 */
117 //EXTERN xdata uchar m_comm_timer; /* 60s计时计数*/
118 //EXTERN xdata uchar m_comm_60sover_flg; /* 60s计时结束标志*/
119 //EXTERN xdata uchar m_comm_enable_flg; /* 通讯使能 */
120 //EXTERN xdata uchar m_timer_60s_last; /* 60s计时上次状态*/
121 //EXTERN xdata uchar m_timer_60s_now; /* 60s计时本次状态*/
122
C51 COMPILER V6.12 GLOBAL 06/05/2005 15:44:45 PAGE 10
123 //指向传输数据的指针
124 EXTERN L_Data *m_pL_Data; //楼及总体数据
125 EXTERN E_InputData *m_pE_InputData; //电梯输入数据
126 EXTERN E_OutputData *m_pE_OutputData; //电梯输出数据
127 EXTERN TIMER *m_pTimer; //计时变量
128
129 //LHM dyn_test temp动态测试专用变量(移植时不删除)
130 EXTERN uchar m_nNextStopLIdx[ENum_MAX];
131 EXTERN uchar m_bDirect[ENum_MAX];
132 EXTERN INTER_DATA m_InterData[ENum_MAX]; //中间数据--淘汰数据
133 EXTERN uchar m_cCurStageStartFloor[ENum_MAX]; //中间数据--电梯当前运动阶段的起始楼层(选曲线用)
134 EXTERN uchar m_cOvertime[ENum_MAX]; //中间数据--门超时时间(单位:秒)
135 EXTERN uchar m_CalUpLIdx;
136 EXTERN uchar m_CalDownLIdx;
137
138 //时钟用
139 EXTERN uchar m_year; // 年数缓冲区
140 EXTERN uchar m_month; // 月数缓冲区
141 EXTERN uchar m_date; // 日数缓冲区
142 EXTERN uchar m_time; // 时数缓冲区
143 EXTERN uchar m_minute; // 分数缓冲区
144 EXTERN uchar m_set_time; // 写时钟标志
145 EXTERN uchar m_read_time; // 读时钟标志
146 EXTERN uchar m_read_time_count; // 读时钟计数(因为读1226会造成看门狗不能复位,所以改为每隔一段时间读
-一次)
147
148 //rs232通讯用
149 EXTERN uchar sbuf_rec; // SBUF的缓冲区
150 EXTERN uchar m_get_senddata_flg; // 取得发送数据标记(host专用)
151 EXTERN uchar m_comm_enable_flg; // 通讯使能标记(0:不能 1:能)
152 EXTERN uchar m_host_flg; // 主客标记(0:客 1:主)客要回答上位机,主不需要
153 EXTERN uint m_ST_60s_count; // 60s计数器
154 EXTERN uchar m_comm_data_flg; // 有串口数据标记(0:没有 1:有)
155 EXTERN uchar m_comm_60sover_flg; // 60s计时结束标志
156 EXTERN uchar m_msg_monitor_flg; // 监视命令标记
157 EXTERN uchar m_msg_quit_flg; // 解除监视命令标志
158 EXTERN uchar m_msg_set_flg; // 参数设定命令标记
159 EXTERN uchar m_monitor_delay_flg; // 监视延迟标志
160 EXTERN uchar m_monitor_delay_count; // 监视延迟计数
161 EXTERN uchar m_active_idx; //当前有效的地址和类型索引
162 EXTERN uchar m_add_type_idx; //纪录监视参数和地址类型索引
163 EXTERN uchar m_resolve_flg; //命令解析开始标记
164 //EXTERN uchar m_make_senddata_flg; //发送命令作成标记
165 EXTERN xdata uint m_monitor_ad[MORN_PARAM_NUM]; // 5个监视参数地址
166 EXTERN xdata uchar m_monitor_type[MORN_PARAM_NUM]; // 监视参数类型
167 EXTERN xdata DT_SCC m_scc;
168
169 //用户参数存储和恢复用
170 EXTERN xdata uchar m_restore_flg; //用户参数恢复标记
171 EXTERN xdata uchar m_save_flg; //用户参数存储标记
172 EXTERN xdata uchar m_factory_flg; //工厂参数恢复
173 EXTERN xdata uchar m_save_over_flg; //用户参数存储过标记
174 EXTERN xdata uchar m_once_param_over_flg; //一次性参数传送完毕标志
175
176 //can通讯用
177 EXTERN xdata uint canx_cs[ENum_MAX]; //can指针
178 EXTERN uchar e_out_call_flag; //发一组外呼数据
179 EXTERN uchar m_state_20ms; //can发送时间
180 EXTERN uchar can_send_count; //25ms计数
181 EXTERN uchar e_lamp_call_flag; //发一组外呼灯亮灭
182 EXTERN uchar e_display_reflash_floor[ENum_MAX]; //显示刷新某层呼梯灯
183 EXTERN uchar e_up_down; //刷新上呼还是下呼
C51 COMPILER V6.12 GLOBAL 06/05/2005 15:44:45 PAGE 11
184 EXTERN uchar e_frame_number; //帧数据
185 EXTERN uchar e_online[ENum_MAX]; //can在线标志
186 EXTERN uchar bdata abit;
187 EXTERN bit abit_0;
188 EXTERN bit abit_1;
189 EXTERN bit abit_2;
190 EXTERN bit abit_3;
191 EXTERN bit abit_4;
192 EXTERN bit abit_5;
193 EXTERN bit abit_6;
194 EXTERN bit abit_7;
195
196 EXTERN uchar bdata abit0;
197 EXTERN bit abit0_0;
198 EXTERN bit abit0_1;
199 EXTERN bit abit0_2;
200 EXTERN bit abit0_3;
201 EXTERN bit abit0_4;
202 EXTERN bit abit0_5;
203 EXTERN bit abit0_6;
204 EXTERN bit abit0_7;
205
206
207 struct group_out
208 {
209 uchar call_up_out[6];
210 uchar call_down_out[6];
211 //uchar choose_out;
212 //uchar yes_no;
213 };
214
215 EXTERN xdata struct group_out group_assign[ENum_MAX];
216 EXTERN uchar choose_out[ENum_MAX];
217 EXTERN uchar yes_no[ENum_MAX];
218 EXTERN uint e_online_time_count[4]; //1s计时
219 EXTERN uchar e_online_flag[4]; //1s计时,初值群控器在线
220 EXTERN uint e_single_comm_count[4]; //群控方式单梯计时
221 EXTERN uint e_group_comm_count[4]; //群控方式群控计时
222 EXTERN uchar e_1_second_flag[4]; //一次性计时
223
224 //撤销外呼用标记
225 EXTERN uchar m_SendOpenDoorFlg[ENum_MAX]; //发开门命令的标记(命令60)
226 EXTERN uchar m_LastDoorState[ENum_MAX]; //上次关门状态(0为非关门中,1为关门中)
227
228 //静态停靠用
229 EXTERN uchar m_SendStaticInSelDataFlg[ENum_MAX]; //发送静态停靠内选数据标记
230 EXTERN uchar m_IsExistWaiInFlg;
231
232 //高峰停靠用
233 EXTERN uchar m_SendPeekInSelDataFlg[ENum_MAX]; //发送高峰停靠内选数据标记
234
235 //can复位用
236 EXTERN uchar m_can0_flg; //can0故障标志
237 EXTERN uchar m_can1_flg; //can1故障标志
238 EXTERN uchar m_can2_flg; //can2故障标志
239 EXTERN uchar m_can3_flg; //can3故障标志
240 EXTERN uchar m_can0_count; //can0复位脚拉低计时
241 EXTERN uchar m_can1_count; //can1复位脚拉低计时
242 EXTERN uchar m_can2_count; //can2复位脚拉低计时
243 EXTERN uchar m_can3_count; //can3复位脚拉低计时
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -