JPWO2014184962A1 - プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム - Google Patents

プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム Download PDF

Info

Publication number
JPWO2014184962A1
JPWO2014184962A1 JP2013541092A JP2013541092A JPWO2014184962A1 JP WO2014184962 A1 JPWO2014184962 A1 JP WO2014184962A1 JP 2013541092 A JP2013541092 A JP 2013541092A JP 2013541092 A JP2013541092 A JP 2013541092A JP WO2014184962 A1 JPWO2014184962 A1 JP WO2014184962A1
Authority
JP
Japan
Prior art keywords
database
instruction
programmable controller
access
data
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.)
Granted
Application number
JP2013541092A
Other languages
English (en)
Other versions
JP5518266B1 (ja
Inventor
新 谷出
新 谷出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5518266B1 publication Critical patent/JP5518266B1/ja
Publication of JPWO2014184962A1 publication Critical patent/JPWO2014184962A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13041Display ladder or logic diagram, mnemonics, switch between two display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15064MMU, memory management unit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2241Real time database, each processor stores in local memory used variables

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラマブルコントローラ(10)は、ユーザプログラム中の複数の命令を順に実行する命令実行手段と、前記命令実行手段での処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納部(13)と、前記命令中に前記データベースへのアクセス用命令が含まれる場合に、前記アクセス用命令をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手段と、前記データベース格納部(13)中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定されるデータを取得するデータベース管理手段と、を備える。

Description

この発明は、プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラムに関するものである。
プログラマブルコントローラは、ユーザによって作成されたシーケンスプログラムに従い、内部に有するデバイスデータをリード/ライトする。これによって、たとえば、プログラマブルコントローラに接続されたリレー、スイッチ、センサ等の入力装置の状態取得が行われ、またアクチュエータ、バルブなどの出力装置の制御が行われる。デバイスデータには、たとえば生産品のサイズと色などのレシピデータと、生産品毎の生産個数、不良品個数などの実績データも格納されている。そのため、運用者は、入出力装置の制御に必要なデータを、レシピデータから取得するようにシーケンスプログラムを作成することによって、生産品の変更を柔軟に行うことができる。また、制御結果を、実績データとして格納するようにシーケンスプログラムを作成すれば、生産にかかる部材の在庫管理などを容易に行うこともできる。
レシピデータや実績データなどのデータは、上位の計算機システムが扱いやすいように、CSV(Comma Separated Values)に代表される2次元のデータテーブル(以下、「テーブル」という)形式でプログラマブルコントローラ内に保存されるのが一般的である。プログラマブルコントローラがこれらのデータにアクセスするためには、これらのデータをデバイスメモリ上に読出さなければならない。テーブル内の要素であるテーブルデータ(レシピデータや実績データなど)を一意に特定するためには、テーブルの行(Column)番号と列(Row)番号を指定すればよい。しかし、デバイスメモリには行と列という概念が無くテーブルデータがデバイスメモリ上に連続的に配置されているため、プログラマブルコントローラがデバイスメモリ上のデバイスデータにアクセスする際には、デバイスアドレスを計算しなければならない。
そこで、従来では、プログラマブルコントローラでも、1次元のデータを2次元のテーブルのデータとして扱うことができる技術が提案されている(たとえば、特許文献1)。ここでは、まず、テーブル識別番号、テーブル行数、テーブル列数およびテーブルの先頭デバイスアドレスを有するテーブル定義命令をテーブルごとに定義する。ついで、2次元のテーブルのデータ上での行番号および列番号を引数として用いて、読出し対象の要素を指定するテーブル要素読出し命令によって、1次元のデータから要素を抽出する。このとき、読出し対象の要素のデバイスアドレスは、テーブル定義命令の先頭デバイスアドレスおよびテーブル列数と、テーブル要素読出し命令の行番号および列番号と、を用いてデバイスメモリ上での読出し対象要素のデバイスアドレスを算出する。
特開2010−198132号公報
しかしながら、特許文献1に記載のプログラマブルコントローラでは、テーブルデータ中の読出し対象要素を読出す場合に、テーブルデータをデバイスメモリ上に読出す工程と、デバイスメモリ上で読出し対象要素を検索する工程と、の2つの工程が必要であった。そのため、読出し対象要素を検索するのに時間がかかるという問題点があった。また、デバイスメモリは、テーブルデータを読出すことができるだけの記憶容量を有している必要があり、プログラマブルコントローラの製造コストが増加する要因となっていた。
この発明は上記に鑑みてなされたもので、データベースからデータを読出す際に、従来に比してデータベースからの読出しの工程数を少なくすることができるプログラマブルコントローラとプログラマブルコントローラのテーブルデータアクセスプログラムを得ることを目的とする。また、そのようなプログラマブルコントローラのプログラムをプログラミングすることができる周辺装置を得ることも目的とする。
上記目的を達成するため、この発明にかかるプログラマブルコントローラは、ユーザプログラム中の複数の命令を順に実行する命令実行手段と、前記命令実行手段での処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納手段と、前記命令中に前記データベースへのアクセス用命令が含まれる場合に、前記アクセス用命令をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手段と、前記データベース格納手段中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定されるデータを取得するデータベース管理手段と、を備えることを特徴とする。
この発明によれば、データベース問い合わせ用命令生成手段によって、データベースへのアクセス用命令がデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換され、データベース管理手段によって、データベース格納手段中のデータベースにアクセスし、データベース問い合わせ用命令で指定されるデータが取得され、END命令処理手段によって、ユーザプログラム中のEND命令処理時に、取得されたデータがユーザデータ記憶手段のアクセス用命令で指定されるアドレスに書込まれるので、プログラマブルコントローラでデータベースからデータを読出す際に、従来に比してデータベースからの読出しの工程数を少なくすることができるという効果を有する。
図1は、実施の形態1によるプログラマブルコントローラの機能構成を模式的に示すブロック図である。 図2は、プログラム記憶部の構成を模式的に示す図である。 図3は、データベースの一例を示す図である。 図4は、DB_OPEN命令の内容の一例を示す図である。 図5は、DB_SELECT命令の内容の一例を示す図である。 図6は、DB_CLOSE命令の内容の一例を示す図である。 図7は、ラダープログラムにおけるデータベース読出し指示の一例を示す図である。 図8は、プログラマブルコントローラの全体処理の手順の一例を示すフローチャートである。 図9は、データベースアクセス用命令の実行処理の手順の一例を示すフローチャートである。 図10は、データベースアクセス用命令の処理の様子を模式的に示す図である。 図11は、データベースアクセス用命令からデータベース問い合わせ用命令の生成処理の一例を示す図である。 図12は、END処理時の完了確認処理の手順の一例を示すフローチャートである。 図13は、実施の形態2によるプログラマブルコントローラの機能構成を模式的に示すブロック図である。 図14は、実施の形態2によるデータベースアクセス用設定情報の内容の一例を示す図である。 図15は、実施の形態2によるデータベース読出し指示のユーザプログラムの一例を示す図である。 図16は、データベースアクセス用設定情報からデータベース問い合わせ用命令を生成する際の命令変換情報の一例を示す図である。 図17は、ネットワークに接続された他のプログラマブルコントローラからデータを読出す場合の様子を模式的に示す図である。 図18は、エンジニアリングツールの機能構成の一例を模式的に示すブロック図である。
以下に添付図面を参照して、この発明にかかるプログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラムの好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、実施の形態1によるプログラマブルコントローラの機能構成を模式的に示すブロック図である。プログラマブルコントローラ10は、ユーザプログラム記憶部11と、ユーザデータ記憶手段であるユーザデータ記憶部12と、データベース格納手段であるデータベース格納部13と、システムプログラム記憶部14と、演算部15と、システムデータ記憶手段であるシステムデータ記憶部16と、を備える。
ユーザプログラム記憶部11は、プログラマブルコントローラ10が実行するラダープログラムなどのユーザプログラムを記憶する。図2は、プログラム記憶部の構成を模式的に示す図である。ユーザプログラム111は、複数の命令111−1,111−2,・・・,111−Eの集合である。この命令111−1,111−2,・・・,111−Eの中に、データベースにアクセスするデータベースアクセス用命令が含まれているものとする。命令には、プログラム実行処理を実行する通常の命令111−1,111−2,・・・と、ユーザプログラム111の最後に実行されるEND命令111−Eと、がある。なお、データベースアクセス用命令については、後述する。ユーザプログラム記憶部11は、ROM(Read Only Memory)またはEEPROM(Electrically Erasable ROM)などの不揮発性記憶装置によって構成される。
ユーザデータ記憶部12は、ユーザプログラムの実行時に使用されるデータを記憶するデバイスメモリである。ユーザデータ記憶部12は、データベースアクセス用命令の実行の際に必要な検索条件などを格納する検索条件格納領域121と、ユーザプログラムを実行する際に一時的にデータを退避する領域である退避領域122と、を有する。検索条件格納領域121には、取得するデータを有するデータベースの格納位置と、取得するデータの検索条件と、が格納される。この検索条件は、ユーザによって図示しないエンジニアリングツールを介して予め設定される。これらの格納位置と検索条件は、後述するデータベースアクセス用命令の引数となるものである。退避領域122には、データベース問い合わせ用命令の実行結果が格納される。ユーザデータ記憶部12として、DRAM(Dynamic Random Access Memory)またはSRAM(Static RAM)などを用いることができる。
データベース格納部13は、たとえば生産品のサイズと色などのレシピデータと、生産品毎の生産個数、不良品個数といった実績データなどのデータベースを格納する。データベースは、2次元的なテーブルデータによって構成される。図3は、データベースの一例を示す図である。ここでは、製品の種類ごとにサイズを規定した製品サイズテーブルを例示している。列0には製品を識別する製品番号が格納され、列1〜3にはそれぞれ製品の長さ、幅、高さが格納されている。行0〜行4には、各製品のレコードが格納される。データベース格納部13は、2次記憶装置であり、フラッシュメモリやハードディスクなどの不揮発性記憶装置によって構成される。
システムプログラム記憶部14は、演算部15が実行するシステムプログラム、いわゆるファームウェアを記憶する。システムプログラムとして、ユーザプログラム中の通常の命令を実行する命令実行プログラム、ユーザプログラム中のデータベースアクセス用命令を、データベース格納部13中のデータに演算部15がアクセス可能な形式のデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成プログラム、データベース問い合わせ用命令に基づいてデータベース格納部13にアクセスするデータベース管理プログラム、およびユーザプログラム中のEND命令を実行するEND命令処理プログラムなどを挙げることができる。システムプログラム記憶部14は、ROMまたはEEPROMなどの不揮発性記憶装置によって構成される。
命令実行プログラムは、演算部15に、ユーザプログラム記憶部11に記憶されるユーザプログラム111を逐次解釈し、実行させるプログラムである。具体的には、ユーザプログラム111中に含まれる最初の命令111−1から順に実行し、最後のEND命令111−Eの直前の命令までを実行させる。また、ユーザプログラム111中にデータベースアクセス用命令がある場合には、その処理をデータベース問い合わせ用命令生成プログラムに渡す。
データベース問い合わせ用命令生成プログラムは、ユーザプログラム記憶部11のユーザプログラム111中にデータベースアクセス用命令がある場合に、演算部15に、ユーザプログラム(たとえばラダープログラム)形式で記述されているデータベースアクセス用命令から、データベース問い合わせ言語で記述されているデータベース問い合わせ用命令を生成させるプログラムである。データベース問い合わせ言語は、たとえばSQLである。また、データベース問い合わせ用命令は、データベース管理プログラムの実行時に実際にデータベースにアクセスする際のコマンドであり、具体的にはSQLのコマンドである。生成したデータベース問い合わせ用命令は、システムデータ記憶部16に記憶される。
データベース管理プログラムは、演算部15に、システムデータ記憶部16のデータベース問い合わせ用命令格納領域161に記憶されたデータベース問い合わせ用命令を読み込ませ、解釈させ、実行させるプログラムである。具体的には、データベース問い合わせ用命令を読み込み、データベース格納部13のデータベースから目的とするデータ(要素)を直接に抽出する。
END命令処理プログラムは、演算部15に、システムプログラム記憶部に記憶されているユーザプログラム中の最後のEND命令111−Eを実行させるプログラムである。END命令111−Eは、パーソナルコンピュータまたは外部機器との間の通信処理と、データベース管理プログラムによるデータベース問い合わせ用命令を実行した結果の取得処理と、を含む通常の命令の実行以外の処理を行う。データベース問い合わせ用命令を実行した結果の取得処理では、データベース管理プログラムによって抽出されたデータを、ユーザデータ記憶部12の退避領域122中のデータベースアクセス用命令で指定された位置に書込む。
演算部15は、システムプログラム記憶部14中に格納されるシステムプログラム(ファームウェア)を実行する。なお、命令実行手段は、命令実行プログラムを実行中の演算部15に対応し、データベース問い合わせ用命令生成手段は、データベース問い合わせ用命令生成プログラムを実行中の演算部15に対応し、データベース管理手段は、データベース管理プログラムを実行中の演算部15に対応し、END命令処理手段は、END命令処理プログラムを実行中の演算部15に対応している。
システムデータ記憶部16は、ファームウェアが一時的にデータを置くワークメモリである。ここでは、演算部15によって生成されたデータベース問い合わせ用命令が一時的に記憶される。システムデータ記憶部16として、DRAMまたはSRAMなどを用いることができる。
このような構成のプログラマブルコントローラは、CPU(Central Processing Unit)、ROM、主記憶装置、2次記憶装置、ネットワークユニットを有する。そして、演算部15で実行する機能をプログラムに記述し、そのプログラムをシステムプログラム記憶部14に記憶し、CPUでそのプログラムを実行することによって、上記構成のプログラマブルコントローラを得ることができる。
この実施の形態1では、プログラマブルコントローラ10は、データベース格納部13のデータベース中の目的とするデータに直接アクセスして取得し、その結果をユーザデータ記憶部12の退避領域122に格納する。そこで、このような処理を実現するデータベースアクセス用命令が、ラダープログラム(ユーザプログラム)で定義されている。ここでは、DB_OPEN命令、DB_SELECT命令、DB_CLOSE命令の3つの命令を定義する。
(1)DB_OPEN命令
図4は、DB_OPEN命令の内容の一例を示す図であり、(a)はDB_OPEN命令の構造の一例を示す図であり、(b)はDB_OPEN命令の一例を示す図であり、(c)はデバイスメモリとDB_OPEN命令の引数との間の関係を模式的に示す図である。DB_OPEN命令は、データベース格納部13中の操作対象であるデータベースを開くための命令である。図4(a)に示されるように、DB_OPEN命令は、3つの引数A1〜A3を含む。引数A1では、操作対象(オープン対象)であるデータベースが指定され、引数A2では、オープン対象のデータベースを識別するデータベース識別子が指定され、引数A3では、オープン処理が完了したことを示すデバイスが指定される。
引数A1,A2として、図4(b)に示されるように、ユーザデータ記憶部12中のデバイス(アドレス)を指定することができる。たとえば、引数A1,A2には、ユーザデータ記憶部12中のデバイス(アドレス)が入力され、そのデバイスにオープン対象のデータベースの情報が格納される。図4(c)を参照すると、たとえば、デバイスD1000〜D1003には、データベース格納部13を有する機器(プログラマブルコントローラ)のIP(Internet Protocol)アドレス「127.0.0.1」の値が入力され、デバイスD1004〜D1006には、データベース格納部13中のオープン対象のデータベース名「MyDB」が入力される。また、引数A3には、オープン対象のデータベースのオープン処理が完了するとオンする完了デバイスM0が設定される。
(2)DB_SELECT命令
図5は、DB_SELECT命令の内容の一例を示す図であり、(a)はDB_SELECT命令の構造の一例を示す図であり、(b)はDB_SELECT命令の一例を示す図であり、(c)はデバイスメモリとDB_SELECT命令の引数との間の関係を模式的に示す図である。DB_SELECT命令は、DB_OPEN命令でオープンされたデータベース中から所望のデータを取り出すための命令である。図5(a)に示されるように、DB_SELECT命令は、5つの引数B1〜B5を含む。引数B1では、操作対象のデータベースを指定するデータベース識別子が指定され、引数B2では、操作対象データベース内の操作対象のテーブル中から読出すレコードを特定するための条件が指定され、引数B3では、引数B2で指定されたレコード中から読出すフィールドが指定され、引数B4では、引数B2,B3で読出したデータの格納位置が指定され、引数B5では、読出し処理が完了したことを示すデバイスが指定される。
引数B1〜B4として、図5(b)に示されるように、ユーザデータ記憶部12中のデバイス(アドレス)を指定することができる。引数B1は、DB_OPEN命令の引数A2で指定されたデータベース識別子と同じである。引数B2には、操作対象データベース中の読出し対象テーブルと読出し対象レコードを含む読出し対象レコード指定情報が記憶されているユーザデータ記憶部12中のデバイスが指定される。この例では、読出し対象レコード指定情報は、図5(c)に示されるように、ユーザデータ記憶部12中の「D1200〜D1205」に格納される操作対象テーブル名である「製品サイズ」と、「D1206〜D1210」に格納される条件フィールド名である「製品番号」と、「D1211〜D1212」に格納される条件である「=」と、「D1213」に格納される条件の値である「3」と、を含む。つまり、製品サイズテーブル中の製品番号が「3」であるレコードを抽出するための条件が格納されている。
引数B3には、引数B2で指定されるレコード中の取得するフィールド数とフィールド名を含む読出しフィールド指定情報が格納されるユーザデータ記憶部12中のデバイスが指定される。この例では、読出しフィールド指定情報は、図5(c)に示されるように、ユーザデータ記憶部12中の「D0」に格納されるフィールド数である「2」と、「D1〜D3」に格納されるフィールド名1である「長さ」と、「D4〜D6」に格納されるフィールド名2である「高さ」と、を含む。つまり、製品サイズテーブル中の製品番号が「3」であるレコードから、「長さ」と「高さ」という2つのフィールド名に対応するデータを抽出するための条件が格納されている。
引数B4は、引数B2,B3で指定され、読出されたデータを格納するユーザデータ記憶部12中の位置を指定する。この例では、図5(c)に示されるように、ユーザデータ記憶部12中の「D100」に、読出したレコード数を示す「1」が指定され、「D101」に、引数B3で指定されたフィールド名1に対応する読出しデータ1「9000」が格納され、「D102」に、引数B3で指定されたフィールド名2に対応する読出しデータ2「700」が格納される。また、引数B5には、操作対象のデータベースからの読出し処理が完了するとオンする完了デバイスM1が設定される。
(3)DB_CLOSE命令
図6は、DB_CLOSE命令の内容の一例を示す図であり、(a)はDB_CLOSE命令の構造の一例を示す図であり、(b)はDB_CLOSE命令の一例を示す図である。DB_CLOSE命令は、データベース格納部13中の操作対象であるデータベースを閉じるための命令である。図6(a)に示されるように、DB_CLOSE命令は、1つの引数C1を含む。引数C1では、クローズ対象のデータベースを指定するデータベース識別子が指定される。このデータベース識別子は、DB_OPEN命令の引数A2やDB_SELECT命令の引数B1で指定されたデータベース識別子と同じである。引数C1として、図6(b)に示されるように、ユーザデータ記憶部12中のデバイス(アドレス)を指定することができる。
これらの3つのデータベースアクセス用命令を使用して、データベース格納部13へのアクセスを指示する命令がラダープログラムに書込まれる。図7は、ラダープログラムにおけるデータベース読出し指示の一例を示す図である。このラダープログラムの動作の概要について説明する。
まず、データベース読出しの指示がなされると(ステップS11)、まずDB_OPEN命令が実行される(ステップS12)。図4で示したように、ユーザデータ記憶部12中の各デバイスから、IPアドレスが「127.0.0.1」である機器の「MyDB」という名前のデータベースを開く。そして、操作対象のデータベースのオープン処理が完了すると、デバイス「M0」をオンにする。
デバイス「M0」がオンになると、つぎのDB_SELECT命令が実行される(ステップS13)。このDB_SELECT命令では、ユーザデータ記憶部12中の各デバイスから「製品サイズテーブル」の「製品番号」が「3」のレコードから「長さ」と「高さ」に対応するデータを読出す処理を行う。そして、読出し処理が完了すると、デバイス「M1」をオンにする。
デバイス「M0」と「M1」がともにオンになると、つぎのDB_CLOSE命令が実行される(ステップS14)。このDB_CLOSE命令では、操作対象のデータベースである「MyDB」という名前のデータベースが閉じられることになる。以上によって、データベースへのアクセス処理が終了する。
つぎに、このようなプログラマブルコントローラ10の動作処理について説明する。図8は、プログラマブルコントローラの全体処理の手順の一例を示すフローチャートである。まず、プログラマブルコントローラ10の演算部15は、ユーザプログラム記憶部11に記憶されているユーザプログラム111中の通常の命令を実行するプログラム実行処理を行う(ステップS31)。ここでは、図2に示されるユーザプログラム111中の命令111−1からEND命令111−Eの前の命令までが順に実行される。
演算部15は、ユーザプログラム111中のEND命令111−Eの前までの通常の命令を実行すると、END命令処理プログラムに基づいて、END命令111−EによるEND処理を実行する(ステップS32)。END処理は、プログラマブルコントローラ10に通信回線を介して接続されるパーソナルコンピュータまたは外部機器との間の通信と、通常の命令の実行以外の処理を行う。
END処理が終了すると、再びステップS31へと戻り、ユーザプログラム111の命令111−1から順に演算部15によって処理が実行される。このように、プログラマブルコントローラ10では、ユーザプログラム111中の命令111−1〜111−Eが順に、繰り返し実行されることになる。
ここで、ステップS31のプログラム実行処理で、データベースアクセス用命令を検出した場合には、データベースアクセス用命令の実行処理を実行する。図9は、データベースアクセス用命令の実行処理の手順の一例を示すフローチャートであり、図10は、データベースアクセス用命令の処理の様子を模式的に示す図であり、図11は、データベースアクセス用命令からデータベース問い合わせ用命令の生成処理の一例を示す図である。
図9のデータベースアクセス用命令の実行処理は、図8のステップS31のプログラム実行処理中に、演算部15が、データベースアクセス用命令を検出し、データベース問い合わせ用命令生成プログラムに検出したデータベースアクセス用命令を渡すことによって、実行される。演算部15は、データベース問い合わせ用命令生成プログラムに基づいて、対象のデータベースのオープン処理を行い、取得したデータベースアクセス用命令(DB_SELECT命令)中の引数からSQLの生成に必要な情報を取得する(ステップS51)。
ここでは、DB_SELECT命令の引数B2,B3を参照して、操作対象となるデータベースから操作対象テーブルと、操作対象テーブル中のレコードと、操作対象レコード中から抽出するフィールドと、を抽出する。図5の例に示されるように、これらの条件は、ユーザデータ記憶部12の引数B2,B3で指定されるアドレスに格納されている。
ついで、演算部15は、取得した情報からデータベース問い合わせ用命令(SQL文)を生成する(ステップS52)。図11(a)は、図5(b)のラダープログラムにおけるデータベースアクセス用命令から生成されたSQL文である。SQL文は、SELECT句、FROM句およびWHERE句を有し、それぞれの句に引数が設定される。データベースアクセス用命令からのSQL文の生成は、データベースアクセス用命令の引数とSQL文の引数とを対応付けた命令変換情報に基づいて行われる。図11(b)は、命令変換情報の一例を示す図である。この命令変換情報では、SQL文の引数が、ユーザデータ記憶部12のデバイスを用いて定義される。これによって、図5(b)に示されるデータベースアクセス用命令からSQL文(データベース問い合わせ用命令)を生成することが可能になる。なお、これは一例であり、SQL文の種類に応じて命令変換情報を用意しておけばよい。
ついで、演算部15は、生成したSQL文をシステムデータ記憶部16のデータベース問い合わせ用命令格納領域161に格納する(ステップS53)。
その後、演算部15は、データベース管理プログラムに基づいて、データベースアクセス用命令であるDB_SELECT命令の引数B1で指定されたデータベースに対して、生成したSQL文を発行する(ステップS54)。これによって、演算部15は、SQL文にしたがって、データベース格納部13中の指定されたデータベースに直接アクセスして、目的とするデータを取得する。以上によって、データベースアクセス用命令の実行処理が終了し、図8のステップS31へと処理が戻る。
一般的に、プログラマブルコントローラ10の実行処理に対して、データベースの処理は遅いため、データベースアクセス用命令の実行処理は、SQLを発行した後に、データベースの処理結果を待たずに処理を完了する。そして、このデータベースの処理結果の完了確認はEND処理で行う。
そこで、図8のステップS32のEND処理で、SQLを発行した際の完了確認処理について説明する。図12は、END処理時の完了確認処理の手順の一例を示すフローチャートである。
まず、演算部15は、SQLを発行済みか否かを判定する(ステップS71)。SQLを発行済みでない場合(ステップS71でNoの場合)には、SQLを発行しておらず、完了確認をする必要がないので、処理が終了する。
また、SQLを発行済みである場合(ステップS71でYesの場合)には、発行したSQLの処理が完了したか否かを判定する(ステップS72)。発行したSQLの処理が未完了である場合(ステップS72でNoの場合)には、何も処理を行わず、完了確認処理が終了する。この場合には、次回のEND処理時に再確認が行われる。
一方、発行したSQLの処理が完了した場合(ステップS72でYesの場合)には、演算部15は、取得したSQLの結果を、DB_SELECT命令の引数B4で指定されるユーザデータ記憶部12中の位置に格納する(ステップS73)。その後、演算部15は、DB_SELECT命令の引数B5で指定される完了デバイスをONにし(ステップS74)、対象のデータベースのクローズ処理が行われる。以上によって、END処理時の完了確認処理が終了する。
なお、上記の例では、データベースからのデータの読出しを行うデータベースアクセス用命令について説明したが、この発明がこれに限定されるものではない。たとえば、データベースへのデータの追加、変更または削除などのデータの書込みを行う命令を定義することも可能である。このようなデータベースの書込命令は、引数として、操作対象のデータベースを指定するデータベース識別子(データベース指定情報)と、操作対象データベース内のデータを追加するテーブル名と、操作対象テーブル中のデータを書込みたいフィールド名と、書込みたいデータの内容と、を少なくとも含む。このように、データベースアクセス用命令は、データベース中に格納されるデータの読出しまたは書込みといった、データベースへのアクセスを行うための命令である。
実施の形態1では、ラダープログラムで使用されるデータベースアクセス用命令を定義し、データベースアクセス用命令で指定される引数とSQL文の引数とを対応付けておき、ユーザプログラム中にデータベースアクセス用命令がある場合には、上記対応付けに基づいてデータベースアクセス用命令からSQL文を生成し、SQLを発行する。これによって、プログラマブルコントローラ10では、2次記憶装置であるデータベース格納部13中の2次元的な構造のデータベースを、従来のように1次元的な構造のユーザデータ記憶部12に展開することなく、直接にデータベースにアクセスして所望のデータを取得することができる。その結果、データベースからのデータの取得が1つの工程で行うことができ、データの取得を従来に比して早くすることができるという効果を有する。
また、データベースをユーザデータ記憶部12に展開する必要がないので、ユーザデータ記憶部12をデータベースのサイズを考慮した容量にする必要がない。つまり、データベース格納部13からユーザデータ記憶部12に読み込むデータは、処理に必要な最小限のデータに絞られる。その結果、ユーザデータ記憶部12の容量(使用量)を従来に比して小さくすることができるという効果も有する。
さらに、プログラマブルコントローラ10で必要なデータを取得する際にデータベースを活用することで、2次元構造のデータベースを1次元構造のユーザデータ記憶部12に展開したときのデータの格納場所(アドレス)をラダープログラム上で計算する必要がない。その結果、プログラミングが容易になるという効果を有する。加えて、データベースのデータ構造が変更された場合でも、同じフィールドのデータを取得する場合には、ユーザプログラムに作成したデータベースアクセス用命令を変更する必要がない。
また、ユーザプログラムに専用の命令を定義することで、プログラマブルコントローラ10からデータベースにアクセスすることができ、SQLなどのデータベース特有の言語を知らないプログラマブルコントローラ10のユーザでも、データベース中のデータを利用したプログラムを作成することができるという効果を有する。
実施の形態2.
実施の形態1では、データベースアクセス用命令を定義し、ユーザプログラム(ラダープログラム)に組み込んで使用する場合を示した。この実施の形態2では、データベースアクセス用命令の代わりに、データベース操作設定情報を定義し、データベース読出し指示が実行される場合に、データベース操作設定情報を読み込んで実施の形態1と同様の処理を行う場合について説明する。
図13は、実施の形態2によるプログラマブルコントローラの機能構成を模式的に示すブロック図である。このプログラマブルコントローラ10は、ユーザプログラム記憶部11のユーザプログラムにはデータベースアクセス用命令が含まれておらず、システムデータ記憶部16にデータベース問い合わせ用命令格納領域161に加えて、データベースアクセス用設定情報を格納するデータベースアクセス用設定情報格納領域162が含まれる点が実施の形態1と異なる点である。また、演算部15は、ユーザプログラム(ラダープログラム)のデータベース読出し指示がオンになると、データベースアクセス用設定情報162Aに基づいて、データベース問い合わせ用命令を作成する。
図14は、実施の形態2によるデータベースアクセス用設定情報の内容の一例を示す図である。データベースアクセス用設定情報162Aは、対象データベースと、対象テーブルと、フィールド名とデバイスの関係と、読出し条件と、実行トリガと、を設定項目として有する。
対象データベースは、操作対象となるデータベースを指定する。たとえば、操作対象となるデータベースが格納されている機器(プログラマブルコントローラ)のアドレス(IPアドレス)と、そのIPアドレスで指定される機器中のデータベース名と、を指定する。対象テーブルは、対象データベース中の操作対象となるテーブルを指定する。
フィールド名とデバイスの関係は、対象テーブル中から取得するデータのフィールド名と、取得したデータのユーザデータ記憶部12中での格納位置を指定する。読出し条件は、対象テーブルから読出す対象の行(レコード)を指定する。実行トリガは、読出したデータをユーザデータ記憶部12に格納するタイミングを指定する。
つまり、「対象データベース」項目のIPアドレスとデータベース名で操作対象のデータベースが特定され、「対象テーブル」項目のテーブル名でデータベース中の操作対象のテーブルが特定される。また、「読出し条件」項目のフィールド名で特定されるレコードから、「フィールド名とデバイスの関係」項目のフィールド名で特定されるデータが読出されるデータとなり、このデータがフィールド名とデバイスの関係で指定されるデバイスメモリ中のデバイスに格納されることになる。そして、このデータが読出されるタイミングは「実行トリガ」項目中のトリガデバイスがオンになったときである。
図15は、実施の形態2によるデータベース読出し指示のユーザプログラムの一例を示す図である。このユーザプログラムは、データベース読出し指示がオンになると(ステップS91)、製品テーブルの製品番号を示す「K3」をユーザデータ記憶部12の「D1212」に格納する処理(ステップS92)と、デバイス「M0」のビットをオンにする処理(ステップS93)と、が実行されることを示している。
これによって、演算部15は、データベースアクセス用設定情報162Aに設定された条件にしたがって、データベース問い合わせ用命令を生成し、システムデータ記憶部16に記憶する。図16は、データベースアクセス用設定情報からデータベース問い合わせ用命令を生成する際の命令変換情報の一例を示す図である。この図に示されるように、命令変換情報では、SQL文の引数が、データベースアクセス用設定情報162Aの内容を用いて定義される。演算部15は、これによって図11(a)に示されるSQL文を生成する。
なお、図14のデータベースアクセス用設定情報162Aの例では、「対象データベース」項目は、自プログラマブルコントローラ10を指定する場合を示しているが、プログラマブルコントローラ10は通常ネットワークを介して接続されるため、他のプログラマブルコントローラ10(または機器)のデータベース格納部13中のデータベースからデータを取得することも可能である。
図17は、ネットワークに接続された他のプログラマブルコントローラからデータを読出す場合の様子を模式的に示す図である。図17(a)は、プログラマブルコントローラ10A,10Bがネットワーク30に接続されたシステム構成を模式的に示している。ここでは、データベース格納部13Aを有し、IPアドレスが「192.168.1.1」のプログラマブルコントローラ10Aと、IPアドレスが「192.168.1.2」のプログラマブルコントローラ10Bと、がネットワーク30を介して接続されている。ここで、プログラマブルコントローラ10Bには、図17(b)に示されるように、データベースアクセス用設定情報152Bの「対象データベース」の項目で、プログラマブルコントローラ10AのIPアドレスとデータベース名が設定される。その結果、図17(c)に示されるユーザプログラムが読み込まれると、プログラマブルコントローラ10Aのデータベース格納部13A中のデータベースにアクセスして、そのデータを取得することができる。
実施の形態2では、データベースアクセス用設定情報にデータベースへのアクセス条件を設定し、ユーザプログラムの実行の際、データベース読出し指示がオン状態になると、演算部15がデータベースアクセス用設定情報に基づいてデータベース問い合わせ用命令を生成する。そして、演算部15は、生成されたデータベース問い合わせ用命令にしたがってデータベースにアクセスするようにした。これによって、実施の形態1のように、データベースへのアクセス命令をラダープログラムで定義することがないので、プログラマブルコントローラ10のユーザにとって、データベースへのアクセスの設定が容易になるという効果を、実施の形態1の効果に加えて有する。
また、取得するデータの条件をデータベースアクセス用設定情報で指定できるので、実施の形態1のようにユーザデータ記憶部12に対象データの取得条件を格納する必要がない。その結果、実施の形態1に比してさらにユーザデータ記憶部12を小容量化することができるという効果も有する。
なお、実施の形態2では、データベースからのデータの読出しの場合を例に挙げたが、データベースへのデータの追加、変更または削除を行う書込みの場合にも、データベースアクセス用設定情報に書込みの条件を設定することで、このデータベースアクセス用設定情報に基づいてデータベース問い合わせ用命令を生成することができる。
実施の形態3.
実施の形態3では、実施の形態1でユーザプログラムを設定したり、実施の形態2でデータベースアクセス用設定情報を設定したりするエンジニアリングツールについて説明する。
図18は、エンジニアリングツールの機能構成の一例を模式的に示すブロック図である。エンジニアリングツール50は、通信部51と、入力部52と、表示部53と、プログラム作成画面表示処理部54と、デバイスメモリ設定画面表示処理部55と、設定情報設定画面表示処理部56と、設定部57と、これらの各処理部を制御する制御部58と、を備える。
通信部51は、プログラマブルコントローラ10との間で通信を行う。入力部52は、キーボードまたはポインティングデバイスなどのユーザとの間の入力インタフェースである。入力部52は、たとえばプログラマブルコントローラ10に設定するデータベースアクセス用命令またはデータベースアクセス用設定情報の入力を受け付ける。表示部53は、液晶表示装置などのユーザに対して情報を表示する装置である。
プログラム作成画面表示処理部54は、ユーザプログラム作成画面を表示部53に表示する機能を有する。ユーザプログラムとしてラダープログラムを用いる場合には、ラダープログラムを作成する環境をユーザに対して提示する。ユーザプログラムとして、実施の形態1で示したデータベースアクセス用命令を使用する場合には、データベースアクセス用命令をユーザプログラム作成画面で使用可能な状態となる。
デバイスメモリ設定画面表示処理部55は、デバイスメモリ設定画面を表示部53に表示する機能を有する。ユーザデータ記憶部12には、上記したように読出すデータベースの格納位置、データベース中から読出すデータの条件、およびデータベースから読出したデータなどが格納される。デバイスメモリ設定画面は、これらの情報をデバイスメモリのどのアドレスに格納するかなどの設定を行うための設定画面である。
設定情報設定画面表示処理部56は、データベースアクセス用設定情報設定画面を表示部53に表示する機能を有する。実施の形態2のように、データベースアクセス用設定情報を用いてデータベースへのアクセスを行う場合には、たとえば図14に示されるようなデータベースアクセス用設定情報の設定画面を表示部53に表示する。
設定部57は、プログラム作成画面表示処理部54、デバイスメモリ設定画面表示処理部55または設定情報設定画面表示処理部56でユーザによって、入力部52を介して設定(入力)され、確定された内容を、通信部51を介してプログラマブルコントローラ10に設定する。
この実施の形態3では、プログラム作成画面表示処理部54、デバイスメモリ設定画面表示処理部55および設定情報設定画面表示処理部56でユーザに対してユーザプログラム、デバイスメモリおよびデータベースアクセス用設定情報を設定するための画面をユーザに対して表示し、それぞれの画面に設定された内容を設定部57でプログラマブルコントローラ10に設定するようにした。これによって、プログラマブルコントローラ10がデータベース格納部13中のデータベースに直接にアクセスして所望のデータを得ることができるデータベースアクセス用命令またはデータベースアクセス用設定情報を作成し、プログラマブルコントローラ10に設定することができるという効果を有する。
なお、上述したプログラマブルコントローラ10でのデータベースアクセス用命令を含むユーザプログラムにおけるデータベースからの読出し方法、またはデータベースアクセス用設定に基づいたデータベースからの読出し方法は、その処理手順を格納したプログラムとして構成することができる。そして、このプログラムを上記したプログラマブルコントローラ10で実行させることによって実現することができる。また、このプログラムは、ハードディスク、SSD(Solid State Drive)、フロッピー(登録商標)ディスク、CD(Compact Disk)−ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile DiskまたはDigital Video Disk)などのコンピュータで読取可能な記録媒体に記録される。この場合、プログラマブルコントローラ10によって記録媒体から読出されるようにしてもよいし、プログラマブルコントローラ10に接続されたエンジニアリングツール50などの情報処理端末で記録媒体から読出され、それをネットワークを介してプログラマブルコントローラ10にインストールしてプログラマブルコントローラ10によって読出されるようにしてもよい。また、このプログラムは、インタネットなどのネットワーク(通信回線)を介して配布することもできる。
以上のように、この発明にかかるプログラマブルコントローラは、2次記憶装置に記憶されるデータベースからデータを読出して処理を行うプログラマブルコントローラに有用である。
10,10A,10B プログラマブルコントローラ、11 ユーザプログラム記憶部、12 ユーザデータ記憶部、13,13A データベース格納部、14 システムプログラム記憶部、15 演算部、16 システムデータ記憶部、30 ネットワーク、50 エンジニアリングツール、51 通信部、52 入力部、53 表示部、54 プログラム作成画面表示処理部、55 デバイスメモリ設定画面表示処理部、56 設定情報設定画面表示処理部、57 設定部、58 制御部、121 検索条件格納領域、122 退避領域、152B データベースアクセス用設定情報、161 データベース問い合わせ用命令格納領域、162 データベースアクセス用設定情報格納領域。
上記目的を達成するため、この発明にかかるプログラマブルコントローラは、ユーザプログラム中の最後のEND命令以外の複数の命令を順に実行し、END命令処理手段による前記END命令の実行後に再び前記ユーザプログラム中の前記複数の命令を順に実行する命令実行手段と、前記命令実行手段での処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納手段と、前記命令中に前記データベースへのアクセス用命令が含まれる場合に、前記アクセス用命令をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手段と、前記データベース格納手段中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定されるデータを取得するデータベース管理手段と、前記命令実行手段による前記ユーザプログラム中の前記複数の命令の実行後に、前記データベース問い合わせ用命令を実行した結果の取得処理を含む前記END命令を実行するEND命令処理手段と、を備え、前記END命令処理手段は、発行された前記データベース問い合わせ用命令に対応する処理が完了した場合には、前記データベース管理手段で取得された前記データをユーザデータ記憶手段の前記データベースへの前記アクセス用命令で指定されるアドレスに書き込んで完了確認処理を行い、発行された前記データベース問い合わせ用命令に対応する処理が完了していない場合には、つぎのEND命令の実行時に前記完了確認処理を行うことを特徴とする。

