ISaGRAF Ver.4では、ターゲットに関する各種の定義はどこで行われていますか?また、プラットフォームに合わせて、どのように変更すればいいのでしょうか?


ISaGRAF Ver.4 ソースの "dsy0def.h" ファイル内の以下の部分は、ターゲットの重要な定義を行う部分です。
ISaGRAF Ver.4ターゲットを新しいOSに移植する場合、プラットフォームの仕様に合わせて定義します。
この内容は、ワークベンチ側での設定と必ず一致させる必要があります

#define INTEL /* TO DO: システムがINTELベースの場合。それ以外はこの定義を外す。 */
#define MOTOROLA /* TO DO: システムがMOTOROLA ベースの場合。それ以外はこの定義を外す。 */
#define TARGET_NAME "MYTARGETNAME" /* TO DO: ここでターゲット名を定義します。 */
#define ISA_TMM_M /* TO DO: ミディアムメモリモデルの場合。それ以外はこの定義を外す。*/
#define ISA_TMM_L /* TO DO: ラージメモリモデルの場合。それ以外はこの定義を外す。 */

通常、その他の定義はターゲットの各機能の実装の有無に応じて define/undefを行います。dsys0def.hには他に以下のような定義があります。
#define ITGTDEF_USF /* C言語ファンクション */
#define ITGTDEF_FBLOCK /* C言語ファンクションブロック */
#define ITGTDEF_CNV /* I/O チャネル用 C言語変換ファンクション */
#define ITGTDEF_RTIOCNVGAIN /* I/O チャネル用 ゲインとオフセット変換 */
#define ITGTDEF_FLOAT /* 実数型変数使用の有無 標準ファンクション/FBは使用している*/
#define ITGTDEF_MODIF /* リソースを停止しないオンライン修正 */
#define ITGTDEF_STRING /* string型変数使用の有無 標準ファンクション/FBは使用している */
#define ITGTDEF_PRINTF /* printf関数による、標準出力へのエラーの出力 */
#define ITGTDEF_RETAIN /* 保持変数- 詳細は PRoDK.chm(ISaGRAF Ver.4 開発ツールキットマニュアル)参照 */
#undef ITGTDEF_THREAD /* OS はマルチスレッドであり、マルチタスクではない */
#undef ITGTDEF_NO_GLOBALS /* グローバル変数の宣言をしない(マルチスレッドOSで、タスクのグローバル変数が全てのタスクで共有されてしまう場合に必要) */
#undef ITGTDEF_SEGMENT /* セグメントメモリかどうか */
#undef ITGTDEF_SFCEVOCHECK /* SFCダイナミック動作でのオーバーフロー発生の検査の有無 */
#define ITGTDEF_USEREGISTER /* パフォーマンス向上のためTICのインタプリタでC言語のregisterキーワードを使用する */
#define ITGTDEF_KVB /* カーネル変数のバインディング */
#define ITGTDEF_CFB /* 通信ファンクションブロック */

これらの定義の define/undef を1つでも変更したら、ISaGRAF Ver.4の全コンポーネントをコンパイルしなおす必要があります。
最終更新:
2008-08-01 13:41
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

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

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