(57)【特許請求の範囲】
【請求項１】
（ａ）ブロックダイアグラム作成手段であって、
制御プログラムを構成する基本命令の関数である複数の各プログラム要素をブロックで表示し、各ブロックは、入力ポートと出力ポートとを有する表示手段を有し、
前記表示手段に表示された複数のブロックから、所定のブロックを抽出し、この抽出した各ブロックの出力ポートと抽出した他のブロックの入力ポートとをラインで結線することによって、ブロックダイアグラムを作成するブロックダイアグラム作成手段と、
（ｂ）コンピュータによって実現されるプログラム処理手段であって、
（ｂ１）前記ブロックダイアグラム作成手段からの出力が与えられ、
この出力によって、前記作成された各ブロックダイアグラムに対応するモデル情報を作成し、
このモデル情報は、ブロック情報と第１接続情報と第２接続情報とから成り、
ブロック情報は、
前記ブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,Sum）と、抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）と、基本命令の演算のためのパラメータとからなり、
第１接続情報は、
（ｂ１１）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,
Sum）と、
（ｂ１２）抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）とから成り、
第２接続情報は、
（ｂ１３）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）が結線される前記各ライン（Ｌ０〜Ｌ４）と、
（ｂ１４）それらの各ラインの始点ブロック名に対応する始点ポート番号（１）と入力側を表す第１信号（−）との入力に関する組合せと、
（ｂ１５）それらの各ラインの終点ブロック名に対応する終点ポート番号（１，２）と出力側を表す第２信号（＋）との出力に関する組合せとから成り、
こうして作成されたモデル情報を出力するモデル情報作成手段と、
（ｂ２）前記各ブロックに個別に対応するコンパイル済みの関数の実行プログラムが予め記憶されるリードオンリメモリまたはランダムアクセスメモリである第１記憶手段と、
（ｂ３）モデル情報作成手段からのモデル情報の出力が与えられ、
（ｂ３１）モデル情報の第１行列（図５）を構成し、
この第１行列は、
この第１行列の行方向の各列にブロック名を個別に対応させ、列方向の各行にラインを個別に対応させ、第１行列の各列が、第１接続情報を成すブロックタイプおよびブロック名、ならびにその第１行列の列に対応するブロック名を有するブロックに結線される第２接続情報を成すラインの前記入力に関する組合せまたは前記出力に関する組合せによってそれぞれ構成され、
こうして構成された各ブロック名に対応するモデル情報の列を行方向に並べた行列であり、
（ｂ３２）こうして構成された第１行列から、モデル情報の第２行列（６図）を構成し、
この第２行列は、
第１行列の各ブロック名に対応するモデル情報の列を、行方向の一方向およびその一方向とは逆の他方向に、予め定める処理順序法則によって、並び替えて、コンピュータの処理可能な演算順序に、各ブロック名に対応するモデル情報の列を、行方向の前記一方向に順次的に並べて構成された行列であり、
（ｂ３３）第２行列における行方向の前記一方向に並んだ各列の順序を、その第２行列の列に対応するブロック名を有するブロックの演算順序として決定し、こうして決定した演算順序でモデル情報の列が行方向の前記一方向に並んでいるモデル情報の第２行列を生成する演算順序決定手段と、
（ｂ４）第１記憶手段とは異なる記憶手段であって、演算順序決定手段によって生成されたモデル情報の第２行列が記憶されるランダムアクセスメモリである第２記憶手段と、
（ｂ５）前記第２記憶手段に記憶されるモデル情報の第２行列の出力が与えられ、前記第２行列の各列が行方向の前記一方向に順次的に並んだ前記演算順序に従って、各列に対応するブロック名を有するブロック毎に、順次、各ブロックに個別に対応する関数を前記第１記憶手段から読み出し、読み出した関数を演算して、第２行列の行方向の前記一方向に並んだ各列に対応するブロック毎に繰り返して、制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出する関数演算手段とを備えるプログラム処理手段とを含み、
（ｃ）関数演算手段によって実行された制御プログラムの１サイクル分の処理の演算結果によって算出した操作量で制御対象を制御することを特徴とする制御装置。
【請求項２】
前記ブロックダイアグラム作成手段と、前記プログラム処理手段とは別体であり、
ブロックダイアグラム作成手段は１台設けられ、
プログラム処理手段は複数の各制御対象毎に設けられ、
ブロックダイアグラム作成手段と各プログラム処理手段との間で、作成したブロックダイアグラムの送受信を行う通信手段を備えることを特徴とする請求項１記載の制御装置。
【請求項３】
前記第２記憶手段は、前記モデル情報作成手段によって作成された前記関数演算手段によって参照中のモデル情報が格納される一方の記憶領域（２７ａ）と、前記モデル情報作成手段によって作成された他のモデル情報が格納される他方の記憶領域（２７ｂ）とを有し、
前記プログラム処理手段は、
前記関数演算手段が参照するモデル情報を、前記一方の記憶領域に格納されるモデル情報に基づく制御対象の制御中に、その制御中の制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出した後に、前記他方の記憶領域に格納されるモデル情報に切り替えるモデル情報切り替え手段を備えることを特徴とする請求項１または２記載の制御装置。
【請求項４】
（ａ）制御プログラムを構成する基本命令の関数である複数の各プログラム要素をブロックで表示手段によって表示し、各ブロックは、入力ポートと出力ポートとを有し、
前記表示手段に表示された複数のブロックから、所定のブロックを抽出し、この抽出した各ブロックの出力ポートと抽出した他のブロックの入力ポートとをラインで結線することによって、ブロックダイアグラムを作成し、
（ｂ）コンピュータによってプログラム処理を行ない、
（ｂ１）前記ブロックダイアグラム作成手段からの出力が与えられ、
この出力によって、前記作成された各ブロックダイアグラムに対応するモデル情報を作成し、
このモデル情報は、ブロック情報と第１接続情報と第２接続情報とから成り、
ブロック情報は、
前記ブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,Sum）と、抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）と、基本命令の演算のためのパラメータとからなり、
第１接続情報は、
（ｂ１１）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,Sum）と、
（ｂ１２）抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）とから成り、
第２接続情報は、
（ｂ１３）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）が結線される前記各ライン（Ｌ０〜Ｌ４）と、
（ｂ１４）それらの各ラインの始点ブロック名に対応する始点ポート番号（１）と入力側を表す第１信号（−）との入力に関する組合せと、
（ｂ１５）それらの各ラインの終点ブロック名に対応する終点ポート番号（１，２）と出力側を表す第２信号（＋）との出力に関する組合せとから成り、
こうして作成されたモデル情報を出力し、
（ｂ２）前記各ブロックに個別に対応するコンパイル済みの関数の実行プログラムをリードオンリメモリまたはランダムアクセスメモリである第１記憶手段に、予め記憶し、
（ｂ３）前記作成されたモデル情報を用いて、
（ｂ３１）モデル情報の第１行列（図５）を構成し、
この第１行列は、
この第１行列の行方向の各列にブロック名を個別に対応させ、列方向の各行にラインを個別に対応させ、第１行列の各列を、第１接続情報を成すブロックタイプおよびブロック名、ならびにその第１行列の列に対応するブロック名を有するブロックに結線される第２接続情報を成すラインの前記入力に関する組合せまたは前記出力に関する組合せによってそれぞれ構成し、
こうして構成した各ブロック名に対応するモデル情報の列を行方向に並べた行列であり、
（ｂ３２）こうして構成した第１行列から、モデル情報の第２行列（第６図）を構成し、
この第２行列は、
第１行列の各ブロック名に対応するモデル情報の列を、行方向の一方向およびその一方向とは逆の他方向に、予め定める処理順序法則によって、並び替えて、コンピュータの処理可能な演算順序に、各ブロック名に対応するモデル情報の列を、行方向の前記一方向に順次的に並べて構成した行列であり、
（ｂ３３）第２行列における行方向の前記一方向に並んだ各列の順序を、その第２行列の列に対応するブロック名を有するブロックの演算順序として決定し、こうして決定した演算順序でモデル情報の列が行方向の前記一方向に並んでいるモデル情報の第２行列を生成し、
（ｂ４）前記生成されたモデル情報の第２行列を、第１記憶手段とは異なる記憶手段であるランダムアクセスメモリである第２記憶手段に記憶し、
（ｂ５）前記第２記憶手段に記憶されるモデル情報の第２行列を用いて、前記第２行列の各列が行方向の前記一方向に順次的に並んだ前記演算順序に従って、各列に対応するブロック名を有するブロック毎に、順次、各ブロックに個別に対応する関数を前記第１記憶手段から読み出し、読み出した関数を演算して、第２行列の行方向の前記一方向に並んだ各列に対応するブロック毎に繰り返して、制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出し、
（ｃ）前記制御プログラムの１サイクル分の処理の演算結果によって算出した操作量で制御対象を制御することを特徴とする制御装置のプログラム処理方法。
【請求項５】
前記第２記憶手段は、前記モデル情報作成手段によって作成された前記関数演算手段によって参照中のモデル情報が格納される一方の記憶領域（２７ａ）と、前記モデル情報作成手段によって作成された他のモデル情報が格納される他方の記憶領域（２７ｂ）とを有し、
前記関数の演算のために参照するモデル情報を、前記一方の記憶領域に格納されるモデル情報に基づく制御対象の制御中に、その制御中の制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出した後に、前記他方の記憶領域に格納されるモデル情報に切り替えることを特徴とする請求項４記載の制御装置のプログラム処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御対象をリアルタイムで制御する制御装置および制御装置のプログラム処理方法に関する。
【０００２】
【従来の技術】
ロボットなどの制御対象は、リアルタイム制御される必要がある。このように制御対象をリアルタイム制御する制御装置が、たとえば特開平０５−１００７２８号公報および特開平０８―０９５６１７号公報に開示されている。特開平０５−１００７２８号公報に記載の制御装置は、プログラミング言語によって記述されたソースプログラムをコンパイルした実行プログラムを制御装置にダウンロードし、この実行プログラムに従って制御対象を制御する。また特開平０８−０９５６１７号公報に記載の制御装置は、グラフィック表示された演算器のシンボルマークを処理順序に並べてソースプログラムを作成し、このソースプログラムをコンパイルした実行プログラムを制御装置にダウンロードし、この実行プログラムに従って制御対象を制御する。
【０００３】
上記２件の先行技術では、制御対象の制御方法を変更するとき、作業者が制御対象を制御するためのソースプログラムを作成した後、作成したソースプログラムをコンパイルし、このコンパイル後の実行プログラムを制御装置にダウンロードする必要がある。このような先行技術の制御装置では、実行プログラムをダウンロードする構成であるので、このダウンロード時には制御対象の動作を停止しなければならなかった。つまり、制御方法をオンラインで容易にかつ迅速に変更することができない。
【０００４】
また特開平０５−１００７２８号公報の先行技術では、ベーシック言語やＣ言語などのプログラミング言語を使用して、ソースプログラムを作成する必要があるので、作業者がこれらの言語に対する知識や技能を身につける必要がある。また制御装置の構造の知識も要求される。
【０００５】
また、特開平０８−０９５６１７号公報に記載の制御装置では、前者の先行技術に比較して制御プログラムの作成が容易になるけれども、作業者が、ＣＰＵが処理可能な制御プログラムの処理順序を考慮してシンボルマークを並べる必要があるため、制御プログラムの処理命令が増加すると、ソースプログラムの作成不良が生じると言う問題がある。
【０００６】
制御方法をオンラインで変更できる制御装置が、たとえば特開平０４−２２２０２６号公報に開示されている。この先行技術の制御装置では、ソースプログラムの各行の命令の受信と、この各行の命令の実行とから成る処理を逐次行う構成であるため、処理に時間がかかると言う問題がある。
【０００７】
制御プログラムの作成が容易で、かつ制御方法をオンラインで変更できるプログラマブル制御装置が、特開平０６−０５１８０８号公報に開示されている。しかしながら、この先行技術でも作業者が、ＣＰＵが処理可能なプログラムの処理順序を考慮してシンボルマークを並べる必要があるため、プログラムの処理命令が増加すると、ソースプログラムの作成不良が生じると言う問題がある。
【０００８】
【発明が解決しようとする課題】
したがって本発明の目的は、作業者にとって、制御対象の制御プログラムを容易に、かつ迅速に作成できる制御装置および制御装置のプログラム処理方法を提供することである。
【０００９】
また本発明の他の目的は、制御対象を制御した状態で、制御動作を変更することができる制御装置および制御装置のプログラム処理方法を提供することである。
【００１０】
【課題を解決するための手段】
請求項１記載の本発明は、（ａ）ブロックダイアグラム作成手段であって、
制御プログラムを構成する基本命令の関数である複数の各プログラム要素をブロックで表示し、各ブロックは、入力ポートと出力ポートとを有する表示手段を有し、
前記表示手段に表示された複数のブロックから、所定のブロックを抽出し、この抽出した各ブロックの出力ポートと抽出した他のブロックの入力ポートとをラインで結線することによって、ブロックダイアグラムを作成するブロックダイアグラム作成手段と、
（ｂ）コンピュータによって実現されるプログラム処理手段であって、
（ｂ１）前記ブロックダイアグラム作成手段からの出力が与えられ、
この出力によって、前記作成された各ブロックダイアグラムに対応するモデル情報を作成し、
このモデル情報は、ブロック情報と第1接続情報と第２接続情報とから成り、
ブロック情報は、
前記ブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,Sum）と、抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）と、基本命令の演算のためのパラメータとからなり、
第１接続情報は、
（ｂ１１）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,
S um）と、
（ｂ１２）抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）とから成り、
第２接続情報は、
（ｂ１３）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）が結線される前記各ライン（Ｌ０〜Ｌ４）と、
（ｂ１４）それらの各ラインの始点ブロック名に対応する始点ポート番号（１）と入力側を表す第１信号（−）との入力に関する組合せと、
（ｂ１５）それらの各ラインの終点ブロック名に対応する終点ポート番号（１，２）と出力側を表す第２信号（＋）との出力に関する組合せとから成り、
こうして作成されたモデル情報を出力するモデル情報作成手段と、
（ｂ２）前記各ブロックに個別に対応するコンパイル済みの関数の実行プログラムが予め記憶されるリードオンリメモリまたはランダムアクセスメモリである第１記憶手段と、
（ｂ３）モデル情報作成手段からのモデル情報の出力が与えられ、
（ｂ３１）モデル情報の第１行列（図５）を構成し、
この第１行列は、
この第１行列の行方向の各列にブロック名を個別に対応させ、列方向の各行にラインを個別に対応させ、第１行列の各列が、第１接続情報を成すブロックタイプおよびブロック名、ならびにその第１行列の列に対応するブロック名を有するブロックに結線される第２接続情報を成すラインの前記入力に関する組合せまたは前記出力に関する組合せによってそれぞれ構成され、
こうして構成された各ブロック名に対応するモデル情報の列を行方向に並べた行列であり、
（ｂ３２）こうして構成された第１行列から、モデル情報の第２行列（６図）を構成し、
この第２行列は、
第１行列の各ブロック名に対応するモデル情報の列を、行方向の一方向およびその一方向とは逆の他方向に、予め定める処理順序法則によって、並び替えて、コンピュータの処理可能な演算順序に、各ブロック名に対応するモデル情報の列を、行方向の前記一方向に順次的に並べて構成された行列であり、
（ｂ３３）第２行列における行方向の前記一方向に並んだ各列の順序を、その第２行列の列に対応するブロック名を有するブロックの演算順序として決定し、こうして決定した演算順序でモデル情報の列が行方向の前記一方向に並んでいるモデル情報の第２行列を生成する演算順序決定手段と、
（ｂ４）第１記憶手段とは異なる記憶手段であって、演算順序決定手段によって生成されたモデル情報の第２行列が記憶されるランダムアクセスメモリである第２記憶手段と、
（ｂ５）前記第２記憶手段に記憶されるモデル情報の第２行列の出力が与えられ、前記第２行列の各列が行方向の前記一方向に順次的に並んだ前記演算順序に従って、各列に対応するブロック名を有するブロック毎に、順次、各ブロックに個別に対応する関数を前記第１記憶手段から読み出し、読み出した関数を演算して、第２行列の行方向の前記一方向に並んだ各列に対応するブロック毎に繰り返して、制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出する関数演算手段とを備えるプログラム処理手段とを含み、
（ｃ）関数演算手段によって実行された制御プログラムの１サイクル分の処理の演算結果によって算出した操作量で制御対象を制御することを特徴とする制御装置である。
【００１１】
本発明に従えば、制御装置は、表示手段を有するブロックダイアグラム作成手段とプログラム処理手段とを含み、このプログラム処理手段は、モデル情報作成手段、第１記憶手段、第２記憶手段、演算順序決定手段および関数演算手段を備える。表示手段には、制御対象を制御するためのプログラムを構成するプログラム要素に個別に対応し、グラフィック化して表示される複数のブロックが表示され、ユーザは表示手段に表示された複数のブロックから、制御対象を制御するプログラムに必要なブロックを抽出し、この抽出したブロックを相互にラインで結線することによって、制御対象の制御動作を示すブロックダイアグラムを作成する。
【００１２】
上述のようにして、ユーザがブロックダイアグラムを作成すると、モデル情報作成手段が、上記ブロックダイアグラムから、各ブロックに個別のブロック情報と各ブロックの相互のつながりを示す接続情報とを抽出し、モデル情報は、これらブロック情報と接続情報とから構成され、制御対象の制御動作を示し、コンピュータが処理可能なモデル情報をいわば自動的に作成する。
【００１３】
第１記憶手段には、各ブロックに個別に対応する演算ライブラリ関数が予め記憶されており、第２記憶手段には、演算順序に従ってモデル情報が並ぶ後述の図６の行列形式の演算順序情報が記憶されている。関数演算手段は、第１記憶手段に記憶される複数の演算ライブラリ関数の中から、第２記憶手段に記憶される演算順序情報の演算順序に従って、モデル情報の各プログラム要素に対応する関数を、順次、読み出し、読み出した関数を演算して制御対象の操作量を算出し、この操作量を制御対象に送り、制御プログラムの１サイクル分の処理を実行する。この処理を繰り返すことによって制御対象を制御する。
【００１４】
上述したように、制御対象を制御するプログラムであるモデル情報は、第１記憶手段に記憶された制御対象の個々の動作に対応する演算ライブラリ関数のみによって構成されるので、ユーザが作成したブロックダイアグラムはコンパイルされる必要がない。したがって制御対象の制御を中断することなく、モデル情報を変更することができ、これによって制御対象の制御動作の変更を容易に、かつ迅速に行うことができる。
また演算順序決定手段が、モデル情報のブロック情報および第１、第２接続情報から、各ブロックの演算順序をコンピュータが処理可能な演算順序にいわば自動的に決定し、演算順序に従ってモデル情報が並ぶ図６の行列形式の演算順序情報を生成するので、ユーザはブロックダイアグラムの作成時にコンピュータが処理可能な演算順序を考える必要がなく、制御対象の制御動作を考える時間が短縮される。また演算順序情報は行列形式であるので、次に演算すべきモデル情報を効率的に読み出すことができる。
またユーザは、ベーシック言語やＣ言語などのプログラミング言語を習得しなくても、制御対象の制御動作を決定するときに通常作成されるブロックダイアグラムを作成するだけで、制御対象を制御することができる。
【００１５】
請求項２記載の本発明は、前記ブロックダイアグラム作成手段と、前記プログラム処理手段とは別体であり、
ブロックダイアグラム作成手段は１台設けられ、
プログラム処理手段は複数の各制御対象毎に設けられ、
ブロックダイアグラム作成手段と各プログラム処理手段との間で、作成したブロックダイアグラムの送受信を行う通信手段を備えることを特徴とする。
【００１６】
本発明に従えば、ブロックダイアグラム作成手段とプログラム処理手段とは別体であり、ブロックダイアグラム作成手段によって作成された制御対象の制御動作を示すブロックダイアグラムは、通信手段を介してプログラム処理手段に送られる。したがって、複数の制御対象に個別に設けられた複数台のプログラム処理手段に送られる各ブロックダイアグラムを、１台のブロックダイアグラム作成手段によって作成することができるので、初期コストが少なくて済む。
【００１７】
【００１８】
【００１９】
請求項３記載の本発明は、前記第２記憶手段は、前記モデル情報作成手段によって作成された前記関数演算手段によって参照中のモデル情報が格納される一方の記憶領域（２７ａ）と、前記モデル情報作成手段によって作成された他のモデル情報が格納される他方の記憶領域（２７ｂ）とを有し、
前記プログラム処理手段は、
前記関数演算手段が参照するモデル情報を、前記一方の記憶領域に格納されるモデル情報に基づく制御対象の制御中に、その制御中の制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出した後に、前記他方の記憶領域に格納されるモデル情報に切り替えるモデル情報切り替え手段を備えることを特徴とする。
【００２０】
本発明に従えば、第２記憶手段の一方の記憶領域に、関数演算手段によって参照中のモデル情報が記憶され、制御対象は参照中のモデル情報に基づいて制御される。第２記憶手段の他方の記憶領域に、ユーザがブロックダイアグラム作成手段を使用して作成した新たなブロックダイアグラムのモデル情報が記憶される。新たなモデル情報が第２記憶手段の他方の記憶領域に記憶されると、切り替え手段によって、読み出し手段が読み出すモデル情報を第２記憶手段の他方の記憶領域に記憶された新たなモデル情報に、一方の記憶領域に格納されるモデル情報に基づく制御プログラムの１サイクル分の処理を実行して、制御中の制御対象の操作量を算出した後に、切り替える。制御対象の制御は、第２記憶手段に記憶されたモデル情報に基づいて、関数演算手段が第１記憶手段から逐次的に関数を読み出して演算することによって行われるので、上述したようにモデル情報が記憶される記憶領域を２以上設けることによって、制御対象の制御を中断することなく、参照するモデル情報を変更することができる。
【００２１】
請求項４記載の本発明は、（ａ）制御プログラムを構成する基本命令の関数である複数の各プログラム要素をブロックで表示手段によって表示し、各ブロックは、入力ポートと出力ポートとを有し、
前記表示手段に表示された複数のブロックから、所定のブロックを抽出し、この抽出した各ブロックの出力ポートと抽出した他のブロックの入力ポートとをラインで結線することによって、ブロックダイアグラムを作成し、
（ｂ）コンピュータによってプログラム処理を行ない、
（ｂ１）前記ブロックダイアグラム作成手段からの出力が与えられ、
この出力によって、前記作成された各ブロックダイアグラムに対応するモデル情報を作成し、
このモデル情報は、ブロック情報と第1接続情報と第２接続情報とから成り、
ブロック情報は、
前記ブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,Sum）と、抽出された各ブロックに個別にそれぞれ割当てられるブロック名（From1,Gain1,Goto1,Integrator1,Sum1）と、基本命令の演算のためのパラメータとからなり、
第１接続情報は、
（ｂ１１）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）の基本命令の関数機能毎に異なるブロックタイプ（From,Gain,Goto,Integrator,
Sum）と、
（ｂ１２）抽出された各ブロックに個別にそれぞれ割当てられるブロック名（
From1,Gain1,Goto1,Integrator1,Sum1）とから成り、
第２接続情報は、
（ｂ１３）前記作成されたブロックダイアグラムを構成する各ブロック（２０ａ〜２０ｅ）が結線される前記各ライン（Ｌ０〜Ｌ４）と、
（ｂ１４）それらの各ラインの始点ブロック名に対応する始点ポート番号（１）と入力側を表す第１信号（−）との入力に関する組合せと、
（ｂ１５）それらの各ラインの終点ブロック名に対応する終点ポート番号（１，２）と出力側を表す第２信号（＋）との出力に関する組合せとから成り、
こうして作成されたモデル情報を出力し、
（ｂ２）前記各ブロックに個別に対応するコンパイル済みの関数の実行プログラムをリードオンリメモリまたはランダムアクセスメモリである第１記憶手段に、予め記憶し、
（ｂ３）前記作成されたモデル情報を用いて、
（ｂ３１）モデル情報の第１行列（図５）を構成し、
この第１行列は、
この第１行列の行方向の各列にブロック名を個別に対応させ、列方向の各行にラインを個別に対応させ、第１行列の各列を、第１接続情報を成すブロックタイプおよびブロック名、ならびにその第１行列の列に対応するブロック名を有するブロックに結線される第２接続情報を成すラインの前記入力に関する組合せまたは前記出力に関する組合せによってそれぞれ構成し、
こうして構成した各ブロック名に対応するモデル情報の列を行方向に並べた行列であり、
（ｂ３２）こうして構成した第１行列から、モデル情報の第２行列（第６図）を構成し、
この第２行列は、
第１行列の各ブロック名に対応するモデル情報の列を、行方向の一方向およびその一方向とは逆の他方向に、予め定める処理順序法則によって、並び替えて、コンピュータの処理可能な演算順序に、各ブロック名に対応するモデル情報の列を、行方向の前記一方向に順次的に並べて構成した行列であり、
（ｂ３３）第２行列における行方向の前記一方向に並んだ各列の順序を、その第２行列の列に対応するブロック名を有するブロックの演算順序として決定し、こうして決定した演算順序でモデル情報の列が行方向の前記一方向に並んでいるモデル情報の第２行列を生成し、
（ｂ４）前記生成されたモデル情報の第２行列を、第１記憶手段とは異なる記憶手段であるランダムアクセスメモリである第２記憶手段に記憶し、
（ｂ５）前記第２記憶手段に記憶されるモデル情報の第２行列を用いて、前記第２行列の各列が行方向の前記一方向に順次的に並んだ前記演算順序に従って、各列に対応するブロック名を有するブロック毎に、順次、各ブロックに個別に対応する関数を前記第１記憶手段から読み出し、読み出した関数を演算して、第２行列の行方向の前記一方向に並んだ各列に対応するブロック毎に繰り返して、制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出し、
（ｃ）前記制御プログラムの１サイクル分の処理の演算結果によって算出した操作量で制御対象を制御することを特徴とする制御装置のプログラム処理方法である。
【００２２】
本発明に従えば、演算順序情報に基づいて、各ブロックに対応し、予め記憶された演算ライブラリ関数を読み出す処理と、この読み出した関数を演算する処理とを、演算順序に従って順次的に実行することによって、制御プログラムの１サイクル分の処理を実行し、この処理を繰り返して、制御対象を制御する。制御対象を制御するプログラムであるモデル情報は、予め記憶された制御対象の個々の動作に対応する演算ライブラリ関数のみによって構成されるので、ユーザが作成したブロックダイアグラムはコンパイルされる必要がない。従って制御対象の制御を中断することなく、モデル情報を変更することができ、これによって制御対象の制御動作の変更を容易に、かつ迅速に行うことができる。
またモデル情報のブロック情報および接続情報から、各ブロックの演算順序を決定して、演算順序に従ってモデル情報が並ぶ行列形式の演算順序情報を生成するので、各ブロックの演算順序をコンピュータが処理可能な演算順序にいわば自動的に決定することができる。したがってユーザはブロックダイアグラムの作成時にコンピュータが処理可能な演算順序を考える必要がなく、制御対象の制御動作を考える時間が短縮される。また演算順序情報は行列形式であるので、次に演算すべきモデル情報を効率的に読み出すことができる。
またユーザは、ベーシック言語やＣ言語などのプログラミング言語を習得しなくても、制御対象の制御動作を決定するときに通常作成されるブロックダイアグラムを作成するだけで、制御対象を制御することができる。
【００２３】
【００２４】
【００２５】
請求項５記載の本発明は、前記第２記憶手段は、前記モデル情報作成手段によって作成された前記関数演算手段によって参照中のモデル情報が格納される一方の記憶領域（２７ａ）と、前記モデル情報作成手段によって作成された他のモデル情報が格納される他方の記憶領域（２７ｂ）とを有し、
前記関数の演算のために参照するモデル情報を、前記一方の記憶領域に格納されるモデル情報に基づく制御対象の制御中に、その制御中の制御プログラムの１サイクル分の処理を実行して制御対象の操作量を算出した後に、前記他方の記憶領域に格納されるモデル情報に切り替えることを特徴とする。
【００２６】
本発明に従えば、参照中のモデル情報に基づいて制御対象の制御中に、この参照中のモデル情報を異なるモデル情報に、１サイクル分の処理毎に、切り替えるので、制御対象の制御を中断することなく、制御対象の制御動作を変更することができる。
【００２７】
【発明の実施の形態】
本発明の制御装置１は、ユーザによって作成された制御系モデルを表すブロックダイアグラムから自動的にコンピュータが処理可能なモデル情報を作成し、このモデル情報に基づいて制御対象を制御するとともに、この制御対象２の動作を中断することなく参照するモデル情報を変更し、この変更したモデル情報に従って制御対象２を制御する装置である。
【００２８】
図１は本発明の制御装置１を概念的に示す図であり、図２は制御装置１を実現する構成の一形態を示す図である。制御対象２の動作を制御する制御装置１は、制御対象２に相互に通信可能なプログラム処理装置３と、プログラム処理装置３に相互に通信可能、あるいはプログラム処理装置３に一体であるブロックダイアグラム作成手段４とによって構成される。
【００２９】
上記ブロックダイアグラム作成手段４は、ブロックダイアグラムを作成するためのアプリケーションソフトがインストールされたパーソナルコンピュータなどによって実現され、プログラム処理装置３に一体であってもよく、またプログラム処理装置３に別体であってもよい。但し、一体である場合には通信手段１８を必要とせず、また別体である場合には通信手段１８を必要とする。
【００３０】
さらに詳しく述べると、ブロックダイアグラム作成手段４は表示手段１９を有し、この表示手段１９には、加算器や減算器や乗算器や積分器などの基本命令であるプログラム要素がグラフィック化された複数のブロック２０が表示されている。ユーザは表示手段１９の画面上で、マウスなどのポインティングデバイスによって画面上のポインタ２２を移動させて、表示された複数のブロック２０から、制御対象２の一連の動作を制御するための制御系に必要なブロック２０を選択的に抽出し、これらの抽出したブロック２０を所定の順序に配置し、各ブロック２０同士をそれぞれ結線することによって、一例として図３に示すようなブロックダイアグラム２１を作成する。
【００３１】
図３に示すブロックダイアグラム２１は、一次のローパスフィルタのブロックダイアグラムである。Ａ／Ｄ，Ｄ／Ａ変換器１５のＡ／Ｄボードによって、アナログ信号からデジタル信号に変換された制御対象２からの出力値が、入力ブロック２０ａに入力され、この入力ブロック２０ａから入力された値と、前回の一連の処理時に積分ブロック２０ｄから出力された値とを、加算ブロック２０ｂによって加算し、その値を乗算ブロック２０ｃでＫ倍し、このＫ倍した値を積分ブロック２０ｄによって積分処理した値を出力ブロック２０ｅから出力する制御動作を示すブロックダイアグラムである。
【００３２】
図４は、ブロック２０の構成を説明するための図である。ブロック２０は、所定数の入力ポートと所定数の出力ポートとを有する。図３に示す加算ブロック２０ｂでは、２つの入力ポートと、１つの出力ポートとを有し、図３に示す乗算ブロック２０ｃおよび積分ブロック２０ｄでは、１つの入力ポートと、１つの出力ポートとを有する。
【００３３】
また、各ブロック２０にはブロック情報が与えられる。このブロック情報にはブロックタイプとブロック名とパラメータとがある。ブロック２０は、その前記基本命令の関数機能毎に異なるブロックタイプに分類され、たとえば積分ブロック２０ｄはブロックタイプ“Integrator”に分類される。またブロック２０は抽出されると、それぞれ個別のブロック名が割り当てられる。たとえば本実施形態では、積分ブロック２０ｄにはブロック名“Integrator1”が割り当てられる。なお、ユーザが作成したブロックダイアグラム２１中に、同一の機能を有するブロック２０、たとえば積分ブロックが複数存在するときには、一方の積分ブロックにブロック名“Integrator1”が割り当てられ、他方の積分ブロックにブロック名“Integrator2”が割り当てられて、区別される。またブロック２０は、そのブロックに固有の基本命令の演算のためのパラメータを有する。たとえば積分ブロック２０ｅは、初期値としてのパラメータ０．０と、初期値のベクトル幅としてのパラメータ１とを有する。
【００３４】
ユーザはブロック２０の入力ポートと他のブロック２０の出力ポートとを結線し、ブロック２０の出力ポートと他のブロック２０の入力ポートとを結線して、各ブロック同士を連結することによってブロックダイアグラム２１を作成する。図３に示す例では、加算ブロック２０ｂの第１入力ポート２５ｃと入力ブロック２０ａの出力ポート２５ｂとを連結し、第２入力ポート２５ｄと積分ブロック２０ｄの出力ポート２５ｉとを連結する。加算ブロック２０ｂの出力ポート２５ｅと乗算ブロック２０ｃの入力ポート２５ｆとを連結し、乗算ブロック２０ｃの出力ポート２５ｇと積分ブロック２０ｄの入力ポート２５ｈとを接続する。また積分ブロック２０ｄの出力ポート２５ｉと出力ブロック２０ｅの入力ポート２５ｊとを連結する。
【００３５】
ユーザによって、図３に示すようなブロックダイアグラム２１が作成されると、ブロックダイアグラム作成手段４は、このブロックダイアグラム２１を後述する実行エンジン７に送信し、実行エンジン７のモデル情報作成手段５０が、モデル情報を作成する。
【００３６】
図５は、ユーザが作成した図３のブロックダイアグラム２１の接続情報２４を示す図である。接続情報２４は行列形式で表記される。モデル情報は、図４に示すブロック情報と、図５に示す接続情報とによって構成される。
【００３７】
第１接続情報には、上述したブロックタイプとブロック名との他に、抽出された各ブロック２０ａ〜２０ｅ（図３参照）に、それぞれ個別にブロック番号が付与される。なお、本実施形態ではブロックタイプの名称のアルファベット順にブロック番号が付与されている。
【００３８】
第２接続情報は、各ラインの始点ブロック名と終点ブロック名と始点ポート番号と終点ポート番号とを含み、具体的にはユーザによって結線された各ラインＬ０〜Ｌ４の入力側と出力側との接続状態を示している。各ラインの入力側に接続されるブロックに予め定める信号（本実施形態では−の値）とポート番号とが付与されて入力に関する組合せが構成され、出力側に接続されるブロックに、上記予め定める信号とは異なる信号（本実施形態では＋の値）とポート番号とが割り当てられて出力に関する組合せが構成される。
【００３９】
つまり図３に示す例では、ラインＬ０の入力端に入力ブロック２０ａの出力ポート２５ｂが接続され、ラインＬ０の出力端に加算ブロック２０ｂの第１入力ポート２５ｃが接続されているので、接続情報のラインＬ０の行には、ブロック名“From１”の列に−１の値が格納され、ブロック名“Suｍ１”の列に＋１の値が格納される。また、ラインＬ３の入力端に積分ブロック２０ｄの出力ポート２５ｉが接続され、出力端に加算ブロック２０ｂの第２入力ポート２５ｄが接続されているので、接続情報のラインＬ３の行には、ブロック名“Integrator１”の列に−１の値が格納され、ブロック名“Suｍ１”の列に＋１の値が格納される。
図５の行列は、この行列の行方向の各列にブロック名を個別に対応させ、列方向の各行にラインを個別に対応させ、行列の各列が、第１接続情報を成すブロックタイプおよびブロック名、ならびにその第1行列の列に対応するブロック名を有するブロックに結線される第２接続情報を成すラインの前記入力に関する組合せまたは前記出力に関する組合せによってそれぞれ構成され、こうして構成された各ブロック名に対応するモデル情報の列を行方向に並べた行列である。
【００４０】
再び図１および図２を参照して、プログラム処理装置３について説明する。また制御装置本体３は、第１記憶手段６を有し、この第１記憶手段６は具体的には、リードオンリメモリまたはランダムアクセスメモリ１３（以下、ＭＥＭ１３と称する）によって実現される。このＭＥＭ１３に、上記ブロック２０の処理内容に個別に対応するものと、後述する実行エンジン７に対応するものとのコンパイル済みの独立した実行プログラムが予め記憶されている。
【００４１】
またプログラム処理装置３は、第２記憶手段５を有し、この第２記憶手段５は具体的には、書き込み可能なランダムアクセスメモリ１２（以下、ＲＡＭ１２と称する）によって実現される。このＲＡＭ１２に、ブロックダイアグラム作成手段４から送信されたモデル情報を、演算順序決定手段１０が処理可能な演算順序に従って並べ替えた図６に示す演算順序情報が書き込まれる。ＲＡＭ１２には、この第２記憶手段５として、後述する実行エンジン７の関数演算手段８によって制御対象２の制御中に参照されるモデル情報が格納される記憶領域と２７ａ、参照されていないモデル情報が格納される記憶領域２７ｂとが確保される。
【００４２】
上記実行エンジン７は、モデル情報作成手段５０と、演算順序決定手段１０と、モデル情報切り替え手段５１と、書込手段９と、関数演算手段８とを含む。モデル情報作成手段５０は、ブロックダイアグラム作成手段４によって作成されたブロックダイアグラムからモデル情報を作成する。演算順序決定手段１０は、前記ブロック情報と接続情報と中央演算処理装置１１（以下、ＣＰＵ１１と称する）の通常の処理順序法則とに基づいて、モデル情報の処理順序を決定する。図６の並べ替えられたモデル情報では、積分ブロック２０ｄに対応する関数を演算することによって、制御対象２からＡ／Ｄボードを介して、所定のサンプリング時間毎に入力される入力値を積分し、入力ブロック２０ａに対応する関数の実行によって、積分値を取得する。その後、加算ブロック２０ｂに対応する実行プログラムの実行によって、前回の一連の処理時の出力値と積分値とを加算し、乗算ブロック２０ｃに対応する関数を演算することによって加算値をＫ倍し、出力ブロック２０ｅに対応する関数を演算することによって乗算値をＤ／Ａボードを介して制御対象２に出力する。
こうして構成された図５の行列から、モデル情報の図６の行列を構成する。この図６の行列は、図５の行列の各ブロック名に対応するモデル情報の列を、行方向の一方向およびその一方向とは逆の他方向に、予め定める処理順序法則によって、並び替えて、コンピュータの処理可能な演算順序に、各ブロック名に対応するモデル情報の列を、行方向の前記一方向に順次的に並べて構成された行列である。
【００４３】
図４に示すように、積分ブロック２０ｄに対応する関数を実行する場合には、所定のサンプリング時間毎の入力値が変化率の値としてＲＡＭ１２に蓄積され、この蓄積された変化率の値によって積分処理が行われ、状態変数が算出されて蓄積され、この蓄積された状態変数が、積分値として出力される。
【００４４】
上記の演算順序決定手段１０は、ＣＰＵ１１と、ＭＥＭ１３に記憶された並べ替え命令のプログラムとによって機能する。このように本発明の制御装置１は、順序決定手段１０を有しているため、モデル情報の各ブロック情報が、いわば自動的にＣＰＵ１１にとって処理可能な処理順序に並べ替えられる。したがって、ブロックダイアグラム作成手段４によってブロックダイアグラム２１を作成するだけで、プログラム処理装置３が処理可能なモデル情報が作成される。またユーザは、制御装置１の構成に関する知識も必要としない。
こうして演算順序決定手段１０は、この図６の行列における行方向の前記一方向に並んだ各列の順序を、その図６の行列の列に対応するブロック名を有するブロックの演算順序として決定し、こうして決定した演算順序でモデル情報の列が行方向の前記一方向に並んでいるモデル情報の図６の行列を生成する。
【００４５】
書込手段９は、上記順序決定手段１０によって並べ替えられたモデル情報を第２記憶手段５に書き込む。モデル情報切り替え手段５１は、参照中のモデル情報を、この新たに書き込んだモデル情報に切り替える。この書込手段９およびモデル情報切り替え手段５１は、ＣＰＵ１１とＭＥＭ１３に記憶された書き込みおよび切り替え命令のプログラムとによって機能する。
【００４６】
関数演算手段８は、第２記憶手段５に記憶され、現在参照中のモデル情報を読み出す処理と、この読み出したモデル情報の各ブロック情報に対応する関数を第１記憶手段６から読み出し、この関数を実行する処理とを順次的に行い、これによって、制御対象２が制御される。この関数演算手段８は、ＣＰＵ１１と、ＭＥＭ１３に記憶された関数演算命令のプログラムとによって機能する。
【００４７】
さらに詳しく述べると、関数演算手段８によって演算された制御対象２の操作量は、Ａ／Ｄ，Ｄ／Ａ変換器１５(アナログ／デジタル，デジタル／アナログ変換器)およびＤＩＯ変換器１６(デジタル  インプット／アウトプット変換器)を介して、制御対象２に印加される。制御対象２がアナログ制御される対象であれば、Ａ／Ｄ，Ｄ／Ａ変換器１５によってデジタル信号がアナログ信号に変換され、このアナログ信号によって制御対象２が制御される。制御対象２がデジタル制御される対象であれば、ＤＩＯ変換器１６を介してデジタル信号が伝送されて制御対象２が制御される。
【００４８】
またプログラム処理装置３はその他各種機器１７を備え、この各種機器１７を介して制御対象２に各種信号が伝送される。
【００４９】
次に上記構成を有する制御装置１による制御対象２の制御動作について説明する。図７は、実行エンジン７による制御手順を示すフローチャートである。まずステップａ１で、第２記憶手段５の一方の記憶領域２７ａに記憶済みのモデル情報を認識して、このモデル情報を読み出す。次にステップａ２に進み、読み出したモデル情報から処理すべき１つのブロック情報（プログラム要素）を認識する。次に、ステップａ３で認識したブロック情報（プログラム要素）に個別に対応する関数を第１記憶手段６から読み出し、ステップａ４で読み出した関数を演算し、ステップａ５で演算結果を出力した後、再びステップａ２に戻り、次に処理すべきブロック情報を認識する。上述のステップａ２〜ステップａ５を、モデル情報の全てのブロック情報に対して順次的に行うことによって、プログラムの１サイクル分（１サンプリングタイム）の処理が行われる。上述のようにして、プログラムの１サイクル分の処理が完了すると、再びステップａ１に戻り、上記ステップａ１〜ａ５を繰り返す。このようにして、制御対象２が制御される。
【００５０】
第２記憶手段５に記憶されているモデル情報は、個々の独立した命令であるブロック情報から構成され、かつこのブロック情報に個別に対応する関数が第１記憶手段６に予め記憶されており、さらにプログラム処理装置３は、第１記憶手段６に記憶された関数を逐次読み出して演算し、これによって、制御対象２が制御される構成であるので、本発明の制御装置１は制御動作を変更する場合に、先行技術のようにプログラミング言語を使用して、制御対象２の一連の制御を行うためのプログラムを作成し、このプログラムをコンパイルして作成された実行プログラムを転送する処理を行う必要がない。
【００５１】
次に制御対象２の制御動作の変更方法について説明する。図８は、制御動作の変更動作を示すフローチャートである。プログラム処理装置３が、第２記憶手段５の一方の記憶領域２７ａに記憶済みのモデル情報に基づいて制御対象２の制御中に、この制御対象２の制御動作を変更するとき、ステップｂ１で、ユーザはブロックダイアグラム作成手段４を使用して、変更すべき制御動作のブロックダイアグラム２１を作成する。次に前述したように、作成したブロックダイアグラムを実行エンジン７に送信し、実行エンジン７のモデル情報作成手段５０によってモデル情報が作成される。
【００５２】
実行エンジン７は、モデル情報を作成したことを確認すると、ステップｂ２で、作成したモデル情報のブロック情報を抽出する。次にステップｂ３で、作成したモデル情報の接続情報を抽出する。その後、ステップｂ４に進み、ステップｂ２およびｂ３で抽出したブロック情報および接続情報に基づいて、演算順序決定手段１０が作成したモデル情報の各ブロックをＣＰＵ１１が処理可能な処理順序に並び替える。次にステップｂ５に進み、書込手段９がステップｂ４で所定の処理順序に並べ替えられたモデル情報を、第２記憶手段５の他方の記憶領域２７ｂに格納する。次にステップｂ６で、実行エンジン７が、一方の記憶領域２７ａに記憶済みの参照中のモデル情報に基づく一連のすなわち１サイクル分の処理の実行処理が終了、つまり図７のステップａ５が終了したことを検知すると、ステップｂ７に進み、モデル情報切り替え手段５１が参照するモデル情報をステップｂ５で新たに格納されたモデル情報に切り替え、ステップｂ８で切り替えたモデル情報に従って、制御対象２を制御する。このようにして、制御対象２の動作を停止させることなく、制御動作を変更できる。
【００５３】
次にモデル情報の切り替え方法について説明する。実行エンジン７は、図９に示す第１タスクと図１０に示す第２タスクとをマルチタスクで管理している。図９の第１タスクでは、ステップｃ１で、通信手段１８がブロックダイアグラム作成手段４からブロックダイアグラムを受信したか否かを判断する。ステップｃ１でブロックダイアグラムを受信していなければ、再度ステップｃ１を繰り返す。ステップｃ１でブロックダイアグラムを受信したことを検出すると、ステップｃ２に進み、作成されたモデル情報を認識し、ステップｃ３で参照するモデル情報の変更指令を出す。
【００５４】
図１０の第２タスクでは、ステップｄ１で実行モデルの変更指令が行われたか否かを判断する。ステップｄ１で参照するモデル情報の変更指令が行われたことを判断すると、ステップｄ２に進み、参照するモデル情報を作成したモデル情報に切り替えて、ステップｄ３に進み、切り替えたモデル情報に従って制御対象２の制御を行う。ステップｄ１で参照するモデル情報の変更指令が出力されていないことを確認すると、ステップｄ３に進み現在参照中のモデル情報に従って、制御対象２の制御を行う。このようにして、モデル情報の切り替えタイミングを管理しているので、制御対象２の動作途中でモデル情報が切り替えられると言う不具合が防止される。
【００５５】
【発明の効果】
請求項１記載の本発明によれば、第２記憶手段に記憶される制御対象を制御するプログラムであるモデル情報は、第１記憶手段に記憶された制御対象の個々の動作に対応する演算ライブラリ関数のみによって構成されるので、ユーザが作成したブロックダイアグラムはコンパイルされる必要がない。したがって制御対象の制御を中断することなく、モデル情報を変更することができ、これによって制御対象の制御動作の変更を容易に、かつ迅速に行うことができる。
またユーザはブロックダイアグラムの作成時にコンピュータが処理可能な演算順序を考える必要がなく、制御対象の制御動作を考える時間が短縮される。またモデル情報は、演算順序に従って並ぶ行列形式の演算順序情報として、第２記憶手段に記憶されているので、演算順序情報に基づいて、次に演算すべき演算ライブラリ関数を効率的に読み出すことができる。
またユーザは、ベーシック言語やＣ言語などのプログラミング言語を習得しなくても、制御対象の制御動作を決定するときに通常作成されるブロックダイアグラムを作成するだけで、制御対象を制御することができる。
【００５６】
請求項２記載の本発明によれば、複数の制御対象に個別に設けられた複数台のプログラム処理手段に送られる各ブロックダイアグラムを、１台のブロックダイアグラム作成手段によって作成することができるので、初期コストが少なくて済む。
【００５７】
【００５８】
請求項３記載の本発明によれば、モデル情報が記憶される記憶領域を２以上設けることによって、制御対象の制御を中断することなく、参照するモデル情報を変更することができる。
【００５９】
請求項４記載の本発明によれば、制御対象を制御するプログラムであるモデル情報は、予め記憶された制御対象の個々の動作に対応する演算ライブラリ関数のみによって構成されるので、ユーザが作成したブロックダイアグラムはコンパイルされる必要がない。したがって制御対象の制御を中断することなく、モデル情報を変更することができ、これによって制御対象の制御動作の変更を容易に、かつ迅速に行うことができる。
またユーザはブロックダイアグラムの作成時にコンピュータが処理可能な演算順序を考える必要がなく、制御対象の制御動作を考える時間が短縮される。
またモデル情報は、演算順序に従って並ぶ行列形式の演算順序情報として保持されているので、演算順序情報に基づいて、次に演算すべき演算ライブラリ関数を効率的に読み出すことができる。
【００６０】
【００６１】
請求項５記載の本発明によると、参照中のモデル情報に基づいて制御対象の制御中に、この参照中のモデル情報を異なるモデル情報に切り替えるので、制御対象の制御を中断することなく、制御対象の制御動作を変更することができる。
【図面の簡単な説明】
【図１】  本発明の制御装置１を概念的に示す図である。
【図２】  制御装置１を実現する構成の一形態を示す図である。
【図３】  ブロックダイアグラム作成手段４によって作成されるブロックダイアグラムの一例を示す図である。
【図４】  ブロック２０のブロック情報を説明するための図である。
【図５】  図３のブロックダイアグラム２１の接続情報２４を示す図である。
【図６】  順序決定手段１０によって、ＣＰＵ１１の処理可能な順序に並べ替えられたモデル情報を示す図である。
【図７】  実行エンジン７による制御手順を示すフローチャートである。
【図８】  制御動作の変更方法を示すフローチャートである。
【図９】  第１タスクのフローチャートを示す図である。
【図１０】  第２タスクのフローチャートを示す図である。
【符号の説明】
１  制御装置
２  制御対象
３  プログラム処理装置
４  ブロックダイアグラム作成手段
５  第２記憶手段
６  第１記憶手段
７  実行エンジン
８  関数演算手段
９  書込手段
１０  演算順序決定手段
１８  通信手段
２０ａ〜２０ｅ  ブロック
２５ａ〜２５ｋ  入出力ポート
５０  モデル情報作成手段
５１  モデル情報切り替え手段
【図１】
0004112186.tif 000002
【図２】
0004112186.tif 000003
【図３】
0004112186.tif 000004
【図４】
0004112186.tif 000005
【図５】
0004112186.tif 000006
【図６】
0004112186.tif 000007
【図７】
0004112186.tif 000008
【図８】
0004112186.tif 000009
【図９】
0004112186.tif 000010
【図１０】
0004112186.tif 000011