SAC processes all database blocks placed on scan when it starts or a database is loaded. By default, Database Manager prompts you to place on scan each block you add. SAC stops processing a block or a chain when:
- From the iFIX WorkSpace, you select an object connected to a primary block and you run a script that places the block off scan.
- You modify a block with Database Manager. Modifying a block while SAC is processing that block's chain places the entire chain off scan. As an option, you can set up Database Manager to automatically place the modified block and its chain on scan when you finish editing it. Refer to the section Setting Database Manager Preferences to learn more about Database Manager options.
- You delete any block within a chain. Refer to the section Deleting Blocks to learn more about removing blocks from the process database.
- Statements in Program blocks, Event Action blocks, or an EDA program place a chain's primary block off scan.
- You connect the blocks in a chain incorrectly and SAC cannot scan the chain. Use Database Manager's Verify command to determine which blocks are improperly chained. Refer to the section Verifying Databases to learn about examining your database for errors.
- A Program block finishes processing its statements and exits, the Program block does not execute again until the database is reloaded or the block is turned off and placed back on scan.
- You can place a block off scan from the Scan Status column displayed in the spreadsheet.
- An operator clicks an object with a VBA script that places a block off scan. You can quickly add such a script to an object with the Turn Tag Off Scan button. To use this button, you must first drag it from the CommandTasks toolbar category onto a toolbar. To learn how to display toolbar categories and add a button to a toolbar, refer to the section Customizing Toolbars in the Understanding iFIX manual.
Placing a primary block off scan turns that block's entire chain off scan. You can put the chain back on scan by:
- Opening an operator display, selecting an object connected to the chain's primary block, and running a script that places the block on scan.
- Setting up a Program or an Event Action block that places the chain back on scan.
- Changing the text in the Scan status column from OFF to ON.
- Adding or modifying a block with Database Manager or the iFIX WorkSpace. Depending on the options selected, both programs can automatically place the block on scan.
- An operator clicks an object with a VBA script that places a block on scan. You can quickly add such a script to an object with the Turn Tag On Scan button. To use this button, you must first drag it from the CommandTasks toolbar category onto a toolbar. To learn how to display toolbar categories and add a button to a toolbar, refer to the section Customizing Toolbars in the Understanding iFIX manual.
Blocks with Long Scan Times
Blocks that have long scan times react differently to on/off scan changes than blocks that have short scan times. If you change the block's scan status, it enters a pending state: PON (pending on) or POFF (pending off). This state indicates that a scan status change was requested and is pending, but SAC has not placed the block off or on scan. While a block is in PON, new values are ignored.
Example: Placing Blocks with Long Scan Times On Scan
Assume you have a block with a one hour scan time and you place it on scan 45 minutes into its scan cycle. The block enters the PON state and remains there for 15 minutes in order to synchronize it with SAC. Once synchronized, SAC changes the block's state and places it on scan.
Using the S Parameter
By default, SAC changes a block's scan status shortly after entering the pending state. However, if SAC was started with the "S" command line parameter, the block remains in the pending state until SAC is ready to scan it.