📄 alarm.lst
字号:
207 {
208 1 AlarmModule.uchOKStatus[uchChannel - 1] = uchOKStatus;
209 1 }
210
211 //--------------------------------------------------------------------------------------------------
212 //函数名称:void SetChannelTypeALM(unsigned char uchChannel, unsigned char uchChannelType)
213 //功 能:设置通道类型
214 //输入参数:通道号,通道类型
215 //返 回:无
216 //完成日期:4/16/2007
217 //--------------------------------------------------------------------------------------------------
218 void SetChannelTypeALM(unsigned char uchChannel, unsigned char uchChannelType)
219 { //HHH
220 1 if (((uchChannelType > 12) && (uchChannelType < 19)) || (uchChannelType == 21) || (uchChannelType == 22)|
-| (uchChannelType == 28))
221 1 {
222 2 AlarmModule.uchChannelType[uchChannel - 1] = uchChannelType;
223 2 }
224 1 else
225 1 {
226 2 AlarmModule.uchChannelType[uchChannel - 1] = 13;
227 2 }
228 1 }
229
230 /*****************************************************
231 * 函数介绍: 设置通道当前测量值
232 * 输入参数: 当前测量值 通道号
233 * 输出参数: 无
234 * 返回值 : 无
235 *****************************************************/
236 void SetCurrentValueALM( unsigned char uchChannel, float iCurrentValue)//当前测量值
237 {
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 5
238 1 AlarmModule.iCurrentValue[uchChannel - 1] = iCurrentValue;
239 1 }
240
241 /*****************************************************
242 * 函数介绍: 设置通道报警延迟时间
243 * 输入参数: 延迟时间 通道号
244 * 输出参数: 无
245 * 返回值 : 无
246 *****************************************************/
247 void SetAlertDelay(unsigned char uchChannel, unsigned int iDelay)
248 {
249 1 AlarmModule.uiAlertDelay[uchChannel - 1] = iDelay;
250 1 }
251
252 /*****************************************************
253 * 函数介绍: 设置通道报警延迟时间
254 * 输入参数: 延迟时间 通道号
255 * 输出参数: 无
256 * 返回值 : 无
257 *****************************************************/
258 void SetDangerDelay(unsigned char uchChannel, unsigned int iDelay)
259 {
260 1 AlarmModule.uiDangerDelay[uchChannel - 1] = iDelay;
261 1 }
262
263 /*****************************************************
264 * 函数介绍: 设置系统复位状态
265 * 输入参数: 复位状态
266 * 输出参数: 无
267 * 返回值 : 无
268 *****************************************************/
269 void SetResetStatusALM(unsigned char uchStatus)
270 {
271 1 AlarmModule.uchResetStatus[0] = uchStatus;
272 1 AlarmModule.uchResetStatus[1] = uchStatus;
273 1 }
274
275 //--------------------------------------------------------------------------------------------------
276 //函数名称:void InitChannel(unsigned char uchChannel)
277 //功 能:初始化通道数据
278 //输入参数:通道号
279 //返 回:无
280 //完成日期:4/16/2007
281 //--------------------------------------------------------------------------------------------------
282 void InitChannel(unsigned char uchChannel)
283 {
284 1 AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1] = 0;
285 1 AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1] = 0;
286 1 AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1] = 0;
287 1 AlarmModule.uiDangerHeartbeatBakL[uchChannel - 1] = 0;
288 1 }
289
290 //--------------------------------------------------------------------------------------------------
291 //函数名称:void SetFlagBit(unsigned char uchChannel, unsigned char b)
292 //功 能:置位通道报警位
293 //输入参数:通道号 ,报警位
294 //返 回:无
295 //完成日期:4/16/2007
296 //--------------------------------------------------------------------------------------------------
297 void SetFlagBit(unsigned char uchChannel, unsigned char b)
298 {
299 1 unsigned int idata elapsed;
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 6
300 1
301 1 if (AlarmModule.uchChannelNotoktoOkFlag[uchChannel - 1] == 1)
302 1 {
303 2 switch (AlarmModule.uchChannelType[uchChannel - 1])
304 2 {
305 3 case 13: //加速度输入 加速度输出
306 3 case 14: //加速度输入 速度输出
307 3 case 15: //加速度输入 位移输出
308 3 case 16: //速度输出 速度输出
309 3 case 17: //速度输入 位移输出
310 3 case 18: //位移输入 位移输出
311 3 case 28: //HHH
312 3 if (b == 0x1 || b == 0x2)
313 3 {
314 4 return;
315 4 }
316 3 break;
317 3 case 22: //LVDT输入 机壳膨胀输出
318 3 if (((uchChannel-1) == 0)&&(b == 0x1 || b == 0x2))
319 3 {
320 4 return;
321 4 }
322 3
323 3 break;
324 3
325 3 default:
326 3 break;
327 3 }
328 2
329 2 if ((AlarmModule.uchAlarmStatus[uchChannel - 1] & b) != 0 )
330 2 {
331 3 return;
332 3 }
333 2
334 2 if (0x2 == b )
335 2 {
336 3 if (AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1] == 0)
337 3 {
338 4 AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1] = AlarmModule.uiCurrentHeartbeat;
339 4 }
340 3 else
341 3 {
342 4 if (AlarmModule.uiCurrentHeartbeat >= AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1])
343 4 {
344 5 elapsed = AlarmModule.uiCurrentHeartbeat - AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1];
345 5 }
346 4 else
347 4 {
348 5 elapsed = 65536 - AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1] + AlarmModule.uiCurrentHeartbeat;
349 5 }
350 4
351 4 if ( elapsed > AlarmModule.uiAlertDelay[uchChannel - 1] * 100)
352 4 {
353 5 AlarmModule.uchAlarmStatus[uchChannel - 1] |= b;
354 5 AlarmModule.uiAlertHeartbeatBakH[uchChannel - 1] = 0;
355 5 }
356 4 }
357 3 }
358 2
359 2 if ( 0x4 == b)
360 2 {
361 3 if (AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1] == 0)
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 7
362 3 {
363 4 AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1] = AlarmModule.uiCurrentHeartbeat;
364 4 }
365 3 else
366 3 {
367 4 if (AlarmModule.uiCurrentHeartbeat >= AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1])
368 4 {
369 5 elapsed = AlarmModule.uiCurrentHeartbeat - AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1];
370 5 }
371 4 else
372 4 {
373 5 elapsed = 65536 + AlarmModule.uiCurrentHeartbeat - AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1];
374 5 }
375 4 if ( elapsed > AlarmModule.uiAlertDelay[uchChannel - 1] * 100)
376 4 {
377 5 AlarmModule.uchAlarmStatus[uchChannel - 1] |= b;
378 5 AlarmModule.uiAlertHeartbeatBakL[uchChannel - 1] = 0;
379 5 }
380 4 }
381 3 }
382 2
383 2 if (0x1 == b )
384 2 {
385 3 if (AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1] == 0)
386 3 {
387 4 AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1] = AlarmModule.uiCurrentHeartbeat;
388 4 }
389 3 else
390 3 {
391 4 if (AlarmModule.uiCurrentHeartbeat >= AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1])
392 4 {
393 5 elapsed = AlarmModule.uiCurrentHeartbeat - AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1];
394 5 }
395 4 else
396 4 {
397 5 elapsed = 65536 + AlarmModule.uiCurrentHeartbeat - AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1];
398 5 }
399 4 if ( elapsed > AlarmModule.uiDangerDelay[uchChannel - 1] * 100)
400 4 {
401 5 AlarmModule.uchAlarmStatus[uchChannel - 1] |= b;
402 5 AlarmModule.uiDangerHeartbeatBakH[uchChannel - 1] =0;
403 5 }
404 4 }
405 3 }
406 2
407 2 if ( 0x8 == b)
408 2 {
409 3 if (AlarmModule.uiDangerHeartbeatBakL[uchChannel - 1] == 0)
410 3 {
411 4 AlarmModule.uiDangerHeartbeatBakL[uchChannel - 1] = AlarmModule.uiCurrentHeartbeat;
412 4 }
413 3 else
414 3 {
415 4 if (AlarmModule.uiCurrentHeartbeat >= AlarmModule.uiDangerHeartbeatBakL[uchChannel - 1])
416 4 {
417 5 elapsed = AlarmModule.uiCurrentHeartbeat - AlarmModule.uiDangerHeartbeatBakL[uchChannel - 1];
418 5 }
419 4 else
420 4 {
421 5 elapsed = 65536 + AlarmModule.uiCurrentHeartbeat - AlarmModule.uiDangerHeartbeatBakL[uchChannel - 1];
422 5 }
423 4 if ( elapsed > AlarmModule.uiDangerDelay[uchChannel - 1] * 100)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -