Workflow about extraction of snapshot properties
There are two ways to query a snapshot state, manually querying with method GetSnapshotState, or joining a change group and polling its changes. Based on the working principle of a change group, the polling function will only report to the changed control within a polling cycle. In some cases, it is impossible to determine a snapshot state. (e.g. a snapshot changes from "loaded" to "changed", then the Q-SYS device will only report that the control "match
" changed from "true" to "false". The other related control "last
" remains "true".) However, each time the method GetSnapshotState is used, every related control of a requested snapshot will be queried. With the complete information the snapshot state can always be determined.
Because of the fact that each snapshot property which is queried by a polling function(Poll or AutoPoll), is stored internally, the Clear method of the function block FB_QRC_ResExtract can be used to release this storage.
After a response frame by a Q-SYS device arrived, all of snapshot controls' properties, which are queried by polling method, will be stored internally. (The attribute bSavOldRes
has NO impact on this.) The snapshot control properties will be updated. With the help of the Clear method these properties can be deleted.
![]() | This logic has no impact to the |
To get a better understanding of this behavior, there is an example shown underneath.
Step 1: After snapshot 1 and 3 (Name of Snapshot Bank is "Bank1", name of snapshot component is "Snapshot1".) has joined in the change group ("ChangeGroup 1"), the response frame was received:

All related informations will be stored internally in an array. Snapshots' states are determined.
Step 2: In case some snapshot contained controls were changed within a polling cycle, a polling frame is arrived:

The property "match.1
" will be updated in the internal array and the snapshot "Snapshot 1" changes its state from "loaded" to "changed". (aCtrlProp[0]
)
Step 3: Snapshot 3 is triggered.

The "Snapshot 3" was just triggered and the polling frame was received. Related control properties will be updated.
Step 4: Clear the internal array.
If users want to poll another snapshots' state and the stored properties are no longer useful, the method Clear should be used to reset the internal array.

After the clear operation the internal array and the array aCtrlProp
are both empty.