ISaGRAF Ver.4/5 のプロジェクトデータはデータベースMicrosoft Access形式のファイルですが、どのようなデータベース構造になっているのでしょうか?


ISaGRAF Ver.4/5 のプロジェクトのデータベースは、リレーショナルデータベースの構造を取っています。
つまり、データベースの各レコードは、必ず「一意な」データと関連付けられているということです。
データは複数のテーブルに分けて格納され、各テーブル間はリンクされています。重複したデータを持つことを極力避けるため、また、各データをデータ名でなく一意な番号で識別するためにこのような構成を取っています。

【例】
ブール型変数 "Var1" のデータはあるテーブル内では以下のように定義されています:
Name : Var1 Type : 1

また別のテーブルでは、レコードを "1 = BOOL" とするかわりに以下のような形式でデータを管理しています:
Name: Var1 Type : BOOL

全てのオブジェクトへの参照は、テーブル内で一意な番号で表現されます。この番号はデータベースでのキーとして使用されます。このキーによってデータ要素を容易に参照することができます。

このような種類のデータは、1つか2つのテーブルにまとめて保存されているよりも、複数のテーブルに分割された形態で保存されている方が、結果として必要な情報をすばやく探し出すことができます。

データベース内部の「リクエスト」処理自体は高速です。もしパフォーマンスに問題がある場合は、データベース自体よりも、プログラム側の問題であるケースが多いです。

また、データベース内では複数の単純リクエストを別々に発行するよりも、組み合わせた命令を1回だけ発行する方が高速です。これはデータベースアクセスを行うにはそれなりの時間がかかるので、アクセス回数を制限した方がトータルの時間が短くて済むためです。このため、データベースに検索リクエストの高速化を計るためのインデックスフィールドが追加されている場合があります。

プロジェクトデータの詳細については、「ISaGRAF Ver.4/5 開発ツールキット」のユーザーズマニュアルの「ワークベンチ」-「MS Accessデータベース」の章をご覧下さい。
最終更新:
2008-07-30 12:21
改訂:
1.1
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

  1. LD言語で、ある接点がFALSEの場合、それ以降のファンクションブロックを実行しないように出来るか? (44513 回の閲覧)
  2. SFC要素の「ステップ」と「トランジション」の意味と役割を教えてください。 (43415 回の閲覧)
  3. ISaGRAF WorkbenchをWindows 7で使用するにはどうしたらよいでしょうか? (40929 回の閲覧)
  4. ISaGRAFはIEC1131-3のシステム定義に準拠しているか? (38989 回の閲覧)
  5. PLCプログラムをより早く動かすにはどうすればよいですか? (38818 回の閲覧)
  6. LD言語で、立ち上がり・立ち下がりの出力はあるか? (36875 回の閲覧)
  7. VxWorksターゲットにおける変数管理の留意点について (36382 回の閲覧)
  8. 日立製作所製SHマイコン用コンパイラ使用時の注意事項 (35574 回の閲覧)
  9. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (35525 回の閲覧)
  10. FBD/LD言語で同じ行に複数の演算がある場合の実行順序は? (33516 回の閲覧)

最近の FAQ RSS

  1. ファンクションブロックはネストできますか。 (2016-08-05 15:07)
  2. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (2015-01-30 14:24)
  3. 前のISaGRAFで作成したプロジェクトをインポートしたら、コメントが文字化けを起こしています。 (2014-05-07 06:52)
  4. 前のバージョンで作成したプロジェクトは読み込めますか。 (2014-03-07 07:46)
  5. ISaGRAFでコンフィグレーション、リソースそれにPOUはそれぞれいくつ作成できますか。 (2014-03-07 02:06)