説明

プログラマブル表示器および作画装置

【課題】PLC等の外部機器の機種を問わずに、インターフェイス・プログラムの作成が容易なデータ通信装置を提供する。
【解決手段】送信処理手段8は、動作プログラムからの指令を受けて、動作プログラムによって、直接または間接的に指定されたPLC4(外部機器)のデバイスD1、D2・・・Dnのいずれかに対してデータを送信して書き込む。この際、送信処理手段8は、PLC4とのデータやりとりのためのインターフェイス基本コマンド12、共通属性データ14、デバイス情報データ16を参照して、指定されたデバイスD1、D2・・・Dnとの通信を行う。一方、受信処理手段6も同様に、上記のインターフェイス基本コマンド12、共通属性データ14、デバイス情報データ16を参照して、指定されたデバイスD1、D2・・・Dnからのデータの読み出しを行う。読み出したデータは、動作プログラムに与える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プログラマブル表示器と外部機器とのデータ通信に関するものであり、特にその通信プログラム開発の容易化に関するものである。
【背景技術】
【0002】
プログラマブル・ロジック・コントローラ(PLC)、ロボットなどの外部機器に制御指示を与えたり、外部機器のデータを表示したりするために、プログラマブル表示器が用いられている。
【0003】
プログラマブル表示器は表示やボタンなどの汎用性が高いが、その反面、外部機器とデータのやりとり(通信)を行うためのインターフェイス・プログラムを用意しなければならない。このインターフェイス・プログラムの作成は必ずしも容易ではなく、従来、様々な工夫がなされている。
【0004】
特許文献1には、予め複数のPLCに対するインターフェイス・プログラムを作成支援装置に用意しておき、ユーザがこれらインターフェイス・プログラムを選択し、作成支援装置からプログラマブル表示器に転送して使用するものである。ユーザは、PLCの機種に対応するインターフェイス・プログラムを選択するだけでよいという利点がある。
【0005】
特許文献2には、通信プロトコルを自動解析して、インターフェイス・プログラムを生成する作成装置が開示されている。ユーザは、PLCのプロトコルなどを知らなくとも、インターフェイス・プログラムを作成できるという利点がある。
【0006】
特許文献3には、プロトコルマクロにて記述した、定数および変数について、アドレスが自動的に割り当てられるプロトコル作成方法が開示されている。プロトコルマクロを効率的に作成できるという利点がある。
【0007】
【特許文献1】特許3356530
【0008】
【特許文献2】特開2002−300226
【0009】
【特許文献3】特開2002−189505
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、上記の従来技術には次のような問題があった。
【0011】
特許文献1のものでは、予め登録されていないPLCについては、新たにインターフェイス・プログラムを作成しなければならないという問題があった。
【0012】
特許文献2のものでは、一つのフレームによって各命令が構成されるような単純なプロトコルについては対応できるが、複数フレームによってマクロ命令が構成されるような場合や、分岐などがある複雑なプログラムについては、対応することができなかった。
【0013】
特許文献3のものでは、アドレスを自動的に割り当てることはできるものの、PLCの機種に応じてインターフェイス・プログラムを自動的に生成するものではなかった。
【0014】
この発明は上記のような問題点を解決して、PLC等の外部機器の機種を問わずに、インターフェイス・プログラムの作成が容易なプログラマブル表示器および作画装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
(1)この発明の一側面によるプログラマブル表示器は、デバイスを有する外部機器とデータ通信するプログラマブル表示器であって、外部機器との通信の基本処理を行うインターフェイス基本コマンドと、外部機器のデバイスの種類毎に設けられ少なくともデータ桁数、アドレス桁数、種別コードを含むデバイス情報データと、少なくともアドレスおよびデータのデータ形式を含む通信コマンド共通属性データとを記録した記録部と、前記インターフェイス基本コマンドにしたがって、特定デバイスについて、通信相手先のデバイスに対応するデバイス情報データと通信コマンド共通属性データに基づいて外部機器と通信する通信手段と、を備えている。
【0016】
したがって、インターフェイス基本コマンドおよび通信コマンド共通属性データとともに、外部機器のデバイス毎に設けられたデバイス情報データに基づいて、外部機器とのデータのやりとりが実現され汎用性が高い。また、これら、通信コマンド共通属性データ、デバイス情報データを設けておけば、外部機器とのインターフェイスのための動作プログラムを、外部機器の機種への依存性を小さくして作成することができる。
【0017】
(2)この発明の一側面によるプログラマブル表示器は、通信手段は、読み出しの場合は、デバイス情報データと通信コマンド共通属性データとフレームフォーマットとに基づいて受信したフレームを解析し、書き込みの場合は、デバイス情報データと通信コマンド共通属性データとに基づいてフレームを生成して外部機器に送信することを特徴としている。
【0018】
したがって、外部機器の機種に拘わらず、データの送受信を行うことが可能となる。
【0019】
(3)この発明の一側面によるプログラマブル表示器は、特定デバイスは、画面読み出しデバイステーブルまたは画面書き込みデバイステーブルに登録されたデバイスであることを特徴としている。
【0020】
(4)この発明の一側面による作画装置は、プログラマブル表示器のプロジェクトデータを生成して出力する作画装置であって、外部機器との通信の基本処理を行うインターフェイス基本コマンドを記録した記録部と、外部機器との間でのデータの送受信を含む命令を備えて構成される通信プロトコルを、ユーザとの対話によって生成する対話生成手段と、外部機器のデバイスの種類毎に少なくともデータ桁数、アドレス桁数、種別コードを含むデバイス情報データおよび少なくともアドレスおよびデータのデータの形式を含む通信コマンド共通属性データをユーザが入力するための入力手段と、前記通信プロトコルとインターフェイス基本コマンドとデバイス情報データと通信コマンド共通属性データとを含むプロジェクトデータを出力する出力手段とを備えている。
【0021】
したがって、外部機器の機種に依存するインターフェイス基本コマンド、通信プロトコルデータ、デバイス情報データ、通信コマンド共通属性データと、外部機器の機種依存性の小さい動作プログラムとに分離することによって、異なる機種の外部機器への対応が容易となる。すなわち、一旦、インターフェイス基本コマンド、デバイス情報データ、通信コマンド共通属性データを記憶しておけば、外部機器の機種依存性の小さい動作プログラムを生成することで簡単にインターフェイスを実現できる。また、インターフェイス基本コマンド、デバイス情報データ、通信コマンド共通属性データを用意すれば、作成した動作プログラムを他の機種の外部機器にもそのまま、あるいは、わずかな修正で用いることができる。
【0022】
(a)この発明の一側面によるマン・マシン・インターフェイス機器は、プログラマブル・コントローラに接続され、プログラマブル・コントローラとの間でデータのやりとりを行うマン・マシン・インターフェイス機器であって、プログラマブル・コントローラのデバイス毎に少なくともデータ桁数を含むデバイス情報データを記録した記録部と、プログラマブル・コントローラの特定デバイスからのデータを受信する際には、当該特定デバイスに対応して記録されたデバイス情報に基づいて、データ内容を解釈する受信処理手段と、プログラマブル・コントローラの特定デバイスへデータを送信する際には、当該特定デバイスに対応して記録されたデバイス情報に基づいて、プログラマブル・コントローラに対する送信データを生成して送信する送信処理手段とを備えている。
【0023】
(b)この発明に係るマン・マシン・インターフェイスプログラムは、プログラマブル・コントローラに接続され、プログラマブル・コントローラとの間でデータのやりとりを行うマン・マシン・インターフェイス機器をコンピュータによって実現するためのプログラムであって、プログラマブル・コントローラの特定デバイスからのデータを受信する際には、当該特定デバイスに対応して記録部に記録されたデバイス情報に基づいて、データ内容を解釈する受信処理手段と、プログラマブル・コントローラの特定デバイスへデータを送信する際には、当該特定デバイスに対応して記録部に記録されたデバイス情報に基づいて、プログラマブル・コントローラに対する送信データを生成して送信する送信処理手段とをコンピュータによって実現するためのマン・マシン・インターフェイスプログラムである。
【0024】
(c)この発明に係るマン・マシン・インターフェイス機器は、記録部には、さらに、少なくともアドレスおよびデータのデータ形式を含む通信コマンド共通属性データが記録されており、前記受信処理手段は、各デバイスについて共通な通信コマンド共通属性データとフレームフォーマットとに基づいて、受信したフレームを解析し、前記特定デバイスに対応するデバイス情報に基づいて、受信したデータの内容を解析し、前記送信処理手段は、前記特定デバイスに対応するデバイス情報に基づいて、プログラマブル・コントローラが内容を理解できるデータを構築し、各デバイスについて共通な通信コマンド共通属性データとフレームフォーマットとに基づいて、送信すべきフレームを構築(作成)して送信することを特徴としている。
【0025】
(d)この発明に係るマン・マシン・インターフェイス機器は、デバイス情報は、さらに、デバイスが書込用であるか読出用であるかを示す種別とデバイスのアドレス桁数を含むことを特徴としている。
【0026】
(e)この発明に係るマン・マシン・インターフェイス機器は、通信コマンド共通属性は、さらに、アドレスおよびデータの格納方法とパリティチェック方法を含むことを特徴としている。
【0027】
(f)この発明に係るデータ通信方法は、プログラマブル・コントローラとマン・マシン・インターフェイス機器との間のデータ通信方法であって、マン・マシン・インターフェイス機器に、プログラマブル・コントローラのデバイス毎に少なくともデータ桁数を含むデバイス情報データを記録し、マン・マシン・インターフェイス機器において、プログラマブル・コントローラの特定デバイスからのデータを受信する際には、当該特定デバイスに対応して記録されたデバイス情報に基づいて、データ内容を解釈し、マン・マシン・インターフェイス機器において、プログラマブル・コントローラの特定デバイスへデータを送信する際には、当該特定デバイスに対応して記録されたデバイス情報に基づいて、プログラマブル・コントローラに対する送信データを生成して送信することを特徴としている。
【0028】
(g)この発明に係るデータ通信方法は、マン・マシン・インターフェイス機器がデバイスを有するプログラマブル・コントローラとデータ通信する方法であって、マン・マシン・インターフェイス機器に、プログラマブル・コントローラとの通信の基本処理を行うインターフェイス基本プログラムと、プログラマブル・コントローラのデバイス毎に設けられ少なくともデータ桁数を含むデバイス情報データと、少なくともアドレスおよびデータのデータ形式を含む通信コマンド共通属性データとを記録しておき、プログラマブル・コントローラの特定デバイスからのデータを受信する際には、前記インターフェイス基本プログラムが、通信相手先のデバイスに対応するデバイス情報データと、通信コマンド共通属性データとフレームフォーマットとに基づいて、プログラマブル・コントローラからのデータを解釈し、プログラマブル・コントローラの特定デバイスへデータを送信する際には、前記インターフェイス基本プログラムが、通信相手先のデバイスに対応するデバイス情報データと、通信コマンド共通属性データとフレームフォーマットとに基づいて、データを生成しプログラマブル・コントローラに送信することを特徴としている。
【0029】
(h)この発明に係る作画装置は、プロジェクトデータを生成し、マン・マシン・インターフェイス機器に送信する作画装置であって、プログラマブル・コントローラとの通信の基本処理を行うインターフェイス基本コマンドを記録した記録部と、インターフェイス基本コマンドを含む命令を備えて構成される通信プロトコルを、ユーザとの対話によって生成する対話生成手段と、プログラマブル・コントローラのデバイス毎に少なくともデータ桁数を含むデバイス情報データおよび少なくともアドレスおよびデータのデータ形式を含む通信コマンド共通属性データをユーザが入力するための入力手段と、前記通信プロトコルとインターフェイス基本コマンドとデバイス情報データと通信コマンド共通属性データとを含むプロジェクトデータをマン・マシン・インターフェイス機器に送信する送信手段とを備えている。
【0030】
この発明において「マン・マシン・インターフェイス機器」とは、機械と人間とのインターフェイスをとるための機器をいい、プログラマブル表示器などがこれに該当する。
【0031】
「プログラマブル表示器」とは、少なくともPLCなどの状態を確認することのできる装置をいい、さらにPLCなどに指令を与えるようになっていてもよい。また、PLCだけでなく、ロボットなどを対象としてもよい。
【0032】
「記録部」とは、少なくともデバイス情報データを記録することのできるものをいい、メモリ、ハードディスク、CD−ROMなどの形式を問わない。実施形態では、P−ROM30やメモリ28がこれに該当する。
【0033】
「通信手段」とは、少なくともPLCからのデータを受信する事のできる手段をいう。実施形態では、図12のステップS3等がこれに対応する。
【0034】
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【0035】
1.全体的構成
図1に、この発明の一実施形態によるマン・マシン・インターフェイス機器としてのプログラマブル表示器2の機能ブロック図を示す。送信処理手段8は、動作プログラムからの指令を受けて、動作プログラムによって、直接または間接的に指定されたPLC4(外部機器)のデバイスD1、D2・・・Dnのいずれかに対してデータを送信して書き込む。この際、送信処理手段8は、PLC4とのデータやりとりのためのインターフェイス基本コマンド12、共通属性データ14、デバイス情報データ16を参照して、指定されたデバイスD1、D2・・・Dnとの通信を行う。
【0036】
ここで、インターフェイス基本コマンド12は、PLC4との通信のための基本となるコマンドである。具体的には、PLC4のデバイスに対する書込リクエスト送信コマンド(デバイスに対してデータの書込を求める)、書込レスポンス受信コマンド(デバイスからの書込完了の連絡)、読出リクエスト送信コマンド(デバイスデータの読出を求める)、読出レスポンス受信コマンド(デバイスからのデータの受信)などのコマンドのフレームフォーマットを、インターフェイス基本コマンド12として記録している。なお、このインターフェイス基本コマンド12は、PLCの種類によって異なるものである。したがって、PLCの各機種毎に用意しておくことが好ましい。
【0037】
共通属性データ14は、上記のインターフェイス基本コマンド12をPLC4との間でやりとりするために必要な属性である。アドレスやデータの形式(ASCIIコードかBINコードかなど)、アドレスやデータの格納方式(上位バイトからあるいは下位バイトから格納されているかなど)、パリティチェックの方式などについての属性が記述されている。この属性は、各コマンドに共通な属性であり、PLCの機種毎に異なるのが通常である。したがって、PLCの各機種毎に用意しておくことが好ましい。
【0038】
デバイス情報データ16は、デバイスとの通信を行う際の、アドレスの桁数、データの桁数などを記述したものである。このデバイス情報データ16は、同じPLCであってもデバイスの種類ごとに異なる。したがって、デバイスの種類毎に用意することが好ましい。
【0039】
送信処理手段8は、上記のインターフェイス基本コマンド12、共通属性データ14、デバイス情報データ16を参照して、指定されたデバイスD1、D2・・・Dnに対する書込を行う。
【0040】
一方、受信処理手段6も同様に、上記のインターフェイス基本コマンド12、共通属性データ14、デバイス情報データ16を参照して、指定されたデバイスD1、D2・・・Dnからのデータの読み出しを行う。読み出したデータは、動作プログラムに与える。
【0041】
なお、この実施形態では、送信処理手段8と受信処理手段6によって通信手段が構成されている。
【0042】
2.ハードウエア構成およびデータ
図2に、プログラマブル表示器2のハードウエア構成を示す。CPU20には、タッチスクリーン22、入出力インターフェイス(I/F)24、入力キー26、メモリ28、P−ROM30、入出力インターフェイス(I/F)32が接続されている。入出力インターフェイス24は、PLC4との接続を行うものである。入出力インターフェイス32は、インターフェイスプログラム作成装置である作画装置5(後述)との接続を行うものである。
【0043】
タッチスクリーン22は、ディスプレイの画面上に透明電極が配置され、表示するだけでなくユーザが入力可能に構成されている。入力キー26は、ハードウエアとしての入力ボタンである。メモリ28は、CPU20のワークエリアとして機能する。
【0044】
プログラムROM(P−ROM)30には、システム処理プログラム34、画面データ36、画面デバイステーブル38、通信プロトコルプログラム40、インターフェイス基本コマンド12、通信コマンド共通属性データ14(共通属性データ)、デバイス情報テーブル16(デバイス情報データ)、動作プログラム42が記録されている。なお、通信コマンド共通属性データ14、デバイス情報テーブル16は、それぞれ、図1の共通属性データ14、デバイス情報データ16に対応するものであるから、同一の符号を付している。
【0045】
P−ROM30に記録された通信コマンド共通属性データ14の例を、図3に示す。アドレス変換形式の「BCD−>ASCII」は、アドレスデータについて、プログラマブル表示器2ではBCDコードを使用しており、PLC4との通信ではASCIIコードを使用していることを示している。これにより、プログラマブル表示器2からPLC4にアドレスデータを送る場合には、ASCIIコードに変換して送信する必要があることがわかる。
【0046】
また、PLCの種類によっては、アドレスの格納方法が上位バイトからであったり、下位バイトからであったりする。アドレス格納方法は、これを示している。
【0047】
データ変換形式、データ格納方法についても同様に記録されている。
【0048】
BCC計算では、PLC4との通信におけるパリティ値の計算方法を記述している。
【0049】
P−ROM30に記録されたインターフェイス基本コマンド12の例を、図4に示す。図4Aは、デバイスからデータを読み出す際の読出要求コマンドである。先頭の定数部分は、このコマンドが読出要求コマンドであることを示すコードである。最後の定数部分は、このコマンドの終了を示している。「種別」「アドレス」「個数」「BCC」の部分は、可変長の項目だけが設定されておりコマンドは完成していない。これは、実行時に、システム処理プログラム34が、デバイス情報テーブル16などの情報をもとに「種別」「アドレス」「個数」「BCC」の部分の内容を生成して完成させて実行するからである。つまり、読出要求コマンドは、コマンドを生成するために用意されたスケルトン(コマンドの仮想的な骨格の構造(フレームフォーマット))である。なお、「個数」は、連続して読み出すアドレスの個数、「BCC」はパリティを示している。
【0050】
図4Bは、デバイスからデータを受信する際のデータ読出のコマンドである。デバイスからデータを読み出す際には、図4Aの読出要求をデバイスに与え、これに応答してデバイスから図4Bのコマンドとして送られてくるデータを受信する。このデータ読出コマンドも読出要求コマンドと同じように、先頭部分にデータ読出コマンドであることを示すコードが記述されている。これに続いて、「データ」「BCC」の項目が用意されている。システム処理プログラム34は、デバイスから受信したデータを、このデータ読出コマンドやデバイス情報テーブル16などにしたがって解釈して必要なデータを取得する。
【0051】
図5Aは、デバイスにデータを書き込む際の書込要求コマンドのスケルトンである。図5Bは、デバイスから送られてくるデータ書込完了コマンドを示している。
【0052】
図4、図5以外にもコマンドが記録されているが、同様の形式であるのでここでは省略する。なお、各コマンドのコードや、これに続いてどのような項目(「種別」「アドレス」「個数」「BCC」など)がどのような順序で続くかは、PLCによって異なる。したがって、使用するPLCごとに、上記のインターフェイス基本コマンド12をP−ROM30に記録しておき、選択して使用するようにすればよい。
【0053】
P−ROM30に記録された通信プロトコルプログラム40の例を、図6Aに示す。図6Aでは、デバイスからデータを読み出す際の一連の手順が示されている。システム処理プログラム34は、まず、ステップ1において、読出要求コマンドをPLC4に向けて送信する。読出要求コマンドは、図4Aのスケルトンを参照して生成する。ステップ2では、PLC4からのデータ読出コマンドを受信してデバイスのデータを取得する。受信したデータ読出コマンドからデバイスのデータを抽出する際には、図4Bのデータ読出コマンドの情報を参照する。
【0054】
このように、通信プロトコルは、インターフェイス基本コマンド12を組み合わせて、読出や書込のための一連の処理を記述したもの(マクロ)である。なお、図6Aでは、読出のための通信プロトコルだけを示しているが、書込その他の通信プロトコルも同じようにP−ROM30に記録されている。
【0055】
P−ROM30に記録されたデバイス情報テーブル16の例を、図7に示す。PLC4の各デバイスは、その種類によって、データの記録の仕方などが異なっている。これを示したのが、デバイス情報テーブル16である。具体的には、デバイスの種類毎に、アドレス桁数やデータ桁数などが記述されている。図7では、デバイスの種類として「データレジスタ」「内部リレー」のみが示されているが、実際には多くの種類のデバイスがある。
【0056】
なお、図3〜図7では、各データを入力するための画面として示しているが、P−ROM30に記録されるデータも同様の形式となっている。
【0057】
P−ROM30に記録された動作プログラム42の例を、図8に示す。動作プログラム42は、プログラマブル表示器2の表示画面の動作を決定するプログラムである。図8に示す動作プログラム42は、図9に示すような動作をさせるためのものである。まず、最初に図9Aの画面をタッチスクリーン22に表示する。ユーザにより目標個数が入力キー26から入力され、「次へ」のボタンが押されると、画面2に表示が変わる。画面2では、PLC4から生産個数データを受けて、これを表示する。
【0058】
図9のような画面表示を行うためには、図8の動作プログラム42とは別に、図10に示す画面データ36、図11に示す画面デバイステーブル38が必要であり、これらもP−ROM30に記録されている。
【0059】
3.システム処理プログラム34の動作
図12に、システム処理プログラムのフローチャートを示す。まず、ステップS1において、CPU20はシステムの初期化を行う。次に、動作プログラム42(図8参照)の1行目の画面Start命令を取得し、画面Start命令によって指定された画面の画面データを読み出して、表示を行う(ステップS1)。ここで1行目は、”画面1Start”であるから、画面1についての画面データを読み出してタッチスクリーン22に表示する。
【0060】
図10の画面1データでは、「目標個数」という文字を、X座標を150、Y座標を100の位置に表示する旨が指定されている。これにより、CPU20は、図9Aのように「目標個数」を指定されたX座標、Y座標に表示する(目標個数の文字の基本位置(左上隅など)をX座標、Y座標にするように表示する)。さらに、画面1データの機能部品データの項目に示された機能部品を表示する。まず、「画面切換スイッチ」を表示する。これは、図9Aの「次へ」のボタンとして表示されている。さらに、「数値入力器」を表示する。図9Aでは、「目標個数」の右側に表示されている入力のための領域50がこれに対応する。
【0061】
次に、CPU20は、指定された画面の画面デバイステーブルの内容をP−ROM30から読み出す(ステップS3)。ここでは、画面1に対応するデバイステーブルである画面1デバイステーブル(図11参照)が読み出される。CPU20は、画面1デバイステーブルの「読出デバイス」に記述されたPLC4のデバイスと通信し、当該デバイスの値を取得する。ここでは、画面1デバイステーブルの読出デバイスの欄において、アドレスが「7」としてデバイスが指定されているので、このアドレスをもとに通信を行う。なお、本発明の特徴である通信の方法については、後に詳述する。
【0062】
次に、CPU20は、読み出したデバイスの値を、画面1デバイステーブルに記憶する(ステップS4)。読み出した値が「0」であれば、図11のように値の欄に「0」が記憶される。
【0063】
次に、CPU20は、ステップS3、S4にて取得した読出デバイスの値を、タッチスクリーン22の指定の位置に表示する(ステップS5)。図10の画面1データでは、読出デバイスの値の表示が指定されていないので、ここでは読出デバイスの値の表示はなされない。続いて、画面に設定された数値入力器(図9Aの入力領域50)に対して、入力された数値を画面1デバイステーブルの「値」欄に記憶する。たとえば、図9Aの画面において入力キー26によって入力領域50に「3521」が入力されたとすると、図11の「書込デバイス」の「値」欄に示すように、「3521」が記憶される。
【0064】
次に、CPU20は、動作プログラム(図8)のマクロ命令を実行する。ここでは次の行の命令は、「SW1 JUMP 画面2」であってマクロ命令である。したがって、ステップS6に進んで、当該マクロ命令を実行する。「SW1 JUMP 画面2」は、画面切り換えスイッチSW1(図9の「次へ」のボタン)が押されて「ON」であれば、画面2にジャンプすることを意味している。画面切り換えスイッチSW1が押されておらず「OFF」であれば、ステップS8の処理に進む。
【0065】
ステップS8では、"画面1End”命令の処理が行われる。すなわち、画面1デバイステーブルの書込デバイスに記述されたデバイスについて、記憶された「値」をPLC4と通信して、そのデバイスに書き込む。ここでは、アドレス「7」として指定されたデバイスに対して値「3521」が送信されて記録される。このようにして、ステップS6においてユーザが入力したデータが、PLC4のデバイスに送信されて記録される。
【0066】
上記のようにして「画面1End」の処理を終えると、CPU20は、ステップS2以下を再び実行する。
【0067】
ユーザによって、画面切り換えスイッチSW1が押されると、画面切り換えスイッチSW1の値が、「OFF」から「ON」に変わる(なおSW1の値は、メモリ28に記憶される)。画面切り換えスイッチSW1の値が「ON」に変わると、CPU20は、動作プログラムの2行目から、4行目にジャンプする。これにより、画面2についての処理がステップS2以下で実行される。
【0068】
画面2についての処理が実行されると、CPU20は、画面2デバイステーブル(図11)、画面2データ(図10)を参照して、図9Bに示すような画面をタッチスクリーン22上に表示する。図9Bの画面2において、上から順に、PLC4の数値表示器であるレジスタD1、D2、D3、D4の値が読み出されてい表示されている。数値表示器D1は、数値入力器D7に書き込まれた値(目標個数)がそのままコピーされたものとなっている。数値表示器D2は、PLC4に接続されたセンサの出力などに基づいて生産個数を記録するデバイスである。数値表示器D3は、PLC4に接続されたセンサの出力などに基づいて不良個数を記録するデバイスである。数値表示器D4は、レジスタD1の値からレジスタD2およびレジスタD3の値を減じた値が記録されているレジスタである。
【0069】
上記のようにPLC4の各レジスタD1、D2、D3、D4の値が読み出されて、タッチスクリーン22に表示される。これにより、ユーザは、生産の進行状況を知ることができる。
【0070】
上記のように、ユーザは、動作プログラム42、画面データ36、画面デバイステーブル38を用意することによって、PLC4のデバイス(上記レジスタなど)の値をタッチスクリーン22に表示し、タッチスクリーン22からPLC4の動作を制御したりすることができる。
【0071】
4.通信処理の詳細
上記の各処理を行うためには、CPU20は、PLC4との通信を行う必要がある。たとえば、ステップS3においては、PLC4と通信を行い、画面デバイステーブル38に記述された各読出デバイスの値を取得する必要がある。また、ステップS6においては、PLC4と通信を行い、画面デバイステーブル38に記述された各書込デバイスに値を記録する必要がある。以下、本実施形態の特徴であるこれら通信処理の詳細を説明する。
【0072】
まず、ステップS3におけるPLC4との通信処理(デバイスのデータの読み出し)を説明する。ステップS3において、CPU20は、PLC4と通信を行い、画面デバイステーブル38に記載されたPLC4の読出デバイスからデータを取得する。たとえば、図11の画面1デバイステーブルであれば、PLC4のアドレス「7」に割り当てられているレジスタからデータを読み出す。画面2デバイステーブルであれば、アドレス「1」「2」「3」「4」に割り当てられているレジスタからデータを読み出す。
【0073】
上記の読み出しの際、CPU20は、まず図6Aに示す通信プロトコル40(デバイス読出)を、P−ROM30から読み出す。そして、読み出したデバイス読出通信プロトコルを先頭から実行する。図6Aに示されているように、デバイス読出通信プロトコルにおいては、まず、CPU20は、PLC4に対してデバイスを指定して読出要求を送信し、続いてPLC4の当該デバイスからデータを受信する。
【0074】
CPU20は、上記読出要求およびデータ読出の際には、P−ROM30に記録されたインターフェイス基本コマンドのうち、図4に示す読出要求コマンド、データ読出コマンドを取得する。ただし、図4に記憶されている読出要求コマンドにおいて、種別、アドレス等は空欄となっており、スケルトンとなっている。
【0075】
次に、読み出そうとしているデバイスの種別を画面デバイステーブル38から取得する。たとえば、画面1デバイステーブルであれば、読出デバイスの欄に種別コード「44」のデバイスがあることが示されている。したがって、CPU20は、図7のデバイス情報テーブルから、種別コード「44」であるデバイスについての、アドレス桁数やデータ桁数などを取得する。そして、取得した読出要求コマンドのスケルトンの空欄を、これらの情報を用いて完成する。「種別」の欄には「44」を記述し、「アドレス」の欄には「7」を記述し、「個数」の欄には「1」(画面1デバイステーブルの「点数」)を記述する。なお、ここで、個数とは、当該画面において指定されている読出デバイス(または書込デバイス)の数である。
【0076】
そして、この際に、デバイス情報テーブル(図7)の情報を参照し、アドレスの桁数、個数の桁数にしたがって数値を決定する。具体的には、「アドレス」の欄には、4桁にて「7」を記述することになるので「0007」が記述されることになる。「個数」の欄には、2桁にて「1」を記述することになるので「01」が記述されることになる。
【0077】
以上のようにして、CPU20は、通信コマンド共通属性を参照して、アドレス変換形式として示された形式に従って、アドレスをASCIIコードに変換する。つまり、アドレス「0007」が「30 30 30 37」に変換されることになる。ここでは、読出要求コマンドとして、「05 30 30 30 52 44 30 30 30 37 30 31 -- 0D」(16進数表記)が完成する。なお、ここで、「4桁」は「4バイト」を意味している。また、上記コマンドにおいて、「--」の部分はパリティチェックのBCCが記述されるべき部分である。そこで、CPU20は、図3の通信コマンド共通属性を参照して、BCC計算の方法を取得し、BCCを計算して「--」の部分に記述する。たとえば、BCCが「25」であればこれを記述して「05 30 30 30 52 44 30 30 30 37 30 31 32 35 0D」というコマンドが完成する。
【0078】
さらに、CPU20はこれをPLC4に送信する際に、通信コマンド共通属性を参照して、このコマンドをASCIIコードに変換する。また、アドレス格納方法として示された方法に従って、アドレスの上位桁と下位桁を入れ替える。ここでは、もともと上位バイトからアドレスが示されているので何も変更しない。しかし、通信コマンド共通属性において「下位バイトから」と示されていれば、アドレスの部分の順序を逆にして「05 30 30 30 52 44 37 30 30 30 30 31 32 35 0D」とする。このようにして、完成した読出要求コマンドをPLC4の形式に変換して送信する。
【0079】
上記のようにしてPLC4に対して読出要求コマンドを送信すると、PLC4はこれに応答して、上記読出要求コマンドによって指定したデバイスのデータをデータ読出コマンドとして返信してくる。たとえば、「06 30 30 30 30 30 30 30 33 36 0D」という様なデータ読出コマンドが返送されてくる。CPU20は、図6Aの通信プロトコルを参照して、読出要求コマンドに続いてデータ読出コマンドが返信されてくることを知る。さらに、図4Bのデータ読出コマンドを参照して、その内容を解釈する。
【0080】
すなわち、図4Bに示すように、最初の4桁(4バイト)「06 30 30 30」はデータ読出コマンドを示す定数である。これに続いて、データが送信されることを図4Bから知ることができる。ただし、これだけでは、データの桁数が不明である。そこで、画面1デバイステーブル(図11)を参照して、読み出し対象となっているデバイスの種別「44」を取得し、図7のデバイス情報テーブルから当該種別のデバイスについてのデータ桁数「4桁」を取得する。これにより、CPU20は、データの桁数が4桁であることを知る。したがって、「06 30 30 30」に続く4桁「30 30 30 30」をデータとして取得する。
【0081】
この際、CPU20は、図3の通信コマンド共通属性を参照して、データの格納方法が「上位バイトから」であるか「下位バイトから」:であるかを判断する。「下位バイトから」となっていれば、上位バイトと下位バイトとを入れ換える。ここでは、「上位バイトから」であるから、データの並び替えは行わない。
【0082】
続いて、CPU20は、通信コマンド共通属性を参照しBCCの計算を行う。BCCの桁数は「2桁」となっているので、計算したBCCを2桁で表現し、データ「00 00」に続く2桁「33 36」と比べて、エラーのチェックを行う。一致しない場合には、PLC4に対してデータの再送を要求する。BCCが正しければ、取得したデータを、画面1デバイステーブルに記憶する(図12のステップS4)。
【0083】
上記のようにしてPLC4との通信が行われる。なお、上記では画面1についての処理を説明したが、他の画面についても同様である。また、上記では、データの読み出しについて説明したが、PLC4へのデータの書込についても同様である。つまり、図6Bに示すような書込のための通信プロトコルがP−ROM30に記録されている。デバイスへの書込処理においては、デバイス、データなどを指定して書込要求をPLC4に送信する。書込が完了すると、PLC4は書込完了を返信してくる。
【0084】
書込要求は、図5Aに示すようなコマンドとして記録されている。また、書込完了は図5Bに示すようなコマンドとして記録されている。CPU20は、上記と同じようにして、デバイス情報テーブル16や通信コマンド共通属性14などを参照して、データを送信し受信する。
【0085】
この実施形態によれば、インターフェイス基本コマンド(図4、図5)とデバイス情報テーブル16を、PLC4の機種に合わせて用意することで、各種のPLC4に対応することができる。
【0086】
5.プロジェクトデータの作成
上記では、P−ROM30に画面データ36、画面デバイステーブル38、通信プロトコルプログラム40、インターフェイス基本コマンド12、通信コマンド共通属性14、デバイス情報テーブル16、動作プログラム42(以上をまとめてプロジェクトデータという)を記録した後の動作を説明した。以下では、このプロジェクトデータを作画装置5(図2参照)によって作成する処理を説明する。作画装置は、いわゆるパーソナルコンピュータであり、CPU、ハードディスク、ディスプレイ、キーボード、マウス(図示せず)などを備えている。
【0087】
図13に、ハードディスクに記録されたプロジェクトデータ生成プログラムのフローチャートを示す。プロジェクトデータ生成プログラムを立ち上げて、初期メニューから、たとえば「インターフェイス基本コマンドの作成」を選択したとする。
【0088】
CPUは、まず、インターフェイス基本コマンドを入力するための画面(図5A)をディスプレイに表示する。そのプルダウンボタン40をマウスなどでクリックすると、書込要求送信、書込完了受信、読出要求送信、データ読出受信などのコマンド名が一覧表示される。ユーザは、入力したいコマンドを選択する。たとえば、書込要求送信を選択すると、図5Aのような画面が表示される。ただし、図における「05 30 30 30 57」「0D」などは最初は空欄として表示される。ユーザは、使用したいPLC4のマニュアルなどを見て、書込要求送信に対するコマンドをキーボードなどから入力する(図13のステップS21)。
【0089】
完了ボタン42がクリックされると、CPUは、ステップS23に進んで、入力された書込要求コマンドをハードディスクに記録する。このようにして、書込要求送信のコマンドを設定することができる。他のコマンドについても同様の処理によって設定することができる。
【0090】
また、通信プロトコル、通信コマンド共通属性、デバイス情報テーブルについでも同様の処理によって設定してハードディスクに記録することができる。通信プロトコル設定のための画面を図6に、通信コマンド共通属性設定のための画面を図3に、デバイス情報テーブル設定のための画面を図7に示す。
【0091】
このように、ユーザは、通信コマンド共通属性、インターフェイス基本コマンド、通信プロトコル、デバイス情報テーブルを、所望のPLCに合致するように設定することができる。したがってこれらを一旦設定すれば、ユーザは、動作プログラム(図8)、画面データ(図10)、画面デバイステーブル(図11)を作成する際に、PLCに固有の通信プロトコルなどを意識する必要がなく、プログラマブル表示器の制御プログラムの作成が容易である。
【0092】
上記のようにして作成されたプロジェクトデータは、I/F32(図2)を介して、プログラマブル表示器に転送される。
【0093】
なお、この実施形態では、通信コマンド共通属性、インターフェイス基本コマンド、通信プロトコル、デバイス情報テーブルをユーザが入力するようにしている。しかし、予め各種のPLCについてこれらをハードディスクに記録しておき、選択して使用できるようにしてもよい。
【0094】
6.その他
上記実施形態においては、外部機器としてPLCを用いているが、ロボットなどを外部機器としてもよい。
【0095】
上記実施形態では、各手段をプログラムによって実現しているが、その一部または全部をハードウエアのみによって実現するようにしてもよい。
【図面の簡単な説明】
【0096】
【図1】この発明の一実施形態によるプログラマブル表示器の機能ブロック図である。
【図2】プログラマブル表示器のハードウエア構成である。
【図3】通信コマンド共通属性の例である。
【図4】インターフェイス基本コマンドの例である。
【図5】インターフェイス基本コマンドの例である。
【図6】通信プロトコルの例である。
【図7】デバイス情報テーブルの例である。
【図8】動作プログラムの例である。
【図9】表示画面の例である。
【図10】画面データの例である。
【図11】画面デバイステーブルの例である。
【図12】システム処理プログラムのフローチャートである。
【図13】生成プログラムのフローチャートである。
【符号の説明】
【0097】
2・・・プログラマブル表示器
4・・・PLC
6・・・受信処理手段
8・・・送信処理手段
10・・・記録部
12・・・インターフェイス基本コマンド
14・・・共通属性データ
16・・・デバイス情報データ

