命令後、00時00分00秒を下回る場合は、桁あふれになります。システム変数(ビット)の#L_CalcCarryがONになります。
演算結果が00時00分00秒の場合は、システム変数の#L_CalcZeroがONします。
実行結果をシステム変数で確認する場合は必ず命令実行後に、システム変数で確認してください。 複数の命令実行後に状態を確認すると、最後に処理した命令の結果が反映されるのでご注意ください。
プログラム例
JSUB
演算開始がONすると時刻減算演算を実行します。
演算開始の立ち上がり検出接点命令がONすることによって、JSUB命令が実行されます。JSUB命令が実行されるとS1オペランドのデータ1(時刻変数)からS2オペランドのデータ2(時刻変数)を減算し、D1オペランドの結果データ(時刻変数)に、減算結果を格納します。演算開始がa接点命令の場合は、演算開始がONの間、常にJSUB命令が実行され1スキャン実行するたびに時刻減算を実行します。
例
S1オペランドのデータ1に12時10分45秒をS2オペランドのデータ2に6時55分20秒の場合、JSUB命令が実行されると、5時15分25秒となり、D1オペランドの結果データに5時15分25秒が格納されます。
JSUBP
演算開始のa接点命令がONすることによって、JSUBP命令が実行されます。JSUBP命令が実行されるとS1オペランドのデータ1(時刻変数)からS2オペランドのデータ2(時刻変数)を減算し、D1オペランドの結果データ(時刻変数)に、減算結果を格納します。演算開始がa接点命令の場合でも、演算開始のONの立ち上がりのみを検出して、JSUBP命令が実行されます。
よって、演算開始がONし続けても、JSUBP命令は1スキャンのみ実行します。