如果在执行完指令后结果没有达到00:00:00 (时,分,秒),数字将溢出。系统变量(位)#L_CalcCarry置ON。
当运算结果为00:00'00"时,系统变量#L_CalcZero置ON。
当使用系统变量检查结果时,确保在执行完指令后进行。当在执行完多个指令后检查状态时,系统变量将只保存最后处理的指令的结果。
程序示例
JSUB
当上升沿指令置ON时,将执行时间减运算。
当上升沿指令置ON时,将执行JSUB指令。当执行JSUB指令时,会从操作数S1的Data_2(时间变量)中减去操作数S2的Data_1(时间变量),并将结果保存在操作数D1中。当使用常开指令时,每次扫描到JSUB指令的接通状态,将执行日期/时间计算。
示例
例如,当操作数S1中的Data_1是12:10:45,操作数S2中的Data_2是6:55:20,如果执行JSUB指令,结果就是05:15:25,并将05:15:25保存在操作数D1的结果数据中。
JSUBP
当常开指令置ON时,将执行JSUBP指令。当执行JSUBP指令时,会从操作数S1的Data_2(时间变量)中减去操作数S2的Data_1(时间变量),并将结果保存在操作数D1中。即使使用常开指令,也只有在检测到向上升沿时才执行JSUBP指令。
因此,即使常开指令的变量总是为ON,也只在一次扫描中执行JSUBP指令。