using System.Collections.Generic;

namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB.Errors
{
    public  class SiasunPhoenixBErrorDictionary
    {
        private  Dictionary<string, string> _errorCodeDictionary;
        public  Dictionary<string, string> errorCodeDictionary 
        {
            get { return _errorCodeDictionary; }
            private set { _errorCodeDictionary = value; }
        }
        public SiasunPhoenixBErrorDictionary()
        { 
            errorCodeDictionary = new Dictionary<string, string>()
            {
                //{"193","错误信息：控制柜急停未  解除产生原因：控制柜急停按钮为旋起  故障排除：将控制柜按钮顺时针旋转至旋起"},
                //{"194","错误信息：示教盒急停未  解除产生原因：示教盒急停按钮未旋起  故障排除：将示教盒急停按钮顺时针旋转至旋起" },

                //{"635","错误信息：系统发生碰撞  产生原因：示教盒急停按钮未旋起  故障排除：将示教盒急停按钮顺时针旋转至旋起"},
                //{"707","错误信息：旋转信号不允许    产生原因：1、传输腔传感器未遮盖 2、用户IO故障   故障排除：1、检查传输腔传感器。 2、确认传感器信号是否正常返回" },
                //{"708","错误信息：伸缩信号不允许    产生原因：1、阀门未打开（传输腔通往其他腔室） 2、用户IO故障    故障排除：1、检查传输腔传感器 2、确认传感器信号是否正常返回"},
                //{"709","错误信息：请发送RESET启动   产生原因：产生报警后停止运行，系统为停止状态   故障排除： 发送RESET启动" },

                //{"710","错误信息：请切换成执行模式   产生原因：当前为示教模式，无法接收串口指令   故障排除：使用示教盒切换成执行模式，或者重启机械手"},
                //{"2200","错误信息：输出端口NO.不存在    产生原因：1、配置的输出端口号超出指定范围2、输出端口未配置（系统内部错误）  故障排除：1、系统下电，按照指定范围重新配置输出端口号 2、修改内部程序" },
                //{"3100","错误信息：关节N位置超界   产生原因：关节值超软限位    故障排除：1、确认零位是否正常（两手臂重合为R轴零点位置）2、发送RQ POS ABS ARM A ALL查看当前关节值 3、发送SVON、RESET，继续运行 4、使用示教盒时，按“取消”键，检查关节值范围"},
                //{"3120","错误信息：示教盒急停未  解除产生原因：示教盒急停按钮未旋起  故障排除：将示教盒急停按钮顺时针旋转至旋起" },
                //{"5100","错误信息：GOTO工位号超范围    产生原因：GOTO指令工位号超出指定范围    故障排除：检查工位号范围A手为1-20"},
                //{"5112","错误信息：RQ STN工位号超范围  产生原因：RQ STN指令工位号超出指定范围  故障排除：检查工位号范围A手为1-20" },
                //{"5117","错误信息：RQ命令不支持的参数    产生原因：RQ指令某字段输入错误    故障排除：检查RQ指令格式"},
                //{"5132","错误信息：STORE STN指令工位号大于20    产生原因：STORE STN指令工位号超出指定范围   故障排除：检查工位号范围A手为1-20" },
                //{"5133","错误信息：STORE STN命令手臂参数错误 产生原因：机械手无法识别用户所发的手臂指令   故障排除：检查是否有拼写错误，ARM  A"},
                //{"5135","错误信息：STORE指令输入不完整  产生原因：STORE 指令字段名字错误     故障排除：检查STORE指令格式" },
                //{"5136","错误信息：指令拼写错误(无法识别的命令)   产生原因：发出的指令拼写错误  故障排除：HOME指令未指定R、T、Z、ALL字段"},
                //{"5137","错误信息：HOME参数未指定    产生原因：HOME指令未指定参数     故障排除：HOME指令未指定R、T、Z、ALL字段" },
                //{"5138","错误信息：GOTO指令R轴参数未指定     产生原因：1、GOTO指令R字段后未指定具体参数 2、GOTO指令R字段后面指定了错误的参数      故障排除：检查GOTO指令格式；GOTO指令R字段后参数为RE或EX"},
                //{"5139","错误信息：GOTO指令Z轴参数未指定     产生原因：1、GOTO指令Z字段后未指定具体参数 2、GOTO指令Z字段后面指定了错误的参数      故障排除：检查GOTO指令格式；Z字段后参数为DOWN或UP" },
                //{"5140","错误信息：ARM参数错误   产生原因：GOTO指令/MOVE指令/PICK指令/PLACE指令中ARM字段后未指定具体手臂     故障排除：ARM字段后要指定参数；A代表A手臂，B代表B手臂"},
                //{"5141","错误信息：GOTO指令未指定参数   产生原因：GOTO指令中字段名字错误  故障排除：检查GOTO指令格式" },


                //{"5143","错误信息：MOVE指令未指定模式或轴     产生原因：1、MOVE指令中未指定具体轴 2、MOVE指令中未指定运动模式   故障排除：1、MOVE指令具体轴字段为R、T、Z 2、MOVE指令运动模式为ABS（绝对值）或REL（相对值）"},
                //{"5144","错误信息：MOVE 指令中字段名字错     产生原因：MOVE指令中字段名字错误      故障排除：检查MOVE指令格式"},
                //{"5149","错误信息：指令执行未结束    产生原因：机械手正在执行动作指令时，上位机重复发送动作指令   故障排除：机械手执行动作指令完成后，上位机才能再次发送动作指令"},
                //{"5150","错误信息：GOTO指令未指定工位号   产生原因：GOTO指令未指定具体的工位号    故障排除：确定GOTO指令指定具体工位号"},
                //{"5153","错误信息：ABS未指定数值   产生原因：MOVE指令中的ABS字段后没有指定数值   故障排除：确定MOVE指令中ABS字段后输入正确数值"},
                //{"5154","错误信息：REL未指定数值   产生原因：MOVE指令中的REL字段后没有指定数值   故障排除：确定MOVE指令中REL字段后输入正确数值"},
                //{"5155","错误信息：REL未指定数值   产生原因：UMOVE指令中的REL字段后没有指定数值     故障排除：确定MOVE指令中REL字段后输入正确数值"},
                //{"5156","错误信息：没有指定主程序   产生原因：RESET指令后，当前系统没有配置主作业   故障排除：确定当前系统登记主作业"},
                //{"5157","错误信息：当前没有打开作业  产生原因：RESET指令后，当前系统没有打开主作业   故障排除：确定当前系统打开主作业"},
                //{"5158","错误信息：当前作业不是主作业     产生原因：RESET指令后，当前系统运行的作业不是主作业    故障排除：确定当前系统运行主作业"},
                //{"5159","错误信息：臂电源上电失败(手臂电源未打开)  产生原因：在发RESET时，系统不是上电状态  故障排除：用指令SVON或者示教盒给机械手上电"},

            { "901", "Main power EMO" },
            { "902", "Teach pendant EMO" },
            { "962", "Driver RDY sensor disconnect" },
            { "3001", "Robot collision" },
            { "7300", "Rotation sensor forbidden" },
            { "7301", "Extend sensor forbidden" },
            { "2200", "Output port Number not exist" },
            { "3120", "Joint N speed out of range" },
            { "3100", "Joint N position out of range" },
            { "100", "Robot power on fail" },
            { "7307", "GOTO station out of range" },
            { "7308", "Sensor type not support" },
            { "7312", "PICK station out of range" },
            { "7313", "PLACE station out of range" },
            { "7314", "XFER station out of range" },
            { "7315", "REMOVE not support IO type" },
            { "7316", "RQ INTLCK parameter invalid" },
            { "7319", "RQ STN station out of range" },
            { "7320", "wafre(WAF_SEN) parameter not set" },
            { "7321", "wafex(RETRACT_PIN) parameter not set" },
            { "7322", "svlv(SBIT_SVLV_SEN) parameter not set" },
            { "7323", "ens(EX_ENABLE) parameter not set" },
            { "7324", "RQ parameter invalid" },
            { "7325", "SET INTLOCK WAF_SEN parameter invalid" },
            { "7326", "SET INTLOCK RZ parameter invalid" },
            { "7327", "SET INTLOCK parameter invalid" },
            { "7328", "SET IO ECHO parameter invalid" },
            { "7329", "SET IO STATE not support" },
            { "7330", "SET IO parameter invalid" },
            { "7331", "SET STN station out of range" },
            { "7332", "Robot read parameter fail" },
            { "7333", "WAF_SEN parameter invalid" },
            { "7334", "SET sensor type not support" },
            { "7335", "SET parameter invalid" },
            { "7336", "STORE IO parameter invalid" },
            { "7337", "STORE LOAD parameter invalid" },
            { "7338", "STORE STN station out of range" },
            { "7339", "STORE STN parameter invalid" },
            { "7340", "STORE sensor type not support" },
            { "7341", "STORE parameter invalid" },
            { "7342", "Command invalid" },
            { "7343", "HOME parameter not set" },
            { "7344", "GOTO R axis parameter not set" },
            { "7345", "GOTO Z axis parameter not set" },
            { "7346", "ARM parameter invalid" },
            { "7347", "GOTO parameter not set" },
            { "7349", "MOVE parameter not set" },
            { "7350", "MOVE parameter invalid" },
            { "7351", "PICK parameter not set" },
            { "7352", "PLACE parameter not set" },
            { "7353", "REMOVE parameter not set" },
            { "7354", "Command excute not finished" },
            { "7355", "GOTO station parameter not set" },
            { "7356", "PICK station parameter not set" },
            { "7357", "PLACE station parameter not set" },
            { "7358", "ABS parameter not set" },
            { "7359", "REL parameter not set" },
            { "7360", "Robot not set main thread" },
            { "7361", "Robot not open main thread" },
            { "7362", "Current thread not main thread" },
            { "7363", "ex_ena(EX_ENABLE_SEN) parameter not set" },
            { "7364", "stable(STABLE_ SIGNAL) parameter not set" },
            { "7365", "MOVE parameter invalid" },
            { "7366", "System not on" },
            { "7367", "extend(EX_SIGNAL) parameter not set" },
            { "7368", "retract(RE_ SIGNAL) parameter not set" },
            { "7371", "Wafer not present before place" },
            { "7372", "Wafer present before pick" },
            { "7373", "Wafer present after place" },
            { "7374", "Wafer not present after pick" },
            { "7375", "Servo not on" },
            { "7376", "Exist not number parameter" },
            { "7385", "Driver stop abnormal" },
            { "7387", "Driver ID1 alarm" },
            { "7388", "Driver ID2 alarm" },
            { "7389", "Driver ID3 alarm" },
            { "7391", "AWC station out of range" },
            { "7392", "AWC out of range alarm" },
            { "7393", "AWC sensor set fail" },
            { "7398", "AWC calculate fail" },
            { "7399", "AWC trig number error" },
            { "7401", "Wafer maybe present on blade" },
            { "7402", "Wafer maybe not present on blade" },
            { "7403", "Load status in ON, not correct" },
            { "7404", "Load status in OFF, not correct" },
            { "7405", "Slot not exist" },
            { "7495", "ID1 encoder error" },
            { "7496", "ID2 encoder error" },
            { "7497", "ID3 encoder error" },

            };
        }
    }
}
