(57)【要約】【課題】ＰＬＣが稼働状態に移行したのちにあっても、所望の変数を自在に生成することを可能とした収集データのモニタ方法及び装置を提供する。【解決手段】１もしくは２以上の実変数を使用した演算式により定義された仮想変数を設定する第１のステップと、ＰＬＣ側のデータ収集装置から実変数データ列を読み込む第２のステップと、設定された仮想変数を定義する演算式にＰＬＣ側から読み込まれた実変数データ列を代入して仮想変数データ列を生成する第３のステップと、実変数データ列と仮想変数データ列とを内部テーブルに格納する第４のステップと、内部テーブルに格納された各実変数データ列とモニタ装置側で設定した仮想変数データ列とに基づいてモニタ装置側の画像表示器の画面上に対応する波形表示を行う第５のステップと、を具備する。【選択図】図６
2007249937.tif 000002
【特許請求の範囲】
【請求項１】
ユーザプログラムを実行して制御を行うプログラマブル・コントローラのメモリから変数をデータ収集ユニットが収集し、収集した複数の変数の値をモニタ装置が読み込んでそれぞれに相当する一連のデータ列をモニタ装置の画像表示器を介してモニタするための方法であって、
モニタ装置における処理が、
１もしくは２以上の変数を使用した演算式により定義された仮想変数を設定登録する第１のステップと、
データ収集ユニットから変数データを読み込む第２のステップと、
第１ステップにて設定された仮想変数を定義する演算式に第２ステップにて読み込んだ変数データを代入して仮想変数データを生成する第３のステップと、
読み込んだ変数データと生成した仮想変数データを内部テーブルに格納する第４のステップと、
内部テーブルに格納した各変数データと仮想変数データとのうち任意のデータの時系列変化を前記画像表示器の画面上に波形表示する第５のステップと、
を具備することを特徴とする収集データのモニタ方法。
【請求項２】
第１のステップが、
仮想変数の名称表示領域と、仮想変数のデータ型表示領域と、仮想変数を定義するための演算式表示領域とを有する入力データ表示領域と、
仮想変数の設定のために選択可能な変数一覧をメニュー表示する変数一覧表示領域と、
仮想変数を定義する際に使用する数値キー、論理値キー、数値演算子キー、論理演算子キー、仮想変数を入力確定するための確定キーの各表示領域を有する操作キー表示領域と、
を有する仮想変数設定画面をモニタ装置側の画像表示器の画面上に表示させるステップと、
変数一覧表示領域におけるユーザによる変数選択操作と、操作キー表示領域における数値キー、論理値キー、数値演算子キー、論理演算子キー、仮想変数を入力確定するための確定キーの操作とに基づいて、ユーザ操作に対応する仮想変数に相当する演算式を生成するステップと、
生成された仮想変数に相当する演算式を登録するステップと、
を具備することを特徴とする収集データのモニタ方法。
【請求項３】
データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のデータ列をモニタ装置側の画像表示器を介してモニタするための装置であって、
１もしくは２以上の変数を使用した演算式により定義された仮想変数を設定登録する第１の手段と、
プログラマブル・コントローラ側のデータ収集ユニットから変数データを読み込む第２の手段と、
第１の手段にて設定された仮想変数を定義する演算式に前記データ収集ユニットから読み込んだ変数データを代入して仮想変数データを生成する第３の手段と、
第１の手段にて読み込んだ変数データと第３の手段により生成した仮想変数データとを内部テーブルに格納する第４の手段と、
内部テーブルに格納した各変数データと仮想変数データとのうち任意に設定したデータの時系列変化を表示する第５の手段と、
を具備することを特徴とする収集データのモニタ装置。
【請求項４】
第１の手段が、
仮想変数の名称表示領域と、仮想変数のデータ型表示領域と、仮想変数を定義するための演算式表示領域とを有する入力データ表示領域と、
仮想変数の設定のために選択可能な変数一覧をメニュー表示する変数一覧表示領域と、
仮想変数を定義する際に使用する数値キー、論理値キー、数値演算子キー、論理演算子キー、仮想変数を入力確定するための確定キーの各表示領域を有する操作キー表示領域と、
を有する仮想変数設定画面をモニタ装置側の画像表示器の画面上に表示させる手段と、
変数一覧表示領域におけるユーザによる変数選択操作と、操作キー表示領域における数値キー、論理値キー、数値演算子キー、論理演算子キー、仮想変数を入力確定するための確定キーの操作とに基づいて、ユーザ操作に対応する仮想変数を生成する手段と、
生成された仮想変数に相当する演算式を登録する手段と、
を具備することを特徴とする収集データのモニタ装置。
【請求項５】
請求項１又は２に記載の方法をコンピュータにより実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブル・コントローラにバス接続されたデータ収集ユニットがプログラマブル・コントローラメモリから複数の制御データを収集し、その収集データを画像表示器などのモニタ装置へ出力し、モニタ装置がその制御データを時系列的に表示し、モニタするための方法及び装置に関する。
【背景技術】
【０００２】
プログラマブル・コントローラ（ＰＬＣ）は、制御を司るＣＰＵユニット、外部とデータ通信する通信ユニット、センサなどを接続するＩ／Ｏユニット等をバス接続して構成される。ＣＰＵユニットはマイクロプロセッサと、制御内容に応じて予め作成されたユーザプログラムを記憶したユーザメモリとを内蔵している。所定のシステムプログラムを実行することによって、Ｉ／Ｏリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理をサイクリックに実行する。この一巡実行サイクルをサイクルタイムと一般に称する。Ｉ／Ｏリフレッシュ処理とは、ＰＬＣのＣＰＵユニットがＩ／Ｏユニットとの間でバス通信を介して制御データであるＩＮデータ、ＯＵＴデータを交換する処理である。ＣＰＵユニットは制御データであるＩＮデータ、ＯＵＴデータを記憶するメモリ（例えば、入出力メモリ、データメモリ等々）を内蔵している。ところでＰＬＣに接続可能なデータ収集ユニットが従来から知られている。このデータ収集ユニットは、ＣＰＵユニットのメモリに記憶された各種の制御データ（前述のＩＮデータ、ＯＵＴデータを含む。具体的には例えば入出力信号のオンオフデータ）を周期的にかつ自動的に収集する機能を備えている。データ収集ユニットは、ＣＰＵユニットから指定周期でデータを収集し続け、時系列的な一連の制御データの変化を記憶する。なおデータ収集ユニットを「ＳＰＵ」と略称する場合もある。データ収集ユニットはＣＰＵユニットとバス接続している（特許文献１参照）。また、この種のデータ収集装置が収集した一連の制御データを表示器等のモニタ装置にてモニタすることが従来から知られている（特許文献２参照）。一連の制御データを記憶することで、例えば時系列的に変化する入出力信号のオンオフ信号（時系列ビットデータ列）を後述するモニタ装置で把握できる。
【０００３】
この種のモニタ装置は、データ収集ユニットがＣＰＵユニットから収集した一連の制御データを受け取り、それらのデータのそれぞれの時系列的な変化をユーザが認識できるようにパルス列波形にし、表示画面上に複数行にわたって並べて表示させる機能を持つのが通例である。
【０００４】
ところで、この種のデータ収集ユニットにとって収集可能であるためには、ＰＬＣにおいて制御データや変数として扱われることが必要である。さらにＣＰＵユニットに内蔵されるＩ／Ｏメモリ、データメモリに割り付けられている必要、つまりメモリの格納エリアが一義に決まっていることが必要である。したがって、例えば変数どうしの計算により求められるような特殊なデータをデータ収集ユニットにて収集したい場合には、変数を新しく設定し、ＰＬＣが変数どうしの計算を演算実行するようにユーザプログラム（例えばラダー図言語で作成されるプログラム）を追加修正するとともに、その新しい変数をＩ／Ｏメモリまたはデータメモリ内に割付ることが必要である。データ収集ユニット側でも、ＰＬＣのＣＰＵユニットのメモリの割付エリアからその新たな変数を周期的に収集するように設定し、モニタ装置がそのデータを読み込んで表示するように設定することが必要である。
【０００５】
例えば、一般に、ＰＬＣのデータメモリ内には、生産数や不良数と言った変数が定義されている場合において、それとは別に、良品数や良品率と言った情報をデータ収集ユニットやモニタ装置にて取得しようとした場合には、良品数や良品率に対応する変数を新たに定義し、ＰＬＣのユーザプログラムにおいて固有の命令語を使用してそれらの変数に相当する演算式を追加しなければならない。具体的な演算式を書くと「良品数＝生産数−不良数」、「良品率＝（生産数−不良数）÷生産数」となるが、これをユーザプログラムに書き加えなければならない。
【特許文献１】特開２００５−１２８７２１
【特許文献２】特開２００３−２１６５０
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、既に、ＰＬＣが正常に稼働する運転状態に移行した後、変数どうしの計算を伴なうような新たな情報をモニタしたくなったことにより、新たに、ユーザプログラムを追加修正等をすることは一般には躊躇されることが多い。その理由は、新たな演算が加わることによりＰＬＣのサイクルタイムが増加する虞や、予期せぬ誤動作が起きる虞が懸念されるからである。その結果、一旦、ＰＬＣが稼働状態になった後にあっては、モニタ装置側に新たな情報を表示させてモニタすることについて制約を受けるのが現状である。
【０００７】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、ＰＬＣが稼働状態に移行した後にあっても、ＰＬＣのユーザプログラムを追加変更等をすることなく、変数どうしの計算を伴なうような新たな情報をモニタすることを可能とした収集データに基づくモニタ方法及び装置を提供することにある。
【０００８】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【０００９】
この発明の収集データのモニタ方法及び装置は、データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のデータ列をモニタ装置側の画像表示器を介してモニタするための方法（又は装置）であって、１もしくは２以上の変数を使用した演算式により定義された仮想変数を設定登録する第１のステップ（又は手段）と、プログラマブル・コントローラ側のデータ収集ユニットから変数データを読み込む第２のステップ（又は手段）と、設定された仮想変数を定義する演算式にデータ収集ユニットから読み込んだ変数データを代入して仮想変数データを生成する第３のステップ（又は手段）と、読み込んだ変数データと生成した仮想変数データとを内部テーブルに格納する第４のステップ（又は手段）と、内部テーブルに格納した各変数データと仮想変数データとのうち任意に設定したデータの時系列変化を表示を行う第５のステップ（又は手段）と、を具備することを特徴とする。
【００１０】
このような構成によれば、内部テーブルに格納された各変数データとモニタ装置側で設定した仮想変数データとに基づいてモニタ装置側の画像表示器の画面上に対応する波形表示を行うため、新たな変数を定義するについても、ＰＬＣ側でラダー図言語等々の固有言語を使用してメモリ割付を追加乃至変更することは不要であるから、ユーザプログラムの追加によるサイクルタイムの遅れ等が発生することを気にすることなくもモニタ対象データを拡張することができる。
【００１１】
このとき、第１のステップが、仮想変数の名称表示領域と、仮想変数のデータ型表示領域と、仮想変数を定義するための演算式表示領域とを有する入力データ表示領域と、仮想変数の設定のために選択可能な変数一覧をメニュー表示する変数一覧表示領域と、仮想変数を定義する際に使用する数値キー、論理値キー、数値演算子キー、論理演算子キー、仮想変数を入力確定するための確定キーの各表示領域を有する操作キー表示領域と、を有する仮想変数設定画面をモニタ装置側の画像表示器の画面上に表示させるステップと、変数一覧表示領域におけるユーザによる変数選択操作と、操作キー表示領域における数値キー、論理値キー、数値演算子キー、論理演算子キー、仮想変数を入力確定するための確定キーの操作とに基づいて、ユーザ操作に対応する仮想変数を生成するステップと、生成された仮想変数に相当する演算式を登録するステップと、を具備するものであれば、新たな仮想変数を定義するについて、モニタ装置側の操作性を良好なものとすることができる。
【００１２】
本発明は、請求項１又は２に記載の方法をコンピュータに実行させるためのコンピュータプログラムとしても実現することができる。
【発明の効果】
【００１３】
本発明によれば、内部テーブルに格納された各変数データとモニタ装置側で設定した仮想変数データとに基づいてモニタ装置側の画像表示器の画面上に対応する波形表示を行うため、新たな変数を定義するについても、ＰＬＣ側でラダー図言語等々の固有言語を使用してメモリ割付を追加乃至変更することは不要であるから、ユーザプログラムの追加によるサイクルタイムの遅れ等が発生することを気にすることなくもモニタ対象データを拡張することができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明に係る収集データのモニタ方法及び装置の好適な実施の一形態を添付図面を参照しつつ詳細に説明する。
【００１５】
データ収集ユニットを含むＰＬＣシステムのハードウェア構成図の一例が図１に示されている。同図に示されるように、このＰＬＣシステムは、第１のＰＬＣ１と、第２のＰＬＣ５と、パーソナル・コンピュータ（以下、ＰＣと言う）２とを中心として構成されている。第１のＰＬＣ１とＰＣ２とは通信線９ａを介して結ばれており、第１のＰＬＣ１と第２のＰＬＣ５とは通信線９ｂを介して結ばれている。
【００１６】
第１のＰＬＣ１はビルディング・ブロック型に構成されており、この例では、制御を司るＣＰＵユニット１１と、外部とデータ通信する通信ユニット１２と、入力機器または出力機器を接続するＩ／Ｏユニット１３と、データ収集ユニット（ＳＰＵ）１４とを含んでいて、それらのユニットがバックプレインボードを介してバス接続されている。
【００１７】
ＣＰＵユニット１１は、当業者にはよく知られているように、全般の処理を実行するマイクロプロセッサと、ユーザプログラムを記憶するユーザプログラムメモリと、いわゆるＩ／Ｏデータを記憶するＩ／Ｏメモリまたはデータメモリ（以下、Ｉ／Ｏメモリ）とを内蔵している。そして、ＣＰＵユニット１１の内蔵マイクロプロセッサは、所定のシステムプログラムを実行することによって、Ｉ／Ｏリフレッシュ処理と、ユーザプログラム実行処理と、周辺サービス処理とをサイクリックに実行する。このとき一巡実行サイクルをサイクルタイムと一般に称する。
【００１８】
Ｉ／Ｏユニット１３は複数の入力機器、出力機器が接続されていて（図示せず）、各機器に対応するデータを記憶するメモリを備えている。そして定期的に外部センサ４から入力データ（オンオフデータであるビット変数データ、数値データであるアナログ変数データを含む）を取り込んで記憶する。また、ＣＰＵユニット１１のＩＯリフレッシュ処理により送られて来た出力データ（ユーザプログラム実行結果であるデータを含む）を外部のアクチュエータ３などに送出する。
【００１９】
ＣＰＵユニット１１におけるＩ／Ｏリフレッシュ処理において、マイクロプロセッサがＩ／Ｏユニット１３からバスを介して入力データをＩ／Ｏメモリの該当エリアに書き込む。また、マイクロプロセッサがＩ／Ｏメモリの該当エリアの出力データを、バスを介してＩ／Ｏユニット１３へ送る。ＣＰＵユニット１１におけるユーザプログラム実行処理において、マイクロプロセッサがユーザプログラムメモリに記憶されたユーザプログラムのユーザ命令を順に実行する。つまり、Ｉ／Ｏメモリに記憶した入力データの内容を参照してユーザ命令に従って演算実行し、その実行結果に基づいてメモリの出力データの内容を書き換える。
【００２０】
ＣＰＵユニット１１における周辺サービス処理において、通信ユニット１２を介して例えば第２のＰＬＣ５と通信を行うことにより、第２のＰＬＣ５との間でＩ／Ｏデータの交換などを行う。
【００２１】
データ収集ユニット１４はプロセッサを内蔵しており、プロセッサが上述したＣＰＵユニット１１におけるＩ／Ｏリフレッシュ処理に際して、ＣＰＵユニット１からバスを介してＩ／Ｏメモリの全てのデータを読み出すと共に、これをデータ収集ユニット（ＳＰＵ）１４内のメモリに蓄積保存する。なお、全てのデータを読み出す代わりに、データ収集ユニット１４に対して読み出す対象を予め設定しておくことにより、指定されたデータのみをＣＰＵユニット１のメモリから読み出すようにしてもよい。なお、データ収集するのを、ＣＰＵユニット１のＩ／Ｏリフレッシュ処理に際して行うことに代えて、例えば周辺サービス処理に際して行うことでもよいし、ユーザプログラム実行処理の前あるいは後に別途の処理期間を設けて行うことでもよい。要するに、ＣＰＵユニット１における一巡実行サイクルごとに１回データ収集するような構成であればよい。さらに、データ収集周期をＣＰＵユニット１における一巡実行サイクルに同期せずに、ＣＰＵユニット１における複数回の実行サイクルごとにデータ収集を１回するように収集周期を長くしてもよい。
【００２２】
こうしてＣＰＵユニットの制御データはデータ収集ユニット１４によって収集され、データ収集ユニット１４のメモリ内に蓄積保存される。この収集データは、ＣＰＵユニットの制御データであり、ビット変数、アナログ変数を含むし、あるいは入力データ、出力データを含む。データ収集ユニット１４は、ＣＰＵユニット側の制御データや変数のメモリ割付情報を持っている。データ収集ユニット側に収集対象となるデータがＣＰＵユニットのどのメモリエリアに記憶されているかという情報を予め設定しておくことにより、データ収集ユニット１４は収集データをＣＰＵユニットから周期的に収集できるようになる。なおデータ収集ユニット１４にメモリ割付情報に加えてシンボル情報を登録しておくのが好ましい。シンボル情報とは、ユーザがある制御データや変数を認識あるいは特定するのを補助する情報であり、例えば「センサ４からの入力信号」である旨や「アクチュエータ３への出力信号」である旨の情報である。前述の「生産数」「不良数」もシンボル情報である。このシンボル情報は文字列で表わされる情報であり、タグ情報またはコメント（図９のコメント１３３と同視できる）と呼ばれる場合もある。そして収集データは、適当なタイミングでＰＣ２とデータ収集ユニット１４とが通信することにより、データ収集ユニット１４から読み出されて、ＰＣ２へと送り込まれる。
【００２３】
データ収集ユニットが収集するデータのシンボル情報やＣＰＵユニットのメモリ割付情報についてはＰＣ２にも予め登録しておく(なお、シンボル情報は図９のコメント１３３の表示に用いられ、メモリ割付情報は図９のアドレス１３２の表示に用いられる)。ＰＣ２は適当なタイミングでデータ収集ユニット１４と通信を行うことにより、データ収集ユニット１４から収集データを取得する。なお、シンボル情報とメモリ割付情報とについては、予め登録することに代えて、ＰＣ２がデータ収集ユニット１４と通信することにより取得するようにしてもよい。こうして取得された取得データは、ＰＣ２のメモリ内に設けた変数テーブルへと記憶される。
【００２４】
そして、ＰＣ２は、それらの取得データに基づき、画像表示器の画面上に各制御データに対応させて、時系列的な変化をパルス列波形やアナログ波形で表示する（図９にて詳述する）。こうすることによって、ユーザは画像表示器の画面を介して、ＰＬＣ１の取り扱う制御データや各種アナログデータを視覚的にモニタすることができる。なお第１のＰＬＣ１（ＣＰＵユニット１１とも言ってもよい）が周辺サービス処理を行うことにより第２のＰＬＣ５のデータを取得し、データ収集ユニット１４がＣＰＵユニット１１を経由してＰＬＣ２のデータを収集するようにすれば、ＰＣ２にて第２のＰＬＣのデータも同様にモニタすることができるようになる。
【００２５】
そして、本発明にあっては、先に説明したように、単にＣＰＵユニット１１のＩ／Ｏメモリの内容そのままをモニタ表示するのみならず、それらを適宜演算して得られた新規なデータ（以下、仮想変数データと言う）についても、ＰＣ２の画像表示器の画面上に任意に表示することができるようにしている。以下、この点についてさらに詳細に説明する。
【００２６】
仮想変数データに関する設定処理のフローチャートが図２に、また仮想変数データに関する設定画面のイメージ図が図６にそれぞれ示されている。
【００２７】
図２のフローチャートに示されるように、仮想変数の設定処理においては、まず所望の仮想変数の『名称』及び『データ型』を設定する（ステップ２０１）。この設定操作は、図６に示されるように、仮想変数設定画面に従って行われる。
【００２８】
図６の仮想変数設定画面は、ＰＣ２の画像表示器の画面上に表示される。ＰＣ２は、この仮想変数設定画面に仮想変数の『名前』を表示するための名前表示領域１０１と、仮想変数の『データ型』を表示するためのデータ型表示領域１０２と、仮想変数の『演算式』を定義するための演算式表示領域１０３と、仮想変数の設定に使用可能な制御データ及び仮想変数の一覧をメニュー表示可能な変数一覧表示領域１０４と、仮想変数の設定に必要な各種操作キーを表示させた操作キー表示領域１０５と、ＯＫボタン１０６及びキャンセルボタン１０７とを表示する。名前は、ユーザが仮想変数が何の情報であるかを認識あるいは特定するための情報であり、例えば図中の「稼動時間」や前述の「良品数」や「良品率」などの文字列情報である。データ型はデータ形式の定義である。例えばＢＯＯＬは１か０、オンかオフなどの２値データを意味し、ＵＩＮＴＢＣＤはプラスマイナス符号がつかない整数を意味する、というように予め定められている。演算式は、取得データから直接得られない情報を求めるための演算内容を表わすもので、例えば図中に示した式であったり、前述の良品数を求めるための「生産数−不良数」という式であったり、良品率を求めるための「（生産数−不良数）÷生産数」という式である。名前、データ型、演算式は後述する図８のようにそれぞれ対応付けされる。
【００２９】
ＰＣ２は、変数一覧表示領域１０４に各取得データ（以下、変数という）並びに仮想変数に対応する『データ型』、『アドレス』、『説明』（変数または仮想変数の意味内容を示す文字列）を表示する。のちに図２のフローチャートを参照しつつ詳述するように、ＰＣ２はこの変数一覧表示領域１０４に、ユーザの設定した『データ型』に応じて最適なメニューを表示する。なお変数（つまり取得データ）の源はデータ収集ユニット側の収集データであり、ＣＰＵユニット側の制御データである。仮想変数は図２のフローに従って作成されたものである。
【００３０】
また、ＰＣ２は、操作キー表示領域１０５に、バックキー１０５ａ、クリアキー１０５ｂ、数値キー１０５ｃ、数値演算子キー１０５ｄ、論理演算子キー１０５ｅ、論理値キー１０５ｆを表示する。
【００３１】
従って、ユーザはこの仮想変数設定画面を見ながら仮想変数の設定をプログラマブルに行う。ユーザは、まず、ＰＣ２のワープロ機能を操作し、名前表示領域１０１及びデータ型表示領域１０２のそれぞれに、該当する仮想変数の名前（例えば、『稼働時間』）及びデータ型（例えば『ＲＥＡＬ』など）を入力する。ＰＣ２はユーザ入力により、仮想変数の名前、データ型の情報を受け付ける（ステップ２０１。２０２）。しかる後、ＰＣ２は、変数一覧表示領域１０４内においてカーソルを表示し、ユーザに対してカーソルを上下するよう促す。ユーザが所望の変数あるいは仮想変数を選択し、同時に操作キー表示領域１０５に表示された各種のキー１０５ａ〜１０５ｆを操作することにより、所望の仮想変数に相当する演算式を作成する。ＰＣ２はこれらの操作内容を受付け、演算式表示領域１０３に演算式を表示する。しかる後、ユーザによりＯＫボタン１０６が操作され、ＰＣ２は演算式表示領域１０３の内容で定義された仮想変数『稼働時間』の演算式を、名前とデータ型とを関連付けてメモリ内所定エリアに格納する。
【００３２】
ユーザが『データ型』を『ビット型』（オンオフ信号）と選んだ場合は、ＰＣ２での処理はステップ２０２でＹＥＳとなり、変数一覧表示領域１０４の表示内容をビット型に切換え表示する（ステップ２０３）。ユーザは、以後、変数一覧表示領域１０４からビット型のデータを選択し、論理演算式１０５ｅと論理値キー１０５ｆとを操作しつつ、所望の演算式を作成する。ＰＣ２はこれらの操作内容を受け付けて、名前、データ型および演算式を関連付けてＰＣ２内メモリの所定エリアに登録する（ステップ２０４）。
【００３３】
これに対して、ユーザが『データ型』について『ビット型』以外のものを選択した場合は、ＰＣ２の処理はステップ２０２ＮＯとなり、変数一覧表示領域１０４に『変数型』を表示する（ステップ２０５）。ユーザは、数値キー１０５ｃと数値演算式１０５ｄとを操作しつつ四則演算式を作成する。ＰＣ２はこれらの操作内容を受け付けて、名前、データ型および演算式を関連付けてＰＣ内メモリの所定エリアに登録する（ステップ２０６）。
【００３４】
このようにして、ＰＣ２は仮想変数の設定を対話式画面を通じてプログラマブルに行う。設定処理を終了すると、ＰＣ２のメモリ内所定エリアに新たに設定された仮想変数とその演算式とを共に記憶する。以後モニタ処理を起動することによって、こうして新たに設定された仮想変数を任意に指定して、収集データである変数の変化と並べてモニタ表示することが可能となる。
【００３５】
図８は、図２と図６により説明した処理によって新たに設定された仮想変数の一覧画面のイメージ図を示している。ユーザにより所定の表示モードが設定されることにより、ＰＣ２は同図に示されるように画像表示器の画面上に、仮想変数一覧画面を表示する。ユーザはこの一覧画面を観察すれば新たに設定した仮想変数の『名前』、『データ型』、『演算式』を認識できる。なお、記憶された仮想変数については、その後に別の仮想変数を新た設定する際に、変数一覧表示領域１０４に表示し、１つの変数として選択対象とすることもできる。
【００３６】
収集設定画面のイメージ図の一例が図７に示されている。ユーザにより所定のモードが設定されることにより、ＰＣ２は同図に示されるように画像表示器の画面上に表示可能な取得データの一覧を表示する。例えば、この一部だけを実際にモニタ表示したい場合はこの一覧からモニタ表示対処とするものを任意に選択操作するようにしてもよい。この収集設定画面に、ＰＣ２が取得する変数（前述のように、源はデータ収集ユニットの収集データであり、ＣＰＵユニットの制御データである）のみならず、図２および図６を通じて設定した任意の仮想変数を含ませることができる。図７の例にあっては、『良品数』、『良品率』は仮想変数に相当する。
【００３７】
そして、こうして設定された仮想変数は、ＰＣ２においてその仮想変数を求めるための演算式が自動的に実行されることにより求められる。つまり、あたかもＰＬＣ側において新たに仮想変数をラダー図言語を用いて求め、それをＰＣ２へ送信した場合と同じように、仮想変数を取り扱うことができる。
【００３８】
次にモニタ処理について説明する。モニタ処理全体のゼネラルフローチャートが図３に示されている。
【００３９】
同図において、ＰＣ２が処理を開始すると、まず、演算式の読み出し処理が実行される（ステップ３０１）。演算式読み出し処理の詳細フローチャートが図４に示されている。同図に示されるように、この演算式読み出し処理においては、まず、設定ファイル（図７に示される収集設定画面、図８に示される仮想変数一覧画面に示された情報を含むもの）から仮想変数を読み出す（ステップ４０１）。
【００４０】
ＰＣ２は続いて、読み出した仮想変数や変数の演算式の入れ子処理を分解する（ステップ４０２）。ここで、仮想変数に対応する各演算式は演算式記憶テーブルに格納されている。
【００４１】
図５に示されるように、実ＩＯ値、仮想変数のそれぞれにはポインタＰ（ｎ）が付されている。例えば、実ＩＯ値Ａのポインタはｐ１、実ＩＯ値Ｂのポインタはｐ２、・・・と言ったような具合である。また、各仮想変数は、それら実ＩＯ値を示すポインタを利用して表されている。例えば、仮想変数Ａにはポインタｐ１１が付されており、この仮想変数Ａを求める式は実ＩＯ値Ｂを示すポインタｐ２と実ＩＯ値Ｈを示すポインタｐ８・・・との加算式として表現されている。同様に、仮想変数Ｃにはポインタｐ３１が付されており、この仮想変数Ｃを求める式は仮想変数Ａを示すポインタｐ１１と仮想変数Ｂを示すポインタｐ２１との積として表現されている。従って、ステップ４０２の演算式の入れ子処理を分解するとは、図５の演算式記憶テーブルにおけるポインタのかかり具合を分解することを意味している。
【００４２】
続いて、演算式の処理順をソートする処理が実行される（ステップ４０３）。このソート処理は、演算式の入れ子は演算のしやすさを考慮して、後の演算に用いる変数についての演算処理を先に済ませておくような処理順にするようにソートされる。
【００４３】
続いて、以上のソート結果に基づき、演算処理の最適化ルーチンが作成される（ステップ４０４）。ここで、『最適化ルーチン』とは、各演算式の中で同じ演算式（例えば、Ａ＋Ｂ−Ｃ）がある場合、それを別変数として登録し、各演算式で再利用することで処理時間を短縮するといったことを意味している。
例えば、Ｘ＝Ａ＋Ｂ−Ｃ＋Ｄ−Ｅの式と、Ｙ＝Ｇ−Ｈ＋Ａ＋Ｂ−Ｃ＋Ｆの式とがあったとする。２つの式の中で同じ演算式（共通する式）はＡ＋Ｂ−Ｃであるから、それを別の変数Ｚとおき、
Ｘ＝Ａ＋Ｂ−Ｃ＋Ｄ−Ｅ      →  Ｘ＝変数Ｚ＋Ｄ−Ｅ
Ｙ＝Ｇ−Ｈ＋Ａ＋Ｂ−Ｃ＋Ｆ  →  Ｙ＝Ｇ−Ｈ＋変数Ｚ＋Ｆ
として最適化をはかる。
【００４４】
図３に戻って、続くステップ３０２においては、ＰＣ２がＰＬＣ１のデータ収集ユニット（ＳＰＵ）１４から収集データを読み出す。このデータ読み出しについては、ＰＣ２が自発的にＰＬＣ１のデータ収集ユニット１４へ収集データ送信要求をするようにし、データ収集ユニット１４がそれに返信することでもよいし、ＰＣ２からの収集データ送信要求をすることなしにＰＬＣ１のデータ収集ユニット１４が自発的にＰＣ２へ収集データを送りつけるようにしてもよいし、ＰＣ２とＰＬＣ１のデータ収集ユニット１４とが互いに定期的にデータ通信をするようにしてよいし、それらのいずれでもよい。収集データの読み出しは、ＣＳＶファイル形式でもよいし、ＤＢにいったん格納するようにしてもよい。
【００４５】
続く、ステップ３０３では、ＰＣ２が読み出された変数のデータの値を仮想変数の演算式に代入することによって、各仮想変数の値を生成する。すなわち、ＰＬＣ１側から読み出された各変数に相当するデータを仮想変数を定義する演算式に代入することによって、ＰＬＣ側には存在しなかった仮想変数をあたかもＰＬＣ側に存在したかのごとく生成するのである。
【００４６】
続く、ステップ３０４においては、こうして演算により求められた仮想変数の内容を、ＰＣ２のメモリ内の内部テーブルに格納する。この内部テーブルには、先に説明したように、新たに生成された仮想変数の値のみならず、従前からＰＬＣ１より読み出した各種変数（ビット変数、アナログ変数を含む）が格納されている。
【００４７】
以後、ステップ３０５においては、内部テーブルの内容に基づいて、ＰＣ２の画像表示器の画面上に、各ビット変数に対応するパルス列波形を複数行に並べて表示すると共に、各アナログ変数に対応するアナログ波形をそれぞれ固有の色で重ねて表示することになる。
【００４８】
このときの、モニタ画面全体のイメージ図が図９に示されている。同図に示されるように、モニタ画面１００の全体は、ビット変数波形表示領域１１０と、アナログ変数波形表示領域１２０と、ビット変数関連情報表示領域１３０と、アナログ変数関連情報表示領域１４０とを含んでいる。
【００４９】
ビット変数波形表示領域１１０には、Ｌ１〜Ｌ１６に対応する表示行が設定されており、各表示行には１６個のビット変数のそれぞれに対応するデータ列に相当するパルス列波形が表示可能となされている。横軸が時間軸であり、領域の左方向が時間を過去へさかのぼる方向で、右方向が時間が進む方向である。縦軸が信号変化の軸であり、オフからオンに変化したことを波形の立上がりで示し、オンからオフに変化したことを波形の立下がりで示している。一方、アナログ変数波形表示領域１２０にも、所定個数のアナログ変数のそれぞれに相当するアナログ変数波形がそれぞれ固有の色を有する線で描かれている。横軸が時間軸であり、ビット変数波形表示領域１１０と同様に、領域の左方向が時間を過去へさかのぼる方向で、右方向が時間が進む方向である。縦軸が信号変化の軸であり、上方向が数値が大きくなる方向である。
【００５０】
また、ビット変数関連情報表示領域１３０には、各表示行をアクティブとするかノンアクティブとするかを設定するチェックボックス列１３１と、各表示行に対応する変数色を表す色ボックス列１３２と、各変数に対応するアドレス又はコメントを択一的に表示可能なアドレス／コメント表示列１３３と、各表示行Ｌ１〜Ｌ１６においてカーソル線１１１が指し示す時点のオンオフ状態を２色の色で示すオンオフ色ボックス列１３４と、同様にオンオフ状態をＯＮ／ＯＦＦの何れかで示すＯＮ／ＯＦＦ文字列１３５と、カーソル線１１１が指し示すオンパルスまたはオフパルスのオン時間またはオフ時間を表示するＯＮ／ＯＦＦ時間列１３６が設けられている。
【００５１】
同様にして、アナログ変数関連情報表示領域１４０には、各アナログ変数の表示をアクティブまたはノンアクティブの何れかに設定するチェックボックス列１４１と、各変数の線色を示す色ボックス列１４２と、各変数の説明（コメント）を表示するためのコメント列１４３と、カーソル線１１１が指し示す時点における各変数の値を示す数値ボックス列１４４とが設けられている。
【００５２】
そして、特にこの発明と関連して、『良品数』および『良品率』に対応する仮想変数がコメント列に表示されており、これに対応してアナログ変数波形表示領域１２０には、生産数に対応する波形１２１と、良品数に対応する波形１２２と、不良数に対応する波形１２３とが表示されている。波形１２２の良品数は、ＰＣ２にて演算式＝生産数−不良数で求めた値である。これらの波形で示されるように、生産数と不良数と良品数の関係の推移を観察することができる。なお、仮想変数の良品率については、演算式＝（生産数−不良数）÷生産数で求められる値である。アナログ変数波形表示領域１２０に表示する場合は、縦軸に率をとり、最下点を０％、最高点を１００％とするとよい。図９のアナログ変数波形表示領域１２０では波形１２２とほぼ重なって見える。
【００５３】
言うまでもないが、この仮想変数データは、ＰＣ２の側で独自に生成したものであって、ＰＬＣ１の側のメモリには存在しないし、データ収集ユニット１４にて収集されるものではない。このように、本発明によれば、あたかもＰＬＣ１側においてラダー図言語などで変数を新たに設定したかのごとく、仮想変数データを取り扱うことができるから、様々な仮想変数を設定してはその時間的推移をモニタ画面を介して観察することにより、生産設備のメンテナンスや故障原因分析に最適な仮想変数を導くことが可能となる。
【産業上の利用可能性】
【００５４】
本発明によれば、内部テーブルに格納された各変数データ列とモニタ装置側で設定した仮想変数データ列とに基づいてモニタ装置側の画像表示器の画面上に対応する波形表示を行うため、新たな変数を定義するについても、ＰＬＣ側でラダー図言語等々の固有言語を使用してメモリ割付を追加乃至変更することは不要であるから、ユーザプログラムの追加によるサイクルタイムの遅れ等が発生することを気にすることなくもモニタ対象データを拡張することができる。
【図面の簡単な説明】
【００５５】
【図１】データ収集ユニットを含むＰＬＣシステムのハードウェア構成図である。
【図２】仮想変数設定処理のフローチャートである。
【図３】モニタ処理全体のゼネラルフローチャートである。
【図４】演算式読み出し処理の詳細フローチャートである。
【図５】演算式記憶テーブルの構成図である。
【図６】仮想変数設定画面のイメージ図である。
【図７】収集設定画面のイメージ図である。
【図８】仮想変数一覧画面のイメージ図である。
【図９】モニタ画面全体のイメージ図である。
【符号の説明】
【００５６】
１      第１のＰＬＣ
２      ＰＣ
３      アクチュエータ
４      センサ
５      第２のＰＬＣ
６      アナログＩ／Ｏユニット
７      デジタルＩ／Ｏユニット
１１    ＣＰＵユニット
１２    通信ユニット
１３    Ｉ／Ｏユニット
１４    データ収集ユニット（ＳＰＵ）
５１    ＣＰＵユニット
５２    通信ユニット
５３    Ｉ／Ｏユニット
１００  表示画面
１０１  名前表示領域
１０２  データ型表示領域
１０３  演算式表示領域
１０４  変数一覧表示領域
１０５  操作キー表示領域
１０６  ＯＫボタン
１０７  キャンセルボタン
１１０  ビット変数波形表示領域
１２０  アナログ変数波形表示領域
１３０  ビット変数関連情報表示領域
１４０  アナログ変数関連情報表示領域
【図１】
2007249937.tif 000003
【図２】
2007249937.tif 000004
【図３】
2007249937.tif 000005
【図４】
2007249937.tif 000006
【図５】
2007249937.tif 000007
【図６】
2007249937.tif 000008
【図７】
2007249937.tif 000009
【図８】
2007249937.tif 000010
【図９】
2007249937.tif 000011