IT Story/C# & WPF

S6F11Related Send processing example source

Hoyami7 2022. 7. 3. 17:31
반응형
private void Send_S6F11RelatedJOBEvent(object objSF)
        {
            try
            {
                if (this.m_Info.All.ControlState == Structure.classStructure.ControlState.OFFLINE || this.m_Info.All.HostConnect == false) return;

                //형변환을 명시적으로 한다.
                SEC_6C.CS6F11RelatedJOBEventClass dclsSF = (SEC_6C.CS6F11RelatedJOBEventClass)objSF;

                this.PSecsDrv.S6F11RelatedJOBEvent.CopyMessage(dclsSF);
                this.PSecsDrv.S6F11RelatedJOBEvent.Request();
            }
            catch (Exception ex)
            {
                this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, ex.ToString());
            }
        }


        private void Send_S6F11RelatedGlassEvent(object objSF)
        {
            try
            {
                if (this.m_Info.All.ControlState == Structure.classStructure.ControlState.OFFLINE || this.m_Info.All.HostConnect == false) return;

                //형변환을 명시적으로 한다.
                SEC_6C.CS6F11RelatedGlassEventClass dclsSF = (SEC_6C.CS6F11RelatedGlassEventClass)objSF;

                this.PSecsDrv.S6F11RelatedGlassEvent.CopyMessage(dclsSF);
                this.PSecsDrv.S6F11RelatedGlassEvent.Request();
            }
            catch (Exception ex)
            {
                this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
            }
        }

        
        private void Send_S6F11RelatedPortEvent(object objSF)
        {
            try
            {
                if (this.m_Info.All.ControlState == Structure.classStructure.ControlState.OFFLINE || this.m_Info.All.HostConnect == false) return;

                //형변환을 명시적으로 한다.
                SEC_6C.CS6F11RelatedPortEventClass dclsSF = (SEC_6C.CS6F11RelatedPortEventClass)objSF;

                this.PSecsDrv.S6F11RelatedPortEvent.CopyMessage(dclsSF);
                this.PSecsDrv.S6F11RelatedPortEvent.Request();

                if (dclsSF.CEID.ToString() == "4")
                {
                    this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "CEID=4 JobProcess End 보고, PortID : " + dclsSF.PTID.ToString());
                }
            }
            catch (Exception ex)
            {
                this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, ex.ToString());
            }
        }


        
        private void Send_S6F11RelatedEQPEvent(object objSF)
        {
            try
            {
                //형변환을 명시적으로 한다.
                SEC_6C.CS6F11RelatedEQPEventClass dclsSF = (SEC_6C.CS6F11RelatedEQPEventClass)objSF;

                //CEID=71 Offline 전환 보고는 Offline이라도 가능하게 한다.
                if (dclsSF.CEID.ToString() == "71")
                {
                    if (this.m_Info.All.HostConnect == false) return;
                }
                else
                {
                    if (this.m_Info.All.ControlState == Structure.classStructure.ControlState.OFFLINE || this.m_Info.All.HostConnect == false) return;
                }

                this.PSecsDrv.S6F11RelatedEQPEvent.CopyMessage(dclsSF);
                this.PSecsDrv.S6F11RelatedEQPEvent.Request();
            }
            catch (Exception ex)
            {
                this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
            }
        }

        
        private void Send_S6F11RelatedOnlineParameter(object objSF)
        {
            try
            {
                if (this.m_Info.All.ControlState == Structure.classStructure.ControlState.OFFLINE || this.m_Info.All.HostConnect == false) return;

                //형변환을 명시적으로 한다.
                SEC_6C.CS6F11EQPOnlineParameterClass dclsSF = (SEC_6C.CS6F11EQPOnlineParameterClass)objSF;

                this.PSecsDrv.S6F11EQPOnlineParameter.CopyMessage(dclsSF);
                this.PSecsDrv.S6F11EQPOnlineParameter.Request();
            }
            catch (Exception ex)
            {
                this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
            }
        }
반응형