(57)【要約】【課題】動作するコントローラ上での実行エラーを防止する。【解決手段】ＳＴ言語プログラムツール１によって作成されたＳＴ言語ソースプログラム（ＴＥＸＴ形式）２をインポート機能５と、そのプログラムをＳＴ言語よりＣ言語へ翻訳するＳＴ言語→Ｃ言語翻訳機能６、その結果であるＣ言語ソースプログラム７をＣ言語ソースプログラム（ＴＥＸＴ形式）１４として外部出力するエクスポート機能８を、ＳＴ言語変換機能４としてエンジニアリングツール３に備え、ロジック図１１とともにＣコンパイラ９にて実行ファイル１２として制御装置１３のＣ動作環境１９をもつコントローラ１８で制御動作を行わせる。【効果】ＳＴ言語プログラムの解析を自動実行し、エラー防止コードを追加したＣ言語プログラムに翻訳することで、Ｃ言語動作環境を持つコントローラ上で、実行上のエラーを防止しつつＳＴ言語プログラム機能を制御装置で実行可能とする。【選択図】図１
2007133622.tif 000002
【特許請求の範囲】
【請求項１】
言語変換に伴うチェックコードを記憶すると共に、プログラムエラーに応じてエラーを抑制するコードを記憶する記憶部と、前記チェックコードを読み出して前記記憶内容を参照して、言語が変換されたプログラムを作成する処理部を有し、前記処理部は、変換されたプログラムのうち前記チェックコードに相当する部分を特定し、前記プログラムの特定された部分について実行時にエラーを抑制するように前記チェックコードに応じたエラー抑制コードを前記記憶部から読み出して変換されたプログラムに追加するように構成されることを特徴とするエンジニアリングツール。
【請求項２】
請求項１において、変換の対象となるプログラムを入力する入力部を有することを特徴とするエンジニアリングツール。
【請求項３】
請求項２において、前記変換されたプログラムを機械語に変換する変換部を有することを特徴とするエンジニアリングツール。
【請求項４】
請求項１において、プログラム言語の変換はＳＴ言語からＣ言語への変換であることを特徴とするエンジニアリングツール。
【請求項５】
請求項４において、前記変換されたプログラムに、コードを追加あるいは変更する作成ツールを有することを特徴とするエンジニアリングツール。
【請求項６】
請求項１において、前記チェックにより特定されるコードはループに関するものであることを特徴とするエンジニアリングツール。
【請求項７】
請求項１において、前記チェックにより特定されるコードは配列への代入に関するものであることを特徴とするエンジニアリングツール。
【請求項８】
請求項１において、エラーに関する情報を蓄積するデータベースを有することを特徴とするエンジニアリングツール。
【請求項９】
請求項８において、前記データベースの蓄積内容を読み出して図面に表示する表示部を有することを特徴とするエンジニアリングツール。
【請求項１０】
記憶部からチェックコードを読み出して、変換されたプログラムのうち前記チェックコードに相当する部分を特定し、前記プログラムの特定された部分について実行時にエラーを抑制するように前記チェックコードに応じたエラー抑制コードを記憶部から読み出して、変換されたプログラムに追加するプログラム変換方法。
【請求項１１】
プログラムを入力する入力部と、該入力されたプログラムを変換する変換部と、該変換されたプログラムから所定のチェックコードを特定する特定部と、前記特定されたコードについてエラーを抑制するように前記チェックコードに応じたエラー抑制コードを追加する修正部と、前記追加されたプログラムを出力する出力部を有することを特徴とするエンジニアリングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジニアリングツール及びプログラム変換方法に関し、特に、原子力発電プラントを制御する制御装置で用いられるソフトウェア制御ロジックを作成するのに好適なものに関する。
【背景技術】
【０００２】
所定のプログラム言語（具体的には、ＳＴ言語）で作成されたプログラムと異なる言語（具体的には、Ｃ言語）に変換する場合、従来はプログラム変換（あるいは、以下プログラムコーディングとも称する）後に、人手によりエラーチェックを実施した。
【０００３】
また、所定のプログラム言語(具体的には、Pascal言語)で作成されたプログラムを異なる言語(具体的には、Ｃ言語)に変換する際に、変換の際に検出したエラーをメッセージとして出力する技術が知られている。このような技術は、例えば、特開平４−１９１９３３号公報（特許文献１）に知られている。
【０００４】
【特許文献１】特開平４−１９１９３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術には、変換プログラムがエラーを起こさずに実行されるように、変換プログラムを修正することが配慮されていない。例えば、人手によりプログラムを修正したときに、チェック忘れ，チェック省略などをプログラマに許すこととなり、実行コードにエラーが含まれていても、特に無限ループを作りこむ等、エラーを残す可能性があるという問題点があった。
【０００６】
本発明の目的は、プログラム変換時にエラーの抑制が可能なエンジニアリングツール及びプログラム変換方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明では、変換されたプログラムのうちチェックコードに相当する部分を特定し、特定されたプログラムの部分がエラーを起こさないようにチェックコードに応じてエラー抑制コードを変換されたプログラムに追加するように構成した。
【発明の効果】
【０００８】
本発明によれば、プログラム変換時に、変換に伴うエラーを抑制することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を図面を用いて説明する。図１は、システム全体図を示しており、特に、ＳＴ言語で記述されたソースプログラム（以下、ＳＴ言語ソースプログラムと称す）をＣ言語で記述されたソースプログラム（以下、Ｃ言語ソースプログラムと称す）に変換するため機能を含んだエンジニアリングツール３を主に説明する。ここで、ソースプログラムは、ソースコードとも呼ばれるもので、人間に理解しやすい表現のプログラミング言語で記述されたものであり、コンパイラ等で機械語に変換された後に、計算機で実行されるものである。また、ＳＴ言語（Structured Text 言語）は例えば、ＰＡＳＣＡＬに似た構文構造を持ち、処理が多岐に分かれるアプリケーションをＩＦ−ＴＨＥＮ−ＥＬＳＥのような条件文にて記述したり、演算式が容易に記述できるように工夫された、等が特徴的な言語である。
【００１０】
ＳＴ言語プログラムツール１では、ＳＴ言語で記述されたプログラム（以下、ＳＴ言語プログラムと称す）１６が作成され、ＳＴ言語プログラム１６はＳＴ言語ソースプログラム（ＴＥＸＴ形式）の形式で出力される。
【００１１】
エンジニアリングツール３は、ＳＴ言語ソースプログラム（ＴＥＸＴ形式）をＣ言語ソースプログラムに変換するＳＴ言語変換機能４，Ｃ言語に変換されたＣ言語ソースプログラムを機械語に変換するＣコンパイラ９，ロジック図に基づいてＣ言語ソースプログラム語を作成するＣＡＤツール１０で構成される。エンジニアリングツール３は、図１に示すように、ＳＴ言語変換機能４（インポート機能５，ＳＴ言語→Ｃ言語翻訳機能６，Ｃ言語ソースプログラム７，エクスポート機能８），Ｃコンパイラ９及びＣＡＤツール１０から構成されるが、これらは計算機（例えば、中央演算部，不揮発性記憶部，一時記憶部，入出力インターフェース等で構成）で構成され、各機能はソフトウェアとして構成される。もちろん、複数の計算機として構成して、それぞれの計算機に分散して、各機能のソフトウェアを分散して搭載しても良いし、また、一部の機能をハードウェアとして構成しても良い。
【００１２】
エンジニアリングツール３の動作を説明する。ＳＴ言語変換機能４は、ＳＴ言語プログラムツール１を使用して作成されたＳＴ言語ソースプログラムを、ＳＴ言語ソースプログラム（ＴＥＸＴ形式）２として取り込む。なお、ＴＥＸＴ形式でなくても、取込可能に構成可能である。なお、ソースプログラム、またＴＥＸＴ形式等を含めて、プログラムは、これらの上位の概念である。ＳＴ言語変換機能４は、取り込まれたＳＴ言語ソースプログラム（ＴＥＸＴ形式）２を元にＳＴ言語→Ｃ言語に変換し、Ｃ言語ソースプログラム７を作成する。Ｃコンパイラ９は、Ｃ言語ソースプログラム７をコンパイル変換して、機械語プログラムを作成する。
【００１３】
一方、ＣＡＤツール１０は、図示しない入力操作部から入力された情報を、演算子及び演算子の接続線として表現することによってロジック図１１を画面に表示し、該ロジック図で表現されたロジックをＣ言語のソースプログラムとして出力する。Ｃコンパイラ９は、ＳＴ言語変換機能４で作成されたＣ言語ソースプログラムとＣＡＤツール１０で作成されたＣ言語ソースプログラムを併合してから、機械語に変換することで、実行ファイル
１２を作成する。
【００１４】
実行ファイル１２は、制御装置１３に送られ、Ｃ動作環境１９を持つコントローラ１８によって制御動作が実行されることとなる。
【００１５】
制御装置１３は、例えば、原子力発電プラントを制御するためのものであり、原子力発電に係るプロセス情報を取り込み、このプロセス情報を表示すると共に、操作情報を取り込み、これらに基づいて制御情報をプラントに送って原子力発電を制御するものである。
【００１６】
また、エンジニアリングツール３で作成されたＣ言語ソースプログラム７は、Ｃ言語ソースプログラム（ＴＥＸＴ形式）１４として出力されると、Ｃ動作環境１７を持つシミュレータ１５で動作されることとなる。
【００１７】
ＳＴ言語変換機能４の構成を説明する。ＳＴ言語変換機能４は、ＳＴ言語ソースプログラム（ＴＥＸＴ形式）２をエンジニアリングツール３に取り込むためインポート機能（あるいは、単に入力機能とも称する。以下同様）５、インポートされたプログラムをＳＴ言語からＣ言語へ翻訳するＳＴ言語→Ｃ言語翻訳機能６、ＳＴ言語→Ｃ言語翻訳機能６が作成するＣ言語ソースプログラム７を外部へ出力するエクスポート機能８から構成される。
【００１８】
ＳＴ言語変換機能４の動作を説明する。インポート機能５がＳＴ言語ソースプログラム（ＴＥＸＴ形式）２を取り込むと、ＳＴ言語→Ｃ言語翻訳機能６が取り込まれたＳＴ言語ソースプログラム（ＴＥＸＴ形式）２を元に、エンジニアリングツール３が備えるＣコンパイラ９でコンパイル可能なように、Ｃ言語で記述される、Ｃ言語ソースプログラム７を作成する。
【００１９】
このように、ＳＴ言語→Ｃ言語翻訳機能６より作成されたＣ言語ソースプログラム７は、Ｃコンパイラ９にて、エンジニアリングツール３が備えるＣＡＤツール１０により作成されたロジック図１１と併せて実行ファイル１２にコンパイルされることで、ＳＴ言語プログラムの動作環境をもたないがＣ動作環境１９をもつ制御装置１３のコントローラ１８において、ＳＴ言語プログラム１６の機能を実現可能とする。
【００２０】
エクスポート機能８は、Ｃ言語ソースプログラム７を元に、Ｃ言語ソースプログラム
（ＴＥＸＴ形式）１４として出力する。出力されたＣ言語ソースプログラム（ＴＥＸＴ形式）１４は、ＳＴ言語の動作環境をもたないが、Ｃ言語プログラムを動作できるシミュレータ１５（パソコンなどで構成することも可能）上で動作可能となる。
【００２１】
ＳＴ言語→Ｃ言語翻訳機能６は、上記説明の通りＳＴ言語ソースプログラム（ＴＥＸＴ形式）２をＣ言語ソースプログラム７に変換するものであるが、変換の際に発生した文法的な処理のエラーを修復する機能を含んでいる。図２に、ＳＴ言語→Ｃ言語翻訳機能６の動作を含んだ動作フローを示す。
【００２２】
インポート機能５がＳＴ言語ソースプログラム（ＴＥＸＴ形式）２を入力すると、ＳＴ言語→Ｃ言語翻訳機能６からステップ２１で、ＳＴ言語ソースプログラム(ＴＥＸＴ形式)２をＣ言語プログラムに変換する。なお、この変換動作には、一部人手による作業が含まれることもあり、場合によっては、全部が人手による変換作業となり得る。ステップ２２で文法上のエラーがないかチェックする。エラーがなければ（ＯＫであれば）ステップ
２５に進む。エラーがあると判断されると（ＯＫでなければ）ステップ２４で、エラー報告を行う。ステップ２９では、エラー報告に応じた防止コードを追加し、再度ステップ
２２で文法上のエラーがないかチェックする。
【００２３】
ステップ２２でエラーがないと判断されると（ＯＫであれば）Ｃコンパイラ９にて、ステップ２５で、Ｃ言語ソースプログラム７を機械語に変換する。変換された機械語プログラムとは再びＳＴ言語→Ｃ言語翻訳機能６にて、ステップ２６で動作上のエラーがないかチェックする。エラーがあると判断されると（ＯＫでなければ）、ステップ２７でエラー報告を行い、ステップ２９でエラー報告に応じた防止コードを追加し、再び、ステップ
２２に戻る動作をなす。ステップ２６でエラーがなければ（ＯＫであれば）、ステップ
２８で変換された機械語プログラムを実行コードとなして、実行ファイル１２に格納する。
【００２４】
図２に示したステップ２９（エラー報告に応じた防止コードを追加する）の具体例を説明する。ＳＴ言語→Ｃ言語翻訳機能６が行うＳＴプログラムの解析において、実行エラー防止コード追加は、トランスレータが無限ループを防止するものである。すなわち、ループ端のループ終了条件を満たす事がないループを含むコードをコンパイルすると、無限ループに陥ってしまうので、これを回避するために防止コードを追加するのである。
【００２５】
図３−１に、変換されたＣ言語ソースプログラム７の例を示す。このプログラムでは、ステップ３０１でループの終了条件を設定し、ステップ３０２でループの処理を行い、ステップ３０３で処理した結果がステップ３０１で設定したループ終了条件を満足しているか判断し、ループ終了条件を満足していなければ、ループ３０１に戻り、再度ステップ
３０２でループ処理を行う。この場合、ループ終了条件の設定によっては、ステップ301からステップ３０３の間を何度も繰り返す無限ループとなってしまうおそれがある。
【００２６】
ＳＴ言語→Ｃ言語翻訳機能６の動作を図３−２に示す。この動作により、無限ループを防止するためのコードを追加する。ＳＴ言語→Ｃ言語翻訳機能６は、ステップ３１１で、Ｃ言語ソースプログラム７の各構成文法をチェックして「ループ」であるか否か判断する。
【００２７】
図３に示す動作例では、変換されたプログラムのなかにループに相当するコードがあるか否か探し出し、また、後述する図４に示す動作例では、配列の代入に相当するコードがあるか否か探すが、これらの探索の対象となるコード（ＳＴ言語プログラムからＣ言語プログラムに変換に伴って文法上等のエラーを起こす可能性あるコード）が予め記憶部（図示せず）に記憶されており、例えば、無限ループ、次に、配列の代入、…のように、探索の対象となるコードを記憶部から読み出す。ステップ３１１で「ループ」と判断されると、ステップ３１２で、カウンタを設置し、更に、ステップ３２３でループ部分のトランスレートを設けて、フローを終了する。すなわち、Ｃ言語ソースプログラム７として構成された図３−１の処理について、図３−３の点線で囲まれた処理（ステップ３１１，ステップ３１２及びステップ３１３）に相当するコードを追加する。
【００２８】
このように、図３に示す動作例では、ステップ３１１，ステップ３１２及びステップ
３１３に相当するコードが追加されるが、これらのコードは予め「ループ」に対応するエラーを抑制する処理のコードとして記憶部（図示せず）に記憶されており、「ループ」を探索した場合にそれに対応するものとして記憶部から読み出される。後述する図４に示す「配列の代入」について同様に予め記憶されているコードを読み出すことで、「配列の代入」に対応するための処理のコードを得て、プログラムに追加する。
【００２９】
コードが追加されたＣ言語ソースプログラム７の処理フローを図３−３として説明する。ステップ３０１の後に、ステップ３１１で、カウンタがｍａｘ値より大きいか比較する。なお、ステップ３０１でループ終了条件を設定されたときに、それと共に、カウンタ値が１と設定され、また、ｍａｘが例えば１０あるいは１００等の適切な値が設定される。ステップ３１２で、カウンタ値は１プラスとなり、すなわち、ステップ３１２も処理の毎に１ずつ増加される。前記説明の図３−１のフローと同様に、ステップ３０２でループ処理して、ステップ３０３でループ条件を満足しなければ再度（何度も）ステップ３０１に戻る（ただし、２回目以降はカウンタ値を１に戻すことはなく、そのカウント値を維持する）こととなるが、その間にステップ３１１でカウント値がｍａｘよりも大きくなったと判断されると、ステップ３１３でエラー処理を行うと共に、ステップ３０１からステップ３０３に戻るループをぬけるように処理する。
【００３０】
次に、ＳＴ言語→Ｃ言語翻訳機能６が行うエラー防止コードの追加の他の例を説明する。図４に、配列境界チェックの場合の動作例を示す。配列の範囲１の外に代入処理をするコードをメモリ異常を引き起こさないようにこれを回避するために処理を行う。
【００３１】
図４−１に、数値および文字コードを記憶するための配列６１を示す。配列６１では配列（１），（２），…，（１１）のそれぞれに、数値および文字コードを記憶する。この時、ステップ４０２で示す配列の範囲外の代入を行うとメモリ異常のエラーを起こす。
【００３２】
このメモリ異常のエラーを防止するためコードを追加するためのＳＴ言語→Ｃ言語翻訳機能６の動作を図４−２に示す。ステップ４１１で、Ｃ言語ソースプログラム７の各構成文法をチェックして「配列への代入」の処理であるか否か判断する。ステップ４１１で
「配列への代入」の処理であると判断されると、ステップ４１２で境界チェックを設定し、ステップ４１３で配列代入部分のトランスレートを行う。すなわち、Ｃ言語ソースプログラム７として構成された図４−１で示される「配列４０１の代入」についてこの場合、図４−３のステップ４０２で示す「配列に代入」に相当する、図４−３の点線で囲まれた処理（ステップ４２１及びステップ４２３）に相当するコードを追加する。
【００３３】
コードが追加されたＣ言語プログラムの処理フローを図４−３として説明する。配列代入の前処理として、ステップ４２１で、境界内か否か判断する。ステップ４２１で境界内でないと判断すると、ステップ４２３でエラー処理を行う。
【００３４】
図５〜図９を用いて他の実施例を説明する。なお、前記説明の実施と同じ構成部分には同符号を付しており、その部分の説明は省略する。図５に示すように、エンジニアリングツール３には、データベース２０が機能されている。このデータベース２０には、図６に示すように、ユーザＩＤ、ｄ１００（Ａ０００１，Ａ０００２，Ａ０００３，Ａ０００４…）ごとのエラー統計情報（ｄ１０１，ｄ１０２及びｄ１０３）が格納されている。
【００３５】
図７にプログラム作成処理フローを示す。データベース２０には、ユーザＩＤごとのエラー統計情報が格納されているが、プログラム作成処理フローのエラー報告処理Ｓ２４及びＳ２７で、データベース２０にユーザＩＤ毎にエラー内容を格納する。
【００３６】
図８にエラー傾向報告処理フローを示す。ステップ３１で、プログラムユーザＩＤでエンジニアリングツール３にログインすると、ステップ３２で、データベース２０からデータを読み出す。ステップ３３でエラー統計情報を画面表示する。図９に、エラー統計情報表示画面を示す。ユーザがエンジニアリングツール３にログイン及びログアウトするたびに、ＳＴ言語プログラミングツール１上にユーザ毎のエラー統計情報ｄ１００を頻度順に表示する。ユーザＩＤ，ｄ２０１に応じてエラー頻度を示す縦軸ｄ２０２、エラー種別を示す縦軸ｄ２０３に対して、エラー頻度を示す棒グラフｄ２０４〜ｄ２０６及びユーザのエラー発生傾向に対するコメント表示画面ｄ２０７を表示する。
【００３７】
ステップ３４でコーディング作業の処理を行い、ステップ３５でログアウトか否か判断し、ログアウトであれば、ステップ３６でデータベース２０から情報を読み出し、ステップ３７でエラー統計情報を表示する。ステップ３５でログアウトでなければ再びステップ３４に戻りコーディング作業の処理を行う。
【００３８】
このように、ＳＴ言語で作成されたソースプログラムをＣ言語へ翻訳する際、ソースプログラムを自動解析し、プログラマの文法上のエラーを検出する機能と、翻訳後のＣ言語ソースプログラムがコントローラ上で実行される際のエラーを防止するため、Ｃ言語ソースプログラムに対して実行時エラー防止コードを自動追加してＣ言語ソースプログラムとして作成する機能を有するＳＴ言語変換機能を備えることで、ＳＴ言語プログラムを、エンジニアリングツールが備えるＣＡＤツールで作られたロジック図と併せてＣコンパイラでコンパイル可能とし、ＳＴ動作環境を備えていない制御装置のコントローラで動作可能とするエンジニアリングツールを提供する。
【００３９】
また、制御装置のプログラムを作成するエンジニアリングツールにおいて、ＳＴ言語プログラム作成機能とＳＴコンパイラを備えることを必要とせずに、ＳＴ言語で記述されたプログラムを、Ｃ言語で記述されたＴＥＸＴ形式のファイルとして出力し、ＳＴ動作環境を備えていないシミュレータで動作可能とするエンジニアリングツールを提供する。
【００４０】
具体的には、ＣＡＤツールでロジック図を作成しＣコンパイラでコンパイルすることで制御装置のコントローラで実行可能とする機能を備えたエンジニアリングツールに、TEXT形式のＳＴ言語プログラムを取り込むインポート機能、ＳＴ言語プログラムをＣ言語プログラムに翻訳する際に、ＳＴ言語プログラムを自動解析し、文法エラーのチェック、翻訳後のＣ言語ソースプログラムに対して実行時エラー防止コードの自動追加を行うＳＴプログラム翻訳機能、翻訳後のＣ言語ソースプログラムを、ＴＥＸＴ形式のＣ言語プログラムとして出力するエクスポート機能を備えるものである。
【００４１】
以上説明してきたように構成されているのでＳＴ言語で記述されたＴＥＸＴ形式のプログラムを取り込み、ＳＴ言語プログラムの解析を自動実行し、エラー防止コードを追加したＣ言語プログラムに翻訳することで、ＣＡＤツールで作成したロジック図とコンパイル可能とし、かつ実行上のエラーを防止して、ＳＴ言語プログラムの機能を制御装置で実行可能とする。
【００４２】
その他に、ＳＴ言語で記述されたＴＥＸＴ形式のプログラムを取り込み、Ｃ言語に翻訳しＣ言語ソースプログラムとして、ＣＡＤツールで作成したロジック図と実行ファイルとして、他のＳＴ言語プログラムツールで作成されたプログラムを、ＳＴ言語プログラム作成機能，ＳＴコンパイラ、及び機器上でのＳＴ動作環境を必要とせずに、ＳＴ言語プログラムの機能を制御装置で実行可能とする。
【００４３】
その他に、ＳＴ言語で記述されたＴＥＸＴ形式のプログラムを取り込み、Ｃ言語に翻訳しＴＥＸＴ形式のＣ言語ソースプログラムとして、エクスポートできるので、ＳＴ言語プログラム作成機能，ＳＴコンパイラ、及び機器上でのＳＴ動作環境を備えていないシミュレータにおいて、ＳＴ言語プログラムの機能をシミュレート可能とする。
【図面の簡単な説明】
【００４４】
【図１】エンジニアリングツールのブロック図。
【図２】エンジニアリングツール処理フロー説明図。
【図３】無限ループエラー防止の説明図。
【図４】配列境界エラー防止チェックの説明図。
【図５】データベースに接続したエンジニアリングツールを示す図。
【図６】データベース形式を示す図。
【図７】プログラム作成処理フロー図。
【図８】エラー傾向報告処理フロー図。
【図９】エラー統計情報表示画面の図。
【符号の説明】
【００４５】
１…ＳＴ言語プログラムツール、２…ＳＴ言語ソースプログラム（ＴＥＸＴ形式）、３…エンジニアリングツール、４…ＳＴ言語変換機能、５…インポート機能、６…ＳＴ言語→Ｃ言語翻訳機能、７…Ｃ言語ソースプログラム、８…エクスポート機能、９…Ｃコンパイラ、１０…ＣＡＤツール、１１…ロジック図、１２…実行ファイル、１３…制御装置、１４…Ｃ言語ソースプログラム（ＴＥＸＴ形式）、１５…シミュレータ、１６…ＳＴ言語プログラム、１７，１９…Ｃ動作環境、１８…コントローラ。
【図１】
2007133622.tif 000003
【図２】
2007133622.tif 000004
【図３】
2007133622.tif 000005
【図４】
2007133622.tif 000006
【図５】
2007133622.tif 000007
【図６】
2007133622.tif 000008
【図７】
2007133622.tif 000009
【図８】
2007133622.tif 000010
【図９】
2007133622.tif 000011