www.pudn.com > PressMonitor_q.zip > MonitorDataReal.cpp


// MonitorDataReal.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "monitor.h" 
#include "MonitorDataReal.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CMonitorDataReal 
 
IMPLEMENT_SERIAL(CMonitorDataReal, CObject, 1) 
 
CMonitorDataReal::CMonitorDataReal() 
{ 
} 
 
CMonitorDataReal::~CMonitorDataReal() 
{ 
} 
 
 
void CMonitorDataReal::Serialize(CArchive& ar) 
{ 
	if (ar.IsStoring()) 
	{ 
		for(int f=0;f>Data_Real[f]; 
		} 
		ar>>Forging_Display_Freq; 
		ar>>Forging_Display_Pos; 
		ar>>Forging_Display_Speed; 
		ar>>SOut.Out; 
		ar>>AOut.A_Ya2>>AOut.A_Ya3>>AOut.A_Ya6; 
		ar>>AOut.C_Ya9>>AOut.C_Ya10; 
		ar>>AOut.D_Ya9>>AOut.C_Ya10; 
		ar>>InPlcStatus.In; 
		ar>>OutPlc.Out[0]>>OutPlc.Out[1]; 
 
	} 
} 
 
///////////////////////////////////////////////////////////////////////////// 
 
 
 
void CMonitorDataReal::SetDataReal(short *Buffer) 
{ 
	//TRACE("Entering SetDataReal\n"); 
	static int count=0; 
	count++; 
//	TRACE("SetDataReal(short *Buffer) COUNT is%d\n",count); 
 
//////////////////////////////////////////////////////////////// 
	Data_Real[FORGING_POS]		= *((float *)&Buffer[0]); 
	Data_Real[ROBOT_MOVE_POS]	= *((float *)&Buffer[2]); 
	Data_Real[ROBOT_ROTATE_POS]= *((float *)&Buffer[4])   ; 
	Data_Real[ROBOT2_MOVE_POS]	= *((float *)&Buffer[6]); 
	Data_Real[ROBOT2_ROTATE_POS]= *((float *)&Buffer[8])   ; 
	Data_Real[PUMP1_PRE]		= *((float *)&Buffer[10])  ; 
	Data_Real[PUMP2_PRE]		= *((float *)&Buffer[12]) ; 
	Data_Real[PUMP3_PRE]		= *((float *)&Buffer[14])  ; 
	Data_Real[PUMP4_PRE]		= *((float *)&Buffer[16]) ; 
	Data_Real[SYS_PRE]			= *((float *)&Buffer[18])  ; 
	Data_Real[KETTLE_PRE]		= *((float *)&Buffer[20])  ; 
	Data_Real[RETURNCYLINDER_PRE]=*((float *)&Buffer[22])  ; 
	Data_Real[MAINCYLINDER_PRE]	= *((float *)&Buffer[24])  ; 
	Data_Real[KETTLE_TEMP]		= *((float *)&Buffer[26])  ; 
	Data_Real[ROBOT_PEEL]		= *((float *)&Buffer[28])  ; 
	Data_Real[ROBOT2_PEEL]		= *((float *)&Buffer[30]) ; 
	Data_Real[FORGING_TEMP]		= *((float *)&Buffer[32])  ; 
  
	Forging_Display_Pos			= *((float   *)&Buffer[34])  ; 
	Forging_Display_Speed		= *((float   *)&Buffer[36])  ; 
    Forging_Display_Freq		= *((float   *)&Buffer[38])  ; 
 
	CIn.In						= *((short   *)&Buffer[40])  ; 
	SOut.Out					= *((short   *)&Buffer[41])  ; 
 
	AOut.A_Ya2					= *((float   *)&Buffer[42]) ; 
	AOut.A_Ya3					= *((float   *)&Buffer[44]) ; 
	AOut.A_Ya6					= *((float   *)&Buffer[46]) ; 
    AOut.C_Ya9					= *((float   *)&Buffer[48])  ; 
    AOut.C_Ya10					= *((float   *)&Buffer[50])  ; 
	AOut.D_Ya9					= *((float   *)&Buffer[52])  ; 
    AOut.D_Ya10					= *((float   *)&Buffer[54])  ; 
 
 	InPlcStatus.In				= *((short   *)&Buffer[56])  ; 
 
	InPlc.In[0]					= *((short   *)&Buffer[57])  ; 
	InPlc.In[1]					= *((short   *)&Buffer[58])  ; 
	InPlc.In[2]					= *((short   *)&Buffer[59])  ; 
	InPlc.In[3]					= *((short   *)&Buffer[60])  ; 
	InPlc.In[4]					= *((short   *)&Buffer[61])  ; 
	InPlc.In[5]					= *((short   *)&Buffer[62])  ; 
	 
    OutPlc_Disp.Out_C_Ya9		= *((short  *)&Buffer[63])  ; 
	OutPlc_Disp.Out_C_Ya10		= *((short  *)&Buffer[64])  ; 
	OutPlc_Disp.Out_D_Ya9		= *((short  *)&Buffer[65])  ; 
	OutPlc_Disp.Out_D_Ya10		= *((short  *)&Buffer[66])  ; 
	 
	OutPlc.Out[0]				= *((short  *)&Buffer[67])  ; 
 
	Robot_Display_Speed			= *((float  *)&Buffer[68])  ; 
	Rotate_Display_Speed		= *((float  *)&Buffer[70])  ; 
 
	Robot2_Display_Speed		= *((float  *)&Buffer[72])  ; 
	Rotate2_Display_Speed		= *((float  *)&Buffer[74])  ; 
 
	Temp1			            = *((float  *)&Buffer[76])  ; 
	OutPlc.Out[1]    			= *((short  *)&Buffer[78])  ; 
/////////////////////////////////////////////////////////////////////		 
} 
 
void CMonitorDataReal::SetDataReal() 
{ 
	//TRACE("Entering SetDataReal\n"); 
	static int count=0; 
	count++; 
//	TRACE("SetDataReal() COUNT is%d\n",count); 
	//ÉèÖÃÄ£ÄâÖµ 
 
}