⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flads.cpp

📁 波峰焊后台控制软件-中文版
💻 CPP
📖 第 1 页 / 共 5 页
字号:

unsigned char CFLADSApp::TWrite(unsigned char *buf)
{
	struct Mail far *p;
	FILE  *fp;
	if((p=TGetAEnvelope())!=NULL)
    {
		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_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -