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

📄 test884dlg.cpp

📁 步进伺服电机运动控制KPCI-884步进伺服电机运动控制vc测试程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		m_dsu2.LoadBitmaps(IDB_GREEEN);
		m_dsu2.RedrawWindow();
	m_dsu1.LoadBitmaps(IDB_RED);
		m_dsu1.RedrawWindow();
	}
	 if(getLMT==0)
	{
		m_dsu1.LoadBitmaps(IDB_RED);
		m_dsu2.LoadBitmaps(IDB_RED);
		m_dsu1.RedrawWindow();
		m_dsu2.RedrawWindow();
	}
	 
	 //读紧急制动信号
	 rr2=GetRR2(kh,4);
	for(i=0;i<16;i++)
	{
		flag=(rr2>>i)&1;
		if(flag==1)
			GetRR21[i]=1;
		else
			GetRR21[i]=0;
	}
	if(GetRR21[5]==1)
	{
		m_dsu5.LoadBitmaps(IDB_GREEEN);
		m_dsu5.RedrawWindow();
	}
	else
	{
		m_dsu5.LoadBitmaps(IDB_RED);
		m_dsu5.RedrawWindow();
	}
	//读报警信号
	if(GetRR21[4]==1)
	{
		m_dsu6.LoadBitmaps(IDB_GREEEN);
		m_dsu6.RedrawWindow();
	}
	else
	{
		m_dsu6.LoadBitmaps(IDB_RED);
		m_dsu6.RedrawWindow();
	}
	//读软限位
	if(GetRR21[0]==1)
	{
		m_dsu3.LoadBitmaps(IDB_GREEEN);
		m_dsu3.RedrawWindow();
	}
	else
	{
		m_dsu3.LoadBitmaps(IDB_RED);
		m_dsu3.RedrawWindow();
	}
	if(GetRR21[1]==1)
	{
		m_dsu4.LoadBitmaps(IDB_GREEEN);
		m_dsu4.RedrawWindow();
	}
	else
	{
		m_dsu4.LoadBitmaps(IDB_RED);
		m_dsu4.RedrawWindow();
	}

	rr1=GetRR1(kh,4);
	for(i=0;i<16;i++)
	{
		flag=(rr1>>i)&1;
		if(flag==1)
		 GetRR11[i]=1;
		else
		 GetRR11[i]=0;
	}
	//读电机报警状态
    if(GetRR11[14]==1)
	{
		m_u11.LoadBitmaps(IDB_GREEEN);
		m_u11.RedrawWindow();
	}
	else
	{
		m_u11.LoadBitmaps(IDB_RED);
		m_u11.RedrawWindow();
	}
	//停止状态
	d=ReadEMG(kh,4);
	if(d==1)
	{
		m_u12.LoadBitmaps(IDB_GREEEN);
		m_u12.RedrawWindow();
	}
	else
	{
		m_u12.LoadBitmaps(IDB_RED);
		m_u12.RedrawWindow();
	}
    //读电机速度状态
	if(GetRR11[2]==1)
	{
		m_u8.LoadBitmaps(IDB_GREEEN);
		m_u8.RedrawWindow();
	}
	else
	{
		m_u8.LoadBitmaps(IDB_RED);
		m_u8.RedrawWindow();
	}
		if(GetRR11[3]==1)
	{
		m_u9.LoadBitmaps(IDB_GREEEN);
		m_u9.RedrawWindow();
	}
	else
	{
		m_u9.LoadBitmaps(IDB_RED);
		m_u9.RedrawWindow();
	}
	if(GetRR11[4]==1)
	{
		m_u10.LoadBitmaps(IDB_GREEEN);
		m_u10.RedrawWindow();
	}
	else
	{
		m_u10.LoadBitmaps(IDB_RED);
		m_u10.RedrawWindow();
	}
		
}
void CTEST884Dlg::OnTzh() 
{
KillTimer(m_timer);	
}

void CTEST884Dlg::OnQl() 
{
	m_rax=0;
	m_rvx=0;
	m_rlx=0;
	m_ray=0;
	m_rvy=0;
	m_rly=0;
	m_raz=0;
	m_rvz=0;
	m_rlz=0;
	m_rau=0;
	m_rvu=0;
	m_rlu=0;
	SetLP(kh,1,0);
	SetLP(kh,2,0);
	SetLP(kh,3,0);
	SetLP(kh,4,0);
    UpdateData(FALSE);
	
}

