Files
2020-06-22 09:21:13 +02:00

11900 lines
547 KiB
C#

/*-------------------------------------------------------------------*/
/* FWLIB32.cs */
/* */
/* CNC/PMC Data Window Library for FOCAS1/Ethernet */
/* */
/* Copyright (C) 2002-2014 by FANUC CORPORATION All rights reserved. */
/* */
/*-------------------------------------------------------------------*/
#define LEAVE_OLD_STYLE
using System;
using System.Runtime.InteropServices;
internal class Focas1
{
#if WIN64
internal const string FOCAS_LIB_NAME = "FWLIB64.dll";
#else
internal const string FOCAS_LIB_NAME = "FWLIB32.dll";
#endif
/* Axis define */
#if FS30D
internal const short MAX_AXIS = 20;
#elif M_AXIS2
internal const short MAX_AXIS = 24;
#elif FS15D
internal const short MAX_AXIS = 10;
#else
internal const short MAX_AXIS = 8;
#endif
internal const short ALL_AXES = (-1);
internal const short ALL_SPINDLES = (-1);
internal const short EW_OK = (short)focas_ret.EW_OK;
/* Error Codes */
internal enum focas_ret
{
EW_PROTOCOL = (-17), /* protocol error */
EW_SOCKET = (-16), /* Windows socket error */
EW_NODLL = (-15), /* DLL not exist error */
EW_BUS = (-11), /* bus error */
EW_SYSTEM2 = (-10), /* system error */
EW_HSSB = (-9), /* hssb communication error */
EW_HANDLE = (-8), /* Windows library handle error */
EW_VERSION = (-7), /* CNC/PMC version missmatch */
EW_UNEXP = (-6), /* abnormal error */
EW_SYSTEM = (-5), /* system error */
EW_PARITY = (-4), /* shared RAM parity error */
EW_MMCSYS = (-3), /* emm386 or mmcsys install error */
EW_RESET = (-2), /* reset or stop occured error */
EW_BUSY = (-1), /* busy error */
EW_OK = 0, /* no problem */
EW_FUNC = 1, /* command prepare error */
EW_NOPMC = 1, /* pmc not exist */
EW_LENGTH = 2, /* data block length error */
EW_NUMBER = 3, /* data number error */
EW_RANGE = 3, /* address range error */
EW_ATTRIB = 4, /* data attribute error */
EW_TYPE = 4, /* data type error */
EW_DATA = 5, /* data error */
EW_NOOPT = 6, /* no option error */
EW_PROT = 7, /* write protect error */
EW_OVRFLOW = 8, /* memory overflow error */
EW_PARAM = 9, /* cnc parameter not correct error */
EW_BUFFER = 10, /* buffer error */
EW_PATH = 11, /* path error */
EW_MODE = 12, /* cnc mode error */
EW_REJECT = 13, /* execution rejected error */
EW_DTSRVR = 14, /* data server error */
EW_ALARM = 15, /* alarm has been occurred */
EW_STOP = 16, /* CNC is not running */
EW_PASSWD = 17, /* protection data error */
/*
Result codes of DNC operation
*/
DNC_NORMAL = (-1), /* normal completed */
DNC_CANCEL = (-32768), /* DNC operation was canceled by CNC */
DNC_OPENERR = (-514), /* file open error */
DNC_NOFILE = (-516), /* file not found */
DNC_READERR = (-517) /* read error */
};
/*--------------------*/
/* */
/* Structure Template */
/* */
/*--------------------*/
/*-------------------------------------*/
/* CNC: Control axis / spindle related */
/*-------------------------------------*/
/* cnc_actf:read actual axis feedrate(F) */
/* cnc_acts:read actual spindle speed(S) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBACT
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
internal int data; /* actual feed / actual spindle */
}
/* cnc_acts2:read actual spindle speed(S) */
/* (All or specified ) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBACT2
{
internal short datano; /* spindle number */
internal short type; /* dummy */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal int[] data; /* spindle data */
}
/* cnc_absolute:read absolute axis position */
/* cnc_machine:read machine axis position */
/* cnc_relative:read relative axis position */
/* cnc_distance:read distance to go */
/* cnc_skip:read skip position */
/* cnc_srvdelay:read servo delay value */
/* cnc_accdecdly:read acceleration/deceleration delay value */
/* cnc_absolute2:read absolute axis position 2 */
/* cnc_relative2:read relative axis position 2 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAXIS
{
internal short dummy; /* dummy */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] data; /* data value */
}
/* cnc_rddynamic:read all dynamic data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class FAXIS
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] absolute; /* absolute position */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] machine; /* machine position */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] relative; /* relative position */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] distance; /* distance to go */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OAXIS
{
internal int absolute; /* absolute position */
internal int machine; /* machine position */
internal int relative; /* relative position */
internal int distance; /* distance to go */
}
#if (!ONO8D)
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDY_1
{
internal short dummy;
internal short axis; /* axis number */
internal short alarm; /* alarm status */
internal short prgnum; /* current program number */
internal short prgmnum; /* main program number */
internal int seqnum; /* current sequence number */
internal int actf; /* actual feedrate */
internal int acts; /* actual spindle speed */
internal FAXIS pos = new FAXIS();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDY_2
{
internal short dummy;
internal short axis; /* axis number */
internal short alarm; /* alarm status */
internal short prgnum; /* current program number */
internal short prgmnum; /* main program number */
internal int seqnum; /* current sequence number */
internal int actf; /* actual feedrate */
internal int acts; /* actual spindle speed */
internal OAXIS pos = new OAXIS();
}
#else
[StructLayout(LayoutKind.Sequential, Pack=4)]
internal class ODBDY_1
{
internal short dummy ;
internal short axis ; /* axis number */
internal short alarm ; /* alarm status */
internal int prgnum ; /* current program number */
internal int prgmnum ; /* main program number */
internal int seqnum ; /* current sequence number */
internal int actf ; /* actual feedrate */
internal int acts ; /* actual spindle speed */
internal FAXIS pos = new FAXIS();
}
[StructLayout(LayoutKind.Sequential, Pack=4)]
internal class ODBDY_2
{
internal short dummy ;
internal short axis ; /* axis number */
internal short alarm ; /* alarm status */
internal int prgnum ; /* current program number */
internal int prgmnum ; /* main program number */
internal int seqnum ; /* current sequence number */
internal int actf ; /* actual feedrate */
internal int acts ; /* actual spindle speed */
internal OAXIS pos = new OAXIS();
}
#endif
/* cnc_rddynamic2:read all dynamic data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDY2_1
{
internal short dummy;
internal short axis; /* axis number */
internal int alarm; /* alarm status */
internal int prgnum; /* current program number */
internal int prgmnum; /* main program number */
internal int seqnum; /* current sequence number */
internal int actf; /* actual feedrate */
internal int acts; /* actual spindle speed */
internal FAXIS pos = new FAXIS();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDY2_2
{
internal short dummy;
internal short axis; /* axis number */
internal int alarm; /* alarm status */
internal int prgnum; /* current program number */
internal int prgmnum; /* main program number */
internal int seqnum; /* current sequence number */
internal int actf; /* actual feedrate */
internal int acts; /* actual spindle speed */
internal OAXIS pos = new OAXIS(); /* In case of 1 axis */
}
/* cnc_wrrelpos:set origin / preset relative axis position */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBWRR
{
internal short datano; /* dummy */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] data = new int[MAX_AXIS]; /* preset data */
}
/* cnc_prstwkcd:preset work coordinate */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBWRA
{
internal short datano; /* dummy */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] data = new int[MAX_AXIS]; /* preset data */
}
/* cnc_rdmovrlap:read manual overlapped motion value */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBOVL
{
internal short datano; /* dummy */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * MAX_AXIS)]
internal int[] data; /* data value:[2][MAX_AXIS] */
}
/* cnc_rdspload:read load information of serial spindle */
/* cnc_rdspmaxrpm:read maximum r.p.m. ratio of serial spindle */
/* cnc_rdspgear:read gear ratio of serial spindle */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPN
{
internal short datano; /* dummy */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal short[] data; /* preset data */
}
/* cnc_rdposition:read tool position */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class POSELM
{
internal int data; /* position data */
internal short dec; /* place of decimal point of position data */
internal short unit; /* unit of position data */
internal short disp; /* status of display */
internal char name; /* axis name */
internal char suff; /* axis name preffix */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class POSELMALL
{
internal POSELM abs = new POSELM();
internal POSELM mach = new POSELM();
internal POSELM rel = new POSELM();
internal POSELM dist = new POSELM();
}
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPOS
{
internal POSELMALL p1 = new POSELMALL();
internal POSELMALL p2 = new POSELMALL();
internal POSELMALL p3 = new POSELMALL();
internal POSELMALL p4 = new POSELMALL();
internal POSELMALL p5 = new POSELMALL();
internal POSELMALL p6 = new POSELMALL();
internal POSELMALL p7 = new POSELMALL();
internal POSELMALL p8 = new POSELMALL();
internal POSELMALL p9 = new POSELMALL();
internal POSELMALL p10 = new POSELMALL();
internal POSELMALL p11 = new POSELMALL();
internal POSELMALL p12 = new POSELMALL();
internal POSELMALL p13 = new POSELMALL();
internal POSELMALL p14 = new POSELMALL();
internal POSELMALL p15 = new POSELMALL();
internal POSELMALL p16 = new POSELMALL();
internal POSELMALL p17 = new POSELMALL();
internal POSELMALL p18 = new POSELMALL();
internal POSELMALL p19 = new POSELMALL();
internal POSELMALL p20 = new POSELMALL();
internal POSELMALL p21 = new POSELMALL();
internal POSELMALL p22 = new POSELMALL();
internal POSELMALL p23 = new POSELMALL();
internal POSELMALL p24 = new POSELMALL();
internal POSELMALL p25 = new POSELMALL();
internal POSELMALL p26 = new POSELMALL();
internal POSELMALL p27 = new POSELMALL();
internal POSELMALL p28 = new POSELMALL();
internal POSELMALL p29 = new POSELMALL();
internal POSELMALL p30 = new POSELMALL();
internal POSELMALL p31 = new POSELMALL();
internal POSELMALL p32 = new POSELMALL();
}
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBPOS
{
internal POSELMALL p1=new POSELMALL();
internal POSELMALL p2=new POSELMALL();
internal POSELMALL p3=new POSELMALL();
internal POSELMALL p4=new POSELMALL();
internal POSELMALL p5=new POSELMALL();
internal POSELMALL p6=new POSELMALL();
internal POSELMALL p7=new POSELMALL();
internal POSELMALL p8=new POSELMALL();
internal POSELMALL p9=new POSELMALL();
internal POSELMALL p10=new POSELMALL();
internal POSELMALL p11=new POSELMALL();
internal POSELMALL p12=new POSELMALL();
internal POSELMALL p13=new POSELMALL();
internal POSELMALL p14=new POSELMALL();
internal POSELMALL p15=new POSELMALL();
internal POSELMALL p16=new POSELMALL();
internal POSELMALL p17=new POSELMALL();
internal POSELMALL p18=new POSELMALL();
internal POSELMALL p19=new POSELMALL();
internal POSELMALL p20=new POSELMALL();
internal POSELMALL p21=new POSELMALL();
internal POSELMALL p22=new POSELMALL();
internal POSELMALL p23=new POSELMALL();
internal POSELMALL p24=new POSELMALL();
// In case of 24 axes.
// if you need the more information, you must be add the member.
}
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBPOS
{
internal POSELMALL p1=new POSELMALL();
internal POSELMALL p2=new POSELMALL();
internal POSELMALL p3=new POSELMALL();
internal POSELMALL p4=new POSELMALL();
internal POSELMALL p5=new POSELMALL();
internal POSELMALL p6=new POSELMALL();
internal POSELMALL p7=new POSELMALL();
internal POSELMALL p8=new POSELMALL();
internal POSELMALL p9=new POSELMALL();
internal POSELMALL p10=new POSELMALL();
// In case of 10 axes.
// if you need the more information, you must be add the member.
}
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPOS
{
internal POSELMALL p1 = new POSELMALL();
internal POSELMALL p2 = new POSELMALL();
internal POSELMALL p3 = new POSELMALL();
internal POSELMALL p4 = new POSELMALL();
internal POSELMALL p5 = new POSELMALL();
internal POSELMALL p6 = new POSELMALL();
internal POSELMALL p7 = new POSELMALL();
internal POSELMALL p8 = new POSELMALL();
// In case of 8 axes.
// if you need the more information, you must be add the member.
}
#endif
/* cnc_rdhndintrpt:read handle interruption */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHND_data
{
internal POSELM input = new POSELM(); /* input unit */
internal POSELM output = new POSELM(); /* output unit */
}
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHND
{
internal ODBHND_data p1 = new ODBHND_data();
internal ODBHND_data p2 = new ODBHND_data();
internal ODBHND_data p3 = new ODBHND_data();
internal ODBHND_data p4 = new ODBHND_data();
internal ODBHND_data p5 = new ODBHND_data();
internal ODBHND_data p6 = new ODBHND_data();
internal ODBHND_data p7 = new ODBHND_data();
internal ODBHND_data p8 = new ODBHND_data();
internal ODBHND_data p9 = new ODBHND_data();
internal ODBHND_data p10 = new ODBHND_data();
internal ODBHND_data p11 = new ODBHND_data();
internal ODBHND_data p12 = new ODBHND_data();
internal ODBHND_data p13 = new ODBHND_data();
internal ODBHND_data p14 = new ODBHND_data();
internal ODBHND_data p15 = new ODBHND_data();
internal ODBHND_data p16 = new ODBHND_data();
internal ODBHND_data p17 = new ODBHND_data();
internal ODBHND_data p18 = new ODBHND_data();
internal ODBHND_data p19 = new ODBHND_data();
internal ODBHND_data p20 = new ODBHND_data();
internal ODBHND_data p21 = new ODBHND_data();
internal ODBHND_data p22 = new ODBHND_data();
internal ODBHND_data p23 = new ODBHND_data();
internal ODBHND_data p24 = new ODBHND_data();
internal ODBHND_data p25 = new ODBHND_data();
internal ODBHND_data p26 = new ODBHND_data();
internal ODBHND_data p27 = new ODBHND_data();
internal ODBHND_data p28 = new ODBHND_data();
internal ODBHND_data p29 = new ODBHND_data();
internal ODBHND_data p30 = new ODBHND_data();
internal ODBHND_data p31 = new ODBHND_data();
internal ODBHND_data p32 = new ODBHND_data();
}
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBHND
{
internal ODBHND_data p1=new ODBHND_data();
internal ODBHND_data p2=new ODBHND_data();
internal ODBHND_data p3=new ODBHND_data();
internal ODBHND_data p4=new ODBHND_data();
internal ODBHND_data p5=new ODBHND_data();
internal ODBHND_data p6=new ODBHND_data();
internal ODBHND_data p7=new ODBHND_data();
internal ODBHND_data p8=new ODBHND_data();
internal ODBHND_data p9=new ODBHND_data();
internal ODBHND_data p10=new ODBHND_data();
internal ODBHND_data p11=new ODBHND_data();
internal ODBHND_data p12=new ODBHND_data();
internal ODBHND_data p13=new ODBHND_data();
internal ODBHND_data p14=new ODBHND_data();
internal ODBHND_data p15=new ODBHND_data();
internal ODBHND_data p16=new ODBHND_data();
internal ODBHND_data p17=new ODBHND_data();
internal ODBHND_data p18=new ODBHND_data();
internal ODBHND_data p19=new ODBHND_data();
internal ODBHND_data p20=new ODBHND_data();
internal ODBHND_data p21=new ODBHND_data();
internal ODBHND_data p22=new ODBHND_data();
internal ODBHND_data p23=new ODBHND_data();
internal ODBHND_data p24=new ODBHND_data();
// In case of 24 axes.
// if you need the more information, you must be add the member.
}
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBHND
{
internal ODBHND_data p1=new ODBHND_data();
internal ODBHND_data p2=new ODBHND_data();
internal ODBHND_data p3=new ODBHND_data();
internal ODBHND_data p4=new ODBHND_data();
internal ODBHND_data p5=new ODBHND_data();
internal ODBHND_data p6=new ODBHND_data();
internal ODBHND_data p7=new ODBHND_data();
internal ODBHND_data p8=new ODBHND_data();
internal ODBHND_data p9=new ODBHND_data();
internal ODBHND_data p10=new ODBHND_data();
// In case of 10 axes.
// if you need the more information, you must be add the member.
}
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHND
{
internal ODBHND_data p1 = new ODBHND_data();
internal ODBHND_data p2 = new ODBHND_data();
internal ODBHND_data p3 = new ODBHND_data();
internal ODBHND_data p4 = new ODBHND_data();
internal ODBHND_data p5 = new ODBHND_data();
internal ODBHND_data p6 = new ODBHND_data();
internal ODBHND_data p7 = new ODBHND_data();
internal ODBHND_data p8 = new ODBHND_data();
// In case of 8 axes.
// if you need the more information, you must be add the member.
}
#endif
/* cnc_rdspeed:read current speed */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class SPEEDELM
{
internal int data; /* speed data */
internal short dec; /* decimal position */
internal short unit; /* data unit */
internal short disp; /* display flag */
internal byte name; /* name of data */
internal byte suff; /* suffix */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPEED
{
internal SPEEDELM actf = new SPEEDELM(); /* actual feed rate */
internal SPEEDELM acts = new SPEEDELM(); /* actual spindle speed */
}
/* cnc_rdsvmeter:read servo load meter */
/* cnc_rdspmeter:read spindle load meter */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class LOADELM
{
internal int data; /* load meter */
internal short dec; /* decimal position */
internal short unit; /* unit */
internal byte name; /* name of data */
internal byte suff1; /* suffix */
internal byte suff2; /* suffix */
internal byte reserve; /* reserve */
}
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSVLOAD
{
internal LOADELM svload1 = new LOADELM(); /* servo load meter */
internal LOADELM svload2 = new LOADELM(); /* servo load meter */
internal LOADELM svload3 = new LOADELM(); /* servo load meter */
internal LOADELM svload4 = new LOADELM(); /* servo load meter */
internal LOADELM svload5 = new LOADELM(); /* servo load meter */
internal LOADELM svload6 = new LOADELM(); /* servo load meter */
internal LOADELM svload7 = new LOADELM(); /* servo load meter */
internal LOADELM svload8 = new LOADELM(); /* servo load meter */
internal LOADELM svload9 = new LOADELM(); /* servo load meter */
internal LOADELM svload10 = new LOADELM(); /* servo load meter */
internal LOADELM svload11 = new LOADELM(); /* servo load meter */
internal LOADELM svload12 = new LOADELM(); /* servo load meter */
internal LOADELM svload13 = new LOADELM(); /* servo load meter */
internal LOADELM svload14 = new LOADELM(); /* servo load meter */
internal LOADELM svload15 = new LOADELM(); /* servo load meter */
internal LOADELM svload16 = new LOADELM(); /* servo load meter */
internal LOADELM svload17 = new LOADELM(); /* servo load meter */
internal LOADELM svload18 = new LOADELM(); /* servo load meter */
internal LOADELM svload19 = new LOADELM(); /* servo load meter */
internal LOADELM svload20 = new LOADELM(); /* servo load meter */
internal LOADELM svload21 = new LOADELM(); /* servo load meter */
internal LOADELM svload22 = new LOADELM(); /* servo load meter */
internal LOADELM svload23 = new LOADELM(); /* servo load meter */
internal LOADELM svload24 = new LOADELM(); /* servo load meter */
internal LOADELM svload25 = new LOADELM(); /* servo load meter */
internal LOADELM svload26 = new LOADELM(); /* servo load meter */
internal LOADELM svload27 = new LOADELM(); /* servo load meter */
internal LOADELM svload28 = new LOADELM(); /* servo load meter */
internal LOADELM svload29 = new LOADELM(); /* servo load meter */
internal LOADELM svload30 = new LOADELM(); /* servo load meter */
internal LOADELM svload31 = new LOADELM(); /* servo load meter */
internal LOADELM svload32 = new LOADELM(); /* servo load meter */
}
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBSVLOAD
{
internal LOADELM svload1 = new LOADELM(); /* servo load meter */
internal LOADELM svload2 = new LOADELM(); /* servo load meter */
internal LOADELM svload3 = new LOADELM(); /* servo load meter */
internal LOADELM svload4 = new LOADELM(); /* servo load meter */
internal LOADELM svload5 = new LOADELM(); /* servo load meter */
internal LOADELM svload6 = new LOADELM(); /* servo load meter */
internal LOADELM svload7 = new LOADELM(); /* servo load meter */
internal LOADELM svload8 = new LOADELM(); /* servo load meter */
internal LOADELM svload9 = new LOADELM(); /* servo load meter */
internal LOADELM svload10= new LOADELM(); /* servo load meter */
internal LOADELM svload11= new LOADELM(); /* servo load meter */
internal LOADELM svload12= new LOADELM(); /* servo load meter */
internal LOADELM svload13= new LOADELM(); /* servo load meter */
internal LOADELM svload14= new LOADELM(); /* servo load meter */
internal LOADELM svload15= new LOADELM(); /* servo load meter */
internal LOADELM svload16= new LOADELM(); /* servo load meter */
internal LOADELM svload17= new LOADELM(); /* servo load meter */
internal LOADELM svload18= new LOADELM(); /* servo load meter */
internal LOADELM svload19= new LOADELM(); /* servo load meter */
internal LOADELM svload20= new LOADELM(); /* servo load meter */
internal LOADELM svload21= new LOADELM(); /* servo load meter */
internal LOADELM svload22= new LOADELM(); /* servo load meter */
internal LOADELM svload23= new LOADELM(); /* servo load meter */
internal LOADELM svload24= new LOADELM(); /* servo load meter */
}
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBSVLOAD
{
internal LOADELM svload1 = new LOADELM(); /* servo load meter */
internal LOADELM svload2 = new LOADELM(); /* servo load meter */
internal LOADELM svload3 = new LOADELM(); /* servo load meter */
internal LOADELM svload4 = new LOADELM(); /* servo load meter */
internal LOADELM svload5 = new LOADELM(); /* servo load meter */
internal LOADELM svload6 = new LOADELM(); /* servo load meter */
internal LOADELM svload7 = new LOADELM(); /* servo load meter */
internal LOADELM svload8 = new LOADELM(); /* servo load meter */
internal LOADELM svload9 = new LOADELM(); /* servo load meter */
internal LOADELM svload10= new LOADELM(); /* servo load meter */
}
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSVLOAD
{
internal LOADELM svload1 = new LOADELM(); /* servo load meter */
internal LOADELM svload2 = new LOADELM(); /* servo load meter */
internal LOADELM svload3 = new LOADELM(); /* servo load meter */
internal LOADELM svload4 = new LOADELM(); /* servo load meter */
internal LOADELM svload5 = new LOADELM(); /* servo load meter */
internal LOADELM svload6 = new LOADELM(); /* servo load meter */
internal LOADELM svload7 = new LOADELM(); /* servo load meter */
internal LOADELM svload8 = new LOADELM(); /* servo load meter */
}
#endif
/* cnc_rdexecpt:read execution program pointer */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class PRGPNT
{
internal int prog_no; /* program number */
internal int blk_no; /* block number */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPLOAD_data
{
internal LOADELM spload = new LOADELM(); /* spindle load meter */
internal LOADELM spspeed = new LOADELM(); /* spindle speed */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPLOAD
{
internal ODBSPLOAD_data spload1 = new ODBSPLOAD_data(); /* spindle load */
internal ODBSPLOAD_data spload2 = new ODBSPLOAD_data(); /* spindle load */
internal ODBSPLOAD_data spload3 = new ODBSPLOAD_data(); /* spindle load */
internal ODBSPLOAD_data spload4 = new ODBSPLOAD_data(); /* spindle load */
}
/* cnc_rd5axmandt:read manual feed for 5-axis machining */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB5AXMAN
{
internal short type1;
internal short type2;
internal short type3;
internal int data1;
internal int data2;
internal int data3;
internal int c1;
internal int c2;
internal int dummy;
internal int td;
internal int r1;
internal int r2;
internal int vr;
internal int h1;
internal int h2;
}
/*----------------------*/
/* CNC: Program related */
/*----------------------*/
/* cnc_rddncdgndt:read the diagnosis data of DNC operation */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDNCDGN
{
internal short ctrl_word;
internal short can_word;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal char[] nc_file;
internal ushort read_ptr;
internal ushort write_ptr;
internal ushort empty_cnt;
internal uint total_size;
}
/* cnc_upload:upload NC program */
/* cnc_cupload:upload NC program(conditional) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBUP
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
internal char[] data; /* data */
} /* In case that the number of data is 256 */
/* cnc_buff:read buffer status for downloading/verification NC program */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBBUF
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
internal short data; /* buffer status */
}
/* cnc_rdprogdir:read program directory */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class PRGDIR
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
internal char[] prg_data; /* directory data */
} /* In case that the number of data is 256 */
/* cnc_rdproginfo:read program information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBNC_1
{
internal short reg_prg; /* registered program number */
internal short unreg_prg; /* unregistered program number */
internal int used_mem; /* used memory area */
internal int unused_mem; /* unused memory area */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBNC_2
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 31)]
internal char[] asc; /* ASCII string type */
}
/* cnc_rdprgnum:read program number under execution */
#if (!ONO8D)
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPRO
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
internal short data; /* running program number */
internal short mdata; /* main program number */
}
#else
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBPRO
{
[MarshalAs(UnmanagedType.ByValArray,SizeConst=2)]
internal short[] dummy ; /* dummy */
internal int data ; /* running program number */
internal int mdata ; /* main program number */
}
#endif
/* cnc_exeprgname:read program name under execution */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBEXEPRG
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
internal char[] name; /* running program name */
internal int o_num; /* running program number */
}
/* cnc_rdseqnum:read sequence number under execution */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSEQ
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
internal int data; /* sequence number */
}
/* cnc_rdmdipntr:read execution pointer for MDI operation */
#if (!ONO8D)
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMDIP
{
internal short mdiprog; /* exec. program number */
internal int mdipntr; /* exec. pointer */
internal short crntprog; /* prepare program number */
internal int crntpntr; /* prepare pointer */
}
#else
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBMDIP
{
internal int mdiprog; /* exec. program number */
internal int mdipntr; /* exec. pointer */
internal int crntprog; /* prepare program number */
internal int crntpntr; /* prepare pointer */
}
#endif
/* cnc_rdaxisdata:read various axis data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAXDT_data
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string name = new string(' ', 4); /* axis name */
internal int data; /* position data */
internal short dec; /* decimal position */
internal short unit; /* data unit */
internal short flag; /* flags */
internal short reserve; /* reserve */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAXDT
{
internal ODBAXDT_data data1 = new ODBAXDT_data();
internal ODBAXDT_data data2 = new ODBAXDT_data();
internal ODBAXDT_data data3 = new ODBAXDT_data();
internal ODBAXDT_data data4 = new ODBAXDT_data();
internal ODBAXDT_data data5 = new ODBAXDT_data();
internal ODBAXDT_data data6 = new ODBAXDT_data();
internal ODBAXDT_data data7 = new ODBAXDT_data();
internal ODBAXDT_data data8 = new ODBAXDT_data();
internal ODBAXDT_data data9 = new ODBAXDT_data();
internal ODBAXDT_data data10 = new ODBAXDT_data();
internal ODBAXDT_data data11 = new ODBAXDT_data();
internal ODBAXDT_data data12 = new ODBAXDT_data();
internal ODBAXDT_data data13 = new ODBAXDT_data();
internal ODBAXDT_data data14 = new ODBAXDT_data();
internal ODBAXDT_data data15 = new ODBAXDT_data();
internal ODBAXDT_data data16 = new ODBAXDT_data();
internal ODBAXDT_data data17 = new ODBAXDT_data();
internal ODBAXDT_data data18 = new ODBAXDT_data();
internal ODBAXDT_data data19 = new ODBAXDT_data();
internal ODBAXDT_data data20 = new ODBAXDT_data();
internal ODBAXDT_data data21 = new ODBAXDT_data();
internal ODBAXDT_data data22 = new ODBAXDT_data();
internal ODBAXDT_data data23 = new ODBAXDT_data();
internal ODBAXDT_data data24 = new ODBAXDT_data();
internal ODBAXDT_data data25 = new ODBAXDT_data();
internal ODBAXDT_data data26 = new ODBAXDT_data();
internal ODBAXDT_data data27 = new ODBAXDT_data();
internal ODBAXDT_data data28 = new ODBAXDT_data();
internal ODBAXDT_data data29 = new ODBAXDT_data();
internal ODBAXDT_data data30 = new ODBAXDT_data();
internal ODBAXDT_data data31 = new ODBAXDT_data();
internal ODBAXDT_data data32 = new ODBAXDT_data();
internal ODBAXDT_data data33 = new ODBAXDT_data();
internal ODBAXDT_data data34 = new ODBAXDT_data();
internal ODBAXDT_data data35 = new ODBAXDT_data();
internal ODBAXDT_data data36 = new ODBAXDT_data();
internal ODBAXDT_data data37 = new ODBAXDT_data();
internal ODBAXDT_data data38 = new ODBAXDT_data();
internal ODBAXDT_data data39 = new ODBAXDT_data();
internal ODBAXDT_data data40 = new ODBAXDT_data();
internal ODBAXDT_data data41 = new ODBAXDT_data();
internal ODBAXDT_data data42 = new ODBAXDT_data();
internal ODBAXDT_data data43 = new ODBAXDT_data();
internal ODBAXDT_data data44 = new ODBAXDT_data();
internal ODBAXDT_data data45 = new ODBAXDT_data();
internal ODBAXDT_data data46 = new ODBAXDT_data();
internal ODBAXDT_data data47 = new ODBAXDT_data();
internal ODBAXDT_data data48 = new ODBAXDT_data();
internal ODBAXDT_data data49 = new ODBAXDT_data();
internal ODBAXDT_data data50 = new ODBAXDT_data();
internal ODBAXDT_data data51 = new ODBAXDT_data();
internal ODBAXDT_data data52 = new ODBAXDT_data();
internal ODBAXDT_data data53 = new ODBAXDT_data();
internal ODBAXDT_data data54 = new ODBAXDT_data();
internal ODBAXDT_data data55 = new ODBAXDT_data();
internal ODBAXDT_data data56 = new ODBAXDT_data();
internal ODBAXDT_data data57 = new ODBAXDT_data();
internal ODBAXDT_data data58 = new ODBAXDT_data();
internal ODBAXDT_data data59 = new ODBAXDT_data();
internal ODBAXDT_data data60 = new ODBAXDT_data();
internal ODBAXDT_data data61 = new ODBAXDT_data();
internal ODBAXDT_data data62 = new ODBAXDT_data();
internal ODBAXDT_data data63 = new ODBAXDT_data();
internal ODBAXDT_data data64 = new ODBAXDT_data();
internal ODBAXDT_data data65 = new ODBAXDT_data();
internal ODBAXDT_data data66 = new ODBAXDT_data();
internal ODBAXDT_data data67 = new ODBAXDT_data();
internal ODBAXDT_data data68 = new ODBAXDT_data();
internal ODBAXDT_data data69 = new ODBAXDT_data();
internal ODBAXDT_data data70 = new ODBAXDT_data();
internal ODBAXDT_data data71 = new ODBAXDT_data();
internal ODBAXDT_data data72 = new ODBAXDT_data();
internal ODBAXDT_data data73 = new ODBAXDT_data();
internal ODBAXDT_data data74 = new ODBAXDT_data();
internal ODBAXDT_data data75 = new ODBAXDT_data();
internal ODBAXDT_data data76 = new ODBAXDT_data();
internal ODBAXDT_data data77 = new ODBAXDT_data();
internal ODBAXDT_data data78 = new ODBAXDT_data();
internal ODBAXDT_data data79 = new ODBAXDT_data();
internal ODBAXDT_data data80 = new ODBAXDT_data();
internal ODBAXDT_data data81 = new ODBAXDT_data();
internal ODBAXDT_data data82 = new ODBAXDT_data();
internal ODBAXDT_data data83 = new ODBAXDT_data();
internal ODBAXDT_data data84 = new ODBAXDT_data();
internal ODBAXDT_data data85 = new ODBAXDT_data();
internal ODBAXDT_data data86 = new ODBAXDT_data();
internal ODBAXDT_data data87 = new ODBAXDT_data();
internal ODBAXDT_data data88 = new ODBAXDT_data();
internal ODBAXDT_data data89 = new ODBAXDT_data();
internal ODBAXDT_data data90 = new ODBAXDT_data();
internal ODBAXDT_data data91 = new ODBAXDT_data();
internal ODBAXDT_data data92 = new ODBAXDT_data();
internal ODBAXDT_data data93 = new ODBAXDT_data();
internal ODBAXDT_data data94 = new ODBAXDT_data();
internal ODBAXDT_data data95 = new ODBAXDT_data();
internal ODBAXDT_data data96 = new ODBAXDT_data();
internal ODBAXDT_data data97 = new ODBAXDT_data();
internal ODBAXDT_data data98 = new ODBAXDT_data();
internal ODBAXDT_data data99 = new ODBAXDT_data();
internal ODBAXDT_data data100 = new ODBAXDT_data();
internal ODBAXDT_data data101 = new ODBAXDT_data();
internal ODBAXDT_data data102 = new ODBAXDT_data();
internal ODBAXDT_data data103 = new ODBAXDT_data();
internal ODBAXDT_data data104 = new ODBAXDT_data();
internal ODBAXDT_data data105 = new ODBAXDT_data();
internal ODBAXDT_data data106 = new ODBAXDT_data();
internal ODBAXDT_data data107 = new ODBAXDT_data();
internal ODBAXDT_data data108 = new ODBAXDT_data();
internal ODBAXDT_data data109 = new ODBAXDT_data();
internal ODBAXDT_data data110 = new ODBAXDT_data();
internal ODBAXDT_data data111 = new ODBAXDT_data();
internal ODBAXDT_data data112 = new ODBAXDT_data();
internal ODBAXDT_data data113 = new ODBAXDT_data();
internal ODBAXDT_data data114 = new ODBAXDT_data();
internal ODBAXDT_data data115 = new ODBAXDT_data();
internal ODBAXDT_data data116 = new ODBAXDT_data();
internal ODBAXDT_data data117 = new ODBAXDT_data();
internal ODBAXDT_data data118 = new ODBAXDT_data();
internal ODBAXDT_data data119 = new ODBAXDT_data();
internal ODBAXDT_data data120 = new ODBAXDT_data();
internal ODBAXDT_data data121 = new ODBAXDT_data();
internal ODBAXDT_data data122 = new ODBAXDT_data();
internal ODBAXDT_data data123 = new ODBAXDT_data();
internal ODBAXDT_data data124 = new ODBAXDT_data();
internal ODBAXDT_data data125 = new ODBAXDT_data();
internal ODBAXDT_data data126 = new ODBAXDT_data();
internal ODBAXDT_data data127 = new ODBAXDT_data();
internal ODBAXDT_data data128 = new ODBAXDT_data();
}
/* cnc_rdspcss:read constant surface speed data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBCSS
{
internal int srpm; /* order spindle speed */
internal int sspm; /* order constant spindle speed */
internal int smax; /* order maximum spindle speed */
}
/* cnc_rdpdf_drive:read program drive directory */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPDFDRV
{
internal short max_num; /* maximum drive number */
internal short dummy;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive1 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive2 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive3 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive4 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive5 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive6 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive7 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive8 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive9 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive10 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive11 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive12 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive13 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive14 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive15 = new string(' ', 12);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string drive16 = new string(' ', 12);
}
/* cnc_rdpdf_inf:read program drive information */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBPDFINF
{
internal int used_page; /* used capacity */
internal int all_page; /* all capacity */
internal int used_dir; /* used directory number */
internal int all_dir; /* all directory number */
}
/* cnc_rdpdf_subdir:read directory (sub directories) */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IDBPDFSDIR
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 212)]
internal string path = new string(' ', 212); /* path name */
internal short req_num; /* entry number */
internal short dummy;
}
/* cnc_rdpdf_subdir:read directory (sub directories) */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBPDFSDIR
{
internal short sub_exist; /* existence of sub directory */
internal short dummy;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)]
internal string d_f = new string(' ', 36); /* path name */
}
/* cnc_rdpdf_alldir:read directory (all files) */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IDBPDFADIR
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 212)]
internal string path = new string(' ', 212); /* path name */
internal short req_num; /* entry number */
internal short size_kind; /* kind of size */
internal short type; /* kind of format */
internal short dummy;
}
/* cnc_rdpdf_alldir:read directory (all files) */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBPDFADIR
{
internal short data_kind; /* kinf of data */
internal short year; /* last date and time */
internal short mon; /* last date and time */
internal short day; /* last date and time */
internal short hour; /* last date and time */
internal short min; /* last date and time */
internal short sec; /* last date and time */
internal short dummy;
internal int dummy2;
internal int size; /* size */
internal int attr; /* attribute */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 36)]
internal string d_f = new string(' ', 36); /* path name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)]
internal string comment = new string(' ', 52); /* comment */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string o_time = new string(' ', 12); /* machining time stamp */
}
/* cnc_rdpdf_subdirn:read file count the directory has */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPDFNFIL
{
internal short dir_num; /* directory */
internal short file_num; /* file */
}
/* cnc_wrpdf_attr:change attribute of program file and directory */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBPDFTDIR
{
internal uint slct; /* selection */
internal uint attr; /* data */
}
/*---------------------------*/
/* CNC: NC file data related */
/*---------------------------*/
/* cnc_rdtofs:read tool offset value */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTOFS
{
internal short datano; /* data number */
internal short type; /* data type */
internal int data; /* data */
}
/* cnc_rdtofsr:read tool offset value(area specified) */
/* cnc_wrtofsr:write tool offset value(area specified) */
[StructLayout(LayoutKind.Explicit)]
internal class OFS_1
{
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] m_ofs = new int[5]; /* M Each */
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] m_ofs_a = new int[5]; /* M-A All */
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] t_tip = new short[5]; /* T Each, 2-byte */
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] t_ofs = new int[5]; /* T Each, 4-byte */
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OFS_2
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 5)]
internal int[] m_ofs_b = new int[10]; /* M-B All */
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OFS_3
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4 * 5)]
internal int[] m_ofs_c = new int[20]; /* M-C All */
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class T_OFS_A
{
internal short tip;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal int[] data;
} /* T-A All */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class T_OFS_A_data
{
internal T_OFS_A data1 = new T_OFS_A();
internal T_OFS_A data2 = new T_OFS_A();
internal T_OFS_A data3 = new T_OFS_A();
internal T_OFS_A data4 = new T_OFS_A();
internal T_OFS_A data5 = new T_OFS_A();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class T_OFS_B
{
internal short tip;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] data;
} /* T-B All */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class T_OFS_B_data
{
internal T_OFS_B data1 = new T_OFS_B();
internal T_OFS_B data2 = new T_OFS_B();
internal T_OFS_B data3 = new T_OFS_B();
internal T_OFS_B data4 = new T_OFS_B();
internal T_OFS_B data5 = new T_OFS_B();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTO_1_1
{
internal short datano_s; /* start offset number */
internal short type; /* offset type */
internal short datano_e; /* end offset number */
internal OFS_1 ofs = new OFS_1();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTO_1_2
{
internal short datano_s; /* start offset number */
internal short type; /* offset type */
internal short datano_e; /* end offset number */
internal OFS_2 ofs = new OFS_2();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTO_1_3
{
internal short datano_s; /* start offset number */
internal short type; /* offset type */
internal short datano_e; /* end offset number */
internal OFS_3 ofs = new OFS_3();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTO_2
{
internal short datano_s; /* start offset number */
internal short type; /* offset type */
internal short datano_e; /* end offset number */
internal T_OFS_A_data tofsa = new T_OFS_A_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTO_3
{
internal short datano_s; /* start offset number */
internal short type; /* offset type */
internal short datano_e; /* end offset number */
internal T_OFS_B_data tofsb = new T_OFS_B_data();
}
/* cnc_rdzofs:read work zero offset value */
/* cnc_wrzofs:write work zero offset value */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBZOFS
{
internal short datano; /* offset NO. */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] data = new int[MAX_AXIS]; /* data value */
}
/* cnc_rdzofsr:read work zero offset value(area specified) */
/* cnc_wrzofsr:write work zero offset value(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBZOR
{
internal short datano_s; /* start offset number */
internal short type; /* axis number */
internal short datano_e; /* end offset number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7 * MAX_AXIS)]
internal int[] data = new int[7 * MAX_AXIS]; /* offset value */
} /* In case that the number of axes is MAX_AXIS, the number of data is 7 */
/* cnc_rdmsptype:read mesured point value */
/* cnc_wrmsptype:write mesured point value */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMSTP
{
internal short datano_s; /* start offset number */
internal short dummy; /* dummy */
internal short datano_e; /* end offset number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
internal sbyte[] data = new sbyte[7]; /* mesured point value */
}
/* cnc_rdparam:read parameter */
/* cnc_wrparam:write parameter */
/* cnc_rdset:read setting data */
/* cnc_wrset:write setting data */
/* cnc_rdparar:read parameter(area specified) */
/* cnc_wrparas:write parameter(plural specified) */
/* cnc_rdsetr:read setting data(area specified) */
/* cnc_wrsets:write setting data(plural specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD
{
internal short datano; /* data number */
internal short type; /* axis number */
internal IODBPSD_U u = new IODBPSD_U();
[StructLayout(LayoutKind.Explicit)]
internal class IODBPSD_U
{
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas;
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas;
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas;
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal REALPRM[] rdatas = new REALPRM[MAX_AXIS];
internal byte cdata { get { return cdatas[0]; } set { cdatas[0] = value; } }
internal short idata { get { return idatas[0]; } set { idatas[0] = value; } }
internal int ldata { get { return ldatas[0]; } set { ldatas[0] = value; } }
internal REALPRM rdata { get { return rdatas[0]; } set { rdatas[0] = value; } }
}
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct REALPRM
{
internal int prm_val; /* data of real parameter */
internal int dec_val; /* decimal point of real parameter */
}
#if LEAVE_OLD_STYLE
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REALPRMS
{
internal REALPRM rdata1 = new REALPRM();
internal REALPRM rdata2 = new REALPRM();
internal REALPRM rdata3 = new REALPRM();
internal REALPRM rdata4 = new REALPRM();
internal REALPRM rdata5 = new REALPRM();
internal REALPRM rdata6 = new REALPRM();
internal REALPRM rdata7 = new REALPRM();
internal REALPRM rdata8 = new REALPRM();
internal REALPRM rdata9 = new REALPRM();
internal REALPRM rdata10 = new REALPRM();
internal REALPRM rdata11 = new REALPRM();
internal REALPRM rdata12 = new REALPRM();
internal REALPRM rdata13 = new REALPRM();
internal REALPRM rdata14 = new REALPRM();
internal REALPRM rdata15 = new REALPRM();
internal REALPRM rdata16 = new REALPRM();
internal REALPRM rdata17 = new REALPRM();
internal REALPRM rdata18 = new REALPRM();
internal REALPRM rdata19 = new REALPRM();
internal REALPRM rdata20 = new REALPRM();
internal REALPRM rdata21 = new REALPRM();
internal REALPRM rdata22 = new REALPRM();
internal REALPRM rdata23 = new REALPRM();
internal REALPRM rdata24 = new REALPRM();
internal REALPRM rdata25 = new REALPRM();
internal REALPRM rdata26 = new REALPRM();
internal REALPRM rdata27 = new REALPRM();
internal REALPRM rdata28 = new REALPRM();
internal REALPRM rdata29 = new REALPRM();
internal REALPRM rdata30 = new REALPRM();
internal REALPRM rdata31 = new REALPRM();
internal REALPRM rdata32 = new REALPRM();
}
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class REALPRMS
{
internal REALPRM rdata1=new REALPRM();
internal REALPRM rdata2=new REALPRM();
internal REALPRM rdata3=new REALPRM();
internal REALPRM rdata4=new REALPRM();
internal REALPRM rdata5=new REALPRM();
internal REALPRM rdata6=new REALPRM();
internal REALPRM rdata7=new REALPRM();
internal REALPRM rdata8=new REALPRM();
internal REALPRM rdata9=new REALPRM();
internal REALPRM rdata10=new REALPRM();
internal REALPRM rdata11=new REALPRM();
internal REALPRM rdata12=new REALPRM();
internal REALPRM rdata13=new REALPRM();
internal REALPRM rdata14=new REALPRM();
internal REALPRM rdata15=new REALPRM();
internal REALPRM rdata16=new REALPRM();
internal REALPRM rdata17=new REALPRM();
internal REALPRM rdata18=new REALPRM();
internal REALPRM rdata19=new REALPRM();
internal REALPRM rdata20=new REALPRM();
internal REALPRM rdata21=new REALPRM();
internal REALPRM rdata22=new REALPRM();
internal REALPRM rdata23=new REALPRM();
internal REALPRM rdata24=new REALPRM();
} /* In case that the number of alarm is 24 */
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class REALPRMS
{
internal REALPRM rdata1=new REALPRM();
internal REALPRM rdata2=new REALPRM();
internal REALPRM rdata3=new REALPRM();
internal REALPRM rdata4=new REALPRM();
internal REALPRM rdata5=new REALPRM();
internal REALPRM rdata6=new REALPRM();
internal REALPRM rdata7=new REALPRM();
internal REALPRM rdata8=new REALPRM();
internal REALPRM rdata9=new REALPRM();
internal REALPRM rdata10=new REALPRM();
} /* In case that the number of alarm is 10 */
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REALPRMS
{
internal REALPRM rdata1 = new REALPRM();
internal REALPRM rdata2 = new REALPRM();
internal REALPRM rdata3 = new REALPRM();
internal REALPRM rdata4 = new REALPRM();
internal REALPRM rdata5 = new REALPRM();
internal REALPRM rdata6 = new REALPRM();
internal REALPRM rdata7 = new REALPRM();
internal REALPRM rdata8 = new REALPRM();
} /* In case that the number of alarm is 8 */
#endif
[StructLayout(LayoutKind.Explicit)]
internal class IODBPSD_1
{
[FieldOffset(0)]
internal short datano; /* data number */
[FieldOffset(2)]
internal short type; /* axis number */
[FieldOffset(4)]
internal byte cdata; /* parameter / setting data */
[FieldOffset(4)]
internal short idata;
[FieldOffset(4)]
internal int ldata;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD_2
{
internal short datano; /* data number */
internal short type; /* axis number */
internal REALPRM rdata = new REALPRM();
}
[StructLayout(LayoutKind.Explicit)]
internal class IODBPSD_3
{
[FieldOffset(0)]
internal short datano; /* data number */
[FieldOffset(2)]
internal short type; /* axis number */
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas = new byte[MAX_AXIS];
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas = new short[MAX_AXIS];
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas = new int[MAX_AXIS];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD_4
{
internal short datano; /* data number */
internal short type; /* axis number */
internal REALPRMS rdatas = new REALPRMS();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD_A
{
internal IODBPSD_1 data1 = new IODBPSD_1();
internal IODBPSD_1 data2 = new IODBPSD_1();
internal IODBPSD_1 data3 = new IODBPSD_1();
internal IODBPSD_1 data4 = new IODBPSD_1();
internal IODBPSD_1 data5 = new IODBPSD_1();
internal IODBPSD_1 data6 = new IODBPSD_1();
internal IODBPSD_1 data7 = new IODBPSD_1();
} /* (sample) must be modified */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD_B
{
internal IODBPSD_2 data1 = new IODBPSD_2();
internal IODBPSD_2 data2 = new IODBPSD_2();
internal IODBPSD_2 data3 = new IODBPSD_2();
internal IODBPSD_2 data4 = new IODBPSD_2();
internal IODBPSD_2 data5 = new IODBPSD_2();
internal IODBPSD_2 data6 = new IODBPSD_2();
internal IODBPSD_2 data7 = new IODBPSD_2();
} /* (sample) must be modified */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD_C
{
internal IODBPSD_3 data1 = new IODBPSD_3();
internal IODBPSD_3 data2 = new IODBPSD_3();
internal IODBPSD_3 data3 = new IODBPSD_3();
internal IODBPSD_3 data4 = new IODBPSD_3();
internal IODBPSD_3 data5 = new IODBPSD_3();
internal IODBPSD_3 data6 = new IODBPSD_3();
internal IODBPSD_3 data7 = new IODBPSD_3();
} /* (sample) must be modified */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSD_D
{
internal IODBPSD_4 data1 = new IODBPSD_4();
internal IODBPSD_4 data2 = new IODBPSD_4();
internal IODBPSD_4 data3 = new IODBPSD_4();
internal IODBPSD_4 data4 = new IODBPSD_4();
internal IODBPSD_4 data5 = new IODBPSD_4();
internal IODBPSD_4 data6 = new IODBPSD_4();
internal IODBPSD_4 data7 = new IODBPSD_4();
} /* (sample) must be modified */
#endif
/* cnc_rdparam_ext:read parameters */
/* cnc_rddiag_ext:read diagnosis data */
/* cnc_start_async_wrparam:async parameter write start */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPRMNO
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] prm = new int[10];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPRM_data
{
internal int prm_val; /* parameter / setting data */
internal int dec_val;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPRM1
{
internal IODBPRM_data data1 = new IODBPRM_data();
internal IODBPRM_data data2 = new IODBPRM_data();
internal IODBPRM_data data3 = new IODBPRM_data();
internal IODBPRM_data data4 = new IODBPRM_data();
internal IODBPRM_data data5 = new IODBPRM_data();
internal IODBPRM_data data6 = new IODBPRM_data();
internal IODBPRM_data data7 = new IODBPRM_data();
internal IODBPRM_data data8 = new IODBPRM_data();
internal IODBPRM_data data9 = new IODBPRM_data();
internal IODBPRM_data data10 = new IODBPRM_data();
internal IODBPRM_data data11 = new IODBPRM_data();
internal IODBPRM_data data12 = new IODBPRM_data();
internal IODBPRM_data data13 = new IODBPRM_data();
internal IODBPRM_data data14 = new IODBPRM_data();
internal IODBPRM_data data15 = new IODBPRM_data();
internal IODBPRM_data data16 = new IODBPRM_data();
internal IODBPRM_data data17 = new IODBPRM_data();
internal IODBPRM_data data18 = new IODBPRM_data();
internal IODBPRM_data data19 = new IODBPRM_data();
internal IODBPRM_data data20 = new IODBPRM_data();
internal IODBPRM_data data21 = new IODBPRM_data();
internal IODBPRM_data data22 = new IODBPRM_data();
internal IODBPRM_data data23 = new IODBPRM_data();
internal IODBPRM_data data24 = new IODBPRM_data();
internal IODBPRM_data data25 = new IODBPRM_data();
internal IODBPRM_data data26 = new IODBPRM_data();
internal IODBPRM_data data27 = new IODBPRM_data();
internal IODBPRM_data data28 = new IODBPRM_data();
internal IODBPRM_data data29 = new IODBPRM_data();
internal IODBPRM_data data30 = new IODBPRM_data();
internal IODBPRM_data data31 = new IODBPRM_data();
internal IODBPRM_data data32 = new IODBPRM_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPRM2
{
internal int datano; /* data number */
internal short type; /* data type */
internal short axis; /* axis information */
internal short info; /* misc information */
internal short unit; /* unit information */
internal IODBPRM1 data = new IODBPRM1();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPRM
{
internal IODBPRM2 prm1 = new IODBPRM2();
internal IODBPRM2 prm2 = new IODBPRM2();
internal IODBPRM2 prm3 = new IODBPRM2();
internal IODBPRM2 prm4 = new IODBPRM2();
internal IODBPRM2 prm5 = new IODBPRM2();
internal IODBPRM2 prm6 = new IODBPRM2();
internal IODBPRM2 prm7 = new IODBPRM2();
internal IODBPRM2 prm8 = new IODBPRM2();
internal IODBPRM2 prm9 = new IODBPRM2();
internal IODBPRM2 prm10 = new IODBPRM2();
} /* In case that the number of alarm is 10 */
/* cnc_rdpitchr:read pitch error compensation data(area specified) */
/* cnc_wrpitchr:write pitch error compensation data(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPI
{
internal short datano_s; /* start pitch number */
internal short dummy; /* dummy */
internal short datano_e; /* end pitch number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal sbyte[] data = new sbyte[5]; /* offset value */
} /* In case that the number of data is 5 */
/* cnc_rdmacro:read custom macro variable */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBM
{
internal short datano; /* variable number */
internal short dummy; /* dummy */
internal int mcr_val; /* macro variable */
internal short dec_val; /* decimal point */
}
/* cnc_rdmacror:read custom macro variables(area specified) */
/* cnc_wrmacror:write custom macro variables(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMR_data
{
internal int mcr_val; /* macro variable */
internal short dec_val; /* decimal point */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMR1
{
internal IODBMR_data data1 = new IODBMR_data();
internal IODBMR_data data2 = new IODBMR_data();
internal IODBMR_data data3 = new IODBMR_data();
internal IODBMR_data data4 = new IODBMR_data();
internal IODBMR_data data5 = new IODBMR_data();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMR
{
internal short datano_s; /* start macro number */
internal short dummy; /* dummy */
internal short datano_e; /* end macro number */
internal IODBMR1 data = new IODBMR1();
}
/* cnc_rdpmacro:read P code macro variable */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPM
{
internal int datano; /* variable number */
internal short dummy; /* dummy */
internal int mcr_val; /* macro variable */
internal short dec_val; /* decimal point */
}
/* cnc_rdpmacror:read P code macro variables(area specified) */
/* cnc_wrpmacror:write P code macro variables(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPR_data
{
internal int mcr_val; /* macro variable */
internal short dec_val; /* decimal point */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPR1
{
internal IODBPR_data data1 = new IODBPR_data();
internal IODBPR_data data2 = new IODBPR_data();
internal IODBPR_data data3 = new IODBPR_data();
internal IODBPR_data data4 = new IODBPR_data();
internal IODBPR_data data5 = new IODBPR_data();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPR
{
internal int datano_s; /* start macro number */
internal short dummy; /* dummy */
internal int datano_e; /* end macro number */
internal IODBPR1 data = new IODBPR1();
}
/* cnc_rdtofsinfo:read tool offset information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLINF
{
internal short ofs_type;
internal short use_no;
}
/* cnc_rdtofsinfo2:read tool offset information(2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLINF2
{
internal short ofs_type;
internal short use_no;
internal short ofs_enable;
}
/* cnc_rdmacroinfo:read custom macro variable information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMVINF
{
internal short use_no1;
internal short use_no2;
}
/* cnc_rdpmacroinfo:read P code macro variable information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMINF
{
internal short use_no1;
#if PCD_UWORD
internal ushort use_no2;
#else
internal short use_no2;
#endif
internal short v2_type;
}
/* cnc_tofs_rnge:read validity of tool offset */
/* cnc_zofs_rnge:read validity of work zero offset */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDATRNG
{
internal int data_min; /* lower limit */
internal int data_max; /* upper limit */
internal int status; /* status of setting */
}
/* cnc_rdhsprminfo:read the information for function cnc_rdhsparam() */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class HSPINFO_data
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data1 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data2 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data3 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data4 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data5 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data6 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data7 = new byte[16];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] data8 = new byte[16];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class HSPINFO
{
internal HSPINFO_data prminfo1 = new HSPINFO_data();
internal HSPINFO_data prminfo2 = new HSPINFO_data();
internal HSPINFO_data prminfo3 = new HSPINFO_data();
internal HSPINFO_data prminfo4 = new HSPINFO_data();
internal HSPINFO_data prminfo5 = new HSPINFO_data();
internal HSPINFO_data prminfo6 = new HSPINFO_data();
internal HSPINFO_data prminfo7 = new HSPINFO_data();
internal HSPINFO_data prminfo8 = new HSPINFO_data();
internal HSPINFO_data prminfo9 = new HSPINFO_data();
internal HSPINFO_data prminfo10 = new HSPINFO_data();
}
/* cnc_rdhsparam:read parameters at the high speed */
[StructLayout(LayoutKind.Explicit)]
internal class HSPDATA_1
{
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas1 = new byte[MAX_AXIS];
[FieldOffset(4 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas2 = new byte[MAX_AXIS];
[FieldOffset(4 * 2 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas3 = new byte[MAX_AXIS];
[FieldOffset(4 * 3 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas4 = new byte[MAX_AXIS];
[FieldOffset(4 * 4 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas5 = new byte[MAX_AXIS];
[FieldOffset(4 * 5 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas6 = new byte[MAX_AXIS];
[FieldOffset(4 * 6 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas7 = new byte[MAX_AXIS];
[FieldOffset(4 * 7 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas8 = new byte[MAX_AXIS];
[FieldOffset(4 * 8 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas9 = new byte[MAX_AXIS];
[FieldOffset(4 * 9 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas10 = new byte[MAX_AXIS];
}
[StructLayout(LayoutKind.Explicit)]
internal class HSPDATA_2
{
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas1 = new short[MAX_AXIS];
[FieldOffset(2 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas2 = new short[MAX_AXIS];
[FieldOffset(2 * 2 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas3 = new short[MAX_AXIS];
[FieldOffset(2 * 3 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas4 = new short[MAX_AXIS];
[FieldOffset(2 * 4 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas5 = new short[MAX_AXIS];
[FieldOffset(2 * 5 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas6 = new short[MAX_AXIS];
[FieldOffset(2 * 6 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas7 = new short[MAX_AXIS];
[FieldOffset(2 * 7 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas8 = new short[MAX_AXIS];
[FieldOffset(2 * 8 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas9 = new short[MAX_AXIS];
[FieldOffset(2 * 9 * MAX_AXIS),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas10 = new short[MAX_AXIS];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class HSPDATA_3
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas1 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas2 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas3 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas4 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas5 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas6 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas7 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas8 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas9 = new int[MAX_AXIS];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas10 = new int[MAX_AXIS];
}
/*----------------------------------------*/
/* CNC: Tool life management data related */
/*----------------------------------------*/
/* cnc_rdgrpid:read tool life management data(tool group number) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLIFE1
{
internal short dummy; /* dummy */
internal short type; /* data type */
internal int data; /* data */
}
/* cnc_rdngrp:read tool life management data(number of tool groups) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLIFE2
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
internal int data; /* data */
}
/* cnc_rdntool:read tool life management data(number of tools) */
/* cnc_rdlife:read tool life management data(tool life) */
/* cnc_rdcount:read tool life management data(tool lift counter) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLIFE3
{
internal short datano; /* data number */
internal short dummy; /* dummy */
internal int data; /* data */
}
/* cnc_rd1length:read tool life management data(tool length number-1) */
/* cnc_rd2length:read tool life management data(tool length number-2) */
/* cnc_rd1radius:read tool life management data(cutter compensation no.-1) */
/* cnc_rd2radius:read tool life management data(cutter compensation no.-2) */
/* cnc_t1info:read tool life management data(tool information-1) */
/* cnc_t2info:read tool life management data(tool information-2) */
/* cnc_toolnum:read tool life management data(tool number) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLIFE4
{
internal short datano; /* data number */
internal short type; /* data type */
internal int data; /* data */
}
/* cnc_rdgrpid2:read tool life management data(tool group number) 2 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLIFE5
{
internal int dummy; /* dummy */
internal int type; /* data type */
internal int data; /* data */
}
/* cnc_rdtoolrng:read tool life management data(tool number, tool life, tool life counter)(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTR_data
{
internal int ntool; /* tool number */
internal int life; /* tool life */
internal int count; /* tool life counter */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTR1
{
internal IODBTR_data data1 = new IODBTR_data();
internal IODBTR_data data2 = new IODBTR_data();
internal IODBTR_data data3 = new IODBTR_data();
internal IODBTR_data data4 = new IODBTR_data();
internal IODBTR_data data5 = new IODBTR_data();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTR
{
internal short datano_s; /* start group number */
internal short dummy; /* dummy */
internal short datano_e; /* end group number */
internal IODBTR1 data = new IODBTR1();
}
/* cnc_rdtoolgrp:read tool life management data(all data within group) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTG_data
{
internal int tuse_num; /* tool number */
internal int tool_num; /* tool life */
internal int length_num; /* tool life counter */
internal int radius_num; /* tool life counter */
internal int tinfo; /* tool life counter */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTG1
{
internal ODBTG_data data1 = new ODBTG_data();
internal ODBTG_data data2 = new ODBTG_data();
internal ODBTG_data data3 = new ODBTG_data();
internal ODBTG_data data4 = new ODBTG_data();
internal ODBTG_data data5 = new ODBTG_data();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTG
{
internal short grp_num; /* start group number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy; /* dummy */
internal int ntool; /* tool number */
internal int life; /* tool life */
internal int count; /* tool life counter */
internal ODBTG1 data = new ODBTG1();
}
/* cnc_wrcountr:write tool life management data(tool life counter) (area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBWRC_data
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] dummy; /* dummy */
internal int count; /* tool life counter */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBWRC1
{
internal IDBWRC_data data1 = new IDBWRC_data();
internal IDBWRC_data data2 = new IDBWRC_data();
internal IDBWRC_data data3 = new IDBWRC_data();
internal IDBWRC_data data4 = new IDBWRC_data();
internal IDBWRC_data data5 = new IDBWRC_data();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBWRC
{
internal short datano_s; /* start group number */
internal short dummy; /* dummy */
internal short datano_e; /* end group number */
internal IDBWRC1 data = new IDBWRC1();
}
/* cnc_rdusegrpid:read tool life management data(used tool group number) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBUSEGR
{
internal short datano; /* dummy */
internal short type; /* dummy */
internal int next; /* next use group number */
internal int use; /* using group number */
internal int slct; /* selecting group number */
}
/* cnc_rdmaxgrp:read tool life management data(max. number of tool groups) */
/* cnc_rdmaxtool:read tool life management data(maximum number of tool within group) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBLFNO
{
internal short datano; /* dummy */
internal short type; /* dummy */
internal short data; /* number of data */
}
/* cnc_rdusetlno:read tool life management data(used tool no within group) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLUSE
{
internal short s_grp; /* start group number */
internal short dummy; /* dummy */
internal short e_grp; /* end group number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] data; /* tool using number */
} /* In case that the number of group is 5 */
/* cnc_rd1tlifedata:read tool life management data(tool data1) */
/* cnc_rd2tlifedata:read tool life management data(tool data2) */
/* cnc_wr1tlifedata:write tool life management data(tool data1) */
/* cnc_wr2tlifedata:write tool life management data(tool data2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTD
{
internal short datano; /* tool group number */
internal short type; /* tool using number */
internal int tool_num; /* tool number */
internal int h_code; /* H code */
internal int d_code; /* D code */
internal int tool_inf; /* tool information */
}
/* cnc_rd1tlifedat2:read tool life management data(tool data1) 2 */
/* cnc_wr1tlifedat2:write tool life management data(tool data1) 2 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTD2
{
internal short datano; /* tool group number */
internal short dummy; /* dummy */
internal int type; /* tool using number */
internal int tool_num; /* tool number */
internal int h_code; /* H code */
internal int d_code; /* D code */
internal int tool_inf; /* tool information */
}
/* cnc_rdgrpinfo:read tool life management data(tool group information) */
/* cnc_wrgrpinfo:write tool life management data(tool group information) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTGI_data
{
internal int n_tool; /* number of tool */
internal int count_value; /* tool life */
internal int counter; /* tool life counter */
internal int count_type; /* tool life counter type */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTGI1
{
internal IODBTGI_data data1 = new IODBTGI_data();
internal IODBTGI_data data2 = new IODBTGI_data();
internal IODBTGI_data data3 = new IODBTGI_data();
internal IODBTGI_data data4 = new IODBTGI_data();
internal IODBTGI_data data5 = new IODBTGI_data();
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTGI
{
internal short s_grp; /* start group number */
internal short dummy; /* dummy */
internal short e_grp; /* end group number */
internal IODBTGI1 data = new IODBTGI1();
}
/* cnc_rdgrpinfo2:read tool life management data(tool group information 2) */
/* cnc_wrgrpinfo2:write tool life management data(tool group information 2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTGI2
{
internal short s_grp; /* start group number */
internal short dummy; /* dummy */
internal short e_grp; /* end group number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] opt_grpno = new int[5]; /* optional group number of tool */
} /* In case that the number of group is 5 */
/* cnc_rdgrpinfo3:read tool life management data(tool group information 3) */
/* cnc_wrgrpinfo3:write tool life management data(tool group information 3) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTGI3
{
internal short s_grp; /* start group number */
internal short dummy; /* dummy */
internal short e_grp; /* end group number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] life_rest = new int[5]; /* tool life rest count */
} /* In case that the number of group is 5 */
/* cnc_rdgrpinfo4:read tool life management data(tool group information 4) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTGI4
{
internal short grp_no;
internal int n_tool;
internal int count_value;
internal int counter;
internal int count_type;
internal int opt_grpno;
internal int life_rest;
}
/* cnc_instlifedt:insert tool life management data(tool data) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBITD
{
internal short datano; /* tool group number */
internal short type; /* tool using number */
internal int data; /* tool number */
}
/* cnc_rdtlinfo:read tool life management data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBTLINFO
{
internal int max_group; /* maximum number of tool groups */
internal int max_tool; /* maximum number of tool within group */
internal int max_minute; /* maximum number of life count (minutes) */
internal int max_cycle; /* maximum number of life count (cycles) */
}
/* cnc_rdtlusegrp:read tool life management data(used tool group number) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBUSEGRP
{
internal int next; /* next use group number */
internal int use; /* using group number */
internal int slct; /* selecting group number */
internal int opt_next; /* next use optional group number */
internal int opt_use; /* using optional group number */
internal int opt_slct; /* selecting optional group number */
}
/* cnc_rdtlgrp:read tool life management data(tool group information 2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLGRP_data
{
internal int ntool; /* number of all tool */
internal int nfree; /* number of free tool */
internal int life; /* tool life */
internal int count; /* tool life counter */
internal int use_tool; /* using tool number */
internal int opt_grpno; /* optional group number */
internal int life_rest; /* tool life rest count */
internal short rest_sig; /* tool life rest signal */
internal short count_type; /* tool life counter type */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLGRP
{
internal IODBTLGRP_data data1 = new IODBTLGRP_data();
internal IODBTLGRP_data data2 = new IODBTLGRP_data();
internal IODBTLGRP_data data3 = new IODBTLGRP_data();
internal IODBTLGRP_data data4 = new IODBTLGRP_data();
internal IODBTLGRP_data data5 = new IODBTLGRP_data();
} /* In case that the number of group is 5 */
/* cnc_rdtltool:read tool life management data (tool data1) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLTOOL_data
{
internal int tool_num; /* tool number */
internal int h_code; /* H code */
internal int d_code; /* D code */
internal int tool_inf; /* tool information */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLTOOL
{
internal IODBTLTOOL_data data1 = new IODBTLTOOL_data();
internal IODBTLTOOL_data data2 = new IODBTLTOOL_data();
internal IODBTLTOOL_data data3 = new IODBTLTOOL_data();
internal IODBTLTOOL_data data4 = new IODBTLTOOL_data();
internal IODBTLTOOL_data data5 = new IODBTLTOOL_data();
} /* In case that the number of group is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBEXGP_data
{
internal int grp_no; /* group number */
internal int opt_grpno; /* optional group number */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBEXGP
{
internal ODBEXGP_data data1 = new ODBEXGP_data();
internal ODBEXGP_data data2 = new ODBEXGP_data();
internal ODBEXGP_data data3 = new ODBEXGP_data();
internal ODBEXGP_data data4 = new ODBEXGP_data();
internal ODBEXGP_data data5 = new ODBEXGP_data();
internal ODBEXGP_data data6 = new ODBEXGP_data();
internal ODBEXGP_data data7 = new ODBEXGP_data();
internal ODBEXGP_data data8 = new ODBEXGP_data();
internal ODBEXGP_data data9 = new ODBEXGP_data();
internal ODBEXGP_data data10 = new ODBEXGP_data();
internal ODBEXGP_data data11 = new ODBEXGP_data();
internal ODBEXGP_data data12 = new ODBEXGP_data();
internal ODBEXGP_data data13 = new ODBEXGP_data();
internal ODBEXGP_data data14 = new ODBEXGP_data();
internal ODBEXGP_data data15 = new ODBEXGP_data();
internal ODBEXGP_data data16 = new ODBEXGP_data();
internal ODBEXGP_data data17 = new ODBEXGP_data();
internal ODBEXGP_data data18 = new ODBEXGP_data();
internal ODBEXGP_data data19 = new ODBEXGP_data();
internal ODBEXGP_data data20 = new ODBEXGP_data();
internal ODBEXGP_data data21 = new ODBEXGP_data();
internal ODBEXGP_data data22 = new ODBEXGP_data();
internal ODBEXGP_data data23 = new ODBEXGP_data();
internal ODBEXGP_data data24 = new ODBEXGP_data();
internal ODBEXGP_data data25 = new ODBEXGP_data();
internal ODBEXGP_data data26 = new ODBEXGP_data();
internal ODBEXGP_data data27 = new ODBEXGP_data();
internal ODBEXGP_data data28 = new ODBEXGP_data();
internal ODBEXGP_data data29 = new ODBEXGP_data();
internal ODBEXGP_data data30 = new ODBEXGP_data();
internal ODBEXGP_data data31 = new ODBEXGP_data();
internal ODBEXGP_data data32 = new ODBEXGP_data();
}
/*-----------------------------------*/
/* CNC: Tool management data related */
/*-----------------------------------*/
/* cnc_regtool:new registration of tool management data */
/* cnc_rdtool:lead of tool management data */
/* cnc_wrtool:write of tool management data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMNG_data
{
internal int T_code;
internal int life_count;
internal int max_life;
internal int rest_life;
internal byte life_stat;
internal byte cust_bits;
internal ushort tool_info;
internal short H_code;
internal short D_code;
internal int spindle_speed;
internal int feedrate;
internal short magazine;
internal short pot;
internal short G_code;
internal short W_code;
internal short gno;
internal short grp;
internal short edge;
internal short org_magazine;
internal short org_pot;
internal byte edge_num;
private byte reserve_c;
private int reserved_1;
private int reserved_2;
internal int custom1;
internal int custom2;
internal int custom3;
internal int custom4;
internal int custom5;
internal int custom6;
internal int custom7;
internal int custom8;
internal int custom9;
internal int custom10;
internal int custom11;
internal int custom12;
internal int custom13;
internal int custom14;
internal int custom15;
internal int custom16;
internal int custom17;
internal int custom18;
internal int custom19;
internal int custom20;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMNG
{
internal IODBTLMNG_data data1 = new IODBTLMNG_data();
internal IODBTLMNG_data data2 = new IODBTLMNG_data();
internal IODBTLMNG_data data3 = new IODBTLMNG_data();
internal IODBTLMNG_data data4 = new IODBTLMNG_data();
internal IODBTLMNG_data data5 = new IODBTLMNG_data();
} /* In case that the number of group is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMNG_F2_data
{
internal int T_code;
internal int life_count;
internal int max_life;
internal int rest_life;
internal byte life_stat;
internal byte cust_bits;
internal ushort tool_info;
internal short H_code;
internal short D_code;
internal int spindle_speed;
internal int feedrate;
internal short magazine;
internal short pot;
internal short G_code;
internal short W_code;
internal short gno;
internal short grp;
internal short edge;
internal short org_magazine;
internal short org_pot;
internal byte edge_num;
private byte reserve_c;
private long reserved_1;
private long reserved_2;
internal int custom1;
internal int custom2;
internal int custom3;
internal int custom4;
internal int custom5;
internal int custom6;
internal int custom7;
internal int custom8;
internal int custom9;
internal int custom10;
internal int custom11;
internal int custom12;
internal int custom13;
internal int custom14;
internal int custom15;
internal int custom16;
internal int custom17;
internal int custom18;
internal int custom19;
internal int custom20;
internal int custom21;
internal int custom22;
internal int custom23;
internal int custom24;
internal int custom25;
internal int custom26;
internal int custom27;
internal int custom28;
internal int custom29;
internal int custom30;
internal int custom31;
internal int custom32;
internal int custom33;
internal int custom34;
internal int custom35;
internal int custom36;
internal int custom37;
internal int custom38;
internal int custom39;
internal int custom40;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMNG_F2
{
internal IODBTLMNG_F2_data data1 = new IODBTLMNG_F2_data();
internal IODBTLMNG_F2_data data2 = new IODBTLMNG_F2_data();
internal IODBTLMNG_F2_data data3 = new IODBTLMNG_F2_data();
internal IODBTLMNG_F2_data data4 = new IODBTLMNG_F2_data();
internal IODBTLMNG_F2_data data5 = new IODBTLMNG_F2_data();
} /* In case that the number of group is 5 */
/* cnc_wrtool2:write of individual data of tool management data */
[StructLayout(LayoutKind.Explicit)]
internal class IDBTLM_item
{
[FieldOffset(0)]
internal sbyte data1;
[FieldOffset(0)]
internal short data2;
[FieldOffset(0)]
internal int data4;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBTLM
{
internal short data_id;
internal IDBTLM_item item = new IDBTLM_item();
}
/* cnc_regmagazine:new registration of magazine management data */
/* cnc_rdmagazine:lead of magazine management data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMAG_data
{
internal short magazine;
internal short pot;
internal short tool_index;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMAG
{
internal IODBTLMAG_data data1 = new IODBTLMAG_data();
internal IODBTLMAG_data data2 = new IODBTLMAG_data();
internal IODBTLMAG_data data3 = new IODBTLMAG_data();
internal IODBTLMAG_data data4 = new IODBTLMAG_data();
internal IODBTLMAG_data data5 = new IODBTLMAG_data();
} /* In case that the number of group is 5 */
/* cnc_delmagazine:deletion of magazine management data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMAG2_data
{
internal short magazine;
internal short pot;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLMAG2
{
internal IODBTLMAG2_data data1 = new IODBTLMAG2_data();
internal IODBTLMAG2_data data2 = new IODBTLMAG2_data();
internal IODBTLMAG2_data data3 = new IODBTLMAG2_data();
internal IODBTLMAG2_data data4 = new IODBTLMAG2_data();
internal IODBTLMAG2_data data5 = new IODBTLMAG2_data();
} /* In case that the number of group is 5 */
/*-------------------------------------*/
/* CNC: Operation history data related */
/*-------------------------------------*/
/* cnc_rdophistry:read operation history data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_ALM
{
internal short rec_type; /* record type */
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal sbyte axis_no; /* axis number */
internal sbyte dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MDI
{
internal short rec_type; /* record type */
internal byte key_code; /* key code */
internal byte pw_flag; /* power on flag */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal sbyte[] dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_SGN
{
internal short rec_type; /* record type */
internal sbyte sig_name; /* signal name */
internal byte sig_old; /* old signal bit pattern */
internal byte sig_new; /* new signal bit pattern */
internal sbyte dummy;
internal short sig_no; /* signal number */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_DATE
{
internal short rec_type; /* record type */
internal sbyte year; /* year */
internal sbyte month; /* month */
internal sbyte day; /* day */
internal sbyte pw_flag; /* power on flag */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal sbyte[] dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_TIME
{
internal short rec_type; /* record flag */
internal sbyte hour; /* hour */
internal sbyte minute; /* minute */
internal sbyte second; /* second */
internal sbyte pw_flag; /* power on flag */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal sbyte[] dummy;
}
[StructLayout(LayoutKind.Explicit, Size = 8)]
internal class ODBHIS_data
{
// record type
[FieldOffset(0)]
internal short rec_type; /* record type */
// alarm record
[FieldOffset(0)]
internal short alm_rec_type; /* record type */
[FieldOffset(2)]
internal short alm_alm_grp; /* alarm group */
[FieldOffset(4)]
internal short alm_alm_no; /* alarm number */
[FieldOffset(6)]
internal sbyte alm_axis_no; /* axis number */
[FieldOffset(7)]
internal sbyte alm_dummy;
// mdi record
[FieldOffset(0)]
internal short mdi_rec_type; /* record type */
[FieldOffset(2)]
internal byte mdi_key_code; /* key code */
[FieldOffset(3)]
internal byte mdi_pw_flag; /* power on flag */
[FieldOffset(4)]
internal sbyte mdi_dummy1;
[FieldOffset(5)]
internal sbyte mdi_dummy2;
[FieldOffset(6)]
internal sbyte mdi_dummy3;
[FieldOffset(7)]
internal sbyte mdi_dummy4;
// sign record
[FieldOffset(0)]
internal short sgn_rec_type; /* record type */
[FieldOffset(2)]
internal sbyte sgn_sig_name; /* signal name */
[FieldOffset(3)]
internal byte sgn_sig_old; /* old signal bit pattern */
[FieldOffset(4)]
internal byte sgn_sig_new; /* new signal bit pattern */
[FieldOffset(5)]
internal sbyte sgn_dummy;
[FieldOffset(6)]
internal short sgn_sig_no; /* signal number */
// date record
[FieldOffset(0)]
internal short date_rec_type; /* record type */
[FieldOffset(2)]
internal sbyte date_year; /* year */
[FieldOffset(3)]
internal sbyte date_month; /* month */
[FieldOffset(4)]
internal sbyte date_day; /* day */
[FieldOffset(5)]
internal sbyte date_pw_flag; /* power on flag */
[FieldOffset(6)]
internal sbyte date_dummy1;
[FieldOffset(7)]
internal sbyte date_dummy2;
// time record
[FieldOffset(0)]
internal short time_rec_type; /* record flag */
[FieldOffset(2)]
internal sbyte time_hour; /* hour */
[FieldOffset(3)]
internal sbyte time_minute; /* minute */
[FieldOffset(4)]
internal sbyte time_second; /* second */
[FieldOffset(5)]
internal sbyte time_pw_flag; /* power on flag */
[FieldOffset(6)]
internal sbyte time_dummy1;
[FieldOffset(7)]
internal sbyte time_dummy2;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHIS1
{
internal ODBHIS_data data1 = new ODBHIS_data();
internal ODBHIS_data data2 = new ODBHIS_data();
internal ODBHIS_data data3 = new ODBHIS_data();
internal ODBHIS_data data4 = new ODBHIS_data();
internal ODBHIS_data data5 = new ODBHIS_data();
internal ODBHIS_data data6 = new ODBHIS_data();
internal ODBHIS_data data7 = new ODBHIS_data();
internal ODBHIS_data data8 = new ODBHIS_data();
internal ODBHIS_data data9 = new ODBHIS_data();
internal ODBHIS_data data10 = new ODBHIS_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHIS
{
internal ushort s_no; /* start number */
internal short type; /* dummy */
internal ushort e_no; /* end number */
internal ODBHIS1 data = new ODBHIS1();
}
/* cnc_rdophistry2:read operation history data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MDI2
{
internal byte key_code; /* key code */
internal byte pw_flag; /* power on flag */
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MDI2_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_MDI2 data = new REC_MDI2();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_SGN2
{
internal short sig_name; /* signal name */
internal short sig_no; /* signal number */
internal byte sig_old; /* old signal bit pattern */
internal byte sig_new; /* new signal bit pattern */
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_SGN2_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_SGN2 data = new REC_SGN2();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_ALM2
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_ALM2_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_ALM2 data = new REC_ALM2();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_DATE2
{
internal short evnt_type; /* event type */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_DATE2_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_DATE2 data = new REC_DATE2();
}
[StructLayout(LayoutKind.Explicit)]
internal class ODBOPHIS
{
[FieldOffset(0)]
internal REC_MDI2_data rec_mdi = new REC_MDI2_data();
[FieldOffset(0)]
internal REC_SGN2_data rec_sgn = new REC_SGN2_data();
[FieldOffset(0)]
internal REC_ALM2_data rec_alm = new REC_ALM2_data();
[FieldOffset(0)]
internal REC_DATE2_data rec_date = new REC_DATE2_data();
}
/* cnc_rdophistry4:read operation history data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MDI4
{
internal char key_code; /* key code */
internal char pw_flag; /* power on flag */
internal short pth_no; /* path index */
internal short ex_flag; /* kxternal key flag */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MDI4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_MDI4 data = new REC_MDI4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_SGN4
{
internal short sig_name; /* signal name */
internal short sig_no; /* signal number */
internal char sig_old; /* old signal bit pattern */
internal char sig_new; /* new signal bit pattern */
internal short pmc_no; /* pmc index */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_SGN4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_SGN4 data = new REC_SGN4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_ALM4
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short pth_no; /* path index */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_ALM4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_ALM4 data = new REC_ALM4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_DATE4
{
internal short evnt_type; /* event type */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_DATE4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_DATE4 data = new REC_DATE4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_IAL4
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short pth_no; /* path index */
internal short sys_alm; /* sys alarm */
internal short dsp_flg; /* message dsp flag */
internal short axis_num; /* axis num */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] g_modal; /* G code Modal */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal char[] g_dp; /* #7:1 Block */
/* #6`#0 dp*/
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal char[] a_dp; /* #7:1 Block */
/* 6`#0 dp*/
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal int[] abs_pos; /* Abs pos */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal char[] abs_dp; /* Abs dp */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal int[] mcn_pos; /* Mcn pos */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal char[] mcn_dp; /* Mcn dp */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_IAL4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_IAL4 data = new REC_IAL4();
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class REC_MAL4
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short pth_no; /* path index */
internal short sys_alm; /* sys alarm */
internal short dsp_flg; /* message dsp flag */
internal short axis_num; /* axis num */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string alm_msg = new string(' ', 64); /* alarm message */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] g_modal; /* G code Modal */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal char[] g_dp; /* #7:1 Block */
/* #6`#0 dp*/
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal char[] a_dp; /* #7:1 Block */
/* 6`#0 dp*/
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal int[] abs_pos; /* Abs pos */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal char[] abs_dp; /* Abs dp */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal int[] mcn_pos; /* Mcn pos */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal char[] mcn_dp; /* Mcn dp */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MAL4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_MAL4 data = new REC_MAL4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_OPM4
{
internal short dsp_flg; /* Dysplay flag(ON/OFF) */
internal short om_no; /* message number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* Hour */
internal short minute; /* Minute */
internal short second; /* Second */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
internal string ope_msg = new string(' ', 256); /* Messege */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_OPM4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_OPM4 data = new REC_OPM4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_OFS4
{
internal short ofs_grp; /* Tool offset group */
internal short ofs_no; /* Tool offset number */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short pth_no; /* path index */
internal int ofs_old; /* old data */
internal int ofs_new; /* new data */
internal short old_dp; /* old data decimal point */
internal short new_dp; /* new data decimal point */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_OFS4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_OFS4 data = new REC_OFS4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_PRM4
{
internal short prm_grp; /* paramater group */
internal short prm_num; /* paramater number */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short prm_len; /* paramater data length */
internal int prm_no; /* paramater no */
internal int prm_old; /* old data */
internal int prm_new; /* new data */
internal short old_dp; /* old data decimal point */
internal short new_dp; /* new data decimal point */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_PRM4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_PRM4 data = new REC_PRM4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_WOF4
{
internal short ofs_grp; /* Work offset group */
internal short ofs_no; /* Work offset number */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short pth_no; /* path index */
internal short axis_no; /* path axis num $*/
internal short dummy;
internal int ofs_old; /* old data */
internal int ofs_new; /* new data */
internal short old_dp; /* old data decimal point */
internal short new_dp; /* new data decimal point */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_WOF4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_WOF4 data = new REC_WOF4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MAC4
{
internal short mac_no; /* macro val number */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short pth_no; /* path index */
internal int mac_old; /* old data */
internal int mac_new; /* new data */
internal short old_dp; /* old data decimal point */
internal short new_dp; /* old data decimal point */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REC_MAC4_data
{
internal short rec_len; /* length */
internal short rec_type; /* record type */
internal REC_MAC4 data = new REC_MAC4();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_1
{
internal REC_MDI4_data rec_mdi1 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi2 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi3 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi4 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi5 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi6 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi7 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi8 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi9 = new REC_MDI4_data();
internal REC_MDI4_data rec_mdi10 = new REC_MDI4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_2
{
internal REC_SGN4_data rec_sgn1 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn2 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn3 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn4 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn5 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn6 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn7 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn8 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn9 = new REC_SGN4_data();
internal REC_SGN4_data rec_sgn10 = new REC_SGN4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_3
{
internal REC_ALM4_data rec_alm1 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm2 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm3 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm4 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm5 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm6 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm7 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm8 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm9 = new REC_ALM4_data();
internal REC_ALM4_data rec_alm10 = new REC_ALM4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_4
{
internal REC_DATE4_data rec_date1 = new REC_DATE4_data();
internal REC_DATE4_data rec_date2 = new REC_DATE4_data();
internal REC_DATE4_data rec_date3 = new REC_DATE4_data();
internal REC_DATE4_data rec_date4 = new REC_DATE4_data();
internal REC_DATE4_data rec_date5 = new REC_DATE4_data();
internal REC_DATE4_data rec_date6 = new REC_DATE4_data();
internal REC_DATE4_data rec_date7 = new REC_DATE4_data();
internal REC_DATE4_data rec_date8 = new REC_DATE4_data();
internal REC_DATE4_data rec_date9 = new REC_DATE4_data();
internal REC_DATE4_data rec_date10 = new REC_DATE4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_5
{
internal REC_IAL4_data rec_ial1 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial2 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial3 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial4 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial5 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial6 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial7 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial8 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial9 = new REC_IAL4_data();
internal REC_IAL4_data rec_ial10 = new REC_IAL4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_6
{
internal REC_MAL4_data rec_mal1 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal2 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal3 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal4 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal5 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal6 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal7 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal8 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal9 = new REC_MAL4_data();
internal REC_MAL4_data rec_mal10 = new REC_MAL4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_7
{
internal REC_OPM4_data rec_opm1 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm2 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm3 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm4 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm5 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm6 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm7 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm8 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm9 = new REC_OPM4_data();
internal REC_OPM4_data rec_opm10 = new REC_OPM4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_8
{
internal REC_OFS4_data rec_ofs1 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs2 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs3 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs4 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs5 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs6 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs7 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs8 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs9 = new REC_OFS4_data();
internal REC_OFS4_data rec_ofs10 = new REC_OFS4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_9
{
internal REC_PRM4_data rec_prm1 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm2 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm3 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm4 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm5 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm6 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm7 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm8 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm9 = new REC_PRM4_data();
internal REC_PRM4_data rec_prm10 = new REC_PRM4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_10
{
internal REC_WOF4_data rec_wof1 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof2 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof3 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof4 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof5 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof6 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof7 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof8 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof9 = new REC_WOF4_data();
internal REC_WOF4_data rec_wof10 = new REC_WOF4_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOPHIS4_11
{
internal REC_MAC4_data rec_mac1 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac2 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac3 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac4 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac5 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac6 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac7 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac8 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac9 = new REC_MAC4_data();
internal REC_MAC4_data rec_mac10 = new REC_MAC4_data();
} /* In case that the number of data is 10 */
/* cnc_rdalmhistry:read alarm history data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ALM_HIS_data
{
internal short dummy;
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal byte axis_no; /* axis number */
internal byte year; /* year */
internal byte month; /* month */
internal byte day; /* day */
internal byte hour; /* hour */
internal byte minute; /* minute */
internal byte second; /* second */
internal byte dummy2;
internal short len_msg; /* alarm message length */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string alm_msg = new string(' ', 32); /* alarm message */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALM_HIS1
{
internal ALM_HIS_data data1 = new ALM_HIS_data();
internal ALM_HIS_data data2 = new ALM_HIS_data();
internal ALM_HIS_data data3 = new ALM_HIS_data();
internal ALM_HIS_data data4 = new ALM_HIS_data();
internal ALM_HIS_data data5 = new ALM_HIS_data();
internal ALM_HIS_data data6 = new ALM_HIS_data();
internal ALM_HIS_data data7 = new ALM_HIS_data();
internal ALM_HIS_data data8 = new ALM_HIS_data();
internal ALM_HIS_data data9 = new ALM_HIS_data();
internal ALM_HIS_data data10 = new ALM_HIS_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAHIS
{
internal ushort s_no; /* start number */
internal short type; /* dummy */
internal ushort e_no; /* end number */
internal ALM_HIS1 alm_his = new ALM_HIS1();
}
/* cnc_rdalmhistry2:read alarm history data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ALM_HIS2_data
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short len_msg; /* alarm message length */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string alm_msg = new string(' ', 32); /* alarm message */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALM_HIS2
{
internal ALM_HIS2_data data1 = new ALM_HIS2_data();
internal ALM_HIS2_data data2 = new ALM_HIS2_data();
internal ALM_HIS2_data data3 = new ALM_HIS2_data();
internal ALM_HIS2_data data4 = new ALM_HIS2_data();
internal ALM_HIS2_data data5 = new ALM_HIS2_data();
internal ALM_HIS2_data data6 = new ALM_HIS2_data();
internal ALM_HIS2_data data7 = new ALM_HIS2_data();
internal ALM_HIS2_data data8 = new ALM_HIS2_data();
internal ALM_HIS2_data data9 = new ALM_HIS2_data();
internal ALM_HIS2_data data10 = new ALM_HIS2_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAHIS2
{
internal ushort s_no; /* start number */
internal ushort e_no; /* end number */
internal ALM_HIS2 alm_his = new ALM_HIS2();
}
/* cnc_rdalmhistry3:read alarm history data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ALM_HIS3_data
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short len_msg; /* alarm message length */
internal short pth_no; /* path index */
internal short dummy;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string alm_msg = new string(' ', 32); /* alarm message */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALM_HIS3
{
internal ALM_HIS3_data data1 = new ALM_HIS3_data();
internal ALM_HIS3_data data2 = new ALM_HIS3_data();
internal ALM_HIS3_data data3 = new ALM_HIS3_data();
internal ALM_HIS3_data data4 = new ALM_HIS3_data();
internal ALM_HIS3_data data5 = new ALM_HIS3_data();
internal ALM_HIS3_data data6 = new ALM_HIS3_data();
internal ALM_HIS3_data data7 = new ALM_HIS3_data();
internal ALM_HIS3_data data8 = new ALM_HIS3_data();
internal ALM_HIS3_data data9 = new ALM_HIS3_data();
internal ALM_HIS3_data data10 = new ALM_HIS3_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAHIS3
{
internal ushort s_no; /* start number */
internal ushort e_no; /* end number */
internal ALM_HIS3 alm_his = new ALM_HIS3();
}
/* cnc_rdalmhistry5:read alarm history data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ALM_HIS5_data
{
internal short alm_grp; /* alarm group */
internal short alm_no; /* alarm number */
internal short axis_no; /* axis number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* minute */
internal short second; /* second */
internal short len_msg; /* alarm message length */
internal short pth_no; /* path index */
internal short dummy; /* dummy */
internal short dsp_flg; /* Flag for displaying */
internal short axis_num; /* Total axis number */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string alm_msg = new string(' ', 64); /* alarm message */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] g_modal; /* G code Modal */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal byte[] g_dp; /* #7:1 Block #6`#0 dp */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal int[] a_modal; /* B,D,E,F,H,M,N,O,S,T code Modal */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal byte[] a_dp; /* #7:1 Block #6`#0 dp */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal int[] abs_pos; /* Abs pos */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal byte[] abs_dp; /* Abs dp */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal int[] mcn_pos; /* Mcn pos */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal byte[] mcn_dp; /* Mcn dp */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALM_HIS5
{
internal ALM_HIS5_data data1 = new ALM_HIS5_data();
internal ALM_HIS5_data data2 = new ALM_HIS5_data();
internal ALM_HIS5_data data3 = new ALM_HIS5_data();
internal ALM_HIS5_data data4 = new ALM_HIS5_data();
internal ALM_HIS5_data data5 = new ALM_HIS5_data();
internal ALM_HIS5_data data6 = new ALM_HIS5_data();
internal ALM_HIS5_data data7 = new ALM_HIS5_data();
internal ALM_HIS5_data data8 = new ALM_HIS5_data();
internal ALM_HIS5_data data9 = new ALM_HIS5_data();
internal ALM_HIS5_data data10 = new ALM_HIS5_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAHIS5
{
internal ushort s_no; /* start number */
internal ushort e_no; /* end number */
internal ALM_HIS5 alm_his = new ALM_HIS5();
}
/* cnc_rdomhistry2:read operater message history data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBOMHIS2_data
{
internal short dsp_flg; /* Dysplay flag(ON/OFF) */
internal short om_no; /* operater message number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* Hour */
internal short minute; /* Minute */
internal short second; /* Second */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
internal string alm_msg = new string(' ', 256); /* alarm message */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OPM_HIS
{
internal ODBOMHIS2_data data1 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data2 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data3 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data4 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data5 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data6 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data7 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data8 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data9 = new ODBOMHIS2_data();
internal ODBOMHIS2_data data10 = new ODBOMHIS2_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOMHIS2
{
internal ushort s_no; /* start number */
internal ushort e_no; /* end number */
internal OPM_HIS opm_his = new OPM_HIS();
}
/* cnc_rdhissgnl:read signals related operation history */
/* cnc_wrhissgnl:write signals related operation history */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBSIG_data
{
internal short ent_no; /* entry number */
internal short sig_no; /* signal number */
internal byte sig_name; /* signal name */
internal byte mask_pat; /* signal mask pattern */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIG1
{
internal IODBSIG_data data1 = new IODBSIG_data();
internal IODBSIG_data data2 = new IODBSIG_data();
internal IODBSIG_data data3 = new IODBSIG_data();
internal IODBSIG_data data4 = new IODBSIG_data();
internal IODBSIG_data data5 = new IODBSIG_data();
internal IODBSIG_data data6 = new IODBSIG_data();
internal IODBSIG_data data7 = new IODBSIG_data();
internal IODBSIG_data data8 = new IODBSIG_data();
internal IODBSIG_data data9 = new IODBSIG_data();
internal IODBSIG_data data10 = new IODBSIG_data();
internal IODBSIG_data data11 = new IODBSIG_data();
internal IODBSIG_data data12 = new IODBSIG_data();
internal IODBSIG_data data13 = new IODBSIG_data();
internal IODBSIG_data data14 = new IODBSIG_data();
internal IODBSIG_data data15 = new IODBSIG_data();
internal IODBSIG_data data16 = new IODBSIG_data();
internal IODBSIG_data data17 = new IODBSIG_data();
internal IODBSIG_data data18 = new IODBSIG_data();
internal IODBSIG_data data19 = new IODBSIG_data();
internal IODBSIG_data data20 = new IODBSIG_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIG
{
internal short datano; /* dummy */
internal short type; /* dummy */
internal IODBSIG1 data = new IODBSIG1();
}
/* cnc_rdhissgnl2:read signals related operation history 2 */
/* cnc_wrhissgnl2:write signals related operation history 2 */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class _IODBSIG2_data
{
internal short ent_no; /* entry number */
internal short sig_no; /* signal number */
internal byte sig_name; /* signal name */
internal byte mask_pat; /* signal mask pattern */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIG2_data
{
internal _IODBSIG2_data data1 = new _IODBSIG2_data();
internal _IODBSIG2_data data2 = new _IODBSIG2_data();
internal _IODBSIG2_data data3 = new _IODBSIG2_data();
internal _IODBSIG2_data data4 = new _IODBSIG2_data();
internal _IODBSIG2_data data5 = new _IODBSIG2_data();
internal _IODBSIG2_data data6 = new _IODBSIG2_data();
internal _IODBSIG2_data data7 = new _IODBSIG2_data();
internal _IODBSIG2_data data8 = new _IODBSIG2_data();
internal _IODBSIG2_data data9 = new _IODBSIG2_data();
internal _IODBSIG2_data data10 = new _IODBSIG2_data();
internal _IODBSIG2_data data11 = new _IODBSIG2_data();
internal _IODBSIG2_data data12 = new _IODBSIG2_data();
internal _IODBSIG2_data data13 = new _IODBSIG2_data();
internal _IODBSIG2_data data14 = new _IODBSIG2_data();
internal _IODBSIG2_data data15 = new _IODBSIG2_data();
internal _IODBSIG2_data data16 = new _IODBSIG2_data();
internal _IODBSIG2_data data17 = new _IODBSIG2_data();
internal _IODBSIG2_data data18 = new _IODBSIG2_data();
internal _IODBSIG2_data data19 = new _IODBSIG2_data();
internal _IODBSIG2_data data20 = new _IODBSIG2_data();
internal _IODBSIG2_data data31 = new _IODBSIG2_data();
internal _IODBSIG2_data data32 = new _IODBSIG2_data();
internal _IODBSIG2_data data33 = new _IODBSIG2_data();
internal _IODBSIG2_data data34 = new _IODBSIG2_data();
internal _IODBSIG2_data data35 = new _IODBSIG2_data();
internal _IODBSIG2_data data36 = new _IODBSIG2_data();
internal _IODBSIG2_data data37 = new _IODBSIG2_data();
internal _IODBSIG2_data data38 = new _IODBSIG2_data();
internal _IODBSIG2_data data39 = new _IODBSIG2_data();
internal _IODBSIG2_data data40 = new _IODBSIG2_data();
internal _IODBSIG2_data data41 = new _IODBSIG2_data();
internal _IODBSIG2_data data42 = new _IODBSIG2_data();
internal _IODBSIG2_data data43 = new _IODBSIG2_data();
internal _IODBSIG2_data data44 = new _IODBSIG2_data();
internal _IODBSIG2_data data45 = new _IODBSIG2_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIG2
{
internal short datano; /* dummy */
internal short type; /* dummy */
internal IODBSIG2_data data = new IODBSIG2_data();
}
/* cnc_rdhissgnl3:read signals related operation history */
/* cnc_wrhissgnl3:write signals related operation history */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class _IODBSIG3_data
{
internal short ent_no; /* entry number */
internal short pmc_no; /* pmc number */
internal short sig_no; /* signal number */
internal byte sig_name; /* signal name */
internal byte mask_pat; /* signal mask pattern */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIG3_data
{
internal _IODBSIG3_data data1 = new _IODBSIG3_data();
internal _IODBSIG3_data data2 = new _IODBSIG3_data();
internal _IODBSIG3_data data3 = new _IODBSIG3_data();
internal _IODBSIG3_data data4 = new _IODBSIG3_data();
internal _IODBSIG3_data data5 = new _IODBSIG3_data();
internal _IODBSIG3_data data6 = new _IODBSIG3_data();
internal _IODBSIG3_data data7 = new _IODBSIG3_data();
internal _IODBSIG3_data data8 = new _IODBSIG3_data();
internal _IODBSIG3_data data9 = new _IODBSIG3_data();
internal _IODBSIG3_data data10 = new _IODBSIG3_data();
internal _IODBSIG3_data data11 = new _IODBSIG3_data();
internal _IODBSIG3_data data12 = new _IODBSIG3_data();
internal _IODBSIG3_data data13 = new _IODBSIG3_data();
internal _IODBSIG3_data data14 = new _IODBSIG3_data();
internal _IODBSIG3_data data15 = new _IODBSIG3_data();
internal _IODBSIG3_data data16 = new _IODBSIG3_data();
internal _IODBSIG3_data data17 = new _IODBSIG3_data();
internal _IODBSIG3_data data18 = new _IODBSIG3_data();
internal _IODBSIG3_data data19 = new _IODBSIG3_data();
internal _IODBSIG3_data data20 = new _IODBSIG3_data();
internal _IODBSIG3_data data21 = new _IODBSIG3_data();
internal _IODBSIG3_data data22 = new _IODBSIG3_data();
internal _IODBSIG3_data data23 = new _IODBSIG3_data();
internal _IODBSIG3_data data24 = new _IODBSIG3_data();
internal _IODBSIG3_data data25 = new _IODBSIG3_data();
internal _IODBSIG3_data data26 = new _IODBSIG3_data();
internal _IODBSIG3_data data27 = new _IODBSIG3_data();
internal _IODBSIG3_data data28 = new _IODBSIG3_data();
internal _IODBSIG3_data data29 = new _IODBSIG3_data();
internal _IODBSIG3_data data30 = new _IODBSIG3_data();
internal _IODBSIG3_data data31 = new _IODBSIG3_data();
internal _IODBSIG3_data data32 = new _IODBSIG3_data();
internal _IODBSIG3_data data33 = new _IODBSIG3_data();
internal _IODBSIG3_data data34 = new _IODBSIG3_data();
internal _IODBSIG3_data data35 = new _IODBSIG3_data();
internal _IODBSIG3_data data36 = new _IODBSIG3_data();
internal _IODBSIG3_data data37 = new _IODBSIG3_data();
internal _IODBSIG3_data data38 = new _IODBSIG3_data();
internal _IODBSIG3_data data39 = new _IODBSIG3_data();
internal _IODBSIG3_data data40 = new _IODBSIG3_data();
internal _IODBSIG3_data data41 = new _IODBSIG3_data();
internal _IODBSIG3_data data42 = new _IODBSIG3_data();
internal _IODBSIG3_data data43 = new _IODBSIG3_data();
internal _IODBSIG3_data data44 = new _IODBSIG3_data();
internal _IODBSIG3_data data45 = new _IODBSIG3_data();
internal _IODBSIG3_data data46 = new _IODBSIG3_data();
internal _IODBSIG3_data data47 = new _IODBSIG3_data();
internal _IODBSIG3_data data48 = new _IODBSIG3_data();
internal _IODBSIG3_data data49 = new _IODBSIG3_data();
internal _IODBSIG3_data data50 = new _IODBSIG3_data();
internal _IODBSIG3_data data51 = new _IODBSIG3_data();
internal _IODBSIG3_data data52 = new _IODBSIG3_data();
internal _IODBSIG3_data data53 = new _IODBSIG3_data();
internal _IODBSIG3_data data54 = new _IODBSIG3_data();
internal _IODBSIG3_data data55 = new _IODBSIG3_data();
internal _IODBSIG3_data data56 = new _IODBSIG3_data();
internal _IODBSIG3_data data57 = new _IODBSIG3_data();
internal _IODBSIG3_data data58 = new _IODBSIG3_data();
internal _IODBSIG3_data data59 = new _IODBSIG3_data();
internal _IODBSIG3_data data60 = new _IODBSIG3_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIG3
{
internal short datano; /* dummy */
internal short type; /* dummy */
internal IODBSIG3_data data = new IODBSIG3_data();
}
/*-------------*/
/* CNC: Others */
/*-------------*/
/* cnc_sysinfo:read CNC system information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYS
{
internal short addinfo;
internal short max_axis;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal char[] cnc_type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal char[] mt_type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal char[] series;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal char[] version;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal char[] axes;
}
#if FS15D
/* cnc_statinfo:read CNC status information */
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBST
{
[MarshalAs(UnmanagedType.ByValArray,SizeConst=2)]
internal short[] dummy; /* dummy */
internal short aut; /* selected automatic mode */
internal short manual; /* selected manual mode */
internal short run; /* running status */
internal short edit; /* editting status */
internal short motion; /* axis, dwell status */
internal short mstb; /* m, s, t, b status */
internal short emergency; /* emergency stop status */
internal short write; /* writting status */
internal short labelskip; /* label skip status */
internal short alarm; /* alarm status */
internal short warning; /* warning status */
internal short battery; /* battery status */
}
#else
/* cnc_statinfo:read CNC status information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBST
{
internal short dummy; /* dummy */
internal short tmmode; /* T/M mode */
internal short aut; /* selected automatic mode */
internal short run; /* running status */
internal short motion; /* axis, dwell status */
internal short mstb; /* m, s, t, b status */
internal short emergency; /* emergency stop status */
internal short alarm; /* alarm status */
internal short edit; /* editting status */
}
#endif
/* cnc_alarm:read alarm status */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBALM
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] dummy = { 0, 0 };
internal ushort data = 0;
}
/* cnc_rdalminfo:read alarm information */
#if M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ALMINFO1_data
{
internal int axis;
internal short alm_no;
}
[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)]
internal class ALMINFO2_data
{
internal int axis=0 ;
internal short alm_no=0 ;
internal short msg_len=0 ;
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=32)]
internal string alm_msg= new string(' ',32) ;
}
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALMINFO1_data
{
internal short axis;
internal short alm_no;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ALMINFO2_data
{
internal short axis = 0;
internal short alm_no = 0;
internal short msg_len = 0;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string alm_msg = new string(' ', 32);
}
#endif
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALMINFO_1
{
internal ALMINFO1_data msg1 = new ALMINFO1_data();
internal ALMINFO1_data msg2 = new ALMINFO1_data();
internal ALMINFO1_data msg3 = new ALMINFO1_data();
internal ALMINFO1_data msg4 = new ALMINFO1_data();
internal ALMINFO1_data msg5 = new ALMINFO1_data();
internal short data_end;
} /* In case that the number of alarm is 5 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ALMINFO_2
{
internal ALMINFO2_data msg1 = new ALMINFO2_data();
internal ALMINFO2_data msg2 = new ALMINFO2_data();
internal ALMINFO2_data msg3 = new ALMINFO2_data();
internal ALMINFO2_data msg4 = new ALMINFO2_data();
internal ALMINFO2_data msg5 = new ALMINFO2_data();
internal short dataend = 0;
} /* In case that the number of alarm is 5 */
/* cnc_rdalmmsg:read alarm messages */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBALMMSG_data
{
internal int alm_no;
internal short type;
internal short axis;
internal short dummy;
internal short msg_len;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string alm_msg = new string(' ', 32);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBALMMSG
{
internal ODBALMMSG_data msg1 = new ODBALMMSG_data();
internal ODBALMMSG_data msg2 = new ODBALMMSG_data();
internal ODBALMMSG_data msg3 = new ODBALMMSG_data();
internal ODBALMMSG_data msg4 = new ODBALMMSG_data();
internal ODBALMMSG_data msg5 = new ODBALMMSG_data();
internal ODBALMMSG_data msg6 = new ODBALMMSG_data();
internal ODBALMMSG_data msg7 = new ODBALMMSG_data();
internal ODBALMMSG_data msg8 = new ODBALMMSG_data();
internal ODBALMMSG_data msg9 = new ODBALMMSG_data();
internal ODBALMMSG_data msg10 = new ODBALMMSG_data();
} /* In case that the number of alarm is 10 */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBALMMSG2_data
{
internal int alm_no;
internal short type;
internal short axis;
internal short dummy;
internal short msg_len;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string alm_msg = new string(' ', 64);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBALMMSG2
{
internal ODBALMMSG2_data msg1 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg2 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg3 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg4 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg5 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg6 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg7 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg8 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg9 = new ODBALMMSG2_data();
internal ODBALMMSG2_data msg10 = new ODBALMMSG2_data();
} /* In case that the number of alarm is 10 */
/* cnc_modal:read modal data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMDL
{
internal short datano;
internal short type;
internal ODBMDL_U modal;
[StructLayout(LayoutKind.Explicit)]
internal struct ODBMDL_U
{
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal byte[] g_1shot;
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)]
internal byte[] g_rdata;
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 27)]
internal MODAL_AUX_data[] raux1;
[FieldOffset(0),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal MODAL_AUX_data[] raux2;
internal byte g_data { get { return g_1shot[0]; } }
internal MODAL_AUX_data aux { get { return raux1[0]; } }
}
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct MODAL_AUX_data
{
internal int aux_data;
internal byte flag1;
internal byte flag2;
}
#if LEAVE_OLD_STYLE
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class MODAL_RAUX1_data
{
internal MODAL_AUX_data data1 = new MODAL_AUX_data();
internal MODAL_AUX_data data2 = new MODAL_AUX_data();
internal MODAL_AUX_data data3 = new MODAL_AUX_data();
internal MODAL_AUX_data data4 = new MODAL_AUX_data();
internal MODAL_AUX_data data5 = new MODAL_AUX_data();
internal MODAL_AUX_data data6 = new MODAL_AUX_data();
internal MODAL_AUX_data data7 = new MODAL_AUX_data();
internal MODAL_AUX_data data8 = new MODAL_AUX_data();
internal MODAL_AUX_data data9 = new MODAL_AUX_data();
internal MODAL_AUX_data data10 = new MODAL_AUX_data();
internal MODAL_AUX_data data11 = new MODAL_AUX_data();
internal MODAL_AUX_data data12 = new MODAL_AUX_data();
internal MODAL_AUX_data data13 = new MODAL_AUX_data();
internal MODAL_AUX_data data14 = new MODAL_AUX_data();
internal MODAL_AUX_data data15 = new MODAL_AUX_data();
internal MODAL_AUX_data data16 = new MODAL_AUX_data();
internal MODAL_AUX_data data17 = new MODAL_AUX_data();
internal MODAL_AUX_data data18 = new MODAL_AUX_data();
internal MODAL_AUX_data data19 = new MODAL_AUX_data();
internal MODAL_AUX_data data20 = new MODAL_AUX_data();
internal MODAL_AUX_data data21 = new MODAL_AUX_data();
internal MODAL_AUX_data data22 = new MODAL_AUX_data();
internal MODAL_AUX_data data23 = new MODAL_AUX_data();
internal MODAL_AUX_data data24 = new MODAL_AUX_data();
internal MODAL_AUX_data data25 = new MODAL_AUX_data();
internal MODAL_AUX_data data26 = new MODAL_AUX_data();
internal MODAL_AUX_data data27 = new MODAL_AUX_data();
}
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class MODAL_RAUX2_data
{
internal MODAL_AUX_data data1 = new MODAL_AUX_data();
internal MODAL_AUX_data data2 = new MODAL_AUX_data();
internal MODAL_AUX_data data3 = new MODAL_AUX_data();
internal MODAL_AUX_data data4 = new MODAL_AUX_data();
internal MODAL_AUX_data data5 = new MODAL_AUX_data();
internal MODAL_AUX_data data6 = new MODAL_AUX_data();
internal MODAL_AUX_data data7 = new MODAL_AUX_data();
internal MODAL_AUX_data data8 = new MODAL_AUX_data();
internal MODAL_AUX_data data9 = new MODAL_AUX_data();
internal MODAL_AUX_data data10 = new MODAL_AUX_data();
internal MODAL_AUX_data data11 = new MODAL_AUX_data();
internal MODAL_AUX_data data12 = new MODAL_AUX_data();
internal MODAL_AUX_data data13 = new MODAL_AUX_data();
internal MODAL_AUX_data data14 = new MODAL_AUX_data();
internal MODAL_AUX_data data15 = new MODAL_AUX_data();
internal MODAL_AUX_data data16 = new MODAL_AUX_data();
internal MODAL_AUX_data data17 = new MODAL_AUX_data();
internal MODAL_AUX_data data18 = new MODAL_AUX_data();
internal MODAL_AUX_data data19 = new MODAL_AUX_data();
internal MODAL_AUX_data data20 = new MODAL_AUX_data();
internal MODAL_AUX_data data21 = new MODAL_AUX_data();
internal MODAL_AUX_data data22 = new MODAL_AUX_data();
internal MODAL_AUX_data data23 = new MODAL_AUX_data();
internal MODAL_AUX_data data24 = new MODAL_AUX_data();
internal MODAL_AUX_data data25 = new MODAL_AUX_data();
internal MODAL_AUX_data data26 = new MODAL_AUX_data();
internal MODAL_AUX_data data27 = new MODAL_AUX_data();
internal MODAL_AUX_data data28 = new MODAL_AUX_data();
internal MODAL_AUX_data data29 = new MODAL_AUX_data();
internal MODAL_AUX_data data30 = new MODAL_AUX_data();
internal MODAL_AUX_data data31 = new MODAL_AUX_data();
internal MODAL_AUX_data data32 = new MODAL_AUX_data();
}
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class MODAL_RAUX2_data
{
internal MODAL_AUX_data data1 = new MODAL_AUX_data();
internal MODAL_AUX_data data2 = new MODAL_AUX_data();
internal MODAL_AUX_data data3 = new MODAL_AUX_data();
internal MODAL_AUX_data data4 = new MODAL_AUX_data();
internal MODAL_AUX_data data5 = new MODAL_AUX_data();
internal MODAL_AUX_data data6 = new MODAL_AUX_data();
internal MODAL_AUX_data data7 = new MODAL_AUX_data();
internal MODAL_AUX_data data8 = new MODAL_AUX_data();
internal MODAL_AUX_data data9 = new MODAL_AUX_data();
internal MODAL_AUX_data data10= new MODAL_AUX_data();
internal MODAL_AUX_data data11= new MODAL_AUX_data();
internal MODAL_AUX_data data12= new MODAL_AUX_data();
internal MODAL_AUX_data data13= new MODAL_AUX_data();
internal MODAL_AUX_data data14= new MODAL_AUX_data();
internal MODAL_AUX_data data15= new MODAL_AUX_data();
internal MODAL_AUX_data data16= new MODAL_AUX_data();
internal MODAL_AUX_data data17= new MODAL_AUX_data();
internal MODAL_AUX_data data18= new MODAL_AUX_data();
internal MODAL_AUX_data data19= new MODAL_AUX_data();
internal MODAL_AUX_data data20= new MODAL_AUX_data();
internal MODAL_AUX_data data21= new MODAL_AUX_data();
internal MODAL_AUX_data data22= new MODAL_AUX_data();
internal MODAL_AUX_data data23= new MODAL_AUX_data();
internal MODAL_AUX_data data24= new MODAL_AUX_data();
}
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class MODAL_RAUX2_data
{
internal MODAL_AUX_data data1 = new MODAL_AUX_data();
internal MODAL_AUX_data data2 = new MODAL_AUX_data();
internal MODAL_AUX_data data3 = new MODAL_AUX_data();
internal MODAL_AUX_data data4 = new MODAL_AUX_data();
internal MODAL_AUX_data data5 = new MODAL_AUX_data();
internal MODAL_AUX_data data6 = new MODAL_AUX_data();
internal MODAL_AUX_data data7 = new MODAL_AUX_data();
internal MODAL_AUX_data data8 = new MODAL_AUX_data();
internal MODAL_AUX_data data9 = new MODAL_AUX_data();
internal MODAL_AUX_data data10= new MODAL_AUX_data();
}
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class MODAL_RAUX2_data
{
internal MODAL_AUX_data data1 = new MODAL_AUX_data();
internal MODAL_AUX_data data2 = new MODAL_AUX_data();
internal MODAL_AUX_data data3 = new MODAL_AUX_data();
internal MODAL_AUX_data data4 = new MODAL_AUX_data();
internal MODAL_AUX_data data5 = new MODAL_AUX_data();
internal MODAL_AUX_data data6 = new MODAL_AUX_data();
internal MODAL_AUX_data data7 = new MODAL_AUX_data();
internal MODAL_AUX_data data8 = new MODAL_AUX_data();
}
#endif
[StructLayout(LayoutKind.Explicit)]
internal class ODBMDL_1
{
[FieldOffset(0)]
internal short datano;
[FieldOffset(2)]
internal short type;
[FieldOffset(4)]
internal byte g_data;
}
[StructLayout(LayoutKind.Explicit)]
internal class ODBMDL_2
{
[FieldOffset(0)]
internal short datano;
[FieldOffset(2)]
internal short type;
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal byte[] g_1shot = new byte[4];
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)]
internal byte[] g_rdata = new byte[35];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMDL_3
{
internal short datano;
internal short type;
internal MODAL_AUX_data aux = new MODAL_AUX_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMDL_4
{
internal short datano;
internal short type;
internal MODAL_RAUX1_data raux1 = new MODAL_RAUX1_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMDL_5
{
internal short datano;
internal short type;
internal MODAL_RAUX2_data raux2 = new MODAL_RAUX2_data();
}
#endif
/* cnc_rdgcode: read G code */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBGCD_data
{
internal short group;
internal short flag;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
internal string code = new string(' ', 8);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBGCD
{
internal ODBGCD_data gcd0 = new ODBGCD_data();
internal ODBGCD_data gcd1 = new ODBGCD_data();
internal ODBGCD_data gcd2 = new ODBGCD_data();
internal ODBGCD_data gcd3 = new ODBGCD_data();
internal ODBGCD_data gcd4 = new ODBGCD_data();
internal ODBGCD_data gcd5 = new ODBGCD_data();
internal ODBGCD_data gcd6 = new ODBGCD_data();
internal ODBGCD_data gcd7 = new ODBGCD_data();
internal ODBGCD_data gcd8 = new ODBGCD_data();
internal ODBGCD_data gcd9 = new ODBGCD_data();
internal ODBGCD_data gcd10 = new ODBGCD_data();
internal ODBGCD_data gcd11 = new ODBGCD_data();
internal ODBGCD_data gcd12 = new ODBGCD_data();
internal ODBGCD_data gcd13 = new ODBGCD_data();
internal ODBGCD_data gcd14 = new ODBGCD_data();
internal ODBGCD_data gcd15 = new ODBGCD_data();
internal ODBGCD_data gcd16 = new ODBGCD_data();
internal ODBGCD_data gcd17 = new ODBGCD_data();
internal ODBGCD_data gcd18 = new ODBGCD_data();
internal ODBGCD_data gcd19 = new ODBGCD_data();
internal ODBGCD_data gcd20 = new ODBGCD_data();
internal ODBGCD_data gcd21 = new ODBGCD_data();
internal ODBGCD_data gcd22 = new ODBGCD_data();
internal ODBGCD_data gcd23 = new ODBGCD_data();
internal ODBGCD_data gcd24 = new ODBGCD_data();
internal ODBGCD_data gcd25 = new ODBGCD_data();
internal ODBGCD_data gcd26 = new ODBGCD_data();
internal ODBGCD_data gcd27 = new ODBGCD_data();
}
/* cnc_rdcommand: read command value */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBCMD_data
{
internal byte adrs;
internal byte num;
internal short flag;
internal int cmd_val;
internal int dec_val;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBCMD
{
internal ODBCMD_data cmd0 = new ODBCMD_data();
internal ODBCMD_data cmd1 = new ODBCMD_data();
internal ODBCMD_data cmd2 = new ODBCMD_data();
internal ODBCMD_data cmd3 = new ODBCMD_data();
internal ODBCMD_data cmd4 = new ODBCMD_data();
internal ODBCMD_data cmd5 = new ODBCMD_data();
internal ODBCMD_data cmd6 = new ODBCMD_data();
internal ODBCMD_data cmd7 = new ODBCMD_data();
internal ODBCMD_data cmd8 = new ODBCMD_data();
internal ODBCMD_data cmd9 = new ODBCMD_data();
internal ODBCMD_data cmd10 = new ODBCMD_data();
internal ODBCMD_data cmd11 = new ODBCMD_data();
internal ODBCMD_data cmd12 = new ODBCMD_data();
internal ODBCMD_data cmd13 = new ODBCMD_data();
internal ODBCMD_data cmd14 = new ODBCMD_data();
internal ODBCMD_data cmd15 = new ODBCMD_data();
internal ODBCMD_data cmd16 = new ODBCMD_data();
internal ODBCMD_data cmd17 = new ODBCMD_data();
internal ODBCMD_data cmd18 = new ODBCMD_data();
internal ODBCMD_data cmd19 = new ODBCMD_data();
internal ODBCMD_data cmd20 = new ODBCMD_data();
internal ODBCMD_data cmd21 = new ODBCMD_data();
internal ODBCMD_data cmd22 = new ODBCMD_data();
internal ODBCMD_data cmd23 = new ODBCMD_data();
internal ODBCMD_data cmd24 = new ODBCMD_data();
internal ODBCMD_data cmd25 = new ODBCMD_data();
internal ODBCMD_data cmd26 = new ODBCMD_data();
internal ODBCMD_data cmd27 = new ODBCMD_data();
internal ODBCMD_data cmd28 = new ODBCMD_data();
internal ODBCMD_data cmd29 = new ODBCMD_data();
}
/* cnc_diagnoss:read diagnosis data */
/* cnc_diagnosr:read diagnosis data(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN
{
internal short datano; /* data number */
internal short type; /* axis number */
internal ODBDGN_U u;
[StructLayout(LayoutKind.Explicit)]
internal struct ODBDGN_U
{
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas;
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas;
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas;
[FieldOffset(0), MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal REALDGN[] rdatas;
internal byte cdata { get { return cdatas[0]; } }
internal short idata { get { return idatas[0]; } }
internal int ldata { get { return ldatas[0]; } }
internal REALDGN rdata { get { return rdatas[0]; } }
}
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct REALDGN
{
internal int dgn_val; /* data of real diagnoss */
internal int dec_val; /* decimal point of real diagnoss */
}
#if LEAVE_OLD_STYLE
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REALDGNS
{
internal REALDGN rdata1 = new REALDGN();
internal REALDGN rdata2 = new REALDGN();
internal REALDGN rdata3 = new REALDGN();
internal REALDGN rdata4 = new REALDGN();
internal REALDGN rdata5 = new REALDGN();
internal REALDGN rdata6 = new REALDGN();
internal REALDGN rdata7 = new REALDGN();
internal REALDGN rdata8 = new REALDGN();
internal REALDGN rdata9 = new REALDGN();
internal REALDGN rdata10 = new REALDGN();
internal REALDGN rdata11 = new REALDGN();
internal REALDGN rdata12 = new REALDGN();
internal REALDGN rdata13 = new REALDGN();
internal REALDGN rdata14 = new REALDGN();
internal REALDGN rdata15 = new REALDGN();
internal REALDGN rdata16 = new REALDGN();
internal REALDGN rdata17 = new REALDGN();
internal REALDGN rdata18 = new REALDGN();
internal REALDGN rdata19 = new REALDGN();
internal REALDGN rdata20 = new REALDGN();
internal REALDGN rdata21 = new REALDGN();
internal REALDGN rdata22 = new REALDGN();
internal REALDGN rdata23 = new REALDGN();
internal REALDGN rdata24 = new REALDGN();
internal REALDGN rdata25 = new REALDGN();
internal REALDGN rdata26 = new REALDGN();
internal REALDGN rdata27 = new REALDGN();
internal REALDGN rdata28 = new REALDGN();
internal REALDGN rdata29 = new REALDGN();
internal REALDGN rdata30 = new REALDGN();
internal REALDGN rdata31 = new REALDGN();
internal REALDGN rdata32 = new REALDGN();
} /* In case that the number of alarm is 24 */
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class REALDGNS
{
internal REALDGN rdata1=new REALDGN();
internal REALDGN rdata2=new REALDGN();
internal REALDGN rdata3=new REALDGN();
internal REALDGN rdata4=new REALDGN();
internal REALDGN rdata5=new REALDGN();
internal REALDGN rdata6=new REALDGN();
internal REALDGN rdata7=new REALDGN();
internal REALDGN rdata8=new REALDGN();
internal REALDGN rdata9=new REALDGN();
internal REALDGN rdata10=new REALDGN();
internal REALDGN rdata11=new REALDGN();
internal REALDGN rdata12=new REALDGN();
internal REALDGN rdata13=new REALDGN();
internal REALDGN rdata14=new REALDGN();
internal REALDGN rdata15=new REALDGN();
internal REALDGN rdata16=new REALDGN();
internal REALDGN rdata17=new REALDGN();
internal REALDGN rdata18=new REALDGN();
internal REALDGN rdata19=new REALDGN();
internal REALDGN rdata20=new REALDGN();
internal REALDGN rdata21=new REALDGN();
internal REALDGN rdata22=new REALDGN();
internal REALDGN rdata23=new REALDGN();
internal REALDGN rdata24=new REALDGN();
} /* In case that the number of alarm is 24 */
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class REALDGNS
{
internal REALDGN rdata1=new REALDGN();
internal REALDGN rdata2=new REALDGN();
internal REALDGN rdata3=new REALDGN();
internal REALDGN rdata4=new REALDGN();
internal REALDGN rdata5=new REALDGN();
internal REALDGN rdata6=new REALDGN();
internal REALDGN rdata7=new REALDGN();
internal REALDGN rdata8=new REALDGN();
internal REALDGN rdata9=new REALDGN();
internal REALDGN rdata10=new REALDGN();
} /* In case that the number of alarm is 10 */
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class REALDGNS
{
internal REALDGN rdata1 = new REALDGN();
internal REALDGN rdata2 = new REALDGN();
internal REALDGN rdata3 = new REALDGN();
internal REALDGN rdata4 = new REALDGN();
internal REALDGN rdata5 = new REALDGN();
internal REALDGN rdata6 = new REALDGN();
internal REALDGN rdata7 = new REALDGN();
internal REALDGN rdata8 = new REALDGN();
} /* In case that the number of alarm is 8 */
#endif
[StructLayout(LayoutKind.Explicit)]
internal class ODBDGN_1
{
[FieldOffset(0)]
internal short datano; /* data number */
[FieldOffset(2)]
internal short type; /* axis number */
[FieldOffset(4)]
internal byte cdata; /* parameter / setting data */
[FieldOffset(4)]
internal short idata;
[FieldOffset(4)]
internal int ldata;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN_2
{
internal short datano; /* data number */
internal short type; /* axis number */
internal REALDGN rdata = new REALDGN();
}
[StructLayout(LayoutKind.Explicit)]
internal class ODBDGN_3
{
[FieldOffset(0)]
internal short datano; /* data number */
[FieldOffset(2)]
internal short type; /* axis number */
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal byte[] cdatas;
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal short[] idatas;
[FieldOffset(4),
MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ldatas;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN_4
{
internal short datano; /* data number */
internal short type; /* axis number */
internal REALDGNS rdatas = new REALDGNS();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN_A
{
internal ODBDGN_1 data1 = new ODBDGN_1();
internal ODBDGN_1 data2 = new ODBDGN_1();
internal ODBDGN_1 data3 = new ODBDGN_1();
internal ODBDGN_1 data4 = new ODBDGN_1();
internal ODBDGN_1 data5 = new ODBDGN_1();
internal ODBDGN_1 data6 = new ODBDGN_1();
internal ODBDGN_1 data7 = new ODBDGN_1();
} /* (sample) must be modified */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN_B
{
internal ODBDGN_2 data1 = new ODBDGN_2();
internal ODBDGN_2 data2 = new ODBDGN_2();
internal ODBDGN_2 data3 = new ODBDGN_2();
internal ODBDGN_2 data4 = new ODBDGN_2();
internal ODBDGN_2 data5 = new ODBDGN_2();
internal ODBDGN_2 data6 = new ODBDGN_2();
internal ODBDGN_2 data7 = new ODBDGN_2();
} /* (sample) must be modified */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN_C
{
internal ODBDGN_3 data1 = new ODBDGN_3();
internal ODBDGN_3 data2 = new ODBDGN_3();
internal ODBDGN_3 data3 = new ODBDGN_3();
internal ODBDGN_3 data4 = new ODBDGN_3();
internal ODBDGN_3 data5 = new ODBDGN_3();
internal ODBDGN_3 data6 = new ODBDGN_3();
internal ODBDGN_3 data7 = new ODBDGN_3();
} /* (sample) must be modified */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDGN_D
{
internal ODBDGN_4 data1 = new ODBDGN_4();
internal ODBDGN_4 data2 = new ODBDGN_4();
internal ODBDGN_4 data3 = new ODBDGN_4();
internal ODBDGN_4 data4 = new ODBDGN_4();
internal ODBDGN_4 data5 = new ODBDGN_4();
internal ODBDGN_4 data6 = new ODBDGN_4();
internal ODBDGN_4 data7 = new ODBDGN_4();
} /* (sample) must be modified */
#endif
/* cnc_adcnv:read A/D conversion data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAD
{
internal short datano; /* input analog voltage type */
internal short type; /* analog voltage type */
internal short data; /* digital voltage data */
}
#if FS15D
/* cnc_rdopmsg:read operator's message */
[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)]
internal class OPMSG_data
{
internal short datano ; /* operator's message number */
internal short type ; /* operator's message type */
internal short char_num ; /* message string length */
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=129)]
internal string data= new string(' ',129) ; /* operator's message string */
} /* In case that the data length is 129 */
#else
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class OPMSG_data
{
internal short datano; /* operator's message number */
internal short type; /* operator's message type */
internal short char_num; /* message string length */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
internal string data = new string(' ', 256); /* operator's message string */
} /* In case that the data length is 256 */
#endif
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OPMSG
{
internal OPMSG_data msg1 = new OPMSG_data();
internal OPMSG_data msg2 = new OPMSG_data();
internal OPMSG_data msg3 = new OPMSG_data();
internal OPMSG_data msg4 = new OPMSG_data();
internal OPMSG_data msg5 = new OPMSG_data();
}
/* cnc_rdopmsg2:read operator's message */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class OPMSG2_data
{
internal short datano; /* operator's message number */
internal short type; /* operator's message type */
internal short char_num; /* message string length */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string data = new string(' ', 64); /* operator's message string */
} /* In case that the data length is 64 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OPMSG2
{
internal OPMSG2_data msg1 = new OPMSG2_data();
internal OPMSG2_data msg2 = new OPMSG2_data();
internal OPMSG2_data msg3 = new OPMSG2_data();
internal OPMSG2_data msg4 = new OPMSG2_data();
internal OPMSG2_data msg5 = new OPMSG2_data();
}
/* cnc_rdopmsg3:read operator's message */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class OPMSG3_data
{
internal short datano; /* operator's message number */
internal short type; /* operator's message type */
internal short char_num; /* message string length */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
internal string data = new string(' ', 256); /* operator's message string */
} /* In case that the data length is 256 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class OPMSG3
{
internal OPMSG3_data msg1 = new OPMSG3_data();
internal OPMSG3_data msg2 = new OPMSG3_data();
internal OPMSG3_data msg3 = new OPMSG3_data();
internal OPMSG3_data msg4 = new OPMSG3_data();
internal OPMSG3_data msg5 = new OPMSG3_data();
}
/* cnc_sysconfig:read CNC configuration information */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBSYSC
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] slot_no_p;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] slot_no_l;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] mod_id;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] soft_id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series1 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series2 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series3 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series4 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series5 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series6 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series7 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series8 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series9 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series10 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series11 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series12 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series13 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series14 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series15 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_series16 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version1 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version2 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version3 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version4 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version5 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version6 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version7 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version8 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version9 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version10 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version11 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version12 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version13 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version14 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version15 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string s_version16 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] dummy;
internal short m_rom;
internal short s_rom;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal char[] svo_soft;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal char[] pmc_soft;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal char[] lad_soft;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal char[] mcr_soft;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal char[] spl1_soft;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal char[] spl2_soft;
internal short frmmin;
internal short drmmin;
internal short srmmin;
internal short pmcmin;
internal short crtmin;
internal short sv1min;
internal short sv3min;
internal short sicmin;
internal short posmin;
internal short drmmrc;
internal short drmarc;
internal short pmcmrc;
internal short dmaarc;
internal short iopt;
internal short hdiio;
internal short frmsub;
internal short drmsub;
internal short srmsub;
internal short sv5sub;
internal short sv7sub;
internal short sicsub;
internal short possub;
internal short hamsub;
internal short gm2gr1;
internal short crtgr2;
internal short gm1gr2;
internal short gm2gr2;
internal short cmmrb;
internal short sv5axs;
internal short sv7axs;
internal short sicaxs;
internal short posaxs;
internal short hanaxs;
internal short romr64;
internal short srmr64;
internal short dr1r64;
internal short dr2r64;
internal short iopio2;
internal short hdiio2;
internal short cmmrb2;
internal short romfap;
internal short srmfap;
internal short drmfap;
}
/* cnc_rdprstrinfo:read program restart information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPRS
{
internal short datano; /* dummy */
internal short type; /* dummy */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] data_info; /* data setting information */
internal int rstr_bc; /* block counter */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 35)]
internal int[] rstr_m; /* M code value */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] rstr_t; /* T code value */
internal int rstr_s; /* S code value */
internal int rstr_b; /* B code value */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] dest; /* program re-start position */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] dist; /* program re-start distance */
}
#if FS15D
/* cnc_rdopnlsgnl:read output signal image of software operator's panel */
/* cnc_wropnlsgnl:write output signal of software operator's panel */
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class IODBSGNL
{
internal short datano; /* dummy */
internal short type; /* data select flag */
internal short mode; /* mode signal */
internal short hndl_ax; /* Manual handle feed axis selection signal */
internal short hndl_mv; /* Manual handle feed travel distance selection signal */
internal short rpd_ovrd; /* rapid traverse override signal */
internal short jog_ovrd; /* manual feedrate override signal */
internal short feed_ovrd; /* feedrate override signal */
internal short spdl_ovrd; /* spindle override signal */
internal short blck_del; /* optional block skip signal */
internal short sngl_blck; /* single block signal */
internal short machn_lock; /* machine lock signal */
internal short dry_run; /* dry run signal */
internal short mem_prtct; /* memory protection signal */
internal short feed_hold; /* automatic operation halt signal */
internal short manual_rpd; /* (not used) */
[MarshalAs(UnmanagedType.ByValArray,SizeConst=2)]
internal short[] dummy; /* (not used) */
}
#else
/* cnc_rdopnlsgnl:read output signal image of software operator's panel */
/* cnc_wropnlsgnl:write output signal of software operator's panel */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSGNL
{
internal short datano; /* dummy */
internal short type; /* data select flag */
internal short mode; /* mode signal */
internal short hndl_ax; /* Manual handle feed axis selection signal */
internal short hndl_mv; /* Manual handle feed travel distance selection signal */
internal short rpd_ovrd; /* rapid traverse override signal */
internal short jog_ovrd; /* manual feedrate override signal */
internal short feed_ovrd; /* feedrate override signal */
internal short spdl_ovrd; /* (not used) */
internal short blck_del; /* optional block skip signal */
internal short sngl_blck; /* single block signal */
internal short machn_lock; /* machine lock signal */
internal short dry_run; /* dry run signal */
internal short mem_prtct; /* memory protection signal */
internal short feed_hold; /* automatic operation halt signal */
}
#endif
/* cnc_rdopnlgnrl:read general signal image of software operator's panel */
/* cnc_wropnlgnrl:write general signal image of software operator's panel */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBGNRL
{
internal short datano; /* dummy */
internal short type; /* data select flag */
internal byte sgnal; /* general signal */
}
/* cnc_rdopnlgsname:read general signal name of software operator's panel */
/* cnc_wropnlgsname:write general signal name of software operator's panel*/
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBRDNA
{
internal short datano; /* dummy */
internal short type; /* data select flag */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl1_name = new string(' ', 9); /* general signal 1 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl2_name = new string(' ', 9); /* general signal 2 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl3_name = new string(' ', 9); /* general signal 3 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl4_name = new string(' ', 9); /* general signal 4 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl5_name = new string(' ', 9); /* general signal 5 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl6_name = new string(' ', 9); /* general signal 6 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl7_name = new string(' ', 9); /* general signal 7 name */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9)]
internal string sgnl8_name = new string(' ', 9); /* general signal 8 name */
}
/* cnc_getdtailerr:get detail error */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBERR
{
internal short err_no;
internal short err_dtno;
}
/* cnc_rdparainfo:read informations of CNC parameter */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPARAIF_info
{
internal short prm_no;
internal short prm_type;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPARAIF1
{
internal ODBPARAIF_info info1 = new ODBPARAIF_info();
internal ODBPARAIF_info info2 = new ODBPARAIF_info();
internal ODBPARAIF_info info3 = new ODBPARAIF_info();
internal ODBPARAIF_info info4 = new ODBPARAIF_info();
internal ODBPARAIF_info info5 = new ODBPARAIF_info();
internal ODBPARAIF_info info6 = new ODBPARAIF_info();
internal ODBPARAIF_info info7 = new ODBPARAIF_info();
internal ODBPARAIF_info info8 = new ODBPARAIF_info();
internal ODBPARAIF_info info9 = new ODBPARAIF_info();
internal ODBPARAIF_info info10 = new ODBPARAIF_info();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPARAIF
{
internal ushort info_no;
internal short prev_no;
internal short next_no;
internal ODBPARAIF1 info = new ODBPARAIF1();
}
/* cnc_rdsetinfo:read informations of CNC setting data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSETIF_info
{
internal short set_no;
internal short set_type;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSETIF1
{
internal ODBSETIF_info info1 = new ODBSETIF_info();
internal ODBSETIF_info info2 = new ODBSETIF_info();
internal ODBSETIF_info info3 = new ODBSETIF_info();
internal ODBSETIF_info info4 = new ODBSETIF_info();
internal ODBSETIF_info info5 = new ODBSETIF_info();
internal ODBSETIF_info info6 = new ODBSETIF_info();
internal ODBSETIF_info info7 = new ODBSETIF_info();
internal ODBSETIF_info info8 = new ODBSETIF_info();
internal ODBSETIF_info info9 = new ODBSETIF_info();
internal ODBSETIF_info info10 = new ODBSETIF_info();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSETIF
{
internal ushort info_no;
internal short prev_no;
internal short next_no;
internal ODBSETIF1 info = new ODBSETIF1();
}
/* cnc_rddiaginfo:read informations of CNC diagnose data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDIAGIF_info
{
internal short diag_no;
internal short diag_type;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDIAGIF1
{
internal ODBDIAGIF_info info1 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info2 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info3 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info4 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info5 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info6 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info7 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info8 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info9 = new ODBDIAGIF_info();
internal ODBDIAGIF_info info10 = new ODBDIAGIF_info();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDIAGIF
{
internal ushort info_no;
internal short prev_no;
internal short next_no;
internal ODBDIAGIF1 info = new ODBDIAGIF1();
}
/* cnc_rdparanum:read maximum, minimum and total number of CNC parameter */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPARANUM
{
internal ushort para_min;
internal ushort para_max;
internal ushort total_no;
}
/* cnc_rdsetnum:read maximum, minimum and total number of CNC setting data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSETNUM
{
internal ushort set_min;
internal ushort set_max;
internal ushort total_no;
}
/* cnc_rddiagnum:read maximum, minimum and total number of CNC diagnose data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDIAGNUM
{
internal ushort diag_min;
internal ushort diag_max;
internal ushort total_no;
}
/* cnc_rdfrominfo:read F-ROM information on CNC */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBFINFO_info
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */
internal int fromsize; /* F-ROM Size */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBFINFO1
{
internal ODBFINFO_info info1 = new ODBFINFO_info();
internal ODBFINFO_info info2 = new ODBFINFO_info();
internal ODBFINFO_info info3 = new ODBFINFO_info();
internal ODBFINFO_info info4 = new ODBFINFO_info();
internal ODBFINFO_info info5 = new ODBFINFO_info();
internal ODBFINFO_info info6 = new ODBFINFO_info();
internal ODBFINFO_info info7 = new ODBFINFO_info();
internal ODBFINFO_info info8 = new ODBFINFO_info();
internal ODBFINFO_info info9 = new ODBFINFO_info();
internal ODBFINFO_info info10 = new ODBFINFO_info();
internal ODBFINFO_info info11 = new ODBFINFO_info();
internal ODBFINFO_info info12 = new ODBFINFO_info();
internal ODBFINFO_info info13 = new ODBFINFO_info();
internal ODBFINFO_info info14 = new ODBFINFO_info();
internal ODBFINFO_info info15 = new ODBFINFO_info();
internal ODBFINFO_info info16 = new ODBFINFO_info();
internal ODBFINFO_info info17 = new ODBFINFO_info();
internal ODBFINFO_info info18 = new ODBFINFO_info();
internal ODBFINFO_info info19 = new ODBFINFO_info();
internal ODBFINFO_info info20 = new ODBFINFO_info();
internal ODBFINFO_info info21 = new ODBFINFO_info();
internal ODBFINFO_info info22 = new ODBFINFO_info();
internal ODBFINFO_info info23 = new ODBFINFO_info();
internal ODBFINFO_info info24 = new ODBFINFO_info();
internal ODBFINFO_info info25 = new ODBFINFO_info();
internal ODBFINFO_info info26 = new ODBFINFO_info();
internal ODBFINFO_info info27 = new ODBFINFO_info();
internal ODBFINFO_info info28 = new ODBFINFO_info();
internal ODBFINFO_info info29 = new ODBFINFO_info();
internal ODBFINFO_info info30 = new ODBFINFO_info();
internal ODBFINFO_info info31 = new ODBFINFO_info();
internal ODBFINFO_info info32 = new ODBFINFO_info();
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBFINFO
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string slotname = new string(' ', 12); /* Slot Name */
internal int fromnum; /* Number of F-ROM SYSTEM data */
internal ODBFINFO1 info = new ODBFINFO1();
}
/* cnc_getfrominfo:read F-ROM information on CNC */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBFINFORM_info
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string sysname = new string(' ', 12); /* F-ROM SYSTEM data Name */
internal int fromsize; /* F-ROM Size */
internal int fromattrib; /* F-ROM data attribute */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBFINFORM1
{
internal ODBFINFORM_info info1 = new ODBFINFORM_info();
internal ODBFINFORM_info info2 = new ODBFINFORM_info();
internal ODBFINFORM_info info3 = new ODBFINFORM_info();
internal ODBFINFORM_info info4 = new ODBFINFORM_info();
internal ODBFINFORM_info info5 = new ODBFINFORM_info();
internal ODBFINFORM_info info6 = new ODBFINFORM_info();
internal ODBFINFORM_info info7 = new ODBFINFORM_info();
internal ODBFINFORM_info info8 = new ODBFINFORM_info();
internal ODBFINFORM_info info9 = new ODBFINFORM_info();
internal ODBFINFORM_info info10 = new ODBFINFORM_info();
internal ODBFINFORM_info info11 = new ODBFINFORM_info();
internal ODBFINFORM_info info12 = new ODBFINFORM_info();
internal ODBFINFORM_info info13 = new ODBFINFORM_info();
internal ODBFINFORM_info info14 = new ODBFINFORM_info();
internal ODBFINFORM_info info15 = new ODBFINFORM_info();
internal ODBFINFORM_info info16 = new ODBFINFORM_info();
internal ODBFINFORM_info info17 = new ODBFINFORM_info();
internal ODBFINFORM_info info18 = new ODBFINFORM_info();
internal ODBFINFORM_info info19 = new ODBFINFORM_info();
internal ODBFINFORM_info info20 = new ODBFINFORM_info();
internal ODBFINFORM_info info21 = new ODBFINFORM_info();
internal ODBFINFORM_info info22 = new ODBFINFORM_info();
internal ODBFINFORM_info info23 = new ODBFINFORM_info();
internal ODBFINFORM_info info24 = new ODBFINFORM_info();
internal ODBFINFORM_info info25 = new ODBFINFORM_info();
internal ODBFINFORM_info info26 = new ODBFINFORM_info();
internal ODBFINFORM_info info27 = new ODBFINFORM_info();
internal ODBFINFORM_info info28 = new ODBFINFORM_info();
internal ODBFINFORM_info info29 = new ODBFINFORM_info();
internal ODBFINFORM_info info30 = new ODBFINFORM_info();
internal ODBFINFORM_info info31 = new ODBFINFORM_info();
internal ODBFINFORM_info info32 = new ODBFINFORM_info();
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBFINFORM
{
internal int slotno; /* Slot Number */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string slotname = new string(' ', 12); /* Slot Name */
internal int fromnum; /* Number of F-ROM SYSTEM data */
internal ODBFINFORM1 info = new ODBFINFORM1();
}
/* cnc_rdsraminfo:read S-RAM information on CNC */
/* cnc_getsraminfo:read S-RAM information on CNC */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBSINFO_info
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string sramname = new string(' ', 12); /* S-RAM data Name */
internal int sramsize; /* S-RAM data Size */
internal short divnumber; /* Division number of S-RAM file */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string fname1 = new string(' ', 16); /* S-RAM data Name1 */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string fname2 = new string(' ', 16); /* S-RAM data Name2 */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string fname3 = new string(' ', 16); /* S-RAM data Name3 */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string fname4 = new string(' ', 16); /* S-RAM data Name4 */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string fname5 = new string(' ', 16); /* S-RAM data Name5 */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string fname6 = new string(' ', 16); /* S-RAM data Name6 */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSINFO1
{
internal ODBSINFO_info info1 = new ODBSINFO_info();
internal ODBSINFO_info info2 = new ODBSINFO_info();
internal ODBSINFO_info info3 = new ODBSINFO_info();
internal ODBSINFO_info info4 = new ODBSINFO_info();
internal ODBSINFO_info info5 = new ODBSINFO_info();
internal ODBSINFO_info info6 = new ODBSINFO_info();
internal ODBSINFO_info info7 = new ODBSINFO_info();
internal ODBSINFO_info info8 = new ODBSINFO_info();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSINFO
{
internal int sramnum; /* Number of S-RAM data */
internal ODBSINFO1 info = new ODBSINFO1();
}
/* cnc_rdsramaddr:read S-RAM address on CNC */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class SRAMADDR
{
internal short type; /* SRAM data type */
internal int size; /* SRAM data size */
internal int offset; /* offset from top address of SRAM */
}
/* cnc_dtsvrdpgdir:read file directory in Data Server */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBDSDIR_data
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string file_name = new string(' ', 16);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string comment = new string(' ', 64);
internal int size;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string date = new string(' ', 16);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDSDIR1
{
internal ODBDSDIR_data data1 = new ODBDSDIR_data();
internal ODBDSDIR_data data2 = new ODBDSDIR_data();
internal ODBDSDIR_data data3 = new ODBDSDIR_data();
internal ODBDSDIR_data data4 = new ODBDSDIR_data();
internal ODBDSDIR_data data5 = new ODBDSDIR_data();
internal ODBDSDIR_data data6 = new ODBDSDIR_data();
internal ODBDSDIR_data data7 = new ODBDSDIR_data();
internal ODBDSDIR_data data8 = new ODBDSDIR_data();
internal ODBDSDIR_data data9 = new ODBDSDIR_data();
internal ODBDSDIR_data data10 = new ODBDSDIR_data();
internal ODBDSDIR_data data11 = new ODBDSDIR_data();
internal ODBDSDIR_data data12 = new ODBDSDIR_data();
internal ODBDSDIR_data data13 = new ODBDSDIR_data();
internal ODBDSDIR_data data14 = new ODBDSDIR_data();
internal ODBDSDIR_data data15 = new ODBDSDIR_data();
internal ODBDSDIR_data data16 = new ODBDSDIR_data();
internal ODBDSDIR_data data17 = new ODBDSDIR_data();
internal ODBDSDIR_data data18 = new ODBDSDIR_data();
internal ODBDSDIR_data data19 = new ODBDSDIR_data();
internal ODBDSDIR_data data20 = new ODBDSDIR_data();
internal ODBDSDIR_data data21 = new ODBDSDIR_data();
internal ODBDSDIR_data data22 = new ODBDSDIR_data();
internal ODBDSDIR_data data23 = new ODBDSDIR_data();
internal ODBDSDIR_data data24 = new ODBDSDIR_data();
internal ODBDSDIR_data data25 = new ODBDSDIR_data();
internal ODBDSDIR_data data26 = new ODBDSDIR_data();
internal ODBDSDIR_data data27 = new ODBDSDIR_data();
internal ODBDSDIR_data data28 = new ODBDSDIR_data();
internal ODBDSDIR_data data29 = new ODBDSDIR_data();
internal ODBDSDIR_data data30 = new ODBDSDIR_data();
internal ODBDSDIR_data data31 = new ODBDSDIR_data();
internal ODBDSDIR_data data32 = new ODBDSDIR_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDSDIR
{
internal int file_num;
internal int remainder;
internal short data_num;
internal ODBDSDIR1 data = new ODBDSDIR1();
}
/* cnc_dtsvrdset:read setting data for Data Server */
/* cnc_dtsvwrset:write setting data for Data Server */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBDSSET
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string host_ip = new string(' ', 16);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string host_uname = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string host_passwd = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
internal string host_dir = new string(' ', 128);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
internal string dtsv_mac = new string(' ', 13);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string dtsv_ip = new string(' ', 16);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string dtsv_mask = new string(' ', 16);
}
/* cnc_dtsvmntinfo:read maintenance information for Data Server */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDSMNT
{
internal int empty_cnt;
internal int total_size;
internal int read_ptr;
internal int write_ptr;
}
/* cnc_rdposerrs2:read the position deviation S1 and S2 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPSER
{
internal int poserr1;
internal int poserr2;
}
/* cnc_rdctrldi:read the control input signal */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPDI_data
{
internal byte sgnl1;
internal byte sgnl2;
internal byte sgnl3;
internal byte sgnl4;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPDI
{
internal ODBSPDI_data di1 = new ODBSPDI_data();
internal ODBSPDI_data di2 = new ODBSPDI_data();
internal ODBSPDI_data di3 = new ODBSPDI_data();
internal ODBSPDI_data di4 = new ODBSPDI_data();
}
/* cnc_rdctrldo:read the control output signal */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPDO_data
{
internal byte sgnl1;
internal byte sgnl2;
internal byte sgnl3;
internal byte sgnl4;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPDO
{
internal ODBSPDO_data do1 = new ODBSPDO_data();
internal ODBSPDO_data do2 = new ODBSPDO_data();
internal ODBSPDO_data do3 = new ODBSPDO_data();
internal ODBSPDO_data do4 = new ODBSPDO_data();
}
/* cnc_rdwaveprm:read the parameter of wave diagnosis */
/* cnc_wrwaveprm:write the parameter of wave diagnosis */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWAVE_io
{
internal byte adr;
internal byte bit;
internal short no;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWAVE_axis
{
internal short axis;
}
[StructLayout(LayoutKind.Explicit)]
internal class IODBWAVE_u
{
[FieldOffset(0)]
internal IODBWAVE_io io = new IODBWAVE_io();
[FieldOffset(0)]
internal IODBWAVE_axis axis = new IODBWAVE_axis();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWAVE_ch_data
{
internal short kind;
internal IODBWAVE_u u = new IODBWAVE_u();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWAVE_ch
{
internal IODBWAVE_ch_data ch1 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch2 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch3 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch4 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch5 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch6 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch7 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch8 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch9 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch10 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch11 = new IODBWAVE_ch_data();
internal IODBWAVE_ch_data ch12 = new IODBWAVE_ch_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWAVE
{
internal short condition;
internal char trg_adr;
internal byte trg_bit;
internal short trg_no;
internal short delay;
internal short t_range;
internal IODBWAVE_ch ch = new IODBWAVE_ch();
}
/* cnc_rdwaveprm2:read the parameter of wave diagnosis 2 */
/* cnc_wrwaveprm2:write the parameter of wave diagnosis 2 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWVPRM_io
{
internal byte adr;
internal byte bit;
internal short no;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWVPRM_axis
{
internal short axis;
}
[StructLayout(LayoutKind.Explicit)]
internal class IODBWVPRM_u
{
[FieldOffset(0)]
internal IODBWVPRM_io io = new IODBWVPRM_io();
[FieldOffset(0)]
internal IODBWVPRM_axis axis = new IODBWVPRM_axis();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWVPRM_ch_data
{
internal short kind;
internal IODBWVPRM_u u = new IODBWVPRM_u();
internal int reserve2;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWVPRM_ch
{
internal IODBWVPRM_ch_data ch1 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch2 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch3 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch4 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch5 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch6 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch7 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch8 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch9 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch10 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch11 = new IODBWVPRM_ch_data();
internal IODBWVPRM_ch_data ch12 = new IODBWVPRM_ch_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWVPRM
{
internal short condition;
internal byte trg_adr;
internal byte trg_bit;
internal short trg_no;
internal short reserve1;
internal int delay;
internal int t_range;
internal IODBWVPRM_ch ch = new IODBWVPRM_ch();
}
/* cnc_rdwavedata:read the data of wave diagnosis */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBWVDT_io
{
internal byte adr;
internal byte bit;
internal short no;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBWVDT_axis
{
internal short axis;
}
[StructLayout(LayoutKind.Explicit)]
internal class ODBWVDT_u
{
[FieldOffset(0)]
internal ODBWVDT_io io = new ODBWVDT_io();
[FieldOffset(0)]
internal ODBWVDT_axis axis = new ODBWVDT_axis();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBWVDT
{
internal short channel;
internal short kind;
internal ODBWVDT_u u = new ODBWVDT_u();
internal byte year;
internal byte month;
internal byte day;
internal byte hour;
internal byte minute;
internal byte second;
internal short t_cycle;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8192)]
internal short[] data;
}
/* cnc_rdrmtwaveprm:read the parameter of wave diagnosis for remort diagnosis */
/* cnc_wrrmtwaveprm:write the parameter of wave diagnosis for remort diagnosis */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBRMTPRM_alm
{
internal short no;
internal sbyte axis;
internal byte type;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBRMTPRM_io
{
internal char adr;
internal byte bit;
internal short no;
}
[StructLayout(LayoutKind.Explicit)]
internal class IODBRMTPRM_trg
{
[FieldOffset(0)]
internal IODBRMTPRM_alm alm = new IODBRMTPRM_alm();
[FieldOffset(0)]
internal IODBRMTPRM_io io = new IODBRMTPRM_io();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBRMTPRM_smpl
{
internal char adr;
internal byte bit;
internal short no;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBRMTPRM1
{
internal IODBRMTPRM_smpl ampl1 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl2 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl3 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl4 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl5 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl6 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl7 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl8 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl9 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl10 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl11 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl12 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl13 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl14 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl15 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl16 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl17 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl18 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl19 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl20 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl21 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl22 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl23 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl24 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl25 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl26 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl27 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl28 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl29 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl30 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl31 = new IODBRMTPRM_smpl();
internal IODBRMTPRM_smpl ampl32 = new IODBRMTPRM_smpl();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBRMTPRM
{
internal short condition;
internal short reserve;
internal IODBRMTPRM_trg trg = new IODBRMTPRM_trg();
internal int delay;
internal short wv_intrvl;
internal short io_intrvl;
internal short kind1;
internal short kind2;
internal IODBRMTPRM1 ampl = new IODBRMTPRM1();
}
/* cnc_rdrmtwavedt:read the data of wave diagnosis for remort diagnosis */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBRMTDT
{
internal short channel;
internal short kind;
internal byte year;
internal byte month;
internal byte day;
internal byte hour;
internal byte minute;
internal byte second;
internal short t_intrvl;
internal short trg_data;
internal int ins_ptr;
internal short t_delta;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1917)]
internal short[] data;
}
/* cnc_rdsavsigadr:read of address for PMC signal batch save */
/* cnc_wrsavsigadr:write of address for PMC signal batch save */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSIGAD
{
internal byte adr;
internal byte reserve;
internal short no;
internal short size;
}
/* cnc_rdmgrpdata:read M-code group data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBMGRP_data
{
internal int m_code;
internal short grp_no;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]
internal string m_name = new string(' ', 21);
internal byte dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMGRP
{
internal ODBMGRP_data mgrp1 = new ODBMGRP_data();
internal ODBMGRP_data mgrp2 = new ODBMGRP_data();
internal ODBMGRP_data mgrp3 = new ODBMGRP_data();
internal ODBMGRP_data mgrp4 = new ODBMGRP_data();
internal ODBMGRP_data mgrp5 = new ODBMGRP_data();
internal ODBMGRP_data mgrp6 = new ODBMGRP_data();
internal ODBMGRP_data mgrp7 = new ODBMGRP_data();
internal ODBMGRP_data mgrp8 = new ODBMGRP_data();
internal ODBMGRP_data mgrp9 = new ODBMGRP_data();
internal ODBMGRP_data mgrp10 = new ODBMGRP_data();
}
/* cnc_wrmgrpdata:write M-code group data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBMGRP
{
internal short s_no;
internal short dummy;
internal short num;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 500)]
internal short[] group = new short[500];
}
/* cnc_rdexecmcode:read executing M-code group data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBEXEM_data
{
internal int no;
internal short flag;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBEXEM1
{
internal ODBEXEM_data m_code1 = new ODBEXEM_data();
internal ODBEXEM_data m_code2 = new ODBEXEM_data();
internal ODBEXEM_data m_code3 = new ODBEXEM_data();
internal ODBEXEM_data m_code4 = new ODBEXEM_data();
internal ODBEXEM_data m_code5 = new ODBEXEM_data();
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBEXEM
{
internal short grp_no;
internal short mem_no;
internal ODBEXEM1 m_code = new ODBEXEM1();
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]
internal string m_name = new string(' ', 21);
internal byte dummy;
}
/* cnc_rdrstrmcode:read program restart M-code group data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class M_CODE_data
{
internal int no;
internal short flag;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class M_CODE1
{
internal M_CODE_data m_code1 = new M_CODE_data();
internal M_CODE_data m_code2 = new M_CODE_data();
internal M_CODE_data m_code3 = new M_CODE_data();
internal M_CODE_data m_code4 = new M_CODE_data();
internal M_CODE_data m_code5 = new M_CODE_data();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBRSTRM
{
internal short grp_no;
internal short mem_no;
internal M_CODE1 m_code = new M_CODE1();
}
/* cnc_rdproctime:read processing time stamp data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPTIME_data
{
internal int prg_no;
internal short hour;
internal byte minute;
internal byte second;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPTIME1
{
internal ODBPTIME_data data1 = new ODBPTIME_data();
internal ODBPTIME_data data2 = new ODBPTIME_data();
internal ODBPTIME_data data3 = new ODBPTIME_data();
internal ODBPTIME_data data4 = new ODBPTIME_data();
internal ODBPTIME_data data5 = new ODBPTIME_data();
internal ODBPTIME_data data6 = new ODBPTIME_data();
internal ODBPTIME_data data7 = new ODBPTIME_data();
internal ODBPTIME_data data8 = new ODBPTIME_data();
internal ODBPTIME_data data9 = new ODBPTIME_data();
internal ODBPTIME_data data10 = new ODBPTIME_data();
} /* In case that the number of data is 10 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPTIME
{
internal short num;
internal ODBPTIME1 data = new ODBPTIME1();
}
/* cnc_rdprgdirtime:read program directory for processing time data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIRTM_data
{
internal int prg_no;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)]
internal string comment = new string(' ', 51);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
internal string cuttime = new string(' ', 13);
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIRTM
{
internal PRGDIRTM_data data1 = new PRGDIRTM_data();
internal PRGDIRTM_data data2 = new PRGDIRTM_data();
internal PRGDIRTM_data data3 = new PRGDIRTM_data();
internal PRGDIRTM_data data4 = new PRGDIRTM_data();
internal PRGDIRTM_data data5 = new PRGDIRTM_data();
internal PRGDIRTM_data data6 = new PRGDIRTM_data();
internal PRGDIRTM_data data7 = new PRGDIRTM_data();
internal PRGDIRTM_data data8 = new PRGDIRTM_data();
internal PRGDIRTM_data data9 = new PRGDIRTM_data();
internal PRGDIRTM_data data10 = new PRGDIRTM_data();
} /* In case that the number of data is 10 */
/* cnc_rdprogdir2:read program directory 2 */
#if (!ONO8D)
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIR2_data
{
internal short number;
internal int length;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 51)]
internal string comment = new string(' ', 51);
internal byte dummy;
}
#else
[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=4)]
internal class PRGDIR2_data
{
internal int number ;
internal int length ;
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=51)]
internal string comment= new string(' ',51) ;
internal byte dummy ;
}
#endif
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIR2
{
internal PRGDIR2_data dir1 = new PRGDIR2_data();
internal PRGDIR2_data dir2 = new PRGDIR2_data();
internal PRGDIR2_data dir3 = new PRGDIR2_data();
internal PRGDIR2_data dir4 = new PRGDIR2_data();
internal PRGDIR2_data dir5 = new PRGDIR2_data();
internal PRGDIR2_data dir6 = new PRGDIR2_data();
internal PRGDIR2_data dir7 = new PRGDIR2_data();
internal PRGDIR2_data dir8 = new PRGDIR2_data();
internal PRGDIR2_data dir9 = new PRGDIR2_data();
internal PRGDIR2_data dir10 = new PRGDIR2_data();
} /* In case that the number of data is 10 */
/* cnc_rdprogdir3:read program directory 3 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class DIR3_MDATE
{
internal short year;
internal short month;
internal short day;
internal short hour;
internal short minute;
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class DIR3_CDATE
{
internal short year;
internal short month;
internal short day;
internal short hour;
internal short minute;
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIR3_data
{
internal int number;
internal int length;
internal int page;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)]
internal string comment = new string(' ', 52);
internal DIR3_MDATE mdate = new DIR3_MDATE();
internal DIR3_CDATE cdate = new DIR3_CDATE();
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIR3
{
internal PRGDIR3_data dir1 = new PRGDIR3_data();
internal PRGDIR3_data dir2 = new PRGDIR3_data();
internal PRGDIR3_data dir3 = new PRGDIR3_data();
internal PRGDIR3_data dir4 = new PRGDIR3_data();
internal PRGDIR3_data dir5 = new PRGDIR3_data();
internal PRGDIR3_data dir6 = new PRGDIR3_data();
internal PRGDIR3_data dir7 = new PRGDIR3_data();
internal PRGDIR3_data dir8 = new PRGDIR3_data();
internal PRGDIR3_data dir9 = new PRGDIR3_data();
internal PRGDIR3_data dir10 = new PRGDIR3_data();
} /* In case that the number of data is 10 */
/* cnc_rdprogdir4:read program directory 4 */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class DIR4_MDATE
{
internal short year;
internal short month;
internal short day;
internal short hour;
internal short minute;
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class DIR4_CDATE
{
internal short year;
internal short month;
internal short day;
internal short hour;
internal short minute;
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIR4_data
{
internal int number;
internal int length;
internal int page;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 52)]
internal string comment = new string(' ', 52);
internal DIR4_MDATE mdate = new DIR4_MDATE();
internal DIR4_CDATE cdate = new DIR4_CDATE();
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class PRGDIR4
{
internal PRGDIR4_data dir1 = new PRGDIR4_data();
internal PRGDIR4_data dir2 = new PRGDIR4_data();
internal PRGDIR4_data dir3 = new PRGDIR4_data();
internal PRGDIR4_data dir4 = new PRGDIR4_data();
internal PRGDIR4_data dir5 = new PRGDIR4_data();
internal PRGDIR4_data dir6 = new PRGDIR4_data();
internal PRGDIR4_data dir7 = new PRGDIR4_data();
internal PRGDIR4_data dir8 = new PRGDIR4_data();
internal PRGDIR4_data dir9 = new PRGDIR4_data();
internal PRGDIR4_data dir10 = new PRGDIR4_data();
} /* In case that the number of data is 10 */
/* cnc_rdcomparam:read communication parameter for DNC1, DNC2, OSI-Ethernet */
/* cnc_wrcomparam:write communication parameter for DNC1, DNC2, OSI-Ethernet */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBCPRM
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
internal string NcApli = new string(' ', 65);
internal byte Dummy1;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
internal string HostApli = new string(' ', 65);
internal byte Dummy2;
internal uint StatPstv;
internal uint StatNgtv;
internal uint Statmask;
internal uint AlarmStat;
internal uint PsclHaddr;
internal uint PsclLaddr;
internal ushort SvcMode1;
internal ushort SvcMode2;
internal int FileTout;
internal int RemTout;
}
/* cnc_rdintchk:read interference check */
/* cnc_wrintchk:write interference check */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBINT
{
internal short datano_s; /* start offset No. */
internal short type; /* kind of position */
internal short datano_e; /* end offset No. */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 3)]
internal int[] data = new int[8 * 3]; /* position value of area for not attach */
}
/* cnc_rdwkcdshft:read work coordinate shift */
/* cnc_wrwkcdshft:write work coordinate shift */
/* cnc_rdwkcdsfms:read work coordinate shift measure */
/* cnc_wrwkcdsfms:write work coordinate shift measure */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBWCSF
{
internal short datano; /* datano */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] data = new int[MAX_AXIS]; /* data */
}
/* cnc_rdomhisinfo:read operator message history information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOMIF
{
internal ushort om_max; /* maximum operator message history */
internal ushort om_sum; /* actually operator message history */
internal ushort om_char; /* maximum character (include NULL) */
}
/* cnc_rdomhistry:read operator message history */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBOMHIS_data
{
internal short om_no; /* operator message number */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* mimute */
internal short second; /* second */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
internal string om_msg = new string(' ', 256);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBOMHIS
{
internal ODBOMHIS_data omhis1 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis2 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis3 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis4 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis5 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis6 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis7 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis8 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis9 = new ODBOMHIS_data();
internal ODBOMHIS_data omhis10 = new ODBOMHIS_data();
} /* In case that the number of data is 10 */
/* cnc_rdbtofsr:read b-axis tool offset value(area specified) */
/* cnc_wrbtofsr:write b-axis tool offset value(area specified) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBBTO
{
internal short datano_s; /* start offset number */
internal short type; /* offset type */
internal short datano_e; /* end offset number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)]
internal int[] ofs = new int[18]; /* offset */
} /* In case that the number of data is 9 (B type) */
/* cnc_rdbtofsinfo:read b-axis tool offset information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBBTLINF
{
internal short ofs_type; /* memory type */
internal short use_no; /* sum of b-axis offset */
internal short sub_no; /* sub function number of offset cancel */
}
/* cnc_rdbaxis:read b-axis command */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBBAXIS
{
internal short flag; /* b-axis command exist or not */
internal short command; /* b-axis command */
internal ushort speed; /* b-axis speed */
internal int sub_data; /* b-axis sub data */
}
/* cnc_rdsyssoft:read CNC system soft series and version */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBSYSS
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] slot_no_p;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] slot_no_l;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] module_id;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] soft_id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series1 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series2 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series3 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series4 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series5 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series6 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series7 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series8 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series9 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series10 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series11 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series12 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series13 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series14 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series15 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series16 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version1 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version2 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version3 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version4 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version5 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version6 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version7 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version8 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version9 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version10 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version11 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version12 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version13 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version14 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version15 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version16 = new string(' ', 5);
internal short soft_inst;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string boot_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string boot_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string servo_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string servo_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string ladder_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string ladder_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrlib_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrlib_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrapl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrapl_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl1_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl1_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl2_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl2_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl3_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl3_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exelib_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exelib_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exeapl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exeapl_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string int_vga_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string int_vga_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string out_vga_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string out_vga_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmm_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmm_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_mng_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_mng_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shin_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shin_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shout_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shout_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_c_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_c_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_edit_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_edit_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_mng_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_mng_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_apl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_apl_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl4_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl4_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr2_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr2_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr3_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr3_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string eth_boot_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string eth_boot_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)]
internal byte[] reserve;
}
/* cnc_rdsyssoft2:read CNC system soft series and version (2) */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBSYSS2
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] slot_no_p;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal byte[] slot_no_l;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] module_id;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] soft_id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series1 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series2 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series3 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series4 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series5 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series6 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series7 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series8 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series9 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series10 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series11 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series12 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series13 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series14 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series15 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_series16 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version1 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version2 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version3 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version4 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version5 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version6 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version7 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version8 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version9 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version10 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version11 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version12 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version13 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version14 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version15 = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string soft_version16 = new string(' ', 5);
internal short soft_inst;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string boot_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string boot_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string servo_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string servo_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string ladder_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string ladder_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrlib_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrlib_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrapl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcrapl_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl1_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl1_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl2_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl2_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl3_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl3_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exelib_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exelib_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exeapl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string c_exeapl_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string int_vga_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string int_vga_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string out_vga_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string out_vga_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmm_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmm_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_mng_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_mng_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shin_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shin_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shout_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_shout_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_c_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_c_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_edit_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string pmc_edit_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_mng_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_mng_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_apl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string lddr_apl_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl4_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string spl4_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr2_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr2_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr3_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string mcr3_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string eth_boot_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string eth_boot_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8 * 5)]
internal byte[] reserve;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string embEthe_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string embEthe_ver = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 38 * 5)]
internal byte[] reserve2;
}
/* cnc_rdsyssoft3:read CNC system soft series and version (3) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSS3_data
{
internal short soft_id;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal char[] soft_series;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal char[] soft_edition;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSS3
{
internal ODBSYSS3_data p1 = new ODBSYSS3_data();
internal ODBSYSS3_data p2 = new ODBSYSS3_data();
internal ODBSYSS3_data p3 = new ODBSYSS3_data();
internal ODBSYSS3_data p4 = new ODBSYSS3_data();
internal ODBSYSS3_data p5 = new ODBSYSS3_data();
internal ODBSYSS3_data p6 = new ODBSYSS3_data();
internal ODBSYSS3_data p7 = new ODBSYSS3_data();
internal ODBSYSS3_data p8 = new ODBSYSS3_data();
internal ODBSYSS3_data p9 = new ODBSYSS3_data();
internal ODBSYSS3_data p10 = new ODBSYSS3_data();
internal ODBSYSS3_data p11 = new ODBSYSS3_data();
internal ODBSYSS3_data p12 = new ODBSYSS3_data();
internal ODBSYSS3_data p13 = new ODBSYSS3_data();
internal ODBSYSS3_data p14 = new ODBSYSS3_data();
internal ODBSYSS3_data p15 = new ODBSYSS3_data();
internal ODBSYSS3_data p16 = new ODBSYSS3_data();
internal ODBSYSS3_data p17 = new ODBSYSS3_data();
internal ODBSYSS3_data p18 = new ODBSYSS3_data();
internal ODBSYSS3_data p19 = new ODBSYSS3_data();
internal ODBSYSS3_data p20 = new ODBSYSS3_data();
internal ODBSYSS3_data p21 = new ODBSYSS3_data();
internal ODBSYSS3_data p22 = new ODBSYSS3_data();
internal ODBSYSS3_data p23 = new ODBSYSS3_data();
internal ODBSYSS3_data p24 = new ODBSYSS3_data();
internal ODBSYSS3_data p25 = new ODBSYSS3_data();
internal ODBSYSS3_data p26 = new ODBSYSS3_data();
internal ODBSYSS3_data p27 = new ODBSYSS3_data();
internal ODBSYSS3_data p28 = new ODBSYSS3_data();
internal ODBSYSS3_data p29 = new ODBSYSS3_data();
internal ODBSYSS3_data p30 = new ODBSYSS3_data();
internal ODBSYSS3_data p31 = new ODBSYSS3_data();
internal ODBSYSS3_data p32 = new ODBSYSS3_data();
internal ODBSYSS3_data p33 = new ODBSYSS3_data();
internal ODBSYSS3_data p34 = new ODBSYSS3_data();
internal ODBSYSS3_data p35 = new ODBSYSS3_data();
internal ODBSYSS3_data p36 = new ODBSYSS3_data();
internal ODBSYSS3_data p37 = new ODBSYSS3_data();
internal ODBSYSS3_data p38 = new ODBSYSS3_data();
internal ODBSYSS3_data p39 = new ODBSYSS3_data();
internal ODBSYSS3_data p40 = new ODBSYSS3_data();
}
/* cnc_rdsyshard:read CNC system hard info */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSH_data
{
internal uint id1;
internal uint id2;
internal short group_id;
internal short hard_id;
internal short hard_num;
internal short slot_no;
internal short id1_format;
internal short id2_format;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSH
{
internal ODBSYSH_data data1 = new ODBSYSH_data();
internal ODBSYSH_data data2 = new ODBSYSH_data();
internal ODBSYSH_data data3 = new ODBSYSH_data();
internal ODBSYSH_data data4 = new ODBSYSH_data();
internal ODBSYSH_data data5 = new ODBSYSH_data();
internal ODBSYSH_data data6 = new ODBSYSH_data();
internal ODBSYSH_data data7 = new ODBSYSH_data();
internal ODBSYSH_data data8 = new ODBSYSH_data();
internal ODBSYSH_data data9 = new ODBSYSH_data();
internal ODBSYSH_data data10 = new ODBSYSH_data();
internal ODBSYSH_data data11 = new ODBSYSH_data();
internal ODBSYSH_data data12 = new ODBSYSH_data();
internal ODBSYSH_data data13 = new ODBSYSH_data();
internal ODBSYSH_data data14 = new ODBSYSH_data();
internal ODBSYSH_data data15 = new ODBSYSH_data();
internal ODBSYSH_data data16 = new ODBSYSH_data();
internal ODBSYSH_data data17 = new ODBSYSH_data();
internal ODBSYSH_data data18 = new ODBSYSH_data();
internal ODBSYSH_data data19 = new ODBSYSH_data();
internal ODBSYSH_data data20 = new ODBSYSH_data();
internal ODBSYSH_data data21 = new ODBSYSH_data();
internal ODBSYSH_data data22 = new ODBSYSH_data();
internal ODBSYSH_data data23 = new ODBSYSH_data();
internal ODBSYSH_data data24 = new ODBSYSH_data();
internal ODBSYSH_data data25 = new ODBSYSH_data();
}
/* cnc_rdmdlconfig:read CNC module configuration information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMDLC
{
internal short from;
internal short dram;
internal short sram;
internal short pmc;
internal short crtc;
internal short servo12;
internal short servo34;
internal short servo56;
internal short servo78;
internal short sic;
internal short pos_lsi;
internal short hi_aio;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
internal short[] reserve;
internal short drmmrc;
internal short drmarc;
internal short pmcmrc;
internal short dmaarc;
internal short iopt;
internal short hdiio;
internal short gm2gr1;
internal short crtgr2;
internal short gm1gr2;
internal short gm2gr2;
internal short cmmrb;
internal short sv5axs;
internal short sv7axs;
internal short sicaxs;
internal short posaxs;
internal short hamaxs;
internal short romr64;
internal short srmr64;
internal short dr1r64;
internal short dr2r64;
internal short iopio2;
internal short hdiio2;
internal short cmmrb2;
internal short romfap;
internal short srmfap;
internal short drmfap;
internal short drmare;
internal short pmcmre;
internal short dmaare;
internal short frmbgg;
internal short drmbgg;
internal short asrbgg;
internal short edtpsc;
internal short slcpsc;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 34)]
internal short[] reserve2;
}
/* cnc_rdpscdproc:read processing condition file (processing data) */
/* cnc_wrpscdproc:write processing condition file (processing data) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSCD_data
{
internal short slct;
internal int feed;
internal short power;
internal short freq;
internal short duty;
internal short g_press;
internal short g_kind;
internal short g_ready_t;
internal short displace;
internal int supple;
internal short edge_slt;
internal short appr_slt;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] reserve = new short[5];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPSCD
{
internal IODBPSCD_data data1 = new IODBPSCD_data();
internal IODBPSCD_data data2 = new IODBPSCD_data();
internal IODBPSCD_data data3 = new IODBPSCD_data();
internal IODBPSCD_data data4 = new IODBPSCD_data();
internal IODBPSCD_data data5 = new IODBPSCD_data();
internal IODBPSCD_data data6 = new IODBPSCD_data();
internal IODBPSCD_data data7 = new IODBPSCD_data();
internal IODBPSCD_data data8 = new IODBPSCD_data();
internal IODBPSCD_data data9 = new IODBPSCD_data();
internal IODBPSCD_data data10 = new IODBPSCD_data();
} /* In case that the number of data is 10 */
/* cnc_rdpscdpirc:read processing condition file (piercing data) */
/* cnc_wrpscdpirc:write processing condition file (piercing data) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPIRC_data
{
internal short slct;
internal short power;
internal short freq;
internal short duty;
internal short i_freq;
internal short i_duty;
internal short step_t;
internal short step_sum;
internal int pier_t;
internal short g_press;
internal short g_kind;
internal short g_time;
internal short def_pos;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal short[] reserve = new short[4];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPIRC
{
internal IODBPIRC_data data1 = new IODBPIRC_data();
internal IODBPIRC_data data2 = new IODBPIRC_data();
internal IODBPIRC_data data3 = new IODBPIRC_data();
}
/* cnc_rdpscdedge:read processing condition file (edging data) */
/* cnc_wrpscdedge:write processing condition file (edging data) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBEDGE_data
{
internal short slct;
internal short angle;
internal short power;
internal short freq;
internal short duty;
internal int pier_t;
internal short g_press;
internal short g_kind;
internal int r_len;
internal short r_feed;
internal short r_freq;
internal short r_duty;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] reserve = new short[5];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBEDGE
{
internal IODBEDGE_data data1 = new IODBEDGE_data();
internal IODBEDGE_data data2 = new IODBEDGE_data();
internal IODBEDGE_data data3 = new IODBEDGE_data();
internal IODBEDGE_data data4 = new IODBEDGE_data();
internal IODBEDGE_data data5 = new IODBEDGE_data();
}
/* cnc_rdpscdslop:read processing condition file (slope data) */
/* cnc_wrpscdslop:write processing condition file (slope data) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLOP_data
{
internal int slct;
internal int upleng;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal short[] upsp = new short[10];
internal int dwleng;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal short[] dwsp = new short[10];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
internal short[] reserve = new short[10];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLOP
{
internal IODBSLOP_data data1 = new IODBSLOP_data();
internal IODBSLOP_data data2 = new IODBSLOP_data();
internal IODBSLOP_data data3 = new IODBSLOP_data();
internal IODBSLOP_data data4 = new IODBSLOP_data();
internal IODBSLOP_data data5 = new IODBSLOP_data();
}
/* cnc_rdlpwrdty:read power controll duty data */
/* cnc_wrlpwrdty:write power controll duty data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBLPWDT
{
internal short slct;
internal short dty_const;
internal short dty_min;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal short[] reserve = new short[6];
}
/* cnc_rdlpwrdat:read laser power data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBLOPDT
{
internal short slct;
internal short pwr_mon;
internal short pwr_ofs;
internal short pwr_act;
internal int feed_act;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal short[] reserve;
}
/* cnc_rdlagslt:read laser assist gas selection */
/* cnc_wrlagslt:write laser assist gas selection */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBLAGSL
{
internal short slct;
internal short ag_slt;
internal short agflow_slt;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal short[] reserve = new short[6];
}
/* cnc_rdlagst:read laser assist gas flow */
/* cnc_wrlagst:write laser assist gas flow */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class GASFLOW
{
internal short slct;
internal short pre_time;
internal short pre_press;
internal short proc_press;
internal short end_time;
internal short end_press;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal short[] reserve = new short[3];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBLAGST
{
internal GASFLOW data1 = new GASFLOW();
internal GASFLOW data2 = new GASFLOW();
internal GASFLOW data3 = new GASFLOW();
}
/* cnc_rdledgprc:read laser power for edge processing */
/* cnc_wrledgprc:write laser power for edge processing */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBLEGPR
{
internal short slct;
internal short power;
internal short freq;
internal short duty;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] reserve = new short[5];
}
/* cnc_rdlprcprc:read laser power for piercing */
/* cnc_wrlprcprc:write laser power for piercing */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBLPCPR
{
internal short slct;
internal short power;
internal short freq;
internal short duty;
internal int time;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal short[] reserve = new short[4];
}
/* cnc_rdlcmddat:read laser command data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBLCMDT
{
internal short slct;
internal int feed;
internal short power;
internal short freq;
internal short duty;
internal short g_kind;
internal short g_ready_t;
internal short g_press;
internal short error;
internal int dsplc;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
internal short[] reserve = new short[7];
}
/* cnc_rdlactnum:read active number */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBLACTN
{
internal short slct;
internal short act_proc;
internal short act_pirce;
internal short act_slop;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] reserve = new short[5];
}
/* cnc_rdlcmmt:read laser comment */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBLCMMT
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 25)]
internal string comment = new string(' ', 25);
}
/* cnc_rdpwofsthis:read power correction factor history data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPWOFST_data
{
internal int pwratio;
internal int rfvolt;
internal ushort year;
internal ushort month;
internal ushort day;
internal ushort hour;
internal ushort minute;
internal ushort second;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPWOFST
{
internal ODBPWOFST_data data1 = new ODBPWOFST_data();
internal ODBPWOFST_data data2 = new ODBPWOFST_data();
internal ODBPWOFST_data data3 = new ODBPWOFST_data();
internal ODBPWOFST_data data4 = new ODBPWOFST_data();
internal ODBPWOFST_data data5 = new ODBPWOFST_data();
internal ODBPWOFST_data data6 = new ODBPWOFST_data();
internal ODBPWOFST_data data7 = new ODBPWOFST_data();
internal ODBPWOFST_data data8 = new ODBPWOFST_data();
internal ODBPWOFST_data data9 = new ODBPWOFST_data();
internal ODBPWOFST_data data10 = new ODBPWOFST_data();
internal ODBPWOFST_data data11 = new ODBPWOFST_data();
internal ODBPWOFST_data data12 = new ODBPWOFST_data();
internal ODBPWOFST_data data13 = new ODBPWOFST_data();
internal ODBPWOFST_data data14 = new ODBPWOFST_data();
internal ODBPWOFST_data data15 = new ODBPWOFST_data();
internal ODBPWOFST_data data16 = new ODBPWOFST_data();
internal ODBPWOFST_data data17 = new ODBPWOFST_data();
internal ODBPWOFST_data data18 = new ODBPWOFST_data();
internal ODBPWOFST_data data19 = new ODBPWOFST_data();
internal ODBPWOFST_data data20 = new ODBPWOFST_data();
internal ODBPWOFST_data data21 = new ODBPWOFST_data();
internal ODBPWOFST_data data22 = new ODBPWOFST_data();
internal ODBPWOFST_data data23 = new ODBPWOFST_data();
internal ODBPWOFST_data data24 = new ODBPWOFST_data();
internal ODBPWOFST_data data25 = new ODBPWOFST_data();
internal ODBPWOFST_data data26 = new ODBPWOFST_data();
internal ODBPWOFST_data data27 = new ODBPWOFST_data();
internal ODBPWOFST_data data28 = new ODBPWOFST_data();
internal ODBPWOFST_data data29 = new ODBPWOFST_data();
internal ODBPWOFST_data data30 = new ODBPWOFST_data();
}
/* cnc_rdmngtime:read management time */
/* cnc_wrmngtime:write management time */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMNGTIME_data
{
internal uint life;
internal uint total;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMNGTIME
{
internal IODBMNGTIME_data data1 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data2 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data3 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data4 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data5 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data6 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data7 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data8 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data9 = new IODBMNGTIME_data();
internal IODBMNGTIME_data data10 = new IODBMNGTIME_data();
} /* In case that the number of data is 10 */
/* cnc_rddischarge:read data related to electrical discharge at power correction ends */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDISCHRG
{
internal ushort aps;
internal ushort year;
internal ushort month;
internal ushort day;
internal ushort hour;
internal ushort minute;
internal ushort second;
internal short hpc;
internal short hfq;
internal short hdt;
internal short hpa;
internal int hce;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] rfi;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] rfv;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] dci;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] dcv;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] dcw;
}
/* cnc_rddischrgalm:read alarm history data related to electrical discharg */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDISCHRGALM_data
{
internal ushort year;
internal ushort month;
internal ushort day;
internal ushort hour;
internal ushort minute;
internal ushort second;
internal int almnum;
internal uint psec;
internal short hpc;
internal short hfq;
internal short hdt;
internal short hpa;
internal int hce;
internal ushort asq;
internal ushort psu;
internal ushort aps;
internal short dummy;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] rfi;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] rfv;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] dci;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] dcv;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] dcw;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal short[] almcd;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBDISCHRGALM
{
internal ODBDISCHRGALM_data data1 = new ODBDISCHRGALM_data();
internal ODBDISCHRGALM_data data2 = new ODBDISCHRGALM_data();
internal ODBDISCHRGALM_data data3 = new ODBDISCHRGALM_data();
internal ODBDISCHRGALM_data data4 = new ODBDISCHRGALM_data();
internal ODBDISCHRGALM_data data5 = new ODBDISCHRGALM_data();
}
/* cnc_gettimer:get date and time from cnc */
/* cnc_settimer:set date and time for cnc */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct TIMER_DATE
{
internal short year;
internal short month;
internal short date;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct TIMER_TIME
{
internal short hour;
internal short minute;
internal short second;
}
[StructLayout(LayoutKind.Explicit)]
internal class IODBTIMER
{
[FieldOffset(0)]
internal short type;
[FieldOffset(2)]
internal short dummy;
[FieldOffset(4)]
internal TIMER_DATE date;
[FieldOffset(4)]
internal TIMER_TIME time;
}
/* cnc_rdtimer:read timer data from cnc */
/* cnc_wrtimer:write timer data for cnc */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTIME
{
internal int minute;
internal int msec;
}
/* cnc_rdtlctldata: read tool controll data */
/* cnc_wrtlctldata: write tool controll data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLCTL
{
internal short slct;
internal short used_tool;
internal short turret_indx;
internal int zero_tl_no;
internal int t_axis_move;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] total_punch = new int[2];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)]
internal short[] reserve = new short[11];
}
/* cnc_rdtooldata: read tool data */
/* cnc_wrtooldata: read tool data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLDT_data
{
internal short slct;
internal int tool_no;
internal int x_axis_ofs;
internal int y_axis_ofs;
internal int turret_pos;
internal int chg_tl_no;
internal int punch_count;
internal int tool_life;
internal int m_tl_radius;
internal int m_tl_angle;
internal byte tl_shape;
internal int tl_size_i;
internal int tl_size_j;
internal int tl_angle;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal int[] reserve = new int[3];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLDT
{
internal IODBTLDT_data data1 = new IODBTLDT_data();
internal IODBTLDT_data data2 = new IODBTLDT_data();
internal IODBTLDT_data data3 = new IODBTLDT_data();
internal IODBTLDT_data data4 = new IODBTLDT_data();
internal IODBTLDT_data data5 = new IODBTLDT_data();
internal IODBTLDT_data data6 = new IODBTLDT_data();
internal IODBTLDT_data data7 = new IODBTLDT_data();
internal IODBTLDT_data data8 = new IODBTLDT_data();
internal IODBTLDT_data data9 = new IODBTLDT_data();
internal IODBTLDT_data data10 = new IODBTLDT_data();
} /* In case that the number of data is 10 */
/* cnc_rdmultitldt: read multi tool data */
/* cnc_wrmultitldt: write multi tool data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMLTTL_data
{
internal short slct;
internal short m_tl_no;
internal int m_tl_radius;
internal int m_tl_angle;
internal int x_axis_ofs;
internal int y_axis_ofs;
internal byte tl_shape;
internal int tl_size_i;
internal int tl_size_j;
internal int tl_angle;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
internal int[] reserve = new int[7];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMLTTL
{
internal IODBMLTTL_data data1 = new IODBMLTTL_data();
internal IODBMLTTL_data data2 = new IODBMLTTL_data();
internal IODBMLTTL_data data3 = new IODBMLTTL_data();
internal IODBMLTTL_data data4 = new IODBMLTTL_data();
internal IODBMLTTL_data data5 = new IODBMLTTL_data();
internal IODBMLTTL_data data6 = new IODBMLTTL_data();
internal IODBMLTTL_data data7 = new IODBMLTTL_data();
internal IODBMLTTL_data data8 = new IODBMLTTL_data();
internal IODBMLTTL_data data9 = new IODBMLTTL_data();
internal IODBMLTTL_data data10 = new IODBMLTTL_data();
} /* In case that the number of data is 10 */
/* cnc_rdmtapdata: read multi tap data */
/* cnc_wrmtapdata: write multi tap data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMTAP_data
{
internal short slct;
internal int tool_no;
internal int x_axis_ofs;
internal int y_axis_ofs;
internal int punch_count;
internal int tool_life;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)]
internal int[] reserve = new int[11];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBMTAP
{
internal IODBMTAP_data data1 = new IODBMTAP_data();
internal IODBMTAP_data data2 = new IODBMTAP_data();
internal IODBMTAP_data data3 = new IODBMTAP_data();
internal IODBMTAP_data data4 = new IODBMTAP_data();
internal IODBMTAP_data data5 = new IODBMTAP_data();
internal IODBMTAP_data data6 = new IODBMTAP_data();
internal IODBMTAP_data data7 = new IODBMTAP_data();
internal IODBMTAP_data data8 = new IODBMTAP_data();
internal IODBMTAP_data data9 = new IODBMTAP_data();
internal IODBMTAP_data data10 = new IODBMTAP_data();
}
/* cnc_rdtoolinfo: read tool information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPTLINF
{
internal short tld_max;
internal short mlt_max;
internal short reserve;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] tld_size;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] mlt_size;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
internal short[] reserves;
}
/* cnc_rdsafetyzone: read safetyzone data */
/* cnc_wrsafetyzone: write safetyzone data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSAFE_data
{
internal short slct;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal int[] data = new int[3];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSAFE
{
internal IODBSAFE_data data1 = new IODBSAFE_data();
internal IODBSAFE_data data2 = new IODBSAFE_data();
internal IODBSAFE_data data3 = new IODBSAFE_data();
internal IODBSAFE_data data4 = new IODBSAFE_data();
} /* In case that the number of data is 4 */
/* cnc_rdtoolzone: read toolzone data */
/* cnc_wrtoolzone: write toolzone data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLZN_data
{
internal short slct;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] data = new int[12];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBTLZN
{
internal IODBTLZN_data data1 = new IODBTLZN_data();
internal IODBTLZN_data data2 = new IODBTLZN_data();
internal IODBTLZN_data data3 = new IODBTLZN_data();
internal IODBTLZN_data data4 = new IODBTLZN_data();
internal IODBTLZN_data data5 = new IODBTLZN_data();
internal IODBTLZN_data data6 = new IODBTLZN_data();
internal IODBTLZN_data data7 = new IODBTLZN_data();
internal IODBTLZN_data data8 = new IODBTLZN_data();
internal IODBTLZN_data data9 = new IODBTLZN_data();
internal IODBTLZN_data data10 = new IODBTLZN_data();
internal IODBTLZN_data data11 = new IODBTLZN_data();
internal IODBTLZN_data data12 = new IODBTLZN_data();
} /* In case that the number of data is 12 */
/* cnc_rdacttlzone: read active toolzone data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBACTTLZN
{
internal short act_no;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] data;
}
/* cnc_rdbrstrinfo:read block restart information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBBRS
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] dest;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] dist;
} /* In case that the number of axes is MAX_AXIS */
/* cnc_rdradofs:read tool radius offset for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBROFS
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] pln_axes;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] ofsvct;
}
/* cnc_rdlenofs:read tool length offset for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBLOFS
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ofsvct;
} /* In case that the number of axes is MAX_AXIS */
/* cnc_rdfixcycle:read fixed cycle for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBFIX
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] pln_axes;
internal short drl_axes;
internal int i_pos;
internal int r_pos;
internal int z_pos;
internal int cmd_cnt;
internal int act_cnt;
internal int cut;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] shift;
}
/* cnc_rdcdrotate:read coordinate rotate for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBROT
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal short[] pln_axes;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] center;
internal int angle;
}
/* cnc_rd3dcdcnv:read 3D coordinate convert for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB3DCD
{
internal short mode;
internal short dno;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal short[] cd_axes;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)]
internal int[] center;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2 * 3)]
internal int[] direct;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
internal int[] angle;
}
/* cnc_rdmirimage:read programable mirror image for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBMIR
{
internal short mode;
internal int mir_flag;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] mir_pos;
} /* In case that the number of axes is MAX_AXIS */
/* cnc_rdscaling:read scaling data for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSCL
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] center;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] magnif;
} /* In case that the number of axes is MAX_AXIS */
/* cnc_rd3dtofs:read 3D tool offset for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB3DTO
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal short[] ofs_axes;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal int[] ofsvct;
}
/* cnc_rdposofs:read tool position offset for position data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPOFS
{
internal short mode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal int[] ofsvct;
} /* In case that the number of axes is MAX_AXIS */
/* cnc_rdhpccset:read hpcc setting data */
/* cnc_wrhpccset:write hpcc setting data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBHPST
{
internal short slct;
internal short hpcc;
internal short multi;
internal short ovr1;
internal short ign_f;
internal short foward;
internal int max_f;
internal short ovr2;
internal short ovr3;
internal short ovr4;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
internal int[] reserve = new int[7];
}
/* cnc_rdhpcctupr:read hpcc tuning data ( parameter input ) */
/* cnc_wrhpcctupr:write hpcc tuning data ( parameter input ) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBHPPR_tune
{
internal short slct;
internal short diff;
internal short fine;
internal short acc_lv;
internal int max_f;
internal short bipl;
internal short aipl;
internal int corner;
internal short clamp;
internal int radius;
internal int max_cf;
internal int min_cf;
internal int foward;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] reserve = new int[5];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBHPPR
{
internal IODBHPPR_tune tune1 = new IODBHPPR_tune();
internal IODBHPPR_tune tune2 = new IODBHPPR_tune();
internal IODBHPPR_tune tune3 = new IODBHPPR_tune();
}
/* cnc_rdhpcctuac:read hpcc tuning data ( acc input ) */
/* cnc_wrhpcctuac:write hpcc tuning data ( acc input ) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBHPAC_tune
{
internal short slct;
internal short diff;
internal short fine;
internal short acc_lv;
internal int bipl;
internal short aipl;
internal int corner;
internal int clamp;
internal int c_acc;
internal int foward;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal int[] reserve = new int[8];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBHPAC
{
internal IODBHPAC_tune tune1 = new IODBHPAC_tune();
internal IODBHPAC_tune tune2 = new IODBHPAC_tune();
internal IODBHPAC_tune tune3 = new IODBHPAC_tune();
}
/* cnc_rd3dtooltip:read tip of tool for 3D handle */
/* cnc_rd3dmovrlap:read move overrlap of tool for 3D handle */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB3DHDL_data
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal short[] axes;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
internal int[] data;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB3DHDL
{
internal ODB3DHDL_data data1 = new ODB3DHDL_data();
internal ODB3DHDL_data data2 = new ODB3DHDL_data();
}
/* cnc_rd3dpulse:read pulse for 3D handle */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB3DPLS_data
{
internal int right_angle_x;
internal int right_angle_y;
internal int tool_axis;
internal int tool_tip_a_b;
internal int tool_tip_c;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODB3DPLS
{
internal ODB3DPLS_data pls1 = new ODB3DPLS_data();
internal ODB3DPLS_data pls2 = new ODB3DPLS_data();
}
/* cnc_rdaxisname: read axis name */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAXISNAME_data
{
internal byte name; /* axis name */
internal byte suff; /* suffix */
}
#if FS30D
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAXISNAME
{
internal ODBAXISNAME_data data1 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data2 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data3 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data4 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data5 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data6 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data7 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data8 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data9 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data10 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data11 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data12 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data13 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data14 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data15 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data16 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data17 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data18 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data19 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data20 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data21 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data22 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data23 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data24 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data25 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data26 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data27 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data28 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data29 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data30 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data31 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data32 = new ODBAXISNAME_data();
}
#elif M_AXIS2
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBAXISNAME
{
internal ODBAXISNAME_data data1 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data2 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data3 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data4 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data5 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data6 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data7 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data8 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data9 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data10= new ODBAXISNAME_data();
internal ODBAXISNAME_data data11= new ODBAXISNAME_data();
internal ODBAXISNAME_data data12= new ODBAXISNAME_data();
internal ODBAXISNAME_data data13= new ODBAXISNAME_data();
internal ODBAXISNAME_data data14= new ODBAXISNAME_data();
internal ODBAXISNAME_data data15= new ODBAXISNAME_data();
internal ODBAXISNAME_data data16= new ODBAXISNAME_data();
internal ODBAXISNAME_data data17= new ODBAXISNAME_data();
internal ODBAXISNAME_data data18= new ODBAXISNAME_data();
internal ODBAXISNAME_data data19= new ODBAXISNAME_data();
internal ODBAXISNAME_data data20= new ODBAXISNAME_data();
internal ODBAXISNAME_data data21= new ODBAXISNAME_data();
internal ODBAXISNAME_data data22= new ODBAXISNAME_data();
internal ODBAXISNAME_data data23= new ODBAXISNAME_data();
internal ODBAXISNAME_data data24= new ODBAXISNAME_data();
}
#elif FS15D
[StructLayout(LayoutKind.Sequential,Pack=4)]
internal class ODBAXISNAME
{
internal ODBAXISNAME_data data1 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data2 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data3 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data4 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data5 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data6 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data7 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data8 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data9 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data10= new ODBAXISNAME_data();
}
#else
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBAXISNAME
{
internal ODBAXISNAME_data data1 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data2 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data3 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data4 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data5 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data6 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data7 = new ODBAXISNAME_data();
internal ODBAXISNAME_data data8 = new ODBAXISNAME_data();
}
#endif
/* cnc_rdspdlname: read spindle name */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPDLNAME_data
{
internal byte name; /* spindle name */
internal byte suff1; /* suffix */
internal byte suff2; /* suffix */
internal byte suff3; /* suffix */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSPDLNAME
{
internal ODBSPDLNAME_data data1 = new ODBSPDLNAME_data();
internal ODBSPDLNAME_data data2 = new ODBSPDLNAME_data();
internal ODBSPDLNAME_data data3 = new ODBSPDLNAME_data();
internal ODBSPDLNAME_data data4 = new ODBSPDLNAME_data();
}
/* cnc_exaxisname: read extended axis name */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBEXAXISNAME
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname1 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname2 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname3 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname4 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname5 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname6 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname7 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname8 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname9 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname10 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname11 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname12 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname13 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname14 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname15 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname16 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname17 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname18 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname19 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname20 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname21 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname22 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname23 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname24 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname25 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname26 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname27 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname28 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname29 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname30 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname31 = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string axname32 = new string(' ', 4);
}
/* cnc_wrunsolicprm: Set the unsolicited message parameters */
/* cnc_rdunsolicprm: Get the unsolicited message parameters */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct IODBUNSOLIC_pmc
{
internal short type;
internal short rdaddr;
internal short rdno;
internal short rdsize;
private int dummy;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBUNSOLIC
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string ipaddr = new string(' ', 16);
internal ushort port;
internal short reqaddr;
internal short pmcno;
internal short retry;
internal short timeout;
internal short alivetime;
internal short setno;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal IODBUNSOLIC_pmc[] rddata = new IODBUNSOLIC_pmc[3];
}
/* cnc_wrunsolicprm2: Set the unsolicited message parameters(2) */
/* cnc_rdunsolicprm2: Get the unsolicited message parameters(2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct UNSOLICMSG_TYPE_PRM
{
internal ushort type;
private ushort dummy1;
internal ushort path;
internal short addr;
internal uint no;
internal uint num_or_size;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBUNSOLIC2
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string ipaddr = new string(' ', 64);
internal uint port;
internal ushort retry;
internal ushort timeout;
internal ushort alivetime;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
private byte[] dummy1 = new byte[8];
internal UNSOLICMSG_TYPE_PRM cntrl;
internal ushort transnum;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 14)]
private byte[] dummy2 = new byte[14];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal UNSOLICMSG_TYPE_PRM[] trans = new UNSOLICMSG_TYPE_PRM[3];
}
/* cnc_rdunsolicmsg: Reads the unsolicited message data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct IDBUNSOLICMSG_msg
{
internal short rdsize;
internal IntPtr data;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBUNSOLICMSG
{
internal short getno;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal IDBUNSOLICMSG_msg[] msg = new IDBUNSOLICMSG_msg[3];
}
/* cnc_rdunsolicmsg2: Reads the unsolicited message data(2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct UNSOLICMSG_TYPE_MSG
{
internal ushort type;
private ushort dummy1;
internal ushort path;
private ushort dummy2;
internal int num_or_size;
internal IntPtr data;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBUNSOLICMSG2
{
internal ushort getnum;
private ushort dummy;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal UNSOLICMSG_TYPE_MSG[] get = new UNSOLICMSG_TYPE_MSG[3];
}
/* cnc_rdpm_cncitem: read cnc maintenance item */
/* cnc_rdpm_mcnitem: read machine specific maintenance item */
/* cnc_wrpm_mcnitem: write machine specific maintenance item */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBITEM
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name1 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name2 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name3 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name4 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name5 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name6 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name7 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name8 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name9 = new string(' ', 62);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name10 = new string(' ', 62);
}
/* cnc_rdpm_item:read maintenance item status */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPMAINTE_data
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 62)]
internal string name = new string(' ', 62); /* name */
internal int type; /* life count type */
internal int total; /* total life time (minite basis) */
internal int remain; /* life rest time */
internal int stat; /* life state */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPMAINTE
{
internal IODBPMAINTE_data data1 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data2 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data3 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data4 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data5 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data6 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data7 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data8 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data9 = new IODBPMAINTE_data();
internal IODBPMAINTE_data data10 = new IODBPMAINTE_data();
}
/* cnc_sysinfo_ex:read CNC system path information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSEX_path
{
internal short system;
internal short group;
internal short attrib;
internal short ctrl_axis;
internal short ctrl_srvo;
internal short ctrl_spdl;
internal short mchn_no;
internal short reserved;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSEX_data
{
internal ODBSYSEX_path data1 = new ODBSYSEX_path();
internal ODBSYSEX_path data2 = new ODBSYSEX_path();
internal ODBSYSEX_path data3 = new ODBSYSEX_path();
internal ODBSYSEX_path data4 = new ODBSYSEX_path();
internal ODBSYSEX_path data5 = new ODBSYSEX_path();
internal ODBSYSEX_path data6 = new ODBSYSEX_path();
internal ODBSYSEX_path data7 = new ODBSYSEX_path();
internal ODBSYSEX_path data8 = new ODBSYSEX_path();
internal ODBSYSEX_path data9 = new ODBSYSEX_path();
internal ODBSYSEX_path data10 = new ODBSYSEX_path();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSYSEX
{
internal short max_axis;
internal short max_spdl;
internal short max_path;
internal short max_mchn;
internal short ctrl_axis;
internal short ctrl_srvo;
internal short ctrl_spdl;
internal short ctrl_path;
internal short ctrl_mchn;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
internal short[] reserved = new short[3];
internal ODBSYSEX_data path = new ODBSYSEX_data();
}
/*------------------*/
/* CNC : SERCOS I/F */
/*------------------*/
/* cnc_srcsrdidinfo:Read ID information of SERCOS I/F */
/* cnc_srcswridinfo:Write ID information of SERCOS I/F */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class IODBIDINF
{
internal int id_no;
internal short drv_no;
internal short acc_element;
internal short err_general;
internal short err_id_no;
internal short err_id_name;
internal short err_attr;
internal short err_unit;
internal short err_min_val;
internal short err_max_val;
internal short id_name_len;
internal short id_name_max;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 60)]
internal string id_name = new string(' ', 60);
internal int attr;
internal short unit_len;
internal short unit_max;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
internal byte[] unit = new byte[12];
internal int min_val;
internal int max_val;
}
/* cnc_srcsrdexstat:Get execution status of reading/writing operation data of SERCOS I/F */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSRCSST
{
internal short acc_element;
internal short err_general;
internal short err_id_no;
internal short err_attr;
internal short err_op_data;
}
/* cnc_srcsrdlayout:Read drive assign of SERCOS I/F */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBSRCSLYT
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal short[] spndl;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal short[] servo;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
internal string axis_name = new string(' ', 8);
}
/*----------------------------*/
/* CNC : Servo Guide */
/*----------------------------*/
/* cnc_sdsetchnl:Servo Guide (Channel data set) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBCHAN_data
{
internal byte chno;
internal sbyte axis;
internal int datanum;
internal ushort datainf;
internal short dataadr;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBCHAN
{
internal IDBCHAN_data data1 = new IDBCHAN_data();
internal IDBCHAN_data data2 = new IDBCHAN_data();
internal IDBCHAN_data data3 = new IDBCHAN_data();
internal IDBCHAN_data data4 = new IDBCHAN_data();
internal IDBCHAN_data data5 = new IDBCHAN_data();
internal IDBCHAN_data data6 = new IDBCHAN_data();
internal IDBCHAN_data data7 = new IDBCHAN_data();
internal IDBCHAN_data data8 = new IDBCHAN_data();
}
/* cnc_sdsetchnl:Servo Guide (read Sampling data) */
/* cnc_sfbreadsmpl:Servo feedback data (read Sampling data) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSD
{
internal IntPtr chadata;
internal IntPtr count;
}
/* cnc_sfbsetchnl:Servo feedback data (Channel data set) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IDBSFBCHAN
{
internal byte chno;
internal sbyte axis;
internal ushort shift;
}
/*-------------------------*/
/* CNC : FS18-LN function */
/*-------------------------*/
/* cnc_allowcnd:read allowanced state */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBCAXIS
{
internal short dummy; /* dummy */
internal short type; /* axis number */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_AXIS)]
internal sbyte[] data; /* data value */
}
/*---------------------------------*/
/* CNC : C-EXE SRAM file function */
/*---------------------------------*/
/* read C-EXE SRAM disk directory */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class CFILEINFO_data
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
internal string fname = new string(' ', 12); /* file name */
internal int file_size; /* file size (bytes) */
internal int file_attr; /* attribute */
internal short year; /* year */
internal short month; /* month */
internal short day; /* day */
internal short hour; /* hour */
internal short minute; /* mimute */
internal short second; /* second */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class CFILEINFO
{
internal CFILEINFO_data data1 = new CFILEINFO_data();
internal CFILEINFO_data data2 = new CFILEINFO_data();
internal CFILEINFO_data data3 = new CFILEINFO_data();
internal CFILEINFO_data data4 = new CFILEINFO_data();
internal CFILEINFO_data data5 = new CFILEINFO_data();
internal CFILEINFO_data data6 = new CFILEINFO_data();
internal CFILEINFO_data data7 = new CFILEINFO_data();
internal CFILEINFO_data data8 = new CFILEINFO_data();
internal CFILEINFO_data data9 = new CFILEINFO_data();
internal CFILEINFO_data data10 = new CFILEINFO_data();
}
/*-----*/
/* PMC */
/*-----*/
/* pmc_rdpmcrng:read PMC data(area specified) */
/* pmc_wrpmcrng:write PMC data(area specified) */
[StructLayout(LayoutKind.Explicit)]
internal class IODBPMC0
{
[FieldOffset(0)]
internal short type_a; /* PMC address type */
[FieldOffset(2)]
internal short type_d; /* PMC data type */
[FieldOffset(4)]
internal short datano_s; /* start PMC address */
[FieldOffset(6)]
internal short datano_e; /* end PMC address */
[FieldOffset(8),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
internal byte[] cdata; /* PMC data */
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Explicit)]
internal class IODBPMC1
{
[FieldOffset(0)]
internal short type_a; /* PMC address type */
[FieldOffset(2)]
internal short type_d; /* PMC data type */
[FieldOffset(4)]
internal short datano_s; /* start PMC address */
[FieldOffset(6)]
internal short datano_e; /* end PMC address */
[FieldOffset(8),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
internal short[] idata;
} /* In case that the number of data is 5 */
[StructLayout(LayoutKind.Explicit)]
internal class IODBPMC2
{
[FieldOffset(0)]
internal short type_a; /* PMC address type */
[FieldOffset(2)]
internal short type_d; /* PMC data type */
[FieldOffset(4)]
internal short datano_s; /* start PMC address */
[FieldOffset(6)]
internal short datano_e; /* end PMC address */
[FieldOffset(8),
MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
internal int[] ldata;
} /* In case that the number of data is 5 */
/* pmc_rdpmcinfo:read informations of PMC data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCINF_info
{
internal char pmc_adr;
internal byte adr_attr;
internal ushort top_num;
internal ushort last_num;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCINF1
{
internal ODBPMCINF_info info1 = new ODBPMCINF_info();
internal ODBPMCINF_info info2 = new ODBPMCINF_info();
internal ODBPMCINF_info info3 = new ODBPMCINF_info();
internal ODBPMCINF_info info4 = new ODBPMCINF_info();
internal ODBPMCINF_info info5 = new ODBPMCINF_info();
internal ODBPMCINF_info info6 = new ODBPMCINF_info();
internal ODBPMCINF_info info7 = new ODBPMCINF_info();
internal ODBPMCINF_info info8 = new ODBPMCINF_info();
internal ODBPMCINF_info info9 = new ODBPMCINF_info();
internal ODBPMCINF_info info10 = new ODBPMCINF_info();
internal ODBPMCINF_info info11 = new ODBPMCINF_info();
internal ODBPMCINF_info info12 = new ODBPMCINF_info();
internal ODBPMCINF_info info13 = new ODBPMCINF_info();
internal ODBPMCINF_info info14 = new ODBPMCINF_info();
internal ODBPMCINF_info info15 = new ODBPMCINF_info();
internal ODBPMCINF_info info16 = new ODBPMCINF_info();
internal ODBPMCINF_info info17 = new ODBPMCINF_info();
internal ODBPMCINF_info info18 = new ODBPMCINF_info();
internal ODBPMCINF_info info19 = new ODBPMCINF_info();
internal ODBPMCINF_info info20 = new ODBPMCINF_info();
internal ODBPMCINF_info info21 = new ODBPMCINF_info();
internal ODBPMCINF_info info22 = new ODBPMCINF_info();
internal ODBPMCINF_info info23 = new ODBPMCINF_info();
internal ODBPMCINF_info info24 = new ODBPMCINF_info();
internal ODBPMCINF_info info25 = new ODBPMCINF_info();
internal ODBPMCINF_info info26 = new ODBPMCINF_info();
internal ODBPMCINF_info info27 = new ODBPMCINF_info();
internal ODBPMCINF_info info28 = new ODBPMCINF_info();
internal ODBPMCINF_info info29 = new ODBPMCINF_info();
internal ODBPMCINF_info info30 = new ODBPMCINF_info();
internal ODBPMCINF_info info31 = new ODBPMCINF_info();
internal ODBPMCINF_info info32 = new ODBPMCINF_info();
internal ODBPMCINF_info info33 = new ODBPMCINF_info();
internal ODBPMCINF_info info34 = new ODBPMCINF_info();
internal ODBPMCINF_info info35 = new ODBPMCINF_info();
internal ODBPMCINF_info info36 = new ODBPMCINF_info();
internal ODBPMCINF_info info37 = new ODBPMCINF_info();
internal ODBPMCINF_info info38 = new ODBPMCINF_info();
internal ODBPMCINF_info info39 = new ODBPMCINF_info();
internal ODBPMCINF_info info40 = new ODBPMCINF_info();
internal ODBPMCINF_info info41 = new ODBPMCINF_info();
internal ODBPMCINF_info info42 = new ODBPMCINF_info();
internal ODBPMCINF_info info43 = new ODBPMCINF_info();
internal ODBPMCINF_info info44 = new ODBPMCINF_info();
internal ODBPMCINF_info info45 = new ODBPMCINF_info();
internal ODBPMCINF_info info46 = new ODBPMCINF_info();
internal ODBPMCINF_info info47 = new ODBPMCINF_info();
internal ODBPMCINF_info info48 = new ODBPMCINF_info();
internal ODBPMCINF_info info49 = new ODBPMCINF_info();
internal ODBPMCINF_info info50 = new ODBPMCINF_info();
internal ODBPMCINF_info info51 = new ODBPMCINF_info();
internal ODBPMCINF_info info52 = new ODBPMCINF_info();
internal ODBPMCINF_info info53 = new ODBPMCINF_info();
internal ODBPMCINF_info info54 = new ODBPMCINF_info();
internal ODBPMCINF_info info55 = new ODBPMCINF_info();
internal ODBPMCINF_info info56 = new ODBPMCINF_info();
internal ODBPMCINF_info info57 = new ODBPMCINF_info();
internal ODBPMCINF_info info58 = new ODBPMCINF_info();
internal ODBPMCINF_info info59 = new ODBPMCINF_info();
internal ODBPMCINF_info info60 = new ODBPMCINF_info();
internal ODBPMCINF_info info61 = new ODBPMCINF_info();
internal ODBPMCINF_info info62 = new ODBPMCINF_info();
internal ODBPMCINF_info info63 = new ODBPMCINF_info();
internal ODBPMCINF_info info64 = new ODBPMCINF_info();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCINF
{
internal short datano;
internal ODBPMCINF1 info = new ODBPMCINF1();
}
/* pmc_rdcntldata:read PMC parameter data table control data */
/* pmc_wrcntldata:write PMC parameter data table control data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPMCCNTL_info
{
internal byte tbl_prm;
internal byte data_type;
internal ushort data_size;
internal ushort data_dsp;
internal short dummy;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPMCCNTL1
{
internal IODBPMCCNTL_info info1 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info2 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info3 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info4 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info5 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info6 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info7 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info8 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info9 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info10 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info11 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info12 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info13 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info14 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info15 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info16 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info17 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info18 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info19 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info20 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info21 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info22 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info23 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info24 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info25 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info26 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info27 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info28 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info29 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info30 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info31 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info32 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info33 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info34 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info35 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info36 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info37 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info38 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info39 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info40 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info41 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info42 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info43 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info44 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info45 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info46 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info47 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info48 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info49 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info50 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info51 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info52 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info53 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info54 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info55 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info56 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info57 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info58 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info59 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info60 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info61 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info62 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info63 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info64 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info65 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info66 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info67 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info68 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info69 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info70 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info71 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info72 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info73 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info74 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info75 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info76 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info77 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info78 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info79 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info80 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info81 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info82 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info83 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info84 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info85 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info86 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info87 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info88 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info89 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info90 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info91 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info92 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info93 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info94 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info95 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info96 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info97 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info98 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info99 = new IODBPMCCNTL_info();
internal IODBPMCCNTL_info info100 = new IODBPMCCNTL_info();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPMCCNTL
{
internal short datano_s;
internal short dummy;
internal short datano_e;
internal IODBPMCCNTL1 info = new IODBPMCCNTL1();
}
/* pmc_rdalmmsg:read PMC alarm message */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBPMCALM_data
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
internal string almmsg = new string(' ', 128); /* alarm message */
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCALM
{
internal ODBPMCALM_data msg1 = new ODBPMCALM_data();
internal ODBPMCALM_data msg2 = new ODBPMCALM_data();
internal ODBPMCALM_data msg3 = new ODBPMCALM_data();
internal ODBPMCALM_data msg4 = new ODBPMCALM_data();
internal ODBPMCALM_data msg5 = new ODBPMCALM_data();
internal ODBPMCALM_data msg6 = new ODBPMCALM_data();
internal ODBPMCALM_data msg7 = new ODBPMCALM_data();
internal ODBPMCALM_data msg8 = new ODBPMCALM_data();
internal ODBPMCALM_data msg9 = new ODBPMCALM_data();
internal ODBPMCALM_data msg10 = new ODBPMCALM_data();
} /* In case that the number of data is 10 */
/* pmc_getdtailerr:get detail error for pmc */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCERR
{
internal short err_no;
internal short err_dtno;
}
/* pmc_rdpmctitle:read pmc title data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBPMCTITLE
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string mtb = new string(' ', 48);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string machine = new string(' ', 48);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string type = new string(' ', 48);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
internal string prgno = new string(' ', 8);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
internal string prgvers = new string(' ', 4);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string prgdraw = new string(' ', 48);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string date = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string design = new string(' ', 48);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string written = new string(' ', 48);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 48)]
internal string remarks = new string(' ', 48);
}
/* pmc_rdpmcrng_ext:read PMC data */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPMCEXT
{
internal short type_a; /* PMC address type */
internal short type_d; /* PMC data type */
internal short datano_s; /* start PMC address */
internal short datano_e; /* end PMC address */
internal short err_code; /* error code */
internal short reserved; /* reserved */
[MarshalAs(UnmanagedType.AsAny)]
internal object data; /* pointer to buffer */
}
/* pmc_rdpmcaddr:read PMC address information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCADR_info
{
internal byte pmc_adr;
internal byte adr_attr;
internal ushort offset;
internal ushort top;
internal ushort num;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCADR1
{
internal ODBPMCADR_info info1 = new ODBPMCADR_info();
internal ODBPMCADR_info info2 = new ODBPMCADR_info();
internal ODBPMCADR_info info3 = new ODBPMCADR_info();
internal ODBPMCADR_info info4 = new ODBPMCADR_info();
internal ODBPMCADR_info info5 = new ODBPMCADR_info();
internal ODBPMCADR_info info6 = new ODBPMCADR_info();
internal ODBPMCADR_info info7 = new ODBPMCADR_info();
internal ODBPMCADR_info info8 = new ODBPMCADR_info();
internal ODBPMCADR_info info9 = new ODBPMCADR_info();
internal ODBPMCADR_info info10 = new ODBPMCADR_info();
internal ODBPMCADR_info info11 = new ODBPMCADR_info();
internal ODBPMCADR_info info12 = new ODBPMCADR_info();
internal ODBPMCADR_info info13 = new ODBPMCADR_info();
internal ODBPMCADR_info info14 = new ODBPMCADR_info();
internal ODBPMCADR_info info15 = new ODBPMCADR_info();
internal ODBPMCADR_info info16 = new ODBPMCADR_info();
internal ODBPMCADR_info info17 = new ODBPMCADR_info();
internal ODBPMCADR_info info18 = new ODBPMCADR_info();
internal ODBPMCADR_info info19 = new ODBPMCADR_info();
internal ODBPMCADR_info info20 = new ODBPMCADR_info();
internal ODBPMCADR_info info21 = new ODBPMCADR_info();
internal ODBPMCADR_info info22 = new ODBPMCADR_info();
internal ODBPMCADR_info info23 = new ODBPMCADR_info();
internal ODBPMCADR_info info24 = new ODBPMCADR_info();
internal ODBPMCADR_info info25 = new ODBPMCADR_info();
internal ODBPMCADR_info info26 = new ODBPMCADR_info();
internal ODBPMCADR_info info27 = new ODBPMCADR_info();
internal ODBPMCADR_info info28 = new ODBPMCADR_info();
internal ODBPMCADR_info info29 = new ODBPMCADR_info();
internal ODBPMCADR_info info30 = new ODBPMCADR_info();
internal ODBPMCADR_info info31 = new ODBPMCADR_info();
internal ODBPMCADR_info info32 = new ODBPMCADR_info();
internal ODBPMCADR_info info33 = new ODBPMCADR_info();
internal ODBPMCADR_info info34 = new ODBPMCADR_info();
internal ODBPMCADR_info info35 = new ODBPMCADR_info();
internal ODBPMCADR_info info36 = new ODBPMCADR_info();
internal ODBPMCADR_info info37 = new ODBPMCADR_info();
internal ODBPMCADR_info info38 = new ODBPMCADR_info();
internal ODBPMCADR_info info39 = new ODBPMCADR_info();
internal ODBPMCADR_info info40 = new ODBPMCADR_info();
internal ODBPMCADR_info info41 = new ODBPMCADR_info();
internal ODBPMCADR_info info42 = new ODBPMCADR_info();
internal ODBPMCADR_info info43 = new ODBPMCADR_info();
internal ODBPMCADR_info info44 = new ODBPMCADR_info();
internal ODBPMCADR_info info45 = new ODBPMCADR_info();
internal ODBPMCADR_info info46 = new ODBPMCADR_info();
internal ODBPMCADR_info info47 = new ODBPMCADR_info();
internal ODBPMCADR_info info48 = new ODBPMCADR_info();
internal ODBPMCADR_info info49 = new ODBPMCADR_info();
internal ODBPMCADR_info info50 = new ODBPMCADR_info();
internal ODBPMCADR_info info51 = new ODBPMCADR_info();
internal ODBPMCADR_info info52 = new ODBPMCADR_info();
internal ODBPMCADR_info info53 = new ODBPMCADR_info();
internal ODBPMCADR_info info54 = new ODBPMCADR_info();
internal ODBPMCADR_info info55 = new ODBPMCADR_info();
internal ODBPMCADR_info info56 = new ODBPMCADR_info();
internal ODBPMCADR_info info57 = new ODBPMCADR_info();
internal ODBPMCADR_info info58 = new ODBPMCADR_info();
internal ODBPMCADR_info info59 = new ODBPMCADR_info();
internal ODBPMCADR_info info60 = new ODBPMCADR_info();
internal ODBPMCADR_info info61 = new ODBPMCADR_info();
internal ODBPMCADR_info info62 = new ODBPMCADR_info();
internal ODBPMCADR_info info63 = new ODBPMCADR_info();
internal ODBPMCADR_info info64 = new ODBPMCADR_info();
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBPMCADR
{
internal uint io_adr;
internal short datano;
internal ODBPMCADR1 info = new ODBPMCADR1();
}
/*--------------------------*/
/* PROFIBUS function */
/*--------------------------*/
/* pmc_prfrdconfig:read PROFIBUS configration data */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBPRFCNF
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string master_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
internal string master_ver = new string(' ', 3);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string slave_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
internal string slave_ver = new string(' ', 3);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
internal string cntl_ser = new string(' ', 5);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
internal string cntl_ver = new string(' ', 3);
}
/* pmc_prfrdbusprm:read bus parameter for master function */
/* pmc_prfwrbusprm:write bus parameter for master function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBBUSPRM
{
internal sbyte fdl_add;
internal sbyte baudrate;
internal ushort tsl;
internal ushort min_tsdr;
internal ushort max_tsdr;
internal byte tqui;
internal byte tset;
internal int ttr;
internal sbyte gap;
internal sbyte hsa;
internal sbyte max_retry;
internal byte bp_flag;
internal ushort min_slv_int;
internal ushort poll_tout;
internal ushort data_cntl;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
internal byte[] reserve1 = new byte[6];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal byte[] cls2_name = new byte[32];
internal short user_dlen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 62)]
internal byte[] user_data = new byte[62];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 96)]
internal byte[] reserve2 = new byte[96];
}
/* pmc_prfrdslvprm:read slave parameter for master function */
/* pmc_prfwrslvprm:write slave parameter for master function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLVPRM
{
internal short dis_enb;
internal ushort ident_no;
internal byte slv_flag;
internal byte slv_type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
internal byte[] reserve1 = new byte[12];
internal byte slv_stat;
internal byte wd_fact1;
internal byte wd_fact2;
internal byte min_tsdr;
internal char reserve2;
internal byte grp_ident;
internal short user_plen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal byte[] user_pdata = new byte[32];
internal short cnfg_dlen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)]
internal byte[] cnfg_data = new byte[126];
internal short slv_ulen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
internal byte[] slv_udata = new byte[30];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal byte[] reserve3 = new byte[8];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLVPRM2
{
internal short dis_enb;
internal ushort ident_no;
internal byte slv_flag;
internal byte slv_type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
internal byte[] reserve1 = new byte[12];
internal byte slv_stat;
internal byte wd_fact1;
internal byte wd_fact2;
internal byte min_tsdr;
internal sbyte reserve2;
internal byte grp_ident;
internal short user_plen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)]
internal byte[] user_pdata = new byte[206];
internal short cnfg_dlen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 126)]
internal byte[] cnfg_data = new byte[126];
internal short slv_ulen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
internal byte[] slv_udata = new byte[30];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
internal byte[] reserve3 = new byte[8];
}
/* pmc_prfrdallcadr:read allocation address for master function */
/* pmc_prfwrallcadr:set allocation address for master function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBPRFADR
{
internal byte di_size;
internal byte di_type;
internal ushort di_addr;
internal short reserve1;
internal byte do_size;
internal byte do_type;
internal ushort do_addr;
internal short reserve2;
internal byte dgn_size;
internal byte dgn_type;
internal ushort dgn_addr;
}
/* pmc_prfrdslvaddr:read allocation address for slave function */
/* pmc_prfwrslvaddr:set allocation address for slave function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLVADR
{
internal byte slave_no;
internal byte di_size;
internal byte di_type;
internal ushort di_addr;
internal byte do_size;
internal byte do_type;
internal ushort do_addr;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
internal byte[] reserve = new byte[7];
}
/* pmc_prfrdslvstat:read status for slave function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBSLVST
{
internal byte cnfg_stat;
internal byte prm_stat;
internal sbyte wdg_stat;
internal byte live_stat;
internal short ident_no;
}
/* pmc_prfrdslvid:Reads slave index data of master function */
/* pmc_prfwrslvid:Writes slave index data of master function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLVID
{
internal short dis_enb;
internal short slave_no;
internal short nsl;
internal byte dgn_size;
internal char dgn_type;
internal ushort dgn_addr;
}
/* pmc_prfrdslvprm2:Reads slave parameter of master function(2) */
/* pmc_prfwrslvprm2:Writes slave parameter of master function(2) */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBSLVPRM3
{
internal ushort ident_no;
internal byte slv_flag;
internal byte slv_type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
internal char[] reserve1 = new char[12];
internal byte slv_stat;
internal byte wd_fact1;
internal byte wd_fact2;
internal byte min_tsdr;
internal char reserve2;
internal byte grp_ident;
internal short user_plen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 206)]
internal char[] user_pdata = new char[206];
internal short slv_ulen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
internal char[] slv_udata = new char[30];
}
/* pmc_prfrddido:Reads DI/DO parameter of master function */
/* pmc_prfwrdido:Writes DI/DO parameter of master function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBDIDO
{
internal short slave_no;
internal short slot_no;
internal byte di_size;
internal char di_type;
internal ushort di_addr;
internal byte do_size;
internal char do_type;
internal ushort do_addr;
internal short shift;
internal byte module_dlen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
internal char[] module_data = new char[128];
}
/* pmc_prfrdindiadr:Reads indication address of master function */
/* pmc_prfwrindiadr:Writes indication address of master function */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBINDEADR
{
internal byte dummy;
internal char indi_type;
internal ushort indi_addr;
}
/*-----------------------------------------------*/
/* DS : Data server & Ethernet board function */
/*-----------------------------------------------*/
/* etb_rdparam : read@the parameter of the Ethernet board */
/* etb_wrparam : write the parameter of the Ethernet board */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class TCPPRM
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string OwnIPAddress = new string(' ', 16);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string SubNetMask = new string(' ', 16);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string RouterIPAddress = new string(' ', 16);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class HOSTPRM
{
internal short DataServerPort;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string DataServerIPAddress = new string(' ', 16);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string DataServerUserName = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string DataServerPassword = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
internal string DataServerLoginDirectory = new string(' ', 128);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class FTPPRM
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string FTPServerUserName = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
internal string FTPServerPassword = new string(' ', 32);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
internal string FTPServerLoginDirectory = new string(' ', 128);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ETBPRM
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
internal string OwnMACAddress = new string(' ', 128);
internal short MaximumChannel;
internal short HDDExistence;
internal short NumberOfScreens;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBETP
{
internal short Dummy_ParameterType;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 210)]
internal byte[] prm = new byte[210];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBETP_TCP
{
internal short ParameterType;
internal TCPPRM tcp;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBETP_HOST
{
internal short ParameterType;
internal HOSTPRM host;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBETP_FTP
{
internal short ParameterType;
internal FTPPRM ftp;
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class IODBETP_ETB
{
internal short ParameterType;
internal ETBPRM etb;
}
/* etb_rderrmsg : read the error message of the Ethernet board */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBETMSG
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 33)]
internal string title = new string(' ', 33);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 390)]
internal string message = new string(' ', 390);
}
/* ds_rdhddinfo : read information of the Data Server's HDD */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHDDINF
{
internal int file_num;
internal int remainder_l;
internal int remainder_h;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
internal char[] current_dir = new char[32];
}
/* ds_rdhdddir : read the file list of the Data Server's HDD */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHDDDIR_data
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
internal string file_name = new string(' ', 64);
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
internal string comment = new string(' ', 80);
internal short attribute;
internal short reserved;
internal int size;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
internal string date = new string(' ', 16);
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHDDDIR
{
internal ODBHDDDIR_data data1 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data2 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data3 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data4 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data5 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data6 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data7 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data8 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data9 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data10 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data11 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data12 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data13 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data14 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data15 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data16 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data17 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data18 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data19 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data20 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data21 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data22 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data23 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data24 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data25 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data26 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data27 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data28 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data29 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data30 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data31 = new ODBHDDDIR_data();
internal ODBHDDDIR_data data32 = new ODBHDDDIR_data();
}
/* ds_rdhostdir : read the file list of the host */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHOSTDIR_data
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
internal char[] host_file = new char[128];
}
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class ODBHOSTDIR
{
internal ODBHOSTDIR_data data1 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data2 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data3 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data4 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data5 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data6 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data7 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data8 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data9 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data10 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data11 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data12 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data13 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data14 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data15 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data16 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data17 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data18 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data19 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data20 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data21 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data22 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data23 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data24 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data25 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data26 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data27 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data28 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data29 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data30 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data31 = new ODBHOSTDIR_data();
internal ODBHOSTDIR_data data32 = new ODBHOSTDIR_data();
}
/* ds_rdmntinfo : read maintenance information */
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal class DSMNTINFO
{
internal ushort empty_cnt;
internal uint total_size;
internal ushort ReadPtr;
internal ushort WritePtr;
};
/*--------------------------*/
/* HSSB multiple connection */
/*--------------------------*/
/* cnc_rdnodeinfo:read node informations */
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 4)]
internal class ODBNODE
{
internal int node_no;
internal int io_base;
internal int status;
internal int cnc_type;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
internal string node_name = new string(' ', 20);
}
/*-------------------------------------*/
/* CNC: Control axis / spindle related */
/*-------------------------------------*/
/* read actual axis feedrate(F) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_actf")]
internal static extern short cnc_actf(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a);
/* read absolute axis position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_absolute")]
internal static extern short cnc_absolute(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read machine axis position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_machine")]
internal static extern short cnc_machine(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read relative axis position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_relative")]
internal static extern short cnc_relative(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read distance to go */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_distance")]
internal static extern short cnc_distance(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read skip position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_skip")]
internal static extern short cnc_skip(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read servo delay value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srvdelay")]
internal static extern short cnc_srvdelay(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read acceleration/deceleration delay value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_accdecdly")]
internal static extern short cnc_accdecdly(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read all dynamic data */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic")]
internal static extern short cnc_rddynamic(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_1 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic")]
internal static extern short cnc_rddynamic(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rddynamico8")]
internal static extern short cnc_rddynamic(ushort FlibHndl,
short a, short b, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDY_1 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rddynamico8")]
internal static extern short cnc_rddynamic(ushort FlibHndl,
short a, short b, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDY_2 c);
#endif
/* read all dynamic data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic2")]
internal static extern short cnc_rddynamic2(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_1 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddynamic2")]
internal static extern short cnc_rddynamic2(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDY2_2 c);
/* read actual spindle speed(S) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_acts")]
internal static extern short cnc_acts(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT a);
/* read actual spindle speed(S) (All or spesified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_acts2")]
internal static extern short cnc_acts2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACT2 b);
/* set origin / preset relative axis position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrelpos")]
internal static extern short cnc_wrrelpos(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRR b);
/* preset work coordinate */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_prstwkcd")]
internal static extern short cnc_prstwkcd(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRA b);
/* read manual overlapped motion value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmovrlap")]
internal static extern short cnc_rdmovrlap(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBOVL c);
/* cancel manual overlapped motion value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_canmovrlap")]
internal static extern short cnc_canmovrlap(ushort FlibHndl, short a);
/* read load information of serial spindle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspload")]
internal static extern short cnc_rdspload(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b);
/* read maximum r.p.m. ratio of serial spindle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspmaxrpm")]
internal static extern short cnc_rdspmaxrpm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b);
/* read gear ratio of serial spindle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspgear")]
internal static extern short cnc_rdspgear(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPN b);
/* read absolute axis position 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_absolute2")]
internal static extern short cnc_absolute2(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read relative axis position 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_relative2")]
internal static extern short cnc_relative2(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* set wire vertival position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setvrtclpos")]
internal static extern short cnc_setvrtclpos(ushort FlibHndl, short a);
/* set wire threading position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setthrdngpos")]
internal static extern short cnc_setthrdngpos(ushort FlibHndl);
/* read tool position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposition")]
internal static extern short cnc_rdposition(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOS c);
/* read current speed */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspeed")]
internal static extern short cnc_rdspeed(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPEED b);
/* read servo load meter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsvmeter")]
internal static extern short cnc_rdsvmeter(ushort FlibHndl,
ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSVLOAD b);
/* read spindle load meter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspmeter")]
internal static extern short cnc_rdspmeter(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPLOAD c);
/* read manual feed for 5-axis machining */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd5axmandt")]
internal static extern short cnc_rd5axmandt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB5AXMAN a);
/* read amount of machine axes movement of manual feed for 5-axis machining */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd5axovrlap")]
internal static extern short cnc_rd5axovrlap(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read handle interruption */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhndintrpt")]
internal static extern short cnc_rdhndintrpt(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHND c);
/* clear pulse values of manual feed for 5-axis machining */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clr5axpls")]
internal static extern short cnc_clr5axpls(ushort FlibHndl, short a);
/* read constant surface speed */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspcss")]
internal static extern short cnc_rdspcss(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCSS a);
/* read execution program pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecpt")]
internal static extern short cnc_rdexecpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT a, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGPNT b);
/* read various axis data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdaxisdata")]
internal static extern short cnc_rdaxisdata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c, ref short d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXDT e);
/*----------------------*/
/* CNC: Program related */
/*----------------------*/
/* start downloading NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart")]
internal static extern short cnc_dwnstart(ushort FlibHndl);
/* download NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download")]
internal static extern short cnc_download(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
/* download NC program(conditional) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cdownload")]
internal static extern short cnc_cdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
/* end of downloading NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend")]
internal static extern short cnc_dwnend(ushort FlibHndl);
/* end of downloading NC program 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend2")]
internal static extern short cnc_dwnend2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* start downloading NC program 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart3")]
internal static extern short cnc_dwnstart3(ushort FlibHndl, short a);
/* start downloading NC program 3 special */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart3_f")]
internal static extern short cnc_dwnstart3_f(ushort FlibHndl,
short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
/* download NC program 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download3")]
internal static extern short cnc_download3(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* end of downloading NC program 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend3")]
internal static extern short cnc_dwnend3(ushort FlibHndl);
/* start downloading NC program 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnstart4")]
internal static extern short cnc_dwnstart4(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* download NC program 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_download4")]
internal static extern short cnc_download4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* end of downloading NC program 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dwnend4")]
internal static extern short cnc_dwnend4(ushort FlibHndl);
/* start verification of NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfstart")]
internal static extern short cnc_vrfstart(ushort FlibHndl);
/* verify NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_verify")]
internal static extern short cnc_verify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
/* verify NC program(conditional) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cverify")]
internal static extern short cnc_cverify(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b);
/* end of verification */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfend")]
internal static extern short cnc_vrfend(ushort FlibHndl);
/* start verification of NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfstart4")]
internal static extern short cnc_vrfstart4(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* verify NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_verify4")]
internal static extern short cnc_verify4(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* end of verification */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_vrfend4")]
internal static extern short cnc_vrfend4(ushort FlibHndl);
/* start downloading DNC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncstart")]
internal static extern short cnc_dncstart(ushort FlibHndl);
/* download DNC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dnc")]
internal static extern short cnc_dnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b);
/* download DNC program(conditional) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cdnc")]
internal static extern short cnc_cdnc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ushort b);
/* end of downloading DNC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncend")]
internal static extern short cnc_dncend(ushort FlibHndl);
/* start downloading DNC program 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncstart2")]
internal static extern short cnc_dncstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* download DNC program 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dnc2")]
internal static extern short cnc_dnc2(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* end of downloading DNC program 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dncend2")]
internal static extern short cnc_dncend2(ushort FlibHndl, short a);
/* read the diagnosis data of DNC operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddncdgndt")]
internal static extern short cnc_rddncdgndt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDNCDGN a);
/* start uploading NC program */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart")]
internal static extern short cnc_upstart(ushort FlibHndl, short a);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_upstarto8")]
internal static extern short cnc_upstart( ushort FlibHndl, int a );
#endif
/* upload NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload")]
internal static extern short cnc_upload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b);
/* upload NC program(conditional) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cupload")]
internal static extern short cnc_cupload(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUP a, ref ushort b);
/* end of uploading NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend")]
internal static extern short cnc_upend(ushort FlibHndl);
/* start uploading NC program 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart3")]
internal static extern short cnc_upstart3(ushort FlibHndl, short a, int b, int c);
/* start uploading NC program special 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart3_f")]
internal static extern short cnc_upstart3_f(ushort FlibHndl,
short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
/* upload NC program 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload3")]
internal static extern short cnc_upload3(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* end of uploading NC program 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend3")]
internal static extern short cnc_upend3(ushort FlibHndl);
/* start uploading NC program 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upstart4")]
internal static extern short cnc_upstart4(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* upload NC program 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upload4")]
internal static extern short cnc_upload4(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* end of uploading NC program 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_upend4")]
internal static extern short cnc_upend4(ushort FlibHndl);
/* read buffer status for downloading/verification NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_buff")]
internal static extern short cnc_buff(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBUF a);
/* search specified program */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_search")]
internal static extern short cnc_search(ushort FlibHndl, short a);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_searcho8")]
internal static extern short cnc_search( ushort FlibHndl, int a );
#endif
/* search specified program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_search2")]
internal static extern short cnc_search2(ushort FlibHndl, int a);
/* delete all programs */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delall")]
internal static extern short cnc_delall(ushort FlibHndl);
/* delete specified program */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delete")]
internal static extern short cnc_delete(ushort FlibHndl, short a);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_deleteo8")]
internal static extern short cnc_delete( ushort FlibHndl, int a );
#endif
/* delete program (area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delrange")]
internal static extern short cnc_delrange(ushort FlibHndl, int a, int b);
/* read program directory */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir")]
internal static extern short cnc_rdprogdir(ushort FlibHndl,
short a, short b, short c, ushort d, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR e);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdprogdiro8")]
internal static extern short cnc_rdprogdir( ushort FlibHndl,
short a, short b, short c, ushort d, [Out,MarshalAs(UnmanagedType.LPStruct)] PRGDIR e );
#endif
/* read program information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproginfo")]
internal static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_1 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproginfo")]
internal static extern short cnc_rdproginfo(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNC_2 c);
/* read program number under execution */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprgnum")]
internal static extern short cnc_rdprgnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRO a);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdprgnumo8")]
internal static extern short cnc_rdprgnum( ushort FlibHndl, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBPRO a );
#endif
/* read program name under execution */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_exeprgname")]
internal static extern short cnc_exeprgname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEPRG a);
/* read sequence number under execution */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdseqnum")]
internal static extern short cnc_rdseqnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSEQ a);
/* search specified sequence number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_seqsrch")]
internal static extern short cnc_seqsrch(ushort FlibHndl, int a);
/* search specified sequence number (2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_seqsrch2")]
internal static extern short cnc_seqsrch2(ushort FlibHndl, int a);
/* rewind cursor of NC program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rewind")]
internal static extern short cnc_rewind(ushort FlibHndl);
/* read block counter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdblkcount")]
internal static extern short cnc_rdblkcount(ushort FlibHndl, out int a);
/* read program under execution */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecprog")]
internal static extern short cnc_rdexecprog(ushort FlibHndl, ref ushort a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* read program for MDI operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdiprog")]
internal static extern short cnc_rdmdiprog(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* write program for MDI operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmdiprog")]
internal static extern short cnc_wrmdiprog(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read execution pointer for MDI operation */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdipntr")]
internal static extern short cnc_rdmdipntr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdmdipntro8")]
internal static extern short cnc_rdmdipntr( ushort FlibHndl, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBMDIP a );
#endif
/* write execution pointer for MDI operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmdipntr")]
internal static extern short cnc_wrmdipntr(ushort FlibHndl, int a);
/* register new program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_newprog")]
internal static extern short cnc_newprog(ushort FlibHndl, int a);
/* copy program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_copyprog")]
internal static extern short cnc_copyprog(ushort FlibHndl, int a, int b);
/* rename program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_renameprog")]
internal static extern short cnc_renameprog(ushort FlibHndl, int a, int b);
/* condense program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_condense")]
internal static extern short cnc_condense(ushort FlibHndl, short a, int b);
/* merge program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_mergeprog")]
internal static extern short cnc_mergeprog(ushort FlibHndl, short a, int b, uint c, int d);
/* read current program and its pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdactpt")]
internal static extern short cnc_rdactpt(ushort FlibHndl, out int a, out int b);
/* read current program and its pointer and UV macro pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rduvactpt")]
internal static extern short cnc_rduvactpt(ushort FlibHndl, out int a, out int b, out int c);
/* set current program and its pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wractpt")]
internal static extern short cnc_wractpt(ushort FlibHndl, int a, short b, ref int c);
/* line edit (read program) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogline")]
internal static extern short cnc_rdprogline(ushort FlibHndl,
int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e);
/* line edit (read program) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogline2")]
internal static extern short cnc_rdprogline2(ushort FlibHndl,
int a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e);
/* line edit (write program) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrprogline")]
internal static extern short cnc_wrprogline(ushort FlibHndl, int a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d);
/* line edit (delete line in program) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delprogline")]
internal static extern short cnc_delprogline(ushort FlibHndl, int a, uint b, uint c);
/* line edit (search string) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_searchword")]
internal static extern short cnc_searchword(ushort FlibHndl,
int a, uint b, short c, short d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f);
/* line edit (search string) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_searchresult")]
internal static extern short cnc_searchresult(ushort FlibHndl, out uint a);
/* line edit (read program by file name) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_line")]
internal static extern short cnc_rdpdf_line(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref uint d, ref uint e);
/* program lock */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpglock")]
internal static extern short cnc_setpglock(ushort FlibHndl, int a);
/* program unlock */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_resetpglock")]
internal static extern short cnc_resetpglock(ushort FlibHndl, int a);
/* read the status of the program lock */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpglockstat")]
internal static extern short cnc_rdpglockstat(ushort FlibHndl, out int a, out int b);
/* create file or directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_add")]
internal static extern short cnc_pdf_add(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* condense program file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_cond")]
internal static extern short cnc_pdf_cond(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* change attribute of program file and directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_attr")]
internal static extern short cnc_wrpdf_attr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] IDBPDFTDIR b);
/* copy program file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_copy")]
internal static extern short cnc_pdf_copy(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* delete file or directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_del")]
internal static extern short cnc_pdf_del(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* line edit (write program by file name) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_line")]
internal static extern short cnc_wrpdf_line(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, [In, MarshalAs(UnmanagedType.AsAny)] Object c, uint d);
/* line edit (delete line by file name) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_delline")]
internal static extern short cnc_pdf_delline(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c);
/* move program file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_move")]
internal static extern short cnc_pdf_move(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read current program and its pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rdactpt")]
internal static extern short cnc_pdf_rdactpt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, out int b);
/* read selected file name */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rdmain")]
internal static extern short cnc_pdf_rdmain(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* rename file or directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_rename")]
internal static extern short cnc_pdf_rename(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* line edit (search string) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_searchword")]
internal static extern short cnc_pdf_searchword(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, uint b, uint c, uint d, uint e, [In, MarshalAs(UnmanagedType.AsAny)] Object f);
/* line edit (search string) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_searchresult")]
internal static extern short cnc_pdf_searchresult(ushort FlibHndl, out uint a);
/* select program file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_slctmain")]
internal static extern short cnc_pdf_slctmain(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* set current program and its pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_pdf_wractpt")]
internal static extern short cnc_pdf_wractpt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, ref int c);
/* read program drive information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_inf")]
internal static extern short cnc_rdpdf_inf(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* read program drive directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_drive")]
internal static extern short cnc_rdpdf_drive(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read current directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_curdir")]
internal static extern short cnc_rdpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* set current directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpdf_curdir")]
internal static extern short cnc_wrpdf_curdir(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read directory (sub directories) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_subdir")]
internal static extern short cnc_rdpdf_subdir(ushort FlibHndl,
ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBPDFSDIR b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFSDIR c);
/* read directory (all files) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_alldir")]
internal static extern short cnc_rdpdf_alldir(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* read file count in directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpdf_subdirn")]
internal static extern short cnc_rdpdf_subdirn(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPDFNFIL b);
/*---------------------------*/
/* CNC: NC file data related */
/*---------------------------*/
/* read tool offset value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofs")]
internal static extern short cnc_rdtofs(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTOFS d);
/* write tool offset value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofs")]
internal static extern short cnc_wrtofs(ushort FlibHndl, short a, short b, short c, int d);
/* read tool offset value(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")]
internal static extern short cnc_rdtofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")]
internal static extern short cnc_rdtofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")]
internal static extern short cnc_rdtofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")]
internal static extern short cnc_rdtofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsr")]
internal static extern short cnc_rdtofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 e);
/* write tool offset value(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")]
internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_1 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")]
internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_2 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")]
internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_1_3 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")]
internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_2 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtofsr")]
internal static extern short cnc_wrtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTO_3 b);
/* read work zero offset value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofs")]
internal static extern short cnc_rdzofs(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS d);
/* write work zero offset value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrzofs")]
internal static extern short cnc_wrzofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b);
/* read work zero offset value(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofsr")]
internal static extern short cnc_rdzofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e);
/* write work zero offset value(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrzofsr")]
internal static extern short cnc_wrzofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b);
/* read mesured point value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmsptype")]
internal static extern short cnc_rdmsptype(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d);
/* write mesured point value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmsptype")]
internal static extern short cnc_wrmsptype(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMSTP d);
/* read parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")]
internal static extern short cnc_rdparam(ushort FlibHndl,
short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")]
internal static extern short cnc_rdparam(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")]
internal static extern short cnc_rdparam(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")]
internal static extern short cnc_rdparam(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam")]
internal static extern short cnc_rdparam(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d);
#endif
/* write parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")]
internal static extern short cnc_wrparam(ushort FlibHndl, short length, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")]
internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")]
internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")]
internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparam")]
internal static extern short cnc_wrparam(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b);
#endif
/* read parameter(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparar")]
internal static extern short cnc_rdparar(ushort FlibHndl,
ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
// [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")]
// internal static extern short cnc_rdparar( ushort FlibHndl,
// ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_A e );
// [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")]
// internal static extern short cnc_rdparar( ushort FlibHndl,
// ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_B e );
// [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")]
// internal static extern short cnc_rdparar( ushort FlibHndl,
// ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_C e );
// [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdparar")]
// internal static extern short cnc_rdparar( ushort FlibHndl,
// ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] IODBPSD_D e );
/* write parameter(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrparas")]
internal static extern short cnc_wrparas(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")]
internal static extern short cnc_rdset(ushort FlibHndl,
short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD set);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")]
internal static extern short cnc_rdset(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")]
internal static extern short cnc_rdset(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")]
internal static extern short cnc_rdset(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdset")]
internal static extern short cnc_rdset(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 d);
#endif
/* write setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")]
internal static extern short cnc_wrset(ushort FlibHndl, short length, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD set);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")]
internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")]
internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")]
internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrset")]
internal static extern short cnc_wrset(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 b);
#endif
/* read setting data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetr")]
internal static extern short cnc_rdsetr(ushort FlibHndl,
ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
/* write setting data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsets")]
internal static extern short cnc_wrsets(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read parameters */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam_ext")]
internal static extern short cnc_rdparam_ext(ushort FlibHndl,
[In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c);
/* read parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")]
internal static extern short cnc_rdparam3(ushort FlibHndl,
short number, short axis, short length, short absolute, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD param);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")]
internal static extern short cnc_rdparam3(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_1 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")]
internal static extern short cnc_rdparam3(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_2 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")]
internal static extern short cnc_rdparam3(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_3 e);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparam3")]
internal static extern short cnc_rdparam3(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSD_4 e);
#endif
/* async parameter write start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_start_async_wrparam")]
internal static extern short cnc_start_async_wrparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM a);
/* async parameter write end */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_end_async_wrparam")]
internal static extern short cnc_end_async_wrparam(ushort FlibHndl, out short a);
/* read cause of busy for async parameter write */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_async_busy_state")]
internal static extern short cnc_async_busy_state(ushort FlibHndl, out short a);
/* read diagnosis data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiag_ext")]
internal static extern short cnc_rddiag_ext(ushort FlibHndl,
[In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRMNO a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRM c);
/* read pitch error compensation data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpitchr")]
internal static extern short cnc_rdpitchr(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPI d);
/* write pitch error compensation data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpitchr")]
internal static extern short cnc_wrpitchr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPI b);
/* read custom macro variable */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacro")]
internal static extern short cnc_rdmacro(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBM c);
/* write custom macro variable */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacro")]
internal static extern short cnc_wrmacro(ushort FlibHndl, short a, short b, int c, short d);
/* read custom macro variables(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacror")]
internal static extern short cnc_rdmacror(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMR d);
/* write custom macro variables(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacror")]
internal static extern short cnc_wrmacror(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMR b);
/* read custom macro variables(IEEE double version) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacror2")]
internal static extern short cnc_rdmacror2(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* write custom macro variables(IEEE double version) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmacror2")]
internal static extern short cnc_wrmacror2(ushort FlibHndl, int a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
/* read P code macro variable */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacro")]
internal static extern short cnc_rdpmacro(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPM b);
/* write P code macro variable */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacro")]
internal static extern short cnc_wrpmacro(ushort FlibHndl, int a, int b, short c);
/* read P code macro variables(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacror")]
internal static extern short cnc_rdpmacror(ushort FlibHndl,
int a, int b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR d);
/* write P code macro variables(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacror")]
internal static extern short cnc_wrpmacror(ushort FlibHndl, ushort a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPR b);
/* read P code macro variables(IEEE double version) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacror2")]
internal static extern short cnc_rdpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
/* write P code macro variables(IEEE double version) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpmacror2")]
internal static extern short cnc_wrpmacror2(ushort FlibHndl, uint a, ref uint b, ushort c, [In, MarshalAs(UnmanagedType.AsAny)] Object d);
/* read tool offset information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsinfo")]
internal static extern short cnc_rdtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF a);
/* read tool offset information(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtofsinfo2")]
internal static extern short cnc_rdtofsinfo2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINF2 a);
/* read work zero offset information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdzofsinfo")]
internal static extern short cnc_rdzofsinfo(ushort FlibHndl, out short a);
/* read pitch error compensation data information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpitchinfo")]
internal static extern short cnc_rdpitchinfo(ushort FlibHndl, out short a);
/* read custom macro variable information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmacroinfo")]
internal static extern short cnc_rdmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMVINF a);
/* read P code macro variable information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpmacroinfo")]
internal static extern short cnc_rdpmacroinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMINF a);
/* read validity of tool offset */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_tofs_rnge")]
internal static extern short cnc_tofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c);
/* read validity of work zero offset */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_zofs_rnge")]
internal static extern short cnc_zofs_rnge(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG c);
/* read validity of work zero offset */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wksft_rnge")]
internal static extern short cnc_wksft_rnge(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDATRNG b);
/* read the information for function cnc_rdhsparam() */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsprminfo")]
internal static extern short cnc_rdhsprminfo(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPINFO_data b);
/* read parameters at the high speed */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")]
internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_1 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")]
internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_2 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhsparam")]
internal static extern short cnc_rdhsparam(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] HSPINFO b, [Out, MarshalAs(UnmanagedType.LPStruct)] HSPDATA_3 c);
/*----------------------------------------*/
/* CNC: Tool life management data related */
/*----------------------------------------*/
/* read tool life management data(tool group number) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpid")]
internal static extern short cnc_rdgrpid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE1 b);
/* read tool life management data(number of tool groups) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdngrp")]
internal static extern short cnc_rdngrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE2 a);
/* read tool life management data(number of tools) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdntool")]
internal static extern short cnc_rdntool(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b);
/* read tool life management data(tool life) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlife")]
internal static extern short cnc_rdlife(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b);
/* read tool life management data(tool lift counter) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcount")]
internal static extern short cnc_rdcount(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE3 b);
/* read tool life management data(tool length number-1) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1length")]
internal static extern short cnc_rd1length(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(tool length number-2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2length")]
internal static extern short cnc_rd2length(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(cutter compensation no.-1) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1radius")]
internal static extern short cnc_rd1radius(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(cutter compensation no.-2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2radius")]
internal static extern short cnc_rd2radius(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(tool information-1) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_t1info")]
internal static extern short cnc_t1info(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(tool information-2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_t2info")]
internal static extern short cnc_t2info(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(tool number) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_toolnum")]
internal static extern short cnc_toolnum(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE4 c);
/* read tool life management data(tool number, tool life, tool life counter)(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolrng")]
internal static extern short cnc_rdtoolrng(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTR d);
/* read tool life management data(all data within group) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolgrp")]
internal static extern short cnc_rdtoolgrp(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTG c);
/* write tool life management data(tool life counter) (area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcountr")]
internal static extern short cnc_wrcountr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBWRC b);
/* read tool life management data(used tool group number) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdusegrpid")]
internal static extern short cnc_rdusegrpid(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGR a);
/* read tool life management data(max. number of tool groups) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmaxgrp")]
internal static extern short cnc_rdmaxgrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a);
/* read tool life management data(maximum number of tool within group) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmaxtool")]
internal static extern short cnc_rdmaxtool(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLFNO a);
/* read tool life management data(used tool no. within group) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdusetlno")]
internal static extern short cnc_rdusetlno(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLUSE d);
/* read tool life management data(tool data1) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1tlifedata")]
internal static extern short cnc_rd1tlifedata(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c);
/* read tool life management data(tool data2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd2tlifedata")]
internal static extern short cnc_rd2tlifedata(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD c);
/* write tool life management data(tool data1) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr1tlifedata")]
internal static extern short cnc_wr1tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a);
/* write tool life management data(tool data2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr2tlifedata")]
internal static extern short cnc_wr2tlifedata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD a);
/* read tool life management data(tool group information) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo")]
internal static extern short cnc_rdgrpinfo(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI d);
/* read tool life management data(tool group information 2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo2")]
internal static extern short cnc_rdgrpinfo2(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 d);
/* read tool life management data(tool group information 3) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo3")]
internal static extern short cnc_rdgrpinfo3(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 d);
/* read tool life management data(tool group information 4) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpinfo4")]
internal static extern short cnc_rdgrpinfo4(ushort FlibHndl,
short a, short b, short c, out short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTGI4 e);
/* write tool life management data(tool group information) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo")]
internal static extern short cnc_wrgrpinfo(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI b);
/* write tool life management data(tool group information 2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo2")]
internal static extern short cnc_wrgrpinfo2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI2 b);
/* write tool life management data(tool group information 3) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrpinfo3")]
internal static extern short cnc_wrgrpinfo3(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTGI3 b);
/* delete tool life management data(tool group) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltlifegrp")]
internal static extern short cnc_deltlifegrp(ushort FlibHndl, short a);
/* insert tool life management data(tool data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_instlifedt")]
internal static extern short cnc_instlifedt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBITD a);
/* delete tool life management data(tool data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltlifedt")]
internal static extern short cnc_deltlifedt(ushort FlibHndl, short a, short b);
/* clear tool life management data(tool life counter, tool information)(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrcntinfo")]
internal static extern short cnc_clrcntinfo(ushort FlibHndl, short a, short b);
/* read tool life management data(tool group number) 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrpid2")]
internal static extern short cnc_rdgrpid2(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLIFE5 b);
/* read tool life management data(tool data1) 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd1tlifedat2")]
internal static extern short cnc_rd1tlifedat2(ushort FlibHndl,
short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 c);
/* write tool life management data(tool data1) 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wr1tlifedat2")]
internal static extern short cnc_wr1tlifedat2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTD2 a);
/* read tool life management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlinfo")]
internal static extern short cnc_rdtlinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBTLINFO a);
/* read tool life management data(used tool group number) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlusegrp")]
internal static extern short cnc_rdtlusegrp(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBUSEGRP a);
/* read tool life management data(tool group information 2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlgrp")]
internal static extern short cnc_rdtlgrp(ushort FlibHndl,
int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLGRP c);
/* read tool life management data (tool data1) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtltool")]
internal static extern short cnc_rdtltool(ushort FlibHndl,
int a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLTOOL d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexchgtgrp")]
internal static extern short cnc_rdexchgtgrp(ushort FlibHndl,
ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXGP c);
/*-----------------------------------*/
/* CNC: Tool management data related */
/*-----------------------------------*/
/* new registration of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regtool")]
internal static extern short cnc_regtool(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c);
/* new registration of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regtool_f2")]
internal static extern short cnc_regtool_f2(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c);
/* deletion of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_deltool")]
internal static extern short cnc_deltool(ushort FlibHndl, short a, ref short b);
/* lead of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtool")]
internal static extern short cnc_rdtool(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG c);
/* lead of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtool_f2")]
internal static extern short cnc_rdtool_f2(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2 c);
/* write of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool")]
internal static extern short cnc_wrtool(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG b);
/* write of individual data of tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool2")]
internal static extern short cnc_wrtool2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBTLM b);
/* write tool management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtool_f2")]
internal static extern short cnc_wrtool_f2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMNG_F2_data b);
/* new registration of magazine management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_regmagazine")]
internal static extern short cnc_regmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b);
/* deletion of magazine management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_delmagazine")]
internal static extern short cnc_delmagazine(ushort FlibHndl, ref short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG2 b);
/* lead of magazine management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmagazine")]
internal static extern short cnc_rdmagazine(ushort FlibHndl, ref short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLMAG b);
/* Individual write of magazine management data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmagazine")]
internal static extern short cnc_wrmagazine(ushort FlibHndl, short a, short b, short c);
/*-------------------------------------*/
/* CNC: Operation history data related */
/*-------------------------------------*/
/* stop logging operation history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopophis")]
internal static extern short cnc_stopophis(ushort FlibHndl);
/* restart logging operation history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startophis")]
internal static extern short cnc_startophis(ushort FlibHndl);
/* read number of operation history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophisno")]
internal static extern short cnc_rdophisno(ushort FlibHndl, out ushort a);
/* read operation history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry")]
internal static extern short cnc_rdophistry(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHIS d);
/* read operation history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry2")]
internal static extern short cnc_rdophistry2(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
/* read operation history data F30i*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_1 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_2 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_3 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_4 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_5 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_6 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_7 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_8 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_9 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_10 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdophistry4")]
internal static extern short cnc_rdophistry4(ushort FlibHndl,
ushort a, ref ushort b, ref ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOPHIS4_11 d);
/* read number of alarm history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhisno")]
internal static extern short cnc_rdalmhisno(ushort FlibHndl, out ushort a);
/* read alarm history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry")]
internal static extern short cnc_rdalmhistry(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d);
/* read alarm history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry_w")]
internal static extern short cnc_rdalmhistry_w(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS d);
/* read alarm history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry2")]
internal static extern short cnc_rdalmhistry2(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS2 d);
/* read alarm history data F30i*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry3")]
internal static extern short cnc_rdalmhistry3(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS3 d);
/* read alarm history data F30i*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmhistry5")]
internal static extern short cnc_rdalmhistry5(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAHIS5 d);
/* clear operation history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clearophis")]
internal static extern short cnc_clearophis(ushort FlibHndl, short a);
/* read signals related operation history */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl")]
internal static extern short cnc_rdhissgnl(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a);
/* read signals related operation history 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl2")]
internal static extern short cnc_rdhissgnl2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a);
/* read signals related operation history 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhissgnl3")]
internal static extern short cnc_rdhissgnl3(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a);
/* write signals related operation history */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl")]
internal static extern short cnc_wrhissgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG a);
/* write signals related operation history 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl2")]
internal static extern short cnc_wrhissgnl2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG2 a);
/* write signals related operation history for F30i*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhissgnl3")]
internal static extern short cnc_wrhissgnl3(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIG3 a);
/* read number of operater message history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhisno")]
internal static extern short cnc_rdomhisno(ushort FlibHndl, out ushort a);
/*-------------*/
/* CNC: Others */
/*-------------*/
/* read CNC system information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcncid")]
internal static extern short cnc_rdcncid(ushort FlibHndl, out ulong a);
/* read CNC system information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysinfo")]
internal static extern short cnc_sysinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYS a);
/* read CNC status information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_statinfo")]
internal static extern short cnc_statinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBST a);
/* read alarm status */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_alarm")]
internal static extern short cnc_alarm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALM a);
/* read alarm status */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_alarm2")]
internal static extern short cnc_alarm2(ushort FlibHndl, out int a);
/* read alarm information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalminfo")]
internal static extern short cnc_rdalminfo(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_1 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalminfo")]
internal static extern short cnc_rdalminfo(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ALMINFO_2 d);
/* read alarm message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmmsg")]
internal static extern short cnc_rdalmmsg(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG c);
/* read alarm message(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdalmmsg2")]
internal static extern short cnc_rdalmmsg2(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBALMMSG2 c);
/* clear CNC alarm */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clralm")]
internal static extern short cnc_clralm(ushort FlibHndl, short a);
/* read modal data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")]
internal static extern short cnc_modal(ushort FlibHndl,
short type, short block, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL modal);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")]
internal static extern short cnc_modal(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_1 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")]
internal static extern short cnc_modal(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_2 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")]
internal static extern short cnc_modal(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_3 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")]
internal static extern short cnc_modal(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_4 c);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_modal")]
internal static extern short cnc_modal(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDL_5 c);
#endif
/* read G code */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgcode")]
internal static extern short cnc_rdgcode(ushort FlibHndl,
short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBGCD d);
/* read command value */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcommand")]
internal static extern short cnc_rdcommand(ushort FlibHndl,
short a, short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCMD d);
/* read diagnosis data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")]
internal static extern short cnc_diagnoss(ushort FlibHndl,
short number, short axis, short length, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN diag);
#if LEAVE_OLD_STYLE
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")]
internal static extern short cnc_diagnoss(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_1 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")]
internal static extern short cnc_diagnoss(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_2 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")]
internal static extern short cnc_diagnoss(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_3 d);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnoss")]
internal static extern short cnc_diagnoss(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDGN_4 d);
#endif
/* read diagnosis data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_diagnosr")]
internal static extern short cnc_diagnosr(ushort FlibHndl,
ref short a, short b, ref short c, ref short d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
// [DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_diagnosr")]
// internal static extern short cnc_diagnosr( ushort FlibHndl,
// ref short a, short b, ref short c, ref short d, [Out,MarshalAs(UnmanagedType.LPStruct)] ODBDGN e );
/* read A/D conversion data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_adcnv")]
internal static extern short cnc_adcnv(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAD c);
/* read operator's message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg")]
internal static extern short cnc_rdopmsg(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG c);
/* read operator's message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg2")]
internal static extern short cnc_rdopmsg2(ushort FlibHndl, short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG2 c);
/* read operator's message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmsg3")]
internal static extern short cnc_rdopmsg3(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] OPMSG3 c);
/* set path number(for 4 axes lathes, multi-path) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpath")]
internal static extern short cnc_setpath(ushort FlibHndl, short a);
/* get path number(for 4 axes lathes, multi-path) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getpath")]
internal static extern short cnc_getpath(ushort FlibHndl, out short a, out short b);
/* allocate library handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl")]
internal static extern short cnc_allclibhndl(out ushort FlibHndl);
/* free library handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_freelibhndl")]
internal static extern short cnc_freelibhndl(ushort FlibHndl);
/* get library option */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getlibopt")]
internal static extern short cnc_getlibopt(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* set library option */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setlibopt")]
internal static extern short cnc_setlibopt(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c);
/* get custom macro type */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getmactype")]
internal static extern short cnc_getmactype(ushort FlibHndl, out short a);
/* set custom macro type */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setmactype")]
internal static extern short cnc_setmactype(ushort FlibHndl, short a);
/* get P code macro type */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getpmactype")]
internal static extern short cnc_getpmactype(ushort FlibHndl, out short a);
/* set P code macro type */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setpmactype")]
internal static extern short cnc_setpmactype(ushort FlibHndl, short a);
/* get screen status */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcrntscrn")]
internal static extern short cnc_getcrntscrn(ushort FlibHndl, out short a);
/* change screen mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_slctscrn")]
internal static extern short cnc_slctscrn(ushort FlibHndl, short a);
/* read CNC configuration information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysconfig")]
internal static extern short cnc_sysconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSC a);
/* read program restart information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprstrinfo")]
internal static extern short cnc_rdprstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRS a);
/* search sequence number for program restart */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rstrseqsrch")]
internal static extern short cnc_rstrseqsrch(ushort FlibHndl, int a, int b, short c, short d);
/* search sequence number for program restart 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rstrseqsrch2")]
internal static extern short cnc_rstrseqsrch2(ushort FlibHndl, int a, int b, short c, short d, int e);
/* read output signal image of software operator's panel */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlsgnl")]
internal static extern short cnc_rdopnlsgnl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL b);
/* write output signal of software operator's panel */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlsgnl")]
internal static extern short cnc_wropnlsgnl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSGNL a);
/* read general signal image of software operator's panel */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlgnrl")]
internal static extern short cnc_rdopnlgnrl(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL b);
/* write general signal image of software operator's panel */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlgnrl")]
internal static extern short cnc_wropnlgnrl(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBGNRL a);
/* read general signal name of software operator's panel */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopnlgsname")]
internal static extern short cnc_rdopnlgsname(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA b);
/* write general signal name of software operator's panel */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wropnlgsname")]
internal static extern short cnc_wropnlgsname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRDNA a);
/* get detail error */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getdtailerr")]
internal static extern short cnc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBERR a);
/* read informations of CNC parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparainfo")]
internal static extern short cnc_rdparainfo(ushort FlibHndl,
short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARAIF c);
/* read informations of CNC setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetinfo")]
internal static extern short cnc_rdsetinfo(ushort FlibHndl,
short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETIF c);
/* read informations of CNC diagnose data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiaginfo")]
internal static extern short cnc_rddiaginfo(ushort FlibHndl,
short a, ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGIF c);
/* read maximum, minimum and total number of CNC parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdparanum")]
internal static extern short cnc_rdparanum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPARANUM a);
/* read maximum, minimum and total number of CNC setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetnum")]
internal static extern short cnc_rdsetnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSETNUM a);
/* read maximum, minimum and total number of CNC diagnose data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddiagnum")]
internal static extern short cnc_rddiagnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDIAGNUM a);
/* get maximum valid figures and number of decimal places */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfigure")]
internal static extern short cnc_getfigure(ushort FlibHndl,
short a, out short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
/* read F-ROM information on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfrominfo")]
internal static extern short cnc_rdfrominfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFO b);
/* start of reading F-ROM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsvstart")]
internal static extern short cnc_fromsvstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c);
/* read F-ROM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsave")]
internal static extern short cnc_fromsave(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* end of reading F-ROM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromsvend")]
internal static extern short cnc_fromsvend(ushort FlibHndl);
/* start of writing F-ROM data to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromldstart")]
internal static extern short cnc_fromldstart(ushort FlibHndl, short a, int b);
/* write F-ROM data to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromload")]
internal static extern short cnc_fromload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b);
/* end of writing F-ROM data to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromldend")]
internal static extern short cnc_fromldend(ushort FlibHndl);
/* delete F-ROM data on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromdelete")]
internal static extern short cnc_fromdelete(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, int c);
/* read S-RAM information on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsraminfo")]
internal static extern short cnc_rdsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a);
/* start of reading S-RAM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambkstart")]
internal static extern short cnc_srambkstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b);
/* read S-RAM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambackup")]
internal static extern short cnc_srambackup(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* end of reading S-RAM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srambkend")]
internal static extern short cnc_srambkend(ushort FlibHndl);
/* read F-ROM information on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfrominfo")]
internal static extern short cnc_getfrominfo(ushort FlibHndl,
short a, out short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFINFORM c);
/* start of reading F-ROM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromgetstart")]
internal static extern short cnc_fromgetstart(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read F-ROM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromget")]
internal static extern short cnc_fromget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* end of reading F-ROM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromgetend")]
internal static extern short cnc_fromgetend(ushort FlibHndl);
/* start of writing F-ROM data to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromputstart")]
internal static extern short cnc_fromputstart(ushort FlibHndl, short a);
/* write F-ROM data to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromput")]
internal static extern short cnc_fromput(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref int b);
/* end of writing F-ROM data to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromputend")]
internal static extern short cnc_fromputend(ushort FlibHndl);
/* delete F-ROM data on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_fromremove")]
internal static extern short cnc_fromremove(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read S-RAM information on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getsraminfo")]
internal static extern short cnc_getsraminfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSINFO a);
/* start of reading S-RAM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetstart")]
internal static extern short cnc_sramgetstart(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* start of reading S-RAM data from CNC (2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetstart2")]
internal static extern short cnc_sramgetstart2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read S-RAM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramget")]
internal static extern short cnc_sramget(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* read S-RAM data from CNC (2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramget2")]
internal static extern short cnc_sramget2(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* end of reading S-RAM data from CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetend")]
internal static extern short cnc_sramgetend(ushort FlibHndl);
/* end of reading S-RAM data from CNC (2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sramgetend2")]
internal static extern short cnc_sramgetend2(ushort FlibHndl);
/* read number of S-RAM data kind on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsramnum")]
internal static extern short cnc_rdsramnum(ushort FlibHndl, out short a);
/* read S-RAM data address information on CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsramaddr")]
internal static extern short cnc_rdsramaddr(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.LPStruct)] SRAMADDR b);
/* get current NC data protection information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getlockstat")]
internal static extern short cnc_getlockstat(ushort FlibHndl, short a, out byte b);
/* change NC data protection status */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chgprotbit")]
internal static extern short cnc_chgprotbit(ushort FlibHndl, short a, ref byte b, int c);
/* transfer a file from host computer to CNC by FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpget")]
internal static extern short cnc_dtsvftpget(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* transfer a file from CNC to host computer by FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpput")]
internal static extern short cnc_dtsvftpput(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* get transfer status for FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvftpstat")]
internal static extern short cnc_dtsvftpstat(ushort FlibHndl);
/* read file directory in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdpgdir")]
internal static extern short cnc_dtsvrdpgdir(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSDIR c);
/* delete files in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvdelete")]
internal static extern short cnc_dtsvdelete(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* down load from CNC (transfer a file from CNC to MMC) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvdownload")]
internal static extern short cnc_dtsvdownload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* up load to CNC (transfer a file from MMC to CNC) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvupload")]
internal static extern short cnc_dtsvupload(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* close upload/download between Data Server and CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvcnclupdn")]
internal static extern short cnc_dtsvcnclupdn(ushort FlibHndl);
/* get transfer status for up/down load */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvupdnstat")]
internal static extern short cnc_dtsvupdnstat(ushort FlibHndl);
/* get file name for DNC operation in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvgetdncpg")]
internal static extern short cnc_dtsvgetdncpg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* set program number of DNC oparation to CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsetdncpg")]
internal static extern short cnc_dtsvsetdncpg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read setting data for Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdset")]
internal static extern short cnc_dtsvrdset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a);
/* write setting data for Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvwrset")]
internal static extern short cnc_dtsvwrset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDSSET a);
/* check hard disk in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvchkdsk")]
internal static extern short cnc_dtsvchkdsk(ushort FlibHndl);
/* format hard disk in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvhdformat")]
internal static extern short cnc_dtsvhdformat(ushort FlibHndl);
/* save interface area in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsavecram")]
internal static extern short cnc_dtsvsavecram(ushort FlibHndl);
/* get interface area in Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdcram")]
internal static extern short cnc_dtsvrdcram(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* read maintenance information for Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvmntinfo")]
internal static extern short cnc_dtsvmntinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDSMNT a);
/* get Data Server mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvgetmode")]
internal static extern short cnc_dtsvgetmode(ushort FlibHndl, out short a);
/* set Data Server mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvsetmode")]
internal static extern short cnc_dtsvsetmode(ushort FlibHndl, short a);
/* read error message for Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrderrmsg")]
internal static extern short cnc_dtsvrderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* transfar file from Pc to Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvwrfile")]
internal static extern short cnc_dtsvwrfile(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c);
/* transfar file from Data Server to Pc */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dtsvrdfile")]
internal static extern short cnc_dtsvrdfile(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, short c);
/* read the loop gain for each axis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdloopgain")]
internal static extern short cnc_rdloopgain(ushort FlibHndl, out int a);
/* read the actual current for each axis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcurrent")]
internal static extern short cnc_rdcurrent(ushort FlibHndl, out short a);
/* read the actual speed for each axis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsrvspeed")]
internal static extern short cnc_rdsrvspeed(ushort FlibHndl, out int a);
/* read the operation mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdopmode")]
internal static extern short cnc_rdopmode(ushort FlibHndl, out short a);
/* read the position deviation S */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrs")]
internal static extern short cnc_rdposerrs(ushort FlibHndl, out int a);
/* read the position deviation S1 and S2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrs2")]
internal static extern short cnc_rdposerrs2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPSER a);
/* read the position deviation Z in the rigid tap mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposerrz")]
internal static extern short cnc_rdposerrz(ushort FlibHndl, out int a);
/* read the synchronous error in the synchronous control mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsynerrsy")]
internal static extern short cnc_rdsynerrsy(ushort FlibHndl, out int a);
/* read the synchronous error in the rigid tap mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsynerrrg")]
internal static extern short cnc_rdsynerrrg(ushort FlibHndl, out int a);
/* read the spindle alarm */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspdlalm")]
internal static extern short cnc_rdspdlalm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read the control input signal */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdctrldi")]
internal static extern short cnc_rdctrldi(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDI a);
/* read the control output signal */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdctrldo")]
internal static extern short cnc_rdctrldo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDO a);
/* read the number of controled spindle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnspdl")]
internal static extern short cnc_rdnspdl(ushort FlibHndl, out short a);
/* read data from FANUC BUS */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfbusmem")]
internal static extern short cnc_rdfbusmem(ushort FlibHndl,
short a, short b, int c, int d, [Out, MarshalAs(UnmanagedType.AsAny)] Object e);
/* write data to FANUC BUS */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrfbusmem")]
internal static extern short cnc_wrfbusmem(ushort FlibHndl,
short a, short b, int c, int d, [In, MarshalAs(UnmanagedType.AsAny)] Object e);
/* read the parameter of wave diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwaveprm")]
internal static extern short cnc_rdwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a);
/* write the parameter of wave diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwaveprm")]
internal static extern short cnc_wrwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWAVE a);
/* read the parameter of wave diagnosis 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwaveprm2")]
internal static extern short cnc_rdwaveprm2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a);
/* write the parameter of wave diagnosis 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwaveprm2")]
internal static extern short cnc_wrwaveprm2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWVPRM a);
/* start the sampling for wave diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestart")]
internal static extern short cnc_wavestart(ushort FlibHndl);
/* stop the sampling for wave diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestop")]
internal static extern short cnc_wavestop(ushort FlibHndl);
/* read the status of wave diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wavestat")]
internal static extern short cnc_wavestat(ushort FlibHndl, out short a);
/* read the data of wave diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwavedata")]
internal static extern short cnc_rdwavedata(ushort FlibHndl,
short a, short b, int c, ref int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBWVDT e);
/* read the parameter of wave diagnosis for remort diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtwaveprm")]
internal static extern short cnc_rdrmtwaveprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a, short b);
/* write the parameter of wave diagnosis for remort diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrmtwaveprm")]
internal static extern short cnc_wrrmtwaveprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBRMTPRM a);
/* start the sampling for wave diagnosis for remort diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestart")]
internal static extern short cnc_rmtwavestart(ushort FlibHndl);
/* stop the sampling for wave diagnosis for remort diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestop")]
internal static extern short cnc_rmtwavestop(ushort FlibHndl);
/* read the status of wave diagnosis for remort diagnosis*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rmtwavestat")]
internal static extern short cnc_rmtwavestat(ushort FlibHndl, out short a);
/* read the data of wave diagnosis for remort diagnosis */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtwavedt")]
internal static extern short cnc_rdrmtwavedt(ushort FlibHndl,
short a, int b, ref int c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRMTDT d);
/* read of address for PMC signal batch save */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsavsigadr")]
internal static extern short cnc_rdsavsigadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, short b);
/* write of address for PMC signal batch save */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsavsigadr")]
internal static extern short cnc_wrsavsigadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSIGAD a, out short b);
/* read of data for PMC signal batch save */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsavsigdata")]
internal static extern short cnc_rdsavsigdata(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c, ref short d);
/* read M-code group data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmgrpdata")]
internal static extern short cnc_rdmgrpdata(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMGRP c);
/* write M-code group data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmgrpdata")]
internal static extern short cnc_wrmgrpdata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IDBMGRP a);
/* read executing M-code group data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdexecmcode")]
internal static extern short cnc_rdexecmcode(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXEM c);
/* read program restart M-code group data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrstrmcode")]
internal static extern short cnc_rdrstrmcode(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBRSTRM c);
/* read processing time stamp data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdproctime")]
internal static extern short cnc_rdproctime(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTIME a);
/* read MDI program stat */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdiprgstat")]
internal static extern short cnc_rdmdiprgstat(ushort FlibHndl, out ushort a);
/* read program directory for processing time data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprgdirtime")]
internal static extern short cnc_rdprgdirtime(ushort FlibHndl,
ref int a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIRTM c);
/* read program directory 2 */
#if (!ONO8D)
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir2")]
internal static extern short cnc_rdprogdir2(ushort FlibHndl,
short a, ref short b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d);
#else
[DllImport(FOCAS_LIB_NAME, EntryPoint="cnc_rdprogdir2o8")]
internal static extern short cnc_rdprogdir2( ushort FlibHndl,
short a, ref short b, ref short c, [Out,MarshalAs(UnmanagedType.LPStruct)] PRGDIR2 d );
#endif
/* read program directory 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir3")]
internal static extern short cnc_rdprogdir3(ushort FlibHndl,
short a, ref int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR3 d);
/* read program directory 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdprogdir4")]
internal static extern short cnc_rdprogdir4(ushort FlibHndl,
short a, int b, ref short c, [Out, MarshalAs(UnmanagedType.LPStruct)] PRGDIR4 d);
/* read DNC file name for DNC1, DNC2, OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddncfname")]
internal static extern short cnc_rddncfname(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* write DNC file name for DNC1, DNC2, OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrdncfname")]
internal static extern short cnc_wrdncfname(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read communication parameter for DNC1, DNC2, OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomparam")]
internal static extern short cnc_rdcomparam(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a);
/* write communication parameter for DNC1, DNC2, OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcomparam")]
internal static extern short cnc_wrcomparam(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBCPRM a);
/* read log message for DNC2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomlogmsg")]
internal static extern short cnc_rdcomlogmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read operator message for DNC1, DNC2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcomopemsg")]
internal static extern short cnc_rdcomopemsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read recieve message for OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrcvmsg")]
internal static extern short cnc_rdrcvmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read send message for OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsndmsg")]
internal static extern short cnc_rdsndmsg(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* send message for OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sendmessage")]
internal static extern short cnc_sendmessage(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* clear message buffer for OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrmsgbuff")]
internal static extern short cnc_clrmsgbuff(ushort FlibHndl, short a);
/* read message recieve status for OSI-Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrcvstat")]
internal static extern short cnc_rdrcvstat(ushort FlibHndl, out ushort a);
/* read interference check */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdintchk")]
internal static extern short cnc_rdintchk(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINT e);
/* write interference check */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrintchk")]
internal static extern short cnc_wrintchk(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINT b);
/* read interference check information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdintinfo")]
internal static extern short cnc_rdintinfo(ushort FlibHndl, out short a);
/* read work coordinate shift */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwkcdshft")]
internal static extern short cnc_rdwkcdshft(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c);
/* write work coordinate shift */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwkcdshft")]
internal static extern short cnc_wrwkcdshft(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b);
/* read work coordinate shift measure */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdwkcdsfms")]
internal static extern short cnc_rdwkcdsfms(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF c);
/* write work coordinate shift measure */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrwkcdsfms")]
internal static extern short cnc_wrwkcdsfms(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBWCSF b);
/* stop the sampling for operator message history */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopomhis")]
internal static extern short cnc_stopomhis(ushort FlibHndl);
/* start the sampling for operator message history */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startomhis")]
internal static extern short cnc_startomhis(ushort FlibHndl);
/* read operator message history information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhisinfo")]
internal static extern short cnc_rdomhisinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMIF a);
/* read operator message history */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhistry")]
internal static extern short cnc_rdomhistry(ushort FlibHndl,
ushort a, ref ushort b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS c);
/* read operater message history data F30i */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdomhistry2")]
internal static extern short cnc_rdomhistry2(ushort FlibHndl,
ushort a, ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBOMHIS2 d);
/* write external key operation history for F30i*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrkeyhistry")]
internal static extern short cnc_wrkeyhistry(ushort FlibHndl, byte a);
/* clear operator message history */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clearomhis")]
internal static extern short cnc_clearomhis(ushort FlibHndl);
/* read b-axis tool offset value(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbtofsr")]
internal static extern short cnc_rdbtofsr(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBTO e);
/* write b-axis tool offset value(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrbtofsr")]
internal static extern short cnc_wrbtofsr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBTO b);
/* read b-axis tool offset information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbtofsinfo")]
internal static extern short cnc_rdbtofsinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBTLINF a);
/* read b-axis command */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbaxis")]
internal static extern short cnc_rdbaxis(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBAXIS a);
/* read CNC system soft series and version */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft")]
internal static extern short cnc_rdsyssoft(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS a);
/* read CNC system soft series and version (2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft2")]
internal static extern short cnc_rdsyssoft2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS2 a);
/* read CNC module configuration information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdlconfig")]
internal static extern short cnc_rdmdlconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMDLC a);
/* read CNC module configuration information 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmdlconfig2")]
internal static extern short cnc_rdmdlconfig2(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read processing condition file (processing data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdproc")]
internal static extern short cnc_rdpscdproc(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c);
/* write processing condition file (processing data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdproc")]
internal static extern short cnc_wrpscdproc(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPSCD c);
/* read processing condition file (piercing data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdpirc")]
internal static extern short cnc_rdpscdpirc(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c);
/* write processing condition file (piercing data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdpirc")]
internal static extern short cnc_wrpscdpirc(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPIRC c);
/* read processing condition file (edging data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdedge")]
internal static extern short cnc_rdpscdedge(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c);
/* write processing condition file (edging data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdedge")]
internal static extern short cnc_wrpscdedge(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBEDGE c);
/* read processing condition file (slope data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpscdslop")]
internal static extern short cnc_rdpscdslop(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c);
/* write processing condition file (slope data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpscdslop")]
internal static extern short cnc_wrpscdslop(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLOP c);
/* read power controll duty data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrdty")]
internal static extern short cnc_rdlpwrdty(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a);
/* write power controll duty data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrdty")]
internal static extern short cnc_wrlpwrdty(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPWDT a);
/* read laser power data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrdat")]
internal static extern short cnc_rdlpwrdat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOPDT a);
/* read power complement */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrcpst")]
internal static extern short cnc_rdlpwrcpst(ushort FlibHndl, out short a);
/* write power complement */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrcpst")]
internal static extern short cnc_wrlpwrcpst(ushort FlibHndl, short a);
/* read laser assist gas selection */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlagslt")]
internal static extern short cnc_rdlagslt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a);
/* write laser assist gas selection */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlagslt")]
internal static extern short cnc_wrlagslt(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGSL a);
/* read laser assist gas flow */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlagst")]
internal static extern short cnc_rdlagst(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a);
/* write laser assist gas flow */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlagst")]
internal static extern short cnc_wrlagst(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLAGST a);
/* read laser power for edge processing */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdledgprc")]
internal static extern short cnc_rdledgprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a);
/* write laser power for edge processing */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrledgprc")]
internal static extern short cnc_wrledgprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLEGPR a);
/* read laser power for piercing */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlprcprc")]
internal static extern short cnc_rdlprcprc(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a);
/* write laser power for piercing */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlprcprc")]
internal static extern short cnc_wrlprcprc(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBLPCPR a);
/* read laser command data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlcmddat")]
internal static extern short cnc_rdlcmddat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMDT a);
/* read displacement */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdldsplc")]
internal static extern short cnc_rdldsplc(ushort FlibHndl, out short a);
/* write displacement */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrldsplc")]
internal static extern short cnc_wrldsplc(ushort FlibHndl, short a);
/* read error for axis z */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlerrz")]
internal static extern short cnc_rdlerrz(ushort FlibHndl, out short a);
/* read active number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlactnum")]
internal static extern short cnc_rdlactnum(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLACTN a);
/* read laser comment */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlcmmt")]
internal static extern short cnc_rdlcmmt(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLCMMT a);
/* read laser power select */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrslt")]
internal static extern short cnc_rdlpwrslt(ushort FlibHndl, out short a);
/* write laser power select */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrslt")]
internal static extern short cnc_wrlpwrslt(ushort FlibHndl, short a);
/* read laser power controll */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlpwrctrl")]
internal static extern short cnc_rdlpwrctrl(ushort FlibHndl, out short a);
/* write laser power controll */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrlpwrctrl")]
internal static extern short cnc_wrlpwrctrl(ushort FlibHndl, short a);
/* read power correction factor history data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpwofsthis")]
internal static extern short cnc_rdpwofsthis(ushort FlibHndl,
int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPWOFST c);
/* read management time */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmngtime")]
internal static extern short cnc_rdmngtime(ushort FlibHndl,
int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME c);
/* write management time */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmngtime")]
internal static extern short cnc_wrmngtime(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMNGTIME b);
/* read data related to electrical discharge at power correction ends */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddischarge")]
internal static extern short cnc_rddischarge(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRG a);
/* read alarm history data related to electrical discharg */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddischrgalm")]
internal static extern short cnc_rddischrgalm(ushort FlibHndl,
int a, ref int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBDISCHRGALM c);
/* get date and time from cnc */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_gettimer")]
internal static extern short cnc_gettimer(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a);
/* set date and time for cnc */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_settimer")]
internal static extern short cnc_settimer(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIMER a);
/* read timer data from cnc */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtimer")]
internal static extern short cnc_rdtimer(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b);
/* write timer data for cnc */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtimer")]
internal static extern short cnc_wrtimer(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTIME b);
/* read tool controll data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtlctldata")]
internal static extern short cnc_rdtlctldata(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a);
/* write tool controll data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtlctldata")]
internal static extern short cnc_wrtlctldata(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLCTL a);
/* read tool data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtooldata")]
internal static extern short cnc_rdtooldata(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c);
/* read tool data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtooldata")]
internal static extern short cnc_wrtooldata(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLDT c);
/* read multi tool data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmultitldt")]
internal static extern short cnc_rdmultitldt(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c);
/* write multi tool data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmultitldt")]
internal static extern short cnc_wrmultitldt(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMLTTL c);
/* read multi tap data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmtapdata")]
internal static extern short cnc_rdmtapdata(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c);
/* write multi tap data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmtapdata")]
internal static extern short cnc_wrmtapdata(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBMTAP c);
/* read multi-piece machining number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmultipieceno")]
internal static extern short cnc_rdmultipieceno(ushort FlibHndl, out int a);
/* read tool information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolinfo")]
internal static extern short cnc_rdtoolinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPTLINF a);
/* read safetyzone data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsafetyzone")]
internal static extern short cnc_rdsafetyzone(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c);
/* write safetyzone data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsafetyzone")]
internal static extern short cnc_wrsafetyzone(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSAFE c);
/* read toolzone data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdtoolzone")]
internal static extern short cnc_rdtoolzone(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c);
/* write toolzone data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrtoolzone")]
internal static extern short cnc_wrtoolzone(ushort FlibHndl,
short a, ref short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBTLZN c);
/* read active toolzone data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdacttlzone")]
internal static extern short cnc_rdacttlzone(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBACTTLZN a);
/* read setzone number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsetzone")]
internal static extern short cnc_rdsetzone(ushort FlibHndl, out short a);
/* write setzone number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrsetzone")]
internal static extern short cnc_wrsetzone(ushort FlibHndl, short a);
/* read block restart information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdbrstrinfo")]
internal static extern short cnc_rdbrstrinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBBRS a);
/* read menu switch signal */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmenuswitch")]
internal static extern short cnc_rdmenuswitch(ushort FlibHndl, out short a);
/* write menu switch signal */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrmenuswitch")]
internal static extern short cnc_wrmenuswitch(ushort FlibHndl, short a, short b);
/* read tool radius offset for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdradofs")]
internal static extern short cnc_rdradofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROFS a);
/* read tool length offset for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdlenofs")]
internal static extern short cnc_rdlenofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBLOFS a);
/* read fixed cycle for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfixcycle")]
internal static extern short cnc_rdfixcycle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBFIX a);
/* read coordinate rotate for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcdrotate")]
internal static extern short cnc_rdcdrotate(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBROT a);
/* read 3D coordinate convert for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dcdcnv")]
internal static extern short cnc_rd3dcdcnv(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DCD a);
/* read programable mirror image for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdmirimage")]
internal static extern short cnc_rdmirimage(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBMIR a);
/* read scaling for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdscaling")]
internal static extern short cnc_rdscaling(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSCL a);
/* read 3D tool offset for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dtofs")]
internal static extern short cnc_rd3dtofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DTO a);
/* read tool position offset for position data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdposofs")]
internal static extern short cnc_rdposofs(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPOFS a);
/* read hpcc setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpccset")]
internal static extern short cnc_rdhpccset(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a);
/* write hpcc setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpccset")]
internal static extern short cnc_wrhpccset(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPST a);
/* hpcc data auto setting data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccatset")]
internal static extern short cnc_hpccatset(ushort FlibHndl);
/* read hpcc tuning data ( parameter input ) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpcctupr")]
internal static extern short cnc_rdhpcctupr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a);
/* write hpcc tuning data ( parameter input ) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpcctupr")]
internal static extern short cnc_wrhpcctupr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPPR a);
/* read hpcc tuning data ( acc input ) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdhpcctuac")]
internal static extern short cnc_rdhpcctuac(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a);
/* write hpcc tuning data ( acc input ) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrhpcctuac")]
internal static extern short cnc_wrhpcctuac(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBHPAC a);
/* hpcc data auto tuning */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccattune")]
internal static extern short cnc_hpccattune(ushort FlibHndl, short a, out short b);
/* read hpcc fine level */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccactfine")]
internal static extern short cnc_hpccactfine(ushort FlibHndl, out short a);
/* select hpcc fine level */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_hpccselfine")]
internal static extern short cnc_hpccselfine(ushort FlibHndl, short a);
/* read active fixture offset */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdactfixofs")]
internal static extern short cnc_rdactfixofs(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b);
/* read fixture offset */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdfixofs")]
internal static extern short cnc_rdfixofs(ushort FlibHndl,
short a, short b, short c, short d, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBZOR e);
/* write fixture offset */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrfixofs")]
internal static extern short cnc_wrfixofs(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOR b);
/* read tip of tool for 3D handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dtooltip")]
internal static extern short cnc_rd3dtooltip(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a);
/* read pulse for 3D handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dpulse")]
internal static extern short cnc_rd3dpulse(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DPLS a);
/* read move overrlap of tool for 3D handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dmovrlap")]
internal static extern short cnc_rd3dmovrlap(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODB3DHDL a);
/* read change offset for 3D handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rd3dofschg")]
internal static extern short cnc_rd3dofschg(ushort FlibHndl, ref int a);
/* clear pulse and change offset for 3D handle */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clr3dplsmov")]
internal static extern short cnc_clr3dplsmov(ushort FlibHndl, short a);
/* cycle start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_start")]
internal static extern short cnc_start(ushort FlibHndl);
/* reset CNC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_reset")]
internal static extern short cnc_reset(ushort FlibHndl);
/* reset CNC 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_reset2")]
internal static extern short cnc_reset2(ushort FlibHndl);
/* read axis name */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdaxisname")]
internal static extern short cnc_rdaxisname(ushort FlibHndl,
ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXISNAME b);
/* read spindle name */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdspdlname")]
internal static extern short cnc_rdspdlname(ushort FlibHndl,
ref short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSPDLNAME b);
/* read extended axis name */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_exaxisname")]
internal static extern short cnc_exaxisname(ushort FlibHndl,
short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBEXAXISNAME c);
/* read SRAM variable area for C language executor */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcexesram")]
internal static extern short cnc_rdcexesram(ushort FlibHndl, int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* write SRAM variable area for C language executor */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcexesram")]
internal static extern short cnc_wrcexesram(ushort FlibHndl, int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ref int c);
/* read maximum size and linear address of SRAM variable area for C language executor */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexesraminfo")]
internal static extern short cnc_cexesraminfo(ushort FlibHndl, out short a, out int b, out int c);
/* read maximum size of SRAM variable area for C language executor */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexesramsize")]
internal static extern short cnc_cexesramsize(ushort FlibHndl, out int a);
/* read additional workpiece coordinate systems number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcoordnum")]
internal static extern short cnc_rdcoordnum(ushort FlibHndl, out short a);
/* converts from FANUC code to Shift JIS code */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_ftosjis")]
internal static extern short cnc_ftosjis(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* Set the unsolicited message parameters */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrunsolicprm")]
internal static extern short cnc_wrunsolicprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b);
/* Get the unsolicited message parameters */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicprm")]
internal static extern short cnc_rdunsolicprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC b);
/* Set the unsolicited message parameters(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrunsolicprm2")]
internal static extern short cnc_wrunsolicprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC2 b);
/* Get the unsolicited message parameters(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicprm2")]
internal static extern short cnc_rdunsolicprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBUNSOLIC2 b);
/* Start of unsolicited message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_unsolicstart")]
internal static extern short cnc_unsolicstart(ushort FlibHndl, short a, int hWnd, uint c, short d, out short e);
/* End of unsolicited message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_unsolicstop")]
internal static extern short cnc_unsolicstop(ushort FlibHndl, short a);
/* Reads the unsolicited message data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicmsg")]
internal static extern short cnc_rdunsolicmsg(short a, [In, Out] IDBUNSOLICMSG b);
/* Reads the unsolicited message data(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdunsolicmsg2")]
internal static extern short cnc_rdunsolicmsg2(short a, [In, Out] IDBUNSOLICMSG2 b);
/* read machine specific maintenance item */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_mcnitem")]
internal static extern short cnc_rdpm_mcnitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c);
/* write machine specific maintenance item */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpm_mcnitem")]
internal static extern short cnc_wrpm_mcnitem(ushort FlibHndl, short a, short b, [In, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c);
/* read cnc maintenance item */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_cncitem")]
internal static extern short cnc_rdpm_cncitem(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBITEM c);
/* read maintenance item status */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdpm_item")]
internal static extern short cnc_rdpm_item(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE c);
/* write maintenance item status */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrpm_item")]
internal static extern short cnc_wrpm_item(ushort FlibHndl, short a, short b, short c, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMAINTE d);
/* Display of optional message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_dispoptmsg")]
internal static extern short cnc_dispoptmsg(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* Reading of answer for optional message display */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_optmsgans")]
internal static extern short cnc_optmsgans(ushort FlibHndl, out short a);
/* Get CNC Model */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcncmodel")]
internal static extern short cnc_getcncmodel(ushort FlibHndl, out short a);
/* read number of repeats */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrepeatval")]
internal static extern short cnc_rdrepeatval(ushort FlibHndl, out int a);
/* read CNC system hard info */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyshard")]
internal static extern short cnc_rdsyshard(ushort FlibHndl, short a, ref short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSH c);
/* read CNC system soft series and version (3) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdsyssoft3")]
internal static extern short cnc_rdsyssoft3(ushort FlibHndl, short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSS3 d);
/* read digit of program number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_progdigit")]
internal static extern short cnc_progdigit(ushort FlibHndl, out short a);
/* read CNC system path information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sysinfo_ex")]
internal static extern short cnc_sysinfo_ex(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSYSEX a);
/*------------------*/
/* CNC : SERCOS I/F */
/*------------------*/
/* Get reservation of service channel for SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrsvchnl")]
internal static extern short cnc_srcsrsvchnl(ushort FlibHndl);
/* Read ID information of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdidinfo")]
internal static extern short cnc_srcsrdidinfo(ushort FlibHndl,
int a, short b, short c, [Out, MarshalAs(UnmanagedType.AsAny)] IODBIDINF d);
/* Write ID information of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcswridinfo")]
internal static extern short cnc_srcswridinfo(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBIDINF a);
/* Start of reading operation data from drive of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstartrd")]
internal static extern short cnc_srcsstartrd(ushort FlibHndl, int a, short b);
/* Start of writing operation data to drive of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstartwrt")]
internal static extern short cnc_srcsstartwrt(ushort FlibHndl, int a, short b);
/* Stop of reading/writing operation data from/to drive of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsstopexec")]
internal static extern short cnc_srcsstopexec(ushort FlibHndl);
/* Get execution status of reading/writing operation data of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdexstat")]
internal static extern short cnc_srcsrdexstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSST a);
/* Read operation data from data buffer for SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdopdata")]
internal static extern short cnc_srcsrdopdata(ushort FlibHndl, int a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* Write operation data to data buffer for SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcswropdata")]
internal static extern short cnc_srcswropdata(ushort FlibHndl, int a, int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
/* Free reservation of service channel for SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsfreechnl")]
internal static extern short cnc_srcsfreechnl(ushort FlibHndl);
/* Read drive assign of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrdlayout")]
internal static extern short cnc_srcsrdlayout(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSRCSLYT a);
/* Read communication phase of drive of SERCOS I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_srcsrddrvcp")]
internal static extern short cnc_srcsrddrvcp(ushort FlibHndl, out short a);
/*----------------------------*/
/* CNC : Graphic command data */
/*----------------------------*/
/* Start drawing position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startdrawpos")]
internal static extern short cnc_startdrawpos(ushort FlibHndl);
/* Stop drawing position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopdrawpos")]
internal static extern short cnc_stopdrawpos(ushort FlibHndl);
/* Start dynamic graphic */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startdyngrph")]
internal static extern short cnc_startdyngrph(ushort FlibHndl);
/* Stop dynamic graphic */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopdyngrph")]
internal static extern short cnc_stopdyngrph(ushort FlibHndl);
/* Read graphic command data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrphcmd")]
internal static extern short cnc_rdgrphcmd(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* Update graphic command read pointer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrgrphcmdptr")]
internal static extern short cnc_wrgrphcmdptr(ushort FlibHndl, short a);
/* Read cancel flag */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdgrphcanflg")]
internal static extern short cnc_rdgrphcanflg(ushort FlibHndl, out short a);
/* Clear graphic command */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrgrphcmd")]
internal static extern short cnc_clrgrphcmd(ushort FlibHndl);
/*---------------------------*/
/* CNC : Servo learning data */
/*---------------------------*/
/* Servo learning data read start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstartrd")]
internal static extern short cnc_svdtstartrd(ushort FlibHndl, short a);
/* Servo learning data write start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstartwr")]
internal static extern short cnc_svdtstartwr(ushort FlibHndl, short a);
/* Servo learning data read end */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtendrd")]
internal static extern short cnc_svdtendrd(ushort FlibHndl);
/* Servo learning data write end */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtendwr")]
internal static extern short cnc_svdtendwr(ushort FlibHndl);
/* Servo learning data read/write stop */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtstopexec")]
internal static extern short cnc_svdtstopexec(ushort FlibHndl);
/* Servo learning data read from I/F buffer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtrddata")]
internal static extern short cnc_svdtrddata(ushort FlibHndl,
out short a, ref int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* Servo learning data write to I/F buffer */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_svdtwrdata")]
internal static extern short cnc_svdtwrdata(ushort FlibHndl,
out short a, ref int b, [In, MarshalAs(UnmanagedType.AsAny)] Object c);
/*----------------------------*/
/* CNC : Servo Guide */
/*----------------------------*/
/* Servo Guide (Channel data set) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdsetchnl")]
internal static extern short cnc_sdsetchnl(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IDBCHAN b);
/* Servo Guide (Channel data clear) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdclrchnl")]
internal static extern short cnc_sdclrchnl(ushort FlibHndl);
/* Servo Guide (Sampling start) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdstartsmpl")]
internal static extern short cnc_sdstartsmpl(ushort FlibHndl, short a, int b, [Out, MarshalAs(UnmanagedType.AsAny)] Object c);
/* Servo Guide (Sampling cancel) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdcancelsmpl")]
internal static extern short cnc_sdcancelsmpl(ushort FlibHndl);
/* Servo Guide (read Sampling data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdreadsmpl")]
internal static extern short cnc_sdreadsmpl(ushort FlibHndl,
out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c);
/* Servo Guide (Sampling end) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdendsmpl")]
internal static extern short cnc_sdendsmpl(ushort FlibHndl);
/* Servo Guide (read 1 shot data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sdread1shot")]
internal static extern short cnc_sdread1shot(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* Servo feedback data (Channel data set) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbsetchnl")]
internal static extern short cnc_sfbsetchnl(ushort FlibHndl,
short a, int b, [In, MarshalAs(UnmanagedType.LPStruct)] IDBSFBCHAN c);
/* Servo feedback data (Channel data clear) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbclrchnl")]
internal static extern short cnc_sfbclrchnl(ushort FlibHndl);
/* Servo feedback data (Sampling start) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbstartsmpl")]
internal static extern short cnc_sfbstartsmpl(ushort FlibHndl, short a, int b);
/* Servo feedback data (Sampling cancel) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbcancelsmpl")]
internal static extern short cnc_sfbcancelsmpl(ushort FlibHndl);
/* Servo feedback data (read Sampling data) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbreadsmpl")]
internal static extern short cnc_sfbreadsmpl(ushort FlibHndl,
out short a, int b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSD c);
/* Servo feedback data (Sampling end) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_sfbendsmpl")]
internal static extern short cnc_sfbendsmpl(ushort FlibHndl);
/*----------------------------*/
/* CNC : NC display function */
/*----------------------------*/
/* Start NC display */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startnccmd")]
internal static extern short cnc_startnccmd(ushort FlibHndl);
/* Start NC display (2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startnccmd2")]
internal static extern short cnc_startnccmd2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* Stop NC display */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopnccmd")]
internal static extern short cnc_stopnccmd(ushort FlibHndl);
/* Get NC display mode */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getdspmode")]
internal static extern short cnc_getdspmode(ushort FlibHndl, out short a);
/*------------------------------------*/
/* CNC : Remote diagnostics function */
/*------------------------------------*/
/* Start remote diagnostics function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startrmtdgn")]
internal static extern short cnc_startrmtdgn(ushort FlibHndl);
/* Stop remote diagnostics function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stoprmtdgn")]
internal static extern short cnc_stoprmtdgn(ushort FlibHndl);
/* Read data from remote diagnostics I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdrmtdgn")]
internal static extern short cnc_rdrmtdgn(ushort FlibHndl, out int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* Write data to remote diagnostics I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrrmtdgn")]
internal static extern short cnc_wrrmtdgn(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* Set CommStatus of remote diagnostics I/F area */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcommstatus")]
internal static extern short cnc_wrcommstatus(ushort FlibHndl, short a);
/* Check remote diagnostics I/F */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chkrmtdgn")]
internal static extern short cnc_chkrmtdgn(ushort FlibHndl);
/*-------------------------*/
/* CNC : FS18-LN function */
/*-------------------------*/
/* read allowance */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allowance")]
internal static extern short cnc_allowance(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/* read allowanced state */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allowcnd")]
internal static extern short cnc_allowcnd(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBCAXIS c);
/* set work zero */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_workzero")]
internal static extern short cnc_workzero(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBZOFS b);
/* set slide position */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_slide")]
internal static extern short cnc_slide(ushort FlibHndl,
short a, short b, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBAXIS c);
/*----------------------------------*/
/* CNC: Teaching data I/F function */
/*----------------------------------*/
/* Teaching data get start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_startgetdgdat")]
internal static extern short cnc_startgetdgdat(ushort FlibHndl);
/* Teaching data get stop */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_stopgetdgdat")]
internal static extern short cnc_stopgetdgdat(ushort FlibHndl);
/* Teaching data read */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rddgdat")]
internal static extern short cnc_rddgdat(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* Teaching data read pointer write */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrdgdatptr")]
internal static extern short cnc_wrdgdatptr(ushort FlibHndl, short a);
/* Teaching data clear */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_clrdgdat")]
internal static extern short cnc_clrdgdat(ushort FlibHndl);
/*---------------------------------*/
/* CNC : C-EXE SRAM file function */
/*---------------------------------*/
/* open C-EXE SRAM file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_opencexefile")]
internal static extern short cnc_opencexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, short b, short c);
/* close C-EXE SRAM file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_closecexefile")]
internal static extern short cnc_closecexefile(ushort FlibHndl);
/* read C-EXE SRAM file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdcexefile")]
internal static extern short cnc_rdcexefile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b);
/* write C-EXE SRAM file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_wrcexefile")]
internal static extern short cnc_wrcexefile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, ref uint b);
/* read C-EXE SRAM disk directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_cexedirectory")]
internal static extern short cnc_cexedirectory(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a, ref ushort b, ushort c, [Out, MarshalAs(UnmanagedType.LPStruct)] CFILEINFO d);
/*-----*/
/* PMC */
/*-----*/
/* read message from PMC to MMC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdmsg")]
internal static extern short pmc_rdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* write message from MMC to PMC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrmsg")]
internal static extern short pmc_wrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read message from PMC to MMC(conditional) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_crdmsg")]
internal static extern short pmc_crdmsg(ushort FlibHndl, ref short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* write message from MMC to PMC(conditional) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_cwrmsg")]
internal static extern short pmc_cwrmsg(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read PMC data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")]
internal static extern short pmc_rdpmcrng(ushort FlibHndl,
short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 f);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")]
internal static extern short pmc_rdpmcrng(ushort FlibHndl,
short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 f);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng")]
internal static extern short pmc_rdpmcrng(ushort FlibHndl,
short a, short b, ushort c, ushort d, ushort e, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 f);
/* write PMC data(area specified) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")]
internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC0 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")]
internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC1 b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcrng")]
internal static extern short pmc_wrpmcrng(ushort FlibHndl, ushort a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMC2 b);
/* read data from extended backup memory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdkpm")]
internal static extern short pmc_rdkpm(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c);
/* write data to extended backup memory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrkpm")]
internal static extern short pmc_wrkpm(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, ushort c);
/* read data from extended backup memory 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdkpm2")]
internal static extern short pmc_rdkpm2(ushort FlibHndl, uint a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b, uint c);
/* write data to extended backup memory 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrkpm2")]
internal static extern short pmc_wrkpm2(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c);
/* read maximum size of extended backup memory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_kpmsiz")]
internal static extern short pmc_kpmsiz(ushort FlibHndl, out uint a);
/* read informations of PMC data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcinfo")]
internal static extern short pmc_rdpmcinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCINF b);
/* read PMC parameter data table contorol data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdcntldata")]
internal static extern short pmc_rdcntldata(ushort FlibHndl,
short a, short b, short c, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL d);
/* write PMC parameter data table contorol data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrcntldata")]
internal static extern short pmc_wrcntldata(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPMCCNTL b);
/* read PMC parameter data table contorol data group number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdcntlgrp")]
internal static extern short pmc_rdcntlgrp(ushort FlibHndl, out short a);
/* write PMC parameter data table contorol data group number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrcntlgrp")]
internal static extern short pmc_wrcntlgrp(ushort FlibHndl, short a);
/* read PMC alarm message */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdalmmsg")]
internal static extern short pmc_rdalmmsg(ushort FlibHndl,
short a, ref short b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCALM d);
/* get detail error for pmc */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_getdtailerr")]
internal static extern short pmc_getdtailerr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCERR a);
/* read PMC memory data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcmem")]
internal static extern short pmc_rdpmcmem(ushort FlibHndl,
short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
/* write PMC memory data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcmem")]
internal static extern short pmc_wrpmcmem(ushort FlibHndl,
short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d);
/* read PMC-SE memory data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcsemem")]
internal static extern short pmc_rdpmcsemem(ushort FlibHndl,
short a, int b, int c, [Out, MarshalAs(UnmanagedType.AsAny)] Object d);
/* write PMC-SE memory data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcsemem")]
internal static extern short pmc_wrpmcsemem(ushort FlibHndl,
short a, int b, int c, [In, MarshalAs(UnmanagedType.AsAny)] Object d);
/* read pmc title data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmctitle")]
internal static extern short pmc_rdpmctitle(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCTITLE a);
/* read PMC parameter start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdprmstart")]
internal static extern short pmc_rdprmstart(ushort FlibHndl);
/* read PMC parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcparam")]
internal static extern short pmc_rdpmcparam(ushort FlibHndl, ref int a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read PMC parameter end */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdprmend")]
internal static extern short pmc_rdprmend(ushort FlibHndl);
/* write PMC parameter start */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrprmstart")]
internal static extern short pmc_wrprmstart(ushort FlibHndl);
/* write PMC parameter */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrpmcparam")]
internal static extern short pmc_wrpmcparam(ushort FlibHndl, ref int a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* write PMC parameter end */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wrprmend")]
internal static extern short pmc_wrprmend(ushort FlibHndl);
/* read PMC data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcrng_ext")]
internal static extern short pmc_rdpmcrng_ext(ushort FlibHndl,
short a, [In, Out, MarshalAs(UnmanagedType.LPStruct)] IODBPMCEXT b);
/* write PMC I/O link assigned data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_wriolinkdat")]
internal static extern short pmc_wriolinkdat(ushort FlibHndl, uint a, [In, MarshalAs(UnmanagedType.AsAny)] Object b, uint c);
/* read PMC address information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_rdpmcaddr")]
internal static extern short pmc_rdpmcaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPMCADR a);
/* select PMC unit */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_select_pmc_unit")]
internal static extern short pmc_select_pmc_unit(ushort FlibHndl, int a);
/* get current PMC unit */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_current_pmc_unit")]
internal static extern short pmc_get_current_pmc_unit(ushort FlibHndl, ref int a);
/* get number of PMC */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_number_of_pmc")]
internal static extern short pmc_get_number_of_pmc(ushort FlibHndl, ref int a);
/* get PMC unit types */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_pmc_unit_types")]
internal static extern short pmc_get_pmc_unit_types(ushort FlibHndl, int[] a, ref int b);
/* set PMC Timer type */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_set_timer_type")]
internal static extern short pmc_set_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c);
/* get PMC Timer type */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_get_timer_type")]
internal static extern short pmc_get_timer_type(ushort FlibHndl, ushort a, ushort b, ref short c);
/*----------------------------*/
/* PMC : PROFIBUS function */
/*----------------------------*/
/* read PROFIBUS configration data */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdconfig")]
internal static extern short pmc_prfrdconfig(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBPRFCNF a);
/* read bus parameter for master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdbusprm")]
internal static extern short pmc_prfrdbusprm(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a);
/* write bus parameter for master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrbusprm")]
internal static extern short pmc_prfwrbusprm(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBBUSPRM a);
/* read slave parameter for master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm")]
internal static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm")]
internal static extern short pmc_prfrdslvprm(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b);
/* write slave parameter for master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm")]
internal static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm")]
internal static extern short pmc_prfwrslvprm(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM2 b);
/* read allocation address for master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdallcadr")]
internal static extern short pmc_prfrdallcadr(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b);
/* set allocation address for master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrallcadr")]
internal static extern short pmc_prfwrallcadr(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBPRFADR b);
/* read allocation address for slave function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvaddr")]
internal static extern short pmc_prfrdslvaddr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a);
/* set allocation address for slave function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvaddr")]
internal static extern short pmc_prfwrslvaddr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVADR a);
/* read status for slave function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvstat")]
internal static extern short pmc_prfrdslvstat(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBSLVST a);
/* Reads slave index data of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvid")]
internal static extern short pmc_prfrdslvid(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b);
/* Writes slave index data of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvid")]
internal static extern short pmc_prfwrslvid(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVID b);
/* Reads slave parameter of master function(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdslvprm2")]
internal static extern short pmc_prfrdslvprm2(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b);
/* Writes slave parameter of master function(2) */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrslvprm2")]
internal static extern short pmc_prfwrslvprm2(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBSLVPRM3 b);
/* Reads DI/DO parameter of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrddido")]
internal static extern short pmc_prfrddido(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b);
/* Writes DI/DO parameter of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrdido")]
internal static extern short pmc_prfwrdido(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.LPStruct)] IODBDIDO b);
/* Reads indication address of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdindiadr")]
internal static extern short pmc_prfrdindiadr(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a);
/* Writes indication address of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwrindiadr")]
internal static extern short pmc_prfwrindiadr(ushort FlibHndl, [In, MarshalAs(UnmanagedType.LPStruct)] IODBINDEADR a);
/* Reads operation mode of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfrdopmode")]
internal static extern short pmc_prfrdopmode(ushort FlibHndl, ref short a);
/* Writes operation mode of master function */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "pmc_prfwropmode")]
internal static extern short pmc_prfwropmode(ushort FlibHndl, short a, ref short b);
/*-----------------------------------------------*/
/* DS : Data server & Ethernet board function */
/*-----------------------------------------------*/
/* read the parameter of the Ethernet board */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")]
internal static extern short etb_rdparam(ushort FlibHndl,
short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")]
internal static extern short etb_rdparam(ushort FlibHndl,
short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")]
internal static extern short etb_rdparam(ushort FlibHndl,
short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP b);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rdparam")]
internal static extern short etb_rdparam(ushort FlibHndl,
short a, [Out, MarshalAs(UnmanagedType.LPStruct)] IODBETP_ETB b);
/* write the parameter of the Ethernet board */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")]
internal static extern short etb_wrparam(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_TCP a);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")]
internal static extern short etb_wrparam(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_HOST a);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_wrparam")]
internal static extern short etb_wrparam(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.LPStruct)] IODBETP_FTP a);
/* read the error message of the Ethernet board */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "etb_rderrmsg")]
internal static extern short etb_rderrmsg(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBETMSG b);
/* read the mode of the Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdmode")]
internal static extern short ds_rdmode(ushort FlibHndl, ref short a);
/* write the mode of the Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrmode")]
internal static extern short ds_wrmode(ushort FlibHndl, short a);
/* read information of the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhddinfo")]
internal static extern short ds_rdhddinfo(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDINF a);
/* read the file list of the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhdddir")]
internal static extern short ds_rdhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHDDDIR d);
/* delete the file of the Data Serve's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhddfile")]
internal static extern short ds_delhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* copy the file of the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_copyhddfile")]
internal static extern short ds_copyhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* change the file name of the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_renhddfile")]
internal static extern short ds_renhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* execute the PUT command of the FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_puthddfile")]
internal static extern short ds_puthddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* execute the MPUT command of the FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_mputhddfile")]
internal static extern short ds_mputhddfile(ushort hLib, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read information of the host */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostinfo")]
internal static extern short ds_rdhostinfo(ushort FlibHndl, out int a, int b);
/* read the file list of the host */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostdir")]
internal static extern short ds_rdhostdir(ushort FlibHndl, short a, int b, out short c, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR d, int e);
/* read the file list of the host 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostdir2")]
internal static extern short ds_rdhostdir2(ushort FlibHndl, short a, int b, out short c, out int d, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBHOSTDIR e, int f);
/* delete the file of the host */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhostfile")]
internal static extern short ds_delhostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, int b);
/* execute the GET command of the FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_gethostfile")]
internal static extern short ds_gethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* execute the MGET command of the FTP */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_mgethostfile")]
internal static extern short ds_mgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read the execution result */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdresult")]
internal static extern short ds_rdresult(ushort FlibHndl);
/* stop the execution of the command */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_cancel")]
internal static extern short ds_cancel(ushort FlibHndl);
/* read the file from the Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdncfile")]
internal static extern short ds_rdncfile(ushort FlibHndl, short a, [In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* read the file from the Data Server 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdncfile2")]
internal static extern short ds_rdncfile2(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* write the file to the Data Server */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrncfile")]
internal static extern short ds_wrncfile(ushort FlibHndl, short a, int b);
/* read the file name for the DNC operation in the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rddnchddfile")]
internal static extern short ds_rddnchddfile(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* write the file name for the DNC operation in the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrdnchddfile")]
internal static extern short ds_wrdnchddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read the file name for the DNC operation in the host */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rddnchostfile")]
internal static extern short ds_rddnchostfile(ushort FlibHndl, out short a, [Out, MarshalAs(UnmanagedType.AsAny)] Object b);
/* write the file name for the DNC operation in the host */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrdnchostfile")]
internal static extern short ds_wrdnchostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read the connecting host number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdhostno")]
internal static extern short ds_rdhostno(ushort FlibHndl, out short a);
/* read maintenance information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdmntinfo")]
internal static extern short ds_rdmntinfo(ushort FlibHndl, short a, [Out, MarshalAs(UnmanagedType.LPStruct)]DSMNTINFO b);
/* check the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_checkhdd")]
internal static extern short ds_checkhdd(ushort FlibHndl);
/* format the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_formathdd")]
internal static extern short ds_formathdd(ushort FlibHndl);
/* create the directory in the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_makehdddir")]
internal static extern short ds_makehdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* delete directory in the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_delhdddir")]
internal static extern short ds_delhdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* change the current directory */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_chghdddir")]
internal static extern short ds_chghdddir(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* execute the PUT command according to the list file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_lputhddfile")]
internal static extern short ds_lputhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* delete files according to the list file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_ldelhddfile")]
internal static extern short ds_ldelhddfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* execute the GET command according to the list file */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_lgethostfile")]
internal static extern short ds_lgethostfile(ushort FlibHndl, [In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read the directory for M198 operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdm198hdddir")]
internal static extern short ds_rdm198hdddir(ushort FlibHndl, [Out, MarshalAs(UnmanagedType.AsAny)] Object a);
/* write the directory for M198 operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrm198hdddir")]
internal static extern short ds_wrm198hdddir(ushort FlibHndl);
/* read the connecting host number for the M198 operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdm198host")]
internal static extern short ds_rdm198host(ushort FlibHndl, out short a);
/* write the connecting host number for the M198 operation */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrm198host")]
internal static extern short ds_wrm198host(ushort FlibHndl);
/* write the connecting host number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrhostno")]
internal static extern short ds_wrhostno(ushort FlibHndl, short a);
/* search string in data server program */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_searchword")]
internal static extern short ds_searchword(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a);
/* read the searching result */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_searchresult")]
internal static extern short ds_searchresult(ushort FlibHndl);
/* read file in the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_rdfile")]
internal static extern short ds_rdfile(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a,
[In, MarshalAs(UnmanagedType.AsAny)] Object b);
/* write file in the Data Server's HDD */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "ds_wrfile")]
internal static extern short ds_wrfile(ushort FlibHndl,
[In, MarshalAs(UnmanagedType.AsAny)] Object a,
[In, MarshalAs(UnmanagedType.AsAny)] Object b);
/*--------------------------*/
/* HSSB multiple connection */
/*--------------------------*/
/* read number of node */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnodenum")]
internal static extern short cnc_rdnodenum(out int a);
/* read node informations */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdnodeinfo")]
internal static extern short cnc_rdnodeinfo(int a, [Out, MarshalAs(UnmanagedType.LPStruct)] ODBNODE b);
/* set default node number */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setdefnode")]
internal static extern short cnc_setdefnode(int a);
/* allocate library handle 2 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl2")]
internal static extern short cnc_allclibhndl2(int node, out ushort FlibHndl);
/*---------------------*/
/* Ethernet connection */
/*---------------------*/
/* allocate library handle 3 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl3")]
internal static extern short cnc_allclibhndl3([In, MarshalAs(UnmanagedType.AsAny)] Object ip,
ushort port, int timeout, out ushort FlibHndl);
/* allocate library handle 4 */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_allclibhndl4")]
internal static extern short cnc_allclibhndl4([In, MarshalAs(UnmanagedType.AsAny)] Object ip,
ushort port, int timeout, uint id, out ushort FlibHndl);
/* set timeout for socket */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_settimeout")]
internal static extern short cnc_settimeout(ushort FlibHndl, int a);
/* reset all socket connection */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_resetconnect")]
internal static extern short cnc_resetconnect(ushort FlibHndl);
/* get option state for FOCAS1/Ethernet */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getfocas1opt")]
internal static extern short cnc_getfocas1opt(ushort FlibHndl, short a, out int b);
/* read Ethernet board information */
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_rdetherinfo")]
internal static extern short cnc_rdetherinfo(ushort FlibHndl, out short a, out short b);
/*--------------------------*/
/* Cursor Screen */
/*--------------------------*/
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_setcurscrn")]
internal static extern short cnc_setcurscrn(ushort FlibHndl, short scrn_no);
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_getcurscrn")]
internal static extern short cnc_getcurscrn(ushort FlibHndl, out short scrn_no);
// funzioni aggiunte al marshalling
[DllImport(FOCAS_LIB_NAME, EntryPoint = "cnc_chglang")]
public static extern short cnc_chglang(ushort FlibHndl, byte b);
internal enum page_code : short
{
//POSITION
ABS = 0x0100,
REL = 0x0200,
ALL = 0x0300,
HNDL = 0x0400,
MONITOR = 0x0600,
AXMAN5 = 0X0700,
C_EXECUTOR_PO = 0X3200,
C_EXECUTOR_2_PO = 0X3300,
C_EXECUTOR_3_PO = 0X3400,
C_EXECUTOR_4_PO = 0X3500,
C_EXECUTOR_5_PO = 0X3600,
//PROGRAM
PROG = 0X0101,
FOLDER = 0X0201,
NEXT = 0X0301,
CHECK = 0X0401,
STAMP = 0X0601,
JOG = 0X0701,
RSTR = 0X0801,
C_EXECUTOR_PR = 0X3201,
C_EXECUTOR_2_PR = 0X3301,
C_EXECUTOR_3_PR = 0X3401,
C_EXECUTOR_4_PR = 0X3501,
C_EXECUTOR_5_PR = 0X3601,
//OFFSET
OFFSET = 0X0102,
SETTING = 0X0202,
WORK = 0X0302,
MACRO = 0X0602,
OPR = 0X0802,
TOOL_MANAGER = 0X0902,
OFST_2 = 0X0B02,
W_SHFT = 0X0C02,
GEOM_2 = 0X0D02,
TOOL_F = 0X0E02,
MODEM = 0X1002,
PR_LEV = 0X1102,
CHOP = 0X1302,
CHUCK_TAIL = 0X1502,
LANG = 0X1602,
PROTECT = 0X1702,
GUARD = 0X1802,
ACTFIX = 0X1A02,
RTTFIX = 0X1B02,
C_EXECUTOR_O = 0X3202,
C_EXECUTOR_2_O = 0X3302,
C_EXECUTOR_3_O = 0X3402,
C_EXECUTOR_4_O = 0X3502,
C_EXECUTOR_5_O = 0X3602,
//SYSTEM
PARAM = 0X0103,
DGNOS = 0X0203,
SERVO_GUIDEM = 0X0303,
SYSTEM = 0X0403,
MEMORY = 0X0603,
PITCH = 0X0703,
SV_PRM = 0X0803,
SP_SET = 0X0903,
PMC_MAINTE = 0X0B03,
PMC_LADDER = 0X0C03,
PMC_CONFIG = 0X0D03,
M_TUN = 0X1003,
ALL_IO = 0X1103,
ALL_IO2 = 0X1203,
OPEHIS = 0X1303,
COLOR = 0X1503,
MAINTE = 0X1603,
M_INFO = 0X1703,
W_DGNS = 0X1803,
TOUCH = 0X1A03,
FSSB = 0X1B03,
PRMTUN = 0X1C03,
PMM = 0X1D03,
EMBED_PORT = 0X1F03,
PCMCIA_LAN = 0X2003,
ETHER_BOARD = 0X2103,
PROFI_MASTER = 0X2203,
RMTDGN = 0X2403,
M_CODE = 0X2503,
LEARNCTRL = 0X2603,
ADJUST3D = 0X2703,
C_EXECUTOR_S = 0X3203,
C_EXECUTOR_2_S = 0X3303,
C_EXECUTOR_3_S = 0X3403,
C_EXECUTOR_4_S = 0X3503,
C_EXECUTOR_5_S = 0X3603,
//MESSAGE
ALARM = 0X0104,
MSG = 0X0204,
HISTRY = 0X0304,
MSGHIS = 0X0404,
EMBED_LOG = 0X0604,
PCMCIA_LOG = 0X0704,
BOARD_LOG = 0X0804,
C_EXECUTOR_M = 0X3204,
C_EXECUTOR_2_M = 0X3304,
C_EXECUTOR_3_M = 0X3404,
C_EXECUTOR_4_M = 0X3504,
C_EXECUTOR_5_M = 0X3604,
//GRAPHIC
PARAMETER = 0X0105,
GRAPH = 0X0205,
C_EXECUTOR_G = 0X3205,
C_EXECUTOR_2_G = 0X3305,
C_EXECUTOR_3_G = 0X3405,
C_EXECUTOR_4_G = 0X3505,
C_EXECUTOR_5_G = 0X3605,
//CUSTOM
TMAC = 0X0006,
TMAC1 = 0X0106,
TMAC2 = 0X0206,
TMAC3 = 0X0306,
C_EXECUTOR_C = 0X3206,
C_EXECUTOR_2_C = 0X3306,
C_EXECUTOR_3_C = 0X3406,
C_EXECUTOR_4_C = 0X3506,
C_EXECUTOR_5_C = 0X3606
};
} // End for Focas1 class