Summary
A Strategy is a workflow made of blocks that can be executed to automate every task such as:
-
Add and set components to create or enhance logic
-
Set parameters
-
Create px views
-
Add some widgets in views
-
Invoke actions
-
Process alarms
-
Process histories
-
...
A strategy is triggered based on changes in the model and a source (a component that contains an InfoSource). When you create/edit/delete a Node, one or more strategies can be executed to automate some tasks (create a view on a building for example).
Strategies can also be used in a macro style to handle repetitive operations when you record a set of operations and replay the sequence on other targets (organize a wiresheet, create logics inside devices already deployed...)
Implementation
-
Drag and drop a strategy from the palette or create a new one via the manager on the strategies folder (BtibService > StrategyFolder)
-
Some details about the components always present in a strategy
LogExt: Used to override the strategies folder LogExt (that will be used by default for all strategies)Trigger: To define the strategy execution (automatically, at regular intervals, manually...)Start: The first block of the process. Other blocks should be added after this one. Only one Start block is allowedEnd: The last block of the process. Every chain of blocks should be linked to this block to be executed. Only one End block is allowed
Properties
-
Enabled: Enables or disables the strategy.
-
CreatesTraces: Enables or disables the creation of traces. Traces are used in some block to undo the done task.
Creation
-
Trigger Choose the trigger according to your needs:
AutomaticTrigger: to execute automatically strategies on Node and InfoSource's actions (initialize, disable and clean)MacroTrigger: to execute macros manually from a selection. This trigger is actually automatically added when a macro is recorded.
-
Blocks Every block has one action and one topic:The "executed" topic should be linked to one or more "execute" actions to create a workflow. Blocks will be executed in the blocks orderAll chains have to be linked from Start to End
Undo
Some blocks have the possibility to undo the task previously done (in the documentation, those blocks have a "Behavior: UNDO" section)
The Undo in a block will be triggered if:
-
the selection is changed
-
the strategy is disabled or removed
-
the link going from the executed slot in the start block is removed and the strategy is triggered
-
an if block is added before the block
Common issues
-
My strategy is not executed after an initialization of a node or InfoSource
-
Trigger: ensure that an automatic trigger is linked to the start block
-
Selection: ensure that the selection is active and selects the targeted node or InfoSource
-
Logs: logs can be checked (Workbench > Logs Console) to see errors
-
Cache: some caches can be manually refreshedSelection: BtibService > SelectionFolder > inoke action "RefreshCache"Strategy: BtibService > StrategyFolder > invoke action "RefreshCache"
-
-
My block has not been executed
-
Execute/Executed: ensure that executed topic from previous block is linked to execute of your block
-
Start/End: ensure that the flow including your block is correctly linked to start and end
-
Logs: you can check through logs if your block has actually been executed or not
-
-
My block doesn't work as expected
-
I don't know if my strategy is still running
-
Sidebar: a sidebar is available to monitor the status of the strategies' engine. Status can be: Idle: all the strategies have been executedRunning: some strategies are still processing
-
Sidebar can be displayed via Workbench > Window > Side Bars > Monitor
-