Exemple #1
0
        private static Alarm AlarmFactory(AlarmDataSet.alarm_definitionRow row, string conditionColumnName)
        {
            string condition = row[conditionColumnName].ToString();

            if (Regex.IsMatch(condition, CountAlarm.Expression))
            {
                return(new CountAlarm(row, conditionColumnName));
            }
            else if (Regex.IsMatch(condition, LimitAlarm.Expression))
            {
                return(new LimitAlarm(row, conditionColumnName));
            }
            else if (Regex.IsMatch(condition, FlagAlarm.Expression))
            {
                return(new FlagAlarm(row, conditionColumnName));
            }
            else if (Regex.IsMatch(condition, RogueMinimumFlow.Expression))
            {
                return(new RogueMinimumFlow(row, conditionColumnName.ToLower() == "clear_condition"));
            }
            else if (Regex.IsMatch(condition, RogueSystemState.Expression))
            {
                return(new RogueSystemState(row));
            }

            throw new NotImplementedException("Invalid alarm condition " + row[conditionColumnName]);
        }
Exemple #2
0
        public FlagAlarm(AlarmDataSet.alarm_definitionRow row, string conditionColumnName)
            : base(row)
        {
            string condition = row[conditionColumnName].ToString();
            var    m         = Regex.Match(condition, Expression);

            if (!m.Success)
            {
                throw new ArgumentException("Invalid condition '" + condition + "'");
            }
        }
Exemple #3
0
        public CountAlarm(AlarmDataSet.alarm_definitionRow row, string conditionColumnName)
            : base(row)
        {
            this.conditionColumnName = conditionColumnName;
            var m = Regex.Match(row.alarm_condition, Expression);

            if (m.Success)
            {
                limit    = Convert.ToInt32(m.Groups["limit"].Value);
                equality = m.Groups["equality"].Value;
            }
            else
            {
                throw new ArgumentException("Invalid condition '" + row.alarm_condition + "' ");
            }
        }
Exemple #4
0
        public LimitAlarm(AlarmDataSet.alarm_definitionRow row, string conditionColumnName)
            : base(row)
        {
            string condition = row[conditionColumnName].ToString();
            var    m         = Regex.Match(condition, Expression);

            if (m.Success)
            {
                m_alarmValue    = Convert.ToDouble(m.Groups["value"].Value);
                m_alarmOperator = m.Groups["operator"].Value;
                customMessageVariables.Add("%limit_expression", m.Groups[0].Value);
            }
            else
            {
                throw new ArgumentException("Invalid condition '" + condition + "'");
            }
        }
Exemple #5
0
 public RogueSystemState(AlarmDataSet.alarm_definitionRow row)
     : base(row)
 {
     // dont set the state alarm (it should alarm for each daily state change )
     row.IsVirtual = true; // prevents active flag from being set.
 }
Exemple #6
0
 public Alarm(AlarmDataSet.alarm_definitionRow row)
 {
     m_row       = row;
     event_point = null;
 }
Exemple #7
0
 public RogueMinimumFlow(AlarmDataSet.alarm_definitionRow row, bool clearCondition)
     : base(row)
 {
     Details          = "";
     m_clearCondition = clearCondition;
 }