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

📄 teach.cpp

📁 机械手IPC控制器伺服运动程序
💻 CPP
字号:
// teach.cpp: implementation of the Cteach class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "alfa.h"
#include "teach.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(Cteach,CObject,1)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Cteach::Cteach()
{

}

Cteach::~Cteach()
{

}

void Cteach::Serialize(CArchive & ar)
{
  if(ar.IsLoading())
  {
	  ar >> m_num;
	  ar >> length;
	  ar >> wait_mx;
	  ar >> wait_mz;
	  ar >> wait_sx;
	  ar >> wait_sz;
	  ar >> wait_y;
      for(int i=0;i<GetQueueLength();i++)
	  {
		  ar>>queuecommand[i].fpublic;
		  ar>>queuecommand[i].fspec;
		  ar>>queuecommand[i].pubpara.funid;
		  ar>>queuecommand[i].pubpara.y;
		  ar>>queuecommand[i].pubpara.speed_across ;
		  ar>>queuecommand[i].pubpara.pinput;
		  ar>>queuecommand[i].pubpara.poutput;
		  ar>>queuecommand[i].mcommand.funid;
		  switch(queuecommand[i].mcommand.funid)
		  {
		  case 0:
			  ar>>queuecommand[i].mcommand.para.mline.x;
			  ar>>queuecommand[i].mcommand.para.mline.z;
			  break;
		  case 1:
			  ar>>queuecommand[i].mcommand.para.spdm ;
			  break;
		  case 2:
		  case 3:
			  ar>>queuecommand[i].mcommand.para.mout;
			  break;
		  case 4:
			  ar>>queuecommand[i].mcommand.para.min;
			  break;
		  case 5:
		  case 7:
		  case 9:
		  case 11:
		  case 13:
		  case 15:
			  ar>>queuecommand[i].mcommand.para.dinon;
			  break;
		  case 6:
		  case 8:
		  case 10:
		  case 12:
		  case 14:
		  case 16:
			  ar>>queuecommand[i].mcommand.para.dinoff;
			  break;
		  case 17:
			  ar>>queuecommand[i].mcommand.para.mdelay;
			  break;
		  case 26:
			  ar>>queuecommand[i].mcommand.para.stack1.nx;
			  ar>>queuecommand[i].mcommand.para.stack1.ny;
			  ar>>queuecommand[i].mcommand.para.stack1.nz;
			  ar>>queuecommand[i].mcommand.para.stack1.dx;
			  ar>>queuecommand[i].mcommand.para.stack1.dy;
			  ar>>queuecommand[i].mcommand.para.stack1.dz;
			  break;
		  case 27:
			  ar >> queuecommand[i].mcommand.para.stack2.nx;
			  ar >> queuecommand[i].mcommand.para.stack2.ny;
			  ar >> queuecommand[i].mcommand.para.stack2.nz;
			  ar >> queuecommand[i].mcommand.para.stack2.dx;
			  ar >> queuecommand[i].mcommand.para.stack2.dy;
			  ar >> queuecommand[i].mcommand.para.stack2.dz;
			  break;
		  }
		  ar>>queuecommand[i].acommand.funid;
		  switch(queuecommand[i].acommand.funid)
		  {
		  case 0:
			  ar>>queuecommand[i].acommand.para.aline.x;
			  ar>>queuecommand[i].acommand.para.aline.z;
			  break;
		  case 1:
			  ar>>queuecommand[i].acommand.para.spds;
			  break;
		  case 2:
		  case 3:
			  ar>>queuecommand[i].acommand.para.aout;
			  break;
		  case 4:
			  ar>>queuecommand[i].acommand.para.ain;
			  break;
		  case 5:
		  case 6:
			  ar>>queuecommand[i].acommand.para.dnip;
			  break;
		  case 7:
			  ar>>queuecommand[i].acommand.para.sdelay;
          }
	  }
  }
  else
  {
	  ar << m_num;
	  ar << length;
	  ar << wait_mx;
	  ar << wait_mz;
	  ar << wait_sx;
	  ar << wait_sz;
	  ar << wait_y;
	  for(int i=0;i<GetQueueLength();i++)
	  {
		  ar<<queuecommand[i].fpublic;
		  ar<<queuecommand[i].fspec;
		  ar<<queuecommand[i].pubpara.funid;
		  ar<<queuecommand[i].pubpara.y;
		  ar<<queuecommand[i].pubpara.speed_across;
		  ar<<queuecommand[i].pubpara.pinput;
		  ar<<queuecommand[i].pubpara.poutput;
		  ar<<queuecommand[i].mcommand.funid;
		  switch(queuecommand[i].mcommand.funid)
		  {
		  case 0:
			  ar<<queuecommand[i].mcommand.para.mline.x;
			  ar<<queuecommand[i].mcommand.para.mline.z;
			  break;
		  case 1:
			  ar<<queuecommand[i].mcommand.para.spdm;
			  break;
		  case 2:
		  case 3:
			  ar<<queuecommand[i].mcommand.para.mout;
			  break;
		  case 4:
			  ar<<queuecommand[i].mcommand.para.min;
			  break;
		  case 5:
		  case 7:
		  case 9:
		  case 11:
		  case 13:
		  case 15:
			  ar<<queuecommand[i].mcommand.para.dinon;
			  break;
		  case 6:
		  case 8:
		  case 10:
		  case 12:
		  case 14:
		  case 16:
			  ar<<queuecommand[i].mcommand.para.dinoff;
			  break;
		  case 17:
			  ar<<queuecommand[i].mcommand.para.mdelay ;
			  break;
		  case 26:
			  ar<<queuecommand[i].mcommand.para.stack1.nx;
			  ar<<queuecommand[i].mcommand.para.stack1.ny;
			  ar<<queuecommand[i].mcommand.para.stack1.nz;
			  ar<<queuecommand[i].mcommand.para.stack1.dx;
			  ar<<queuecommand[i].mcommand.para.stack1.dy;
			  ar<<queuecommand[i].mcommand.para.stack1.dz;
			  break;
		  case 27:
			  ar<<queuecommand[i].mcommand.para.stack2.nx;
			  ar<<queuecommand[i].mcommand.para.stack2.ny;
			  ar<<queuecommand[i].mcommand.para.stack2.nz;
			  ar<<queuecommand[i].mcommand.para.stack2.dx;
			  ar<<queuecommand[i].mcommand.para.stack2.dy;
			  ar<<queuecommand[i].mcommand.para.stack2.dz;
			  break;
		  }
		  ar<<queuecommand[i].acommand.funid;
		  switch(queuecommand[i].acommand.funid)
		  {
		  case 0:
			  ar<<queuecommand[i].acommand.para.aline.x;
			  ar<<queuecommand[i].acommand.para.aline.z;
			  break;
		  case 1:
			  ar<<queuecommand[i].acommand.para.spds;
			  break;
		  case 3:
		  case 2:
			  ar<<queuecommand[i].acommand.para.aout;
			  break;
		  case 4:
			  ar<<queuecommand[i].acommand.para.ain;
			  break;
		  case 5:
		  case 6:
			  ar<<queuecommand[i].acommand.para.dnip;
			  break;
		  case 7:
			  ar<<queuecommand[i].acommand.para.sdelay ;
          }
	  }
  }
}

int Cteach::GetQueueLength()
{
   return length;
}

void Cteach::SetQueueLength(int nlength)
{
  length=nlength;
}

⌨️ 快捷键说明

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