如果超出数组范围(执行结果超出范围),将不执行指令。此时#L_Error置ON,并将错误代码写入#L_CalcErrCode。D1中的结果维持上次成功运行指令而得出的值。
当使用系统变量检查结果时,确保在执行完指令后进行。当在执行完多个指令后检查状态时,系统变量将只保存最后处理的指令的结果。
程序示例
BLMV
将1到5从Data_1复制到Data_2。
当上升沿指令置ON时,将执行BLMV指令。当执行 BLMV 指令时,将保存在 D1 中数据 1 的 0 至 4 号数据复制到数据 2 的 0 至 4 号中。
当 start 是常开指令时,只要 start 为 ON,就总是执行 BLMV 指令。
数组变量名称 |
数据1 |
5个执行的指令 |
数据2 |
---|---|---|---|
元素 |
Data_1 [0] |
→ |
Data_2 [0] |
Data_1 [1] |
→ |
Data_2 [1] |
|
Data_1 [2] |
→ |
Data_2 [2] |
|
Data_1 [3] |
→ |
Data_2 [3] |
|
Data_1 [4] |
→ |
Data_2 [4] |
|
Data_1 [5] |
|
Data_2 [5] |
|
Data_1 [6] |
|
Data_2 [6] |
|
Data_1 [7] |
|
Data_2 [7] |
|
Data_1 [8] |
|
Data_2 [8] |
|
Data_1 [9] |
|
Data_2 [9] |
|
Data_1 [10] |
|
Data_2 [10] |
BLMVP
当常开指令置ON时,将执行BLMVP指令。当执行BLMV指令时,将保存在S1中数据1的0至4号数据复制到数据2的0至4号中。
即使使用常开指令,也只有在检测到上升沿时才执行BLMVP指令。
因此,即使常开指令的变量总是为ON,也只在一次扫描中执行BLMVP指令。