ISaGRAFでは辞書で宣言した以外にも変数が作成されるケースがあるとのことですが、それはどのようなものですか?


ISaGRAF Ver3.3X以降のバージョンでは、プログラム中で使用しているかどうかにはかかわらず、辞書で宣言されている全ての変数がアプリケーションコードとシンボルテーブルの中に格納されます。これは、オンライン更新を容易にするための工夫です。
つまり、アプリケーションの変更に備えて、未使用の変数であってもメモリ領域を確保するということです。

I/O変数が割り付けられていないI/Oチャネルに対しても、ISaGRAFのコンパイラは宣言されていない変数を自動的に割り付けます。すなわち、空のI/Oチャネルも宣言された変数が割り付けられた場合と同様に、1つの変数を消費すると言うことになります。この宣言されていない変数は、 "%・・・" という固定的な名前が割り振られ、該当するI/Oチャネルとして、IEC言語のアプリケーションから操作することが可能です。これを直接表現変数と言います。
この変数に関しては、コンパイル後にAPPLI.TST(シンボルテーブルファイル)の中に保存されているシンボルとして、実際にプログラム中で使用されているかいないかの情報はありません。

実際に辞書中でプログラマによって宣言されている変数や直接表現変数以外に、辞書で宣言されておらず、Cソース生成時等に”_”(アンダースコア)で始まる変数が存在する場合がありますが、これはコンパイラによって自動的に割り付けられるテンポラリな変数で、シンボルテーブルの中にも現れません。
最終更新:
2008-07-30 15:15
改訂:
1.1
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

このカテゴリー内のレコード

タグ