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

📄 test884dlg.cpp

📁 步进伺服电机运动控制KPCI-884步进伺服电机运动控制vc测试程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// TEST884Dlg.cpp : implementation file
//
#include "stdafx.h"
#include "TEST884.h"
#include "TEST884Dlg.h"
#include "KPCI884.h"
#include "speed.h"
#include "songyun.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
 extern UINT kh;
 extern long int jdz;
 extern UINT zh;
 extern UINT ms;
 extern UINT V;
extern UINT fx;
extern long int  m_v_sv;
extern long int m_v_a;
extern long int m_v_v;
extern long int m_v_p;
int m_timer;
int x4=0;
int x3=0;
int x2=0;
int x1=0;
int y4=0;
int y3=0;
int y2=0;
int y1=0;
int z4=0;
int z3=0;
int z2=0;
int z1=0;
int u4=0;
int u3=0;
int u2=0;
int u1=0;
extern outputx;
extern outputy;
extern outputz;
extern outputu;
int shuju[1000];
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTEST884Dlg dialog

CTEST884Dlg::CTEST884Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTEST884Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTEST884Dlg)
	m_mva = 0;
	m_mvsv = 0;
	m_mvv = 0;
	m_p = 0;
	m_rau = 0;
	m_rax = 0;
	m_ray = 0;
	m_raz = 0;
	m_rlu = 0;
	m_rlx = 0;
	m_rly = 0;
	m_rlz = 0;
	m_rvu = 0;
	m_rvx = 0;
	m_rvy = 0;
	m_rvz = 0;
	m_uxw = 0;
	m_dxw = 0;
	m_jdz = 768;
	m_m = 1;
	m_bits = 0;
	m_readbyte = 0;
	m_currentcv = 0;
	m_ep = 0;
	m_epset = 0;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CTEST884Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTEST884Dlg)
	DDX_Control(pDX, IDC_HLMT2, m_hlmt2);
	DDX_Control(pDX, IDC_HLMT1, m_hlmt1);
	DDX_Control(pDX, IDC_LMTMD1, m_lmtmd);
	DDX_Control(pDX, IDC_OUTZ4, m_outz4);
	DDX_Control(pDX, IDC_OUTZ3, m_outz3);
	DDX_Control(pDX, IDC_OUTY4, m_outy4);
	DDX_Control(pDX, IDC_OUTY3, m_outy3);
	DDX_Control(pDX, IDC_OUTX4, m_outx4);
	DDX_Control(pDX, IDC_OUTX3, m_outx3);
	DDX_Control(pDX, IDC_OUTU4, m_outu4);
	DDX_Control(pDX, IDC_OUTU3, m_outu3);
	DDX_Control(pDX, IDC_DZ9, m_z9);
	DDX_Control(pDX, IDC_DZ8, m_z8);
	DDX_Control(pDX, IDC_DZ7, m_z7);
	DDX_Control(pDX, IDC_DZ6, m_z6);
	DDX_Control(pDX, IDC_DZ5, m_z5);
	DDX_Control(pDX, IDC_DZ4, m_z4);
	DDX_Control(pDX, IDC_DZ3, m_z3);
	DDX_Control(pDX, IDC_DZ2, m_z2);
	DDX_Control(pDX, IDC_DZ12, m_z12);
	DDX_Control(pDX, IDC_DZ11, m_z11);
	DDX_Control(pDX, IDC_DZ10, m_z10);
	DDX_Control(pDX, IDC_DZ1, m_z1);
	DDX_Control(pDX, IDC_DY9, m_y9);
	DDX_Control(pDX, IDC_DY8, m_y8);
	DDX_Control(pDX, IDC_DY7, m_y7);
	DDX_Control(pDX, IDC_DY6, m_y6);
	DDX_Control(pDX, IDC_DY5, m_y5);
	DDX_Control(pDX, IDC_DY4, m_y4);
	DDX_Control(pDX, IDC_DY3, m_y3);
	DDX_Control(pDX, IDC_DY2, m_y2);
	DDX_Control(pDX, IDC_DY12, m_y12);
	DDX_Control(pDX, IDC_DY11, m_y11);
	DDX_Control(pDX, IDC_DY10, m_y10);
	DDX_Control(pDX, IDC_DY1, m_y1);
	DDX_Control(pDX, IDC_DX9, m_x9);
	DDX_Control(pDX, IDC_DX8, m_x8);
	DDX_Control(pDX, IDC_DX7, m_x7);
	DDX_Control(pDX, IDC_DX6, m_x6);
	DDX_Control(pDX, IDC_DX5, m_x5);
	DDX_Control(pDX, IDC_DX4, m_x4);
	DDX_Control(pDX, IDC_DX3, m_x3);
	DDX_Control(pDX, IDC_DX2, m_x2);
	DDX_Control(pDX, IDC_DX12, m_x12);
	DDX_Control(pDX, IDC_DX11, m_x11);
	DDX_Control(pDX, IDC_DX10, m_x10);
	DDX_Control(pDX, IDC_DU9, m_u9);
	DDX_Control(pDX, IDC_DU8, m_u8);
	DDX_Control(pDX, IDC_DU7, m_u7);
	DDX_Control(pDX, IDC_DU6, m_u6);
	DDX_Control(pDX, IDC_DU5, m_u5);
	DDX_Control(pDX, IDC_DU4, m_u4);
	DDX_Control(pDX, IDC_DU3, m_u3);
	DDX_Control(pDX, IDC_DU2, m_u2);
	DDX_Control(pDX, IDC_DU12, m_u12);
	DDX_Control(pDX, IDC_DU11, m_u11);
	DDX_Control(pDX, IDC_DU10, m_u10);
	DDX_Control(pDX, IDC_DU1, m_u1);
	DDX_Control(pDX, IDC_DSZ6, m_dsz6);
	DDX_Control(pDX, IDC_DSZ5, m_dsz5);
	DDX_Control(pDX, IDC_DSZ4, m_dsz4);
	DDX_Control(pDX, IDC_DSZ3, m_dsz3);
	DDX_Control(pDX, IDC_DSZ2, m_dsz2);
	DDX_Control(pDX, IDC_DSZ1, m_dsz1);
	DDX_Control(pDX, IDC_DSY6, m_dsy6);
	DDX_Control(pDX, IDC_DSY5, m_dsy5);
	DDX_Control(pDX, IDC_DSY4, m_dsy4);
	DDX_Control(pDX, IDC_DSY3, m_dsy3);
	DDX_Control(pDX, IDC_DSY2, m_dsy2);
	DDX_Control(pDX, IDC_DSY1, m_dsy1);
	DDX_Control(pDX, IDC_DSX6, m_dsx6);
	DDX_Control(pDX, IDC_DSX5, m_dsx5);
	DDX_Control(pDX, IDC_DSX4, m_dsx4);
	DDX_Control(pDX, IDC_DSX3, m_dsx3);
	DDX_Control(pDX, IDC_DSX2, m_dsx2);
	DDX_Control(pDX, IDC_DSX1, m_dsx1);
	DDX_Control(pDX, IDC_DSU6, m_dsu6);
	DDX_Control(pDX, IDC_DSU5, m_dsu5);
	DDX_Control(pDX, IDC_DSU4, m_dsu4);
	DDX_Control(pDX, IDC_DSU3, m_dsu3);
	DDX_Control(pDX, IDC_DSU2, m_dsu2);
	DDX_Control(pDX, IDC_DSU1, m_dsu1);
	DDX_Control(pDX, IDC_DX1, m_x1);
	DDX_Control(pDX, IDC_LD, m_ld);
	DDX_Control(pDX, IDC_MS, m_ms);
	DDX_Control(pDX, IDC_ZH, m_zh);
	DDX_Control(pDX, IDC_KH, m_kh);
	DDX_Text(pDX, IDC_MVA, m_mva);
	DDX_Text(pDX, IDC_MVSV, m_mvsv);
	DDV_MinMaxLong(pDX, m_mvsv, 1, 8000);
	DDX_Text(pDX, IDC_MVV, m_mvv);
	DDV_MinMaxLong(pDX, m_mvv, 1, 8000);
	DDX_Text(pDX, IDC_P, m_p);
	DDV_MinMaxLong(pDX, m_p, 0, 268435455);
	DDX_Text(pDX, IDC_RAU, m_rau);
	DDX_Text(pDX, IDC_RAX, m_rax);
	DDX_Text(pDX, IDC_RAY, m_ray);
	DDX_Text(pDX, IDC_RAZ, m_raz);
	DDX_Text(pDX, IDC_RLU, m_rlu);
	DDX_Text(pDX, IDC_RLX, m_rlx);
	DDX_Text(pDX, IDC_RLY, m_rly);
	DDX_Text(pDX, IDC_RLZ, m_rlz);
	DDX_Text(pDX, IDC_RVU, m_rvu);
	DDX_Text(pDX, IDC_RVX, m_rvx);
	DDX_Text(pDX, IDC_RVY, m_rvy);
	DDX_Text(pDX, IDC_RVZ, m_rvz);
	DDX_Text(pDX, IDC_UXW, m_uxw);
	DDX_Text(pDX, IDC_DXW, m_dxw);
	DDX_Text(pDX, IDC_JDZ, m_jdz);
	DDX_Text(pDX, IDC_M, m_m);
	DDV_MinMaxInt(pDX, m_m, 1, 500);
	DDX_Text(pDX, IDC_BITS, m_bits);
	DDX_Text(pDX, IDC_READBYTE1, m_readbyte);
	DDX_Text(pDX, IDC_CURRENTCV, m_currentcv);
	DDX_Text(pDX, IDC_EP, m_ep);
	DDX_Text(pDX, IDC_EPSET, m_epset);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CTEST884Dlg, CDialog)
	//{{AFX_MSG_MAP(CTEST884Dlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BINIT, OnBinit)
	ON_BN_CLICKED(IDC_SC, OnSc)
	ON_BN_CLICKED(IDC_QD, OnQd)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_STATE, OnState)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_TZH, OnTzh)
	ON_BN_CLICKED(IDC_QL, OnQl)
	ON_BN_CLICKED(IDC_DX1, OnDx1)
	ON_BN_CLICKED(IDC_DX2, OnDx2)
	ON_BN_CLICKED(IDC_OUTX3, OnOutx3)
	ON_BN_CLICKED(IDC_OUTX4, OnOutx4)
	ON_BN_CLICKED(IDC_DY1, OnDy1)
	ON_BN_CLICKED(IDC_DY2, OnDy2)
	ON_BN_CLICKED(IDC_OUTY3, OnOuty3)
	ON_BN_CLICKED(IDC_OUTY4, OnOuty4)
	ON_BN_CLICKED(IDC_DZ1, OnDz1)
	ON_BN_CLICKED(IDC_DZ2, OnDz2)
	ON_BN_CLICKED(IDC_OUTZ3, OnOutz3)
	ON_BN_CLICKED(IDC_OUTZ4, OnOutz4)
	ON_BN_CLICKED(IDC_DU1, OnDu1)
	ON_BN_CLICKED(IDC_DU2, OnDu2)
	ON_BN_CLICKED(IDC_OUTU3, OnOutu3)
	ON_BN_CLICKED(IDC_OUTU4, OnOutu4)
	ON_BN_CLICKED(IDC_XW, OnXw)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	ON_BN_CLICKED(IDC_JT, OnJt)
	ON_BN_CLICKED(IDC_QX, OnQx)
	ON_BN_CLICKED(IDC_HANDDEC, OnHanddec)
	ON_BN_CLICKED(IDC_SETM, OnSetm)
	ON_BN_CLICKED(IDC_AUTODEC, OnAutodec)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_BN_CLICKED(IDC_READBYTE, OnReadbyte)
	ON_BN_CLICKED(IDC_DVOUT, OnDvout)
	ON_BN_CLICKED(IDC_STOPOUT, OnStopout)
	ON_BN_CLICKED(IDC_LVOUT, OnLvout)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	ON_BN_CLICKED(IDC_LINED, OnLined)
	ON_BN_CLICKED(IDC_CIRCLED, OnCircled)
	ON_BN_CLICKED(IDC_READCURRENTCV, OnReadcurrentcv)
	ON_BN_CLICKED(IDC_WEICHABU, OnWeichabu)
	ON_BN_CLICKED(IDC_CLEARWEICHABU, OnClearweichabu)
	ON_BN_CLICKED(IDC_READEP, OnReadep)
	ON_BN_CLICKED(IDC_SETEP, OnSetep)
	ON_BN_CLICKED(IDC_XIANWEI, OnXianwei)
	ON_BN_CLICKED(IDC_INENABLE, OnInenable)
	ON_BN_CLICKED(IDC_SCLEAR, OnSclear)
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTEST884Dlg message handlers

