Exemplo n.º 1
0
        public void SetErr(Eidentify_error e, string sErrorNumber)
        {


            ErrorMessageStruct temp = new ErrorMessageStruct(e, sErrorNumber);
            ErrorList[ErrorCount] = temp;
            //언젠간 데이터 닐라고 리셋해야야됨 기본셋 1000개
            ErrorCount++;
            SetTable(temp);
            ErrMessageFormShowEvent();

        }
Exemplo n.º 2
0
        //DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff")
        public ErrorMessageStruct(Eidentify_error e, string ErrorNumber)
        {
            int index = (int)e; //오류번호

            //CyborgRobot_HTR = 0,
            //Nano300 = 1,
            //Aligner_PA300C = 2,
            //CyMechsRobot = 3,


            int errNumber = 0;

            Int32.TryParse(ErrorNumber, out errNumber);

            if (errNumber == 0)
            {
                mErrorTarget = e.ToString();
                mbClearError = false;
                mErrorCount  = Test.GlobalVariable.Instance.ErrorCount;

                mErrorCauseTime = DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("HH:mm:ss");
                mErrorNumber    = ErrorNumber;

                Test.ErrorPopUpmaMassage.Instance.mErrorNumber    = ErrorNumber;
                Test.ErrorPopUpmaMassage.Instance.mbClearError    = mbClearError;
                Test.ErrorPopUpmaMassage.Instance.mErrorAction    = "알수없는 에러";
                Test.ErrorPopUpmaMassage.Instance.mErrorCause     = "알수없는 에러";
                Test.ErrorPopUpmaMassage.Instance.mErrorCauseTime = mErrorCauseTime;
                Test.ErrorPopUpmaMassage.Instance.mErrorCount     = mErrorCount;
                Test.ErrorPopUpmaMassage.Instance.mErrorEndTime   = mErrorEndTime;
                Test.ErrorPopUpmaMassage.Instance.mErrorMessage   = "알수없는 에러";
                Test.ErrorPopUpmaMassage.Instance.mErrorTarget    = mErrorTarget;
                return;
                //숫자변경못햇을시
                //에러남기거나 무언가해야함
            }


            string errorNumber = string.Format("{0:D5}", errNumber);

            string Path_CyborgRobot_HTR = @"ErrorList\CyborgRobot_HTR.txt"; //ok
            string Path_Nano300         = @"ErrorList\Nano300.txt";         //ok
            string Path_Aligner_PA300C  = @"ErrorList\Aligner_PA300C.txt";  //ok
            string Path_CyMechsRobot    = @"ErrorList\CyMechsRobot.txt";    //ok

            string[] pathArray = { Path_CyborgRobot_HTR, Path_Nano300, Path_Aligner_PA300C, Path_CyMechsRobot };

            string errFilePath = pathArray[index]; // 사용할 파일 path

            string[] temp    = new string[4];
            string   message = "";
            string   cause   = "";
            string   action  = "";

            string[] StrArray_ErrorList = null;

            if (File.Exists(errFilePath)) // 파일이존재한다면
            {
                try                       //파읽있는중 혹시나 오류생길 수 있음
                {
                    StrArray_ErrorList = File.ReadAllLines(errFilePath);
                }
                catch (Exception ex)
                {
                    //로그남겨야함
                }

                if (StrArray_ErrorList == null)
                {
                    return;                             //파일 못읽었다면 그냥 리턴
                }
                //로그남겨야함
                //어떤 오류창이라도 띄워야함,

                foreach (var i in StrArray_ErrorList)
                {
                    //ErrorNumber 포맷에 맞게 변경해야함 -> 00001
                    if (i.Contains(errorNumber)) // 에러번호 //ErrorString -> 번호,message,cause,action 순으로 이루어짐
                    {
                        temp    = i.Split(',');
                        message = temp[1];
                        cause   = temp[2];
                        action  = temp[3];
                        break;
                    }
                    if (!i.Contains(errorNumber))
                    {
                        temp    = i.Split(',');
                        message = "정의되지않은에러";
                        cause   = "정의되지않은에러";
                        action  = "정의되지않은에러";
                    }
                    if (e == 0 && errNumber < 0 && errNumber > -4101) //CyborgRobot_HTR 이고 해당범위라면
                    {                                                 //PA Controller Error
                        if (errNumber <= -200 && errNumber >= -299)   // Standard System Errors
                        {
                            message = "Standard System Errors";
                        }
                        if (errNumber <= -300 && errNumber >= -499) // Hardware Device Related Errors
                        {
                            message = "Hardware Device Related Errors";
                        }
                        if (errNumber <= -500 && errNumber >= -699) // Input and Output Errors

                        {
                            message = "nput and Output Errors";
                        }
                        if (errNumber <= -700 && errNumber >= -999) // Language Related Errors
                        {
                            message = "Language Related Errors";
                        }
                        if (errNumber <= -1000 && errNumber >= -1499) // Robot Related Errors
                        {
                            message = "Robot Related Errors";
                        }
                        if (errNumber <= -1500 && errNumber >= -1699) // Configuration Parameter Database, Datalogger, and CPU Monitor Errors
                        {
                            message = "Configuration Parameter Database, Datalogger, and CPU Monitor Errors";
                        }
                        if (errNumber <= -1500 && errNumber >= -1699) // Controller Errors
                        {
                            message = "Controller Errors";
                        }
                        if (errNumber <= -1700 && errNumber >= -1799) // Network, Socket, and Communication Errors
                        {
                            message = "Network, Socket, and Communication Errors";
                        }
                        if (errNumber <= -3000 && errNumber >= -3999) // Servo Related Errors
                        {
                            message = "Servo Related Errors";
                        }
                        if (errNumber <= -4000 && errNumber >= -4100) // Vision Related Errors
                        {
                            message = "Vision Related Errors";
                        }
                        cause  = "PA Controller 관련 에러 입니다.";
                        action = "PA Controller 를 확인하십시오.";
                        break;
                    }
                }
            }

            mErrorTarget    = e.ToString();
            mbClearError    = false;
            mErrorNumber    = errorNumber;
            mErrorCount     = Test.GlobalVariable.Instance.ErrorCount;
            mErrorCauseTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");



            mErrorMessage = message;
            mErrorCause   = cause;
            mErrorAction  = action;


            Test.ErrorPopUpmaMassage.Instance.mbClearError    = mbClearError;
            Test.ErrorPopUpmaMassage.Instance.mErrorAction    = mErrorAction;
            Test.ErrorPopUpmaMassage.Instance.mErrorCause     = mErrorCause;
            Test.ErrorPopUpmaMassage.Instance.mErrorCauseTime = mErrorCauseTime;
            Test.ErrorPopUpmaMassage.Instance.mErrorCount     = mErrorCount;
            Test.ErrorPopUpmaMassage.Instance.mErrorEndTime   = mErrorEndTime;
            Test.ErrorPopUpmaMassage.Instance.mErrorMessage   = mErrorMessage;
            Test.ErrorPopUpmaMassage.Instance.mErrorNumber    = mErrorNumber;
            Test.ErrorPopUpmaMassage.Instance.mErrorTarget    = mErrorTarget;
        }