カーネルデータアクセスとは?


ISaGRAFのターゲットが管理しているアプリケーション変数へのアクセスのことです。

ISaGRAF Ver.3の場合

ISaGRAFのオプションソフト「ISaGRAF開発ツールキット」(型番:NSS-I4-IDK)を使ってISaGRAFのカーネルへの下記のデータアクセスが可能になります。

(1)シンボル(変数名やSFCステップなど)の管理
(2)ユーザルーチン(フックを利用してコール)の組み込み
(3)組込済みのクライアントライブラリを利用したカーネルへのデータアクセスを行うユーザタスク(マルチタスクシステムでも可能)

これらのデータアクセスは共有メモリとセマフォを利用したリクエスト/アンサーで構成されます。

カーネル内部を修正し、データが格納されているメモリに直接アクセスする方法も考えられますが、推奨できません。以下の情報は公開されているカーネールとのインターフェースであり、弊社ではサポートしかねます。また、予告無く変更する場合があります。

カーネルのアプリケーションデータ(変数値など)はSPACE2の共有メモリに格納されています。
メモリの先頭の内容は、ファイル tasy0ker.hstr_ker 構造体として定義されているヘッダーです。このヘッダーは主にデータの型(ブール型、アナログ型、タイマー型など)で構成されます。
このメモリの内容は主にスペース確保時の take0ini.c ファイルで記述されます。従ってどのようなユーザタスクもアプリケーションデータを処理するため、このメモリにリンクすることはできます。
 ただし、メモリ管理やサイクルの一貫性などに注意する必要があります。


ISaGRAF Ver.4/5の場合

ISaGARF Ver.3と同等の機能を持ったAPIをカーネル内部に持っています。このAPI群を"IXL(ISaGARF eXchange Layer)"と呼びます。

最終更新:
2008-07-31 12:28
改訂:
1.1
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

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

最近の 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)