JP4244677B2 - Faコントローラ - Google Patents
Faコントローラ Download PDFInfo
- Publication number
- JP4244677B2 JP4244677B2 JP2003094880A JP2003094880A JP4244677B2 JP 4244677 B2 JP4244677 B2 JP 4244677B2 JP 2003094880 A JP2003094880 A JP 2003094880A JP 2003094880 A JP2003094880 A JP 2003094880A JP 4244677 B2 JP4244677 B2 JP 4244677B2
- Authority
- JP
- Japan
- Prior art keywords
- controller
- sql
- result
- data
- tag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
この発明は、工場の製造設備、及びその他の産業用設備の制御に使用されるFAコントローラに関するものである。
【0002】
【従来の技術】
従来のFAコントローラとFAアプリケーションとの通信について説明する。
FAアプリケーションは、例えばキーボード,マウス等の入力装置からデバイス値の読み込み命令を受け取り、FAコントローラへFAコントローラの専用プロトコルであるFAコントローラ命令、例えばデバイスRead命令を送信する。FAコントローラのCPUは、デバイスRead命令を受け取り、デバイスデータ,プログラムデータ,パラメータデータ等が格納されたメモリからデバイスデータを取得する。次にFAコントローラのCPUは、FAコントローラの専用プロトコルであるFAコントローラ結果を用いてデバイスの読み出し結果をFAアプリケーションに返す。FAアプリケーションは、FAコントローラから受け取った結果としてFAコントローラ結果、例えばデバイス値をCRT等の表示装置に表示する。
ここで、FAコントローラ命令,及びFAコントローラ結果は、通常、バイナリのデータで構成されており、FAコントローラのメーカー毎、機種毎、CPUの種類毎、などで異なるものが使われている。このため、複数の種類のFAコントローラと接続するFAアプリケーションは、複数のFAコントローラ命令を生成して送信し、複数のFAコントローラ結果を受信して解釈するプログラムを作成する必要があった。
【0003】
また、複数のFAコントローラのプロトコルに対応するデータ処理装置がある。このデータ処理装置は、代表的なFAコントローラであるプログラマブルコントローラを複数接続するときに、異なるプロトコルで通信する場合でも統一した手順でアクセスできるものである(例えば、特許文献1)。
【0004】
【特許文献1】
特開平11−272311号公報
【0005】
【発明が解決しようとする課題】
以上に述べたような、従来のFAコントローラにおいては、FAコントローラにアクセスするアプリケーションは、複数のプロトコルを使用する必要があり、様々な種類のFAコントローラを使用した複雑なシステムでは、アプリケーション開発のコストを削減できない、という問題点があった。FA機器の領域においては、FAコントローラ及びそれと接続される機器が、それぞれ多種に亘るため、それぞれの組み合わせの接続に対応させるべく個別のアプリケーションを開発することは実に多大な労力を要するもので、効率が悪かった。
【0006】
この発明は、上述の問題点を解決するためになされたもので、FAアプリケーションがFAコントローラの専用のプロトコルを用いることなく、FAコントローラからデバイスの値などのメモリ情報を取得することが出来るFAコントローラを得るものである。
【0007】
【課題を解決するための手段】
この発明に係るFAコントローラは、接続されたクライアントコンピュータから送信されたSQL文を、デバイスメモリなどの情報を取得できるFAコントローラ命令に変換するSQL解析手段と、取得した情報をSQL結果に変換するSQL結果生成手段とを備えたものである。
【0008】
また、SQL解析手段は、デバイスメモリなどの情報が格納されたメモリ上の番地にタグ名の対応付け情報を格納したタグデータベースを用いて、SQL文に含まれるタグ名を番地情報に置き換えるものである。
【0009】
【発明の実施の形態】
実施の形態1.
この発明の第一の実施の形態によるFAコントローラを、図1乃至図6を用いて説明する。
図1は、この発明の第一の実施の形態によるSQLインターフェースを持つFAコントローラの仕組みを説明するための機能構成図である。
図1において、FAコントローラ111にアクセスするクライアントコンピュータ101は、SQLベースFAアプリケーション102、命令を入力する入力装置104、結果を表示する表示装置105、を有する。
SQLインターフェースを持つFAコントローラ111は、FAコントローラCPU112と,デバイスデータ,プログラムデータ,パラメータデータ等が格納されたメモリ113と、SQL文106を受け取り、FAコントローラ命令116を生成するSQL解析部114と、FAコントローラ結果117を受け取り、SQL結果107を生成するSQL結果生成部115と、を有する。
【0010】
次に動作を説明する。図2はSQLベースアプリケーション102がFAコントローラ111のメモリ113の値を取得し、結果を表示するシーケンス図である。
SQLベースFAアプリケーション102は、クライアントコンピュータ101上で動作し、入力装置104から命令を受け取り、ステップS201においてFAコントローラ111へSQL文106を送信する。FAコントローラ111は、SQL文106を受け取り、ステップS202においてSQL解析部114がSQL文106をFAコントローラ命令116に変換し、ステップS203においてFAコントローラCPU112へ転送する。FAコントローラCPU112は、ステップS204においてFAコントローラ命令116を解釈し、メモリ113から必要な情報を取り出し、ステップS205においてその結果をFAコントローラ結果117の形式でSQL結果生成部115に転送する。SQL結果生成部115は、ステップS206においてFAコントローラ結果117をSQL結果107に変換し、ステップS207においてクライアントコンピュータ101に送信する。クライアントコンピュータ101上のSQLベースFAアプリケーション102は、FAコントローラ111からSQL結果107を受け取り、表示装置115へ結果を表示する。
【0011】
図3は、ステップS202のSQL文解釈の動作を説明するフローチャートである。
まず、ステップS211の構文解析において、SQL解釈部は、受け取ったSQL文の構文を解析し、SQL文に含まれるFAコントローラへの命令、例えばデバイス読み出し、デバイス書き込み、起動、停止等の操作、及びこれらの操作の対象となるデバイス名などのメモリ種類と番号を判断する。次に、ステップS212の命令変換において、SQL文解釈部は、ステップS211で解析した命令をFAコントローラ命令に置き換える。その後、ステップS213において、正常に変換ができたか否かを判定し、変換が正常に行われない場合は、エラーで終了する。ステップS213において、正常に変換できた場合は、ステップS214において、デバイス名の変換を行う。ステップS214のデバイス名変換においては、ステップS211の構文解析で切り出したデバイス名などのメモリ種類と番号をFAコントローラ命令用に定義されたFAコントローラ固有の番号に変換する。その後、ステップS215において、正常に変換できたか否かを判定し、デバイス名の変換が正しく行われない場合は、エラーで終了する。変換が正常に変換できた場合は、ステップS216でFAコントローラを生成し、SQL文解析を終了する。
【0012】
図4は、SQL解析部114において、図3のフローチャートで示したSQL文のSELECT命令をFAコントローラ命令に変換する動作を説明する図である。
SQL解析部114は、SQL文401から、SQL命令である“SELECT”を切り出し、FAコントローラ命令対応表402に従って、デバイス読み出しに対応するFAコントローラ命令コード“01”を選択する。次に、デバイス種別“DeviceX”を切り出し、FAコントローラ命令デバイス対応表403に従って、デバイス種別Xに対応する命令コード“9c”を選択する。次に、デバイス範囲を切り出し、デバイスの開始が0、デバイスサイズが0から99の100個であることを判定する。
【0013】
SQL解析部114は、これらの情報から、FAコントローラ命令404を生成する。このFAコントローラ命令の例で示されるデータは2バイトのWORDを1データとする。FAコントローラ命令の先頭データはFAコントローラ命令の全体サイズであり、この例では“6”をセットする。次のデータには、デバイスを読み出しを行うFAコントローラ命令コード“01”をセットする。次のデータには、デバイス種別コード“9c”をセットする。次のデータには、デバイスの開始アドレス“0”をセットする。次のデータにはデバイスの個数100個の16進表示である“64”をセットする。最後のデータはFAコントローラ命令が正しいデータかどうかをチェックするために付加された冗長データ、サムチェックであり、例えば先頭から最後の手前までのデータの合計の下8ビットの値を格納する。
【0014】
図5は、ステップS206のSQL文結果生成の動作を説明するフローチャートである。
まず、ステップS221においてFAコントローラ結果を取得する。次に、ステップS222において取得したFAコントローラ結果から、最初のデータを読み出す。次に、ステップS223において、読み出した1データを文字列に変換し、SQL結果に追加する。さらに、ステップS224において、SQL結果にデータの区切り文字として、カンマを追加する。その後、ステップS225において、データを最後まで読んだか否かを判定し、もし、残りのデータがあれば、ステップS222以降を繰り返す。もし、残りのデータが無ければ、SQL結果生成を終了する。
【0015】
図6は、SQL結果生成部115において、図5のフローチャートで示したFAコントローラ結果をSQL結果に変換する動作を説明する図である。
FAコントローラ結果は、先頭2バイトが結果サイズで、以降2バイト毎にデバイスの値が格納される形式を持つ。SQL結果生成部115は、このFAコントローラ結果501を文字列形式のSQL結果502に変換する。SQL結果はカンマで区切られた数値を示す文字列であり、FAコントローラ結果501の並び順に数字を文字列化し、カンマで区切ってSQL結果502を生成する。最後に、チェックサムを判定、例えば先頭から最後の手前までのデータの合計の下8ビットの値であることを確認し、FAコントローラ結果が正常なものであることを確認する。
【0016】
このように、FAコントローラ111がSQL文106を解釈して、SQL結果107を返すことで、SQLベースFAアプリケーション102は、FAコントローラの種別毎に異なる専用のFAコントローラ命令を使用することなく、通常のデータベースにアクセスするのと同様のSQL文を用いてFAコントローラのメモリにアクセスできるようになる。これにより、余分なプログラムを作成することなく、FAのアプリケーション開発ができる。
【0017】
実施の形態2.
次に、この発明の第二の実施の形態によるリモート監視装置を、図7乃至図9を用いて説明する。
図7は、この発明の第二の実施の形態によるタグデータベース付きSQLインターフェースを持つFAコントローラの仕組みを説明するための機能構成図である。
タグとはアルファベットと数値で表されるデバイス名を、「ランプ」,「稼動時間」など人が分かりやすい単語で表現したものであり、タグデータベースとは、タグ名とデバイス名の組を複数保持するものである。
図7において、タグデータベース付きSQLインターフェースを持つFAコントローラは、SQL解析部114にタグデータベース601を持っている。SQL解析部114はSQL文106を解釈してFAコントローラ命令116を生成する際に、このタグデータベース601を使用する。
【0018】
図8は、タグデータベース601を持つSQL文解釈部114の処理を示したフローチャートである。
図8のフローチャートにおいて、図3のSQL文解釈のフローチャートのデバイス名変換のステップS214において、デバイス名をFAコントローラ命令の内部コードに変換する処理で、デバイス名の代わりに任意の文字列であるタグ名を使用した場合の処理を示す。図2のS201におけるSQL文105が、例えば
「SELECT ランプ1 Where 稼動時間>=0 AND 稼動時間<10」
の場合、構文解析(ステップS211)により「ランプ1」と「稼働時間」がデバイス名と判断され、デバイス名変換処理(ステップS213)の実行がスタートする。
【0019】
SQL解析部は与えられた文字列がデバイス名か、例えばデバイス名がFAコントローラ命令デバイス対応表(403)に存在するかどうかで判定する(ステップS701)。もし対応表にない文字列の場合、タグデータベース601内にタグ名が存在するか検索を行う(ステップS702)。タグ名がタグデータベース601に存在するか判定し(ステップS703)、もし存在しない場合はエラーとする。存在する場合には、タグ名をタグデータベースに登録されたデバイス名に変換する。例えば、
「ランプ1 → Y0003」
「稼働時間 → T0001」
である。
さらに、デバイス名をFAコントローラデバイス名に変換、例えば、
「ランプ1 → Y0003 → 9d 03」
とし、デバイス名変換処理を終了する。このデバイス名変換により前記SQL文105は、
「SELECT Y0030 Where T0001>=0 AND T0001<10」と同じ意味となる。
【0020】
図9は、図8のステップS702で検索するタグデータベースの内容を示したものである。タグデータベース601は、タグ名とデバイス名の組を複数保持しており、タグ名に対応するデバイス名を探すことができる。例えば、タグ名“ランプ1”はデバイス名“Y0030”に変換することができる。
このように、タグ名を用いることで、FAコントローラに固有のデバイス名の規則を知らなくてもSQLベースFAアプリケーション102から簡単にFAコントローラ内部のデバイスデータなどのメモリを取得することができるようになる。
【0021】
なお、上述の実施の形態の説明においては、FAコントローラとしてプログラマブルコントローラの場合について説明したが、他のFAコントローラであるNC(数値制御装置),ロボットコントローラ,モーションコントローラ,サーボ,インバータなどについても同様に本技術を用いることができる。
【0022】
【発明の効果】
以上に述べたとおり、この発明によれば、FAアプリケーションは、FAコントローラ毎に異なる専用のFAコントローラ命令をプログラムすることなく、データベースへのアクセスで一般的に使用されているSQL文の送信と、SQL結果の受信のみでFAコントローラのデバイスデータなどのメモリにアクセスすることができ、FAアプリケーションを短期間に開発することができる。
【0023】
また、タグデータベースを持った上記FAコントローラによれば、FAアプリケーションはFAコントローラ固有のデバイス名を知ることなく、タグデータベースに記述された文字列を用いてFAコントローラのメモリにアクセスでき、FAアプリケーションを短期間に開発することができる。
【図面の簡単な説明】
【図1】 この発明の第一の実施の形態によるFAコントローラのシステムの機能構成図。
【図2】 この発明の第一の実施の形態によるデバイスデータ取得の流れを示すシーケンス図。
【図3】 この発明の第一の実施の形態によるデバイスデータ取得におけるSQL解析部の流れを示すフローチャート。
【図4】 この発明の第一の実施の形態によるSQL文からFAコントローラ命令への変換を表す説明図。
【図5】 この発明の第一の実施の形態によるデバイスデータ取得におけるSQL結果生成部の流れを示すフローチャート。
【図6】 この発明の第一の実施の形態によるFAコントローラ結果からSQL結果への変換を表す説明図。
【図7】 この発明の第二の実施の形態によるタグ変換手段を備えたFAコントローラのシステムの機能構成図。
【図8】 この発明の第二の実施の形態によるFAコントローラの、SQL解析におけるタグ変換の流れを示すフローチャート。
【図9】 この発明の第二の実施の形態によるFAコントローラの、タグ変換で用いるタグデータベースの説明図。
【符号の説明】
101 クライアントコンピュータ
111 FAコントローラ
112 FAコントローラCPU
113 メモリ
114 SQL解析部
115 SQL結果生成部
Claims (2)
- 接続されたクライアントコンピュータから送信されたSQL文を、デバイスメモリなどの情報を取得できるFAコントローラ命令に変換するSQL解析手段と、取得した情報をSQL結果に変換するSQL結果生成手段と、を備えたことを特徴とするFAコントローラ。
- SQL解析手段は、デバイスメモリなどの情報が格納されたメモリ上の番地にタグ名の対応付け情報を格納したタグデータベースを用いて、SQL文に含まれるタグ名を番地情報に置き換えることを特徴とする請求項1に記載のFAコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003094880A JP4244677B2 (ja) | 2003-03-31 | 2003-03-31 | Faコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003094880A JP4244677B2 (ja) | 2003-03-31 | 2003-03-31 | Faコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004302849A JP2004302849A (ja) | 2004-10-28 |
JP4244677B2 true JP4244677B2 (ja) | 2009-03-25 |
Family
ID=33407345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003094880A Expired - Fee Related JP4244677B2 (ja) | 2003-03-31 | 2003-03-31 | Faコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4244677B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4869211B2 (ja) * | 2007-11-19 | 2012-02-08 | 三菱電機株式会社 | 生産情報連携装置 |
EP2866108A4 (en) | 2012-06-22 | 2015-11-04 | Omron Tateisi Electronics Co | CONTROL DEVICE |
JP5518266B1 (ja) * | 2013-05-17 | 2014-06-11 | 三菱電機株式会社 | プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム |
JP7107046B2 (ja) * | 2018-07-13 | 2022-07-27 | オムロン株式会社 | 制御システム、検索装置および検索プログラム |
JP7107047B2 (ja) * | 2018-07-13 | 2022-07-27 | オムロン株式会社 | 制御システム、検索装置および検索プログラム |
CN110712258A (zh) * | 2019-09-30 | 2020-01-21 | 肇庆市现代筑美家居有限公司 | 一种板式家具封边机生产数据采集系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141237A (ja) * | 1993-11-17 | 1995-06-02 | Toshiba Corp | データベースアクセス制御装置 |
JP3785795B2 (ja) * | 1998-03-23 | 2006-06-14 | 三菱電機株式会社 | データ処理装置 |
JP3580348B2 (ja) * | 1998-07-17 | 2004-10-20 | オムロン株式会社 | データダウンロード制御方法、データダウンロード制御装置及びそれらの記録媒体 |
JP2002023812A (ja) * | 2000-07-05 | 2002-01-25 | Mitsubishi Materials Corp | 自動制御システムおよび自動制御方法 |
-
2003
- 2003-03-31 JP JP2003094880A patent/JP4244677B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004302849A (ja) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11372625B2 (en) | Tool compiler | |
US20020004804A1 (en) | Industrial automation system graphical programming language storage and transmission | |
US20050289124A1 (en) | Systems and methods for processing natural language queries | |
JP6065008B2 (ja) | 制御装置 | |
JPH0760326B2 (ja) | 第二プログラム可能論理制御器上で使用するための第一プログラム可能論理制御器上で使用するためのプログラム可能論理制御器ハードウエア形態及び対応する制御プログラムの変換方法 | |
US20100211197A1 (en) | Methods and apparatus to configure a process control system using an electronic description language script | |
CA2467727A1 (en) | Translating configuration files among network devices | |
CN105830417A (zh) | 用于替换和调试现场设备的方法和系统 | |
CN102867010A (zh) | 取出、存储以及供给设备定义文件信息的系统和方法 | |
WO2006011474A1 (ja) | プログラマブルコントローラ用プログラム生成装置、プログラマブルコントローラ用プログラム生成方法およびその方法のプログラムを記録した記録媒体 | |
US7356773B1 (en) | Wizard builder, for application software, building a setup wizard which sets up a defacto interface between the application program and monitoring or control equipment | |
US20020147505A1 (en) | Process for programming an automation application | |
CN109460231B (zh) | 基于xml的上位机软件实现方法 | |
US6922704B2 (en) | Method for generating application specific input files | |
CN100489777C (zh) | 智能平台管理接口韧体架构及其建立方法 | |
JP4244677B2 (ja) | Faコントローラ | |
WO2020046301A1 (en) | Automatic generation of opc ua servers and clients from knowledge models | |
EP1256065A1 (en) | Extensible device command commutation engine | |
CN114546394A (zh) | 统一的物联网外设接入与控制方法 | |
CN1290886B (zh) | 优化单字节字符处理的方法和系统 | |
CN116360763A (zh) | 一种快速生成rpa应用的方法及装置 | |
US20060080636A1 (en) | Method of building intelligent platform management interface firmware architecture | |
US20050086663A1 (en) | Automation object and method for writing information into an automation object | |
JP4776602B2 (ja) | コントローラ用のプログラミング装置、コントローラ及びコントローラ管理システム | |
CN112130841B (zh) | Sql开发方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040712 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081210 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081229 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |