using System;
using System.Collections.Generic;
using System.Text;

namespace SimensCNC
{
    /// <summary>
    /// 数据类型
    /// </summary>
   public  enum DataTypeEnum
    {
        DATATYPE_BOOL=0,//代表bool类型----bit
        DATATYPE_BYTE=1,//代表字节类型----byte
        DATATYPE_SHORT=2,//代表short类型---short
        DATATYPE_USHORT = 3,//代表Ushort类型--ushort
        DATATYPE_INT =4,//代表int类型----int
        DATATYPE_UINT = 5,//代表int类型----uint  
        DATATYPE_LONG = 6,//代表LONG类型---long
        DATATYPE_ULONG = 7,//代表ULONG类型--ulong
        DATATYPE_FLOAT = 8,//代表FLOAT类型---float
        DATATYPE_DOUBLE = 9,//代表DOUBLE类型---double
        DATATYPE_STRING = 10,//代表string类型
        DATATYPE_ERRO =11//错误类型
    }


    /// <summary>
    /// Fanuc操作模式
    /// </summary>
    public enum FanucMode
    {
        MDI = 0,
        MEMory = 1,
        None = 2,
        EDIT = 3,
        HaNDle = 4,
        JOG = 5,
        TeachinJOG = 6,
        TeachinHaNDle = 7,
        INCfeed = 8,
        REFerence = 9,
        ReMoTe = 10,
        OTHER = 11
    }

    /// <summary>
    /// Fanuc运行状态
    /// </summary>
    public enum FanucStatus
    {

        RESET = 0,//复位
        STOP = 1,//程序块结束
        HOLD = 2,//进给保持
        START = 3,//程序运行 
        MSTR = 4,//在退刀和重新定位刀具退刀和恢复以及JOG MDI的操作期间
        OTHER = 5
    }

    /// <summary>
    /// Fanuc急停状态
    /// </summary>
    public enum FanucEmer
    {
        NotEMergency = 0, //未急停
        EMerGency = 1,//急停
        ReSET = 2,//复位
        WAIT = 3,//(FS35i only) //等等
        OTHER = 4//其他

    }


    /// <summary>
    /// 三菱CNC运行状态
    /// </summary>
    public enum MitStatus
    {

        RESET = 0,//复位
        STOP = 1,//程序块结束
        HOLD = 2,//进给保持
        START = 3,//程序运行 
        OTHER = 4
    }



    /// <summary>
    ///三菱急停状态
    /// </summary>
    public enum MitEmer
    {
        NotEMergency = 0, //未急停
        EMerGency = 1,//急停
    
    }

    /// <summary>
    /// 三菱操作模式
    /// </summary>
    public  enum MitsubishMode
    {


        JOG模式中 = 0,
        手轮模式中 = 1,
        增量模式中 = 2,
        手动任意进给模式中 = 3,
        参考点返回模式中 = 4,
        自动初始设定模式中 = 5,
        JOG手轮同时模式中 = 6,
        Null1 = 7,
        内存模式中 = 8,
        纸带模式中 = 9,
        在线运行模式中 = 10,
        MDI模式中 = 11,
        Null2 = 12,
        Null3 = 13,
        子系统控制I运行模式中 = 14,
        Null4 = 15,




    }

    /// <summary>
    ///Simens操作模式
    /// </summary>
    public enum SimensMode
    {

        JOG,//手动模式

        TEACHIN,//子运行模式示教

        MDA,//mdi

        AUTO,//自动运行模式

        REPOS,//再定位，重新逼近轮廓

        REFPOINT,//返回参考点

        VAR,//以可变增量运行

        INC,//增量进给

        OTHER,//未知


    }

    /// <summary>
    /// 西门子CNC运行状态
    /// </summary>
    public enum SimensStatus
    {

        RESET = 0,//复位
        STOP = 1,//程序块结束
        HOLD = 2,//进给保持
        START = 3,//程序运行 
        SPENDLE_CW_CCW=4,//主轴正反转
        OTHER =5
    }


    /// <summary>
    /// 海德汉CNC运行状态
    /// </summary>
    public enum HeiHenHainStatus
    {

        DNC_PRG_STS_IDLE=0,// State of execution after an error, program stop, program finish (M30).  
        DNC_PRG_STS_RUNNING=1,// Part program is running (executed).  
        DNC_PRG_STS_STOPPED=2,// Part program is stopped (M0 or single block execution).  
        DNC_PRG_STS_INTERRUPTED=3,// Part program is interrupted.  
        DNC_PRG_STS_FINISHED=4,// Part program has finished execution (M30).  
        DNC_PRG_STS_ERROR=5,// Part program has encountered an error situation.  
        DNC_PRG_STS_NOT_SELECTED=6,// No part program is currently selected.  
    }


    /// <summary>
    ///HeiDenHain操作模式
    /// </summary>
    public enum HeiDenHainMode
    {

        JOG=1,//手动模式

        TEACHIN=2,//子运行模式示教

        MDA=3,//mdi

        AUTO=5,//自动运行模式

        REPOS=6,//再定位，重新逼近轮廓
        //DNC_EXEC_MANUAL=0,// Execution of an EasyOperate Cycle.  
        //DNC_EXEC_MDI=1,// A block entered in MDI (Manual Data Input) is executed.  
        //DNC_EXEC_RPF=2,// Reference Point.  
        //DNC_EXEC_SINGLESTEP=3,// Execution of a part program with SingleBlock active.  
        //DNC_EXEC_AUTOMATIC=4,// Full execution of a part program.  
        //DNC_EXEC_OTHER=5,// Type of execution is other than the known ones.  
        //DNC_EXEC_SIMULO_TURBO_DEPRECATED=6,// High speed mode for simulation (since version 1.2). Deprecated since version 1.2.2.  
        //DNC_EXEC_HANDWHEEL=7,// Electronic hand-wheel is active (since version 1.4.2).  


    }


}
