📄 flads.cpp
字号:
memcpy(p->Data,buf,MaxMailLength);
if(TSendAMail(p))
{
return(TRUE);
}else
{
TFreeAMail(p);
return(FALSE);
}
}
}
unsigned char CFLADSApp::WarnWrite(unsigned char *buf)
{
struct Mail *p;
FILE *fp;
if((p=GetAWarnEnvelope())!=NULL)
{
memcpy(p->Data,buf,MaxMailLength);
if(SendAWarnMail(p))
{
return(TRUE);
}else
{
FreeAWarnMail(p);
return(FALSE);
}
}
}
struct Mail far *CFLADSApp::GetAWarnEnvelope(void)
{
struct Mail far *p;
if(WarnStation.MailQueueHead)
{
p=WarnStation.MailQueueHead;
WarnStation.MailQueueHead=WarnStation.MailQueueHead->Link;
WarnStation.MailQueueLength--;
p->Link=NULL;
return(p);
}else
{
if(WarnStation.TotMailNum>=200)
{
return(NULL);
}else
{
if((p=(struct Mail far *)malloc(sizeof(struct Mail)))==NULL){return(NULL);};
WarnStation.TotMailNum++;
p->Link=NULL;
return(p);
}
}
}
void CFLADSApp::FreeAWarnMail(struct Mail far *p)
{
p->Link=WarnStation.MailQueueHead;
WarnStation.MailQueueHead=p;
WarnStation.MailQueueLength++;
};
unsigned char CFLADSApp::SendAWarnMail(struct Mail far *p)
{
if(WarnHead.MailQueueHead)
{
if(WarnorBack==0)
{
p->Link=WarnHead.MailQueueHead;
WarnHead.MailQueueHead=p;
}else
{
WarnHead.MailQueueTail->Link=p;
WarnHead.MailQueueTail=p;
p->Link=NULL;
}
}else
{
WarnHead.MailQueueHead=p;
WarnHead.MailQueueTail=p;
p->Link=NULL;
};
WarnHead.MailQueueLength++;
return(TRUE);
}
void CFLADSApp::SaveWarn(unsigned char *buf)
{
FILE *fp;
int m,n;
fp=fopen("\\diskc\\WarnLen.dat","wb");
n=WarnLength;
m=n+1;
m=m%200;
fwrite((int *)&(m),sizeof(int),1,fp);
fclose(fp);
Sleep(100);
memcpy(&WarnBuf[n][0],buf,MaxMailLength);
fp=fopen("\\diskc\\warn.lib","wb");
fwrite((unsigned char *)(WarnBuf),MaxMailLength*200,1,fp);
fclose(fp);
WarnLength=n+1;
WarnLength=WarnLength%200;
}
void CFLADSApp::SaveSoe(void)
{
FILE *fp;
int m,n;
fp=fopen("\\diskc\\SoeLen.dat","wb");
n=PushLength;
m=n+1;
m=m%200;
fwrite((int *)&(m),sizeof(int),1,fp);
fclose(fp);
Sleep(100);
memcpy(&SoeBuf[n][0],Record,MaxMailLength);
fp=fopen("\\diskc\\soe.lib","wb");
fwrite((unsigned char *)(SoeBuf),MaxMailLength*200,1,fp);
fclose(fp);
PushLength=n+1;
PushLength=PushLength%200;
}
void CFLADSApp::StartTime(int sio)
{
CTime t;
t=CTime::GetCurrentTime();
if(sio==0)
{
Record[0]=0xAA;
Record[1]=0x55;
Record[2]=0x00;
Record[3]=0x0f;
Record[4]=t.GetYear()%100;
Record[5]=t.GetMonth();
Record[6]=t.GetDay();
Record[7]=t.GetHour();
Record[8]=t.GetMinute();
Record[9]=t.GetSecond();
Record[10]=0;
Record[11]=0;
Record[12]=0;
Record[13]=0;
Record[14]=0;
}else
{
WarnRecord[0]=0xAA;
WarnRecord[1]=0x55;
WarnRecord[2]=0x00;
WarnRecord[3]=0x0f;
WarnRecord[4]=t.GetYear()%100;
WarnRecord[5]=t.GetMonth();
WarnRecord[6]=t.GetDay();
WarnRecord[7]=t.GetHour();
WarnRecord[8]=t.GetMinute();
WarnRecord[9]=t.GetSecond();
WarnRecord[10]=0;
WarnRecord[11]=0;
WarnRecord[12]=0;
WarnRecord[13]=0;
WarnRecord[14]=0;
}
}
void CFLADSApp::StartRecord(void)
{
CTime tt;
SYSTEMTIME gmt;
tt=CTime::GetCurrentTime();
tt.GetAsSystemTime(gmt);
theApp.Year = (int)gmt.wYear;
theApp.Month = (int)gmt.wMonth;
theApp.Day = (int)gmt.wDay;
theApp.Hour = (int)gmt.wHour;
theApp.Minute = (int)gmt.wMinute;
theApp.Second = (int)gmt.wSecond;
theApp.Week = (int)gmt.wDayOfWeek;
Record[0]=0xAA;
Record[1]=0x55;
Record[2]=0x00;
Record[3]=0x0f;
Record[4]=theApp.Year;
Record[5]=theApp.Month;
Record[6]=theApp.Day;
Record[7]=theApp.Hour;
Record[8]=theApp.Minute;
Record[9]=theApp.Second;
Record[10]= 0;
Record[11]= 0;
Record[12]= 0;
Record[13]= 0;
Record[14]= 0;
SaveSoe();
}
void CFLADSApp::ResetRecord(void)
{
CTime tt;
SYSTEMTIME gmt;
tt=CTime::GetCurrentTime();
tt.GetAsSystemTime(gmt);
theApp.Year = (int)gmt.wYear;
theApp.Month = (int)gmt.wMonth;
theApp.Day = (int)gmt.wDay;
theApp.Hour = (int)gmt.wHour;
theApp.Minute = (int)gmt.wMinute;
theApp.Second = (int)gmt.wSecond;
theApp.Week = (int)gmt.wDayOfWeek;
Record[0]=0xAA;
Record[1]=0x55;
Record[2]=0x00;
Record[3]=0x0f;
Record[4]=theApp.Year;
Record[5]=theApp.Month;
Record[6]=theApp.Day;
Record[7]=theApp.Hour;
Record[8]=theApp.Minute;
Record[9]=theApp.Second;
Record[10]= 0;
Record[11]= 0;
Record[12]= 1;//复位
Record[13]= 0;
Record[14]= 0;
SaveSoe();
HeadorBack=0x00;
TWrite(Record);
}
void CFLADSApp::ClearRecord(void)
{
int i,j;
int m,n;
unsigned char ch;
struct Mail *TempPtr;
FILE *fp;
fp=fopen("\\diskc\\SoeLen.dat","wb");
m=0;
fwrite((int *)&(m),sizeof(int),1,fp);
PushLength=m;
fclose(fp);
SoeHead.MailQueueLength=0;
SoeHead.MailQueueHead=NULL;
SoeHead.MailQueueTail=NULL;
PostStation.MailQueueLength=0;
PostStation.MailQueueHead=NULL;
for(i=0;i<200;i++)
{
TempPtr=&MailBuf[i];
_fmemset(TempPtr,0,sizeof(struct Mail));
TempPtr->Link=PostStation.MailQueueHead;
PostStation.MailQueueHead=TempPtr;
PostStation.MailQueueLength++;
};
PostStation.TotMailNum=PostStation.MailQueueLength;
_fmemset(SoeBuf,0,200*MaxMailLength);
fp=fopen("\\diskc\\soe.lib","wb");
fwrite((unsigned char *)(SoeBuf),MaxMailLength*200,1,fp);
fclose(fp);
j=PushLength;
if(j<0) j=0;
for(i=0;i<200;i++)
{
if(j==0) j=199;
else j--;
HeadorBack=0xff;
if((SoeBuf[j][0]==0xaa)&&(SoeBuf[j][1]==0x55))
{
TWrite(&SoeBuf[j][0]);
}
}
}
void CFLADSApp::YKOUTPUT(int num,int type)
{
int i,j,k;
unsigned char ch;
if(num>33) return;
switch(type)
{
case YKON:j=num%8;
i=num/8;
ch=ykout[i];
ch=ch & BitOPC[j];
ykout[i]=ch;
break;
case YKOFF:j=num%8;
i=num/8;
ch=ykout[i];
ch=ch | BitOPS[j];
ykout[i]=ch;
break;
}
}
void CFLADSApp::TransSpeed(void)
{
double kk,dk;
// kk=2.7/45.7*10.0;
kk=trans_scale;
dk=trans_speed_set;
if(kk!=0)
{
vfds0_Frequency=(unsigned int)(dk/kk);
}
if((vfds0_Frequency)>=5000)vfds0_Frequency=5000;
}
void CFLADSApp::TransOn(void)
{
double kk,dk;
// kk=2.7/45.7*10.0;
kk=trans_scale;
// if(kk>
dk=trans_speed_set;
if(kk!=0)
{
vfds0_Frequency=(unsigned int)(dk/kk);
}
if((vfds0_Frequency)>=5000)vfds0_Frequency=5000;
if(FLRType==0)//正转
{
vfds0_control=vfds0_control | 0x05;
}else
{//反转
vfds0_control=vfds0_control & 0xFB;
vfds0_control=vfds0_control | 0x01;
}
}
void CFLADSApp::TransOff()
{
vfds0_Frequency=0;
vfds0_control=vfds0_control & 0xfe;
}
void CFLADSApp::FanOn(void)
{
double dk;
dk=fan_set/0.6;
vfds1_Frequency=(unsigned int)(dk);
if((vfds1_Frequency)>=5000)vfds1_Frequency=5000;
vfds1_control=vfds1_control | 0x05;
}
void CFLADSApp::FanOff()
{
vfds1_Frequency=0;
vfds1_control=vfds1_control & 0xfe;
}
void CFLADSApp::LoadHwl(void)
{
FILE *fp;
double dt;
int m;
fp=_wfopen(HwlFileNameAll,_T("rb"));
if(fp==NULL)
{
SaveHwl(HwlFileNameAll);
} else
{
fread((double *)&(dt),sizeof(double),1,fp);
rh1_temper_set=dt;
fread((double *)&(dt),sizeof(double),1,fp);
rh2_temper_set=dt;
fread((double *)&(dt),sizeof(double),1,fp);
rh3_temper_set=dt;
fread((double *)&(dt),sizeof(double),1,fp);
sl_temper_set=dt;
fread((double *)&(dt),sizeof(double
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -