このデータアクセス方法では、GETIO/SETIO命令を使用して、モジュールのI/Oメモリからファンクションブロックのローカル変数に直接データをコピーします。モジュールのI/Oメモリアドレスは、モジュールをプロジェクトに追加した時に割り当てられています。メモリ位置はプロジェクトに追加した順番と、DAPで定義されている使用メモリ量に依存します。
例
Block_1というファンクションブロックを作成し、トポロジーの例 で作成したワークステーションというConveyLinxモジュールから入力データを読み取り、またそのワークステーションに出力データを書き込みます。Block_1のローカル静的変数では、入力変数と出力変数のデータ型を ワードのArray[0..31] に設定する必要があります。ローカル変数 in にデータを読み込むには GETIO 関数を使用し、ローカル変数 out にデータを書き込むには SETIO 関数を使用する必要があります。GETIO関数とSETIO関数は共に、特定のモジュールの入出力メモリに対応する ID パラメータを必要とします。
Block_1 を作成し、 in と out の変数の データタイプを設定 します。 Workstation モジュールは フル PLCモード なので、64バイト (32ワード)の入出力データが必要です。 | |
Workstation モジュールの入力の ハードウェア識別子 を見つける必要があります。プロジェクトツリーの Ungrouped devices に移動し、 Workstation モジュールを選択し、 virtual input module → Properties を選択します。 | |
ここから、 Workstation モジュールの 入力 の ハードウェア識別子 は 274 であると確認できます。 この値は後で GETIO 関数を設定する際に必要になるので、メモしておきましょう。 | |
プロジェクトツリーから同じ手順で virtual output module を選択します。 ここから、 Workstation モジュールの 入力 の ハードェア識別子 は 275 であると確認できます。 この値は後で SETIO 関数を設定する際に必要になるので、メモしておきましょう。 | |
こちらは、 GETIO 関数が GETIO 関数が ハードウェア識別子 の値 274 を使用し、データを in ローカルタグに配置していることを示す Block_1 プログラムコードです。また、 ハードウェア識別子 の値 275 を使用し、 out ローカルタグを使用する SETIO 関数を示すコードもあります。 |