Claims (16)

  1. ユーザプログラム中の複数の命令を順に実行する命令実行手段と、
    前記命令実行手段での処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納手段と、
    前記命令中に前記データベースへのアクセス用命令が含まれる場合に、前記アクセス用命令をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手段と、
    前記データベース格納手段中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定されるデータを取得するデータベース管理手段と、
    を備えることを特徴とするプログラマブルコントローラ。
  2. 前記アクセス用命令は、前記データベース格納手段中の前記データベースを指定するデータベース指定情報および前記データベース中のテーブル名を含むアクセス対象指定条件を引数として含むことを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記アクセス用命令は、前記データベース中から所望のデータを取得する命令であり、引数として、前記アクセス対象指定条件で検索した結果を格納する格納位置をさらに含み、
    前記アクセス対象指定条件は、前記テーブル内で取得するデータのフィールドを含むことを特徴とする請求項2に記載のプログラマブルコントローラ。
  4. 前記アクセス用命令は、前記データベース中にデータを書込む命令であり、引数として、書込みたい前記データをさらに含み、
    前記アクセス対象指定条件は、前記テーブル内で前記データを書込みたいフィールドを含むことを特徴とする請求項2に記載のプログラマブルコントローラ。
  5. 前記アクセス対象指定条件のそれぞれは、前記ユーザデータ記憶手段の所定の位置に格納され、
    前記引数は、前記アクセス対象指定条件の前記ユーザデータ記憶手段内での格納位置で表現されることを特徴とする請求項2に記載のプログラマブルコントローラ。
  6. 前記データベース問い合わせ用命令生成手段は、前記アクセス用命令の引数を前記データベース問い合わせ用命令の引数と対応付けた命令変換情報に基づいて前記アクセス用命令から前記データベース問い合わせ用命令を生成することを特徴とする請求項2に記載のプログラマブルコントローラ。
  7. ユーザプログラム中の複数の命令を順に実行する命令実行手段と、
    前記命令実行手段での処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納手段と、
    前記データベース格納手段中の前記データベースに含まれるデータを取得する条件が規定されるデータベースアクセス用設定情報を記憶するシステムデータ記憶手段と、
    前記命令中にデータベースへのアクセス指示がある場合に、前記システムデータ記憶手段中の前記データベースアクセス用設定情報をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手段と、
    前記データベース格納手段中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定されるデータへアクセスするデータベース管理手段と、
    を備えることを特徴とするプログラマブルコントローラ。
  8. 前記データベースアクセス用設定情報は、前記データベース格納手段中の前記データベースを指定するデータベース指定情報および前記データベース中のテーブル名を含むアクセス対象指定条件を含むことを特徴とする請求項7に記載のプログラマブルコントローラ。
  9. 前記データベースアクセス用設定情報は、前記データベース中から所望のデータを取得する命令を実行させる情報であり、前記アクセス対象指定条件で検索した結果を格納する格納位置をさらに含み、
    前記アクセス対象指定条件は、前記テーブル内で取得するデータのフィールドを含むことを特徴とする請求項8に記載のプログラマブルコントローラ。
  10. 前記データベース問い合わせ用命令生成手段は、前記データベースアクセス用設定情報の前記アクセス対象指定条件と前記格納位置を、前記データベース問い合わせ用命令の引数と対応付けた命令変換情報に基づいて前記データベースアクセス用設定情報から前記データベース問い合わせ用命令を生成することを特徴とする請求項9に記載のプログラマブルコントローラ。
  11. 前記データベースアクセス用設定情報は、前記データベース中にデータを書込む命令を実行させる情報であり、書込みたい前記データをさらに含み、
    前記アクセス対象指定条件は、前記テーブル内で前記データを書込みたいフィールドを含むことを特徴とする請求項8に記載のプログラマブルコントローラ。
  12. 前記データベース問い合わせ用命令生成手段は、前記データベースアクセス用設定情報の前記アクセス対象指定条件と前記書込みたいデータを、前記データベース問い合わせ用命令の引数と対応付けた命令変換情報に基づいて前記データベースアクセス用設定情報から前記データベース問い合わせ用命令を生成することを特徴とする請求項11に記載のプログラマブルコントローラ。
  13. 前記プログラマブルコントローラは、ネットワークを介してデータベースを有する他のプログラマブルコントローラと接続され、
    前記データベース指定情報には、ネットワークを介して接続される前記他のプログラマブルコントローラの前記データベース格納手段中の前記データベースを指定可能であることを特徴とする請求項8に記載のプログラマブルコントローラ。
  14. ユーザデータ記憶手段と、通常の命令の実行処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納手段と、を備え、ユーザプログラム中の最初の通常の命令から最後に記述されたEND命令までを順に繰り返し実行するプログラマブルコントローラで、前記通常の命令の実行処理に前記データベースへアクセスするプログラマブルコントローラのテーブルデータアクセスプログラムであって、
    前記プログラマブルコントローラに、
    前記通常の命令中に前記データベースへのアクセス用命令が含まれる場合に、前記アクセス用命令をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手順と、
    前記データベース格納手段中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定される前記データベース中のデータにアクセスして所定の処理を行うデータベース管理手順と、
    を実行させるためのプログラマブルコントローラのテーブルデータアクセスプログラム。
  15. ユーザデータ記憶手段と、通常の命令の実行処理に使用されるデータを表形式で保持するデータベースを格納するデータベース格納手段と、前記データベース格納手段中の前記データベースに含まれるデータを取得する条件が規定されるデータベースアクセス用設定情報を記憶するシステムデータ記憶手段と、を備え、ユーザプログラム中の最初の通常の命令から最後に記述されたEND命令までを順に繰り返し実行するプログラマブルコントローラで、前記通常の命令の実行処理に前記データベースへアクセスするプログラマブルコントローラのテーブルデータアクセスプログラムであって、
    前記プログラマブルコントローラに、
    前記通常の命令中にデータベースアクセス指示がある場合に、前記システムデータ記憶手段中の前記データベースアクセス用設定情報をデータベース問い合わせ言語によるデータベース問い合わせ用命令に変換するデータベース問い合わせ用命令生成手順と、
    前記データベース格納手段中の前記データベースにアクセスし、前記データベース問い合わせ用命令で指定されるデータにアクセスして所定の処理を実行するデータベース管理手順と、
    を実行させるためのプログラマブルコントローラのテーブルデータアクセスプログラム。
  16. 入力手段と、
    表示手段と、
    プログラマブルコントローラと接続される通信手段と、
    前記プログラマブルコントローラで実行させるユーザプログラムを作成するプログラム作成画面を前記表示手段に表示させるプログラム作成画面表示処理手段と、
    前記プログラム作成画面表示処理手段で作成された前記ユーザプログラムを前記プログラマブルコントローラに設定する設定手段と、
    を備え、
    前記プログラマブルコントローラで実行される前記ユーザプログラムを構成する命令に、前記プログラマブルコントローラでの処理に使用されるデータを表形式で保持するデータベースにアクセスするアクセス用命令が定義され、
    前記プログラム作成画面表示処理手段は、前記入力手段を介してユーザによって作成された前記アクセス用命令を含む前記プログラム作成画面を前記表示手段に表示し、
    前記設定手段は、前記アクセス用命令を含む前記ユーザプログラムを前記プログラマブルコントローラに設定することを特徴とするプログラマブルコントローラの周辺装置。
