...
Refer to the following sections for further details about the Rules Processing System.
Rule Specifications - Definition of rules and their parameters
Class Libraries - C/C++ API for working with rules
Rules Manager Process - Creating a custom rules processor
User Interface - Creating a custom HMI
...
Rule Specifications
Expand |
---|
title | Default Rule Parameters |
---|
|
In general, each rule is specified by the following parameters: Parameter Name | Description | Format |
---|
Name | Name of rule. | - | Description | Description of rule. | - | Enabled | Flag indicating if the rule should be processed. | True/False | NextEvalTime | Next time at which the criteria should be evaluated. | yyyy/mm/dd hh:mm:ss.nnn | EvalInterval | Interval at which the criteria should be evaluated. | dd hh:mm:ss.nnn | LockTimeOfDay | Flag indicating if the processing time should be locked to the time of day even across changes in daylight savings time (if true, then the test period will be extended or contracted across daylight savings time changes); for example: if a rule should be evaluated every day at 8 am, this flag should be set TRUE so that the system triggers on the new 8 am across daylight savings time changes. | True/False | EvalWindow | Window of time after a rule is supposed to be processed during which the rule is allowed to be processed, i.e. if the rules processing system is down at the time at which the rule is supposed to be processed, this value specifies how soon the rules processing system must come back up and still process this rule for this time period. | dd hh:mm:ss.nnn | RearmInterval | Interval after the rule criteria has been satisfied and actions have been performed before the rule is re-armed again for further processing. | dd hh:mm:ss.nnn | Criteria | Group of conditions logically AND’ed together to determine whether or not the rule is currently satisfied. These are described in more detail below. | - | Actions | Group of actions executed when the rule criteria are satisfied. These are described in more detail below. | - |
In addition, there are several parameters associated with a rule to provide feedback to the user: Parameter Name | Description | Format |
---|
Status | String description of current rule status. | - | Error | Current error code (0 = no error). | - | LastEvalTime | Last time that the rule criteria were evaluated | yyyy/mm/dd hh:mm:ss.nnn | LastActionTime | Last time that the rule criteria were satisfied and the rule actions were taken. | yyyy/mm/dd hh:mm:ss.nnn | LastVerifyTime | Last time that the rule was verified. | yyyy/mm/dd hh:mm:ss.nnn | LastErrorTime | Time that the last error occurred, or zero if there is no current error. | yyyy/mm/dd hh:mm:ss.nnn | LastModifyTime | Last time that the rule definition was modified; this does not include changes and updates to the rule status parameters listed in this table. | yyyy/mm/dd hh:mm:ss.nnn |
|
Expand |
---|
|
In general, the rule criteria are the conditions that must be met before the rule actions can be taken. Each of the Boolean statements specified in a criteria group must be satisfied in order to consider the criteria group completely satisfied and to trigger the output actions. This is equivalent to saying that all of the Boolean statements contained in a criteria group are AND’ed together to produce the value of the entire expression. This includes any sub-criteria groups that are contained within a parent criteria group. However, the rule itself may contain multiple criteria groups. Each of these root criteria groups are OR’ed together during evaluation of the rule to produce the final result. Because any Boolean statement can be represented in Sum-Of-Products form (the logical-OR of groups of AND’ed statements), this criteria group structure is capable of storing any Boolean statement. Currently, the only type of criteria that may be specified in an operational rule is a VariableCondition. VariableCondition CriteriaA VariableCondition is an expression containing variables from global common and/or constant values. The condition is considered true if the expression evaluates to a non-zero value, otherwise the condition is considered false. A VariableCondition expression is formatted identically to a standard . Following are examples of VariableConditions: |