📄 judgefault.c
字号:
/*******************************************************************************
Copyright (c) 2005,2006 北京中盛华旭电子科技有限公司(VSUNTEK, Ltd.)
FileName: JudgeFault.C
Author: 王在东
Date: 2008.05.28
Version: 1.0
Description:故障判断程序 .
History:
<Author>wzd
<Date>
<Ver>
<Desc>
Todo:
*******************************************************************************/
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
Uint16 JudgeFault(float32 *JudgeObject);
Uint16 JudgeFault(float32 *JudgeObject)
{
Uint16 i,FaultCounter = 0;
float32 TempData = 0;
FEED_WATCHDOG;
//220V AC judge
for(i=0;i<6;i++)
{
TempData = *JudgeObject++;
if(TempData>(AC220V_PARA * 1.15) || (TempData<(AC220V_PARA * 0.85) && TempData>1.3))
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//30A AC Judge
for(i=0;i<4;i++)
{
TempData = *JudgeObject++;
if(TempData>AC30A_PARA)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//280V DC JUDGE
for(i=0;i<3;i++)
{
TempData = *JudgeObject++;
if(TempData>(DC280V_PARA * 1.15) || TempData<(DC280V_PARA * 0.85))
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//40V DC JUDGE
for(i=0;i<13;i++)
{
TempData = *JudgeObject++;
if(TempData>DC40V_PARA_MAX || TempData<DC40V_PARA_MIN)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//TEMP JUDGE
for(i=0;i<3;i++)
{
TempData = *JudgeObject++;
if(TempData>TEMP_PARA)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//60A DC JUDGE
for(i=0;i<13;i++)
{
TempData = *JudgeObject++;
if(TempData>DC60A_PARA)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//80A DC JUDGE
for(i=0;i<2;i++)
{
TempData = *JudgeObject++;
if(TempData>DC80A_PARA)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//ANALOG JUDGE
for(i=0;i<8;i++)
{
TempData = *JudgeObject++;
if(TempData>ANALOG_PARA_MAX || TempData<ANALOG_PARA_MIN)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
//ON-OFF JUDGE
for(i=0;i<8;i++)
{
TempData = *JudgeObject++;
if(TempData == 0)
{
FaultCounter++;
BusLine_Direct_Set(OUTPUT);
LED2_CS_L;
BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
LED2_CS_H;
}
}
return FaultCounter;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -