(57)【要約】【課題】ＦＡアプリケーションがＦＡコントローラの専用のプロトコルを用いることなく、ＦＡコントローラからメモリ情報を取得することが出来るＦＡコントローラを得ること。【解決手段】このＦＡコントローラは、接続されたクライアントコンピュータ１０１から送信されたＳＱＬ文をデバイスメモリなどの情報を取得できるＦＡコントローラ命令に変換するＳＱＬ解析部１１４と、取得した情報をＳＱＬ結果に変換するＳＱＬ結果生成部１１５とを備えたものである。【選択図】        図１
2004302849.tif 000002
【特許請求の範囲】
【請求項１】
接続されたクライアントコンピュータから送信されたＳＱＬ文を、デバイスメモリなどの情報を取得できるＦＡコントローラ命令に変換するＳＱＬ解析手段と、取得した情報をＳＱＬ結果に変換するＳＱＬ結果生成手段と、を備えたことを特徴とするＦＡコントローラ。
【請求項２】
ＳＱＬ解析手段は、デバイスメモリなどの情報が格納されたメモリ上の番地にタグ名の対応付け情報を格納したタグデータベースを用いて、ＳＱＬ文に含まれるタグ名を番地情報に置き換えることを特徴とする請求項１に記載のＦＡコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、工場の製造設備、及びその他の産業用設備の制御に使用されるＦＡコントローラに関するものである。
【０００２】
【従来の技術】
従来のＦＡコントローラとＦＡアプリケーションとの通信について説明する。ＦＡアプリケーションは、例えばキーボード，マウス等の入力装置からデバイス値の読み込み命令を受け取り、ＦＡコントローラへＦＡコントローラの専用プロトコルであるＦＡコントローラ命令、例えばデバイスＲｅａｄ命令を送信する。ＦＡコントローラのＣＰＵは、デバイスＲｅａｄ命令を受け取り、デバイスデータ，プログラムデータ，パラメータデータ等が格納されたメモリからデバイスデータを取得する。次にＦＡコントローラのＣＰＵは、ＦＡコントローラの専用プロトコルであるＦＡコントローラ結果を用いてデバイスの読み出し結果をＦＡアプリケーションに返す。ＦＡアプリケーションは、ＦＡコントローラから受け取った結果としてＦＡコントローラ結果、例えばデバイス値をＣＲＴ等の表示装置に表示する。
ここで、ＦＡコントローラ命令，及びＦＡコントローラ結果は、通常、バイナリのデータで構成されており、ＦＡコントローラのメーカー毎、機種毎、ＣＰＵの種類毎、などで異なるものが使われている。このため、複数の種類のＦＡコントローラと接続するＦＡアプリケーションは、複数のＦＡコントローラ命令を生成して送信し、複数のＦＡコントローラ結果を受信して解釈するプログラムを作成する必要があった。
【０００３】
また、複数のＦＡコントローラのプロトコルに対応するデータ処理装置がある。このデータ処理装置は、代表的なＦＡコントローラであるプログラマブルコントローラを複数接続するときに、異なるプロトコルで通信する場合でも統一した手順でアクセスできるものである（例えば、特許文献１）。
【０００４】
【特許文献１】
特開平１１−２７２３１１号公報
【０００５】
【発明が解決しようとする課題】
以上に述べたような、従来のＦＡコントローラにおいては、ＦＡコントローラにアクセスするアプリケーションは、複数のプロトコルを使用する必要があり、様々な種類のＦＡコントローラを使用した複雑なシステムでは、アプリケーション開発のコストを削減できない、という問題点があった。ＦＡ機器の領域においては、ＦＡコントローラ及びそれと接続される機器が、それぞれ多種に亘るため、それぞれの組み合わせの接続に対応させるべく個別のアプリケーションを開発することは実に多大な労力を要するもので、効率が悪かった。
【０００６】
この発明は、上述の問題点を解決するためになされたもので、ＦＡアプリケーションがＦＡコントローラの専用のプロトコルを用いることなく、ＦＡコントローラからデバイスの値などのメモリ情報を取得することが出来るＦＡコントローラを得るものである。
【０００７】
【課題を解決するための手段】
この発明に係るＦＡコントローラは、接続されたクライアントコンピュータから送信されたＳＱＬ文を、デバイスメモリなどの情報を取得できるＦＡコントローラ命令に変換するＳＱＬ解析手段と、取得した情報をＳＱＬ結果に変換するＳＱＬ結果生成手段とを備えたものである。
【０００８】
また、ＳＱＬ解析手段は、デバイスメモリなどの情報が格納されたメモリ上の番地にタグ名の対応付け情報を格納したタグデータベースを用いて、ＳＱＬ文に含まれるタグ名を番地情報に置き換えるものである。
【０００９】
【発明の実施の形態】
実施の形態１．
この発明の第一の実施の形態によるＦＡコントローラを、図１乃至図６を用いて説明する。
図１は、この発明の第一の実施の形態によるＳＱＬインターフェースを持つＦＡコントローラの仕組みを説明するための機能構成図である。
図１において、ＦＡコントローラ１１１にアクセスするクライアントコンピュータ１０１は、ＳＱＬベースＦＡアプリケーション１０２、命令を入力する入力装置１０４、結果を表示する表示装置１０５、を有する。
ＳＱＬインターフェースを持つＦＡコントローラ１１１は、ＦＡコントローラＣＰＵ１１２と，デバイスデータ，プログラムデータ，パラメータデータ等が格納されたメモリ１１３と、ＳＱＬ文１０６を受け取り、ＦＡコントローラ命令１１６を生成するＳＱＬ解析部１１４と、ＦＡコントローラ結果１１７を受け取り、ＳＱＬ結果１０７を生成するＳＱＬ結果生成部１１５と、を有する。
【００１０】
次に動作を説明する。図２はＳＱＬベースアプリケーション１０２がＦＡコントローラ１１１のメモリ１１３の値を取得し、結果を表示するシーケンス図である。
ＳＱＬベースＦＡアプリケーション１０２は、クライアントコンピュータ１０１上で動作し、入力装置１０４から命令を受け取り、ステップＳ２０１においてＦＡコントローラ１１１へＳＱＬ文１０６を送信する。ＦＡコントローラ１１１は、ＳＱＬ文１０６を受け取り、ステップＳ２０２においてＳＱＬ解析部１１４がＳＱＬ文１０６をＦＡコントローラ命令１１６に変換し、ステップＳ２０３においてＦＡコントローラＣＰＵ１１２へ転送する。ＦＡコントローラＣＰＵ１１２は、ステップＳ２０４においてＦＡコントローラ命令１１６を解釈し、メモリ１１３から必要な情報を取り出し、ステップＳ２０５においてその結果をＦＡコントローラ結果１１７の形式でＳＱＬ結果生成部１１５に転送する。ＳＱＬ結果生成部１１５は、ステップＳ２０６においてＦＡコントローラ結果１１７をＳＱＬ結果１０７に変換し、ステップＳ２０７においてクライアントコンピュータ１０１に送信する。クライアントコンピュータ１０１上のＳＱＬベースＦＡアプリケーション１０２は、ＦＡコントローラ１１１からＳＱＬ結果１０７を受け取り、表示装置１１５へ結果を表示する。
【００１１】
図３は、ステップＳ２０２のＳＱＬ文解釈の動作を説明するフローチャートである。
まず、ステップＳ２１１の構文解析において、ＳＱＬ解釈部は、受け取ったＳＱＬ文の構文を解析し、ＳＱＬ文に含まれるＦＡコントローラへの命令、例えばデバイス読み出し、デバイス書き込み、起動、停止等の操作、及びこれらの操作の対象となるデバイス名などのメモリ種類と番号を判断する。次に、ステップＳ２１２の命令変換において、ＳＱＬ文解釈部は、ステップＳ２１１で解析した命令をＦＡコントローラ命令に置き換える。その後、ステップＳ２１３において、正常に変換ができたか否かを判定し、変換が正常に行われない場合は、エラーで終了する。ステップＳ２１３において、正常に変換できた場合は、ステップＳ２１４において、デバイス名の変換を行う。ステップＳ２１４のデバイス名変換においては、ステップＳ２１１の構文解析で切り出したデバイス名などのメモリ種類と番号をＦＡコントローラ命令用に定義されたＦＡコントローラ固有の番号に変換する。その後、ステップＳ２１５において、正常に変換できたか否かを判定し、デバイス名の変換が正しく行われない場合は、エラーで終了する。変換が正常に変換できた場合は、ステップＳ２１６でＦＡコントローラを生成し、ＳＱＬ文解析を終了する。
【００１２】
図４は、ＳＱＬ解析部１１４において、図３のフローチャートで示したＳＱＬ文のＳＥＬＥＣＴ命令をＦＡコントローラ命令に変換する動作を説明する図である。
ＳＱＬ解析部１１４は、ＳＱＬ文４０１から、ＳＱＬ命令である“ＳＥＬＥＣＴ”を切り出し、ＦＡコントローラ命令対応表４０２に従って、デバイス読み出しに対応するＦＡコントローラ命令コード“０１”を選択する。次に、デバイス種別“ＤｅｖｉｃｅＸ”を切り出し、ＦＡコントローラ命令デバイス対応表４０３に従って、デバイス種別Ｘに対応する命令コード“９ｃ”を選択する。次に、デバイス範囲を切り出し、デバイスの開始が０、デバイスサイズが０から９９の１００個であることを判定する。
【００１３】
ＳＱＬ解析部１１４は、これらの情報から、ＦＡコントローラ命令４０４を生成する。このＦＡコントローラ命令の例で示されるデータは２バイトのＷＯＲＤを１データとする。ＦＡコントローラ命令の先頭データはＦＡコントローラ命令の全体サイズであり、この例では“６”をセットする。次のデータには、デバイスを読み出しを行うＦＡコントローラ命令コード“０１”をセットする。次のデータには、デバイス種別コード“９ｃ”をセットする。次のデータには、デバイスの開始アドレス“０”をセットする。次のデータにはデバイスの個数１００個の１６進表示である“６４”をセットする。最後のデータはＦＡコントローラ命令が正しいデータかどうかをチェックするために付加された冗長データ、サムチェックであり、例えば先頭から最後の手前までのデータの合計の下８ビットの値を格納する。
【００１４】
図５は、ステップＳ２０６のＳＱＬ文結果生成の動作を説明するフローチャートである。
まず、ステップＳ２２１においてＦＡコントローラ結果を取得する。次に、ステップＳ２２２において取得したＦＡコントローラ結果から、最初のデータを読み出す。次に、ステップＳ２２３において、読み出した１データを文字列に変換し、ＳＱＬ結果に追加する。さらに、ステップＳ２２４において、ＳＱＬ結果にデータの区切り文字として、カンマを追加する。その後、ステップＳ２２５において、データを最後まで読んだか否かを判定し、もし、残りのデータがあれば、ステップＳ２２２以降を繰り返す。もし、残りのデータが無ければ、ＳＱＬ結果生成を終了する。
【００１５】
図６は、ＳＱＬ結果生成部１１５において、図５のフローチャートで示したＦＡコントローラ結果をＳＱＬ結果に変換する動作を説明する図である。
ＦＡコントローラ結果は、先頭２バイトが結果サイズで、以降２バイト毎にデバイスの値が格納される形式を持つ。ＳＱＬ結果生成部１１５は、このＦＡコントローラ結果５０１を文字列形式のＳＱＬ結果５０２に変換する。ＳＱＬ結果はカンマで区切られた数値を示す文字列であり、ＦＡコントローラ結果５０１の並び順に数字を文字列化し、カンマで区切ってＳＱＬ結果５０２を生成する。最後に、チェックサムを判定、例えば先頭から最後の手前までのデータの合計の下８ビットの値であることを確認し、ＦＡコントローラ結果が正常なものであることを確認する。
【００１６】
このように、ＦＡコントローラ１１１がＳＱＬ文１０６を解釈して、ＳＱＬ結果１０７を返すことで、ＳＱＬベースＦＡアプリケーション１０２は、ＦＡコントローラの種別毎に異なる専用のＦＡコントローラ命令を使用することなく、通常のデータベースにアクセスするのと同様のＳＱＬ文を用いてＦＡコントローラのメモリにアクセスできるようになる。これにより、余分なプログラムを作成することなく、ＦＡのアプリケーション開発ができる。
【００１７】
実施の形態２．
次に、この発明の第二の実施の形態によるリモート監視装置を、図７乃至図９を用いて説明する。
図７は、この発明の第二の実施の形態によるタグデータベース付きＳＱＬインターフェースを持つＦＡコントローラの仕組みを説明するための機能構成図である。
タグとはアルファベットと数値で表されるデバイス名を、「ランプ」，「稼動時間」など人が分かりやすい単語で表現したものであり、タグデータベースとは、タグ名とデバイス名の組を複数保持するものである。
図７において、タグデータベース付きＳＱＬインターフェースを持つＦＡコントローラは、ＳＱＬ解析部１１４にタグデータベース６０１を持っている。ＳＱＬ解析部１１４はＳＱＬ文１０６を解釈してＦＡコントローラ命令１１６を生成する際に、このタグデータベース６０１を使用する。
【００１８】
図８は、タグデータベース６０１を持つＳＱＬ文解釈部１１４の処理を示したフローチャートである。
図８のフローチャートにおいて、図３のＳＱＬ文解釈のフローチャートのデバイス名変換のステップＳ２１４において、デバイス名をＦＡコントローラ命令の内部コードに変換する処理で、デバイス名の代わりに任意の文字列であるタグ名を使用した場合の処理を示す。図２のＳ２０１におけるＳＱＬ文１０５が、例えば
「ＳＥＬＥＣＴ  ランプ１  Ｗｈｅｒｅ  稼動時間＞＝０  ＡＮＤ  稼動時間＜１０」
の場合、構文解析（ステップＳ２１１）により「ランプ１」と「稼働時間」がデバイス名と判断され、デバイス名変換処理（ステップＳ２１３）の実行がスタートする。
【００１９】
ＳＱＬ解析部は与えられた文字列がデバイス名か、例えばデバイス名がＦＡコントローラ命令デバイス対応表（４０３）に存在するかどうかで判定する（ステップＳ７０１）。もし対応表にない文字列の場合、タグデータベース６０１内にタグ名が存在するか検索を行う（ステップＳ７０２）。タグ名がタグデータベース６０１に存在するか判定し（ステップＳ７０３）、もし存在しない場合はエラーとする。存在する場合には、タグ名をタグデータベースに登録されたデバイス名に変換する。例えば、
「ランプ１  →  Ｙ０００３」
「稼働時間  →  Ｔ０００１」
である。
さらに、デバイス名をＦＡコントローラデバイス名に変換、例えば、
「ランプ１  →  Ｙ０００３  →  ９ｄ  ０３」
とし、デバイス名変換処理を終了する。このデバイス名変換により前記ＳＱＬ文１０５は、
「ＳＥＬＥＣＴ  Ｙ００３０  Ｗｈｅｒｅ  Ｔ０００１＞＝０  ＡＮＤ  Ｔ０００１＜１０」
と同じ意味となる。
【００２０】
図９は、図８のステップＳ７０２で検索するタグデータベースの内容を示したものである。タグデータベース６０１は、タグ名とデバイス名の組を複数保持しており、タグ名に対応するデバイス名を探すことができる。例えば、タグ名“ランプ１”はデバイス名“Ｙ００３０”に変換することができる。
このように、タグ名を用いることで、ＦＡコントローラに固有のデバイス名の規則を知らなくてもＳＱＬベースＦＡアプリケーション１０２から簡単にＦＡコントローラ内部のデバイスデータなどのメモリを取得することができるようになる。
【００２１】
なお、上述の実施の形態の説明においては、ＦＡコントローラとしてプログラマブルコントローラの場合について説明したが、他のＦＡコントローラであるＮＣ（数値制御装置），ロボットコントローラ，モーションコントローラ，サーボ，インバータなどについても同様に本技術を用いることができる。
【００２２】
【発明の効果】
以上に述べたとおり、この発明によれば、ＦＡアプリケーションは、ＦＡコントローラ毎に異なる専用のＦＡコントローラ命令をプログラムすることなく、データベースへのアクセスで一般的に使用されているＳＱＬ文の送信と、ＳＱＬ結果の受信のみでＦＡコントローラのデバイスデータなどのメモリにアクセスすることができ、ＦＡアプリケーションを短期間に開発することができる。
【００２３】
また、タグデータベースを持った上記ＦＡコントローラによれば、ＦＡアプリケーションはＦＡコントローラ固有のデバイス名を知ることなく、タグデータベースに記述された文字列を用いてＦＡコントローラのメモリにアクセスでき、ＦＡアプリケーションを短期間に開発することができる。
【図面の簡単な説明】
【図１】この発明の第一の実施の形態によるＦＡコントローラのシステムの機能構成図。
【図２】この発明の第一の実施の形態によるデバイスデータ取得の流れを示すシーケンス図。
【図３】この発明の第一の実施の形態によるデバイスデータ取得におけるＳＱＬ解析部の流れを示すフローチャート。
【図４】この発明の第一の実施の形態によるＳＱＬ文からＦＡコントローラ命令への変換を表す説明図。
【図５】この発明の第一の実施の形態によるデバイスデータ取得におけるＳＱＬ結果生成部の流れを示すフローチャート。
【図６】この発明の第一の実施の形態によるＦＡコントローラ結果からＳＱＬ結果への変換を表す説明図。
【図７】この発明の第二の実施の形態によるタグ変換手段を備えたＦＡコントローラのシステムの機能構成図。
【図８】この発明の第二の実施の形態によるＦＡコントローラの、ＳＱＬ解析におけるタグ変換の流れを示すフローチャート。
【図９】この発明の第二の実施の形態によるＦＡコントローラの、タグ変換で用いるタグデータベースの説明図。
【符号の説明】
１０１  クライアントコンピュータ
１１１  ＦＡコントローラ
１１２  ＦＡコントローラＣＰＵ
１１３  メモリ
１１４  ＳＱＬ解析部
１１５  ＳＱＬ結果生成部
【図１】
2004302849.tif 000003
【図２】
2004302849.tif 000004
【図３】
2004302849.tif 000005
【図４】
2004302849.tif 000006
【図５】
2004302849.tif 000007
【図６】
2004302849.tif 000008
【図７】
2004302849.tif 000009
【図８】
2004302849.tif 000010
【図９】
2004302849.tif 000011