配列の範囲を超えた場合(実行結果範囲を超えた等)は、命令を実行しません。
エラーが発生すると#L_ErrorがONになります。
出力結果D1およびD2には、正常に命令が実行された前回値のままとなります。
実行結果をシステム変数で確認する場合は必ず命令実行後に、システム変数で確認してください。 複数の命令実行後に状態を確認すると、最後に処理した命令の結果が反映されるのでご注意ください。
プログラム例
XCH
データ1とデータ2の内容を入れ替えます。
開始の立ち上がり検出接点命令がONすることによって、XCH命令が実行されます。XCH命令が実行されるとD1に設定しているデータ1[0]とD2に設定しているデータ2[0]の内容を交換します。
開始がa接点命令の場合は、開始がONの間、常にXCH命令が実行されます。
配列変数名 |
データ1 |
命令実行 |
データ2 |
---|---|---|---|
要素 |
データ1[0] |
←→ |
データ2[0] |
データ1[1] |
|
データ2[1] |
|
データ1[2] |
|
データ2[2] |
|
データ1[3] |
|
データ2[3] |
|
データ1[4] |
|
データ2[4] |
XCHP
開始の立ち上がり検出接点命令がONすることによって、XCHP命令が実行されます。XCHP命令が実行されるとD1に設定しているデータ1[0]とD2に設定しているデータ2[0]の内容を交換します。
開始がa接点命令の場合でも、開始のONの立ち上がりのみを検出して、XCHP命令が実行されます。
よって、開始がONし続けても、XCHP命令は1スキャンのみ実行されます。