/*void CTEST884Dlg::OnTs() 
{
	switch(zh)
	{
	case 1:
		OutBIT(kh,1,outputx);
		break;
	case 2:
		OutBIT(kh,2,outputy);
		break;
	case 3:
		OutBIT(kh,3,outputz);
		break;
	case 4:
		OutBIT(kh,4,outputu);
	break;
	
	}
}
*/                 
void CTEST884Dlg::OnDx1() 
{
	x4++;
	if (x4%2==0)//低,亮
	{
	m_x1.LoadBitmaps(IDB_LOW);
	m_x1.RedrawWindow();
    //outputx=(outputx&0xE);
	if(zh==1)
	SetOUTBIT(kh,zh,1,0); 
	}
	else//高
	{
		m_x1.LoadBitmaps(IDB_HIGH);
		m_x1.RedrawWindow();
		//outputx=(outputx|0x1);
		if(zh==1)
		SetOUTBIT(kh,zh,1,1); 
	}
}

void CTEST884Dlg::OnDx2() 
{
		x3++;
	if (x3%2==0)//低
	{
	m_x2.LoadBitmaps(IDB_LOW);
	m_x2.RedrawWindow();
    //outputx=(outputx&0xD);
	if(zh==1)SetOUTBIT(kh,zh,2,0); 
	 }
	else//高
	{
		m_x2.LoadBitmaps(IDB_HIGH);
		m_x2.RedrawWindow();
		//outputx=(outputx|0x2);
		if(zh==1)SetOUTBIT(kh,zh,2,1); 
	}
}

void CTEST884Dlg::OnOutx3() 
{
	x2++;
	if (x2%2==0)//低
	{
	m_outx3.LoadBitmaps(IDB_LOW);
	m_outx3.RedrawWindow();
    //outputx=(outputx&0xB);
	if(zh==1)SetOUTBIT(kh,zh,3,0); 
	 }
	else//高
	{
		m_outx3.LoadBitmaps(IDB_HIGH);
		m_outx3.RedrawWindow();
		//outputx=(outputx|0x4);
		if(zh==1)SetOUTBIT(kh,zh,3,1); 
	}	
}

void CTEST884Dlg::OnOutx4() 
{
	x1++;
	if (x1%2==0)//低
	{
	m_outx4.LoadBitmaps(IDB_LOW);
	m_outx4.RedrawWindow();
    //outputx=(outputx&0x7);
	if(zh==1)SetOUTBIT(kh,zh,4,0); 
	 }
	else//高
	{
		m_outx4.LoadBitmaps(IDB_HIGH);
		m_outx4.RedrawWindow();
		//outputx=(outputx|0x8);
		if(zh==1)SetOUTBIT(kh,zh,4,1); 
	}	
}

void CTEST884Dlg::OnDy1() 
{
	y4++;
	if (y4%2==0)//低
	{
	m_y1.LoadBitmaps(IDB_LOW);
	m_y1.RedrawWindow();
    //outputy=(outputy&0xE);
	if(zh==2)SetOUTBIT(kh,zh,1,0);
	 }
	else//高
	{
		m_y1.LoadBitmaps(IDB_HIGH);
		m_y1.RedrawWindow();
		//outputy=(outputy|0x1);
		if(zh==2)SetOUTBIT(kh,zh,1,1);
	}	
}

void CTEST884Dlg::OnDy2() 
{
	y3++;
	if (y3%2==0)//低
	{
	m_y2.LoadBitmaps(IDB_LOW);
	m_y2.RedrawWindow();
    //outputy=(outputy&0xD);
	if(zh==2)SetOUTBIT(kh,zh,2,0);
	 }
	else//高
	{
		m_y2.LoadBitmaps(IDB_HIGH);
		m_y2.RedrawWindow();
		//outputy=(outputy|0x2);
		if(zh==2)SetOUTBIT(kh,zh,2,1);
	}
}
void CTEST884Dlg::OnOuty3() 
{
		y2++;
	if (y2%2==0)//低
	{
	m_outy3.LoadBitmaps(IDB_LOW);
	m_outy3.RedrawWindow();
    //outputy=(outputy&0xB);
	if(zh==2)SetOUTBIT(kh,zh,3,0);
	 }
	else//高
	{
		m_outy3.LoadBitmaps(IDB_HIGH);
		m_outy3.RedrawWindow();
		//outputy=(outputy|0x4);
		if(zh==2)SetOUTBIT(kh,zh,3,1);
	}	
}

void CTEST884Dlg::OnOuty4() 
{
	y1++;
	if (y1%2==0)//低
	{
	m_outy4.LoadBitmaps(IDB_LOW);
	m_outy4.RedrawWindow();
    //outputy=(outputy&0x7);
	if(zh==2)SetOUTBIT(kh,zh,4,0);
	 }
	else//高
	{
		m_outy4.LoadBitmaps(IDB_HIGH);
		m_outy4.RedrawWindow();
		//outputy=(outputy|0x8);
		if(zh==2)SetOUTBIT(kh,zh,4,1);
	}	
}