JP2013541092A 2013-05-17 2013-05-17 プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム Active JP5518266B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/063855 WO2014184962A1 (ja) 2013-05-17 2013-05-17 プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム

Publications (2)

Publication Number Publication Date
JP5518266B1 JP5518266B1 (ja) 2014-06-11
JPWO2014184962A1 true JPWO2014184962A1 (ja) 2017-02-23

Family

ID=51031279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013541092A Active JP5518266B1 (ja) 2013-05-17 2013-05-17 プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム

Country Status (7)

Country Link
US (1) US9841744B2 (ja)
JP (1) JP5518266B1 (ja)
KR (1) KR101821032B1 (ja)
CN (1) CN105209986B (ja)
DE (1) DE112013006971T5 (ja)
TW (1) TWI509377B (ja)
WO (1) WO2014184962A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014003082B4 (de) * 2014-06-02 2017-05-18 Mitsubishi Electric Corporation Programmierbares Steuerungssystem, programmierbare Steuerung, Programmanzeigevorrichtung und Programmanzeigeverfahren
JP5951123B2 (ja) * 2014-07-14 2016-07-13 三菱電機株式会社 制御装置
JP6366843B2 (ja) * 2015-07-10 2018-08-01 三菱電機株式会社 データ取得装置、データ取得方法及びデータ取得プログラム
JP6627571B2 (ja) * 2016-02-26 2020-01-08 オムロン株式会社 プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム
JP6370503B1 (ja) * 2017-04-17 2018-08-08 三菱電機株式会社 プログラム作成装置
JP6720994B2 (ja) 2018-03-15 2020-07-08 オムロン株式会社 制御システム、コントローラ、および制御方法
JP6737298B2 (ja) 2018-03-15 2020-08-05 オムロン株式会社 コントローラ、制御方法、および制御プログラム
CN108763536B (zh) 2018-05-31 2020-04-14 阿里巴巴集团控股有限公司 数据库访问方法及装置
JP7180158B2 (ja) * 2018-07-13 2022-11-30 オムロン株式会社 プログラム開発装置、およびコントローラ
KR102150335B1 (ko) * 2019-01-17 2020-09-01 주식회사 쓰리데이즈 데이터베이스 관리 시스템
JP7044086B2 (ja) 2019-03-15 2022-03-30 オムロン株式会社 制御システム、制御方法、および制御プログラム
CN112233498B (zh) * 2020-10-14 2023-01-06 烟台鼎钰电子科技有限公司 一种表格式可编程显示控制器
CN112327744B (zh) * 2020-11-20 2021-10-22 深圳市海浦蒙特科技有限公司 用于可编程逻辑控制器的梯形图与指令表互相转换方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103303A (ja) 1996-06-14 1998-01-06 Mitsubishi Electric Corp インターフェース装置
JP2000267703A (ja) 1999-03-15 2000-09-29 Omron Corp プログラマブルコントローラ
JP3155253B2 (ja) 1999-06-29 2001-04-09 株式会社デジタル データ転送システム、データ転送方法およびデータ転送のためのプログラムが記録された記録媒体
JP2002023812A (ja) * 2000-07-05 2002-01-25 Mitsubishi Materials Corp 自動制御システムおよび自動制御方法
JP4694843B2 (ja) * 2002-09-30 2011-06-08 東京エレクトロン株式会社 半導体製作プロセスの監視とコンロトールのための装置
US7467018B1 (en) * 2002-11-18 2008-12-16 Rockwell Automation Technologies, Inc. Embedded database systems and methods in an industrial controller environment
JP2004280664A (ja) * 2003-03-18 2004-10-07 Yaskawa Electric Corp ビット演算装置
JP4244677B2 (ja) 2003-03-31 2009-03-25 三菱電機株式会社 Faコントローラ
JP2007080286A (ja) 2006-11-13 2007-03-29 Omron Corp データ収集装置
US7835806B2 (en) * 2007-01-29 2010-11-16 Rockwell Automation Technologies, Inc. Method for indirect access to controller data using name stored in string tag
JP4895036B2 (ja) 2007-05-14 2012-03-14 横河電機株式会社 分散型制御装置
JPWO2008146477A1 (ja) 2007-05-29 2010-08-19 光洋電子工業株式会社 通信機能を有するplc
JP2009086863A (ja) 2007-09-28 2009-04-23 Koyo Electronics Ind Co Ltd フロントエンドサーバ機能内蔵プログラマブルコントローラ
JP5197431B2 (ja) 2009-02-23 2013-05-15 三菱電機株式会社 プログラマブルコントローラ
JP2010250584A (ja) 2009-04-16 2010-11-04 Koyo Electronics Ind Co Ltd プログラマブル/ロジック&rfidコントローラ
CN102193922B (zh) * 2010-03-04 2013-07-24 杭州华三通信技术有限公司 一种对数据库进行访问的方法和装置
JP5549556B2 (ja) * 2010-11-16 2014-07-16 富士電機株式会社 データ収集システム、データ収集システムの異常要因判定方法
US9128479B2 (en) * 2011-11-11 2015-09-08 Rockwell Automation Technologies, Inc. Automation control and monitoring system and method

