#include "GCMotion.h"

using namespace System;
using namespace System::Windows::Forms;

/*****************************************************************
* Function Name : 指令返回值
* Description   : 返回错误值 rtn
* Date			: 2022年8月3日
* Auther		: LWH
******************************************************************/
short gc_rtn_error(short rtn)
{
	if (rtn != RTN_CMD_SUCCESS) {
		return rtn;				// 指令执行错误
	}
}

/*****************************************************************
* Function Name : 控制器初始化例程
* Description   : 略
* Date			: 2022年8月3日
* Auther		: LWH
******************************************************************/
short gc_example(void)
{
	short rtn;					// 指令返回值
	short devNum;				// 设备序号，从0开始
	short axisNum;				// 轴号，从0开始
	HAND devHandle;				// 设备句柄
	HAND axisHandle;			// 轴句柄
	rtn = NMC_DevOpen(devNum, &devHandle);	// 打开控制器
	gc_rtn_error(rtn);
	rtn = NMC_MtOpen(devHandle, axisNum, &axisHandle);	// 打开轴,获得轴句柄
	gc_rtn_error(rtn);
	rtn = NMC_MtSetSvOn(axisHandle);	// 打开轴使能(根据实际情况使用)
	gc_rtn_error(rtn);
	rtn = NMC_DevReset(devHandle);	// 复位控制器：控制器复位到初始状态
	gc_rtn_error(rtn);
	rtn = NMC_DevClose(&devHandle);	// 关闭控制器
	gc_rtn_error(rtn);
	return rtn;
}