void CTEST884Dlg::OnDz1() 
{
		z4++;
	if (z4%2==0)//低
	{
	m_z1.LoadBitmaps(IDB_LOW);
	m_z1.RedrawWindow();
    //outputz=(outputz&0xE);
	if(zh==3)SetOUTBIT(kh,zh,1,0);
	 }
	else//高
	{
		m_z1.LoadBitmaps(IDB_HIGH);
		m_z1.RedrawWindow();
		//outputz=(outputz|0x1);
		if(zh==3)SetOUTBIT(kh,zh,1,1);
	}	
}

void CTEST884Dlg::OnDz2() 
{
	z3++;
	if (z3%2==0)//低
	{
	m_z2.LoadBitmaps(IDB_LOW);
	m_z2.RedrawWindow();
    //outputz=(outputz&0xD);
	if(zh==3)SetOUTBIT(kh,zh,2,0);
	 }
	else//高
	{
		m_z2.LoadBitmaps(IDB_HIGH);
		m_z2.RedrawWindow();
		//outputz=(outputz|0x2);
		if(zh==3)SetOUTBIT(kh,zh,2,1);
	}
}

void CTEST884Dlg::OnOutz3() 
{
		z2++;
	if (z2%2==0)//低
	{
	m_outz3.LoadBitmaps(IDB_LOW);
	m_outz3.RedrawWindow();
    //outputz=(outputz&0xB);
	if(zh==3)SetOUTBIT(kh,zh,3,0);
	 }
	else//高
	{
		m_outz3.LoadBitmaps(IDB_HIGH);
		m_outz3.RedrawWindow();
		//outputz=(outputz|0x4);
		if(zh==3)SetOUTBIT(kh,zh,3,1);
	}	
}

void CTEST884Dlg::OnOutz4() 
{
	z1++;
	if (z1%2==0)//低
	{
	m_outz4.LoadBitmaps(IDB_LOW);
	m_outz4.RedrawWindow();
    //outputz=(outputz&0x7);
	if(zh==3)SetOUTBIT(kh,zh,4,0);
	 }
	else//高
	{
		m_outz4.LoadBitmaps(IDB_HIGH);
		m_outz4.RedrawWindow();
		//outputz=(outputz|0x8);
		if(zh==3)SetOUTBIT(kh,zh,4,1);
	}	
}

void CTEST884Dlg::OnDu1() 
{
	u4++;
	if (u4%2==0)//低
	{
	m_u1.LoadBitmaps(IDB_LOW);
	m_u1.RedrawWindow();
    //outputu=(outputu&0xE);
	if(zh==4)SetOUTBIT(kh,zh,1,0);
	 }
	else//高
	{
		m_u1.LoadBitmaps(IDB_HIGH);
		m_u1.RedrawWindow();
		//outputu=(outputu|0x1);
		if(zh==4)SetOUTBIT(kh,zh,1,1);
	}	
}

void CTEST884Dlg::OnDu2() 
{
	u3++;
	if (u3%2==0)//低
	{
	m_u2.LoadBitmaps(IDB_LOW);
	m_u2.RedrawWindow();
    //outputu=(outputu&0xD);
	if(zh==4)SetOUTBIT(kh,zh,2,0);
	 }
	else//高
	{
		m_u2.LoadBitmaps(IDB_HIGH);
		m_u2.RedrawWindow();
		//outputu=(outputu|0x2);
		if(zh==4)SetOUTBIT(kh,zh,2,1);
	}
}

void CTEST884Dlg::OnOutu3() 
{
	u2++;
	if (u2%2==0)//低
	{
	m_outu3.LoadBitmaps(IDB_LOW);
	m_outu3.RedrawWindow();
    //outputu=(outputu&0xB);
	if(zh==4)SetOUTBIT(kh,zh,3,0);
	 }
	else//高
	{
		m_outu3.LoadBitmaps(IDB_HIGH);
		m_outu3.RedrawWindow();
		//outputu=(outputu|0x4);
		if(zh==4)SetOUTBIT(kh,zh,3,1);
	}	
}

void CTEST884Dlg::OnOutu4() 
{
	u1++;
	if (u1%2==0)//低
	{
	m_outu4.LoadBitmaps(IDB_LOW);
	m_outu4.RedrawWindow();
    //outputu=(outputu&0x7);
	if(zh==4)SetOUTBIT(kh,zh,4,0);
	 }
	else//高
	{
		m_outu4.LoadBitmaps(IDB_HIGH);
		m_outu4.RedrawWindow();
		//outputu=(outputu|0x8);
		if(zh==4)SetOUTBIT(kh,zh,4,1);
	}	
}

