<< Click to Display Table of Contents >> マニュアル > 機器接続ガイド > メモリ > 接続手順(仮想通信) > メモリデバイス |
メモリデバイスについて
メモリデバイスは、Serverアプリケーションのメモリアドレス空間を使用した弊社独自のデバイスです。仮想デバイスとは異なり、PLCのアドレス空間をシミュレートしたデバイスではなく、目的に応じて様々なタグを1点1点自由に登録して使用することができます。メモリデバイスでは、ビットタグ、数値タグ、文字タグといった一般的なデータ型をあつかうタグの他に、PCの時刻によってON/OFFするタグや(時刻ビットタグ)、一定期間値の書き込みがなかった場合にONになるタグ(生存確認タグ)、値を書き込むと一定時間後に自動的にOFFになるタグ(パルスビットタグ)など、非常に便利で強力な機能をもったタグが用意されています。
メモリデバイスタグの実体はServer側に存在するため、複数台のPCによるシステム構成であっても、本デバイスを介してクライアント間でのデータ共有を行うことができます。メモリデバイスはPCのハードディスクに値を保持することが可能です。例えば、上下限警報のしきい値や、システムの運転パラメータなどの設定値をPC上で保持し、PCを再起動しても値を継続することができます。又、本デバイスによる値の保持はServerの二重化運用にも対応しており、主系として動作していたServerがダウンしたとしても、本デバイスで保持されたタグの値は待機側のServerに自動的に引き継がれます。
デバイス一覧
対応するデバイスは以下のとおりです。
デバイス |
説明 |
ビットタグ |
ブール型(ビット)の値を扱えます。 |
数値タグ |
数値(倍精度浮動少数)を扱えます。 |
文字タグ |
文字列を扱えます。 |
時刻文字タグ |
現在の時刻をタグの値(文字列)にします。日付や時刻のフォーマットを自由に定義できます。 例)%Y/%m/%d %H:%M:%S → 2003/01/01 00:00:00 例)%Y%m%d → 20030101
現在の時刻をタグの値(文字列)にします。日付や時刻のフォーマットを自由に定義できます。 例)%Y/%m/%d %H:%M:%S → 2003/01/01 00:00:00 例)%Y%m%d → 20030101
|
時刻ビットタグ |
時刻条件によりON/OFF するビットです。 例)以下の設定では月曜から金曜までの毎日9時0分0秒~16時59分59秒の間ON します。 |
ディレイビットタグ |
ON 書き込み後、待ち時間(msで指定)後に実際にON するビットです。待ち時間中にOFFが書き込まれるとONにはなりません。 |
パルスビットタグ |
ON 書き込み後、パルスON時間(msで指定)後に自動的にOFF するビットです。
「OFFが書込された場合、パルスのONをOFFにする」のチェックを外すと、OFFが書き込まれた場合にパルスをOFFにせず、パルス時間が経過した時のみOFFにします。
|
生存確認タグ |
一定時間以上値が変化しなかった場合にON させるビットです。
例えば、他のクライアントから定期的に0から999までをインクリメント(毎回カウントアップし999までいくと0に戻す)した値を本タグに書き込みを行うと、書き込みが停止するまで本タグはONとなります。クライアントが止まったり、通信が止まると書き込みが行われなくなりますので、本タグがOFFとなり生存確認失敗と判断ができます。 |
Write要求カウンタ |
指定した対象のタグに値が書き込まれる度にカウントアップします。 詳細は「Write要求カウンタについて」を参照してください。 |
各デバイスの設定はパラメータから行います。パラメータ設定横のボタンを押すことで、設定ダイアログが表示されます。
|
値を保持する方法について
ビットタグ、数値タグ、文字タグの値をハードディスクへ自動的に保存し、値を保持できます。アプリケーションや、OSを再起動したとしても値は保持されます。
設定を行うには、ユニットプロパティの「通信設定」で設定ダイアログを開きます。値を保存するためのフォルダを1つ作成し、そのパスを指定して下さい。値をディスクへ保存するタグをディスクタグと呼びます。それに対しディスクに値を保持しないタグをメモリタグと呼びます。本設定をしたユニット内のすべてのタグがディスクタグになります。
保存形式は以下の2つから選択できます。
1.形式1(旧バージョン形式)
タグ毎にファイルが作成されます。大量のタグを使用する場合は、形式2を選択してください。
2.形式2
ユニット毎にファイルが作成されます。特に大量のタグを使用する場合、形式1より高速に動作します。作成されるファイルは以下の2つです。
ユニット名.idx - インデックスファイル
ユニット名.val - 値が格納されているファイル
ディスクタグは値が変化する度にハードディスクへ値を書き込むため、頻繁に値を変化させるような運用の場合は、ディスクへの書き込み負荷の影響上推奨しません。 そのような場合は、ブリッジアクションを併用し、通常は値を保持しないメモリタグを利用し、必要時タグイベントや定周期イベント等でブリッジアクション経由でディスクタグにメモリタグから値を流し込むように考慮してください。 |
値保存フォルダは他の目的に利用しないで下さい。二重化設定する場合は、他のユニットとフォルダを共用しないで下さい。 |
メモリタグとディスクタグの両方を使用したい場合は、メモリデバイスのユニットを2つ追加し、片側のみディスクタグの設定を行います。 |
ストレージバックアップについて
ディスクタグの値保持の為のストレージをバックアップするには、以下のチェックを入れます。バックアップは、Panel Serverをオンラインにした際に作成され、保持値の断面を指定日数分バックアップする事ができます。
Write要求カウンタは指定した対象のタグに書き込みが行われる度にカウントアップするタグです。そのため、タグに何度書き込みが発生したかを取得したり、タグに対して書き込みが発生したタイミングを取得したりすることができます。
タグの指定方法は、変化を検出したいタグ名に「_CNT」キーワードを指定します。
指定方法 |
例 |
[タグ名]_CNT |
T01_CNT |
1.メモリデバイスを追加し、数値タグを追加する
2.タグをもう1つ追加する
3.追加した2つ目のタグ名を「T01_CNT」に変更し、通信設定タブより「write要求カウンタ」を選択する
4.オンラインにする
5.モニタリングを開始する
6.「T01」に値を書き込むと、連動して「T01_CNT」の値がカウントアップする
write要求カウンタは同一フォルダ内のタグしか指定できません。そのため、ドライバやフォルダをまたいでタグを指定することはできません。 |
Write要求カウンタは上限値9999のリングカウンタです。上限に達すると再び0からスタートします。 |
通常タグの値を書き換えると、値の変化をイベントで取得することができます。 ただし、同じ値から同じ値へ書き換わった場合は、値の変化がないと判断し、値の変化をイベントで取得することが出来ません。 例えば、0→10は変化を取得できますが、10→10は変化を取得することができません。 そのような場合、write要求カウンタを使用すると、10→10の書き込みが行われた場合もカウントアップするため、値を書き込んだ時のタイミングを取得することができるようになります。
|