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

📄 煤气取样过程计算机模拟view.cpp

📁 本程序是利用VC开发的炼钢炉煤气取样过程的图形化监控程序。界面中的自动演示按钮可以演示整个取样过程。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				if(atoi(string1.Mid(31,4))==0) BallValve_F4=0;
				else BallValve_F4=1;

				if(atoi(string1.Mid(35,4))==0) CaptureValve_F5=0;
				else CaptureValve_F5=1;

				if(atoi(string1.Mid(39,4))==0) AntiSweepValve_F11=0;
				else AntiSweepValve_F11=1;

				if(atoi(string1.Mid(43,4))==0) AirValve_F17=0;
				else AirValve_F17=1;

				if(atoi(string1.Mid(47,4))==0) CaptureStart=0;
				else CaptureStart=1;

			    if(atoi(string1.Mid(51,4))==0) AnalysisStart=0;
				else AnalysisStart=1;
				
			    if(atoi(string1.Mid(55,4))==0) AutoRun=0;
				else AutoRun=1;

				if(atoi(string1.Mid(59,4))==0) HandRun=0;
				else HandRun=1;

			    if(atoi(string1.Mid(63,4))==0) MotorForward=0;
				else MotorForward=1;

                if(atoi(string1.Mid(67,4))==0) MotorBackward=0;
				else MotorBackward=1;
							
                m_OnCom1.SetInBufferCount(0);
			 }
		}
      
	   if ((c=strlen(buff)) == 0) //power shut off
	   {
          /*NearFire_X1=0;
          FarFire_X2=0;
          //Ball_X3=0;
          SweepValve_F1=0;
          PreventValve_F2=0;
          AirProofValve_F3=0;
          BallValve_F4=0;
          CaptureValve_F5=0;
          AntiSweepValve_F11=0;
          AirValve_F17=0;
          CaptureStart=0;
          AnalysisStart=0;
          AutoRun=0;
          HandRun=0;
          MotorForward=0;
          MotorBackward=0;
		  */
	   }

	   m_readPLCdata.Empty();
	}
}



BOOL CMyView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) 
{
	// TODO: Add your specialized code here and/or call the base class
	
    //加密段
/*	unsigned long a,b;
    CString str;
	str="c:\\win98.txt";
	FILE *fp;
    fp=fopen(str,"r");
	fscanf(fp,"%d",&a);
    fclose(fp);
	
	str="c:\\winnt.txt";
    fp=fopen(str,"r");
	fscanf(fp,"%d",&b);
	fclose(fp);
 	    
    if(b>a)
	{
      ExitWindowsEx(EWX_REBOOT,0);
	}
    else
	{
      b++; 
	  fp=fopen(str,"w");
	  fprintf(fp,"%d",b);
	  fclose(fp);
	}
  */  
////////////////////////
	hWnd=pParentWnd->GetSafeHwnd();
	
	hMenu=::GetMenu(hWnd);
	EnableMenuItem(hMenu,ID_LIVESTOPMENU,MF_GRAYED);
	EnableMenuItem(hMenu,ID_REMOTESTOPMENU,MF_GRAYED);

//	EnableMenuItem(hMenu,ID_LIVESTARTMENU,MF_GRAYED);
//	EnableMenuItem(hMenu,ID_REMOTESTARTMENU,MF_GRAYED);

	Brush1.CreateSolidBrush(0x0000ffff);
    Pen1.CreatePen(PS_SOLID,0,0x0000ffff);
    Brush2.CreateSolidBrush(0x00000000);
    Pen2.CreatePen(PS_SOLID,0,RGB(0,0,0));
   
	BitBMP1.LoadBitmap(IDB_VALVEBITMAP5);//green valve
    BitBMP2.LoadBitmap(IDB_VALVEBITMAP6);//red valve
    BitBMP3.LoadBitmap(IDB_BITMAP10);//pipe head
	BitBMP4.LoadBitmap(IDB_FIREBITMAP22);//fireplace
	BitBMP5.LoadBitmap(IDB_CAPTUREGREENLIGHT);//capture green light
	BitBMP6.LoadBitmap(IDB_CAPTUREREDLIGHT);//capture red light
    BitBMP7.LoadBitmap(IDB_BITMAP13);//pipe
    BitBMP8.LoadBitmap(IDB_BITMAP20);//ball valve close
    BitBMP9.LoadBitmap(IDB_BITMAP21);//ball valve open
    BitBMP10.LoadBitmap(IDB_BITMAP2);// vertical red gas
    BitBMP11.LoadBitmap(IDB_BITMAP18);//horizontal red gas
    BitBMP12.LoadBitmap(IDB_BITMAP8);//horizontal hide gas
    BitBMP13.LoadBitmap(IDB_BITMAP14);//vertical hide gas
	BitBMP14.LoadBitmap(IDB_BITMAP3);//horizontal whole hide gas
    BitBMP15.LoadBitmap(IDB_BITMAP19);//vertical whole hide gas
    BitBMP16.LoadBitmap(IDB_ANALYSISWHOLEHIDE);//analysis whole hide gas
    BitBMP17.LoadBitmap(IDB_BITMAP17);//restored hide line
    BitBMP18.LoadBitmap(IDB_ANALYSISGAS);//analysis gas
	BitBMP19.LoadBitmap(IDB_BITMAP12);//pipe hide
    BitBMP20.LoadBitmap(IDB_PIPEHEADHIDE22);//pipe hide
	
	return CFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}