void CTEST884Dlg::OnXw() 
{
UINT fs;
	fs=GetCheckedRadioButton(IDC_LUOJI,IDC_SHIJI);
	switch(fs)
	{
	case IDC_LUOJI:
		fs=0;
		break;
	case IDC_SHIJI:
		fs=1;
		break;
	}
	UpdateData (true);
int m_uxw1;
int m_dxw1;
m_uxw1=m_uxw;
m_dxw1=m_dxw+1;
SetCP(kh,zh,m_uxw1,fs);
SetCM(kh,zh,m_dxw1,fs);
}

void CTEST884Dlg::OnExit() 
{
OnOK();
}

void CTEST884Dlg::OnJt() 
{
InstStop(kh,zh);	
}

void CTEST884Dlg::OnQx() 
{
	SetA(kh,zh,3000);
	SetSV(kh,zh,500);
	SetV(kh,zh,7000);
	SetK(kh,zh,954);
	SSet(kh,zh);
	SetP(kh,zh,100000);
	Start_DV(kh,zh,1);
//Cspeed s;
//s.DoModal();

}




void CTEST884Dlg::OnHanddec() 
{
SetDec(kh,zh,800);
	HandDec(kh,zh,5000);
	
} 

void CTEST884Dlg::OnSetm() 
{
int m;
UpdateData(true);
m=m_m;
	int n;
n=SetM(kh,zh,m);

	
}

void CTEST884Dlg::OnAutodec() 
{
AutoDec(kh,zh);	
}

void CTEST884Dlg::OnButton5() 
{
UpdateData(true);
int m;
m=m_bits;	
SetOUTBYTE(kh,zh,m);	
}

void CTEST884Dlg::OnReadbyte() 
{
m_readbyte=ReadBYTE(kh,zh);
UpdateData(false);
}

void CTEST884Dlg::OnDvout() 
{
//DV_OutEnable(kh,zh);
	Set_DV(kh,zh,400,400,400,2000);

}

void CTEST884Dlg::OnStopout() 
{
StopOutEnable(kh,zh);	
}

void CTEST884Dlg::OnLvout() 
{
LV_OutEnable(kh,zh);
	Set_LV(kh,zh,125,3000,3000);
	
}

void CTEST884Dlg::OnButton4() 
{
ClearCP(kh,zh);
ClearCM(kh,zh);	
}

void CTEST884Dlg::OnLined() 
{
	SetMCB(kh,1);
Line2D(kh,1,4,250,500,2000,80000,-30000);	
}

void CTEST884Dlg::OnCircled() 
{
	SetMCB(kh,4);
Circle_HandDec(kh,1,2,1,500,0,500,-500,125,0,500,2021);
//Circle_ConstSpeed(kh,1,2,1,5000,0,5000,-5000,500,500);	
}

void CTEST884Dlg::OnReadcurrentcv() 
{
	UpdateData(false);
	m_currentcv=GetCurrentV(kh);
}
double zhixian(double x)
{
	double y=0;
	y=5*x+5;
	return y;
}
void CTEST884Dlg::OnWeichabu() 
{
long px0=0,py0=0;
BPInter2D(kh,zhixian,&px0,&py0,1000,3,125,100,200);
}

void CTEST884Dlg::OnClearweichabu() 
{
BPClear(kh);	
}

void CTEST884Dlg::OnReadep() 
{

m_ep=ReadEP(kh,zh);
UpdateData(false);	
}

void CTEST884Dlg::OnSetep() 
{
UpdateData(true);
SetEP(kh,zh,m_epset);	
}



void CTEST884Dlg::OnHlmt() 
{
HLMT(kh,zh,1,1);	
}

void CTEST884Dlg::OnXianwei() 
{
	int value1,value2,value3;
	value1=m_lmtmd.GetCurSel();
	value2=m_hlmt1.GetCurSel();
	value3=m_hlmt2.GetCurSel();
	switch(value1)
	{
	case 0:
		LMTMD(kh,zh,1);
		break;
	case 1:
		LMTMD(kh,zh,0);
		break;
	}
	switch(value2)
	{
		
	case 0:
		HLMT(kh,zh,1,0);
		break;
	case 1:
		HLMT(kh,zh,1,1);
		break;
	}
	switch(value3)
	{
	case 0:
		HLMT(kh,zh,2,0);
		break;
	case 1:
		HLMT(kh,zh,2,1);
		break;
	}
}

//DEL void CTEST884Dlg::OnPulseinmode() 
//DEL {
//DEL PulseInMode(kh,zh,1,2);	
//DEL }

//DEL void CTEST884Dlg::OnPulseinmodezhfan() 
//DEL {
//DEL PulseInMode(kh,zh,0,2);		
//DEL }

void CTEST884Dlg::OnInenable() 
{
IN_Enable(kh,zh,1,0);	
}

void CTEST884Dlg::OnSclear() 
{
SClear(kh,zh);	
}
 

void CTEST884Dlg::OnButton6() 
{
Close884();	
}

⌨️ 快捷键说明

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