BOOL CTEST884Dlg::OnInitDialog()
{
	m_mva=1000;
	m_mvsv=1000;
	m_mvv=1000;
	m_p=10000;
	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;
	UpdateData(FALSE);
	CDialog::OnInitDialog();
		m_x1.LoadBitmaps(IDB_LOW);
	m_x2.LoadBitmaps(IDB_LOW);
	m_outx3.LoadBitmaps(IDB_LOW);
	m_outx4.LoadBitmaps(IDB_LOW);
	m_y1.LoadBitmaps(IDB_LOW);
	m_y2.LoadBitmaps(IDB_LOW);
	m_outy3.LoadBitmaps(IDB_LOW);
	m_outy4.LoadBitmaps(IDB_LOW);
	m_z1.LoadBitmaps(IDB_LOW);
	m_z2.LoadBitmaps(IDB_LOW);
	m_outz3.LoadBitmaps(IDB_LOW);
	m_outz4.LoadBitmaps(IDB_LOW);
	m_u1.LoadBitmaps(IDB_LOW);
	m_u2.LoadBitmaps(IDB_LOW);
	m_outu3.LoadBitmaps(IDB_LOW);
	m_outu4.LoadBitmaps(IDB_LOW);
	m_x3.LoadBitmaps(IDB_RED);
	m_x4.LoadBitmaps(IDB_RED);
	m_x5.LoadBitmaps(IDB_RED);
	m_x6.LoadBitmaps(IDB_RED);
	m_x7.LoadBitmaps(IDB_RED);
	m_x8.LoadBitmaps(IDB_RED);
	m_x9.LoadBitmaps(IDB_RED);
	m_x10.LoadBitmaps(IDB_RED);
	m_x11.LoadBitmaps(IDB_RED);
	m_x12.LoadBitmaps(IDB_RED);
	m_y3.LoadBitmaps(IDB_RED);
	m_y4.LoadBitmaps(IDB_RED);
	m_y5.LoadBitmaps(IDB_RED);
	m_y6.LoadBitmaps(IDB_RED);
	m_y7.LoadBitmaps(IDB_RED);
	m_y8.LoadBitmaps(IDB_RED);
	m_y9.LoadBitmaps(IDB_RED);
	m_y10.LoadBitmaps(IDB_RED);
	m_y11.LoadBitmaps(IDB_RED);
	m_y12.LoadBitmaps(IDB_RED);
	m_z3.LoadBitmaps(IDB_RED);
	m_z4.LoadBitmaps(IDB_RED);
	m_z5.LoadBitmaps(IDB_RED);
	m_z6.LoadBitmaps(IDB_RED);
	m_z7.LoadBitmaps(IDB_RED);
	m_z8.LoadBitmaps(IDB_RED);
	m_z9.LoadBitmaps(IDB_RED);
	m_z10.LoadBitmaps(IDB_RED);
	m_z11.LoadBitmaps(IDB_RED);
	m_z12.LoadBitmaps(IDB_RED);
	m_u3.LoadBitmaps(IDB_RED);
	m_u4.LoadBitmaps(IDB_RED);
	m_u5.LoadBitmaps(IDB_RED);
	m_u6.LoadBitmaps(IDB_RED);
	m_u7.LoadBitmaps(IDB_RED);
	m_u8.LoadBitmaps(IDB_RED);
	m_u9.LoadBitmaps(IDB_RED);
	m_u10.LoadBitmaps(IDB_RED);
	m_u11.LoadBitmaps(IDB_RED);
	m_u12.LoadBitmaps(IDB_RED);

	m_dsx1.LoadBitmaps(IDB_RED);
	m_dsx2.LoadBitmaps(IDB_RED);
	m_dsx3.LoadBitmaps(IDB_RED);
	m_dsx4.LoadBitmaps(IDB_RED);
	m_dsx5.LoadBitmaps(IDB_RED);
	m_dsx6.LoadBitmaps(IDB_RED);
	m_dsy1.LoadBitmaps(IDB_RED);
	m_dsy2.LoadBitmaps(IDB_RED);
	m_dsy3.LoadBitmaps(IDB_RED);
	m_dsy4.LoadBitmaps(IDB_RED);
	m_dsy5.LoadBitmaps(IDB_RED);
	m_dsy6.LoadBitmaps(IDB_RED);
	m_dsz1.LoadBitmaps(IDB_RED);
	m_dsz2.LoadBitmaps(IDB_RED);
	m_dsz3.LoadBitmaps(IDB_RED);
	m_dsz4.LoadBitmaps(IDB_RED);
	m_dsz5.LoadBitmaps(IDB_RED);
	m_dsz6.LoadBitmaps(IDB_RED);
	m_dsu1.LoadBitmaps(IDB_RED);
	m_dsu2.LoadBitmaps(IDB_RED);
	m_dsu3.LoadBitmaps(IDB_RED);
	m_dsu4.LoadBitmaps(IDB_RED);
	m_dsu5.LoadBitmaps(IDB_RED);
	m_dsu6.LoadBitmaps(IDB_RED);

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CTEST884Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CTEST884Dlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CTEST884Dlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}
void move()
{
	Move_DV(kh,1,125,500,1000,0,10000);
}
void CTEST884Dlg::OnBinit() 
{
	void (*pf)();
	pf=move;
UINT kh=m_kh.GetCurSel();
::kh=kh;
UpdateData(true);
::jdz=m_jdz;

if (Init884(kh)==0)
{ AfxMessageBox("板卡初始化成功");}
		  else
		  {AfxMessageBox("板卡初始化错误,请检查板卡");}
//SetInterRupt(kh,1,8,pf);
}

