用語集
DDRD
モーションコントローラのデバイスメモリをシーケンサCPUのデバイスメモリへ直接読み出す命令。シーケンサCPUで実行する。
QnUD(H)CPU+Q17*DCPU以外の場合:
[S.DDRD H3E1 D0 W0 D100 M0] //毎スキャン実行
[SP.DDRD H3E1 D0 W0 D100 M0] //立ち上がり実行
使い方(この例の場合):
1. S(P).DDRD命令の実行条件に「高速割込受付フラグがOFF」を入れておく。
2. 「D1」に転送したいワード数を書き込む。(D0ではない)
3. S(P).DDRD命令を実行する。
モーションコントローラ(2号機)のW0のデータが
シーケンサCPUのD100へ
D1で指定したワード数転送される。
4. 正常に受け付けられるとSM390がONする。
5. 完了するとM0が1スキャンONする。
異常終了の場合はM1もONする。
完了ステータスがD0に格納される。
注意事項:
1. 読み出せるデータは16ワード以下。
2. 「ビットデバイスの読み出し」「ビットデバイスへの格納」も可能だが、アドレスは16の倍数のみで桁指定はK4のみ。
3. モーションデバイス(#)など、シーケンサCPUに存在しないアドレスは読み出せない。
4. 自動リフレッシュよりも高速に読み出すことができるので、特にリアルタイム性が必要なデータはこちらで読み出すと良い。
5. モーションコントローラの処理よりも優先度が高い処理(割り込み)なので、多用するとその分モーションコントローラ側の処理が遅れる。
QnUD(H)CPU+Q17*DCPUの場合:
[D.DDRD H3E1 D0 "#100" D100 M0] //毎スキャン実行
[DP.DDRD H3E1 D0 "#100" D100 M0] //立ち上がり実行
使い方(この例の場合):
1. 「D1」に転送したいワード数を書き込む。(D0ではない)
2. S(P).DDRD命令を実行する。
モーションコントローラ(2号機)の#100のデータが
シーケンサCPUのD100へ
D1で指定したワード数転送される。
3. 完了するとM0が1スキャンONする。
異常終了の場合はM1もONする。
完了ステータスがD0に格納される。
注意事項など:
1. 読み出せるデータは20ワード以下。
2. 「ビットデバイスの読み出し」「ビットデバイスへの格納」も可能だが、アドレスは16の倍数のみで桁指定はK4のみ。
3. S(P).DDWRと異なり、文字列指定を使ってモーションデバイス(#)などのデータを読むことができる。
4. 同時実行数に制限があるので、必要以上に使用しない。