void CMyView::OnLivestartmenu() 
{
	// TODO: Add your command handler code here
	if(ReadORWrite_plc) ReadORWrite_plc=FALSE;
    
	CString string1="";
	char buff[1024];
	memset(&buff,0,sizeof(buff));
  
	m_OnCom1.SetInBufferCount(0);
	m_OnCom1.SetOutBufferCount(0);

	m_writePLCdata.Empty();
	m_writePLCdata=WRITEDATACODE0;
	m_writePLCdata+="0001";
	string1=FCS(m_writePLCdata);
	m_writePLCdata+=string1;
	
	strcpy((LPSTR)buff,m_writePLCdata);
	buff[strlen(buff)] = 42;
	buff[strlen(buff)] = 13;

    m_OnCom1.SetOutput(COleVariant((LPSTR)buff));
		
	EnableMenuItem(hMenu,ID_LIVESTARTMENU,MF_GRAYED);
	EnableMenuItem(hMenu,ID_LIVESTOPMENU,MF_ENABLED);

    if(!ReadORWrite_plc) ReadORWrite_plc=TRUE;
    
}

void CMyView::OnLivestopmenu() 
{
	// TODO: Add your command handler code here
	if(ReadORWrite_plc) ReadORWrite_plc=FALSE;
    
	CString string1="";
	char buff[1024];
	memset(&buff,0,sizeof(buff));
  
	m_OnCom1.SetInBufferCount(0);
	m_OnCom1.SetOutBufferCount(0);

	m_writePLCdata.Empty();
	m_writePLCdata=WRITEDATACODE0;
	m_writePLCdata+="0000";
	string1=FCS(m_writePLCdata);
	m_writePLCdata+=string1;
	
	strcpy((LPSTR)buff,m_writePLCdata);
	buff[strlen(buff)] = 42;
	buff[strlen(buff)] = 13;

    m_OnCom1.SetOutput(COleVariant((LPSTR)buff));
	    
	EnableMenuItem(hMenu,ID_LIVESTARTMENU,MF_ENABLED);
	EnableMenuItem(hMenu,ID_LIVESTOPMENU,MF_GRAYED);

	if(!ReadORWrite_plc) ReadORWrite_plc=TRUE;

}



