- TDBuildツールでC言語ファンクションブロックの登録時に「Initialize Instance」(FBインスタンスの初期化)というオプションがあるが、これはどういう意味か?
ISaGRAF PROV4.10以降では、ワークベンチの辞書で登録したファンクションブロックインスタンスのローカル変数に対して初期値が設定できるようになりました。「Initialize Instance」オプションはこの初期化を明示的に行うかどうかの指定するものです。
TDBuildでは、新しいCファンクションブロックを作成する時に、定義ウィンドウの"Options" から以下の設定を行うことができます。
Yes, initialize instances(ファンクションブロックインスタンスの初期化を行う)
ファンクションブロックに2つの関数
"FblInstInit"(ファンクションブロックインスタンスの初期化)
"FblInstExit"(ファンクションブロックインスタンスの終了)
が生成されます。これらの関数は各インスタンス毎にファンクションブロックのローカル変数を初期化するために使用し、ターゲットの初期化/終了時にカーネルがこの関数をコールします。
なお、生成される関数の中身は空なので、具体的な初期処理の内容はユーザがコーディングすることになります。
No, don't call instance initialization(ファンクションブロックインスタンス初期化をコールしない)
2つの関数は生成されますが、実行時にはカーネルからコールされることはありません。
"Yes"/"No"のいずれを選択しても、ワークベンチへインポートする定義ファイルのみが変更されるだけで、生成されるファンクションブロックのテンプレートのCソースは同じものになります。
ファンクションブロックインスタンスのローカル変数の初期化の設定
FblInstInit関数を実装していても、同時に辞書からローカル変数の初期値を設定すると、辞書からの設定が優先されるので留意ください。
また、辞書でファンクションブロックインスタンスを登録しても、IECプログラム中で使用しなければFblInstInit関数はコールされません。
...
- TICコードの概要
ISaGARF Ver.4/5のコード生成機能では、Cソースコードと中間コード(TIC:Target IndependentCode)の2種類のコードを生成することができます。
TICコードは、ワークベンチ及びターゲット双方の上位互換を保証しています。
TICコードの仕様は全て公開されています。これを利用して、どなたでもPLCやソフトロジックのターゲットシステムの基本設計の参考とすることができます。
TICの構造
TICコードは、以下のような構造のファイルに格納され、ターゲットにダウンロードされます。
アプリケーション構成情報バイナリ形式に変換されたSFCチャート (ステップとトランジションのリスト)TICコードに変換された命令
SFCチャートはどのようなSFCエンジンでも処理できるようになっています。例えば、いわゆるマトリックスベースのステートマシンでも可能です。
また、ターゲット側にそのようなソフトが実装されていない場合(旧いバージョンのターゲット)でも、ワークベンチ側でSFCチャートを直接個々の命令へ変換することができます。そのため、アプリケーション作成者はターゲットの仕様を意識することなく、 IEC61131-3の5言語全てを使うことができます。
TICコードはアプリケーション構造に関する情報と、非常に単純な「命令コード」・「ディスティネーション (演算対象)」・「オペランド」の3つの要素から典型的な命令形態をもつバイナリコード部分から成り立っています。そのため、ISaGRAFワークベンチと、別のターゲットシステムとの仲立ちとなるポストプロセッサを作成するのも比較的容易です。
TICの仕様書の入手方法
ISaGRAF Ver.4/5では、<ここ>をクリックするとPDFファイルを開けます。
...
- TDBuildとはどのようなものですか?
また、ISaGRAF Ver.4/5では、C言語ファンクションやI/Oの定義はどのようにして行いますか?
TDBuild(Target Definition Builder)はISaGRAF Ver.4/5のターゲットのアドオンに関する記述や設定を行うためのツールです。
1.各種オブジェクトの定義
TDBuildでは、以下のようなオブジェクトの定義を行います。
ターゲット記述の作成(メイン定義、組込みソフトウェアのオプション設定)ユーザ定義データタイプの作成(IEC言語プログラムで定義)C言語POU(ファンクション/ファンクションブロック/変換ファンクション)の登録I/Oドライバの登録C言語オブジェクトのテンプレートソースの作成IXL通信・データバインディング用ネットワークドライバの定義
上記の各種の定義を行い、"Build"-"Send to file" コマンドを実行すると「PLC定義ファイル」(*.txt)が生成されます。このファイルをISaGRAF Ver.4/5のプロジェクトに「インポート」すると、プロジェクトデータベースに上記の定義を追加することができます。
2.C言語POUのテンプレートの作成
TDBuildでは、該当するISaGRAF ver.4/5ターゲットフォーマットのC言語ファイルのテンプレートを生成することができます。これをもとにC言語オブジェクトの機能をコーディングし、ターゲットにリンクして実装します。
3.ISaGRAF Ver.3のライブラリのC言語オブジェクトのVer.4/5への移行
ISaGRAF Ver.3 のC言語ライブラリからPLC定義を作成し、ISaGRAF Ver.4/5へインポートすることが可能です。
ただし、インポートされるのは関数のインタフェース(パラメータ)のみです。C言語ファンクション本体のCソースコードはインポートされません。ISaGRAFから手動でCソースコードの移行と、Ver.4/5用のC言語インタフェースへの修正を行う必要があります。
TDBuild.exeはISaGRAF Ver.4/5のインストールフォルダの "Bin" の下にあります。
操作の詳細についてはTDBuilderのマニュアル、ISaGRAF Ver.4/5 ターゲットユーザガイドをご覧下さい。
なお、ISaGRAF Ver4.02以下ではTDBuildは未サポートです。MS-Access で PLCTools.mdb を開いてこれらの設定を行います。
...
- TICコードの概要
ISaGARF Ver.4/5のコード生成機能では、Cソースコードと中間コード(TIC:Target IndependentCode)の2種類のコードを生成することができます。
TICコードは、ワークベンチ及びターゲット双方の上位互換を保証しています。
TICコードの仕様は全て公開されています。これを利用して、どなたでもPLCやソフトロジックのターゲットシステムの基本設計の参考とすることができます。
TICの構造
TICコードは、以下のような構造のファイルに格納され、ターゲットにダウンロードされます。
アプリケーション構成情報バイナリ形式に変換されたSFCチャート (ステップとトランジションのリスト)TICコードに変換された命令
SFCチャートはどのようなSFCエンジンでも処理できるようになっています。例えば、いわゆるマトリックスベースのステートマシンでも可能です。
また、ターゲット側にそのようなソフトが実装されていない場合(旧いバージョンのターゲット)でも、ワークベンチ側でSFCチャートを直接個々の命令へ変換することができます。そのため、アプリケーション作成者はターゲットの仕様を意識することなく、 IEC61131-3の5言語全てを使うことができます。
TICコードはアプリケーション構造に関する情報と、非常に単純な「命令コード」・「ディスティネーション (演算対象)」・「オペランド」の3つの要素から典型的な命令形態をもつバイナリコード部分から成り立っています。そのため、ISaGRAFワークベンチと、別のターゲットシステムとの仲立ちとなるポストプロセッサを作成するのも比較的容易です。
TICの仕様書の入手方法
ISaGRAF Ver.4/5では、<ここ>をクリックするとPDFファイルを開けます。
...
- TDBuildとはどのようなものですか?また、ISaGRAF Ver.4/5では、C言語ファンクションやI/Oの定義はどのようにして行いますか?
TDBuild(Target Definition Builder)はISaGRAF Ver.4/5のターゲットのアドオンに関する記述や設定を行うためのツールです。
1.各種オブジェクトの定義
TDBuildでは、以下のようなオブジェクトの定義を行います。
ターゲット記述の作成(メイン定義、組込みソフトウェアのオプション設定)ユーザ定義データタイプの作成(IEC言語プログラムで定義)C言語POU(ファンクション/ファンクションブロック/変換ファンクション)の登録I/Oドライバの登録C言語オブジェクトのテンプレートソースの作成IXL通信・データバインディング用ネットワークドライバの定義
上記の各種の定義を行い、"Build"-"Send to file" コマンドを実行すると「PLC定義ファイル」(*.txt)が生成されます。このファイルをISaGRAF Ver.4/5のプロジェクトに「インポート」すると、プロジェクトデータベースに上記の定義を追加することができます。
2.C言語POUのテンプレートの作成
TDBuildでは、該当するISaGRAF ver.4/5ターゲットフォーマットのC言語ファイルのテンプレートを生成することができます。これをもとにC言語オブジェクトの機能をコーディングし、ターゲットにリンクして実装します。
3.ISaGRAF Ver.3のライブラリのC言語オブジェクトのVer.4/5への移行
ISaGRAF Ver.3 のC言語ライブラリからPLC定義を作成し、ISaGRAF Ver.4/5へインポートすることが可能です。
ただし、インポートされるのは関数のインタフェース(パラメータ)のみです。C言語ファンクション本体のCソースコードはインポートされません。ISaGRAFから手動でCソースコードの移行と、Ver.4/5用のC言語インタフェースへの修正を行う必要があります。
TDBuild.exeはISaGRAF Ver.4/5のインストールフォルダの "Bin" の下にあります。
操作の詳細についてはTDBuilderのマニュアル、ISaGRAF Ver.4/5 ターゲットユーザガイドをご覧下さい。
なお、ISaGRAF Ver4.02以下ではTDBuildは未サポートです。MS-Access で PLCTools.mdb を開いてこれらの設定を行います。
...
- TDBuildツールでC言語ファンクションブロックを登録時に「Initialize Instance」(FBインスタンスの初期化)というオプションがあるが、これはどういう意味か?
ISaGRAF Ver4.10以降では、ワークベンチの辞書で登録したファンクションブロックインスタンスのローカル変数に対して初期値が設定できるようになりました。「Initialize Instance」オプションはこの初期化を明示的に行うかどうかの指定するものです。
TDBuildでは、新しいCファンクションブロックを作成する時に、定義ウィンドウの "Options" から以下の設定を行うことができます。
Yes, initialize instances(ファンクションブロックインスタンスの初期化を行う)
ファンクションブロックに2つの関数
"FblInstInit"(ファンクションブロックインスタンスの初期化)
"FblInstExit"(ファンクションブロックインスタンスの終了)
が生成されます。これらの関数は各インスタンス毎にファンクションブロックのローカル変数を初期化するために使用し、ターゲットの初期化/終了時にカーネルがこの関数をコールします。
なお、生成される関数の中身は空なので、具体的な初期処理の内容はユーザがコーディングすることになります。No, don't call instance initialization(ファンクションブロックインスタンス初期化をコールしない)
2つの関数は生成されますが、実行時にはカーネルからコールされることはありません。
"Yes"/"No"のいずれを選択しても、ワークベンチへインポートする定義ファイルのみが変更されるだけで、生成されるファンクションブロックのテンプレートのCソースは同じものになります。
ファンクションブロックインスタンスのローカル変数の初期化の設定
FblInstInit関数を実装していても、同時に辞書からローカル変数の初期値を設定すると、辞書からの設定が優先されるので留意ください。
また、辞書でファンクションブロックインスタンスを登録しても、IECプログラム中で使用しなければFblInstInit関数はコールされません。
...
- TICコードの概要
ISaGARF Ver.4のコード生成機能では、Cソースコードと中間コード(TIC:Target IndependentCode)の2種類のコードを生成することができます。
TICコードは、ワークベンチ及びターゲット双方の上位互換を保証しています。
TICコードの仕様は全て公開されています。これを利用して、どなたでもPLCやソフトロジックのターゲットシステムの基本設計の参考とすることができます。
TICの構造
TICコードは、以下のような構造のファイルに格納され、ターゲットにダウンロードされます。
アプリケーション構成情報バイナリ形式に変換されたSFCチャート (ステップとトランジションのリスト)TICコードに変換された命令
SFCチャートはどのようなSFCエンジンでも処理できるようになっています。例えば、いわゆるマトリックスベースのステートマシンでも可能です。
また、ターゲット側にそのようなソフトが実装されていない場合(旧いバージョンのターゲット)でも、ワークベンチ側でSFCチャートを直接個々の命令へ変換することができます。そのため、アプリケーション作成者はターゲットの仕様を意識することなく、 IEC61131-3の5言語全てを使うことができます。
TICコードはアプリケーション構造に関する情報と、非常に単純な「命令コード」・「ディスティネーション (演算対象)」・「オペランド」の3つの要素から典型的な命令形態をもつバイナリコード部分から成り立っています。そのため、ISaGRAFワークベンチと、別のターゲットシステムとの仲立ちとなるポストプロセッサを作成するのも比較的容易です。
TICの仕様書の入手方法
ISaGRAF Ver.4では、<ここ>をクリックするとPDFファイルを開けます。
...