条件検索

32 件の検索結果

ページ 1 - 4 ページ

  • C言語ファンクション/ファンクションブロック: C言語ファンクションの作成手順
    回答: 定義 まず、ワークベンチに付属するTDBuild.exe(TargetDefinition Builder)を使用します。これはC言語ファンクション/ファンクションブロック/変換関数をはじめ、I/Oボードやターゲットの構成を定義しするためのツールです。TDBuildを使えば、必要なCソースファイルやワークベンチ用の定義ファイルを簡単に生成することができます。 1. TDBuildを起動します。TDBuildはワークベンチのインストールディレクトリの "Bin" フォルダにあります。 2. 新しいTDBuildの定義ファイル(*.tdb)を作成します。 3. "Insert" メニューを実行し、"Cfunction" を新規作成します。 4. 追加するファンクションの名前を入力します。(例:MyFCT) 5. 入力パラメータ/出力パラメータ/ヘルプコメント等を定義します。 6. "Tools"-"Generate 'C' code" メニューを実行し、ソースファイル("*.c") とヘッダファイル("*.h") ファイルを生成します。 このファイルを、ターゲットのパッケージディレクトリに直接生成するか、後でそこにコピーしてください。 7. "Build"-"Send to File" メニューを実行し、ISaGRAF PROプロジェクトにインポートする定義ファイル(*.txt)を生成します。 注意:生成された定義ファイルは、1つのターゲットにしか適用できません。ファンクションを複数のターゲット上で使用する必要がある場合は、ターゲット毎に定義ファイルを生成してください。 ワークベンチ側での作業 1. ...
  • C言語ファンクション/ファンクションブロック: C言語ファンクション類の選択ダイアログからオンラインヘルプの特定のページを表示させる方法
    回答:  C言語ファンクション/ファンクションブロックを作成するには、ターゲットディフィニションビルダ(TDBUILDツール)を使用します。これらのファンクション類には、必要であればMicrosoft社の HTML HELP Workshopで作成したCHM形式のオンラインヘルプを起動するようなコマンドラインを付加しておくこともできます。このヘルプは、エンドユーザがファンクション類を挿入するときに参照できるようになります。 まず、TDBuildツールで"On Line info"のタブを選び、下記のコマンドラインを指定しておきます。 hh.exe -mapid 1 ..\help\MyCHelp.chm ここで MyCHelp.chm は作成したヘルプファイル名で、"1" はHTML Help Workshopで選んだファンクションに対応するエイリアス番号です。同じヘルプファイルで他のファンクション類のヘルプを表示させるのなら、例えば下記のように指定します。 hh.exe -mapid 2 ..\help\MyCHelp.chm エンドユーザがプロジェクトにこれらファンクションをインポートし、ブロックの選択時に「ヘルプ」ボタンをクリックすると、上記で指定したヘルプが表示されます。 ...
  • アプリケーションコード生成: PLCプログラムをより早く動かすにはどうすればよいですか?
    回答: ISaGRAFで作成したPLCプログラムは大きく分けて TIC (Target Independ Code): Javaのような中間コードを出力し、ISaGRAF targetが実行形式に変換しつつ動作させる SCC (Structured C Code):  target architectureに合わせたCソースコードを出力、コンパイルし、ISaGRAF targetにリンクして動作させるの二つの方法があり、特に予備知識がない場合ははSCCを使えば良いと考えがちです。しかし、SCCを使用した場合、ISaGRAF からはPLCプログラムを管理できず、デバッグなども行えなくなるという欠点があります。上記の欠点を回避するには、主要な処理部分をCファンクション/ファンクションブロック(C-F/FB)化し、これを用いるという手法が用いられています。これは、TICがSCCより遅くなる主要原因がプロセッサの処理速度のみに依存する論理演算部分に於いて、逐次変換処理を経なくてはいけなかったためです。しかし、C-F/FBを用いれば、この内部はCで作成され、プロセッサネイティブコードとしてtargetに組み込まれるため、SCCを用いた場合と同等の処理速度になります。 この理由からC-F/FBを用いるのが唯一の方法となっていました。但し、ISaGRAF Ver 5.22以降ではこの状況に変化が生まれました。 ISaGRAF Workbench Ver 5.22以降ではTICコンパイラに最適化オプションが加わり、このオプションを有効にした場合、TICの実行速度は従来の1.7~2.4倍程度に向上しました。更に、target側もISaGRAF target Ver 5.22 以降最適化処理対応ルーチンが加わっています。この最適化処理対応ルーチンを生かすには、ISaGRAF Workbench側で追加の最適化オプションを有効にする必要が有ります。このオプションを有効にした場合、TICの処理速度が最大4倍以上となり、SCCとほぼ同等の処理速度となります。このオプションの唯一の欠点は、有効になった場合に出力されるTICがVer ...
  • NTターゲット: C言語ファンクションを作る手順
    回答: バージョンによって手順が異なります。 ISaGRAF  Ver.4/5の場合 定義 まず、ワークベンチに付属するTDBuild.exe(Target Definition Builder)を使用します。これはC言語ファンクション/ファンクションブロック/変換関数をはじめ、I/Oボードやターゲットの構成を定義しするためのツールです。 TDBuildを使えば、必要なCソースファイルやワークベンチ用の定義ファイルを簡単に生成することができます。 1. TDBuildを起動します。TDBuildはワークベンチのインストールディレクトリの "Bin" フォルダにあります。 2. 新しいTDBuildの定義ファイル(*.tdb)を作成します。 3. "Insert" メニューを実行し、"C function"を新規作成します。 4. 追加するファンクションの名前を入力します。(例:MyFCT) 5. 入力パラメータ/出力パラメータ/ヘルプコメント等を定義します。 6. "Tools"-"Generate 'C' code" メニューを実行し、ソースファイル("*.c") とヘッダファイル("*.h") ファイルを生成します。 このファイルを、ターゲットのパッケージディレクトリに直接生成するか、後でそこにコピーしてください。 7. "Build"-"Send to File" メニューを実行し、ISaGRAF ...
  • NTターゲット: WindowsNTターゲットのフック関数のカスタマイズ手順
    回答: このドキュメントでは、ISaGRAF Ver.4/5ターゲットにフック関数を実装する手順を説明します。WindowsNTターゲットへの実装を例にします。 なお、この実装を行うには、ISaGRAF Ver.4/5開発ツールキット(NSS-I4-PRDK)が必要です。 1. ISaGRAF Ver.4/5 NT ターゲットのソースファイルを開発ツールキットからコピーします。 2. Visual C++でプロジェクト MakePrdk.dsw を開きます。 3. 「ファイル」-「新規作成」メニューを開き、WinNT_large\IsaSmpHooksフォルダにWin32 スタティックライブラリISaSmpHookを作成します。 以下の図で設定されているオプションと同様に設定してください。 4. Windowsエクスプローラなどで、Visual C++ が作成したWinNT_Large\IsaSmpHooks ディレクトリ内にSmpHooks.c という名前で新しいファイルを作成します。 5. ターゲット定義ファイル dsys0def.h ファイルに以下の行を追加します。 #define ITGTDEF_KERHOOK_BEGCYCEXEC この定義により、毎サイクルの最初のフック関数kerHookBegCycExec() がコールされるようになります。 フック関数にはいくつか種類があります。他のフックの設定に関しては、ISaGRAF Ver.4/5開発ツールキットのオンラインヘルプ(ProDK.chm)をご覧ください。 6. IsaSmpHooksプロジェクトの設定(ReleaseとDebugの双方)をIsxlHsdプロジェクトと同じになるよう変更します。 7. Visual ...
  • ターゲット開発: WindowsNTターゲットのフック関数のカスタマイズ手順
    回答: このドキュメントでは、ISaGRAF Ver.4/5ターゲットにフック関数を実装する手順を説明します。 WindowsNTターゲットへの実装を例にします。 なお、この実装を行うには、ISaGRAF Ver.4/5開発ツールキット(NSS-I4-PRDK)が必要です。 1. ISaGRAF Ver.4/5 NT ターゲットのソースファイルを開発ツールキットからコピーします。 2. Visual C++でプロジェクト MakePrdk.dsw を開きます。 3. 「ファイル」-「新規作成」メニューを開き、WinNT_large\IsaSmpHooksフォルダにWin32 スタティックライブラリISaSmpHookを作成します。 以下の図で設定されているオプションと同様に設定してください。 4. Windowsエクスプローラなどで、Visual C++ が作成したWinNT_Large\IsaSmpHooks ディレクトリ内に SmpHooks.c という名前で新しいファイルを作成します。 5. ターゲット定義ファイル dsys0def.h ファイルに以下の行を追加します。 #define ITGTDEF_KERHOOK_BEGCYCEXEC この定義により、毎サイクルの最初のフック関数 kerHookBegCycExec() がコールされるようになります。 フック関数にはいくつか種類があります。他のフックの設定に関しては、ISaGRAF Ver.4/5 ...
  • ターゲット: ISaGRAF Ver.4/5のIXL(ISaGRAF eXchange Layer)の仕様は公開しているか?
    回答: ISaGRAF Ver.4/5開発ツールキットのマニュアル(オンラインヘルプ)にて公開しています。 IXLとは、ISaGARF Ver.4/5ターゲットの変数にアクセスしたり、ターゲットの動作を制御するためのプロトコルの仕様です。 ...
  • ターゲット開発: ISaGRAF Ver.4/5 ターゲット移植のためのガイドライン
    回答: ISaGRAF Ver.4/5  開発ツールキットを使用してVer.4/5のターゲットを移植する際にVer.4/5のヘルプ(ProDk.chm)を読む前に、以下の移植のガイドラインをご覧下さい。 【内容】 (1)基本的なシステム要件 (2)移植のファーストステップの概要 (3)移植のヒント (1)基本的なシステム要件 Ver4.03以降のISaGRAF Ver.4/5 ターゲットでは、移植を行うシステムに必要な項目は以下の通りです。 1.マルチタスクOS 2.ANSI Cによる開発環境を使用可能なターゲットシステムであること 3.以下のような機能をもつこと TCP/IP BSD ソケットインタフェース ワークベンチとターゲット間の通信、またはターゲットどうしのバインディングリンク用です。 シリアル通信ドライバ シリアル通信ポートを制御するドライバ。基本的には、キャラクタ単位の読み書きを行います。ワークベンチとの通信にのみ使用します。 時間管理 一定周期のものであれば何でも構いません。システムティックなどを利用します。 ISaGRAF Ver.4/5の時間の単位はミリ秒です。つまり、最大の精度は1ミリ秒になります。 共有メモリ 複数のタスクから同じメモリエリアをアクセスできること。 セマフォ タスク間の同期を取るためにバイナリセマフォを使います。 複数タスクからのデータアクセス制御のためにはミューテックスセマフォ(排他セマフォ)を使います。 メッセージキュー タスクどうしはメッセージをやり取りして通信します。メッセージの内容は移植時に気にする必要はありません。 メッセージキューは、セマフォで管理された共有のFIFOバッファと見なすことができ、複数のタスクからアクセスが可能です。 タスク管理 各タスクは、アプリケーションのコンフィギュレーションやデバッグコマンドにともない、スタート/終了させる必要があります。 補助記憶装置(ハードディスク、RAMディスク、フラッシュメモリ等) アプリケーション情報の保存用の媒体管理。アプリケーションコードや、シンボルテーブル等の保存のために使います。 また、アプリケーションコードが保存されているリソースの一覧を取得するためのシンプルなブラウズ機能も必要です。 以上の機能は、一連のシステムルーチンを経由してコールされます。これらのルーチンのインタフェース仕様は、ISaGRAF Ver.4/5開発キットのヘルプファイルをご覧下さい。 ISaGRAF ver.4/5開発ツールキットの"NewOS"フォルダ内には、これらのルーチンのソースのひな型をコメント付きで収録してあります。 実際の移植のおもな作業は、このひな型の内容を埋める、つまり、ISaGRAF Ver.4/5に必要な機能をターゲットOSに合わせる作業ということになります。 4.スタティックなデータの配置 全ての関数から参照可能な変数があります。これは通常、スタックには格納されないグローバル変数です。 また、複数のタスクが同じ実行コードを共有する場合があります。 これはおもに バーチャルマシンのタスクが複数回起動する場合あらゆるタスクからコールされる、システムレイヤのライブラリ です。このような場合、OSはタスクのインスタンス毎にスタティックデータ用のメモリを割り当てられる必要があります。 これは、「カーネル」ライクなOSやマルチスレッドOSといったものにはあてはまりません。 この機能を実現するために、OSは最低限の機能として、タスクのコンテキスト切替時に数個のポインタ(3、4個)をストアできなければなりません。したがって、タスクの初期化の第一段階で、データの割り当てを行うようなプログラミングをすることになります。 VxWorks版ターゲットのソースには、そのような例が含まれています。 (2)移植のファーストステップ 1.これまでに示した最小の機能要件が満たされていることを確認してください。 2.ISaGRAF Ver.4/5開発ツールキット(NSS-I4-PRDK)のCD-ROMから、"NewOS" フォルダの内容を開発環境にコピーしてください。 3.ターゲットに関する定義を行います。 ターゲットの定義は、ワークベンチ側、ターゲット側ともに必要です。 ワークベンチ側では、PLCtools.mdb または TDBuild.exe ツールを使って、新しいターゲットの定義をおこないます。 ターゲット側では、IsaSys\dsys0def.h の中の定義を修正します。 もちろん、双方の設定内容は一致していなければなりません。 dsys0def.h ファイルの ...
  • ターゲット: ISaGRAF Ver.4/5ではコンフィギュレーション=ターゲットハードウェアをネットワーク経由で複数台設定できますが、マシンのIPアドレスをどのように設定しますか?
    回答: ワークベンチのプロジェクト内では、ターゲットプラットフォームとは、1つの「コンフィギュレーション」に該当します。 このコンフィギュレーションにIPアドレスを設定するには、 1. ハードウェアアーキテクチャウィンドウでETCP(Enhanced TCP/IP)ネットワークを挿入します。 2. コンフィギュレーションと挿入したネットワークを接続します。 コンフィギュレーションは非選択状態(タイトルバーがグレーの状態)にします(空白エリアのどこかををクリックしておきます)。 コンフィギュレーションからドラッグ&ドロップの動作でネットワークへの接続を実行します。(選択モードでドラッグ&ドロップを行うと、コンフィギュレーションの位置が移動してしまいます。) 3. 「接続プロパティ」で "IP Adress" の値を設定します。(例: 127.0.0.1) 値を設定したら、「OK」を押してダイアログボックスを抜けます。 4. 操作の詳細については、ヘルプの下記のセクションをご覧下さい。 「ワークベンチ」-「プロジェクトマネージャ」-「ハードウェアアーキテクチャの表示」接続接続プロパティ ...
  • ターゲット開発: オンラインヘルプで完全に一致する単語を検索する方法
    回答: *.chm(ISaGRAFVer.4/5 関連製品のヘルプファイル)で、ある表現から検索を行う場合、その文字列をダブルコーテーション(")で囲んでください。完全一致する単語のみ検索されます。 このダブルコーテーションをつけないと、その表現を含む全ての単語が検索されます。 ...

もっとも人気の検索:

最も人気の FAQ RSS

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

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