void CTEST884Dlg::OnSc() 
{
UINT zh1=m_zh.GetCurSel();
::zh=zh1;
ms=m_ms.GetCurSel();
::ms=ms;   
switch(zh)
	{
		case 0:
			zh=4;
			PulseOutMode(kh,zh,ms);
        break;
		case 1:
			zh=1;
			PulseOutMode(kh,zh,ms);
		break;
		case 2:
			zh=2;
			PulseOutMode(kh,zh,ms);
		break;
		case 3:
			zh=3;
			PulseOutMode(kh,zh,ms);
		break;
		case 4:
			zh=5;
          PulseOutMode(kh,1,ms);
		  PulseOutMode(kh,2,ms);
		  PulseOutMode(kh,3,ms);
		  PulseOutMode(kh,4,ms);
		  break;
	}


}

void CTEST884Dlg::OnQd() 
{
	//使用批处理方式示例
/*	SetFlag();
	Move_DV(0,1,125,500,1000,1,1500);
	Move_DV(0,2,125,500,1000,1,1500);
	Move_DV(0,3,125,500,1000,1,1500);
	DisableFlag();
*/
/*	SetFlag();
	
	Line2D(kh,1,4,250,500,2000,3000,-3000);
	Line2D(kh,1,4,250,500,2000,4000,-3000);
	Line2D(kh,1,4,250,500,2000,50000,-3000);
	Circle_ConstSpeed(kh,1,2,1,500,0,500,-500,100,100);	
	DisableFlag();
*/
UINT fx1 = GetCheckedRadioButton(IDC_FXZ,IDC_FXF);
UINT ld=m_ld.GetCurSel();
switch(fx1)
{	
 case IDC_FXZ:
 ::fx=1;
 break;
 case IDC_FXF:
 ::fx=0;
 break;
}
UpdateData(true);
::m_v_sv=m_mvsv;
::m_v_a=m_mva;
::m_v_v=m_mvv;
::m_v_p=m_p;
 switch(ld)
{
case 0:
Move_DV(kh,zh,m_v_a,m_v_sv,m_v_v,fx,m_v_p);
break;
case 1:
Move_LV(kh,zh,m_v_a,m_v_sv,m_v_v,fx);
break;
}

}

