|
|
using System;
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
namespace GTN
|
|
|
{
|
|
|
public class mc_cfg
|
|
|
{
|
|
|
public const short RES_LIMIT = 8;
|
|
|
public const short RES_ALARM = 8;
|
|
|
public const short RES_HOME = 8;
|
|
|
public const short RES_GPI = 16;
|
|
|
public const short RES_ARRIVE = 8;
|
|
|
public const short RES_MPG = 7;
|
|
|
|
|
|
public const short RES_ENABLE = 8;
|
|
|
public const short RES_CLEAR = 8;
|
|
|
public const short RES_GPO = 16;
|
|
|
|
|
|
public const short RES_DAC = 12;
|
|
|
public const short RES_STEP = 8;
|
|
|
public const short RES_PULSE = 8;
|
|
|
public const short RES_ENCODER = 11;
|
|
|
public const short RES_LASER = 2;
|
|
|
|
|
|
public const short AXIS_MAX = 8;
|
|
|
public const short PROFILE_MAX = 8;
|
|
|
public const short CONTROL_MAX = 8;
|
|
|
|
|
|
public const short PRF_MAP_MAX = 2;
|
|
|
public const short ENC_MAP_MAX = 2;
|
|
|
|
|
|
public const short STEP_DIR = 0;
|
|
|
public const short STEP_PULSE = 1;
|
|
|
|
|
|
public const short CRD_BUF_DATA_NULL = 0;
|
|
|
|
|
|
public struct TDiConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short reverse;
|
|
|
public short filterTime;
|
|
|
}
|
|
|
|
|
|
public struct TCountConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short reverse;
|
|
|
public short filterType;
|
|
|
|
|
|
public short captureSource;
|
|
|
public short captureHomeSense;
|
|
|
public short captureIndexSense;
|
|
|
}
|
|
|
|
|
|
public struct TDoConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short axis;
|
|
|
public short axisItem;
|
|
|
public short reverse;
|
|
|
}
|
|
|
|
|
|
public struct TStepConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short axis;
|
|
|
public short mode;
|
|
|
public short parameter;
|
|
|
public short reverse;
|
|
|
}
|
|
|
|
|
|
public struct TDacConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short control;
|
|
|
public short reverse;
|
|
|
public short bias;
|
|
|
public short limit;
|
|
|
}
|
|
|
|
|
|
public struct TControlConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short axis;
|
|
|
public short encoder1;
|
|
|
public short encoder2;
|
|
|
public long errorLimit;
|
|
|
public short filterType1;
|
|
|
public short filterType2;
|
|
|
public short filterType3;
|
|
|
public short encoderSmooth;
|
|
|
public short controlSmooth;
|
|
|
}
|
|
|
|
|
|
public struct TProfileConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public double decSmoothStop;
|
|
|
public double decAbruptStop;
|
|
|
}
|
|
|
|
|
|
public struct TAxisConfig
|
|
|
{
|
|
|
public short active;
|
|
|
public short alarmType;
|
|
|
public short alarmIndex;
|
|
|
public short limitPositiveType;
|
|
|
public short limitPositiveIndex;
|
|
|
public short limitNegativeType;
|
|
|
public short limitNegativeIndex;
|
|
|
public short smoothStopType;
|
|
|
public short smoothStopIndex;
|
|
|
public short abruptStopType;
|
|
|
public short abruptStopIndex;
|
|
|
public long prfMap;
|
|
|
public long encMap;
|
|
|
public short prfMapAlpha1;
|
|
|
public short prfMapAlpha2;
|
|
|
public short prfMapBeta1;
|
|
|
public short prfMapBeta2;
|
|
|
public short encMapAlpha1;
|
|
|
public short encMapAlpha2;
|
|
|
public short encMapBeta1;
|
|
|
public short encMapBeta2;
|
|
|
}
|
|
|
|
|
|
public struct TMcConfig
|
|
|
{
|
|
|
public TProfileConfig profile1;
|
|
|
public TProfileConfig profile2;
|
|
|
public TProfileConfig profile3;
|
|
|
public TProfileConfig profile4;
|
|
|
public TProfileConfig profile5;
|
|
|
public TProfileConfig profile6;
|
|
|
public TProfileConfig profile7;
|
|
|
public TProfileConfig profile8;
|
|
|
public TAxisConfig axis1;
|
|
|
public TAxisConfig axis2;
|
|
|
public TAxisConfig axis3;
|
|
|
public TAxisConfig axis4;
|
|
|
public TAxisConfig axis5;
|
|
|
public TAxisConfig axis6;
|
|
|
public TAxisConfig axis7;
|
|
|
public TAxisConfig axis8;
|
|
|
public TControlConfig control1;
|
|
|
public TControlConfig control2;
|
|
|
public TControlConfig control3;
|
|
|
public TControlConfig control4;
|
|
|
public TControlConfig control5;
|
|
|
public TControlConfig control6;
|
|
|
public TControlConfig control7;
|
|
|
public TControlConfig control8;
|
|
|
public TDacConfig dac1;
|
|
|
public TDacConfig dac2;
|
|
|
public TDacConfig dac3;
|
|
|
public TDacConfig dac4;
|
|
|
public TDacConfig dac5;
|
|
|
public TDacConfig dac6;
|
|
|
public TDacConfig dac7;
|
|
|
public TDacConfig dac8;
|
|
|
public TDacConfig dac9;
|
|
|
public TDacConfig dac10;
|
|
|
public TDacConfig dac11;
|
|
|
public TDacConfig dac12;
|
|
|
public TStepConfig step1;
|
|
|
public TStepConfig step2;
|
|
|
public TStepConfig step3;
|
|
|
public TStepConfig step4;
|
|
|
public TStepConfig step5;
|
|
|
public TStepConfig step6;
|
|
|
public TStepConfig step7;
|
|
|
public TStepConfig step8;
|
|
|
public TCountConfig encoder1;
|
|
|
public TCountConfig encoder2;
|
|
|
public TCountConfig encoder3;
|
|
|
public TCountConfig encoder4;
|
|
|
public TCountConfig encoder5;
|
|
|
public TCountConfig encoder6;
|
|
|
public TCountConfig encoder7;
|
|
|
public TCountConfig encoder8;
|
|
|
public TCountConfig encoder9;
|
|
|
public TCountConfig encoder10;
|
|
|
public TCountConfig encoder11;
|
|
|
public TCountConfig pulse1;
|
|
|
public TCountConfig pulse2;
|
|
|
public TCountConfig pulse3;
|
|
|
public TCountConfig pulse4;
|
|
|
public TCountConfig pulse5;
|
|
|
public TCountConfig pulse6;
|
|
|
public TCountConfig pulse7;
|
|
|
public TCountConfig pulse8;
|
|
|
public TDoConfig enable1;
|
|
|
public TDoConfig enable2;
|
|
|
public TDoConfig enable3;
|
|
|
public TDoConfig enable4;
|
|
|
public TDoConfig enable5;
|
|
|
public TDoConfig enable6;
|
|
|
public TDoConfig enable7;
|
|
|
public TDoConfig enable8;
|
|
|
public TDoConfig clear1;
|
|
|
public TDoConfig clear2;
|
|
|
public TDoConfig clear3;
|
|
|
public TDoConfig clear4;
|
|
|
public TDoConfig clear5;
|
|
|
public TDoConfig clear6;
|
|
|
public TDoConfig clear7;
|
|
|
public TDoConfig clear8;
|
|
|
public TDoConfig gpo1;
|
|
|
public TDoConfig gpo2;
|
|
|
public TDoConfig gpo3;
|
|
|
public TDoConfig gpo4;
|
|
|
public TDoConfig gpo5;
|
|
|
public TDoConfig gpo6;
|
|
|
public TDoConfig gpo7;
|
|
|
public TDoConfig gpo8;
|
|
|
public TDoConfig gpo9;
|
|
|
public TDoConfig gpo10;
|
|
|
public TDoConfig gpo11;
|
|
|
public TDoConfig gpo12;
|
|
|
public TDoConfig gpo13;
|
|
|
public TDoConfig gpo14;
|
|
|
public TDoConfig gpo15;
|
|
|
public TDoConfig gpo16;
|
|
|
public TDiConfig limitPositive1;
|
|
|
public TDiConfig limitPositive2;
|
|
|
public TDiConfig limitPositive3;
|
|
|
public TDiConfig limitPositive4;
|
|
|
public TDiConfig limitPositive5;
|
|
|
public TDiConfig limitPositive6;
|
|
|
public TDiConfig limitPositive7;
|
|
|
public TDiConfig limitPositive8;
|
|
|
public TDiConfig limitNegative1;
|
|
|
public TDiConfig limitNegative2;
|
|
|
public TDiConfig limitNegative3;
|
|
|
public TDiConfig limitNegative4;
|
|
|
public TDiConfig limitNegative5;
|
|
|
public TDiConfig limitNegative6;
|
|
|
public TDiConfig limitNegative7;
|
|
|
public TDiConfig limitNegative8;
|
|
|
public TDiConfig alarm1;
|
|
|
public TDiConfig alarm2;
|
|
|
public TDiConfig alarm3;
|
|
|
public TDiConfig alarm4;
|
|
|
public TDiConfig alarm5;
|
|
|
public TDiConfig alarm6;
|
|
|
public TDiConfig alarm7;
|
|
|
public TDiConfig alarm8;
|
|
|
public TDiConfig home1;
|
|
|
public TDiConfig home2;
|
|
|
public TDiConfig home3;
|
|
|
public TDiConfig home4;
|
|
|
public TDiConfig home5;
|
|
|
public TDiConfig home6;
|
|
|
public TDiConfig home7;
|
|
|
public TDiConfig home8;
|
|
|
public TDiConfig gpi1;
|
|
|
public TDiConfig gpi2;
|
|
|
public TDiConfig gpi3;
|
|
|
public TDiConfig gpi4;
|
|
|
public TDiConfig gpi5;
|
|
|
public TDiConfig gpi6;
|
|
|
public TDiConfig gpi7;
|
|
|
public TDiConfig gpi8;
|
|
|
public TDiConfig arrive1;
|
|
|
public TDiConfig arrive2;
|
|
|
public TDiConfig arrive3;
|
|
|
public TDiConfig arrive4;
|
|
|
public TDiConfig arrive5;
|
|
|
public TDiConfig arrive6;
|
|
|
public TDiConfig arrive7;
|
|
|
public TDiConfig arrive8;
|
|
|
public TDiConfig mpg1;
|
|
|
public TDiConfig mpg2;
|
|
|
public TDiConfig mpg3;
|
|
|
public TDiConfig mpg4;
|
|
|
public TDiConfig mpg5;
|
|
|
public TDiConfig mpg6;
|
|
|
public TDiConfig mpg7;
|
|
|
}
|
|
|
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetDiConfig(short diType,short diIndex,ref TDiConfig pDi);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetDiConfig(short diType,short diIndex,out TDiConfig pDi);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetDoConfig(short doType,short doIndex,ref TDoConfig pDo);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetDoConfig(short doType,short doIndex,out TDoConfig pDo);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetStepConfig(short step,ref TStepConfig pStep);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetStepConfig(short step,out TStepConfig pStep);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetDacConfig(short dac,ref TDacConfig pDac);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetDacConfig(short dac,out TDacConfig pDac);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetCountConfig(short countType,short countIndex,ref TCountConfig pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetCountConfig(short countType,short countIndex,out TCountConfig pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetControlConfig(short control,ref TControlConfig pControl);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetControlConfig(short control,out TControlConfig pControl);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetProfileConfig(short profile,ref TProfileConfig pProfile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetProfileConfig(short profile,out TProfileConfig pProfile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetAxisConfig(short axis,ref TAxisConfig pAxis);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetAxisConfig(short axis,out TAxisConfig pAxis);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetConfigTable(short type,out short pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetConfigTableAll();
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetMcConfig(ref TMcConfig pMc);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetMcConfig(out TMcConfig pMc);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetMcConfigToFile(ref TMcConfig pMc,ref char pFile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetMcConfigFromFile(out TMcConfig pMc,out char pFile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SaveConfig(out char pFile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetInterruptTime(out double pServoRunTime,out double pProfileRunTime);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetInterruptTimeMax(out double pServoRunTimeMax,out double pProfileRunTimeMax);
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
//New Watch
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
public const short WATCH_MODE_STATIC = 0;
|
|
|
public const short WATCH_MODE_LOOP = 1;
|
|
|
public const short WATCH_MODE_DYNAMIC = 2;
|
|
|
|
|
|
public const short WATCH_MODE_STATIC_BACKGROUND = 10;
|
|
|
public const short WATCH_MODE_LOOP_BACKGROUND = 11;
|
|
|
public const short WATCH_MODE_DYNAMIC_BACKGROUND = 12;
|
|
|
|
|
|
public const short WATCH_EVENT_RUN = 1;
|
|
|
public const short WATCH_EVENT_START = 10;
|
|
|
public const short WATCH_EVENT_STOP = 20;
|
|
|
public const short WATCH_EVENT_OFF = 30;
|
|
|
|
|
|
public const short WATCH_CONDITION_EQ = 1;
|
|
|
public const short WATCH_CONDITION_NE = 2;
|
|
|
public const short WATCH_CONDITION_GE = 3;
|
|
|
public const short WATCH_CONDITION_LE = 4;
|
|
|
|
|
|
public const short WATCH_CONDITION_CHANGE_TO = 11;
|
|
|
public const short WATCH_CONDITION_CHANGE = 12;
|
|
|
public const short WATCH_CONDITION_UP = 13;
|
|
|
public const short WATCH_CONDITION_DOWN = 14;
|
|
|
|
|
|
public const short WATCH_CONDITION_REMAIN_AT = 21;
|
|
|
public const short WATCH_CONDITION_REMAIN = 22;
|
|
|
|
|
|
public const long WATCH_VAR_CLOCK = 1200;
|
|
|
public const long WATCH_VAR_PRF_LOOP = 1201;
|
|
|
|
|
|
public const long WATCH_VAR_COMMAND_CODE = 1220;
|
|
|
public const long WATCH_VAR_COMMAND_DATA = 1221;
|
|
|
public const long WATCH_VAR_COMMAND_COUNT = 1222;
|
|
|
public const long WATCH_VAR_COMMAND_READ_FLAG = 1223;
|
|
|
|
|
|
public const long WATCH_VAR_PRF_POS = 6000;
|
|
|
public const long WATCH_VAR_PRF_VEL = 6001;
|
|
|
public const long WATCH_VAR_PRF_ACC = 6002;
|
|
|
|
|
|
public const long WATCH_VAR_PRF_RUN = 6200;
|
|
|
|
|
|
public const long WATCH_VAR_CRD_PRF_POS = 8000;
|
|
|
public const long WATCH_VAR_CRD_PRF_VEL = 8001;
|
|
|
public const long WATCH_VAR_CRD_PRF_ACC = 8002;
|
|
|
|
|
|
public const long WATCH_VAR_CRD_RUN = 8200;
|
|
|
|
|
|
public const long WATCH_VAR_CRD_SEGMENT_NUMBER = 8202;
|
|
|
public const long WATCH_VAR_CRD_SEGMENT_NUMBER_USER = 8203;
|
|
|
public const long WATCH_VAR_CRD_COMMAND_RECEIVE = 8204;
|
|
|
public const long WATCH_VAR_CRD_COMMAND_EXECUTE = 8205;
|
|
|
|
|
|
public const long WATCH_VAR_CRD_FOLLOW_SLAVE_POS = 8600;
|
|
|
public const long WATCH_VAR_CRD_FOLLOW_SLAVE_VEL = 8601;
|
|
|
|
|
|
public const long WATCH_VAR_CRD_FOLLOW_STAGE = 8610;
|
|
|
|
|
|
public const long WATCH_VAR_SCAN_PRF_POS = 18000;
|
|
|
public const long WATCH_VAR_SCAN_PRF_VEL = 18001;
|
|
|
public const long WATCH_VAR_SCAN_PRF_ACC = 18002;
|
|
|
|
|
|
public const long WATCH_VAR_SCAN_PRF_POS_X = 18010;
|
|
|
public const long WATCH_VAR_SCAN_PRF_POS_Y = 18020;
|
|
|
|
|
|
public const long WATCH_VAR_SCAN_RUN = 18200;
|
|
|
|
|
|
public const long WATCH_VAR_SCAN_SEGMENT_NUMBER = 18202;
|
|
|
|
|
|
|
|
|
public const long WATCH_VAR_LASER_HSIO = 18600;
|
|
|
public const long WATCH_VAR_LASER_POWER = 18601;
|
|
|
|
|
|
public const long WATCH_VAR_AXIS_PRF_POS = 20000;
|
|
|
public const long WATCH_VAR_AXIS_PRF_VEL = 20001;
|
|
|
public const long WATCH_VAR_AXIS_PRF_ACC = 20002;
|
|
|
public const long WATCH_VAR_AXIS_ENC_POS = 20003;
|
|
|
|
|
|
public const long WATCH_VAR_AXIS_PRF_VEL_FILTER = 20011;
|
|
|
|
|
|
public const long WATCH_VAR_ENC_POS = 30000;
|
|
|
|
|
|
public const long WATCH_VAR_ENC_VEL = 30001;
|
|
|
|
|
|
public const long WATCH_VAR_GPI = 31000;
|
|
|
|
|
|
public const long WATCH_VAR_GPO = 32000;
|
|
|
|
|
|
public const long WATCH_VAR_AI = 33000;
|
|
|
|
|
|
public const long WATCH_VAR_AO = 34000;
|
|
|
|
|
|
public const long WATCH_VAR_AUTO_FOCUS_OUT = 34006;
|
|
|
|
|
|
public const long WATCH_VAR_TRIGGER_EXECUTE = 38000;
|
|
|
public const long WATCH_VAR_TRIGGER_STATUS = 38001;
|
|
|
public const long WATCH_VAR_TRIGGER_POSITION = 38002;
|
|
|
public const long WATCH_VAR_TRIGGER_COUNT = 38010;
|
|
|
|
|
|
public const long WATCH_VAR_POS_LOOP_ERROR = 40000;
|
|
|
|
|
|
public const long WATCH_VAR_CONTROL_REF_VEL = 41000;
|
|
|
|
|
|
public const long WATCH_VAR_WATCH_TIME = 52001;
|
|
|
|
|
|
public const long WATCH_VAR_INT32 = 52020;
|
|
|
public const long WATCH_VAR_INT64 = 52021;
|
|
|
public const long WATCH_VAR_FLOAT = 52022;
|
|
|
public const long WATCH_VAR_DOUBLE = 52023;
|
|
|
public const long WATCH_VAR_BOOL = 52024;
|
|
|
|
|
|
|
|
|
public struct TWatchVar
|
|
|
{
|
|
|
public ushort type;
|
|
|
public ushort index;
|
|
|
public ushort id;
|
|
|
}
|
|
|
|
|
|
public struct TWatchEvent
|
|
|
{
|
|
|
public ushort type;
|
|
|
public ushort loop;
|
|
|
public ushort watchCount;
|
|
|
public TWatchVar var;
|
|
|
public ushort condition;
|
|
|
public double value;
|
|
|
}
|
|
|
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_ClearWatch(short mode);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_AddWatchVar(ref TWatchVar pVar);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_AddWatchEvent(ref TWatchEvent pEvent);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_WatchOn(short interval,short mode,ushort count);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_WatchOff();
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_PrintWatch(out char pFileName,long start,uint printCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetMcVar(out TWatchVar pVar,out double pValue);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetWatchGroup(short group);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetWatchGroup(out short pGroup);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_LoadWatchConfig(ref char pFile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SaveWatchConfig(short group,out char pFile);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_ReadWatch(short varIndex,out double pBuffer,uint bufferSize,out uint pReadCount);
|
|
|
|
|
|
public struct TWatchInfo
|
|
|
{
|
|
|
public short enable; // <20>ɼ<EFBFBD>ʹ<EFBFBD><CAB9>
|
|
|
public short run; // <20>ɼ<EFBFBD>״̬
|
|
|
public uint time; // <20>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
public uint head; // ͷָ<CDB7><D6B8>
|
|
|
public uint threshold; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲɼ<C9B2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public short interval; // <20>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
public short mode; // <20>ɼ<EFBFBD>ģʽ
|
|
|
public ushort countBeforeEvent; // <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE>IJɼ<C4B2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
public ushort countAfterEvent; // <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA>IJɼ<C4B2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
public ushort varCount; // <20>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
public ushort eventCount; // <20>ɼ<EFBFBD><C9BC>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
}
|
|
|
|
|
|
public struct TWatchVarInfo
|
|
|
{
|
|
|
public uint pAddress;
|
|
|
public ushort length;
|
|
|
public short fraction;
|
|
|
public ushort format;
|
|
|
public ushort hex;
|
|
|
public ushort sign;
|
|
|
public ushort bit;
|
|
|
}
|
|
|
|
|
|
public struct TWatchFormat
|
|
|
{
|
|
|
public short width;
|
|
|
public short precision;
|
|
|
public char seperator;
|
|
|
public short hex;
|
|
|
}
|
|
|
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetWatchInfo(out TWatchInfo pInfo);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetWatchVar(short index,out TWatchVar pVar,out TWatchVarInfo pVarInfo);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetWatchEvent(short index,out TWatchEvent pEvent);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetWatchFormat(ref TWatchFormat pFormat);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetWatchFormat(out TWatchFormat pFormat);
|
|
|
|
|
|
//Event and Task
|
|
|
public const long TASK_SET_DO_BIT = 0x1101;
|
|
|
public const long TASK_CRD_START = 0x4004;
|
|
|
public const long TASK_CRD_STOP = 0x4005;
|
|
|
public const long TASK_CRD_OVERRIDE = 0x4006;
|
|
|
|
|
|
public struct TTaskSetDoBit
|
|
|
{
|
|
|
public short doType;
|
|
|
public short doIndex;
|
|
|
public short doValue;
|
|
|
public short mode;
|
|
|
public long parameter1;
|
|
|
public long parameter2;
|
|
|
public long parameter3;
|
|
|
public long parameter4;
|
|
|
public long parameter5;
|
|
|
public long parameter6;
|
|
|
public long parameter7;
|
|
|
public long parameter8;
|
|
|
}
|
|
|
|
|
|
public struct TTaskCrdStart
|
|
|
{
|
|
|
public short mask;
|
|
|
public short option;
|
|
|
}
|
|
|
|
|
|
public struct TTaskCrdStop
|
|
|
{
|
|
|
public short mask;
|
|
|
public short option;
|
|
|
}
|
|
|
|
|
|
public struct TTaskCrdOverride
|
|
|
{
|
|
|
public short crd;
|
|
|
public double synVelOverride;
|
|
|
}
|
|
|
|
|
|
public struct TEvent
|
|
|
{
|
|
|
public long loop;
|
|
|
public TWatchVar var;
|
|
|
public ushort condition;
|
|
|
public double value;
|
|
|
}
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_ClearEvent();
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_ClearTask();
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_ClearEventTaskLink();
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_AddEvent(ref TEvent pEvent,ref short pEventIndex);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_AddTask(short taskType,System.IntPtr pTaskData,ref short pTaskIndex);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_AddEventTaskLink(short eventIndex,short taskIndex,ref short pLinkIndex);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetEventCount(out short pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetEvent(short eventIndex,out TEvent pEvent);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetEventLoop(short eventIndex,out long pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetTaskCount(out short pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetTask(short taskIndex,out short pTaskType,System.IntPtr pTaskData);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetEventTaskLinkCount(out short pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetEventTaskLink(short linkIndex,out short pEventIndex,out short pTaskIndex);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_EventOn(short eventIndex,short count);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_EventOff(short eventIndex,short count);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_BufEventOn(short crd,short eventIndex,short count,short fifo);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_BufEventOff(short crd,short eventIndex,short count,short fifo);
|
|
|
|
|
|
public const long VAR_CALCULATE_NONE = 0;
|
|
|
public const long VAR_CALCULATE_OR = 1;
|
|
|
public const long VAR_CALCULATE_AND = 3;
|
|
|
public const long VAR_CALCULATE_NOT = 5;
|
|
|
|
|
|
public const long VAR_CALCULATE_ADD = 11;
|
|
|
public const long VAR_CALCULATE_SUB = 12;
|
|
|
public const long VAR_CALCULATE_MUL = 13;
|
|
|
public const long VAR_CALCULATE_DIV = 14;
|
|
|
|
|
|
public struct TWatchCondition
|
|
|
{
|
|
|
public TWatchVar var;
|
|
|
public ushort condition;
|
|
|
public double value;
|
|
|
}
|
|
|
|
|
|
public struct TVarCalculate
|
|
|
{
|
|
|
public ushort operation;
|
|
|
public ushort varType;
|
|
|
public ushort result;
|
|
|
public ushort lhs;
|
|
|
public ushort rhs;
|
|
|
}
|
|
|
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_ClearVar();
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_SetVarBoolCondition(short varIndex,ref TWatchCondition pWatchCondition);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetVarBoolCondition(short varIndex,out TWatchCondition pWatchCondition);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_AddVarCalculate(ref TVarCalculate pVarCalculate,ref short pIndex);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetVarCalculateCount(out short pCount);
|
|
|
[DllImport("gts.dll")]
|
|
|
public static extern short GT_GetVarCalculate(short index,out TVarCalculate pVarCalculate);
|
|
|
}
|
|
|
} |