////////////////////////////////////////////////////////////////////////////////// public override void HandleMessages(UBSLib.UBSMessage message) { if (Status != UBSLib.UBSModuleStatus.Closing || Status != UBSLib.UBSModuleStatus.Closed) { m_alarmas.Communication = this.GetGlobalParameter("Communication").ToString(); string strMessage = message.ToString(); //Parametros del mensaje string[] strParams = strMessage.Split('#'); // //Si el primer valor del mensaje es una de los identificadores de las variables compartida se aplica ese valor if (m_alarmas.ContainsId(strParams[0])) { switch (m_alarmas.Communication) { case "message": break; case "twincat": m_alarmas.SetBlock(strParams[0], Convert.ToUInt32(strParams[1])); break; default: Notify("La comunicación configurada en el modulo Alarma no existe: " + m_alarmas.Communication, true, false); break; } } else { //Si solo se envia un codigo, significa que es la alarma a activar/desactivar //El segundo valor del mensaje debe ser el true o false por si se quiere activar o desactivar if (bool.Parse(strParams[1])) //Activar { m_alarmas.ActivarAlarma(strParams[0]); } else { //Desactivar if (m_alarmas.AlarmaActiva(strParams[0])) { m_alarmas.DesactivarAlarma(strParams[0]); } } } } }