JP2000267703A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ

Info

Publication number
JP2000267703A
JP2000267703A JP11068377A JP6837799A JP2000267703A JP 2000267703 A JP2000267703 A JP 2000267703A JP 11068377 A JP11068377 A JP 11068377A JP 6837799 A JP6837799 A JP 6837799A JP 2000267703 A JP2000267703 A JP 2000267703A
Authority
JP
Japan
Prior art keywords
data
dbms
virtual
plc
information
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.)
Pending
Application number
JP11068377A
Other languages
English (en)
Inventor
Norihiko Matsuda
則彦 松田
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP11068377A priority Critical patent/JP2000267703A/ja
Publication of JP2000267703A publication Critical patent/JP2000267703A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 PLCで高速に更新される「データ」に対し
ても、PLCを活用する者がDBMSを意識することな
く、従来のPLCのプログラムの延長線上でDBMSの
情報を活用でき、又、PLC側で、DBMSでの「デー
タ」の更新の「状態」を把握できることから、通信や異
常処理のプログラミングが軽減され、これにより、シス
テムの開発生産性、信頼性を向上させること。 【解決手段】 ユーザプログラムに含まれる命令を順次
に解析・実行する命令実行手段と、入手、更新を行なお
うとするDBMSの「データ」に対応する「キー」並び
に「値」を少なくとも有し、かつ、ユーザ命令を介して
操作可能に仮想IO情報を記憶させた仮想IO記憶手段
と、DBMSの「データ」と仮想IO情報記憶手段の
「データ」とを一致させるためのリフレッシュ手段と、
を具備する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データベース管
理システム(以下、DBMSと称する)と連携可能なプ
ログラマブル・ロジック・コントローラ(以下、PLC
と称する)に係り、特に、PLCの管理するIO情報領
域にデータベースにリンクする仮想的なIO領域を確保
し、この仮想的なIO領域を介することにより、PLC
で収集・演算したデータを、DBMSに高信頼かつ容易
に反映可能としたPLCに関する。
【0002】
【従来の技術】PLCとDBMSとが連携して動作する
制御システムは、例えば、受注から生産に至る工程を一
貫して管理する比較的に大規模な生産ライン等において
従来より知られている。このような制御システムにおい
ては、(1)PLCで収集・演算した結果の「データ」
に一致するようにDBMSの「データ」を更新する動
作、(2)PLCで収集・演算した結果の「データ」を
DBMSに追加する動作、(3)DBMSの「データ」
に一致するようにPLCの「データ」を更新する動作、
からなる3つの動作の実行が通常必要とされる。
【0003】それら3つの動作で取り扱われる情報の種
別には、以下の3つの形態が存在する。
【0004】[情報の種別] 情報種別1:PLC側が正となる(PLC側がオリジナ
ルでDBMS側がそのコピーとなるの意味)情報で、か
つ、DBMSでは、新規のレコード。
【0005】情報種別2:PLC側が正となる情報で、
かつ、DBMSでは、既存のレコードの更新。
【0006】情報種別3:DBMS側が正となる(DB
MS側がオリジナルでPLC側がそのコピーとなるの意
味)情報。
【0007】また、先の3つの動作における「データ」
を一致させるタイミングには、以下の3つの形態が存在
する。
【0008】[一致させるタイミング] タイミング1:時間周期での一致 タイミング2:発生した障害に対する自動復旧 タイミング3:PLCの命令実行時の一致 そのため、PLCとDBMSとが連携して動作する制御
システムにおける「データ」の更新・追加に関する様々
な動作は、上述した「情報種別」と「一致させるタイミ
ング」との組み合わせで表わすことができる。
【0009】ところで、それらの動作を実現する場合、
従来は、ゲートウェイ機能を有する中継処理装置若しく
は中継機構(以下、GWと称する)を、PLCとDBM
Sとの間に介在させることが行われている(図21参
照)。このGWでは、上述した「情報種別」と「一致さ
せるタイミング」との組み合わせで表わされる様々な動
作に合わせて、次のような処理を実行するように仕組ま
れている。
【0010】[情報種別1,2とタイミング1,2との
組み合わせで表される動作] ・時間周期で、PLCに対して、「データ」の読み出し
を行ない、得られた「データ」をDBMSに書き込む処
理。
【0011】[情報種別3とタイミング1,2との組み
合わせで表される動作] ・時間周期で、DBMSの「データ」の読み出しを行
い、PLCに対して「データ」の書き込みを行なう処
理。
【0012】[情報種別1,2とタイミング3との組み
合わせで表される動作] ・PLC側より発行された送信の命令を受信し、DBM
Sに書き込む処理。
【0013】[情報種別3とタイミング3との組み合わ
せで表される動作] ・PLC側より発行された受信の命令を受信し、DBM
Sの「データ」を問い合わせ、その「データ」をPLC
に返す処理。
【0014】
【発明が解決しようとする課題】しかしながら、上述し
たGWを介在させる従来の制御システムでは、次のよう
な幾つかの問題点が指摘されている。
【0015】(1)PLCでの「データ」の高速更新
と、DBMSへの更新結果の把握を両立することが困
難:PLCで、「データ」がDBMSに更新されたかの
「状態」の把握を行なおうとすると、PLC側での「デ
ータ」更新を行なった後、DBMSで行われる更新の結
果を待つ必要がある。PLCは、DBMSに比べ、高
速、高頻度で、「データ」の更新が行なわれるので、そ
の間、PLCに待ちが発生する。そのため、PLCでの
高速更新と、DBMSへの更新結果の把握とを両立させ
ることが困難である。
【0016】(2)データの構造の違いにより変換が必
要:PLCでは、単一の情報を認識する区分に対し、一
つの「データ」しか持たない。それに対し、DBMS
は、2次元の表で「データ」を記録する。そのため、双
方で情報を共有する場合は、変換が必要となる。
【0017】一例として、PLCでは、「生産台数」を
カウントしているとする。その情報は、ある時点の生産
台数である(下記、参照)。一方、DBMSを活用す
る場合、通常、上記の情報に、「生産日」、「生産工
程」の情報が付加され、過去の履歴とともに表形式で情
報が蓄積、管理される(下記、参照)。
【0018】PLCの場合 PLCでカウントした生産台数:256(10/2,生
産工程3の数量) DBMSの場合 生産日 生産工程 生産数 10/1 1 24 10/1 2 122 10/1 3 111 10/2 1 341 10/2 2 23 10/2 3 256 (3)信頼性の低下 GW自体が存在することで、システム全体のMTBFを
低下させる。
【0019】(4)システムの開発生産性の低下 GW自体を開発することが必要であり、システム開発の
コスト増を招く。また、PLC側で、情報の送信、受信
プログラムを作成する必要があり、システム開発のコス
ト増を招く。GW自体に障害が発生した場合の異常処理
をPLC側でプログラミングする必要があり、システム
開発のコスト増を招く。
【0020】この発明は、上記の問題点に着目してなさ
れたものであり、PLCで高速に更新される「データ」
に対しても、PLCを活用する者がDBMSを意識する
ことなく、従来のPLCのプログラムの延長線上でDB
MSの情報を活用でき、又、PLC側で、DBMSでの
「データ」の更新の「状態」を把握できることから、通
信や異常処理のプログラミングが軽減され、これによ
り、システムの開発生産性、信頼性を向上させることを
目的としている。
【0021】
【課題を解決するための手段】この出願の請求項1に記
載の発明は、ユーザプログラムに含まれる命令を順次に
解析・実行する命令実行手段と、入手、更新を行なおう
とするDBMSの「データ」に対応する「キー」並びに
「値」を少なくとも有し、かつ、ユーザ命令を介して操
作可能に仮想IO情報を記憶させた仮想IO情報記憶手
段と、DBMSの「データ」と仮想IO情報記憶手段の
「データ」とを一致させるためのリフレッシュ手段と、
を具備することを特徴とするプログラマブルコントロー
ラにある。
【0022】この出願の請求項2に記載の発明は、リフ
レッシュ手段が、DBMSの「データ」と仮想IO情報
記憶手段の「データ」とを時間周期で一致させる定期リ
フレッシュ手段を含むことを特徴とする請求項1に記載
のプログラマブルコントローラにある。
【0023】この出願の請求項3に記載の発明は、リフ
レッシュ手段が、命令実行手段で所定の即時命令が解析
・実行されるのに応答して起動されて、DBMSの「デ
ータ」と仮想IO情報記憶手段の「データ」とを一致さ
せる都度リフレッシュ手段を含むことを特徴とする請求
項1に記載のプログラマブルコントローラにある。
【0024】この出願の請求項4に記載の発明は、リフ
レッシュ手段が、DBMSの「データ」と仮想IO情報
記憶手段の「データ」とを時間周期で一致させる定期リ
フレッシュ手段と、命令実行手段で所定の即時命令が解
析・実行されるのに応答して起動されて、DBMSの
「データ」と仮想IO情報記憶手段の「データ」とを一
致させる都度リフレッシュ手段との双方を含むことを特
徴とする請求項1に記載のプログラマブルコントローラ
にある。
【0025】この出願の請求項5に記載の発明は、仮想
IO情報記憶手段が、入手、更新を行なおうとするDB
MSの「データ」に対応する「キー」並びに「値」に加
えて、当該「データ」の更新状況を示す「状態」を有
し、該「状態」は、命令実行手段とリフレッシュ手段と
の双方からの操作で逐次更新されることを特徴とする請
求項1に記載のプログラマブルコントローラにある。
【0026】この出願の請求項6に記載の発明は、請求
項1〜5に記載されたプログラマブルコントローラの各
構成手段の全部若しくは一部をコンピュータにて実現す
るためのプログラムを記録させて記録媒体にある。
【0027】本発明は、以上の構成を有することから、
次のような作用効果が得られる。すなわち、従来にあっ
ては、PLCは、ユーザプログラム、IO情報をもと
に、命令実行手段が制御を行い、結果を、入出力インタ
フェース並びにIO情報記憶領域に出力してきた。
【0028】これに対して、本発明にあっては、IO情
報記憶領域を、DBMSに相当する仮想IO情報記憶領
域として拡張し、命令実行手段で、その「データ」
(「キー」、「値」)を更新する。そして、命令実行手
段と並行して処理される、リフレッシュ手段(定期リフ
レッシュ手段、及び/又は、都度リフレッシュ手段によ
り、命令実行手段でのPLCとしての制御に与える影響
を最小限にしつつ、DBMSの更新を行ない、かつ、そ
の更新の「状態」を把握できる。その結果、PLCの活
用者は、従来のPLCのユーザプログラムの延長線上で
DBMSの「データ」を入手、追加、更新することが可
能となる。
【0029】
【発明の実施の形態】以下に、この発明の好適な幾つか
の実施形態を添付図面に従って詳細に説明する。
【0030】[本発明に係るPLCを用いたデータベー
ス連携制御システム]先ず、本発明に係るPLCを用い
たデータベース連携制御システムの構成図が図1に示さ
れている。同図に示されるように、このPLC100に
は、従来のそれと同様にして、ユーザプログラム記憶領
域1と、命令実行機構2と、IO情報記憶領域3と、入
出力インタフェース機構4とが具備されている。
【0031】当業者にはよく知られているように、ユー
ザプログラム記憶領域1には、制御を行なうための手
順、情報等が収められている。命令実行機構2は、ユー
ザプログラム記憶領域1並びにIO情報記憶部3の情報
を元に、制御を実行する。IO情報記憶部3には、入出
力インタフェース4での入出力の情報が収められてい
る。入出力インタフェース4は、外部制御機器200と
のインタフェースを行なう。
【0032】以上の構成に加えて、本発明に係るPLC
100には、DBMSのインタフェース機構5と、仮想
IO情報記憶領域6と、定期リフレッシュ機構7と、都
度リフレッシュ機構8とが新たに設けられる。
【0033】DBMSのインタフェース機構5は、DB
MS300に対し、データの追加、更新、照会を行なう
インタフェース機構である。仮想IO情報記憶領域6
は、DBMS300の「データ」に相当する、PLC側
の「キー」、「値」、「状態」を持つ、仮想的な情報記
憶領域である。以下、個々の情報の項目を「仮想IO」
と称することとする。定期リフレッシュ機構7は、DB
MS300の「データ」と、仮想IO情報記憶領域6の
「データ」とを、時間周期で一致させるものである。都
度リフレッシュ機構8は、DBMS300の「データ」
と、仮想IO情報記憶領域6の「データ」とを、命令実
行時に一致させるものである。
【0034】本発明は、以上の構成を有することから、
次のような作用効果が得られる。すなわち、従来にあっ
ては、PLCは、ユーザプログラム記憶領域1に記憶さ
れたユーザプログラム、入出力インタフェース機構4か
らのIO情報、IO情報領域3に記憶されたIO情報を
もとに、命令実行機構2が制御を行い、結果を、入出力
インタフェース機構4並びにIO情報記憶領域3に出力
してきた。
【0035】これに対して、本発明にあっては、IO情
報記憶領域を、DBMSに相当する仮想IO情報記憶領
域6として拡張し、命令実行機構2で、その「データ」
(「キー」、「値」、「状態」)を更新する。
【0036】そして、命令実行機構2と並行して処理さ
れる、定期リフレッシュ機構7並びに都度リフレッシュ
機構8により、命令実行機構2でのPLCとしての制御
に与える影響を最小限にしつつ、DBMS300の更新
を行ない、かつ、その更新の「状態」を把握できる。
【0037】その結果、PLCの活用者は、従来のPL
Cのユーザプログラムの延長線上でDBMSの「デー
タ」を入手、追加、更新することが可能となる。
【0038】[第1実施形態]PLC側が正となる情報
で、PLCで「命令実行機構」による制御の実行時に、
DBMSへ、PLCの「データ」を新規追加する場合
(情報識別1、タイミング3の場合)における命令実行
機構並びに都度リフレッシュ機構の動作を実現するため
の処理が図2並びに図3に示されている。また、同動作
時における仮想IOのキー並びに値、仮想IOの「状
態」(状態フラグの内容)、DBMS上のキー並びに情
報項目の「状態」遷移図が図4並びに図5に示されてい
る。
【0039】この例では、PLC側において、Aという
「仮想IO」(「仮想IO」Aの、「値」は生産数であ
り、「キー」は、生産を行なった日付と仮定する)を更
新しているものとし、DBMS側においては、Aという
情報項目をBというキーで2次元的に管理しているもの
と想定する。
【0040】(1)PLCにおいて、命令実行機構2が
一連の処理(ステップ202〜206)を実行する途中
で、ユーザプログラムの解析・実行処理中に、「仮想I
O」に対する、「データ」の即時新規追加命令が解析さ
れると(ステップ204YES)、新規レコードである
ことを条件として(ステップ207YES)、図4の例
では、「仮想IO」Aの「キー」は10/1から10/
2に変更され、「値」は80から0に更新される(ステ
ップ208)。その後、命令実行機構2から都度リフレ
ッシュ機構8へと、DBMSへ「データ」の追加依頼の
作成・発行指示が送信れさる(ステップ211)。
【0041】(2)都度リフレッシュ機構8の側では、
この発行指示を受信すると(ステップ301YES)、
仮想IOユニット(仮想IO情報記憶領域)6が正常で
あることを条件として(ステップ302YES)、DB
MS300に対して「データ」の追加を依頼する(ステ
ップ303)。このとき、「仮想IO」の「状態」を
「確定」から「未確定」へと変更する処理も同時に実行
する(ステップ303)。図4の例では、10/2の、
0という値は、PLC100の「仮想IO」では変更が
終了しているが、DBMS300では変更が完了してい
ない。
【0042】(3)その後、都度リフレッシュ機構8の
側では、DBMSでの「データ」の追加が終了するのを
待って(ステップ304YES)、「仮想IO」の「状
態」を「未確定」から「確定」に変更する(ステップ3
05,306)。これにより、PLC100での命令実
行中に、「仮想IO」の「状態」を参照することで、D
BMSへの更新の「状態」を把握することが可能とな
る。
【0043】(4)DBMS300の更新処理に比べ、
PLC100の命令実行機構8における命令実行は高速
に処理が行われる。そのため、(2)から(3)へ至る
過程で、「仮想IO」の「状態」が「未確定」であって
も、「仮想IO」Aの「値」がさらに更新されることが
あり得る。このような場合が図5の「状態」遷移図に示
されている。図5の例では、当初80から0に更新され
てものが、さらに0から10に更新され、その後さらに
10から20に更新されている。これら10,20に更
新された時点では、既に、DBMS300に対して「デ
ータ」の追加を依頼済であり、DBMS300において
は、10/2の0の「データ」の追加中となっている。
また、10,20の更新時点においては、「データ」の
即時新規追加ではなく、「仮想IO」に対する更新とな
る。このような二重の更新が行われた場合に対しては、
後述する第3実施形態おける都度リフレッシュ機構8の
処理により、その都度、DBMS300に対してデータ
追加依頼が送信され(ステップ303)、同時に、「仮
想IO」の「状態」は「未確定&未更新」とされる(ス
テップ308)。
【0044】(5)DBMS300で値0に関する追加
が終了したのちは、再度DBMSに対し、変更依頼を行
なう必要があるため、「仮想IO」の「状態」は「未更
新」とされる(ステップ308)。この「状態」を参照
することで、PLC100の側では「仮想IO」に置い
た「データ」が未更新であることを認識できる。
【0045】(6)以降は、後述する第2実施形態で説
明する手順に従い、定期リフレッシュ機構7の作用によ
り、次のサイクルで残りのデータに関する値の更新が行
なわれる。
【0046】以上、(1)〜(6)で述べたように、P
LC100はDBMS300側の更新結果を待つことな
く、次の更新を行なうことができるため、PLC100
の制御の実行に影響を与えることなく、新規情報の追
加、更新が行なえる。また、PLC100の命令実行の
中で、DBMS300での情報反映の「状態」の把握を
行なうことができる。さらに、後述するように、時間周
期で行われる定期リフレッシュ機構7により、最新の
「データ」で、DBMS300側に更新の依頼が行われ
るため、PLC100での更新都度の複数の更新依頼で
なく最新の1つの更新依頼に集約される。このことによ
り、DBMS300への更新負荷が軽減される。すなわ
ち、図5の例では、PLC100では、10,20の2
つの更新が発生しているが、DBMS300に対する更
新依頼は、最新の「値」:20に集約される。
【0047】[第2実施形態]PLC側が正となる情報
で、時間周期で、DBMSの「データ」をPLCの「デ
ータ」に一致するように更新する場合(情報識別2、タ
イミング1,2の場合)における命令実行機構並びに定
期リフレッシュ機構の動作を実現するための処理が図6
並びに図7に示されている。また、同動作時における仮
想IOのキー並びに値、仮想IOの「状態」(状態フラ
グの内容)、DBMS上のキー並びに情報項目の「状
態」遷移図が図8並びに図9に示されている。
【0048】この例でも、PLC側において、Aという
「仮想IO」(「仮想IO」Aの、「値」は生産数であ
り、「キー」は、生産を行なった日付と仮定する)を更
新しているものとし、DBMS側においては、Aという
情報項目をBというキーで2次元的に管理しているもの
と想定する。
【0049】(1)PLC100において、命令実行機
構2が一連の処理(ステップ602〜606)を実行す
る途中で、ユーザプログラムの解析・実行処理中に、
「仮想IO」に対する、「データ」の出力命令が解析さ
れると(ステップ604YES)、仮想IOのデータと
一致していないことを条件として(ステップ607YE
S)、図8の例では、「仮想IO」Aの「キー」は変化
がないが、「値」が80から、100に更新される(ス
テップ608)。
【0050】(2)次いで、PLC100では、「値」
が変化しているが、DBMSには更新が終了していない
ため、「未更新」という「状態」の認識を行なう。すな
わち、「仮想IO」の「状態」が「確定済み」であるこ
とを条件として(ステップ609確定済み)、「確定済
み」から「未更新」へと「状態」の変更を行う(ステッ
プ605)。
【0051】(3)その後、定期リフレッシュ機構7の
作用により、DBMS300の更新が行われる。すなわ
ち、仮想IOユニット6の異常検出処理(ステップ70
1)、正常な仮想IOユニットに属する「仮想IO」よ
り、未更新の項目を抽出する処理(ステップ702)、
当該情報の「状態」を「未更新」から「未確定」に変更
する処理(ステップ703)を経た後、DBMS300
へデータの更新が依頼される(ステップ704)。その
後、DBMS300においてデータ更新が正常に終了す
るのを待って(ステップ705YES)、「仮想IO」
の「状態」を「未確定」から「確定」に変更する(ステ
ップ706,707)。これにより、PLC100はD
BMS300側の更新結果を待つことなく、次の更新を
行なうことができるため、PLC100の制御の実行に
影響を与えることなく、新規情報の更新が行なえる。ま
た、PLC100では、「仮想IO」の「状態」(「未
更新」、「未確定」、「確定」)を参照することで、D
BMS300に対するデータ更新の状況をいつでも把握
することができる。
【0052】(4)DBMS300の更新処理に比べ、
PLC100の命令実行機構8における命令実行は高速
に処理が行われる。そのため、(2)から(3)へ至る
過程で、「仮想IO」の「状態」が「未更新」であって
も、「仮想IO」Aの「値」がさらに二重に更新される
ことがあり得る。図8の例にあっても、当初80から1
00に更新されたものが、さらに100から102に更
新されている。
【0053】(5)このような二重更新処理が行われる
と、時間周期で実行される定期リフレッシュ機構7の作
用により、変更都度ではなく、最新の「値」(図8の例
では値102)で、DBMS300側に更新の依頼が行
われ(ステップ704)、同時に、「仮想IO」の「状
態」は「未更新」から「未確定」へと変更される。この
ことにより、DBMS300への更新負荷の増加が抑制
される。
【0054】(6)定期リフレッシュ機構7の側では、
DBMS300側での更新処理が終了するのを待って
(ステップ705YES)、「仮想IO」の「状態」を
「未確定」から「確定済」へと変更する(ステップ70
7)。この「仮想IO」の「状態」を参照することによ
り、PLC100はDBMS300へのデータ更新が確
定したことを把握することができる。
【0055】(7)一般に、DBMS300の更新処理
に比べ、PLC100の命令実行機構2の処理はより高
速に行われる。そのため、DBMS300で更新処理が
実行中である「未確定」の「状態」でも、当該更新処理
が実行中であるAという情報が、その最中に、命令実行
機構2でさらに更新されることがあり得る。このような
多重更新の場合が図9の「状態」遷移図に示されてい
る。図9の例では、当初80から100に変更された値
が、定期リフレッシュ処理の実行開始前にさらに100
から102へと変更され、この値102の「状態」で定
期リフレッシュ処理が起動されたものの、その完了に至
る前に、102から105へのさらなる変更が行われて
いる。この場合、命令実行機構2では、値105の更新
処理(ステップ608)に続いて、「仮想IO」の「状
態」を「未確定」から「未確定&未更新」に変更する
(ステップ609,611)。一方、定期リフレッシュ
機構7の側では、DBMS300側でのデータ更新が完
了するのを待って(ステップ705YES)、「仮想I
O」の「状態」を「未確定&未更新」から、「確定」で
はなくて、「未更新」へと変更する。
【0056】(8)DBMS300で値102に関する
更新が終了したのちは、次のサイクルの定期リフレッシ
ュにおいて、当該データ項目は未更新の項目として再び
抽出され(ステップ702)、DBMS300への更新
依頼の対象とされ(ステップ704)、同時に、「仮想
IO」の「状態」は「未更新」から「未確定」に変更さ
れる(ステップ703)。その後、値105に関する更
新が終了するのを待って(ステップ705YES)、
「仮想IO」の内容は「未確定」から「確定」に変更さ
れる(ステップ707)。
【0057】(9)(1)〜(8)の処理の結果、DB
MS300の内容は、「仮想IO」の最新の更新内容に
合わせて定期的に更新され、しかも更新途中で新たな更
新処理が「仮想IO」についてなされた場合には、その
更新内容についても、追って直ちにDBMS300に反
映される。
【0058】(10)通信障害、DBMSへの更新障害
が発生した場合(ステップ705NO)、定期リフレッ
シュ機構7は仮想IOユニット異常との認識を行ない
(ステップ709)、同時に、「仮想IO」の「状態」
を「未更新」に設定する(ステップ710)。定期リフ
レッシュ機構7の処理で復旧を認識できた場合、最新の
「データ」が「仮想IO」に存在するため、その値での
更新を、自動的に行なうことができる(ステップ702
〜704)。これにより、自動復旧が実現できる。
【0059】[第3実施形態]PLC側が正となる情報
で、PLCで命令実行機構2による制御の実行時に、D
BMS300の「データ」をPLC100の「データ」
に一致するように更新する場合(情報種別2、タイミン
グ3の場合)における命令実行機構並びに都度リフレッ
シュ機構を実現するための処理が図10並びに図11に
示されている。また、同動作時における仮想IOのキー
並びに値、仮想IOの「状態」、DBMS上のキー並び
に情報項目の「状態」遷移図が図12並びに図13に示
されている。
【0060】この例でも、PLC側において、Aという
「仮想IO」(「仮想IO」Aの、「値」は生産数であ
り、「キー」は、生産を行なった日付と仮定する)を更
新しているものとし、DBMS側においては、Aという
情報項目をBというキーで2次元的に管理しているもの
と想定する。
【0061】(1)PLC100において、命令実行機
構2が一連の処理(ステップ1102〜1106)を実
行する途中で、ユーザプログラムの解析・実行中に、
「仮想IO」に対する「データ」の即時更新命令が解析
されると(ステップ1104YES)、「仮想IO」の
「データ」と一致していないことを条件として(ステッ
プ1007YES)、図12の例では、「仮想IO」A
の「値」は、80から100へと更新される(ステップ
1108)。
【0062】(2)次いで、PLC100では、DBM
S300に対して更新が終了していないため、「未確
定」という「状態」の認識を行なう。すなわち、「仮想
IO」の「状態」が「確定済み」であることを条件とし
て(ステップ1109確定済み)、「確定済み」から
「未確定」へと「状態」の変更を行なう(ステップ10
10)。その後、DBMS300へデータの更新依頼の
作成・発行指示を、都度リフレッシュ機構8に対して行
う(ステップ1011)。
【0063】(3)すると、都度リフレッシュ機構8の
作用により、DBMS300へ更新の依頼が行われる。
すなわち、都度リフレッシュ機構8の側では、命令実行
機構2からのデータの更新依頼の作成・発行指示が到来
すると(ステップ1101YES)、仮想IOユニット
が正常であることを条件として(ステップ1102YE
S)、DBMS300に対してデータの更新を依頼する
(ステップ1103)。
【0064】(4)DBMS300でのデータ更新が正
常に終了すれば(ステップ1104YES)、「仮想I
O」の「状態」は「未確定」から「確定済」に変更され
る(ステップ1105)。これにより、「仮想IO」の
「状態」を参照することで、PLC100での命令実行
中に、DBMS300の更新の「状態」の把握を行なう
ことができる。
【0065】(5)DBMS300の更新処理に比べ、
PLC100の命令実行機構2は高速に処理が行われ
る。そのため、「仮想IO」の「状態」が「未確定」で
あっても、命令実行機構2によって「仮想IO」の値が
さらに更新されることがあり得る。このような多重更新
の場合が図13に示されている。図13の例では、「仮
想IO」の値が80から100へと更新された時点で、
都度リフレッシュ機構8が起動されてDBMS300の
更新が開始され、その最中に、100から105へと
「仮想IO」の「状態」はさらに更新されている。この
ように二重の更新が行われると、命令実行機構2では、
100から105への更新に際しては、「仮想IO」の
「状態」を「未確定」から「未確定&未更新」へと変更
する(ステップ1009未確定,1012)。
【0066】(6)DBMS300で値100に関する
更新が正常に終了すると(ステップ1104YES)、
都度リフレッシュ機構8により、「仮想IO」の「状
態」は「未確定&未更新」から「未更新」に変更される
(ステップ1105)。
【0067】(7)その後、値105に関するDBMS
300の更新は、第2実施形態で述べたように、定期リ
フレッシュ機構7により、次のサイクルで行なわれる。
【0068】(8)時間周期で実行される定期リフレッ
シュ機構7の作用により、最新の情報で、DBMS30
0側にデータ更新の依頼が行われ(ステップ704)、
同時に、「仮想IO」の「状態」は「未更新」から「未
確定」に変更される(ステップ703)。その後、DB
MS300側でデータ更新が正常に行われるのを待って
(ステップ705YES)、「仮想IO」の「状態」は
「未確定」から「確定済み」に変更される(ステップ7
06,707)。このことにより、DBMS300への
更新負荷の増加が抑制される。すなわち、図13の例で
は、値105,107に関する2つの更新依頼ではな
く、最新の更新依頼である値107の更新依頼1つに集
約される。PLC100の高速実行により、即時出力
が、DBMS300での更新を行なうより高頻度に発生
した場合でも、この機構により、定期的かつ最新の「デ
ータ」での更新に置き換えられるため、DBMSへの更
新負荷の増加が抑制される。
【0069】[第4実施形態]DBMS側が正となる情
報で、時間周期で、PLC側の「データ」を、DBMS
の「データ」と一致するように更新する場合(情報種別
3、タイミング1,2の場合)における命令実行機構並
びに定期リフレッシュ機構の動作を実現するための処理
が図14並びに図15に示されている。また、同動作時
における仮想IOの値、仮想IOの「状態」、DBMS
上の情報の「状態」遷移図が図16に示されている。
【0070】この例では、PLCにおいて、DBMSで
BというキーのAという情報項目で2次元的に管理して
いる情報の中の、1つのレコードの「値」を、「仮想I
O」で使用する場合を想定している。
【0071】(1)時間周期で行われる定期リフレッシ
ュ機構7の動作により、DBMS300に対し、「キ
ー」を指定し、最新の「値」の問い合わせが行われる。
問い合わせ開始時、「未確定」の「状態」となる。すな
わち、定期リフレッシュ機構7の側では、仮想IOユニ
ットの異常検出処理、復旧機構の動作処理(ステップ1
501)に続いて、正常な仮想IOユニットに属する
「仮想IO」より、DBMSが正の情報項目を抽出する
処理(ステップ1502)、当該情報項目の「状態」を
「未確定」に変更する処理(ステップ1503)を経た
後、DBMS300へ情報の照会を依頼する(ステップ
1504)。
【0072】(2)DBMS側での問い合わせが終了
後、「仮想IO」の「値」が更新され、「確定済」の
「状態」となる。すなわち、照会結果が正しく受信され
た場合には(ステップ1505YES)、「仮想IO」
の「値」並びに「状態」の更新を行う(ステップ150
6)。このとき、「仮想IO」の内容は、「未確定」か
ら「確定済み」へと変更される。
【0073】(3)命令実行機構2は、定期リフレッシ
ュ機構7とは、非同期に制御が行われる。その制御を行
ない、「仮想IO」の「値」を使用する時に、その
「値」を使用するかどうかは、「状態」により判断を行
なうことができる。すなわち、PLC100において、
命令実行機構2が一連の処理(ステップ1402〜14
07)を実行する途中で、ユーザプログラムの解析・実
行処理中に、「仮想IO」に対する入力命令が解析され
ると(ステップ1404YES)、命令実行機構2で
は、該当する「仮想IO」に関して、「状態」並びに
「値」の読み出しを行う。図16の例では、サイクル1
での読み出しに際しては値80並びに「確定済み」が、
サイクルmでの読み出しに際しては値80並びに「未確
定」が、サイクルlでの読み出しに際しては値100並
びに「確定済み」がそれぞれ取得される。従って、命令
実行機構2の側では、読み出された値の信頼性を認識で
きる。
【0074】[第5実施形態]DBMS側が正となる情
報で、PLCでの命令実行時に、PLCの「データ」
を、DBMSの「データ」と一致するように更新する場
合(情報種別3、タイミング3の場合)における命令実
行機構並びに都度リフレッシュ機構の動作を実現するた
めの処理が図17並びに図18に示されている。また、
同動作時における仮想IOの値並びに状態、DBMS上
の情報の「状態」遷移図が図19に示されている。
【0075】この例では、PLCにおいて、DBMSで
BというキーのAという情報項目で2次元的に管理して
いる情報の中の、1つのレコードの「値」を、「仮想I
O」で使用する場合を想定している。
【0076】(1)PLCにおいて、命令実行機構2に
より、「仮想IO」の即時入力命令が実行され、最新の
「値」が必要との認識がされる。すなわち、PLCにお
いて、命令実行機構2が一連の処理(ステップ1702
〜1706)を実行する途中で、ユーザプログラムの解
析・実行中に、「仮想IO」に対する即時入力命令が解
析される(ステップ1704YES)。
【0077】(2)DBMSに対し、最新の「値」の要
求を行い、PLC側の情報は、その回答待ちとなる。そ
のため、「未確定」という「状態」、「確定待ち」とい
う「入力命令の実行状態」の認識を行なう。すなわち、
「仮想IO」に対する即時入力命令が解析されると(ス
テップ1704YES)、「入力命令の実行状態」が
「未実行」であって(ステップ1707未実行)かつ
「仮想IO」の「状態」が確定済みであることを条件と
して(ステップ1709確定済み)、「仮想IO」の
「状態」を「確定」から「未確定」に変更したのち(ス
テップ1709)、DBMSへの情報の照会メッセージ
の作成・発行処理(ステップ1710)が実行され、そ
の後、「入力命令の実行状態」は「未実行」から「確定
待ち」へと変更され(ステップ1711)。
【0078】(3)一方、都度リフレッシュ機構8で
は、DBMSに対して「値」の照会が行われる。結果を
入手後、PLCの「仮想IO」の「値」の更新が行わ
れ、「確定」の「状態」となる。すなわち、都度リフレ
ッシュ機構8の側では、発行指示を受信すると(ステッ
プ1801YES)、仮想IOユニットが正常であるこ
とを条件として(ステップ1802YES)、DBMS
へ「データ」の問い合わせを依頼する(ステップ180
3)。その後、照会結果が正しく入手されるのを待って
(ステップ1804YES)、「仮想IO」の「値」並
びに「状態」の更新を行う(ステップ1405)。この
とき、「仮想IO」の「状態」は、「未確定」から「確
定」へと変更される(ステップ1805)。
【0079】(4)命令実行制御において、その「値」
を使用し、制御を継続することができる。この時、「入
力命令の実行状態」を「未実行」との認識を行なう。こ
の時、DBMSの問い合わせ処理に比べ、PLCの「命
令実行機構」は高速に処理が行われる。しかしながら、
この場合については、最新情報を入手が必要であり、
「確定」の「状態」になるまでは、「ユーザプログラ
ム」の実行は待たされることとなる。すなわち、PLC
において、命令実行機構2が一連の処理(ステップ17
02〜1706)を実行する途中で、ユーザプログラム
の解析・実行中に、「仮想IO」に対する即時入力命令
が解析され(ステップ1704YES)、この時点で
「入力命令の実行状態」が「確定待ち」と判定されると
(ステップ1707確定待ち)、「仮想IO」の「状
態」が「確定済み」である場合に限り(ステップ171
2YES)、「状態」並びに「値」の読み出しが行われ
(ステップ1713)、その後、「入力命令の実行状
態」は「確定待ち」から「未実行」へと変更される(ス
テップ1714)。
【0080】最後に、本発明PLCを用いたデータベー
ス連携制御システムの全体構成を図20図に、また中継
装置を用いた従来のデータベース連携制御システムの全
体構成を図21にそれぞれ示す。それらの図の比較から
明らかなように、従来システムにあっては、中継装置G
WがそれぞれのPLCの生産数を問い合わせ、生産管理
システムのDBMSを更新するのに対して、本発明シス
テムにあっては、個々のPLCが生産管理システムのD
BMSを直接更新するのである。
【0081】
【発明の効果】以上の実施の形態の説明からも明らかな
ように、この発明によれば、次のような効果が期待され
る。
【0082】(1)PLCにおいて、「データ」の高速
更新と、DBMSへの更新結果の把握との両立を図るこ
とができる。
【0083】(2)システムの開発生産性の向上 ・DBMSの「データ」と、「仮想IO情報領域」の
「データ」とが一致されることから、通信に関するプロ
グラム、中継装置、機構の開発が不要となる。
【0084】・PLCで高速に更新される「データ」に
対しても、PLCを活用する者がDBMSを意識するこ
となく、従来のPLCのプログラムの延長線上でDBM
Sの情報を活用できる。
【0085】・DBMSでの「データ」の更新の「状
態」を把握できることから、通信や、異常処理のプログ
ラミングが軽減される。
【0086】(3)信頼性の向上 ・「定期リフレッシュ機構」により、障害発生時、自動
復旧が可能となる。
【0087】・PLCの中に一要素として組み込まれる
ため、中継装置、機構が不要となり、その障害に起因す
る、MTBFの低下が取り除ける。
【0088】・PLC側で、DBMSでの「データ」の
更新の「状態」を把握できることから、通信に関する異
常処理のプログラミングが軽減される。
【図面の簡単な説明】
【図1】本発明PLCを用いたデータベース連携制御シ
ステムの構成図である。
【図2】第1実施形態における命令実行機構の処理を示
すフローチャートである。
【図3】第1実施形態における都度リフレッシュ機構の
処理を示すフローチャートである。
【図4】第1実施形態における命令実行とDBMSの更
新にあたって、情報の「状態」の変化を説明する状態遷
移図である。
【図5】第1実施形態における命令実行とDBMSの更
新にあたって、情報の「状態」の変化を説明する状態遷
移図である。
【図6】第2実施形態における命令実行機構の処理を示
すフローチャートである。
【図7】第2実施形態における定期リフレッシュ機構の
処理を示すフローチャートである。
【図8】第2実施形態における命令実行とDBMSの更
新にあたって、情報の「状態」の変化を説明する状態遷
移図である。
【図9】第2実施形態における命令実行とDBMSの更
新にあたって、情報の「状態」の変化を説明する状態遷
移図である。
【図10】第3実施形態における命令実行機構の処理を
示すフローチャートである。
【図11】第3実施形態における都度リフレッシュ機構
の処理を示すフローチャートである。
【図12】第3実施形態における定期リフレッシュ機構
の処理を示すフローチャートである。
【図13】第3実施形態における定期リフレッシュ機構
の処理を示すフローチャートである。
【図14】第4実施形態における命令実行機構の処理を
示すフローチャートである。
【図15】第4実施形態における定期リフレッシュ機構
の処理を示すフローチャートである。
【図16】第4実施形態における命令実行とDBMSの
値の照会にあたって、情報の「状態」の変化を説明する
図である。
【図17】第5実施形態における命令実行機構の処理を
示すフローチャートである。
【図18】第5実施形態における都度リフレッシュ機構
の処理を示すフローチャートである。
【図19】第5実施形態における命令実行とDBMSの
値の照会にあたって、情報の「状態」の変化を説明する
図である。
【図20】本発明PLCを用いたデータベース連携制御
システムの構成図である。
【図21】中継装置を用いた従来のデータベース連携制
御システムの構成図である。
【符号の説明】
1 ユーザプログラム記憶領域 2 命令実行機構 3 IO情報記憶領域 4 仮想IO情報記憶領域 5 DBMSのインタフェース機構 6 仮想IO情報記憶領域 7 定期リフレッシュ機構 8 都度リフレッシュ機構 100 プログラマブル・ロジック・コントローラ
(PLC) 200 外部制御機器 300 データベース管理システム(DBMS)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ユーザプログラムに含まれる命令を順次
    に解析・実行する命令実行手段と、 入手、更新を行なおうとするDBMSの「データ」に対
    応する「キー」並びに「値」を少なくとも有し、かつ、
    ユーザ命令を介して操作可能に仮想IO情報を記憶させ
    た仮想IO情報記憶手段と、 DBMSの「データ」と仮想IO情報記憶手段の「デー
    タ」とを一致させるためのリフレッシュ手段と、 を具備することを特徴とするプログラマブルコントロー
    ラ。
  2. 【請求項2】 リフレッシュ手段が、DBMSの「デー
    タ」と仮想IO情報記憶手段の「データ」とを時間周期
    で一致させる定期リフレッシュ手段を含むことを特徴と
    する請求項1に記載のプログラマブルコントローラ。
  3. 【請求項3】 リフレッシュ手段が、命令実行手段で所
    定の即時命令が解析・実行されるのに応答して起動され
    て、DBMSの「データ」と仮想IO情報記憶手段の
    「データ」とを一致させる都度リフレッシュ手段を含む
    ことを特徴とする請求項1に記載のプログラマブルコン
    トローラ。
  4. 【請求項4】 リフレッシュ手段が、DBMSの「デー
    タ」と仮想IO情報記憶手段の「データ」とを時間周期
    で一致させる定期リフレッシュ手段と、命令実行手段で
    所定の即時命令が解析・実行されるのに応答して起動さ
    れて、DBMSの「データ」と仮想IO情報記憶手段の
    「データ」とを一致させる都度リフレッシュ手段との双
    方を含むことを特徴とする請求項1に記載のプログラマ
    ブルコントローラ。
  5. 【請求項5】 仮想IO情報記憶手段が、入手、更新を
    行なおうとするDBMSの「データ」に対応する「キ
    ー」並びに「値」に加えて、当該「データ」の更新状況
    を示す「状態」を有し、 該「状態」は、命令実行手段とリフレッシュ手段との双
    方からの操作で逐次更新されることを特徴とする請求項
    1に記載のプログラマブルコントローラ。
  6. 【請求項6】 請求項1〜5に記載されたプログラマブ
    ルコントローラの各構成手段の全部若しくは一部をコン
    ピュータにて実現するためのプログラムを記録させて記
    録媒体。
JP11068377A 1999-03-15 1999-03-15 プログラマブルコントローラ Pending JP2000267703A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11068377A JP2000267703A (ja) 1999-03-15 1999-03-15 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11068377A JP2000267703A (ja) 1999-03-15 1999-03-15 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JP2000267703A true JP2000267703A (ja) 2000-09-29

Family

ID=13372004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11068377A Pending JP2000267703A (ja) 1999-03-15 1999-03-15 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP2000267703A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146477A1 (ja) * 2007-05-29 2008-12-04 Koyo Electronics Industries Co., Ltd. 通信機能を有するplc
JP2017187890A (ja) * 2016-04-04 2017-10-12 株式会社たけびし ゲートウェイ装置およびデータ収集システム
US9841744B2 (en) 2013-05-17 2017-12-12 Mitsubishi Electric Corporation Programmable controller, peripheral device thereof, and table data access program of programmable controller
CN109960242A (zh) * 2017-12-25 2019-07-02 欧姆龙株式会社 控制系统以及控制装置
KR102439610B1 (ko) * 2021-04-02 2022-09-01 엘에스일렉트릭(주) 논리연산장치와의 데이터 통신 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146477A1 (ja) * 2007-05-29 2008-12-04 Koyo Electronics Industries Co., Ltd. 通信機能を有するplc
US9841744B2 (en) 2013-05-17 2017-12-12 Mitsubishi Electric Corporation Programmable controller, peripheral device thereof, and table data access program of programmable controller
JP2017187890A (ja) * 2016-04-04 2017-10-12 株式会社たけびし ゲートウェイ装置およびデータ収集システム
CN109960242A (zh) * 2017-12-25 2019-07-02 欧姆龙株式会社 控制系统以及控制装置
CN109960242B (zh) * 2017-12-25 2022-07-05 欧姆龙株式会社 控制系统以及控制装置
KR102439610B1 (ko) * 2021-04-02 2022-09-01 엘에스일렉트릭(주) 논리연산장치와의 데이터 통신 방법

Similar Documents

Publication Publication Date Title
JP2558052B2 (ja) 仮定コミット2フェーズコミットプロトコルを用いるトランザクション処理システム及びその動作方法
JPH04157541A (ja) 分散処理システムの多重データ処理方法
CN1934568A (zh) 将源数据迁移成目标数据的方法、系统和程序
JPH0423144A (ja) データ管理システムおよびデータ管理方法
CN101794247A (zh) 嵌套事务模型下实时数据库故障恢复方法
US7567989B2 (en) Method and system for data processing with data replication for the same
JP2002183088A (ja) オンラインシステム回復方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2000267703A (ja) プログラマブルコントローラ
US7921220B2 (en) Reducing occurrences of two-phase commits in a multi-node computing system
CN104123104B (zh) 日志控制系统及方法
CN120950186A (zh) 事务处理方法和装置、设备、介质及产品
JP2006338197A (ja) トランザクション制御プログラム、トランザクション制御方法及びトランザクション処理システム
US11340590B2 (en) Data collection system, data collection method, and information storage medium
JP2943661B2 (ja) 金融端末装置のファイル照会方式
JP3683831B2 (ja) データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体
JP3999251B2 (ja) フロントエンド処理機能を有する情報処理システム
JP2780601B2 (ja) 電文一括処理システム
JP2674374B2 (ja) オンライン情報処理システムにおけるジャーナル採取方式
JP2605491B2 (ja) 設備管理コントローラ
JP3856637B2 (ja) 処理協調実行方法及びシステム並びに処理協調実行プログラムを記録した記録媒体
JP2845886B2 (ja) 各世代データの管理処理方式
JPH01246645A (ja) ディレイド・ジャーナル・マージ方式
CN114612213A (zh) 一种交易运行时刻的处理方法、装置及电子设备
JPH07311700A (ja) 並行処理システム
JPH0320839A (ja) オンラインプログラム履歴情報採取方式