Пример #1
0
        //---------------------------------------------------------------------------

        /**
         * @brief     Update Status of Lamp, Buzzer
         * @return
         * @param
         * @remark
         * -
         * @author    정지완(JUNGJIWAN)
         * @date      2020/1/2  10:26
         */
        public void fn_UpdateLampBuzz()
        {
            //Local Var.
            int  nState    = m_bLampTest ? m_nTestState : SEQ.fn_GetSeqStatus();             //
            bool isBuzzOn1 = false;
            bool isBuzzOn2 = false;
            bool isBuzzOn3 = false;

            int nLampRed    = (int)EN_OUTPUT_ID.yLP_Red;                //Io Set
            int nLampYellow = (int)EN_OUTPUT_ID.yLP_Yellow;
            int nLampGreen  = (int)EN_OUTPUT_ID.yLP_Green;

            int nYBuzz01 = (int)EN_OUTPUT_ID.yLP_Buzz01;
            int nYBuzz02 = -1;               //(int)EN_OUTPUT_ID.yLP_Buzz02;
            int nYBuzz03 = -1;               //(int)EN_OUTPUT_ID.yLP_Buzz03;

            bool bRedOn    = false;
            bool bYellowOn = false;
            bool bGreenOn  = false;

            switch ((EN_SEQ_STATE)nState)
            {
            case EN_SEQ_STATE.STOP:
                bRedOn    = fn_GetLampStat(m_LampInfo.nStopRed);
                bYellowOn = fn_GetLampStat(m_LampInfo.nStopYel);
                bGreenOn  = fn_GetLampStat(m_LampInfo.nStopGrn);

                fn_GetBuzzStat(m_LampInfo.nStopBuzz, ref isBuzzOn1, ref isBuzzOn2, ref isBuzzOn3);

                break;

            case EN_SEQ_STATE.RUNNING:
                bRedOn    = fn_GetLampStat(m_LampInfo.nRunRed);
                bYellowOn = fn_GetLampStat(m_LampInfo.nRunYel);
                bGreenOn  = fn_GetLampStat(m_LampInfo.nRunGrn);

                fn_GetBuzzStat(m_LampInfo.nRunBuzz, ref isBuzzOn1, ref isBuzzOn2, ref isBuzzOn3);

                break;

            case EN_SEQ_STATE.ERROR:
                bRedOn    = fn_GetLampStat(m_LampInfo.nErrorRed);
                bYellowOn = fn_GetLampStat(m_LampInfo.nErrorYel);
                bGreenOn  = fn_GetLampStat(m_LampInfo.nErrorGrn);

                fn_GetBuzzStat(m_LampInfo.nErrorBuzz, ref isBuzzOn1, ref isBuzzOn2, ref isBuzzOn3);

                break;

            case EN_SEQ_STATE.WARNING:
                bRedOn    = fn_GetLampStat(m_LampInfo.nWarningRed);
                bYellowOn = fn_GetLampStat(m_LampInfo.nWarningYel);
                bGreenOn  = fn_GetLampStat(m_LampInfo.nWarningGrn);

                fn_GetBuzzStat(m_LampInfo.nWarningBuzz, ref isBuzzOn1, ref isBuzzOn2, ref isBuzzOn3);
                break;

            case EN_SEQ_STATE.INIT:

                bRedOn    = fn_GetLampStat(m_LampInfo.nInitRed);
                bYellowOn = fn_GetLampStat(m_LampInfo.nInitYel);
                bGreenOn  = fn_GetLampStat(m_LampInfo.nInitGrn);

                fn_GetBuzzStat(m_LampInfo.nInitBuzz, ref isBuzzOn1, ref isBuzzOn2, ref isBuzzOn3);
                break;

            case EN_SEQ_STATE.RUNWARN:

                bRedOn    = fn_GetLampStat(m_LampInfo.nRunWarnRed);
                bYellowOn = fn_GetLampStat(m_LampInfo.nRunWarnYel);
                bGreenOn  = fn_GetLampStat(m_LampInfo.nRunWarnGrn);

                fn_GetBuzzStat(m_LampInfo.nRunWarnBuzz, ref isBuzzOn1, ref isBuzzOn2, ref isBuzzOn3);
                break;
            }


            //Alarm 인경우, Warning 인 경우.
            IO.YV[nLampRed]    = bRedOn;
            IO.YV[nLampYellow] = bYellowOn;
            IO.YV[nLampGreen]  = bGreenOn;

            IO.YV[nYBuzz01] = isBuzzOn1;
            IO.YV[nYBuzz02] = isBuzzOn2;
            IO.YV[nYBuzz03] = isBuzzOn3;
        }