Block Skipping
It is often useful if not all blocks of a program are always executed. This makes it possible to implement similar processes with a single program. In such cases, the blocks that belong to one variant are given a block skipping identifier. This must be written at the start of the block, and consists of a slash "/". If several variants are required, the slash is extended with line information (0..15), for instance "/12". The line information (where "/" is equivalent to "/0") selects a bit from a word in the channel interface from the PLC to the NC. If this bit is set, the block is not interpreted.
In the NC the variable 'mSkipLine' is evaluated for this purpose, which can be found among the inputs in the cyclic channel interface. The counterpart in the PLC can be found in the outputs under 'nSkipLine' (previously: nSatzunterdrückung) (see TwinCAT PLC library: NCI interpreter).
If one of a number of variants is to be active, all the other suppressions must be set. Then only those blocks remain active that have either no identifier, or that have the desired identifier.
Active time of block skipping The interpreter works an indeterminate number of blocks in advance of the execution. Block skipping can only operate correctly if it is set early enough (perhaps before the program starts), or if the interpreter is synchronized with the execution at a suitable location in the program (interpreter stop). |