【特許請求の範囲】
【請求項1】
デバイスを有する外部機器とデータ通信するプログラマブル表示器であって、
外部機器との通信の基本処理を行うインターフェイス基本コマンドと、外部機器のデバイスの種類毎に設けられ少なくともデータ桁数、アドレス桁数、種別コードを含むデバイス情報データと、少なくともアドレスおよびデータのデータ形式を含む通信コマンド共通属性データとを記録した記録部と、
前記インターフェイス基本コマンドにしたがって、特定デバイスについて、通信相手先のデバイスに対応するデバイス情報データと通信コマンド共通属性データに基づいて外部機器と通信する通信手段と、
を備えたプログラマブル表示器。
【請求項2】
請求項1のプログラマブル表示器において、
前記通信手段は、読み出しの場合は、デバイス情報データと通信コマンド共通属性データとフレームフォーマットとに基づいて受信したフレームを解析し、書き込みの場合は、デバイス情報データと通信コマンド共通属性データとフレームフォーマットとに基づいてフレームを生成して外部機器に送信することを特徴とするもの。
【請求項3】
請求項1のプログラマブル表示器において、
前記特定デバイスは、画面読み出しデバイステーブルまたは画面書き込みデバイステーブルに登録されたデバイスであることを特徴とするもの。
【請求項4】
プログラマブル表示器のプロジェクトデータを生成して出力する作画装置であって、
外部機器との通信の基本処理を行うインターフェイス基本コマンドを記録した記録部と、
外部機器との間でのデータの送受信を含む命令を備えて構成される通信プロトコルを、ユーザとの対話によって生成する対話生成手段と、
外部機器のデバイスの種類毎に少なくともデータ桁数、アドレス桁数、種別コードを含むデバイス情報データおよび少なくともアドレスおよびデータのデータの形式を含む通信コマンド共通属性データをユーザが入力するための入力手段と、
前記通信プロトコルとインターフェイス基本コマンドとデバイス情報データと通信コマンド共通属性データとを含むプロジェクトデータを出力する出力手段と、
を備えた作画装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−71033(P2008−71033A)
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願番号】特願2006−247883(P2006−247883)
【出願日】平成18年9月13日(2006.9.13)
【出願人】(000000309)IDEC株式会社 (188)
【Fターム(参考)】