using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace MazakCnc { public class Ntif { public const string _MAZAK_NTIF_ = ""; public const int MAZ_AXISMAX = 16; public const int MAZ_TOOLMAX = 20; public const int MAZ_ALMMAX = 24; public const int MAZ_ALMHISMAX = 72; public const int MAX_RRAGNO = 16383; public const int MAZERR_OK = 0; public const int MAZERR_SOCK = -10; public const int MAZERR_FlibHndl = -20; public const int MAZERR_CLIMAX = -21; public const int MAZERR_SERVERMAX = -22; public const int MAZERR_VER = -30; public const int MAZERR_BUSY = -40; public const int MAZERR_RUNNING = -50; public const int MAZERR_OVER = -51; public const int MAZERR_NONE = -52; public const int MAZERR_TYPE = -53; public const int MAZERR_EDIT = -54; public const int MAZERR_PROSIZE = -55; public const int MAZERR_PRONUM = -56; public const int MAZERR_ARG = -60; public const int MAZERR_SYS = -70; public const int MAZERR_FUNC = -80; public const int MAZERR_TIMEOUT = -90; public struct MAZ_AXISNAME { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] public string status; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.Struct)] public OneAxisName[] axis; } public struct OneAxisName { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string axisname; } public struct MAZ_NCPOS { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] public string status; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I4)] public int[] data; } public struct MAZ_PROINFO { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string wno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 49)] public string comment; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy2; public byte type; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy3; } public struct MAZ_PROINFO2 { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string wno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 49)] public string comment; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy2; public byte type; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy3; public int uno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy4; public int sno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy5; public int bno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy6; } public struct MAZ_AXISLOAD { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] public string status; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.U2)] public ushort[] data; } public struct MAZ_FEED { public int fmin; public int frev; } public struct MAZ_TOOLINFO { public ushort tno; public byte suf; public byte sufatr; public byte name; public byte part; public byte sts; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1)] public string dummy; public int yob; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy2; } public struct MAZ_TLIFE { public MAZ_TOOLINFO info; public uint sts; public uint lif; public uint use; public uint clif; public uint cuse; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy; } public struct MAZ_TLIFEALL { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.Struct)] public MAZ_TLIFE[] toolLife; } public struct MAZ_TDCOMP { public MAZ_TOOLINFO info; public uint sts; public int toolsetX; public int toolsetZ; public int offsetX; public int offsetY; public int offsetZ; public int lengthA; public int lengthB; public int radius; public int LenOffset; public int RadOffset; public int LenCompno; public int RadCompno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy; } public struct MAZ_TDCOMPALL { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.Struct)] public MAZ_TDCOMP[] offset; } public struct MAZ_TOFFCOMP { public int type; public int offset1; public int offset2; public int offset3; public int offset4; public int offset5; public int offset6; public int offset7; public int offset8; public int offset9; } public struct MAZ_ALARM { public short eno; public byte sts; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] public string dummy; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string pa1; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] public string pa2; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] public string pa3; public byte mon; public byte day; public byte hor; public byte min; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy2; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string extmes; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string head; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy3; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] public string message; } public struct MAZ_ALARMALL { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.Struct)] public MAZ_ALARM[] alarm; } public struct MAZ_ALARMHIS { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 72, ArraySubType = UnmanagedType.Struct)] public MAZ_ALARM[] alahis; } public struct MAZ_MAINTE { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 49)] public string lpszComment; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy; public ushort uYear; public ushort uMonth; public ushort uDay; public short nTargetTime; public int lProgressSec; } public struct MAZ_LMAINTE { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1568)] public string lpszComment; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy; public ushort uYear; public ushort uMonth; public ushort uDay; public short nTargetTime; public int lProgressSec; public uint flgReversed; } public struct MAZ_MAINTE_CHECK { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 22, ArraySubType = UnmanagedType.Struct)] public MAZ_MAINTE[] mainte; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.Struct)] public MAZ_LMAINTE[] lmainte; } public struct MAZ_NCONTIME { public uint year; public uint mon; public uint day; public uint hor; public uint min; public uint sec; } public struct MAZ_NCTIME { public uint hor; public uint min; public uint sec; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy; } public struct MAZ_ACCUM_TIME { public MAZ_NCTIME power_on; public MAZ_NCTIME auto_ope; public MAZ_NCTIME auto_cut; public MAZ_NCTIME total_cut; public MAZ_NCTIME total_time; } public struct MAZ_VERINFO { public ushort majorver; public ushort minorver; public ushort releasever; public ushort buildver; } public struct MAZ_NC_VERINFO { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string szMainA; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy1; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string szMainB; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy2; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string szLadder; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy3; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string szUnitName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy4; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string szNCSerial; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy5; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string szNCModel; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy6; } public struct MTC_COMP_FEED_INFO { public byte sts; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy; public double feed; } public struct MTC_ONE_AXIS_INFO { public byte sts; public byte dummy; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string axis_name; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)] public string dummy1; public double pos; public double mc_pos; public double load; public double feed; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17, ArraySubType = UnmanagedType.R8)] public double[] dummy2; } public struct MTC_AXIS_INFO { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.Struct)] public MTC_COMP_FEED_INFO[] composited_feedrate; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_AXIS_INFO[] axis; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_AXIS_INFO[] reserved; } public struct MTC_ONE_SPINDLE_INFO { public byte sts; public byte type; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)] public string dummy; public double rot; public double load; public double temp; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17, ArraySubType = UnmanagedType.R8)] public double[] dummy2; } public struct MTC_SPINDLE_INFO { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_SPINDLE_INFO[] sp_info; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_SPINDLE_INFO[] dummy; } public struct MTC_ONE_PROGRAM_INFO { public byte sts; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy; public int wno; public int subwno; public int blockno; public int seqno; public int unitno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string wno_string; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string subwno_string; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 49)] public string wno_comment; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 49)] public string subwno_comment; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 44)] public string dummy3; } public struct MTC_PROGRAM_INFO { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_PROGRAM_INFO[] prog_info; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_PROGRAM_INFO[] dummy; } public struct MTC_ONE_RUNNING_INFO { public byte sts; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy; public short ncmode; public short ncsts; public short tno; public byte suffix; public byte sufattr; public short figA; public short figB; public int nom; public int gno; public short sp_override; public short ax_override; public short rpid_override; public short almno; public int alm_fore_color; public int alm_back_color; public short prtcnt; public short prtcnt_clamp; public int autotim; public int cuttim; public int totaltim; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 112)] public string dummy3; } public struct MTC_RUNNING_INFO { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_RUNNING_INFO[] run_info; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.Struct)] public MTC_ONE_RUNNING_INFO[] dummy; } [StructLayout(LayoutKind.Explicit)] public struct Data { [FieldOffset(0)] public byte ucdata; [FieldOffset(0)] public byte cdata; [FieldOffset(0)] public ushort usdata; [FieldOffset(0)] public short sdata; [FieldOffset(0)] public uint uldata; [FieldOffset(0)] public int ldata; } public struct MAZ_TD_COMMON { public ushort tno; public byte name; public byte part; public int nom; public byte itf; public byte suf; public byte sufatr; public byte dummy1; public ushort pkno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)] public string dummy2; public int lengthA; public int lengthB; public int lengthC; public int diameter; public long toolsetX; public long toolsetZ; public short rotate; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)] public string dummy3; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)] public string mtr; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy4; public short holdno; public short holdtype; public int lifetime; public int usetime; public ushort lifenumber; public ushort usenumber; public int gno; public int compno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)] public string idno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)] public string dummy5; public int wearcompX; public int wearcompZ; public int wearcompY; public int maxwearX; public int maxwearZ; public int maxwearY; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)] public string model; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy6; public int teyecompX; public int teyecompZ; public int holdlength; public int holddiam; public int sts; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 28)] public string dummy7; } public struct MAZ_TD_TURNING_COMMON { public short angle; public byte index_select; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1)] public string dummy1; public int easycompX; public int easycompZ; public int easycompY; public int conscompX; public int conscompZ; public int conscompY; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)] public string dummy2; } public struct MAZ_TD_GENERAL { public MAZ_TD_TURNING_COMMON td_general; public int cutang; public int edgang; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] public string dummy1; public int holdwidth1; public int holdwidth2; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy2; public int twidth; public byte lbbno; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 39)] public string dummy3; } public struct MAZ_TD_VARIOUS { public MAZ_TD_GENERAL td_general; } public struct MAZ_TD { public uint avf; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)] public string dummy; public MAZ_TD_COMMON td_common; public MAZ_TD_VARIOUS td_various; } public struct MAZ_TDALL { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] public MAZ_TD[] tool; } public struct MAZ_MAC_TYPE { public byte gcodeType; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy1; public int tableType; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy2; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] public string headAxisName; public int ttpcMacType; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy3; } public struct MAZ_MODAL_INFO { public byte sts; public byte dummy1; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)] public string aux; public int modalS; public int modalF; public int modalM; public int modalAux; public int dummy2; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.U2)] public short[] modalG; } public struct MAZ_TOFFINFO { public int type; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] public string dummy1; public ushort toffNum1; public ushort toffNum2; public ushort toffNum3; public ushort toffNum4; public byte toffSysVar; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy2; } public struct MAZ_TD_ERRORALL { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.Struct)] public MAZ_TD_ERROR[] tdata_err; } public struct MAZ_TD_ERROR { public byte failure; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy1; public uint err_flg1; public uint err_flg2; public uint err_flg3; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)] public string dummy2; } [StructLayout(LayoutKind.Sequential, Pack = 4)] public struct MAZ_CERTIFY { /// /// 授权码 /// [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string vendorCode; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy1; /// /// 用户名 /// [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string appName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string dummy2; /// /// 密码 /// [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)] public string userPasswd; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 15)] public string dummy3; } [DllImport("NTIFDLL.dll")] public static extern int MazConnect_s(ref ushort FlibHndl, [In][MarshalAs(UnmanagedType.LPStr)] string ip, int port, int timeout, MAZ_CERTIFY certify); [System.Runtime.InteropServices.DllImportAttribute("NTIFDLL.dll", EntryPoint = "MazConnect")] public static extern int MazConnect(ref ushort hndl, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string param1, ushort param2, ushort param3); [DllImport("NTIFDLL.dll")] public static extern int MazDisconnect(ushort FlibHndl); [DllImport("NTIFDLL.dll")] public static extern int MazGetAxisName(ushort FlibHndl, ref MAZ_AXISNAME param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetMachineUnit(ushort FlibHndl, ref short param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetCurrentPos(ushort FlibHndl, ref MAZ_NCPOS param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetRemain(ushort FlibHndl, ref MAZ_NCPOS param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetRunMode(ushort FlibHndl, ushort head, ref short param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetMainPro(ushort FlibHndl, ushort head, ref MAZ_PROINFO param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetRunningPro(ushort FlibHndl, ushort head, ref MAZ_PROINFO param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetRunningPro2(ushort FlibHndl, ushort head, ref MAZ_PROINFO2 param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetSpindleLoad(ushort FlibHndl, ushort head, ref ushort param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetAxisLoad(ushort FlibHndl, ref MAZ_AXISLOAD param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetOrderSpindleRev(ushort FlibHndl, ushort head, ref int param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetCurrentSpindleRev(ushort FlibHndl, ushort head, ref int param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetFeed(ushort FlibHndl, ushort head, ref MAZ_FEED param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetFeedOverRide(ushort FlibHndl, ushort head, ref ushort param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetCurrentTool(ushort FlibHndl, ushort head, ref MAZ_TOOLINFO param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetPartsCount(ushort FlibHndl, ushort head, ref int param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetRunningSts(ushort FlibHndl, ushort head, ref short param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetMagazineToolNum(ushort FlibHndl, ushort head, ref int param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetToolLife(ushort FlibHndl, ushort head, short tlnum, ref MAZ_TLIFEALL param3); [DllImport("NTIFDLL.dll")] public static extern int MazGetToolDataComp(ushort FlibHndl, ushort head, short tlnum, ref MAZ_TDCOMPALL param3); [DllImport("NTIFDLL.dll")] public static extern int MazGetToolOffsetComp(ushort FlibHndl, ushort head, short tlnum, ref MAZ_TOFFCOMP param3); [DllImport("NTIFDLL.dll")] public static extern int MazSetToolOffsetComp(ushort FlibHndl, ushort head, short tlnum, ref MAZ_TOFFCOMP param3); [DllImport("NTIFDLL.dll")] public static extern int MazGetToolOffsetInfo(ushort FlibHndl, ref MAZ_TOFFINFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazDeleteToolData(ushort FlibHndl, ushort head, [In] [Out] MAZ_TD[] param2); [DllImport("NTIFDLL.dll")] public static extern int MazSetToolData(ushort FlibHndl, ushort head, ushort tlnum, ref MAZ_TDALL param3, ref MAZ_TD_ERRORALL param4); [DllImport("NTIFDLL.dll")] public static extern int MazGetAlarm(ushort FlibHndl, ref MAZ_ALARMALL param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetAlarmHis(ushort FlibHndl, ref MAZ_ALARMHIS param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetMainteCheck(ushort FlibHndl, ref MAZ_MAINTE_CHECK param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetNcPowerOnTime(ushort FlibHndl, ref MAZ_NCONTIME param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetRunningTime(ushort FlibHndl, ushort head, ref MAZ_NCTIME param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetPreparationTime(ushort FlibHndl, ushort head, ref MAZ_NCTIME param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetAccumulatedTime(ushort FlibHndl, ushort head, ref MAZ_ACCUM_TIME param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetClientVer(ushort FlibHndl, ref MAZ_VERINFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetServerVer(ushort FlibHndl, ref MAZ_VERINFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetNCVersionInfo(ushort FlibHndl, ref MAZ_NC_VERINFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetAxisInfo(ushort FlibHndl, ref MTC_AXIS_INFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetSpindleInfo(ushort FlibHndl, ref MTC_SPINDLE_INFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetProgramInfo(ushort FlibHndl, ref MTC_PROGRAM_INFO param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetRunningInfo(ushort FlibHndl, ref MTC_RUNNING_INFO param1); [DllImport("NTIFDLL.dll", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = true)] public static extern int MazGetToolDataNum(ushort FlibHndl, ushort head, ref int tdnum); [DllImport("NTIFDLL.dll")] public static extern int MazGetToolData(ushort FlibHndl, ushort head, ushort tlnum, ref MAZ_TDALL param3); [DllImport("NTIFDLL.dll")] public static extern int MazGetAllToolData(ushort FlibHndl, ushort param1, int param2, [In] [Out] MAZ_TD[] param3); [DllImport("NTIFDLL.dll")] public static extern int MazGetRapidOverRide(ushort FlibHndl, ushort head, ref ushort param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetSpindleOverRide(ushort FlibHndl, ushort head, ref ushort param2); [DllImport("NTIFDLL.dll")] public static extern int MazGetMachineType(ushort FlibHndl, ref MAZ_MAC_TYPE param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetCmnVarInfo(ushort FlibHndl, ref short param1); [DllImport("NTIFDLL.dll", CallingConvention = CallingConvention.StdCall)] public static extern int MazGetRangedCmnVar(ushort FlibHndl, short head, short cmnVarTop, short cmnVarEnd, double[] mcrData); [DllImport("NTIFDLL.dll")] public static extern int MazSetRangedCmnVar(ushort FlibHndl, short head, short cmnVarTop, short cmnVarEnd, double[] mcrData); [DllImport("NTIFDLL.dll")] public static extern int MazGetModal(ushort FlibHndl, ushort head, ref MAZ_MODAL_INFO modal); [DllImport("NTIFDLL.dll")] public static extern int GetNCLangKind(ushort FlibHndl, ref short param1); [DllImport("NTIFDLL.dll")] public static extern int MazGetMachinePos(ushort FlibHndl, ref MAZ_NCPOS param1); /// /// 向机床发送程序 /// /// /// 内容 max 32 char /// 路径 max 260 bytes /// 1覆盖 0不覆盖 /// [DllImport("NTIFDLL.dll")] public static extern int MazReceiveProgram(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object wno, [In, MarshalAs(UnmanagedType.AsAny)] Object dir, short overwrite); /// /// 向机床发送程序2 /// /// /// 内容 max 32 char + null 1 char /// 路径 max 260 bytes /// 1覆盖 0不覆盖 /// 标准区0,硬盘1 /// [DllImport("NTIFDLL.dll")] public static extern int MazReceiveProgram2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object wno, [In, MarshalAs(UnmanagedType.AsAny)] Object dir, short overwrite, short area); /// /// 向机床上传程序 文件名+路径 不能超过260 char /// /// /// 指定程序的文件名 /// 程序绝对路径 /// 1覆盖 0不覆盖 /// [DllImport("NTIFDLL.dll")] public static extern int MazSendProgram(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object wno, [In, MarshalAs(UnmanagedType.AsAny)] Object dir, short overwrite); /// /// 向机床上传程序2 /// /// /// 指定程序的文件名 /// 程序绝对路径 /// 1覆盖 0不覆盖 /// 标准区0,硬盘1 /// [DllImport("NTIFDLL.dll")] public static extern int MazSendProgram2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object wno, [In, MarshalAs(UnmanagedType.AsAny)] Object dir, short overwrite, short area); [DllImport("NTIFDLL.dll")] public static extern int MazGetProgramFileList(ushort FlibHndl, int proNum, [Out] MAZ_PROFILE_INFO[] proFile); [DllImport("NTIFDLL.dll")] public static extern int MazGetProgramFileList2(ushort FlibHndl, int proNum, short overwrite, [Out] MAZ_PROFILE_INFO[] proFile); public class MAZ_PROFILE_INFO { public MAZ_PROINFO proInfo; public long proSize; public MAZ_PROGRAM_DATE createData; public MAZ_PROGRAM_DATE writeData; } public class MAZ_PROGRAM_DATE { public sbyte year; public sbyte month; public sbyte day; public sbyte hour; public sbyte min; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)] public string dummy; } } }