void CMyView::OnRemotestartmenu() 
{
	// TODO: Add your command handler code here
    if(ReadORWrite_plc) ReadORWrite_plc=FALSE;
    
	CString string1="";
	char buff[1024];
	memset(&buff,0,sizeof(buff));
  
	m_OnCom1.SetInBufferCount(0);
	m_OnCom1.SetOutBufferCount(0);

	m_writePLCdata.Empty();
	m_writePLCdata=WRITEDATACODE1;
	m_writePLCdata+="0001";
	string1=FCS(m_writePLCdata);
	m_writePLCdata+=string1;
	
	strcpy((LPSTR)buff,m_writePLCdata);
	buff[strlen(buff)] = 42;
	buff[strlen(buff)] = 13;

    m_OnCom1.SetOutput(COleVariant((LPSTR)buff));

		
	EnableMenuItem(hMenu,ID_REMOTESTARTMENU,MF_GRAYED);
	EnableMenuItem(hMenu,ID_REMOTESTOPMENU,MF_ENABLED);
	
	if(!ReadORWrite_plc) ReadORWrite_plc=TRUE;
}

void CMyView::OnRemotestopmenu() 
{
	// TODO: Add your command handler code here
	if(ReadORWrite_plc) ReadORWrite_plc=FALSE;
    
	CString string1="";
	char buff[1024];
	memset(&buff,0,sizeof(buff));
  
	m_OnCom1.SetInBufferCount(0);
	m_OnCom1.SetOutBufferCount(0);

	m_writePLCdata.Empty();
	m_writePLCdata=WRITEDATACODE1;
	m_writePLCdata+="0000";
	string1=FCS(m_writePLCdata);
	m_writePLCdata+=string1;
	
	strcpy((LPSTR)buff,m_writePLCdata);
	buff[strlen(buff)] = 42;
	buff[strlen(buff)] = 13;

    m_OnCom1.SetOutput(COleVariant((LPSTR)buff));
	
	EnableMenuItem(hMenu,ID_REMOTESTARTMENU,MF_ENABLED);
	EnableMenuItem(hMenu,ID_REMOTESTOPMENU,MF_GRAYED);

	if(!ReadORWrite_plc) ReadORWrite_plc=TRUE;
	
}

////
void CMyView::ShowPipeHeadForward() 
{
CDC * pDC;
pDC=GetDC();

/*CBitmap BitBMP1;
BitBMP1.LoadBitmap(IDB_BITMAP10);//pipe head
*/

CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);

PipeHead_X=Pipe_X+474;

if(PipeHead_X<974) PipeHead_X=PipeHead_X+2;
  
ImageDC.SelectObject(&BitBMP3);
BitBlt(pDC->m_hDC, PipeHead_X, 455, 27, 15, ImageDC.m_hDC, 0, 0, SRCCOPY);

ReleaseDC(pDC);
ImageDC.DeleteDC();
}

////
void CMyView::ShowPipeHeadBackward()
{
CDC * pDC;
pDC=GetDC();

/*CBitmap BitBMP1,BitBMP2,BitBMP3;
BitBMP1.LoadBitmap(IDB_BITMAP10);//pipe head
//BitBMP2.LoadBitmap(IDB_BITMAP11);//pipe head mask
BitBMP3.LoadBitmap(IDB_PIPEHEADHIDE22);//green hide pipe
CDC ImageDC,ImageMaskDC;*/

CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);
//ImageMaskDC.CreateCompatibleDC(pDC);

if(PipeHead_X>663)
{
  PipeHead_X1=PipeHead_X+25;
  PipeHead_X=PipeHead_X-2;	  
}

//show pipe head
//MASK

ImageDC.SelectObject(&BitBMP3);
//ImageMaskDC.SelectObject(&BitBMP2);
//BitBlt(ImageDC.m_hDC, 0, 0, 25, 32, ImageMaskDC.m_hDC, 0, 0, SRCAND);
//BitBlt(pDC->m_hDC, PipeHead_X, 374, 25, 32, ImageMaskDC.m_hDC, 0, 0, 0x220326);
//BitBlt(pDC->m_hDC, PipeHead_X, 374, 25, 32, ImageDC.m_hDC, 0, 0, SRCPAINT);
BitBlt(pDC->m_hDC, PipeHead_X, 455, 27, 15, ImageDC.m_hDC, 0, 0, SRCCOPY);

