| Top | Previous | Next |
|
Scan Classes |
|
Scan classes dictate the execution of SQLTags, and therefore play a crucial role in the design of large, high-performance systems. They offer several key modes to help create efficient projects.
Creating and Editing Scan Classes Scan classes are created by clicking on the Edit Scan classes button in the SQLTags browser toolbar. The window will appear with a list of configured scan classes on the left, and configuration settings on the right.
Scan Class Properties
Note on rates: If the rate is set to 0, the scan class will not be executed. It is common for leased and driven modes to use 0 as a slow rate in order to achieve an "on/off" effect. Scan Class Modes Direct The scan class executes at a fixed rate, defined by the slow rate setting. Leased The scan class executes at the fast rate when any of the tags it contains are subscribed and visible in a client window. If no tags are subscribed, the scan class runs at the slow rate. Driven The rate of the scan class is based on the value of a driving tag. The condition is a simple comparison between an a tag value and a number. If the condition is true, the scan class will execute at the fast rate. If false, it will run at the slow rate. There are two exceptions to this: the any change operator, and one-shot mode. Using either of these, the scan class will not run at a rate. Instead, it will be triggered by a change in the driving tag's value. "Any Change" will execute each time the value changes, and "one shot" will execute once when the comparison condition is true, and not again until the condition become false, and subsequently true. It's useful to keep in mind that the driving tag can be an Expression tag that performs complex calculations and references other tags. In this way, it's possible to create robust scan class triggering.
Advanced Properties OPC Data Mode This mode dictates how OPC values are obtained. The default mode, "Subscription", is generally recommended.
Historical Scan Classes Historical scan classes are simply standard scan classes used by SQLTags to store history. By utilizing separate scan classes for status and history, it's possible to maintain a tag's status at a fast rate, without storing large amounts of history unnecessarily.
Despite the fact that there is not a technical differentiation between standard and historical scan classes, it is recommended that you create separate scan classes for each purpose and name them in a manner that indicates their usage. It is common to modify scan classes in order to affect a large number of tags, and without a consistent distinction it may be possible to affect tag execution in unexpected ways. |