-
SecsDrv_S3F105CellSize processing example sourceIT 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()); } }
반응형'IT Story > C# & WPF' 카테고리의 다른 글
Example source of processing when EQP State is changed (0) 2022.07.03 PSecsDrv_S10F3 processing example source (0) 2022.07.03 SecsDrv_S2F18 and S2F101 processing example (0) 2022.07.03 SECS S1F15 and S1F17 processing example source (0) 2022.07.03 SECS event sending/receiving example (0) 2022.07.03