About the Sequencer Object
This section helps you understand the basic features of the Sequencer object, what they do, and how they interact.
Related Topics
What is the Sequencer Object?
Sequencer Object Structure
Step Structure
Steps and Aliases Naming Conventions
Limitations
What is the Sequencer Object?
The Sequencer Object is an ArchestrA application object. It lets you configure, execute, and manipulate a sequence of operations associated with ArchestrA attributes within an Industrial Application Server application.
You can use it to automate:
- repetitive manufacturing procedures with a finite number of steps
- supervisory processes with a finite number of steps
Related Topics
Sequencer Object Structure
Step Structure
Steps and Aliases Naming Conventions
Limitations
Sequencer Object Structure
A Sequencer Object consists of three main parts:
- Step Program - a collection of steps that define the reading and writing operations associated with ArchestrA attributes via Aliases. When in operation, the Sequencer object advances cyclically through the steps or jumps based on various events, conditions, and timers. Inputs are evaluated and values are written to defined outputs.
- Aliases - a list of names that are mapped to ArchestrA attributes. The Sequencer Object uses these names internally to associate inputs and outputs with ArchestrA attributes.
- Settings - other settings that control the behavior of the Sequencer Object.
Related Topics
Step Program
Aliases
Settings
Step Program
The Sequencer Object hosts a Step Program that has a finite number of steps.
Steps
Steps are processed sequentially unless certain conditions are met that instruct the processing to continue at a specified step (Jump To).
The step that is being processed at any given time, is called the Current Step. There is only one current or active step at any given time.
The conditions for processing the next step or any specified step are controlled by events (triggers, timers, or a combination of triggers and timers).
Outputs
You can write values to ArchestrA attributes whenever a certain step becomes active or before Sequencer jumps to the next or another step.
Note To write to an ArchestrA attribute you must first map it to an Alias. For specifics, see Aliases.
Every step of the Step Program allows you to associate the step entry and/or the step exit with values that are written to the Aliases. These values form an output matrix.
An output value can be one of two types:
- literal value (number, string, date time, elapsed time or boolean)
- value of another Alias (referencing another ArchestrA attribute)
Empty cells in the matrix mean that no write to the the associated Alias takes place.
Literal Values
You can configure a step to write literal values to attributes either when a step becomes active or after the step is triggered, either by the step condition or the jump condition. Some examples of literal values are 3.141, 17, “Start”, and “Pause”.
Note Literal values that are either string, date time, or elapsed time data type must be enclosed by double quotes to be recognized as such. If they are not enclosed by double quotes they are considered to be Aliases. You can embed double quotes in literal strings without any escape character. For example: “Joe said “Hello””. Most special characters are accepted within double quotation marks, except for tabs and carriage returns.
Aliases
You can configure a step to write the value of another attribute to the output. In this case the output causes the step program to pass the value of one attribute to another attribute. This applies to any Alias you have defined in your Step Program.
Aliases
At run time, the Sequencer Object interacts with attributes of other ArchestrA objects. These attributes can be:
- Inputs that cause the step condition or jump condition to be fulfilled. Typical inputs are sensory devices that trigger the step execution when a certain condition in a factory device is fulfilled. For example, a tank level sensor.
- Outputs are written either before or after the step or jump condition is fulfilled. Typical outputs are to device controls, such as valve controls.
- Inputs and Outputs at the same time. A typical example is a condition reset.
The Step Program can reference the same ArchestrA attribute multiple times in the Step Program. Instead of referencing these attributes directly, the Sequencer Object uses a list of Aliases to reference the attributes. Using Aliases simplifies the appearance of the step program and saves time when the referenced attribute needs to be updated.
Note Writes are not guaranteed. Only invalid references are reported. The Sequencer Object does not request or evaluate write confirmations.
In the Sequencer Object, you can configure the mapping of Aliases to ArchestrA attributes.
Settings
You can set generic parameters of the Sequencer Object in the Settings panel, such as:
- Settings - you can set the initial command and the Sequencer behavior after errors and failover
- Alarms - you can instruct the Sequencer Object to generate an alarm if an error or a warning occurs
- Security - you can lock access to certain Sequencer Object features at design time and run time
Step Structure
This section describes the functionality embedded in every step.
Related Topics
Step Entry, Step Body and Step Exit
Step Condition and Jump Condition
Write on Exit
Jump To
Step Entry, Step Body and Step Exit
Every step includes a:
- Step Entry section where values are written to ArchestrA attributes after the step is activated. The On Entry outputs are processed on the first scan cycle when the step becomes active.
- Step Body section where the step condition and jump condition are continuously evaluated. Step and jump conditions are not executed until the second scan of the step.
- Step Exit section where values are written to ArchestrA attributes after the step condition or jump condition is fulfilled. The On Exit outputs are processed in the same scan cycle when the step condition or jump condition is fulfilled.
Note Once a step is active, it is evaluated once per scan cycle until it is no longer the active step.
Minimal Steps
Minimal Steps are empty steps with
- an Always True step condition
- no jump condition
- no values being written to outputs
The minimal step can be considered a No Operation (NOP) Step. The Sequencer stays in an empty step exactly two engine execution cycles before advancing to the next step. No Operation (NOP) steps are useful for inserting dummy steps for future enhancements.
Step Condition and Jump Condition
Every step body contains a:
- Step Condition - if the step condition is fulfilled, Sequencer continues processing at the next step
- Jump Condition - if the jump condition is fulfilled, Sequencer continues processing at a specified step (which can also be the current step).
Note If both the step condition and the jump condition are true, advancing to the next step takes precedence over the jump.
By default:
- Jump Write OnExit is False, which means On Exit output values are not written for a jump transition.
- Step Write OnExit is True, which means On Exit output values are written for a step transition.
You can change this setting for any given step in your program.
A single step with a jump condition is processed as follows:
- The step becomes active. On Entry values are written to Outputs.
- Sequencer cycles continuously at the step body, evaluating the step condition and the jump condition at every scan cycle.
- When the step condition is met, the On Exit output values are written if the Step Write OnExit is True, and the Sequencer advances to the next step.
- When the jump condition is met, the On Exit output values are written if Jump Write OnExit is True, and the Sequencer moves the active step to the specified step.
Tip Jumps can be forward, backward, or to the current step. If the current step is the target of the jump, the on entry outputs are written once just like at any other step destination.
You can use Jump transitions for:
- Conditional Program Flow
- Error Handling
- Monitoring
Triggers
In the step program, triggers cause the step or jump condition of the active step to be met and the step program processing to continue. Triggers are linked to Aliases that reference ArchestrA attributes.
Note Triggers are usually linked to Boolean attributes, but can also use any other numeric data type (integer, float, double). The trigger value is coerced to True or False.
In the simplest While True case, when a Trigger (Boolean attribute) is true, the condition evaluates to true, the OnExit Output are written and the step is ready to transition the next scan. The Aliases panel maps attributes to Aliases. The Aliases are mapped to steps via values to be written at that step.
Step and Jump Conditions are triggered by referenced Boolean attributes in different ways, such as when the Boolean attribute:
- is true: While True
- becomes true while the step is active: On True
- is false: While False
- becomes false while the step is active: On False
- changes from true to false or vice-versa: Data Change
A condition can also be
- never fulfilled: Always False
- always fulfilled: Always True
without using any Aliases.
Timers
Timers can either be used on their own or in combination with triggers to fulfill a certain processing requirement.
Simple Timer
A Simple timer is started when the step becomes active. When the timer elapses, the condition is set to true.
Cyclic Timers
Cyclic Timers are pulse timers that evaluate to true for one scan at a certain time each month, each week, each day, each hour or each minute.
Cyclic timers do not retain the fired state. If a cyclic timer event did not lead to a firing condition due to combinations with triggers, the cyclic timer enters the non-firing state until the next cyclic timer event occurs.
Combined Triggers and Timers
You can combined a trigger and timer to form a combined condition. This is done by using a logical operators (AND, OR) or a special operator called DELAY.
Delay Timer
The Step or Jump Condition is fulfilled if the delay timer has elapsed. Delay Timers can either be:
- Delay Simple timer - is started when the trigger condition is met. Once started, it runs down unconditionally. When the timer elapses, the condition is set to true.
- Retentive - allows summing up the times a trigger condition is true until it reaches the specified interval.
- Non-Retentive - tests for a minimum time a trigger condition needs to be continuously true before triggering.
Always True, Always False
The Always True condition instructs Sequencer to always execute the step, or in the case of a jump condition, to enforce a jump to a specified step.
The Always False condition instructs Sequencer to ignore the step execution, or to never jump, in the case of a jump condition.
Write on Exit
For the Step Condition and the Jump Condition there is a Write on Exit option. You can use the Write on Exit option to instruct Sequencer to write the outputs to the Aliases either when the Step or Jump Condition is fulfilled.
By default the Write on Exit option is set for the Step Condition, and not set for the Jump Condition.
Jump To
The Jump To parameter of any step specifies the Step Name where Sequencer jumps to if the Jump Condition is fulfilled and the Step Condition is not fulfilled.
Steps and Aliases Naming Conventions
Steps and Aliases follow the same naming conventions:
- They can only consist of alphanumeric characters, underscore (“_”) and period (“.”).
- They can only start with an alphanumeric character and an underscore (“_”).
- They must include at least one alphabet character.
- They can be up to 32 characters in length.
- They are case-insensitive (for example it is not possible to create the Aliases “Alias1” and “aLiAs1” in the same Alias definition list).
- Capitalization is allowed and maintained (for example it is possible to rename “Step1” to “sTeP1” and the change persists)
- Alias names cannot be True or False.
Related Topics
What is the Sequencer Object?
Sequencer Object Structure
Step Structure
Limitations
Limitations
A Sequencer Object has the following limitations:
- maximum of 1000 steps
- maximum of 1000 Aliases
- maximum of 250 outputs (OnEntry and OnExit) per step
- maximum of 10,000 outputs (OnEntry and OnExit) across all steps
Related Topics
What is the Sequencer Object?
Sequencer Object Structure
Step Structure
Steps and Aliases Naming Conventions
Sequencer Object Help
This section includes the following:
Configuration Object Attributes
The following section lists the Sequencer object attributes associated with configuration panels.
Step Program
The following table lists the Sequencer object attributes associated with options on the Step Program panel:
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access
|
|
Step Program
|
.PrgStepProgram
|
Stores the Step Program in an XML format. The step program consists of
- all the steps and corresponding output values
- StepProgramName, Step Program Comment, Initial Step Name and Final Step Name.
The step program does not include information about the Alias References or settings.
|
Read-Only
|
|
Step Program Name
|
.PrgStepProgram
|
Exposed at run time via the PrgName attribute. For more details, see attribute .PrgName in Program Attributes.
|
Read-Only
|
|
Initial Step Name
|
.PrgStepProgram
|
Exposed at run time via the .PrgStepInitial. Modifiable at run time via PrgStepInitialCmd. For more details, see attribute .PrgStepInitial in Program Attributes.
|
Read-Only
|
|
Final Step Name
|
.PrgStepProgram
|
Exposed at run time via the .PrgStepFinal. Modifiable at run time via PrgStepFinalCmd. For more details, see attribute .PrgStepFinal in Program Attributes.
|
Read-Only
|
|
Step Program Comment
|
.PrgStepProgram
|
For run-time behavior, see attribute .PrgComment in Program Attributes.
|
Read-Only
|
Aliases
The following table lists the Sequencer object attributes associated with options on the Aliases panel:
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access
|
|
Alias Definitions
|
.PrgAliasConfig
|
Stores the Sequencer Alias/attribute reference configuration in an XML format string.
|
Read-Only
|
Settings
The following tables list the Sequencer object attributes associated with options on the Settings panel.
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access
|
|
Initialization Timeout
|
.InitializationTimeout
|
Allows you to specify timeout period (ms) for the Initializing state. If the timeout period had elapsed and not all of the references returned valid updates, the following attributes are set:
- ExecutionState = StoppedError
- ExecutionHalted.Condition = True
- ExecutionHaltedDesc = “Failed to acquire valid initial updates from input/output(s), program execution halted.”
|
Supervisory, User
|
Settings
The following table lists Sequencer object attributes associated with options on the Settings panel in the Settings group box. These four attributes can be imported/exported and load/saved as XML.
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access
|
|
Initial Command
|
.PrgInitialCommand
|
Sets the initial command the Sequencer starts after deployment or reset
"Start". Start the Sequencer (switch to running mode)
"Stop". Stop the Sequencer (switch to stopped mode)
"SingleStep". Switch to Single Step Mode
"Hold". Switch to RunningHeld
|
Supervisory, User
|
|
Halt on Condition Error
|
.PrgHaltOnConditionError
|
If TRUE (default) then when a Condition Trigger Failure is detected, the Sequencer is halted and ExecutionState is set to StoppedError.
If FALSE then when a Condition Trigger Failure is detected, the sequencer does not halt.
|
Supervisory, User
|
|
Halt on Output Error
|
.PrgHaltOnOutputError
|
If TRUE (default) then when an OnEntry or OnExit Output failure is detected, the Sequencer is halted and ExecutionState is set to StoppedError.
If FALSE then Sequencer continues.
|
Supervisory, User
|
|
Auto Resume after Restart/Failover
|
.AutoResume
|
If the ExecutionState is Running or SingleStep before restart/failover, the Sequencer returns to the RunningHeld state following restart/failover. Set this attribute to True to set the Sequencer to auto resume. Allows user to configure whether the object should auto resume on restart/failover.
If false and ExecutionHalted alarm is enabled, an ExecutionHalted alarm is raised on restart/failover after the ExecutionState is set to RunningHeld.
Restart refers to the following:
- going back to Onscan after toggling from Onscan to Offscan
- AppEngine Startup for checkpoint
|
Supervisory, User
|
Alarms
The following table lists Sequencer object attributes associated with options on the Settings panel in the Alarms group box:
|
Editor Option
|
Associated Attribute
|
Description
|
|
Detect Execution Halted
|
.ExecutionHalted.Alarmed
|
Enable or disable ExecutionHalted alarm. The ExecutionHalted alarm is raised when the sequencer is abnormally halted.
|
|
Priority
|
.ExecutionHalted.Priority
|
See Alarm Attributes.
|
|
Detect Condition Trigger Failure
|
.ConditionTriggerFailure.Alarmed
|
Enable or disable ConditionTriggerFailure alarm. The ConditionTriggerFailure alarm is raised when the sequencer failed to evaluate condition trigger of the current step.
|
|
Priority
|
.ConditionTriggerFailure.Priority
|
See Alarm Attributes.
|
|
Detect OnEntry Output Failure
|
.OnEntryOutputFailure.Alarmed
|
Enable or disable OnEntryOutputFailure alarm. OnEntryOutputFailure alarm is raised if there is error writing to any of the OnEntry outputs.
|
|
Priority
|
.OnEntryOutputFailure.Priority
|
See Alarm Attributes.
|
|
Detect OnExit Output Failure
|
.OnExitOutputFailure.Alarmed
|
Enable or disable OnExitOutputFailure alarm. OnExitOutputFailure alarm is raised if there is error writing to any of the OnExit outputs.
|
|
Priority
|
.OnExitOutputFailure.Priority
|
See Alarm Attributes.
|
Locking and Security
The following table lists Sequencer object attributes associated with options on the Settings panel in the Security group box:
|
Editor Option
|
Associated Attribute
|
Description
|
|
Execution State Command
|
.ExecutionStateCmd
|
For run-time behavior, see attribute .ExecutionStateCmd in Execution Attributes.
|
|
Set Active Step Name Command
|
.StepNameCmd
|
For run-time behavior, see attribute .StepNameCmd in Execution Attributes.
|
|
Set Active Step Number Command
|
.StepNumCmd
|
For run-time behavior, see attribute .StepNumCmd in Execution Attributes.
|
|
Set Initial Step Command
|
.PrgStepInitialCmd
|
For run-time behavior, see attribute .PrgStepInitialCmd in Program Attributes.
|
|
Set Final Step Command
|
.PrgStepFinalCmd
|
For run-time behavior, see attribute .PrgStepFinalCmd in Program Attributes.
|
|
Sequence Configuration Command
|
.PrgSeqConfigCmd
|
For run-time behavior, see attribute .PrgSeqConfigCmd in Program Attributes.
|
|
Selected OnEntry Output Values
|
.Selected.OnEntryOutputValues
|
For run-time behavior, see attribute .Selected.OnEntryOutputValues in Selected Attributes.
|
|
Selected OnExit Output Values
|
.Selected.OnExitOutputValues
|
For run-time behavior, see attribute .Selected.OnExitOutputValues in Selected Attributes.
|
|
Selected Step Timer Preset
|
.Selected.StepTimerPreset
|
For run-time behavior, see attribute .Selected.StepTimerPreset in Selected Attributes.
|
|
Selected Jump Timer Preset
|
.Selected.JumpTimerPreset
|
For run-time behavior, see attribute .Selected.JumpTimerPreset in Selected Attributes.
|
|
Selected Jump To Step Name
|
.Selected.JumpToStepName
|
For run-time behavior, see attribute .Selected.JumpToStepName in Selected Attributes.
|
|
Selected Step Write On Exit
|
.Selected.StepWriteOnExit
|
For run-time behavior, see attribute .Selected.StepWriteOnExit in Selected Attributes.
|
|
Selected Jump Write On Exit
|
.Selected.JumpWriteOnExit
|
For run-time behavior, see attribute .Selected.JumpWriteOnExit in Selected Attributes.
|
Run-Time Object Attributes
The following section lists the Sequencer object attributes associated with the run-time environment.
Execution Attributes
The following table lists the Sequencer object attributes associated with the Sequencer execution at run time.
|
Attribute
|
Description
|
Run-Time Access
|
|
.ExecutionState
|
The execution state of the Sequencer can be:
Note Depending on the current ExecutionState, certain ExecutionStateCmds are allowed while others are not.
|
Read-Only
|
|
.ExecutionStateCmd
|
Set the mode at run time to control the operation mode of the Sequencer Object:
"Start". Start the Sequencer (switch to running mode)
"Stop". Stop the Sequencer (switch to stopped mode)
"Reset". Start the Sequencer from the InitialStep in the state specified in by the InitialCommand. If InitialStep is blank, start from Step Number 1.
"Advance". Advance unconditionally to the next step (manually forced step transition)
Set at run time to force the value of StepNum to the next step without evaluating step conditions or timers or jump conditions or jump timers. If StepNum = StepCnt and and StepNum <> FinalStep then StepNum advances to the first step (1). If the OnExit condition have not been set yet (step current step is in the step body) the OnExit outputs of the step transition is written if configured in the step condition.
"SingleStep". Run Sequencer in Single Step Mode.
"Confirm". Confirm a pending single step transition. Set at run time to confirm the transition to the next step or jump destination in the state: "SingleStepTransitionReady".
"Hold" Switch to hold
"Resume" Resume to running from HOLD state
Note When in "SingleStepTransitionReady" or "RunningHeld" state, the operator can still move to new steps using the "Advance", "Reset" commands or the StepNumCmd or StepNameCmd attributes.
|
Supervisory, User
|
|
.ExecutionHalted.Condition
|
Shows that the Sequencer is abnormally halted when:
- a condition error occurs and HaltOnConditionError is true
- an output error occurs and HaltOnOutputError is true
- a failover occurs and AutoResume is false
- the object is switched OffScan and then OnScan and AutoResume is false
- the hosting AppEngine is shutdown and restarted OnScan and AutoResume is false
TRUE: The program execution was abnormally halted by the Sequencer.
FALSE: The program execution is running as controlled by the user.
|
Read-Only
|
|
.ExecutionHaltedDesc
|
Warning description to indicate why the execution is halted.
|
Read-Only
|
|
.ConditionTriggerFailure.Condition
|
Monitors the ConditionTrigger of the CurrentStep and is set to True when a problem is detected.
TRUE: Failed to evaluate condition trigger of the current step because
- either the trigger attribute quality is not Good
- or the reference to the trigger cannot be resolved, coerced or made available.
FALSE: No Condition Error detected in the current step.
|
Read-Only
|
|
.ConditionTriggerFailureDesc
|
Warning description that indicates a possible reason for the ConditionTriggerFailure.
|
Read-Only
|
|
.OnEntryOutputFailure.Condition
|
TRUE: Failed to evaluate condition trigger of the current step because
- the output Alias reference cannot be resolved
- or the output value cannot be coerced or the output Alias reference is unavailable.
TRUE: In case of an On Entry Output error detected in the current step.
FALSE: No OnEntry Output error detected in the current step.
|
Read-Only
|
|
.OnEntryOutputFailureDesc
|
Warning description for the OnEntryOutputFailure attribute.
|
Read-Only
|
|
.OnExitOutputFailure.Condition
|
TRUE: In case of an On Exit Output error detected in the current step because
- the output Alias reference cannot be resolved
- or the output value cannot be coerced or the output Alias reference is unavailable.
FALSE: No OnExit Output error detected in the current step.
|
Read-Only
|
|
.OnExitOutputFailureDesc
|
Warning description for the OnExitOutputFailure attribute.
|
Read-Only
|
|
.StepNameCmd
|
Set to desired step name at run time to force the Sequencer Object to go unconditionally to this step without evaluating step conditions or timers or jump conditions or jump timers (manually forced jump transition). If the OnExit outputs of the current step have not been set yet, the OnExit values are written if JumpWriteOnExit is true before going to the new step location where the OnEntry output values are set. As soon as the new step position is reached all Current.xxx values are updated.
Run time: Forces the Sequencer Object to set the target step as the current step executing all OnExit and OnEntry output value settings.
|
Supervisory, User
|
|
.StepNumCmd
|
Set to desired step number at run time to force the Sequencer Object to go unconditionally to this step without evaluating step conditions or timers or jump conditions or jump timers (manually forced jump transition). If the OnExit outputs of the current step have not been set yet, the OnExit values are written if JumpWriteOnExit is true before going to the new step location where the OnEntry output values are set. As soon as the new step position is reached all Current.xxx values are updated.
Run time: Forces Sequencer Object to set the target step as the current step executing all OnExit and OnEntry output value settings.
|
Supervisory, User
|
Current Attributes
The following table lists all Sequencer object attributes associated with the currently active step at run time:
|
Attribute
|
Description
|
Run-Time Access
|
|
.Current.JumpConditionConfig
|
The string representation of the step condition configuration.
<condition type>|<timer preset>|<trigger expression>
Where:
<condition type> consists of 3 characters indicating the condition, trigger, and timer type:
<Timer preset> always has the format: <dd>:<hh>:<mm>:<ss>
where the delimiter is always:
<trigger expression> is the only variable length section of this syntax. It can have the form:
<Alias name> for Boolean or data change evaluation (trigger T,F,t,f,c)
Where Alias name is any symbolic Alias name used by the Sequencer.
|
Read-Only
|
|
.Current.JumpConditionState
|
Shows the jump trigger condition evaluation result. TRUE if Jump condition is TRUE else FALSE.
|
Read-Only
|
|
.Current.JumpTimeRemaining
|
Remaining time of the jump timer in seconds.
|
Read-Only
|
|
.Current.JumpTimerRunning
|
Shows if the jump timer is running.
|
Read-Only
|
|
.Current.JumpToStepName
|
Represents the name of the destination step that the Sequencer Object jumps to on jump transition in the current step.
|
Read-Only
|
|
.Current.JumpWriteOnExit
|
Shows if WriteOnExit is set for the Jump Condition of the current step. TRUE: Outputs are written before jump transition. FALSE: Outputs are not written before jump transition.
|
Read-Only
|
|
.Current.OnEntryAliasNames
|
Shows the string array list of the current step OnEntry output names.
|
Read-Only
|
|
.Current.OnEntryOutputCnt
|
Shows the number of outputs in the OnEntry Alias and value arrays.
|
Read-Only
|
|
.Current.OnEntryOutputValues
|
Shows the string array list of the current step OnEntry output set values.
|
Read-Only
|
|
.Current.OnExitAliasNames
|
Shows the string array list of the current step OnExit output Alias names.
|
Read-Only
|
|
.Current.OnExitOutputCnt
|
Shows the number of outputs in the OnExit Alias and value arrays.
|
Read-Only
|
|
.Current.OnExitOutputValues
|
Shows the string array list of the current step OnExit output set values.
|
Read-Only
|
|
.Current.StepConditionConfig
|
Shows the string representation of the step condition configuration.
<condition type>|<timer preset>|<trigger expression>
Where:
<condition type> consists of 3 characters indicating the condition, trigger and timer type:
<Timer preset> always has the format: <dd>:<hh>:<mm>:<ss>
where the delimiter is always:
<trigger expression> is the only variable length section of this syntax. It can have the form:
<Alias name> for Boolean or data change evaluation (trigger T,F,t,f,c)
Where Alias name is any symbolic Alias name used by the Sequencer.
|
Read-Only
|
|
.Current.StepConditionState
|
Shows the step condition evaluation result. TRUE if the step condition is TRUE else FALSE.
|
Read-Only
|
|
.Current.StepDuration
|
Shows the elapsed time since the start of the current step.
|
Read-Only
|
|
.Current.StepName
|
Shows the name of the currently active step. Empty string if no step is active.
|
Read-Only
|
|
.Current.StepStartTime
|
Shows the time that the Sequencer Object entered the current step. Resets to the current time when step number changes or the current step is restarted.
|
Read-Only
|
|
.Current.StepTimeRemaining
|
Shows the remaining time of the step timer.
|
Read-Only
|
|
.Current.StepTimerRunning
|
Shows if the Step timer is running.
|
Read-Only
|
|
.Current.StepWriteOnExit
|
Shows if WriteOnExit is set for the Step Condition of the current step
TRUE: Outputs are written before step transition. FALSE: Outputs are not written before step transition.
|
Read-Only
|
Program Attributes
The following table lists the Sequencer object attributes associated with the Sequencer program at run time:
|
Attribute
|
Description
|
Run-Time Access
|
|
.PrgAliasCnt
|
The total number of Aliases contained in the Sequencer program.
|
Read-Only
|
|
.PrgAliasNames
|
The string array list of the Sequencer Object Alias names.
|
Read-Only
|
|
.PrgComment
|
Stores an optional Sequencer program comment.
|
Read-Only
|
|
.PrgFileMatch
|
Set to False when the user has made a change to the program (step program, Alias configuration or settings) at run time but the program has not been saved to a file. This flag is also set to False when loading an XML file that does not contain all 3 sections (step program, Alias configuration, settings) so that existing sections are preserved or when loading an XML file into sections that have locked attributes.
|
Read-Only
|
|
.PrgFileName
|
The file name and path of the most-recently (successfully) loaded or saved file name.
|
Read-Only
|
|
.PrgFileNameToLoadSave
|
Stores the file name that the user specifies for loading and saving.
|
Supervisory, User
|
|
.PrgName
|
Displays the optional Sequencer program name.
|
Read-Only
|
|
.PrgReferenceNames
|
The string array list of the attibute references that are mapped to the Sequencer Object Aliases. The array is in the same sequence as the Alias names array.
|
Read-Only
|
|
.PrgSeqConfig
|
- Allows user to update PrgStepProgram, PrgAliasConfig or Settings or any combination of them by specifying the corresponding section in the XML data set to this attribute.
- The actual update takes place once PrgSeqConfigCmd is set to Update.
- After Update is processed successfully, the value in the PrgSeqConfig is cleared.
|
Supervisory, User
|
|
.PrgSeqConfigCmd
|
Set at run time to perform file IO or update the attribute PrgStepProgram, PrgAliasConfig or Settings or any combination of them. Feedback is provided by the PrgSeqConfigStatus attribute.
"Save" - save the Sequencer program XML configuration to the file which is specified in PrgFileNameToLoadSave (the filename from where it was loaded or where it was successfully saved to in a previous save as operation). This operation fails if PrgFileNameToLoadSave is empty or specifies an invalid or read only file.
"Load" - load the Sequencer XML data from the file specified in PrgFileNameToLoadSave. The Sequencer object loads whatever data is found in the XML file: Step Program data (steps and output values), Alias data (Alias names and attribute references) and Settings.
If any of these sections are missing, the corresponding currently active data section remains unchanged. This allows replacing individual sections only (like loading a step program without modifying the existing IO configuration).
"Update" - similar to Load except that the data is coming from the PrgSeqConfig attribute instead of a file.
Run time: Performs configuration operations and reflects the result in the PrgSeqConfigStatus attribute. Rejects with an Operational Error any attempt to issue a PrgSeqConfigCmd while PrgSeqConfigStatus is other than Ready or Error.
|
Supervisory, User
|
|
.PrgSeqConfigStatus
|
Shows the result of the Save, Load or Update initiated by the PrgSeqConfigCmd.
- "Ready",
- "Error",
- "Loading",
- "Saving",
- "Updating"
|
Read-Only
|
|
.PrgSeqConfigStatus.Code
|
Shows the result of the Save/Load/Update initiated by the PrgSeqConfigCmd
Possible values:
- 0 - The action completed successfully, no problem was detected
- Severity 1000 (Warning) - reflects skipping update on some attributes due to lock during Load or Update
- Severity 2000 (Critical) - means error and the whole Load, Update or Save is rejected
|
Read-Only
|
|
.PrgSeqConfigStatus.Desc
|
Corresponds to PrgSeqConfigStatus.Code
Includes Step Name and Step # when relevant.
Includes Alias Name and # when relevant.
It is empty when PrgSeqConfigStatus.Code = 0
|
Read-Only
|
|
.PrgSeqConfigStatus.Error
|
Shows the result of the Save/Load/Update initiated by the PrgSeqConfigCmd
It is set to True when PrgSeqConfigStatus.Code>=2000
|
Read-Only
|
|
.PrgStepCnt
|
Shows the total number of steps contained in the Sequencer object.
|
Read-Only
|
|
.PrgStepInitial
|
Shows the starting step name of the Sequencer Object when deploying to run time or when reset.
|
Read-Only
|
|
.PrgStepInitialCmd
|
Allows run-time modification of the initial step name.
Run time: Replaces initial step name in the Sequencer step program attribute and updates PrgStepInitial. The set is rejected with Operational error if PrgStepProgram attribute is locked. Validates the string value. A valid initial step string value is either an empty string or any existing step name in the step program. If this initial step name is empty the Sequencer starts on the first step in the sequence.
|
Supervisory, User
|
|
.PrgStepFinal
|
Allows run-time modification of the final step name.
|
Read-Only
|
|
.PrgStepFinalCmd
|
Allows run-time modification of the final step name.
Run time: Replaces final step name in the Sequencer step program attribute and updates PrgStepFinal. The set is rejected with Operational error if PrgStepProgram attribute is locked. Validates the string value. A valid final step string value is either an empty string or any existing step name in the step program.
|
Supervisory, User
|
|
.PrgStepNames
|
Shows the string array list of the Sequencer Object step names.
|
Read-Only
|
|
.ProgramError
|
TRUE: In case of an Program Error.
FALSE: No Program Error detected.
|
Read-Only
|
|
.ProgramErrorDesc
|
Description of the Program Error.
|
Read-Only
|
Selected Attributes
The following table lists all Sequencer object attributes associated with the selected step at run time:
|
Attribute
|
Description
|
Run-Time Access
|
|
.Selected.JumpConditionConfig
|
Represents the string representation of the jump condition configuration. <condition type>|<timer preset>|<trigger expression>
Where:
<condition type> consists of 3 characters indicating the condition, trigger, and timer type:
<Timer preset> always has the format: <dd>:<hh>:<mm>:<ss>
<trigger expression> is the only variable length section of this syntax. It can have the form:
<Alias> for Boolean or data change evaluation (trigger T,F,t,f,c)
Where Alias is any symbolic Alias used by the Sequencer.
|
Read-Only
|
|
.Selected.JumpTimerPreset
|
Allows run-time modification of the jump timer preset.
Run time: Replaces timer preset of the selected step with poked value if valid, updates Selected.JumpConditionCfg attribute. If Current = Selected, the new value is reflected in the calculation of the Current.JumpTimeRemaining attribute.
|
Supervisory, User
|
|
.Selected.JumpToStepName
|
Allows run-time modification of the destination step that the Sequencer Object jumps to on jump transition in the selected step.
If Current = Selected the new value should be reflected in the Current.JumpToStepName attribute.
The set is rejected with a Config Error if the new value does not match an existing step of the step program.
|
Supervisory, User
|
|
.Selected.JumpWriteOnExit
|
Shows if WriteOnExit is set for the Jump Condition of the selected step. TRUE: Outputs are processed before jump transition. FALSE: Outputs are not processed before jump transition.
Run time: Replaces jump WriteOnExit of the selected step with poked value, updates Selected.JumpConditionCfg attribute.
If Current = Selected then Current.JumpWriteOnExit and Current.JumpConditionCfg are also updated.
|
Supervisory, User
|
|
.Selected.OnEntryAliasNames
|
OnEntry Output names corresponding to the Selected.OnExitOutputCnt and Selected.StepNum
|
Read-Only
|
|
.Selected.OnEntryOutputCnt
|
The number of outputs in the OnEntry Alias and value arrays of the selected step.
|
Read-Only
|
|
.Selected.OnEntryOutputValues
|
Shows and allows modification of OnEntry Output values that correspond to the selected step.
Run time: Invalid values lead to an output error later when writing to the output.
|
Supervisory, User
|
|
.Selected.OnExitAliasNames
|
OnExit Output names corresponding to the selected step.
|
Read-Only
|
|
.Selected.OnExitOutputCnt
|
The number of outputs in the OnExit Alias and value arrays of the selected step.
|
Read-Only
|
|
.Selected.OnExitOutputValues
|
Shows and allows modification of OnExit Output values corresponding to the selected step.
If Current = Selected then the new value(s) are reflected in the Current.OnExitOutput values.
Note The size of the array cannot be changed, only the existing values.
Run time: Invalid values lead to an output error later when writing to the output.
|
Supervisory, User
|
|
.Selected.StepConditionConfig
|
Represents the string representation of the step condition configuration.
<condition type>|<timer preset>|<trigger expression>
Where:
<condition type> consists of 3 characters indicating the condition, trigger and timer type:
<Timer preset> always has the format: <dd>:<hh>:<mm>:<ss>
<trigger expression> is the only variable length section of this syntax. It can have the form:
<Alias> for Boolean or data change evaluation (trigger T,F,t,f,c)
Where Alias is any symbolic Alias used by the Sequencer.
|
Read-Only
|
|
.Selected.StepName
|
Represents the Step Name of the selected step. This attribute can be set at run time and behaves like .Selected.StepNum.
|
Supervisory, User
|
|
.Selected.StepNum
|
Run-time configurable Step Number value. Selected.StepNum is used for run-time (esp. HMI) editing of the selected step number parameters.
Run time: Value cannot be less than one and cannot exceed the StepCnt. RTError is generated when a set attempt is made on an out of range value.
When a value is set to Selected.StepNum update all Selected.* attribute values.
|
Supervisory, User
|
|
.Selected.StepTimerPreset
|
Allows run-time modification of the step timer preset.
Run time: Replaces timer preset of the selected step with poked value if valid, updates Selected.StepConditionCfg attribute. If Current = Selected, the new value is reflected in the calculation of the Current.StepRemaining attribute.
|
Supervisory, User
|
|
.Selected.StepWriteOnExit
|
Shows if WriteOnExit is set for the Step Condition of the selected step. TRUE: Outputs are evaluated before step transition. FALSE: Outputs are not evaluated before step transition.
Run time: Replaces step WriteOnExit of the selected step with poked value, updates Selected.StepConditionCfg attribute. If Current = Selected then Current.StepWriteOnExit and Current.StepConditionCfg are also updated.
|
Supervisory, User
|
Alarm Attributes
If an alarm attribute is enabled, then the following additional alarm attributes become available. None of these attributes can be alarmed.
|
Attribute
|
Description
|
|
<Attribute>.Acked
|
Used to specify whether an alarm has been acknowledged. This attribute is updated when the AckMsg attribute is set. This attribute is always set to FALSE when a new alarm condition is detected (when the InAlarm attribute changes from FALSE to TRUE).
|
|
<Attribute>.AckMsg
|
The operator comment at the time the alarm is acknowledged. Any received text is stored, and the Acked attribute is set to TRUE. Also, the TimeAlarmAcked attribute is set to the current time. The maximum length is 256 characters.
|
|
<Attribute>.AlarmMode
|
The current alarm mode setting. Valid values are: Enable, Disable, Silence.
|
|
<Attribute>.AlarmModeCmd
|
The command to set the alarm mode. Valid values are: Enable, Disable, Silence.
|
|
<Attribute>.Category
|
The category of the alarm. The label of each alarm category is fixed.
|
|
<Attribute>.DescAttrName
|
The description of the alarm. The description must be of type String or InternationalizedString, with a maximum length of 329 characters. The DescAttrName attribute can contain a static alarm description or a reference to another string attribute within the same object containing the alarm description. The reference must be in the form: "me.AttrName". If the reference is invalid, the actual reference string is used for the description. If nothing is supplied for the DescAttrName attribute, the object’s ShortDesc attribute is used at run time.
|
|
<Attribute>.InAlarm
|
The alarm state. This is exactly the same as the attribute in the host primitive that represents the alarm condition, except when the alarm state is disabled, in which case, InAlarm is set to Off, regardless of the actual condition state.
The quality is set during execute to the quality of the attribute, except when the alarm is disabled, in which case the quality is always GOOD.
|
|
<Attribute>.Inhibit
|
If true, the alarm is disabled. This attribute is intended to be written to by a script or user or input extension. Only the individual alarm is disabled. No other alarms are disabled in the same object or in any objects that are assigned to or contained by this object.
|
|
<Attribute>.Priority
|
The value for the urgency of the alarm. Valid values are 1 through 999, with 1 being the most urgent.
|
|
<Attribute>.TimeAlarmAcked
|
The timestamp indicating the last time this alarm was acknowledged. The date format reflects the current locale setting for the operating system.
|
|
<Attribute>.TimeAlarmOff
|
The timestamp indicating the last time this alarm (as represented by the InAlarm attribute) went off. The date format reflects the current locale setting for the operating system.
|
|
<Attribute>.TimeAlarmOn
|
The timestamp indicating the last time this alarm (as represented by the InAlarm attribute) went on. The date format reflects the current locale setting for the operating system.
|
© 2014 Invensys Systems, Inc. All Rights Reserved.
Invensys is a Schneider Electric company
11/5/14