📄 alarm.lst
字号:
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE ALARM
OBJECT MODULE PLACED IN alarm.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 20progress\alarm.c BROWSE DEBUG OBJECTEXTEND PRINT(.\alarm.lst) OBJECT(alar
-m.obj)
line level source
1 //*******************************************************************************
2 //Copyright (c) 2007,派利斯电子(北京)有限公司 硬件部
3 //文件名称: comm.c
4 //摘 要: 本文件主要包含报警部分的程序
5 //当前版本: D-1
6 //作 者: 佟文杰
7 //完成日期: 4/16/2007
8 //修 改 人:
9 //修改原因:
10 //修改日期:
11 //*******************************************************************************
12 #define ALARM_H
13
14 #include "alarm.h"
15
16 /*
17 通道类型为轴振动时只有两级报警,即AlertHigh和DangerHigh
18
19 报警倍增:软件可以选择2倍增、3倍增或不倍增,只有当91板上倍增端子短接后,各个模块按照软件设置的倍增方式进行
-倍增。
20 报警自锁
21 报警旁路:模块被Bypass后,该模块面板上的Bypass LED 点亮,同时通过CAN总线上传旁路状态。
22 报警延时
23 OK状态: 当通道NOT OK,该通道不报警。通道由NOT OK状态进入OK状态时,振动通道报警Bypass 10秒,位移通道报警By
-pass 1秒。
24 */
25 xdata struct Alarm AlarmModule;
26
27
28
29 //报警模块
30
31 /*****************************************************
32 * 函数介绍: 设置报警回差值
33 * 输入参数: 回差值 通道号
34 * 输出参数: 无
35 * 返回值 : 无
36 *****************************************************/
37 void SetFallingAlertL (unsigned char uchChannel, int iFallingAlertLow)
38 {
39 1 AlarmModule.iFallingAlertL[uchChannel - 1] = iFallingAlertLow;
40 1 }
41
42 /*****************************************************
43 * 函数介绍: 设置报警回差值
44 * 输入参数: 回差值 通道号
45 * 输出参数: 无
46 * 返回值 : 无
47 *****************************************************/
48 void SetFallingAlertH(unsigned char uchChannel, int iFallingAlertHigh)
49 {
50 1 AlarmModule.iFallingAlertH[uchChannel - 1] = iFallingAlertHigh;
51 1 }
52
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 2
53 /*****************************************************
54 * 函数介绍: 设置报警回差值
55 * 输入参数: 回差值 通道号
56 * 输出参数: 无
57 * 返回值 : 无
58 *****************************************************/
59 void SetFallingDangerL (unsigned char uchChannel, int iFallingDangerLow)
60 {
61 1 AlarmModule.iFallingDangerL[uchChannel - 1] = iFallingDangerLow;
62 1 }
63
64 /*****************************************************
65 * 函数介绍: 设置报警回差值
66 * 输入参数: 回差值 通道号
67 * 输出参数: 无
68 * 返回值 : 无
69 *****************************************************/
70 void SetFallingDangerH(unsigned char uchChannel, int iFallingDangerHigh)
71 {
72 1 AlarmModule.iFallingDangerH[uchChannel - 1] = iFallingDangerHigh;
73 1 }
74
75 /*****************************************************
76 * 函数介绍: 设置报警下限
77 * 输入参数: 门限值 通道号
78 * 输出参数: 无
79 * 返回值 : 无
80 *****************************************************/
81 void SetAlertLow(unsigned char uchChannel, int iAlertLow)
82 {
83 1 AlarmModule.iAlertLow[uchChannel - 1] = iAlertLow;
84 1 }
85
86 /*****************************************************
87 * 函数介绍: 设置报警上限
88 * 输入参数: 门限值 通道号
89 * 输出参数: 无
90 * 返回值 : 无
91 *****************************************************/
92
93 void SetAlertHigh(unsigned char uchChannel, int iAlertHigh)
94 {
95 1 AlarmModule.iAlertHigh[uchChannel - 1] = iAlertHigh;
96 1 }
97
98 /*****************************************************
99 * 函数介绍: 设置危险下限
100 * 输入参数: 门限值 通道号
101 * 输出参数: 无
102 * 返回值 : 无
103 *****************************************************/
104 void SetDangerLow(unsigned char uchChannel, int iDangerLow)
105 {
106 1 AlarmModule.iDangerLow[uchChannel - 1] = iDangerLow;
107 1 }
108
109 /*****************************************************
110 * 函数介绍: 设置危险上限
111 * 输入参数: 门限值 通道号
112 * 输出参数: 无
113 * 返回值 : 无
114 *****************************************************/
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 3
115 void SetDangerHigh(unsigned char uchChannel,unsigned int iDangerHigh )
116 {
117 1 AlarmModule.iDangerHigh[uchChannel - 1] = iDangerHigh;
118 1 }
119
120 /*****************************************************
121 * 函数介绍: 设置软件倍增状态
122 * 输入参数: 倍增状态值 通道号
123 * 输出参数: 无
124 * 返回值 : 无
125 *****************************************************/
126 void SetTripleStatusALM(unsigned char uchChannel, unsigned char status)//软件倍增状态
127 {
128 1 if (status != 0) status++;
129 1
130 1 AlarmModule.uchTriple[uchChannel - 1] = status;
131 1 }
132
133 /*****************************************************
134 * 函数介绍: 设置硬件旁路状态
135 * 输入参数: 旁路状态值
136 * 输出参数: 无
137 * 返回值 : 无
138 *****************************************************/
139 void SetBypassStatusALM(unsigned char uchChannel, unsigned char uchBypassStatus)
140 {
141 1 AlarmModule.uchSystemBypassStatus[uchChannel - 1] = uchBypassStatus;
142 1 }
143
144 /*****************************************************
145 * 函数介绍: 设置自锁状态
146 * 输入参数: 自锁状态值 通道号
147 * 输出参数: 无
148 * 返回值 : 无
149 *****************************************************/
150 void SetLatchStatus(unsigned char uchChannel, unsigned char uchLatchStatus)
151 {
152 1 AlarmModule.uchLatch[uchChannel - 1]= uchLatchStatus;
153 1 }
154
155 //--------------------------------------------------------------------------------------------------
156 //函数名称:void SetEnableStatusALM( unsigned char uchChannel, unsigned char uchEnableStatus)
157 //功 能:设置通道使能
158 //输入参数:通道号,使能状态
159 //返 回:无
160 //完成日期:4/16/2007
161 //--------------------------------------------------------------------------------------------------
162 void SetEnableStatusALM( unsigned char uchChannel, unsigned char uchEnableStatus)//主框架程序调用
163 {
164 1 AlarmModule.uchEnable[uchChannel - 1] = uchEnableStatus;
165 1 if (AlarmModule.uchEnable[uchChannel - 1] != 0)
166 1 {
167 2 InitChannel(uchChannel);
168 2 }
169 1
170 1 if (uchChannel == 2) //初始化参数时,初始化到第二个通道时对报警模块的参数进行调整
171 1 {
172 2 if (AlarmModule.uchChannelType[0] == 22)
173 2 {
174 3 if ((AlarmModule.uchEnable[0] == 0) || (AlarmModule.uchEnable[1] == 0))
175 3 {
176 4 AlarmModule.uchEnable[1] = 0;
C51 COMPILER V7.10 ALARM 09/18/2008 14:09:31 PAGE 4
177 4 AlarmModule.uchEnable[0] = 0;
178 4 }
179 3 else if ((AlarmModule.uchEnable[0] == 1) && (AlarmModule.uchEnable[1] == 1))
180 3 {
181 4 AlarmModule.uchEnable[0] = 1;
182 4 AlarmModule.uchEnable[1] = 1; //此else可以不要
183 4 }
184 3 }
185 2 }
186 1 }
187
188 /*****************************************************
189 * 函数介绍: 设置系统时钟
190 * 输入参数: 系统时钟
191 * 输出参数: 无
192 * 返回值 : 无
193 *****************************************************/
194 void SetHeartbeatALM(unsigned int uiHeartbeatValue) // 100ms tick rate
195 { //变量的初始化问题,看程序的执行顺序
196 1 AlarmModule.uiCurrentHeartbeat = uiHeartbeatValue;
197 1 }
198
199 //--------------------------------------------------------------------------------------------------
200 //函数名称:void SetOKStatusALM(unsigned char uchChannel, unsigned char uchOKStatus)
201 //功 能:设置通道OK状态
202 //输入参数:通道号,OK状态
203 //返 回:无
204 //完成日期:4/16/2007
205 //--------------------------------------------------------------------------------------------------
206 void SetOKStatusALM(unsigned char uchChannel, unsigned char uchOKStatus)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -