ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SecsDrv_S3F105CellSize processing example source
    IT Story/C# & WPF 2022. 7. 3. 17:35
    반응형
    private void PSecsDrv_S3F105CellSize()
            {
                try
                {
                    this.m_Info.Set_ReceiveHostSF("S3F105GLSSizeInfo");
                }
                catch (Exception ex)
                {
                    this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
                }
            }
    
            private void S3F105CellSizeInfo()
            {
                byte bACKC6 = 0x00;
                int iPortID = 1;        //FIX\
    
                try
                {
                    if (this.m_Info.All.HostConnect == false) return;
                    if (funACTSECSAort_Send(this.PSecsDrv.S2F103.Header) == true) return;
    
                    string sModuleID = this.PSecsDrv.S3F105GLSSizeInfo.EQPID.Trim();
                    string sPortID = this.PSecsDrv.S3F105GLSSizeInfo.PTID.Trim();
                    string sCSTID = this.PSecsDrv.S3F105GLSSizeInfo.CSID.Trim();
                    int iGLASS_SIZE = 0;
                    int iCELL_SIZE = 0;
                    string sCellSize = this.PSecsDrv.S3F105GLSSizeInfo.GLASS_SIZE.Trim();
    
                    int.TryParse(this.PSecsDrv.S3F105GLSSizeInfo.GLASS_SIZE.Trim(), out iGLASS_SIZE);
                    int.TryParse(this.PSecsDrv.S3F105GLSSizeInfo.CELL_SIZE.Trim(), out iCELL_SIZE);
                    this.PSecsDrv.S3F106GlassSizeInfoReply.EQPID        = sModuleID;
                    this.PSecsDrv.S3F106GlassSizeInfoReply.PTID         = sPortID;
                    this.PSecsDrv.S3F106GlassSizeInfoReply.CSID         = sCSTID;
                    this.PSecsDrv.S3F106GlassSizeInfoReply.GLASS_SIZE   = this.PSecsDrv.S3F105GLSSizeInfo.GLASS_SIZE.Trim();
                    this.PSecsDrv.S3F106GlassSizeInfoReply.CELL_SIZE    = this.PSecsDrv.S3F105GLSSizeInfo.CELL_SIZE.Trim();
    
                    //Validation Check
                    if (this.m_Info.Port(iPortID).CSTID == string.Empty)
                    {
                        bACKC6 = 0x03;
                    }
                    else if (this.m_Info.Port(iPortID).CSTID != sCSTID)
                    {
                        bACKC6 = 0x04;
                    }
                    else if (this.m_Info.CellSize(sCellSize) == null)
                    {
                        bACKC6 = 0x06;
                        this.m_Info.Set_OPCallCmd(Structure.classStructure.OPCallCmd.CellSize, 0, "", sCellSize);
                    }
    
                    this.PSecsDrv.S3F106GlassSizeInfoReply.ACKC6 = bACKC6;
                    this.PSecsDrv.S3F106GlassSizeInfoReply.Reply(this.PSecsDrv.S3F105GLSSizeInfo.Header);
    
                    if (bACKC6 == 0)
                    {
                        this.m_Info.Port(1).Initial(this.m_Info.CellSize(sCellSize).ColCount, this.m_Info.CellSize(sCellSize).RowCount);      //HOST에서 CST 정보 받았을 때
                        this.m_Info.Port(1).CSTID = sCSTID.Trim();
                        this.m_Info.Port(1).S3F105Receive = true;
                        this.m_Info.subJobFailLotSave(1);
    
                        iCELL_SIZE = this.m_Info.CellSize(sCellSize).CellRecipeNo;
                        this.m_Info.Set_PLCCommand(Structure.classStructure.PLCCommand.CellSizeWrite, iCELL_SIZE, sCellSize);
                    }
                    else
                    {
                        this.m_Info.Set_PLCCommand(Structure.classStructure.PLCCommand.CellSizeWrite, 0, "");
                    }
                }
                catch (Exception ex)
                {
                    this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
                }
            }
    반응형

    댓글

Designed by Tistory.