Exemple #1
0
 private void DisplayMoldName(TcpResponse tcpResponse)
 {
     if (tcpResponse.Exception == null)
     {
         MachineResponseData responseData = tcpResponse.MachineResponses[0];
         if (responseData.Message.Length > 0)
         {
             //사출기 문제발생
         }
         else
         {
             Dictionary <string, string> machineData = responseData.MachineData;
             string[] fieldCodes = machineData.Keys.ToArray();
             string   moldName   = string.Empty;
             for (int i = 0; i < machineData.Count; i++)
             {
                 string  fieldCode   = fieldCodes[i];
                 string  valueString = machineData.GetValueOrDefault(fieldCode);
                 decimal valueDecimal;
                 if (decimal.TryParse(valueString, out valueDecimal))
                 {
                     char charA = (char)(valueDecimal / 256);
                     char charB = (char)(valueDecimal % 256);
                     moldName += charA;
                     moldName += charB;
                 }
             }
             //금형명 표기
             setControlText(menu_mold, moldName);
         }
     }
     else
     {
         LogWriter.WriteLog_Error(tcpResponse.Exception);
     }
 }
Exemple #2
0
        private void DisplayMachineState(TcpResponse tcpResponse)
        {
            string mode = string.Empty;

            if (tcpResponse.Exception == null)
            {
                MachineResponseData responseData = tcpResponse.MachineResponses[0];
                if (responseData.Message.Length > 0)
                {
                    //사출기 문제발생
                }
                else if (responseData.IsConnected == false)
                {
                    if (commonVar.whichLang == "English")
                    {
                        mode = "No Response";
                    }
                    else
                    {
                        mode = "연결안됨";
                    }
                    setControlText(menu_mode, mode, (Image)(Properties.Resources.lostConnection));
                }
                else
                {
                    Dictionary <string, string> machineState = responseData.MachineData;


                    if (machineState["A00007"].Equals("1"))
                    {
                        //경보 on
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Alarm";
                        }
                        else
                        {
                            mode = "경보";
                        }
                        setControlText(menu_alert, mode, (Image)(Properties.Resources.AlarmOn));
                    }
                    else
                    {
                        //경보 off
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Alarm";
                        }
                        else
                        {
                            mode = "경보";
                        }
                        setControlText(menu_alert, mode, (Image)(Properties.Resources.AlarmOff));
                    }

                    if (machineState["A00001"].Equals("1"))
                    {
                        //저속개폐
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Mold setup";
                        }
                        else
                        {
                            mode = "저속개폐";
                        }
                        setControlText(menu_mode, mode, (Image)(Properties.Resources.MoldsetupModeOn));
                    }
                    else if (machineState["A00002"].Equals("1"))
                    {
                        //수동운전
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Manual";
                        }
                        else
                        {
                            mode = "수동";
                        }
                        setControlText(menu_mode, mode, (Image)(Properties.Resources.ManualModeOn));
                    }
                    else if (machineState["A00003"].Equals("1"))
                    {
                        //semi auto
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Semi Auto";
                        }
                        else
                        {
                            mode = "반자동";
                        }
                        setControlText(menu_mode, mode, (Image)(Properties.Resources.SemiautoModeOn));
                    }
                    else if (machineState["A00004"].Equals("1"))
                    {
                        //full auto
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Full Auto";
                        }
                        else
                        {
                            mode = "자동";
                        }
                        setControlText(menu_mode, mode, (Image)(Properties.Resources.FullautoModeOn));
                    }

                    if (machineState["A00005"].Equals("1"))
                    {
                        //1사이클 완료
                        //flash 혹은 다른 방법
                    }

                    if (machineState["A00008"].Equals("1"))
                    {
                        //히터 on
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Heater";
                        }
                        else
                        {
                            mode = "히터";
                        }
                        setControlText(menu_heater, mode, (Image)(Properties.Resources.HeaterOn));
                    }
                    else
                    {
                        //히터 off
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Heater";
                        }
                        else
                        {
                            mode = "히터";
                        }
                        setControlText(menu_heater, mode, (Image)(Properties.Resources.HeaterOff));
                    }


                    if (machineState["A00009"].Equals("1"))
                    {
                        //모터 on
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Motor";
                        }
                        else
                        {
                            mode = "모터";
                        }
                        setControlText(menu_motor, mode, (Image)(Properties.Resources.MotorOn));
                    }
                    else
                    {
                        //모터 off
                        if (commonVar.whichLang == "English")
                        {
                            mode = "Motor";
                        }
                        else
                        {
                            mode = "모터";
                        }
                        setControlText(menu_motor, mode, (Image)(Properties.Resources.MotorOff));
                    }
                }
            }
            else
            {
                if (commonVar.whichLang == "English")
                {
                    mode = "No Response";
                }
                else
                {
                    mode = "연결안됨";
                }
                setControlText(menu_mode, mode, (Image)(Properties.Resources.lostConnection));
                LogWriter.WriteLog_Error(tcpResponse.Exception);
            }
        }
Exemple #3
0
        /// <summary>
        /// 통신 오류 발생시 서버 off인걸로 판단. 메시지 팝업 이후 타이머 동작 X
        /// </summary>
        /// <param name="tcpResponse"></param>
        private void DisplayMachineState(TcpResponse tcpResponse)
        {
            DataTable sourceTable = createGridSource();

            if (tcpResponse.Exception != null)
            {
                LogWriter.WriteLog_Error(tcpResponse.Exception);
            }
            else
            {
                string message = string.Empty;
                MachineResponseData[] machineResponse = tcpResponse.MachineResponses;

                //정상
                for (int i = 0; i < machineResponse.Length; i++)
                {
                    DataRow             dataRow      = sourceTable.NewRow();
                    MachineResponseData responseData = machineResponse[i];
                    if (responseData.Message.Length > 0)
                    {
                        //사출기 문제발생
                        message = responseData.Message;
                    }
                    else if (responseData.IsConnected == false)
                    {
                        message = "통신 연결 안됨";
                    }
                    else
                    {
                        Dictionary <string, string> machineState = responseData.MachineData;
                        if (machineState != null)
                        {
                            MachineStateImageIndex state = MachineStateImageIndex.Null;
                            if (machineState.GetValueOrDefault("A00007") == "1")
                            {
                                state = MachineStateImageIndex.Alert;
                            }
                            else if (machineState.GetValueOrDefault("A00001") == "1")
                            {
                                state = MachineStateImageIndex.Slow;
                            }
                            else if (machineState.GetValueOrDefault("A00002") == "1")
                            {
                                state = MachineStateImageIndex.Manual;
                            }
                            else if (machineState.GetValueOrDefault("A00003") == "1")
                            {
                                state = MachineStateImageIndex.SemiAuto;
                            }
                            else if (machineState.GetValueOrDefault("A00004") == "1")
                            {
                                state = MachineStateImageIndex.FullAuto;
                            }
                            else
                            {
                                state = MachineStateImageIndex.Null;
                            }
                            //state 1 저속개폐 2 수동 3 세미오토 4 풀오토
                            dataRow["STATE"]      = (int)state;
                            dataRow["targetQty"]  = machineState.GetValueOrDefault("S00002");
                            dataRow["productQty"] = machineState.GetValueOrDefault("A00011");
                            message = "통신 정상 작동 중";
                        }
                    }
                    dataRow["MESSAGE"] = message;
                    string             machineCode = responseData.MachineCode;
                    MachineInformation machineInfo = machineInformations.First(x => x.MachineCode == machineCode);
                    dataRow["MACHINE_CODE"]   = machineCode;
                    dataRow["MACHINE_NAME"]   = machineInfo.MachineName;
                    dataRow["MACHINE_NUMBER"] = machineInfo.MachineNumber;
                    dataRow["MACHINE_TYPE"]   = machineInfo.MachineType;
                    if (moldNames.ContainsKey(machineCode))
                    {
                        dataRow["moldName"] = moldNames[machineCode];
                    }
                    sourceTable.Rows.Add(dataRow);
                }
            }

            setGridControlSource(sourceTable);
        }