制御系の設計に用いられるブロック線図を保持する保持部と、前記保持部に保持されるブロック線図のブロックに対する指定を受け付ける指定受付部と、を備え、前記指定受付部によって指定が受け付けられたブロックとそうでないブロックとでプログラムへの変換処理を変えたことを特徴とするブロック線図処理装置。前記指定受付部によって指定が受け付けられたブロックについての第1演算式を導出する第1演算式導出部と、そうでないブロックについての第2演算式を導出する第2演算式導出部と、をさらに備えることを特徴とする請求項1に記載のブロック線図処理装置。前記第1演算式導出部によって導出された第1演算式および前記第2演算式導出部によって導出された第2演算式をプログラムに変換する変換部をさらに備え、そのプログラムにおいて第1演算式に対応する部分と第2演算式に対応する部分とは区別して表現されることを特徴とする請求項2に記載のブロック線図処理装置。制御系の設計に用いられるブロック線図を保持部に保持する機能と、前記保持部に保持されるブロック線図のブロックに対する指定を受け付ける機能と、指定が受け付けられたブロックとそうでないブロックとでプログラムへの変換処理を変える機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。制御系の制御器に対応するブロックと制御系の制御対象に対応するブロックとを有するブロック線図を保持部に保持するステップと、前記保持部によって保持されるブロック線図のプログラムへの変換処理の際、制御器に対応するブロックと制御対象に対応するブロックとで変換処理を変えるステップと、を含むことを特徴とするブロック線図の処理方法。MATLAB/Simulinkに代表される従来の制御設計ツールでは、ブロック線図の編集機能はまだ十分とは言えない。特にシミュレートした制御系のブロック線図を実機へ実装する場合、そのブロック線図をそのまま実機に実装することは難しい。この場合、実機のモデルである制御対象ブロックを削除し、入力出力を示すブロックを新たに加える等、制御対象周りの入力部分と出力部分を大幅に書き換える必要があった。本発明はこうした課題に鑑みてなされたものであり、その目的は、制御設計の作業効率を高めることができるブロック線図の処理技術の提供にある。本発明のある態様はブロック線図処理装置に関する。このブロック線図処理装置は、制御系の設計に用いられるブロック線図を保持する保持部と、保持部に保持されるブロック線図のブロックに対する指定を受け付ける指定受付部と、を備える。指定受付部によって指定が受け付けられたブロックとそうでないブロックとでプログラムへの変換処理を変えた。この態様によると、ブロック線図をプログラムに変換する際、ブロックに対する処理を指定の有無で変えることができる。本発明の別の態様は、ブロック線図の処理方法である。この方法は、制御系の制御器に対応するブロックと制御系の制御対象に対応するブロックとを有するブロック線図を保持部に保持するステップと、保持部によって保持されるブロック線図のプログラムへの変換処理の際、制御器に対応するブロックと制御対象に対応するブロックとで変換処理を変えるステップと、を含む。この態様によると、制御器に対応するブロック、制御対象に対応するブロックのそれぞれに適した変換処理を施すことができる。なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。本発明によれば、制御設計の作業効率を高めることができる。以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。実施の形態に係るブロック線図処理装置は、ブロック線図をプログラムすなわちソースコードに変換する前に、ユーザにブロックの属性を指定させる。ブロック線図処理装置は、ソースコードへの変換の際はブロックを属性ごとに分けて処理する。このようにして生成されるソースコードでは、各属性に対応する部分を容易に区別することができる。例えばブロックが制御器であるか制御対象であるかという基準に基づきブロックの属性を指定する場合、生成されるソースコードにおいて、制御器に対応する部分と制御対象に対応する部分とを容易に区別できる。したがって、シミュレーションに使用する場合は両方の部分をコンパイルし、実機に実装する場合は制御対象部分をコンパイルから除外するよう指定するといったように、ひとつのソースコードを使用目的に合わせて使い分けできる。その結果、従来のようにシミュレーション時におけるブロック線図と実装時におけるブロック線図とを書き分ける必要はなく、ひとつのブロック線図をシミュレーションにも実装にも使用できるようになる。これにより、ブロック線図の管理がより容易となり、ブロック線図を使用した制御設計の作業効率が向上する。図1は、実施の形態に係るブロック線図処理装置10の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPUcentralprocessingunitをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。ブロック線図処理装置10は、マウスやキーボードなどの入力手段12から入力される入力情報に基づいてブロック線図を生成することによって取得し、または外部からブロック線図の線図データを取得する。ブロック線図処理装置10は、取得されたブロック線図を編集する。ブロック線図処理装置10は、例えば生成されたブロック線図やその編集状況や生成されたソースコードをディスプレイ14に表示させる。ブロック線図処理装置10は、ブロック線図取得部20と、線図データ保持部30と、指定受付部40と、処理部50と、表示制御部60と、を備える。ブロック線図取得部20は線図データを取得する。ブロック線図取得部20は、ユーザからの入力情報に基づいてブロック線図を生成し、その線図データを線図データ保持部30に登録する。線図データはブロック線図に対応するデータであり、表示制御部60によってブロック線図に変換されてディスプレイ14に表示されうるデータである。ブロック線図取得部20においては、例えばMathWorks社が提供するMATLAB/Simulinkに使用されているブロック線図作成技術と同様のブロック線図作成技術が使用されてもよい。あるいはまた、ブロック線図取得部20は、外部記憶装置やネットワークなどから線図データを取得してもよい。線図データ保持部30は、ブロック線図取得部20によって取得された線図データを保持する。図2は、線図データ保持部30に保持される線図データのうちブロックに関する部分の一例を示すデータ構造図である。線図データのうちブロックに関する部分は、ブロックの名前と、ブロック線図におけるブロックの位置と、属性フラグと、を対応付けて保持する。属性フラグは、ブロックが制御対象ブロックとして指定されたか否かを示すフラグであり、1の場合制御対象ブロックとして指定されたことを示す。ブロック線図処理装置10は、ブロックが制御対象ブロックとして指定されていない場合すなわち属性フラグが0の場合、そのブロックは制御器ブロックとして指定されたと解釈する。図1に戻り、ユーザは入力手段12を介して、ディスプレイ14に表示させたいブロック線図を指定する。表示制御部60は、指定されたブロック線図に対応する線図データを線図データ保持部30から取得し、ブロック線図に変換してディスプレイ14に表示させる。ユーザはディスプレイ14上で、制御対象ブロックとして指定されるべきブロックをクリックなどにより指定する。あるいはまた、ユーザは、指定の有無をブロックのプロパティとして選択してもよい。指定受付部40はそのような指定を受け付ける。指定受付部40は、ブロック特定部72と、属性フラグ操作部74と、を有する。ブロック特定部72は、ディスプレイ14上でユーザによってクリックされたブロックを特定する。属性フラグ操作部74は、線図データ保持部30にアクセスし、ブロック特定部72によって特定されたブロックの属性フラグが立っていなければそれを立てる、または有効にする。また、属性フラグ操作部74は、属性フラグが立っていればそれを解除する、または無効にする。より具体的には、属性フラグ操作部74は、属性フラグが0であれば1にし、1であれば0にする。本実施の形態では、属性フラグはデフォルトでは0に設定されている。処理部50は、線図データ保持部30によって保持される線図データを、C言語などのプログラミング言語により記述されたソースコードに変換する。処理部50は、指定受付部40によって指定が受け付けられたブロックとそうでないブロックとでソースコードへの変換処理を変える。処理部50は、グルーピング部52と、制御器演算式導出部54と、制御対象演算式導出部56と、ソースコード変換部58と、を含む。ユーザは入力手段12を介して、ソースコードに変換したいブロック線図を指定する。グルーピング部52は、指定されたブロック線図に対応する線図データを線図データ保持部30から取得する。グルーピング部52は、取得された線図データのうちブロックに関する部分について、属性フラグに基づいてブロックを制御器グループと制御対象グループとに分ける。ブロック線図には、矢印と、複数の矢印の合流点と、が含まれており、線図データはそのそれぞれに対応する矢印データと合流点データとを含む。グルーピング部52は、2つの制御対象ブロックの間に存在する矢印や合流点は制御対象グループに含め、残りの矢印や合流点は制御器グループに含める。制御器演算式導出部54は、制御器グループに属するブロックについてのひとつの状態方程式を導出する。制御器演算式導出部54は、制御器グループに属する要素により構成されるブロック線図の各ブロックを状態方程式に変換する。この状態方程式は、以下のように記述されてもよい。xk1AxkBukykCxkDukここで、kおよびk1は時刻を表す。ABCDは行列係数である。ukykはそれぞれ各ブロックの入力、出力を表す。xkは各ブロックの内部状態を表す。制御器演算式導出部54は、変換された状態方程式の全てに対して行列演算を行い、ひとつの状態方程式にまとめる。制御対象演算式導出部56は、制御器演算式導出部54における状態方程式の導出とは別の処理として、制御対象グループに属するブロックについてのひとつの状態方程式を導出する。制御対象演算式導出部56は、制御器演算式導出部54と同様にして、制御対象グループに属する要素により構成されるブロック線図をひとつの状態方程式に変換する。ソースコード変換部58は、制御器演算式導出部54によって導出されたひとつの状態方程式および制御対象演算式導出部56によって導出されたひとつの状態方程式をひとつのソースコードに変換する。そのひとつのソースコードにおいて、制御器グループに対応する部分と制御対象グループに対応する部分とは区別して表現される。例えば、ソースコード変換部58は、ソースコードのうち制御対象グループに対応する部分に、if文などを使用して場合分けを行う命令を加える。これにより、例えば、シミュレーションを行う場合はif文の条件を有効にすることで、制御対象グループの状態方程式および制御器グループの状態方程式の両方を実行することが可能となる。また、実機に実装する場合は、if文の条件を無効にすることで、制御対象グループの状態方程式を実行しないようにすることができる。表示制御部60は、ユーザからの求めに応じて、線図データ保持部30に保持される線図データをブロック線図に変換してディスプレイ14に表示させる。表示制御部60は、属性フラグが1となっているブロックを他のブロックとは区別してディスプレイ14に表示させる。これにより、ユーザは制御対象ブロックとして指定されたブロックとそうでないブロックとを容易に見分けることができる。以上の構成によるブロック線図処理装置10の動作を説明する。図3a、bは、ディスプレイ14に表示される例示的なブロック線図100、102を示す代表画面図である。図3aはロバスト制御のように実機のモデルに重み付けWs、Wtが加わることにより、制御対象が複数のブロックで構成される場合のブロック線図100を示す。図3bはPIDProportinalIntegralDifferential制御のように制御器が複数のブロックに分かれている場合のブロック線図102を示す。図3aを参照すると、ブロック線図100は、Wsブロック104と、コントローラブロック106と、プラントブロック108と、Wtブロック110と、プラントブロック108を始点とする第1アーク112と、第1アーク112から第2分岐点130で分かれてWtブロック110に入る第2アーク114と、第1アーク112から第3分岐点132で分かれて合流点126に入る第3アーク116と、合流点126を始点としコントローラブロック106に入る第4アーク118と、第4アーク118から第1分岐点128で分かれてWsブロック104に入る第5アーク120と、合流点126に入る第6アーク122と、コントローラブロック106を始点としプラントブロック108に入る第7アーク124と、Wsブロック104を始点とする第8アーク134と、Wtブロック110を始点とする第9アーク136と、を含む。図3bを参照すると、ブロック線図102は、積分動作ブロック138と、微分動作ブロック140と、比例動作ブロック142と、プラントブロック144と、プラントブロック144を始点とする第1アーク146と、第1アーク146から第1分岐点162で分かれて第1合流点166に入る第2アーク148と、第1合流点166を始点とし積分動作ブロック138に入る第3アーク150と、第3アーク150から第2分岐点164で分かれて第2合流点168に入る第4アーク152と、第3アーク150から第2分岐点164で分かれて微分動作ブロック140に入る第5アーク154と、積分動作ブロック138を始点とし第2合流点168に入る第6アーク156と、第2合流点168を始点とし比例動作ブロック142に入る第7アーク158と、比例動作ブロック142を始点としプラントブロック144に入る第8アーク160と、微分動作ブロック140を始点とし第2合流点168に入る第9アーク170と、第1合流点166に入る第10アーク163と、を含む。ユーザはディスプレイ14に表示されるブロック線図100やブロック線図102を見て、制御対象とされるべきブロックをクリックする。図4a、bは、制御対象ブロックがクリックされた場合のブロック線図100、102を示す代表画面図である。ユーザは、図3aに示されるブロック線図100のブロックのうち、Wsブロック104と、プラントブロック108と、Wtブロック110と、をクリックする。指定受付部40はクリックされたWsブロック104、プラントブロック108、Wtブロック110の属性フラグを1にし、表示制御部60はクリックされたブロックの右肩にPの文字を付加する。ユーザは、図3bに示されるブロック線図102のブロックのうち、プラントブロック144をクリックする。指定受付部40はクリックされたプラントブロック144の属性フラグを1にし、表示制御部60はクリックされたプラントブロック144の右肩にPの文字を付加する。ユーザは、ブロック線図をソースコードへ変換するようブロック線図処理装置10に指示する。図5a、bは、ブロック線図をソースコードへ変換する際のグループ分けを説明するための説明図である。ユーザは、図4aに示されるブロック線図100をソースコードへ変換するようブロック線図処理装置10に指示する。グルーピング部52は、属性フラグが1か0かでブロック線図100のブロックを、図5aに示されるように制御対象グループ100aと制御器グループ100bとにグループ分けする。制御対象グループ100aは、プラントブロック108と、Wtブロック110と、Wsブロック104と、第1アーク112と、第2アーク114と、第3アーク116と、第4アーク118と第5アーク120と、第6アーク122と、第7アーク124と、合流点126と、第1分岐点128と、第2分岐点130と、第3分岐点132と、を含む。制御器グループ100bはコントローラブロック106を含む。制御器演算式導出部54は制御器グループ100bについての状態方程式を導出し、制御対象演算式導出部56は制御対象グループ100aについての状態方程式を導出し、ソースコード変換部58はそれらの状態方程式をひとつのソースコードに変換する。ユーザは、図4bに示されるブロック線図102をソースコードへ変換するようブロック線図処理装置10に指示する。グルーピング部52は、属性フラグが1か0かでブロック線図102のブロックを、図5bに示されるように制御対象グループ102aと制御器グループ102bとにグループ分けする。制御対象グループ102aはプラントブロック144を含む。制御器グループ102bは、積分動作ブロック138と、微分動作ブロック140と、比例動作ブロック142と、第1アーク146と、第2アーク148と、第3アーク150と、第4アーク152と、第5アーク154と、第6アーク156と、第7アーク158と、第8アーク160と、第10アーク163と、第2分岐点164と、第1合流点166と、第2合流点168と、第9アーク170と、を含む。制御器演算式導出部54は制御器グループ102bについての状態方程式を導出し、制御対象演算式導出部56は制御対象グループ102aについての状態方程式を導出し、ソースコード変換部58はそれらの状態方程式をひとつのソースコードに変換する。図6は、ブロック線図処理装置10における一連の処理を示すフローチャートである。ブロック線図処理装置10はブロック線図の線図データを取得しS202、線図データ保持部30に保持する。ブロック線図処理装置10は取得されたブロック線図のブロックに対する指定を受け付けるS204。ブロック線図処理装置10はブロック線図をソースコードに変換する際、ブロックを指定に基づきグループ分けするS206。ブロック線図処理装置10は各グループについて状態方程式を導出するS208。ブロック線図処理装置10は導出された状態方程式を、各グループに対応する部分を区別可能な態様で、ソースコードに変換するS210。上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。本実施の形態に係るブロック線図処理装置10によると、ブロック線図のブロックに対するユーザの指定が受け付けられ、ソースコードへの変換処理においてはブロックを指定の有無で分けて処理することができる。したがって、ソースコードへの変換処理の自由度が向上する。一般に、制御対象ブロックは既存の系をほぼそのままシミュレートすることにより定義される一方、制御器ブロックは様々に設計されうる。このように制御対象ブロックと制御器ブロックとでは性質が異なる。そこで本実施の形態のように、制御器グループと制御対象グループとで処理を分けることにより、それぞれに適した処理方法を使用できる。例えば離散時間化について、制御器グループと制御対象グループとで異なる方法を使用できる。また、計算の最適化の手法を異ならせてもよい。また、本実施の形態に係るブロック線図処理装置10では、制御対象ブロックが指定されたブロック線図からソースコードが生成される。このソースコードでは、制御対象ブロックに対応する部分とそうでない部分とを容易に区別することができる。したがって、ユーザは、シミュレーションを行う場合にも、ターゲットボード上に実装して様々な機械装置を制御する場合にも、このソースコードを使用することができる。その結果、シミュレーションと実機への実装とでブロック線図が相違する可能性を低減できる。また、シミュレーションと実機への実装とでソースコードが大きく相違する可能性も低減できる。制御系を実装するターゲットボードを用いてシミュレーションを行う場合、従来では一般にシミュレーション用のブロック線図とそれに対応する実装用のブロック線図とは異なるので、それらの差異がバグを引き起こす可能性がある。これはプログラムのデバック時間を増大させる。これに対して本実施の形態に係るブロック線図処理装置10では、シミュレーション用のブロック線図と実装用のブロック線図とは同じものであるから、ターゲットボードを用いたシミュレーションにおいてバグが発生する可能性を低減できる。以上、実施の形態に係るブロック線図処理装置10の構成と動作について説明した。これらの実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施の形態では、属性フラグは制御対象ブロックとして指定されたか否かを示す場合について説明したが、これに限られず、属性フラグは制御器ブロックとして指定されたか否かを示してもよい。あるいはまた、属性フラグは、制御器ブロックとして指定されたか、または制御対象ブロックとして指定されたか、あるいはそれ以外のものとして指定されたかを示してもよい。このように属性フラグは3つ以上の状態をとってもよい。この場合、処理部は3以上の属性のそれぞれについてソースコードへの変換処理を変えてもよい。