Also Published As

Publication number Publication date
CN105209986B (zh) 2017-03-08
DE112013006971T5 (de) 2016-02-18
CN105209986A (zh) 2015-12-30
KR20160006738A (ko) 2016-01-19
TWI509377B (zh) 2015-11-21
US9841744B2 (en) 2017-12-12
WO2014184962A1 (ja) 2014-11-20
JP5518266B1 (ja) 2014-06-11
KR101821032B1 (ko) 2018-01-22
US20160098028A1 (en) 2016-04-07
TW201445267A (zh) 2014-12-01

Similar Documents

Publication Publication Date Title
JP5518266B1 (ja) プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム
US10275221B2 (en) Systems and methods for generating data visualization applications
JP2019520649A (ja) プロセス視覚化プラットフォーム
WO2013191275A1 (ja) 制御装置
KR20170073604A (ko) 데이터 미리보기를 통한 작업 작성 기법
JP7054051B2 (ja) ソフトウェアロボット定義情報生成システム、ソフトウェアロボット定義情報生成方法、及びプログラム
US11176184B2 (en) Information retrieval
JP5755389B1 (ja) 作画ソフトウェア
EP3009900B1 (en) Dynamic recommendation of elements suitable for use in an engineering configuration
US11947877B2 (en) Anti-constraint configuration and enforcement for computer-aided design (CAD) models
WO2015140940A1 (ja) システム構築支援装置、方法、および記録媒体
KR101818745B1 (ko) 도면 및 제품 관리 시스템과 그 제어방법
WO2014108994A1 (ja) プロジェクトデータ作成装置
JP5197431B2 (ja) プログラマブルコントローラ
EP3086244A1 (en) Database system and method of operation thereof
JP6770813B2 (ja) 情報管理装置、情報管理方法、及び情報管理プログラム。
JP5296724B2 (ja) 画面表示データ編集装置及び画面表示データ編集プログラム
JP7021401B1 (ja) ロギング支援装置、ロギングシステム、ロギング支援方法及びプログラム
KR101886986B1 (ko) 엔지니어링 툴 프로그램 및 엔지니어링 툴
JP2018025852A (ja) プログラム分析方法、プログラム分析装置および分析プログラム
US10289644B2 (en) Method for generating database using lookup table
JP6188634B2 (ja) プログラマブルコントローラ、プログラム及び周辺装置
TW201717115A (zh) 商業流程管理系統及商業流程管理方法
JP2008052489A (ja) ファイル管理システム及びファイル管理方法
JP2010097292A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
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: 20140304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5518266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250