?? function.c
字號:
//看是否有反饋信息
if(machine_status==0x60)
{
if(feedback_number==0) //信息為0類型在+1
{
machine_status+=0x10;
}
else
have_report=1;
}
//看是否有啟動信息
if(machine_status==0x70)
{
if(start_number==0) //信息為0類型=0x30
machine_status+=0x10;
else
have_report=1;
}
}
}
//*************************************************************************
//**函 數 名:ReadQuStart
//**輸 入:
//** QuNumber:動作檢測的區號
//**輸 出:無
//**功能描述:
//** 1.檢測某一個區的動作的信號
//*************************************************************************
void ReadQuStart(uchar QuNumber)
{
uchar xdata temp_action,I;
switch(QuNumber)
{
case 1:CS_STATUS=ONEPORTDETECT; temp_action=alreadly_action1;break;
case 2:CS_STATUS=TWOPORTDETECT; temp_action=alreadly_action2;break;
case 3:CS_STATUS=THREEPORTDETECT;temp_action=alreadly_action3;break;
case 4:CS_STATUS=FOURPORTDETECT; temp_action=alreadly_action4;break;
default:break;
}
Read12887(Clock_Time);
//檢測鋼瓶是否啟動
if((!GPQD_DETECT)&&((temp_action&0x01)==0))
{
SaveAlarmToBUFF(QuNumber,0x08,0x03);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x08,3);
//點亮總啟動燈
StartUpLED(1);
start_number++;
disp_start_number = start_number;
//設置啟動聲響
if(SoundType != 1)SoundType = 1;
//滅消音燈
Mute_LED_CTRL(0);
if(machine_status<=0x70)
{
machine_status=0x70;
have_report=1;
}
//置位檢測完成標志
temp_action|=0x01;
}
//檢測壓力開關是否動作
if((!YLKG_DETECT)&&((temp_action&0x04)==0))
{
//壓力開關動作信息存入顯示緩沖區
SaveAlarmToBUFF(QuNumber,0x0b,0x04);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x0b,4);
//反饋數加1
feedback_number++;
disp_feedback_number = feedback_number;
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
//設置反饋聲響
if((SoundType != 1)||(SoundType != 2))SoundType = 2;
//對應區的噴灑啟動
PDAutoStartUp(QuNumber,1);
SaveAlarmToBUFF(QuNumber,0x04,0x03);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x04,3);
start_number++;
disp_start_number = start_number;
if(machine_status<=0x70)
{
machine_status=0x70;
have_report=1;
}
//置位檢測完成標志
temp_action|=0x04;
}
//檢測手動急停(前面板的停止按鈕)(現在場的急停按鍵)按鍵是否按下
if(((!JTAN_DETECT)||(!SDJT_DETECT))&&((temp_action&0x02)==0))
{
if(allow_status[QuNumber-1]==1)
{
//延時啟動時間未到時,禁止啟動輸出
if(delay_SDstart_time[QuNumber-1]!=0)
{
//關提示聲音
SoundType=0;
//停止聲光信息存入顯示緩沖區
SaveAlarmToBUFF(QuNumber,0x03,0x05);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x03,5);
//停止聲光輸出
SGAutoStartUp(QuNumber,0);
stop_number++;
disp_stop_number = stop_number;
//停止聯動設備信息存入顯示緩沖區
SaveAlarmToBUFF(QuNumber,0x0a,0x05);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x0a,5);
//停止聯運動設備輸出
LDAutoStop(QuNumber,0);
stop_number++;
disp_stop_number = stop_number;
have_delay_start&=~(0x01<<(QuNumber-1));
}
//置位檢測完成標志
temp_action|=0x02;
}
}
//檢測手動急啟(前面板的啟動按鈕)(現在場的急啟按鍵)按鍵是否按下
if(((!SDJQ_DETECT)||(!JQAN_DETECT))&&((temp_action&0x08)==0))
{
I=0;
switch (QuNumber)
{
case 1:if((alarm_report&0x01)==0x01)I=1;break;
case 2:if((alarm_report&0x02)==0x02)I=1;break;
case 3:if((alarm_report&0x04)==0x04)I=1;break;
case 4:if((alarm_report&0x08)==0x08)I=1;break;
}
if((allow_status[QuNumber-1]==1)&&(I==0))
{
//判斷有沒有延時
if((SD_delay_time>=0)&&(SD_delay_time<=30))
{
//禁止啟動
Delay_StartUP(0);
//啟動聲光信息存入顯示緩沖區
SaveAlarmToBUFF(QuNumber,0x03,0x03);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x03,3);
//啟動聲光輸出
SGAutoStartUp(QuNumber,1);
start_number++;
disp_start_number = start_number;
//聯動設備信息存入顯示緩沖區
SaveAlarmToBUFF(QuNumber,0x0a,0x03);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x0a,3);
//聯動設備輸出
LDAutoStop(QuNumber,1);
start_number++;
disp_start_number = start_number;
//滅消音燈
Mute_LED_CTRL(0);
//手動延時啟動信息存入顯示緩沖區
SaveAlarmToBUFF(QuNumber,0x08,0x06);
//存入打印緩沖區
SaveAlarmToPrintBUFF(QuNumber,0x08,6);
start_number++;
disp_start_number = start_number;
//點亮延時啟動燈
D_StartUpLED(1);
//延時啟動的每秒提示聲音
//設置聲響類型
if(SoundType!=5&&SoundType!=1)SoundType=5;
//置該區延時啟動標志位
have_delay_start|=(0x01<<(QuNumber-1));
delay_time_count=0;
if(machine_status<=0x70)
{
machine_status=0x70;
have_report=1;
}
}
//置位檢測完成標志
temp_action|=0x08;
}
}
switch(QuNumber)
{
case 1:alreadly_action1=temp_action;break;
case 2:alreadly_action2=temp_action;break;
case 3:alreadly_action3=temp_action;break;
case 4:alreadly_action4=temp_action;break;
default:break;
}
}
//*************************************************************************
//**函 數 名:TestButtonAction
//**輸 入:
//** QuNumber:動作檢測的區號
//**輸 出:無
//**功能描述:
//** 1.檢測某一個區的啟動和停止按鍵是否按下
//*************************************************************************
void TestButtonAction(uchar QuNumber)
{
switch(QuNumber)
{
case 1:CS_STATUS=ONEPORTDETECT; break;
case 2:CS_STATUS=TWOPORTDETECT; break;
case 3:CS_STATUS=THREEPORTDETECT;break;
case 4:CS_STATUS=FOURPORTDETECT; break;
default:break;
}
//檢測手動急停(前面板的停止按鈕)按鍵是否按下
if(!JTAN_DETECT)
{
if(ButtonAction == 0)
ButtonAction = 1;
}
//檢測手動急啟(前面板的啟動按鈕)按鍵是否按下
if(!SDJQ_DETECT)
{
//前面板啟動按鈕按下
ButtonAction = 1;
}
}
//*************************************************************************
//**函 數 名:Delay_Manage
//**輸 入:無
//**輸 出:無
//**功能描述:
//** 1.延時啟動處理主程序
//*************************************************************************
void Delay_Manage(void)
{
if((have_delay_start & 0xFF) == 0)
{
//熄滅延時啟動燈
D_StartUpLED(0);
return;
}
//手動延時時間到了1S
if(delay_time_count==100&&((have_delay_start&0x0f)!=0))
{
delay_time_count=0;
//開關液晶背光的計數器清零
backlamp_delay=3000;
//開背光
LCDLAMPCTRL(1);
//延時啟動的每秒提示聲音
//設置聲響類型
if(SoundType!=5)SoundType=5;
if((have_delay_start&0x01)==0x01)
{
delay_SDstart_time[0]--;
if(delay_SDstart_time[0]<=0)
{
//延時時間到啟動一區的鋼瓶
GPAutoStartUp(1,1);
//允許啟動
Delay_StartUP(1);
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
//設置提示音
SoundType = 1;
have_delay_start&=0xFE;
}
}
if((have_delay_start&0x02)==0x02)
{
delay_SDstart_time[1]--;
if(delay_SDstart_time[1]<=0)
{
//延時時間到啟動二區的鋼瓶
GPAutoStartUp(2,1);
//允許啟動
Delay_StartUP(1);
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
//設置提示音
SoundType = 1;
have_delay_start&=0xFD;
}
}
if((have_delay_start&0x04)==0x04)
{
delay_SDstart_time[2]--;
if(delay_SDstart_time[2]<=0)
{
//延時時間到啟動三區的鋼瓶
GPAutoStartUp(3,1);
//允許啟動
Delay_StartUP(1);
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
//設置提示音
SoundType = 1;
have_delay_start&=0xFB;
}
}
if((have_delay_start&0x08)==0x08)
{
delay_SDstart_time[3]--;
if(delay_SDstart_time[3]<=0)
{
//延時時間到啟動四區的鋼瓶
GPAutoStartUp(4,1);
//允許啟動
Delay_StartUP(1);
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
//設置提示音
SoundType = 1;
have_delay_start&=0xF7;
}
}
if(machine_status==0x70)
{
//顯示報警信息
DISP_Information();
}
}
//////////////////////////////////////////////////////////////
//自動延時時間到了1S
if(delay_time_count==100&&((have_delay_start&0xf0)!=0))
{
delay_time_count=0;
//開關液晶背光的計數器清零
backlamp_delay=3000;
//開背光
LCDLAMPCTRL(1);
//延時啟動的每秒提示聲音
//設置聲響類型
if(SoundType!=5)SoundType = 5;
if((have_delay_start&0x10)==0x10)
{
delay_ZDstart_time[0]--;
if(delay_ZDstart_time[0]<=0)
{
//延時時間到啟動一區的鋼瓶
GPAutoStartUp(1,1);
//允許啟動
Delay_StartUP(1);
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
//設置提示音
SoundType = 1;
have_delay_start&=0xef;
}
}
if((have_delay_start&0x20)==0x20)
{
delay_ZDstart_time[1]--;
if(delay_ZDstart_time[1]<=0)
{
//延時時間到啟動二區的鋼瓶
GPAutoStartUp(2,1);
//允許啟動
Delay_StartUP(1);
//點亮啟動燈
StartUpLED(1);
//滅消音燈
Mute_LED_CTRL(0);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -