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