void CTEST884Dlg::OnButton1() 
{
	DecStop(kh,zh);
}

void CTEST884Dlg::OnButton2() 
{
	RePosition(kh);
}

void CTEST884Dlg::OnState() 
{
m_timer=SetTimer(1,1,0);
//int i;
//i=GetRR2(0,1);
}

void CTEST884Dlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	//m_ep=ReadEP(kh,zh);
    //UpdateData(false);	
	
	UpdateData(false);

m_rvx=ReadCV(kh,1);
m_rax=ReadCA(kh,1);
m_rlx=ReadLP(kh,1);
m_rvy=ReadCV(kh,2);
m_ray=ReadCA(kh,2);
m_rly=ReadLP(kh,2);
m_rvz=ReadCV(kh,3);
m_raz=ReadCA(kh,3);
m_rlz=ReadLP(kh,3);
m_rvu=ReadCV(kh,4);
m_rau=ReadCA(kh,4);
m_rlu=ReadLP(kh,4);

if(zh==1)
	{
		RendengX();
	}
	if(zh==2)
	{
		Rendengy();
	}
	if(zh==3)
	{
		Rendengz();
	}
	if(zh==4)
	{
		Rendengu();
	}
	if(zh==5)
	{
		RendengX();
		Rendengy();
		Rendengz();
		Rendengu();
	}
	CDialog::OnTimer(nIDEvent);
}
void CTEST884Dlg::Rendengz()
{
	int GetRR11[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	int GetRR21[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	int GetRR41[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	int rr1,i,rr2,rr4;
	int d15,flag;
	
	//通用输入状态
    //int rbt=ReadBIT(kh,3);
	
	int getbit[4]={0};
	for(i=1;i<4;i++)
	{
		getbit[i]=ReadBIT(kh,3,i);
		
	}
	if(getbit[1]==0)
	{
		m_z3.LoadBitmaps(IDB_GREEEN);
		m_z3.RedrawWindow();
	}
	else
	{
		m_z3.LoadBitmaps(IDB_RED);
		m_z3.RedrawWindow();
	}
	if(getbit[2]==0)
	{
		m_z4.LoadBitmaps(IDB_GREEEN);
		m_z4.RedrawWindow();
	}
	else
	{
		m_z4.LoadBitmaps(IDB_RED);
		m_z4.RedrawWindow();
	}
	if(getbit[3]==0)
	{
		m_z5.LoadBitmaps(IDB_GREEEN);
		m_z5.RedrawWindow();
	}
	else
	{
		m_z5.LoadBitmaps(IDB_RED);
		m_z5.RedrawWindow();
	}
	//通用点动状态
	rr4=GetRR5(kh);
	for(i=0;i<16; i++)
	{
		flag=(rr4>>i)&1;
		if(flag==1)
			GetRR41[i]=1;
		else
			GetRR41[i]=0;
	}
	if(GetRR41[4]==0)
	{
		m_z6.LoadBitmaps(IDB_GREEEN);
		m_z6.RedrawWindow();

⌨️ 快捷键说明

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