//use  hide
ImageDC.SelectObject(&BitBMP20);
BitBlt(pDC->m_hDC, PipeHead_X1, 455, 2, 15, ImageDC.m_hDC, 0, 0, SRCCOPY);

ReleaseDC(pDC);
ImageDC.DeleteDC();
}
////
void CMyView::ShowPipeForward()
{
CDC * pDC;
pDC=GetDC();

/*CBitmap BitBMP1,BitBMP2,BitBMP3;
BitBMP1.LoadBitmap(IDB_BITMAP13);//pipe
BitBMP2.LoadBitmap(IDB_BITMAP12);//hide pipe 
*/

CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);

  if(Pipe_X<500)
{
  Pipe_X1=Pipe_X;
  Pipe_X=Pipe_X+2;
}

//show pipe
ImageDC.SelectObject(&BitBMP7);
BitBlt(pDC->m_hDC, Pipe_X, 455, 474, 15, ImageDC.m_hDC, 0, 0, SRCCOPY);

//hide
ImageDC.SelectObject(&BitBMP19);//use  hide
BitBlt(pDC->m_hDC, Pipe_X1, 455, 2, 15, ImageDC.m_hDC, 0, 0, SRCCOPY);

ReleaseDC(pDC);
ImageDC.DeleteDC();
}

void CMyView::ShowPipeBackward()
{
CDC * pDC;
pDC=GetDC();

//CBitmap BitBMP1;
//BitBMP1.LoadBitmap(IDB_BITMAP13);//pipe

CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);

if(Pipe_X>189)
{
  Pipe_X=Pipe_X-2;
}

//show pipe
ImageDC.SelectObject(&BitBMP7);
BitBlt(pDC->m_hDC, Pipe_X, 455, 474, 15, ImageDC.m_hDC, 0, 0, SRCCOPY);

ReleaseDC(pDC);
ImageDC.DeleteDC();
}


void CMyView::ShowF4Gas()
{
  ////F4、F17_gas
CDC * pDC;
pDC=GetDC();

/*CBitmap BitBMP10,BitBMP11,BitBMP12,BitBMP13,BitBMP14,BitBMP15;

BitBMP10.LoadBitmap(IDB_BITMAP2);// vertical red gas
BitBMP11.LoadBitmap(IDB_BITMAP18);//horizontal red gas
BitBMP12.LoadBitmap(IDB_BITMAP8);//horizontal hide gas
BitBMP14.LoadBitmap(IDB_BITMAP3);//horizontal whole hide gas
BitBMP13.LoadBitmap(IDB_BITMAP14);//vertical hide gas
BitBMP15.LoadBitmap(IDB_BITMAP19);//vertical whole hide gas
*/
CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);

