You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

718 lines
38 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Runtime.InteropServices;
namespace GXN
{
public class mc_la
{
public const short LA_AXIS_NUM = 8;
public const short LA_WORK_AXIS_NUM = 6;
//轴的参数信息(各轴最大速度,各轴最大加速度,各轴最大速度变化量)是否限制速度模式
public const short AXIS_LIMIT_NONE = 0; //轴无限制
public const short AXIS_LIMIT_MAX_VEL = 1; //轴最大速度限制
public const short AXIS_LIMIT_MAX_ACC = 2; //轴最大加速度限制
public const short AXIS_LIMIT_MAX_DV = 4; //轴最大速度跳变量限制
public const short KIN_MSG_BUFFER_SIZE = 32;
//速度规划模式
public enum EVelMode
{
T_CURVE = 0,
S_CURVE,
S_CURVE_NEW, //根据加加速度、最大加速度进行S曲线速度前瞻2015.11.16
S_CURVE_SMOOTH,
VEL_MODE_MAX = 0x10000, //确保长度为4Byte
};
//工件坐标系下轨迹是否限制速度模式
public enum EWorkLimitMode
{
WORK_LIMIT_INVALID=0, //不限制
WORK_LIMIT_VALID=1, //限制生效
};
//设置的速度定义规则
public enum EVelSettingDef
{
NORMAL_DEF_VEL=0, //输入为轴坐标系所有轴的合成速度
NUM_DEF_VEL=1, //以NUM系统的规则定义
CUT_DEF_VEL=2, //速度为切削速度
};
//设置的加速度定义规则
public enum EAccSettingDef
{
NORMAL_DEF_ACC=0, //输入即输出
LONG_AXIS_ACC=1, //长轴最大速度
};
//机床类型
public enum EMachineMode
{
NORMAL_THREE_AXIS=0, //标准三轴机床模式
MULTI_AXES=1, //多轴联动模式
FIVE_AXIS=2, //五轴机床模式,轴坐标系为主,工件坐标系为辅
FIVE_AXIS_WORK=3, //五轴机床模式,工件坐标系为主,轴坐标系为辅
ROBOT=4,
};
//前瞻参数结构体
public struct TLookAheadParameter
{
public int lookAheadNum; //前瞻段数
public double time; //时间常数
public double radiusRatio; //曲率限制调节参数
public double vMax1; //各轴的最大速度
public double vMax2;
public double vMax3;
public double vMax4;
public double vMax5;
public double vMax6;
public double vMax7;
public double vMax8;
public double aMax1; //各轴的最大加速度
public double aMax2;
public double aMax3;
public double aMax4;
public double aMax5;
public double aMax6;
public double aMax7;
public double aMax8;
public double DVMax1; //各轴的最大速度变化量(在时间常数内)
public double DVMax2;
public double DVMax3;
public double DVMax4;
public double DVMax5;
public double DVMax6;
public double DVMax7;
public double DVMax8;
public double scale1; //各轴的脉冲当量
public double scale2;
public double scale3;
public double scale4;
public double scale5;
public double scale6;
public double scale7;
public double scale8;
public short axisRelation1; //输入坐标和内部坐标的对应关系
public short axisRelation2;
public short axisRelation3;
public short axisRelation4;
public short axisRelation5;
public short axisRelation6;
public short axisRelation7;
public short axisRelation8;
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=128)]
public string machineCfgFileName; //机床配置文件名
};
//////////////////////////////////////
public struct RC_KIN_CONFIG
{
public short RobotType;
public short reserved1;
public short KinParUse1;
public short KinParUse2;
public short KinParUse3;
public short KinParUse4;
public short KinParUse5;
public short KinParUse6;
public short KinParUse7;
public short KinParUse8;
public short KinParUse9;
public short KinParUse10;
public short KinParUse11;
public short KinParUse12;
public short KinParUse13;
public short KinParUse14;
public short KinParUse15;
public short KinParUse16;
public short KinParUse17;
public short KinParUse18;
public double KinPar1;
public double KinPar2;
public double KinPar3;
public double KinPar4;
public double KinPar5;
public double KinPar6;
public double KinPar7;
public double KinPar8;
public double KinPar9;
public double KinPar10;
public double KinPar11;
public double KinPar12;
public double KinPar13;
public double KinPar14;
public double KinPar15;
public double KinPar16;
public double KinPar17;
public double KinPar18;
public short KinLimitUse1;
public short KinLimitUse2;
public short KinLimitUse3;
public short KinLimitUse4;
public short KinLimitUse5;
public short KinLimitUse6;
public short KinLimitUse7;
public short KinLimitUse8;
public short KinLimitUse9;
public short KinLimitUse10;
public short KinLimitUse11;
public short KinLimitUse12;
public double KinLimitMin1;
public double KinLimitMin2;
public double KinLimitMin3;
public double KinLimitMin4;
public double KinLimitMin5;
public double KinLimitMin6;
public double KinLimitMin7;
public double KinLimitMin8;
public double KinLimitMin9;
public double KinLimitMin10;
public double KinLimitMin11;
public double KinLimitMin12;
public double KinLimitMax1;
public double KinLimitMax2;
public double KinLimitMax3;
public double KinLimitMax4;
public double KinLimitMax5;
public double KinLimitMax6;
public double KinLimitMax7;
public double KinLimitMax8;
public double KinLimitMax9;
public double KinLimitMax10;
public double KinLimitMax11;
public double KinLimitMax12;
public double KinLimitMinShift1;
public double KinLimitMinShift2;
public double KinLimitMinShift3;
public double KinLimitMinShift4;
public double KinLimitMinShift5;
public double KinLimitMinShift6;
public double KinLimitMinShift7;
public double KinLimitMinShift8;
public double KinLimitMinShift9;
public double KinLimitMinShift11;
public double KinLimitMinShift12;
public double KinLimitMaxShift1;
public double KinLimitMaxShift2;
public double KinLimitMaxShift3;
public double KinLimitMaxShift4;
public double KinLimitMaxShift5;
public double KinLimitMaxShift6;
public double KinLimitMaxShift7;
public double KinLimitMaxShift8;
public double KinLimitMaxShift9;
public double KinLimitMaxShift10;
public double KinLimitMaxShift11;
public double KinLimitMaxShift12;
public short AxisUse1;
public short AxisUse2;
public short AxisUse3;
public short AxisUse4;
public short AxisUse6;
public short AxisUse7;
public short AxisUse8;
public char AxisPosSignSwitch1;
public char AxisPosSignSwitch2;
public char AxisPosSignSwitch3;
public char AxisPosSignSwitch4;
public char AxisPosSignSwitch5;
public char AxisPosSignSwitch6;
public char AxisPosSignSwitch7;
public char AxisPosSignSwitch8;
public double AxisPosOffset1;
public double AxisPosOffset2;
public double AxisPosOffset3;
public double AxisPosOffset4;
public double AxisPosOffset5;
public double AxisPosOffset6;
public double AxisPosOffset7;
public double AxisPosOffset8;
public short CartUnitUse1;
public short CartUnitUse2;
public short CartUnitUse3;
public short CartUnitUse4;
public short CartUnitUse5;
public short CartUnitUse6;
public char CartPosKCSSignSwitch1;
public char CartPosKCSSignSwitch2;
public char CartPosKCSSignSwitch3;
public char CartPosKCSSignSwitch4;
public char CartPosKCSSignSwitch5;
public char CartPosKCSSignSwitch6;
public short reserved21;
public short reserved22;
public short reserved23;
public double CartPosKCSOffset1;
public double CartPosKCSOffset2;
public double CartPosKCSOffset3;
public double CartPosKCSOffset4;
public double CartPosKCSOffset5;
public double CartPosKCSOffset6;
};
public struct RC_ERROR_INTERFACE
{
public char Error;
public short ErrorID;
public string Message;
};
public struct RC_MSG_BUFFER_ELEMENT
{
public short ErrorID;
public string Message;
public string LogTime;
public int InternalID;
};
public struct RC_MSG_BUFFER
{
public short LastMsgIndex;
public RC_MSG_BUFFER_ELEMENT MsgElement1;
public RC_MSG_BUFFER_ELEMENT MsgElement2;
public RC_MSG_BUFFER_ELEMENT MsgElement3;
public RC_MSG_BUFFER_ELEMENT MsgElement4;
public RC_MSG_BUFFER_ELEMENT MsgElement5;
public RC_MSG_BUFFER_ELEMENT MsgElement6;
public RC_MSG_BUFFER_ELEMENT MsgElement7;
public RC_MSG_BUFFER_ELEMENT MsgElement8;
public RC_MSG_BUFFER_ELEMENT MsgElement9;
public RC_MSG_BUFFER_ELEMENT MsgElement10;
public RC_MSG_BUFFER_ELEMENT MsgElement11;
public RC_MSG_BUFFER_ELEMENT MsgElement12;
public RC_MSG_BUFFER_ELEMENT MsgElement13;
public RC_MSG_BUFFER_ELEMENT MsgElement14;
public RC_MSG_BUFFER_ELEMENT MsgElement15;
public RC_MSG_BUFFER_ELEMENT MsgElement16;
public RC_MSG_BUFFER_ELEMENT MsgElement17;
public RC_MSG_BUFFER_ELEMENT MsgElement18;
public RC_MSG_BUFFER_ELEMENT MsgElement19;
public RC_MSG_BUFFER_ELEMENT MsgElement20;
public RC_MSG_BUFFER_ELEMENT MsgElement21;
public RC_MSG_BUFFER_ELEMENT MsgElement22;
public RC_MSG_BUFFER_ELEMENT MsgElement23;
public RC_MSG_BUFFER_ELEMENT MsgElement24;
public RC_MSG_BUFFER_ELEMENT MsgElement25;
public RC_MSG_BUFFER_ELEMENT MsgElement26;
public RC_MSG_BUFFER_ELEMENT MsgElement27;
public RC_MSG_BUFFER_ELEMENT MsgElement28;
public RC_MSG_BUFFER_ELEMENT MsgElement29;
public RC_MSG_BUFFER_ELEMENT MsgElement30;
public RC_MSG_BUFFER_ELEMENT MsgElement31;
public RC_MSG_BUFFER_ELEMENT MsgElement32;
public int LastMsgID;
};
//正逆解方向
public enum ETransDir
{
FORWARD_TRANS = 0, //正解
INVERSE_TRANS, //逆解
TRANS_DIR_MAX = 0x10000, // 确保长度为4Byte
};
//旋转轴范围设置
public struct TRotationAxisRange
{
public int primaryAxisRangeOn; //第一旋转轴限定范围是否生效0不生效1生效
public int slaveAxisRangeOn; //第二旋转轴限定范围是否生效0不生效1生效
public double maxPrimaryAngle; //第一旋转轴最大值
public double minPrimaryAngle; //第一旋转轴最小值
public double maxSlaveAngle; //第二旋转轴最大值
public double minSlaveAgnle; //第二旋转轴最小值
};
//选解参数
public enum EGroupSelect
{
Continuous=0,
Group_1,
Group_2,
};
public enum OptimizeState
{
OPT_OFF=0,
OPT_ON=1
};
public enum OptimizeMethod
{
NO_OPT=0,
OPT_BLENDING,
OPT_CIRCLEFITTING,
OPT_CUBICSPLINE,
OPT_BSPLINE,
};
public enum ErrorID
{
INIT_ERROR=1, //没有进行参数初始化
PASSWORD_ERROR, //密码错误,请在固高运动控制平台上运行
INDATA_ERROR, //输入数据错误(检查圆弧数据是否正确)
PRE_PROCESS_ERROR, //
TOOL_RADIUS_COMPENSATE_ERROR_INOUT, //刀具半径补偿错误:进入/结束刀补处不能是圆弧
TOOL_RADIUS_COMPENSATE_ERROR_NOCROSS, //刀具半径补偿错误:数据不合理,无法计算交点
USERDATA_ERROR,
};
//轨迹优化参数结构体
public struct TOptimizeParamUser
{
public OptimizeState usePathOptimize; //是否使用路径优化OPT_OFF:不使用 OPT_ON:使用
public float tolerance; //公差(suggest: rough:0.1, pre-finish:0.05, finish:0.01)
public OptimizeMethod optimizeMethod; //选择曲线优化方式
public OptimizeState keepLargeArc; //是否保留大圆弧OPT_OFF不保留 OPT_ON保留
public float blendingMinError; //blending的最小设定误差
public float blendingMaxAngle; //blending的最大角度限制即当线段向量角度大于该角度时不做blending单位
};
public struct TErrorInfo
{
public ErrorID errorID; //错误号(INIT_ERROR:未初始化参数PRE_PROCESS_ERROR:预处理模块错误;
//TOOL_RADIUS_COMPENSATE_ERROR:刀具半径补偿错误;)
public int errorRowNum; //错误行号
};
public struct TPreStartPos
{
public double Pos1;
public double Pos2;
public double Pos3;
public double Pos4;
public double Pos5;
public double Pos6;
public double Pos7;
public double Pos8;
};
[DllImport("gts.dll")]
public static extern short GT_SetupLookAheadCrd(short crd, EMachineMode machineMode);
[DllImport("gts.dll")]
public static extern short GT_SetVelDefineModeLa(short crd, EVelSettingDef velDefMode);
[DllImport("gts.dll")]
public static extern short GT_SetAccDefineModeLa(short crd, EAccSettingDef accDefMode);
[DllImport("gts.dll")]
public static extern short GT_SetAxisLimitModeLa(short crd, ref int pAxisLimitMode);
[DllImport("gts.dll")]
public static extern short GT_SetWorkLimitModeLa(short crd, EWorkLimitMode workLimitMode);
[DllImport("gts.dll")]
public static extern short GT_SetAxisFollowModeLa(short crd, ref int pFollowMode);
[DllImport("gts.dll")]
public static extern short GT_SetAxisVelValidModeLa(short crd, int velValidAxis);
[DllImport("gts.dll")]
public static extern short GT_SetArcAllowErrorLa(short crd, double error);
[DllImport("gts.dll")]
public static extern short GT_SetMinEvenVelTime(short crd, double evenTime);
[DllImport("gts.dll")]
public static extern short GT_SetMinDccAngle(short crd, double dccAngle);
[DllImport("gts.dll")]
public static extern short GT_SetProfilePeriod(short crd, double profilePeriod);
[DllImport("gts.dll")]
public static extern short GT_SetFilterTime(short crd, Int32 filtNum);
[DllImport("gts.dll")]
public static extern short GT_SetPrecisionControl(short crd, short mode, double error);
[DllImport("gts.dll")]
public static extern short GT_SetVelSmoothModeLa(short crd, short smoothMode);
[DllImport("gts.dll")]
public static extern short GT_SetVelModeLa(short crd, EVelMode velMode);
[DllImport("gts.dll")]
public static extern short GT_InitLookAheadEx(short crd, ref TLookAheadParameter pLookAheadPara, short fifo, short motionMode, ref TPreStartPos pPreStartPos);
[DllImport("gts.dll")]
public static extern short GT_PrintLACmdLa(short crd, int printFlag, int clearFile);
[DllImport("gts.dll")]
public static extern short GT_GetLookAheadSegCountEx(short crd, out int pSegCount, short fifo);
[DllImport("gts.dll")]
public static extern short GT_GetMotionTimeEx(short crd, out double pTime, short fifo);
[DllImport("gts.dll")]
public static extern short GT_SetUserSegNumEx(short crd, int segNum, short fifo);
[DllImport("gts.dll")]
public static extern short GT_CrdDataEx(short crd, System.IntPtr pCrdData, short fifo); //调用时传入 IntPtr.Zero GTN_CrdDataEx(1, System.IntPtr.Zero, 0);
[DllImport("gts.dll")]
public static extern short GT_LnXYEx(short crd, double x, double y, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYG0Ex(short crd, double x, double y, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZEx(short crd, double x, double y, double z, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZG0Ex(short crd, double x, double y, double z, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZAEx(short crd, double x, double y, double z, double a, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZAG0Ex(short crd, double x, double y, double z, double a, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZACEx(short crd, ref double pPos, short posMask, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZACG0Ex(short crd, ref double pPos, short posMask, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZACUVWEx(short crd, ref double pPos, short posMask, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_LnXYZACUVWG0Ex(short crd, ref double pPos, short posMask, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcXYREx(short crd, double x, double y, double radius, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcYZREx(short crd, double y, double z, double radius, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcZXREx(short crd, double z, double x, double radius, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcXYCEx(short crd, double x, double y, double xCenter, double yCenter, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcYZCEx(short crd, double y, double z, double yCenter, double zCenter, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcZXCEx(short crd, double z, double x, double zCenter, double xCenter, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_ArcXYZEx(short crd, double x, double y, double z, double interX, double interY, double interZ, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixXYRZEx(short crd, double x, double y, double z, double radius, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixXYCZEx(short crd, double x, double y, double z, double xCenter, double yCenter, short circleDir, double synVel, double synAcc, int segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixYZRXEx(short crd, double x, double y, double z, double radius, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixYZCXEx(short crd, double x, double y, double z, double yCenter, double zCenter, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixZXRYEx(short crd, double x, double y, double z, double radius, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixZXCYEx(short crd, double x, double y, double z, double zCenter, double xCenter, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixXYRMultiZEx(short crd, ref double pPos, double radius, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixXYCMultiZEx(short crd, ref double pPos, double xCenter, double yCenter, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixYZRMultiXEx(short crd, ref double pPos, double radius, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixYZCMultiXEx(short crd, ref double pPos, double yCenter, double zCenter, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixZXRMultiYEx(short crd, ref double pPos, double radius, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_HelixZXCMultiYEx(short crd, ref double pPos, double zCenter, double xCenter, short circleDir, double synVel, double synAcc, Int32 segNum, short override2, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufDelayEx(short crd, ushort delayTime, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufIOEx(short crd, ushort doType, ushort doMask, ushort doValue, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufDAEx(short crd, short chn, short daValue, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufEnableDoBitPulseEx(short crd, short doType, short doIndex, ushort highLevelTime, ushort lowLevelTime, int pulseNum, short firstLevel, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufDisableDoBitPulseEx(short crd, short doType, short doIndex, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufGearEx(short crd, short gearAxis, double deltaPos, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufMoveEx(short crd, short moveAxis, double pos, double vel, double acc, short modal, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufFollowMasterEx(short crd, ref GTN.mc_ecat.TBufFollowMaster pBufFollowMaster, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufFollowEventCrossEx(short crd, ref GTN.mc_ecat.TBufFollowEventCross pEventCross, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufFollowEventTriggerEx(short crd, ref GTN.mc_ecat.TBufFollowEventTrigger pEventTrigger, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufFollowStartEx(short crd, Int32 masterSegment, Int32 slaveSegment, Int32 masterFrameWidth, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufFollowNextEx(short crd, Int32 width, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufFollowReturnEx(short crd, double vel, double acc, short smoothPercent, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufSmartCutterOnEx(short crd, short index, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufSmartCutterOffEx(short crd, short index, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufLaserOnEx(short crd, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GT_BufLaserOffEx(short crd, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GT_BufLaserFollowModeEx(short crd, short source, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GT_BufLaserFollowTableEx(short crd, short tableId, double minPower, double maxPower, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GT_BufLaserFollowOffEx(short crd, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GT_BufLaserPrfCmdEx(short crd, double laserPower, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GT_BufLaserFollowRatioEx(short crd, double ratio, double minPower, double maxPower, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GTN_SetupLookAheadCrd(short core,short crd,EMachineMode machineMode);
[DllImport("gts.dll")]
public static extern short GTN_SetAxisFollowModeLa(short core, short crd,ref int pFollowMode);
[DllImport("gts.dll")]
public static extern short GTN_SetVelDefineModeLa(short core,short crd,EVelSettingDef velDefMode);
[DllImport("gts.dll")]
public static extern short GTN_SetAccDefineModeLa(short core, short crd, EAccSettingDef accDefMode);
[DllImport("gts.dll")]
public static extern short GTN_SetAxisLimitModeLa(short core,short crd,ref int pAxisLimitMode);
[DllImport("gts.dll")]
public static extern short GTN_SetWorkLimitModeLa(short core,short crd,EWorkLimitMode workLimitMode);
[DllImport("gts.dll")]
public static extern short GTN_SetAxisVelValidModeLa(short core,short crd,int velValidAxis);
[DllImport("gts.dll")]
public static extern short GTN_SetVelModeLa(short core, short crd, EVelMode velMode);
[DllImport("gts.dll")]
public static extern short GTN_SetVelSmoothModeLa(short core, short crd, short smoothMode);
[DllImport("gts.dll")]
public static extern short GTN_SetVelSmoothMode(short core,int crd,int smoothMode);
[DllImport("gts.dll")]
public static extern short GTN_PrintLACmdLa(short core, short crd, int printFlag, int clearFile);
[DllImport("gts.dll")]
public static extern short GTN_InitLookAheadEx(short core, short crd, ref TLookAheadParameter pLookAheadPara, short fifo, short motionMode, ref TPreStartPos pPreStartPos);
[DllImport("gts.dll")]
public static extern short GTN_GetLookAheadSegCountEx(short core, short crd, out int pSegCount, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_GetMotionTimeEx(short core, short crd, out double pTime, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_SetUserSegNumEx(short core, short crd, int segNum, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_CrdDataEx(short core, short crd, System.IntPtr pCrdData, short fifo); //调用时传入 IntPtr.Zero GTN_CrdDataEx(1, System.IntPtr.Zero, 0);
[DllImport("gts.dll")]
public static extern short GTN_LnXYEx(short core,short crd,double x,double y,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYG0Ex(short core,short crd,double x,double y,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZEx(short core,short crd,double x,double y,double z,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZG0Ex(short core,short crd,double x,double y,double z,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZAEx(short core,short crd,double x,double y,double z,double a,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZAG0Ex(short core,short crd,double x,double y,double z,double a,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZACEx(short core,short crd,ref double pPos,short posMask,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZACG0Ex(short core,short crd,ref double pPos,short posMask,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZACUVWEx(short core,short crd,ref double pPos,short posMask,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_LnXYZACUVWG0Ex(short core,short crd,ref double pPos,short posMask,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcXYREx(short core,short crd,double x,double y,double radius,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcYZREx(short core,short crd,double y,double z,double radius,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcZXREx(short core,short crd,double z,double x,double radius,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcXYCEx(short core,short crd,double x,double y,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcYZCEx(short core,short crd,double y,double z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcZXCEx(short core,short crd,double z,double x,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_ArcXYZEx(short core,short crd,double x,double y,double z,double interX,double interY,double interZ,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_HelixXYRZEx(short core,short crd,double x,double y,double z,double radius,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_HelixXYCZEx(short core,short crd,double x,double y,double z,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,int segNum,short override2,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufDelayEx(short core,short crd,ushort delayTime,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufGearEx(short core,short crd,short gearAxis,double deltaPos,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufMoveEx(short core,short crd,short moveAxis,double pos,double vel,double acc,short modal,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufIOEx(short core,short crd,ushort doType,ushort doMask,ushort doValue,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufEnableDoBitPulseEx(short core, short crd, short doType, short doIndex, ushort highLevelTime, ushort lowLevelTime, int pulseNum, short firstLevel, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufDisableDoBitPulseEx(short core, short crd, short doType, short doIndex, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufDAEx(short core,short crd,short chn,short daValue,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufFollowMasterEx(short core, short crd, ref GTN.mc_ecat.TBufFollowMaster pBufFollowMaster, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufFollowEventCrossEx(short core, short crd, ref GTN.mc_ecat.TBufFollowEventCross pEventCross, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufFollowEventTriggerEx(short core, short crd, ref GTN.mc_ecat.TBufFollowEventTrigger pEventTrigger, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufFollowStartEx(short core, short crd, Int32 masterSegment, Int32 slaveSegment, Int32 masterFrameWidth, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufFollowNextEx(short core, short crd, Int32 width, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufFollowReturnEx(short core, short crd, double vel, double acc, short smoothPercent, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufSmartCutterOnEx(short core, short crd, short index, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufSmartCutterOffEx(short core, short crd, short index, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserOnEx(short core,short crd,short fifo,short channel);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserOffEx(short core,short crd,short fifo,short channel);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserFollowModeEx(short core, short crd, short source, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserFollowTableEx(short core, short crd, short tableId, double minPower, double maxPower, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserFollowOffEx(short core, short crd, short fifo, short channel);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserPrfCmdEx(short core,short crd,double laserPower,short fifo,short channel);
[DllImport("gts.dll")]
public static extern short GTN_BufLaserFollowRatioEx(short core,short crd,double ratio,double minPower,double maxPower,short fifo,short channel);
[DllImport("gts.dll")]
public static extern short GT_BufWaitDiEx(short crd, short diType, UInt16 diIndex, UInt16 level, short continueTime, Int32 overTime, short flagMode, Int32 segNum, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufWaitLongVarEx(short crd, short index, Int32 value, Int32 overTime, short flagMode, Int32 segNum, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufWaitDiEx(short core, short crd, short diType, UInt16 diIndex, UInt16 level, short continueTime, Int32 overTime, short flagMode, Int32 segNum, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufWaitLongVarEx(short core, short crd, short index, Int32 value, Int32 overTime, short flagMode, Int32 segNum, short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufDoBitEx(short crd,UInt16 doType,UInt16 index,short value,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufDoBitEx(short core,short crd, Int32 doType,UInt16 index,short value,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufDoBitDelayEx(short core,short crd,UInt16 doType,UInt16 index,short value,Int32 delayTime,short fifo);
[DllImport("gts.dll")]
public static extern short GT_BufPosCompareStartEx(short core, short crd, short fifo, short index);
[DllImport("gts.dll")]
public static extern short GT_BufPosCompareStopEx(short core, short crd, short fifo, short index);
[DllImport("gts.dll")]
public static extern short GTN_BufPosComparePsoPrmEx(short core, short crd, short index, ref GTN.mc_ecat.TPosComparePsoPrm pPrm, short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufPosCompareStartEx(short core, short crd, short fifo, short index);
[DllImport("gts.dll")]
public static extern short GTN_BufPosCompareStopEx(short core, short crd, short fifo, short index);
//新增缓存区输入输出指令
[DllImport("gts.dll")]
public static extern short GTN_BufSetGLinkDoEx(short core, short crd, short slaveno,ushort offset,ref byte pData,ushort bytelength,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufSetGLinkDoBitEx(short core,short crd,short slaveno,short doIndex,byte value,short fifo);
[DllImport("gts.dll")]
public static extern short GTN_BufSetGLinkAoEx(short core,short crd,short slaveno,ushort channel,short pData,short fifo);
}
}