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;
}
}
}