//if((AirValve_F17==1)&&(BallValve_F4==1)) //球阀打开
  if(AirValve_F17==1)
{ 
      if(F4_region1==1) //region1
	  {
	      F4gas_X1=F4gas_X;
		  F4gas_X=F4gas_X+2;
		  //horizontal and hide
		  ImageDC.SelectObject(&BitBMP11);
          BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y, 20, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
          ImageDC.SelectObject(&BitBMP12);
          BitBlt(pDC->m_hDC, F4gas_X1, F4gas_Y, 2, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);

		  if(F4gas_X>=710)
		  {
			F4_region1=0;
            F4_region2=1;
		    F4_region3=0;
		    F4_region4=0;
            F4_region5=0;
            //special process 
			ImageDC.SelectObject(&BitBMP14);
            BitBlt(pDC->m_hDC, F4gas_X,F4gas_Y, 20, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
            F4gas_X=728;
		  }
	  }

      if(F4_region2==1) //region2
	  {
		  F4gas_Y1=F4gas_Y;
		  F4gas_Y=F4gas_Y+2;
		  //vertical and hide
		  ImageDC.SelectObject(&BitBMP10);
          BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y, 4, 20, ImageDC.m_hDC, 0, 0, SRCCOPY);
          ImageDC.SelectObject(&BitBMP13);
          BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y1, 4, 2, ImageDC.m_hDC, 0, 0, SRCCOPY);
          
		  if(F4gas_Y>=290)
		  {
			F4_region1=0;
            F4_region2=0;
		    F4_region3=1;
		    F4_region4=0;
			F4_region5=0;

			//special process 
			ImageDC.SelectObject(&BitBMP15);
            BitBlt(pDC->m_hDC, F4gas_X,F4gas_Y, 4, 20, ImageDC.m_hDC, 0, 0, SRCCOPY);
           
			//if(Ball_X3==1)
            if(BallValve_F4==1)  
			{
			  F4gas_Y=316;
              F4gas_X=700;
			}
			else
			{
              F4gas_Y=316;
              F4gas_X=720;
			}
		  }
      }

  //region3
            
	  if(F4_region3==1)  
	  {
	      //if(Ball_X3==1) //ballvalveopen
		  if(BallValve_F4==1)
		  {
		    F4gas_X1=F4gas_X+18;
		    F4gas_X=F4gas_X-2;
		    //horizontal and hide
		    ImageDC.SelectObject(&BitBMP11);
            BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y, 20, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
            ImageDC.SelectObject(&BitBMP12);
            BitBlt(pDC->m_hDC, F4gas_X1, F4gas_Y, 2, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
		 
		   if(F4gas_X<=683)
		   {
			 F4_region1=0;
             F4_region2=0;
		     F4_region3=0;
		     F4_region4=1;
			 F4_region5=0;
            //special process 
			 ImageDC.SelectObject(&BitBMP14);
             BitBlt(pDC->m_hDC, F4gas_X,F4gas_Y, 20, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
             F4gas_X=683;
			 F4gas_Y=318;
		   }
		  }
		  else  //ballvalveclose
		  {
            F4gas_X1=F4gas_X;
		    F4gas_X=F4gas_X+2;
		    //horizontal and hide
		    ImageDC.SelectObject(&BitBMP11);
            BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y, 20, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
            ImageDC.SelectObject(&BitBMP12);
            BitBlt(pDC->m_hDC, F4gas_X1, F4gas_Y, 2, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
		 
		   if(F4gas_X>=750)
		   {
			 F4_region1=0;
             F4_region2=0;
		     F4_region3=0;
		     F4_region4=1;
			 F4_region5=0;
            //special process 
			 ImageDC.SelectObject(&BitBMP14);
             BitBlt(pDC->m_hDC, F4gas_X,F4gas_Y, 20, 4, ImageDC.m_hDC, 0, 0, SRCCOPY);
             F4gas_X=773;
			 F4gas_Y=318;
		   }
		  }
	  }
        

	  if(F4_region4==1) //region4
	  {
		  F4gas_Y1=F4gas_Y;
		  F4gas_Y=F4gas_Y+2;
		  //vertical and hide
		  ImageDC.SelectObject(&BitBMP10);
          BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y, 4, 20, ImageDC.m_hDC, 0, 0, SRCCOPY);
          ImageDC.SelectObject(&BitBMP13);
          BitBlt(pDC->m_hDC, F4gas_X, F4gas_Y1, 4, 2, ImageDC.m_hDC, 0, 0, SRCCOPY);
          
		  if(F4gas_Y>=380)
		  {
			F4_region1=0;
            F4_region2=0;
		    F4_region3=0;
		    F4_region4=0;
			F4_region5=1;

			//special process 
			ImageDC.SelectObject(&BitBMP15);
            BitBlt(pDC->m_hDC, F4gas_X,F4gas_Y, 4, 20, ImageDC.m_hDC, 0, 0, SRCCOPY);
            
			//if(Ball_X3==1)
			if(BallValve_F4==1)
			{

⌨️ 快捷键说明

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