(57)【要約】【課題】実機の存在の有無にかかわらず、実際の動作に合わせた高精度の検証を行うことのできるプロセスコントロール機器を提供する【解決手段】ＣＰＵユニット１１のＩ／Ｏメモリ１１ａに格納された入力データに基づき、ファンクションブロック２１が演算処理して出力データを算出し、これを第１出力インタフェース２３を介してＩ／Ｏメモリに書き込む機能を有するプロセスコントロールボードである。そして、Ｉ／Ｏメモリに格納された出力データを第２入力インタフェース２６にて読み出し、その読み出した出力データに基づいてシミュレーション機能部２５が演算処理して疑似入力データを作成し、その作成した疑似入力データを、第２出力インタフェース２７がＩ／Ｏメモリの入力データを格納する領域に書き込むようにした。【選択図】        図１
2004265001.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラのＣＰＵユニットのＩ／Ｏメモリに格納された入力データに基づいて、プロセス制御のための演算処理を実行し、その実行結果の出力データを前記Ｉ／Ｏメモリに書き込む処理を実行するプロセスコントロール機器であって、
前記Ｉ／Ｏメモリに格納された前記出力データを読み出し、その読み出した出力データに基づいて演算処理して疑似入力データを作成するシミュレーション手段と、
その作成した疑似入力データを、前記Ｉ／Ｏメモリの前記入力データを格納する領域に書き込む出力手段とを備えたことを特徴とするプロセスコントロール機器。
【請求項２】
シミュレーションを実行するか否かのフラグを備え、
そのフラグがＯＦＦの場合に、少なくとも前記出力手段による前記Ｉ／Ｏメモリへの書き込みを抑止するように動作することを特徴とする請求項１に記載のプロセスコントロール機器。
【請求項３】
前記プロセスコントロール機器は、前記ＣＰＵユニットに装着されるモジュールであることを特徴とする請求項１または２に記載のプロセスコントロール機器。
【請求項４】
請求項３に記載のプロセスコントロール機器を内蔵したことを特徴とするプログラマブルコントローラ用のＣＰＵユニット。
【請求項５】
プログラマブルコントローラ用のＣＰＵユニットであって、
入力ユニットからのＩ／Ｏメモリへのデータ取り込みを停止可能とするスイッチ手段を設け、
請求項１から３のいずれか１項に記載のプロセスコントロール装置の前記シミュレーション手段の稼働中は、前記スイッチ手段により入力ユニットからのＩ／Ｏメモリへのデータ取り込みを停止するようにしたことを特徴とするＣＰＵユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プロセスコントロール機器及びＣＰＵユニットに関するものである。
【０００２】
【従来の技術】
ファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット，アクチュエータなどに制御出力を出す出力ユニット，通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。
【０００３】
ＰＬＣのＣＰＵユニットにおける制御は、入力ユニットで入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたユーザプログラム記述言語（例えばラダー言語）で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、いわゆる周辺処理を行うと言うことをサイクリックに繰り返し処理するようになる。
【０００４】
ところで、ＣＰＵユニットは、通常、上記したユーザプログラムを格納するＲＡＭやシステムプログラムを格納するＲＯＭや、上記した演算処理等を実行するＭＰＵや、演算実行する際に使用するＲＡＭ（共有メモリ，ＩＯメモリ，ワークメモリ）等を備えて構成される。これに対し、ＣＰＵユニット内に、インテリジェントな高機能ボードである特殊機能モジュール（インナーボードまたはサブボードと総称されることもある。また、実行される機能名をつけて呼ばれることもある。例えば、プロセス制御を実行する場合は、プロセスコントロールボードと呼ばれることがある。以下の説明では、特殊機能モジュールの一例として、プロセスコントロールボードを用いる）を着脱可能に実装したタイプのものもある。このプロセスコントロールボードは、例えば、温度等のアナログ値を受け、ＰＩＤ制御を行う等の専用のプロセス制御（アナログ制御）のプログラムを実施する機能を持つものがある。従来、ユーザプログラムに記述されたＰＩＤ制御命令をＣＰＵユニットのＭＰＵが実行していたが、このプロセスコントロールボードが上記したＣＰＵユニットの演算処理とは非同期にＰＩＤ制御を実施することにより、制御の高速化・高度化を図ることができるようになっている。
【０００５】
ところで、係るプロセスコントロールボードにおけるプロセス制御（アナログ制御）のためのユーザプログラムを検証する方法としては、例えば、実際の制御対象，評価用の制御対象のように実機をつなげて検証する方法がある。
【０００６】
また、パソコン上で、仮想のＰＬＣや制御対象機器などをからなる仮想ＦＡシステムを構築し、その仮想ＦＡシステムを用いてシミュレーションを行うこともある。
【０００７】
さらには、特許文献１には、ＰＬＣのＣＰＵユニットと高機能ユニットであるＰＩＤ制御を実行するＰＩＤユニットとの共有メモリに、制御対象からの上記特定の入力データを模擬する模擬データを格納し、ＰＩＤユニットには、専用プロセッサにＰＩＤアルゴリズムを実行させるデータとして、入力部からの入力データと共有メモリからの模擬データとの一方を選択する選択手段が設けられたＰＩＤユニットを備えたプログラマブルコントローラが示されている。従って、模擬データを選択した場合に、検証することができる。
【０００８】
【特許文献１】
特開平０９−１６２２５
【０００９】
【発明が解決しようとする課題】
しかしながら、上記した従来の各種の検証方法，システムでは、以下に示す問題があった。すなわち、まず実機を用いた検証の場合、係る実機が用意できれば高精度な検証を行うことができるものの、通常、新規システムの立ち上げ時には、実際の制御対象となる実機が無い場合がほとんどであるため、システム検証が行いにくい。
【００１０】
また、パソコン上でシミュレーションをする場合、パソコンの性能や環境によって、実行速度が変わるため、実際の生産設備に設置されるＦＡシステムでの同じ環境，動作タイミングを得ることができない。そのため、正確な検証は困難である。さらに、シミュレーションを行うための各仮想設備を構築するのも煩雑である。
【００１１】
さらに特許文献１に開示された発明では、ＰＩＤユニットの演算実行結果（出力値）とは関係なしに、予め定めたタイミングで模擬データが入力値として与えられるので、精度の良い検証はできなかった。
【００１２】
この発明は、実機の存在の有無にかかわらず、制御対象に合わせた高精度の検証を行うことのできるプロセスコントロール機器及びＣＰＵユニットを提供することを目的とする。
【００１３】
【課題を解決するための手段】
この発明によるプロセスコントロール機器は、プログラマブルコントローラのＣＰＵユニットのＩ／Ｏメモリに格納された入力データに基づいて、プロセス制御のための演算処理を実行し、その実行結果の出力データを前記Ｉ／Ｏメモリに書き込む処理を実行するプロセスコントロール機器である。そして、前記Ｉ／Ｏメモリに格納された前記出力データを読み出し、その読み出した出力データに基づいて演算処理して疑似入力データを作成するシミュレーション手段と、その作成した疑似入力データを、前記Ｉ／Ｏメモリの前記入力データを格納する領域に書き込む出力手段とを備えるようにした。
【００１４】
ここで、プロセスコントロール機器は、実施の形態のようにＣＰＵユニットの内部に装着するボードでも良いし、独立したユニットでも良い。また、プロセス制御のための演算処理を実行をするのは、実施の形態ではファンクションブロック実行処理部が行う。シミュレーション手段は、実施の形態ではシミュレーション機能部２５に対応する。出力手段は、実施の形態では、出力インタフェース２７に対応する。
【００１５】
シミュレーションを行うための疑似入力データを作成する機能が、プロセスコントロール機器に組み込まれているため、実際の制御対象をつなげなくても入力信号（疑似入力データ）を作成でき、プロセスコントロール機器の演算処理の検証が行える。つまり、プロセスコントロール機器の内部で、制御対象をシミュレーションできる。また、通常のパソコンと相違し、シミュレーションを行うシミュレーション手段はプロセスコントロール機器内に組み込まれているため、プロセスコントロール機器が実際に使用される状態（プログラマブルコントローラに装着された状態）と同じ環境でシミュレーションを行うことが可能となり、精度の高いシミュレーションができる。さらに、検証対象であるプロセス制御のためのユーザプログラム（上記ファンクションブロックを含む）と制御対象からの入力データを取り込むＣＰＵユニットのＩ／Ｏメモリとのインタフェースを変更することなしにシミュレーションを行うことができる。
【００１６】
また、シミュレーションを実行するか否かのフラグを備え、そのフラグがＯＦＦの場合に、少なくとも前記出力手段による前記Ｉ／Ｏメモリへの書き込みを抑止するように動作する機能を設けると良い。フラグがＯＮの時は、シミュレーションを実行する。フラグがＯＦＦの場合シミュレーションを行わず、通常の制御を行う。
【００１７】
この通常の制御を実行する場合に、シミュレーション手段が動作し、その算出した疑似入力データをＩ／Ｏメモリに書き込んでしまうと、誤動作の原因となる。そこで、正常動作時には誤動作の要因となるＩ／Ｏメモリへの書き込みを禁止するようにした。なお、このフラグがＯＦＦの場合、実施の形態のようにシミュレーション手段の動作も停止するようにしても良いが、必ず停止する必要はなく、本発明では動作させても良い。
【００１８】
また、本発明に係るＣＰＵユニットは、プログラマブルコントローラ用のＣＰＵユニットであって、入力ユニットからのＩ／Ｏメモリへのデータ取り込みを停止可能とするスイッチ手段を設け、上記した各プロセスコントロール装置の前記シミュレーション手段の稼働中は、前記スイッチ手段により入力ユニットからのＩ／Ｏメモリへのデータ取り込みを停止するように構成した。
【００１９】
スイッチ手段は、実施の形態では、外部Ｉ／Ｏデータ更新停止スイッチ１１ｂに対応する。このスイッチ手段を設けたことにより、入力／出力ユニット（ＡＤユニット，ＤＡユニット）さらには、外部機器（入出力機器）が接続された状態でもシミュレーション手段による検証ができる。すなわち、外部機器が機械的に接続されている状態でも、Ｉ／Ｏメモリへのデータ取り込みを停止することにより、Ｉ／Ｏメモリを介したデータの流れは、プロセスコントロール機器の演算処理を実行する機能部分と、シミュレーション手段の閉じた世界となり、精度の良いシミュレーションが行える。よって、制御対象をつなげたシステムにおいても、制御対象と切り分けてシステム検証ができる。
【００２０】
なお、スイッチ手段を入力ユニットからのＩ／Ｏメモリへのデータ取り込みを停止可能とするのみならず、Ｉ／Ｏメモリから出力ユニットへのデータの送り出しも停止するように構成しても良い。さらに、データの取り込みを停止する入力ユニットやデータの送り出しを停止する出力ユニットを選択的に指定できるようにユニットごとのフラグを設けるようにスイッチ手段を構成すると良い。このように構成することで、プロセスコントロール機器による制御対象につながる入力ユニットや出力ユニットのみを選択的に指定可能となる。
【００２１】
【発明の実施の形態】
図１は、本発明の好適な一実施の形態を実現するシステム全体を示している。図１に示すように、プログラマブルコントローラ（ＰＬＣ）１０は、各機能ごとに生成されたユニットを連結することにより構成される。係るユニットとしては、例えば、ユーザプログラムを演算実行するＣＰＵユニット１１や、制御対象機器その他の実機４０と接続するＡＤユニット１２，ＤＡユニット１３などがある。もちろん、図示は省略するが、電源ユニットや、マスタユニットなど各種のユニットも連結可能である。そして、各ユニットは、システムバスなどを介して電気的，機械的に連結されている。さらに、ＣＰＵユニット１１の内部には、高機能な演算処理を実行するプロセスコントロールボード２０が装着されている。なお、本発明では、ＣＰＵユニット１１内に実装するプロセスコントロールボード２０に替えて、独立した別ユニットからなるプロセスコントロールユニットにより実現することもできる。
【００２２】
各ユニット等の構成を実際の制御に即して説明する。ＡＤユニット１２は、センサその他の入力機器が接続され、その入力機器からのアナログ値がＡＤ変換されてＩ／Ｏメモリ１２ａに格納されるようになっている。そして、このＩ／Ｏメモリ１２ａ内の所定アドレスのデータが、ＣＰＵユニット１１のサイクリックな処理の１工程であるＩＮリフレッシュ処理のときに、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａに取り込まれる。ＡＤユニット１２のＩ／Ｏメモリ１２ａのアドレスと、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａのアドレスの対応付けは予めＣＰＵユニット１１に設定される。
【００２３】
また、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａは、プロセスコントールボード２０からもアクセスできる共有メモリとなっており、Ｉ／Ｏメモリ１１ａに格納されたＡＤ変換値（入力）が、プロセスコントールボード２０に取り込まれる。
【００２４】
プロセスコントロールボード２０は、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａの所定領域に格納されたＡＤ変換値（入力）を読み出すとともに、所望の演算実行をするファンクションブロック２１に渡す第１入力インタフェース２２と、ファンクションブロック２１にて算出された演算結果（出力データ）をＣＰＵユニット１１のＩ／Ｏメモリ１１ａの所定領域に格納する第１出力インタフェース２３とを備えている。
【００２５】
プロセスコントロールボード２０には、係るファンションブロック２１と第１入力インタフェース２２並びに第１出力インタフェース２３を１組とし、所定組数実装されている。そして、ファンクションブロック２１は、所定の演算処理を実行するもので、図示の例ではＰＩＤ制御を行うための演算を行うＰＩＤブロックを示しているが、他の演算処理を実行するブロックも存在する。すなわち、ＰＩＤブロック以外にも、オンオフ制御ブロック，警報ブロック，四則演算ブロックなどがある。そして、各ブロックのアルゴリズムは、専用ツールにより自由にプログラミングできる。
【００２６】
また、各組の第１入力インタフェース２２並びに第１出力インタフェース２３は、それぞれＣＰＵユニット１１のＩ／Ｏメモリ１１ａのどの領域にアクセスして読み書きすればよいかを知っている。そこで、適宜のタイミングで第１入力インタフェース２２が入力データを取得して、対応するファンクションブロック２１に渡し、ファンクションブロック２１の演算結果が第１出力インタフェース２３を介して出力データとしてＩ／Ｏメモリ１１ａに格納される。
【００２７】
このＩ／Ｏメモリ１１ａに書き込まれた出力データ（ＤＡ変換値）は、上記したＯＵＴリフレッシュ処理の際にＤＡユニット１３のＩ／Ｏメモリ１３ａの所定アドレスに転送される。これにより、ＤＡユニット１３に接続された出力機器は、そのＤＡ変換値（電圧や電流などの制御量）に基づいた制御動作を実行する。
【００２８】
なお、各ユニット１１から１３には、図示の例ではＩ／Ｏメモリ１１ａ〜１３ａのみ示しているが、各ユニット間を接続するシステムバスに接続するためのバスインタフェースや、各種処理を実行するＭＰＵや、そのＭＰＵで実行するプログラムを格納するＲＯＭや、ワークメモリとしてのＲＡＭ等各種のハードウェアを内蔵するが、それらは従来と同様であるので、その詳細な説明並びに図示を省略する。
【００２９】
ここで本発明では、プロセスコントールボード２０に、シミュレーション機能部２５と、そのシミュレーション機能部２５に入力データを与える第２入力インタフェース２６と、シミュレーション機能部２５で演算実行して得られた出力データを出力する第２出力インタフェース２７を所定組数（１以上）備えている。
【００３０】
このシミュレーション用の第２入力インタフェース２６は、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａの所定領域に格納されている出力データを読み出してシミュレーション機能部２５に与える機能を持つ。また、第２出力インタフェース２７は、シミュレーション機能部２５にて求めた演算結果を取得し、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａの所定領域に書き込む機能を持つ。
【００３１】
そして、第２入力インタフェース２６は、第１出力インタフェース２３と同一領域を参照し、第２出力インタフェース２７は第１入力インタフェース２２と同一領域を参照するようになっている。つまり、シミュレーション機能部２５は、制御対象をシミュレーションするもので、ファンクションブロック２１が算出した出力データが第１出力インタフェース２３を介してＩ／Ｏメモリ１１ａの所定領域（ＡＤ変換値（出力））に格納されるため、その出力データが第２入力インタフェース２６にて読み出され、シミュレーション機能部２５に与えられる。
【００３２】
シミュレーション機能部２５は、シミュレーションを行うための演算部として二次遅れ＋無駄時間演算部２５ａと、正弦波出力部２５ｂを備えており、シミュレーション対象の機器や制御内容によっていずれかを選択するようになっている。
【００３３】
そして、二次遅れ＋無駄時間演算部２５ａによるシミュレーションは、主な使用用途として温度制御などのＰＩＤ制御対象となるもの全般に使用することができる。そして、具体的な演算処理は、下記式を実行するようになっている。
【００３４】
Ｙ＝｛Ｋ・ｅ−Ｌｓ／（１＋Ｔ１ｓ）（１＋Ｔ２ｓ）｝・Ｘ
Ｘ：入力（ＤＡ変換値（通常の出力エリア））
Ｙ：疑似データ（ＡＤ変換値（通常の入力エリア））＝出力値
Ｋ：ゲイン（０．０１〜１００．００、デフォルト１．００）＝パラメータ
Ｔ１：時定数１（  ０〜３２０００秒、デフォルト０秒）＝パラメータ
Ｔ２：時定数２（  ０．０〜３２００．０秒、デフォルト０．０秒）＝パラメータ
Ｌ：無駄時間（０〜３２０００秒、デフォルト０秒）＝パラメータ
ｓ：ラプラス演算子
【００３５】
また、正弦波出力部２５ｂによるシミュレーションの主な使用用途は、入力を最大値と最小値に振らせて確認するもので、応答性や反応などをチェックする際に用いられる。そして、具体的な演算処理は、下記式を実行するようになっている。
【００３６】
Ｙ＝（Ｐｍａｘ―Ｐｍｉｎ）／２・ｓｉｎ（２・π・ｔ／Ｔ）＋（Ｐｍａｘ＋Ｐｍｉｎ）／２
Ｙ：疑似データ（ＡＤ変換値（通常の入力エリア））＝出力値
ｔ：経過時間＝パラメータ
Ｐｍａｘ：最大値＝パラメータ
Ｐｍｉｎ：最小値＝パラメータ
Ｔ：周期時間＝パラメータ
【００３７】
そして、シミュレーション機能部２５で求めたシミュレーション結果が入力データとして第２出力インタフェース２７を介してＩ／Ｏメモリ１１ａの所定領域（ＡＤ変換値（入力）を格納する領域）に書き込まれる。この書き込まれた入力データは、第１入力インタフェース２２を介して読み出されてファンクションブロック２１に渡される。
【００３８】
このように、共有メモリであるＩ／Ｏメモリ１１ａを経由してプロセスコントールボード２０のファンクションブロック２１と、シミュレーション機能部２５とが連携され、ファンクションブロック２１の実行結果（出力データ）に基づきシミュレーション機能部２５がシミュレーションして入力データを求め、その求めた入力データに基づいてファンクションブロック２１が次の制御量となる出力データを求める。
【００３９】
このように、シミュレーション時にファンクションブロック２１に与えられる入力データは、予め定めた模擬データではなく、ファンクションブロック２１が求めた出力データに基づいて、シミュレーション機能部２５で演算実行して得られた演算結果である。従って、検証のためにファンクションブロック２１に与える疑似の入力データを予め用意する必要はなく、しかも、ファンクションブロック２１に組み込まれたプログラムによって、次の制御のための入力データが変わるため、そのプログラム自体の検証を精度良く行える。
【００４０】
そして、係る検証を行う場合、制御対象４０はもちろんのことＡＤユニット１２やＤＡユニット１３も不要となり、プロセスコントールボード２０をＣＰＵユニット１１に装着した状態で検証が行える。
【００４１】
また、制御対象４０やＡＤユニット１２やＤＡユニット１３を連結した状態のまま検証を行うためには、入力機器からの入力データによってＣＰＵユニット１１のＩ／Ｏメモリ１１ａが書き換えられたり、そのＩ／Ｏメモリ１１ａに格納された情報に基づいて出力機器が動作することを抑止する必要がある。もちろん、通常の制御を実行する場合には、シミュレーション機能部２５は動作せず、少なくとも第２出力インタフェース２７がＣＰＵユニット１１のＩ／Ｏメモリ１１ａに書き込むことを抑止する必要がある。
【００４２】
そこで、シミュレーション機能部２５には、パラメータを記憶するエリアとしてシミュレーション開始フラグ記憶部２５ｃと、シミュレーションモード記憶部２５ｄが用意され、各パラメータの設定を適宜変更することにより、プロセスコントールボード２０の動作を決定させる。そして、各パラメータは専用ツールで設定される。
【００４３】
具体的なパラメータと動作の関係は、シミュレーション開始フラグをＯＮにすることで、シミュレーション機能部２５が動作し、第２入力インタフェース２６，第２出力インタフェース２７が、ＣＰＵユニット１１のＩ／Ｏメモリ１１ａにアクセスする。また、シミュレーション開始フラグをＯＦＦにすることで係る動作を停止する。
【００４４】
また、シミュレーションモードは、シミュレーション時の疑似データの算出方法を決定するもので、具体的には二次遅れ＋無駄時間演算部２５ａと、正弦波出力部２５ｂのいずれを使用するかを選択する。
【００４５】
さらにシミュレーション開始フラグのＯＮ／ＯＦＦは、ＣＰＵユニット１１に設けたＣＰＵユニット１１のメモリ上のソフトスイッチとして設けた外部Ｉ／Ｏデータ更新停止スイッチ１１ｂと連動（例えば、シミュレーション開始フラグがＯＮ／ＯＦＦにあることを検出する処理内で外部Ｉ／Ｏデータ更新停止スイッチ１１ｂをＯＮ／ＯＦＦするように構成すればよい）しており、シミュレーション開始フラグをＯＮにすると外部Ｉ／Ｏデータ更新停止スイッチ１１ｂもＯＮになり、ＡＤユニット１２からの入力を停止し、ＤＡユニット１３への出力を停止するように動作する。
【００４６】
なお、シミュレーション機能部２５のパラメータを記憶する各記憶部２５ｃ，２５ｄは、ＣＰＵユニット１１に接続された専用ツールから、それぞれ設定を行う。
【００４７】
そして、上記したシミュレーションを行う場合の具体的な処理動作は、図２に示すフローチャートのようになる。すなわち、シミュレーションを開始したならば（ＳＴ１でＹＥＳ）、実際のＩ／Ｏユニット（本実施の形態では、ＡＤユニット１２とＤＡユニット１３に相当する）とＣＰＵユニット間のデータ更新を停止させる（ＳＴ２）。具体的には、ＣＰＵユニット１１のサイクリックな処理の１つであるＩＮリフレッシュ処理においてＡＤユニット１２からのデータの取り込み、及びＯＵリフレッシュ処理においてＤＡユニット１３へのデータの送り出しを停止する。これは、シミュレーション開始フラグがＯＮになり、ＣＰＵユニット１１上に設けられている、ソフトスイッチ（外部Ｉ／Ｏデータ更新停止スイッチ１１ｂ）をＯＮにすることにより実現できる。
【００４８】
次いで、Ｉ／Ｏメモリ１１ａ中の指定されたＤＡ変換値（出力）から、第２入力インタフェース２６を介して取得する（ＳＴ３）。そして、その取得したデータに基づき、シミュレーションモードで指定された演算を実行し、擬似入力データを算出する（ＳＴ４）。
【００４９】
この求めた擬似入力データを、第２出力インタフェース２７が、Ｉ／Ｏメモリ１１ａの所定のＡＤ変換値（入力）に書き込む（ＳＴ５）。以後、上記した各処理ステップを繰り返し実行する。
【００５０】
一方、ファンクションブロック２１側は、図３に示すように、演算周期に来たか否かを判断する（ＳＴ１１）。演算周期は、ツールにより設定される。そして、演算周期に来たならば、演算周期実行テーブルに登録されている計器ブックＮｏを読み出す（ＳＴ１２）。すなわち、ツールよりプログラムをダウンロードしたときに、ファンクションブロックを該当する演算周期（スキャン周期ごと）に実行順にファンクションブロックＮｏ．を登録したテーブルを作成しておく。
【００５１】
このテーブルを読み出し、先頭から順番に該当するファンクションブロックを実行する。すなわち、まず該当の計器ブロックが存在するか否かを判断し（ＳＴ１３）、存在する場合にはその計器ブロックを実行する（ＳＴ１４）。そして、次の該当する計器ブロックの有無を判断し、存在する場合には読み出して実行する。係る処理をテーブルの最後まで繰り返し実行する。一方、ステップ１３の分岐判断で該当する計器ブロックが存在しない場合には、そのまま処理を終了する。なお、シミュレーション開始時に、ファンクションブロック２１へ与えられる入力データの初期値は、シミュレーション機能部２５によって与えられる。
【００５２】
次に、各部のより具体的な構成を説明する。図１に示したプロセスコントロールボード２０の具体的な構成を示すと、図４のようになる。すなわち、プロセスコントロールボード２０は、ＣＰＵユニット１１とデータの通信等を行うためのＣＰＵユニット間バスインタフェース（インナーバスインタフェースとも称する）３０に連結される。そして、このＣＰＵユニット間バスインタフェース３０を介して取得した情報の内容に応じて、ＣＰＵユニットメモリアクセス機能部２４や外部メッセージ通信処理部３１並びにファンクションブック実行処理部３６に渡される。また、外部メッセージ通信処理部３１から送られたデータは、ＣＰＵユニット間バスインタフェース３０を介してＣＰＵユニット１１側に伝えられる。
【００５３】
ＣＰＵユニットメモリアクセス機能部２４は、ＣＰＵユニット間バス経由で、１ワード単位で、データ送受信できる手段である。これによりＣＰＵユニット１１上のメモリ（Ｉ／Ｏメモリ１１ａ）とのデータ交換を行う。データをメモリから読み出す入力インタフェース２４ａと、メモリに書き込む出力インタフェース２４ｂを備える。そして入力インタフェース２４ａで取得したデータは、ファンクションブロック２１或いはシミュレーション機能部２５に渡され、ファンクションブロック２１或いはシミュレーション機能部２５から出力されたデータは、出力インタフェース２４ｂを介してＣＰＵユニット１１のＩ／Ｏメモリ１１ａに書き込まれる。
【００５４】
つまり、これら入出力インタフェース２４ａ，２４ｂは、実際には複数対存在し、図１でいう第１，第２入出力インタフェース２２，２３，２６，２７に対応する。
【００５５】
外部メッセージ通信処理部３１は、ＣＰＵユニット１１に接続された専用ツールからのパラメータ設定をしたり、パラメータ読出しを行うもので、受信機能部３１ａと返信機能部３１ｂを有する。つまり、専用ツールが発したメッセージコマンドをＣＰＵユニット１１経由で受信機能部３１ａが受信し、それに対するレスポンスデータを返信機能部３１ｂに送信する。
【００５６】
そして、具体的にパラメータの読み書きは、パラメータ設定処理部３２が行う。すなわち、パラメータ設定処理部３２は、外部メッセージ通信処理部３１の受信機能部３１ａから送られてきたパラメータを、揮発性記憶素子（ＳＲＡＭ）３３に記録する機能を持つ。また、読み出しコマンドの場合、パラメータ設定処理部３２は揮発性記録素子３３に格納された所定のパラメータを読み出して返信機能部３１ｂに渡し、その返信機能部３１ｂがＣＰＵユニット１１ひいてはそのＣＰＵユニット１１に接続されたツールへ返信する。なお、ここで設定するパラメータは、本発明との関係で言うと、シミュレーション開始フラグやシミュレーションモードなどがある。もちろんこれ以外にも各種のパラメータの設定はある。
【００５７】
また、この揮発性記録素子３３に格納されたパラメータは、電源ＯＦＦとともに消去されるため、予め不揮発性記憶素子（ＦＲＯＭ）３５に記憶させ、バックアップを取る。このバックアップ処理をＦＲＯＭバックアップ機能部３４が実行する。つまり、このＦＲＯＭバックアップ機能部３４は、揮発性記録素子３３にアクセスし、パラメータが格納される領域のデータ（パラメータ）を読み出すとともに、その読み出したデータ（パラメータ）を不揮発性記録素子３５の所定領域に格納する。
【００５８】
ファンクションブロック実行処理部３６は、指定された演算周期（スキャン周期）で、定期的にファンクションブロック２１を実行する。演算周期は、１０ｍｓ，２０ｍｓ，５０ｍｓ，１００ｍｓ，２００ｍｓ，５００ｍｓ，１０００ｍｓ，２０００ｍｓの中から選択される。どの演算周期にするかも、パラメータとして記録される。
【００５９】
さらに、符号３７は、各種の状態を示すためのＬＥＤであり、複数個設置されている。例えば、「ＣＰＵユニットとのバスが確立していることを示す。」，「ファンクションブロックやシミュレーション機能が動作中であることを示す。」，「ポート経由で、データ通信していることを示す。」ためのＬＥＤがある。さらにまた、符号３８はＲＳ２３２Ｃポートであり、他の外部機器・装置と直接通信が可能となる。
【００６０】
なお、シミュレーション機能部２５とファンクションブロック２１の具体的な処理機能は、図１にて説明したものと同様であるので、ここでは説明を省略する。
【００６１】
【発明の効果】
以上のように、この発明では、シミュレーション手段をプログラマブルコントローラ上に設けたプロセスコントロール機能に内蔵させたため、制御対象の存在の有無にかかわらず、プロセスコントロール機器におけるプロセス制御（アナログ制御）のためのユーザプログラムの検証を高精度に行うことができる。
【図面の簡単な説明】
【図１】本発明の好適な一実施の形態を示す図である。
【図２】プロセスコントロールボードの内部構成を示すブロック図である。
【図３】プロセスコントロールボードにおけるシミュレーション機能部の作用を示すフローチャートである。
【図４】プロセスコントロールボードにおけるファンクションブロックの作用を示すフローチャートである。
【符号の説明】
１０  プログラマブルコントローラ
１１  ＣＰＵユニット
１１ａ  Ｉ／Ｏメモリ
１１ｂ  外部Ｉ／Ｏデータ更新停止スイッチ
１２  ＡＤユニット
１２ａ  Ｉ／Ｏメモリ
１３  ＤＡユニット
１３ａ  Ｉ／Ｏメモリ
２０  プロセスコントロールボード
２１  ファンクションブロック
２２  第１入力インタフェース
２３  第１出力インタフェース
２４  ＣＰＵユニットメモリアクセス機能部
２４ａ  入力インタフェース
２４ｂ  出力インタフェース
２５  シミュレーション機能部
２５ａ  二次遅れ＋無駄時間演算部
２５ｂ  正弦波出力部
２５ｃ  シミュレーション開始フラグ記憶部
２５ｄ  シミュレーションモード記憶部
２６  第２入力インタフェース
２７  第２出力インタフェース
３０  ＣＰＵユニット間バスインタフェース
３１  外部メッセージ通信処理部
３１ａ  受信機能部
３１ｂ  返信機能部
３２  パラメータ設定処理部
３３  揮発性記憶素子
３４  ＦＲＯＭバックアップ機能部
３５  不揮発性記憶素子
３６  ファンクションブロック実行処理部
３７  ＬＥＤ
３８  ＲＳ２３２Ｃポート
【図１】
2004265001.tif 000003
【図２】
2004265001.tif 000004
【図３】
2004265001.tif 000005
【図４】
2004265001.tif 000006