📄 channelstatus.lst
字号:
C51 COMPILER V7.10 CHANNELSTATUS 09/18/2008 14:09:30 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE CHANNELSTATUS
OBJECT MODULE PLACED IN Channelstatus.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 20progress\Channelstatus.c BROWSE DEBUG OBJECTEXTEND PRINT(.\Channelstatus.
-lst) OBJECT(Channelstatus.obj)
line level source
1 //*******************************************************************************
2 //Copyright (c) 2007,派利斯电子(北京)有限公司 硬件部
3 //文件名称: Channelstatus.c
4 //摘 要: 本文件主要包含PT2060程序中间隙电压,电源电压和OK状态等的操作
5 //当前版本: D-1
6 //作 者: 佟文杰
7 //完成日期: 4/16/2007
8 //修 改 人:
9 //修改原因:
10 //修改日期:
11 //*******************************************************************************
12 #define CHANNELSTATUS_C
13 #include "channelstatus.h"
14 xdata struct Channel ChStatusModule;
15 //--------------------------------------------------------------
16 //函数名称:void SetGapLow(unsigned char uchChannel, int iGapLow)
17 //功 能:将间隙电压低限设置到通道模块中
18 //输入参数:通道号,间隙电压下限
19 //返 回:无
20 //完成日期:4/13/2007
21 //--------------------------------------------------------------
22 void SetGapLow(unsigned char uchChannel, int iGapLow)
23 {
24 1 ChStatusModule.iGAPLow[uchChannel - 1] = iGapLow;
25 1 }
26
27 //----------------------------------------------------------------
28 //函数名称:void SetGapHigh(unsigned char uchChannel, int iGapHigh)
29 //功 能:将间隙电压高限设置到通道模块
30 //输入参数:通道号,间隙电压上限
31 //返 回:无
32 //完成日期:4/13/2007
33 //----------------------------------------------------------------
34 void SetGapHigh(unsigned char uchChannel, int iGapHigh)//初始化时设置
35 {
36 1 ChStatusModule.iGAPHigh[uchChannel - 1] = iGapHigh;
37 1 }
38
39 //------------------------------------------------------------------
40 //函数名称:void SetGapVoltChannel(unsigned char uchChannel, int iGapVolt)
41 //功 能:将间隙电压设置到通道模块
42 //输入参数:通道号,间隙电压
43 //返 回:无
44 //完成日期:4/13/2007
45 //------------------------------------------------------------------
46 void SetGapVoltChannel(unsigned char uchChannel, int iGapVolt)
47 {
48 1 ChStatusModule.iGAPVoltage[uchChannel - 1] = iGapVolt;
49 1 }
50
51 //------------------------------------------------------------------
52 //函数名称:void SetEnableStatusChannel(unsigned char uchChannel,unsigned char uchEnableFlag)
53 //功 能:设置通道是否工作到通道模块
54 //输入参数:通道号,是否工作状态
C51 COMPILER V7.10 CHANNELSTATUS 09/18/2008 14:09:30 PAGE 2
55 //返 回:无
56 //完成日期:4/13/2007
57 //------------------------------------------------------------------
58 void SetEnableStatusChannel(unsigned char uchChannel,unsigned char uchEnableFlag)
59 {
60 1 ChStatusModule.uchEnableStatus[uchChannel - 1] = uchEnableFlag;
61 1 }
62
63 //------------------------------------------------------------------
64 //函数名称:void SetChTypeChannel(unsigned char uchChannel, unsigned char uchChannelType)
65 //功 能:将通道类型设置到通道状态模块
66 //输入参数:通道号,通道类型
67 //返 回:无
68 //------------------------------------------------------------------
69 void SetChTypeChannel(unsigned char uchChannel, unsigned char uchChannelType)
70 {
71 1 ChStatusModule.uchChType[uchChannel - 1] = uchChannelType;
72 1 }
73
74 //------------------------------------------------------------------
75 //函数名称:void JudgeChannelGapstatus(unsigned char uchChannel)
76 //功 能:判断通道间隙电压的状态
77 //输入参数:通道号
78 //返 回:无
79 //完成日期:4/13/2007
80 //------------------------------------------------------------------
81 void JudgeChannelGapstatus(unsigned char uchChannel) //乘以100和大于、小于看实际情况
82 {
83 1 if (ChStatusModule.uchEnableStatus[uchChannel - 1] == 1)
84 1 {
85 2 if ((ChStatusModule.iGAPVoltage[uchChannel - 1] <= ChStatusModule.iGAPHigh[uchChannel - 1])
86 2 && (ChStatusModule.iGAPVoltage[uchChannel - 1] >= ChStatusModule.iGAPLow[uchChannel - 1]))
87 2 {
88 3 ChStatusModule.uchGapStatus[uchChannel - 1] = 0; //GAP OK
89 3 }
90 2 else if (ChStatusModule.iGAPVoltage[uchChannel - 1] > ChStatusModule.iGAPHigh[uchChannel - 1])
91 2 {
92 3 ChStatusModule.uchGapStatus[uchChannel - 1] = 2; //GAP高报警
93 3 }
94 2 else if (ChStatusModule.iGAPVoltage[uchChannel - 1] < ChStatusModule.iGAPLow[uchChannel - 1])
95 2 {
96 3 ChStatusModule.uchGapStatus[uchChannel - 1] = 1; //GAP低报警
97 3 }
98 2 }
99 1 else if (ChStatusModule.uchEnableStatus[uchChannel - 1] == 0)
100 1 {
101 2 ChStatusModule.uchGapStatus[uchChannel - 1] = 0; //当Disable掉通道后,通道状态为GAP OK
102 2 }
103 1 }
104
105 //------------------------------------------------------------------
106 //函数名称:void JudgeChannelOKstatus(unsigned char uchChannel)
107 //功 能:判断通道OK的状态
108 //输入参数:通道号
109 //返 回:无
110 //完成日期:4/13/2007
111 //------------------------------------------------------------------
112 void JudgeChannelOKstatus(unsigned char uchChannel)
113 {
114 1 if (ChStatusModule.uchGapStatus[uchChannel - 1] == 0)
115 1 {
116 2 ChStatusModule.uchOKStatus[uchChannel - 1] = 0;
C51 COMPILER V7.10 CHANNELSTATUS 09/18/2008 14:09:30 PAGE 3
117 2 }
118 1 else if (ChStatusModule.uchGapStatus[uchChannel - 1] == 1)
119 1 {
120 2 ChStatusModule.uchOKStatus[uchChannel - 1] = 1;
121 2 }
122 1 else if (ChStatusModule.uchGapStatus[uchChannel - 1] == 2)
123 1 {
124 2 ChStatusModule.uchOKStatus[uchChannel - 1] = 2;
125 2 }
126 1 }
127
128 //------------------------------------------------------------------
129 //函数名称:void ProcessChannelGaps(unsigned char uchChannel)
130 //功 能:处理通道OK状态
131 //输入参数:通道号
132 //返 回:无
133 //完成日期:4/13/2007
134 //------------------------------------------------------------------
135 void ProcessChannelGaps(unsigned char uchChannel)
136 {
137 1 static unsigned char xdata s_uchCountData = 0;
138 1
139 1 JudgeChannelGapstatus(uchChannel);
140 1 JudgeChannelOKstatus(uchChannel);
141 1
142 1 SetGapStatusMain(uchChannel, ChStatusModule.uchGapStatus[uchChannel - 1]);
143 1
144 1 if (ChStatusModule.uchChType[0] == 22)
145 1 {
146 2 SetChannelOkStatusMain(uchChannel,(ChStatusModule.uchOKStatus[0] || ChStatusModule.uchOKStatus[1]));
147 2 }
148 1 else
149 1 {
150 2 SetChannelOkStatusMain(uchChannel,ChStatusModule.uchOKStatus[uchChannel - 1]);
151 2 }
152 1
153 1
154 1 SetSystemOkStatusMain(ChStatusModule.uchOKStatus[1] || ChStatusModule.uchOKStatus[0]);
155 1
156 1 s_uchCountData++;
157 1 if (s_uchCountData >= 250)
158 1 {
159 2 JudgePowerStatus();
160 2 SetPowerStatusMain(ChStatusModule.uchPowerStatus);
161 2 s_uchCountData = 0; //不要每圈程序都执行电源检测,10圈检测电源一次
162 2 }
163 1 }
164
165 //------------------------------------------------------------------
166 //函数名称:void InitChannelParaVariable(void)
167 //功 能:初始化通道状态模块的参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -