JP2014157483A - コントローラおよび情報処理装置 - Google Patents

コントローラおよび情報処理装置 Download PDF

Info

Publication number
JP2014157483A
JP2014157483A JP2013027892A JP2013027892A JP2014157483A JP 2014157483 A JP2014157483 A JP 2014157483A JP 2013027892 A JP2013027892 A JP 2013027892A JP 2013027892 A JP2013027892 A JP 2013027892A JP 2014157483 A JP2014157483 A JP 2014157483A
Authority
JP
Japan
Prior art keywords
access
user program
program
access request
unit
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
JP2013027892A
Other languages
English (en)
Other versions
JP6171385B2 (ja
Inventor
Kotaro Okamura
弘太郎 岡村
Masanori Ota
政則 太田
Yoshihide Nishiyama
佳秀 西山
Hiromi Yaoita
宏心 矢尾板
Masaru Nakasaki
勝 中崎
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 JP2013027892A priority Critical patent/JP6171385B2/ja
Publication of JP2014157483A publication Critical patent/JP2014157483A/ja
Application granted granted Critical
Publication of JP6171385B2 publication Critical patent/JP6171385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】ユーザプログラムの実行によって、不適切なアクセス要求が生成および送信されてしまうことを防止できるコントローラ、およびそのコントローラで実行されるユーザプログラムを生成する情報処理装置を提供する。
【解決手段】データベース装置400と通信するための通信インターフェイス6と、制御対象の制御に係るユーザプログラムを実行する命令実行部2と、ユーザプログラムに含まれるデータベース装置へアクセスするためのアクセス命令が命令実行部によって実行されることに応答して、通信インターフェイスにアクセス要求を送信させるアクセス処理部4と、ユーザプログラムに含まれるアクセス命令に従って生成されるアクセス要求が予め定められた条件と一致するときに、アクセス要求の送信を制限する制限部8とを含む。
【選択図】図1

Description

本発明は、制御対象を制御するコントローラおよびそのコントローラで実行されるユーザプログラムを生成する情報処理装置に関する。
多くの生産現場で使用される機械や設備といった制御対象は、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す。)といったコントローラによって制御される。近年の情報処理技術の進歩によって、このようなコントローラについても多機能化が進んでいる。
例えば、特開2012−108642号公報(特許文献1)は、プログラマブルコントローラ(PLC)等の制御装置が収集した所定のデータをデータベースに保存するデータ収集システムを開示する。このプログラマブルコントローラは、通信路を介して、データベースをアクセスするSQL文を複数含むSQL処理群をデータベースに送信するSQL送信部を含む。
特開2012−108642号公報
上述のようなコントローラは、データをデータベース装置へ書込んだり、データベース装置上のデータを削除したりするためのアクセス要求を発行する。このようなアクセス要求としては、典型的には、リレーショナルデータベース管理システムにおいて用いられるSQL文がよく知られている。
PLCなどのコントローラでは、典型的には、制御対象に応じて設計されるユーザプログラムが実行されることで、このようなアクセス要求が生成および送信される。このようなユーザプログラムを用いてアクセス要求を発行するような構成では、プログラムの再利用性などを考慮して、可変な変数(パラメータ)を用いてデータの書込みや削除の対象となる範囲を指定するように設計されることが多い。
このようなプログラム設計においては、ユーザプログラム自体の間違い、参照するパラメータの指定間違い、パラメータへの誤った値の設定などによって、不適切な範囲を対象とするアクセス要求が発行されてしまう可能性がある。このような不適切な範囲を対象とするアクセス要求がデータベース装置へ送信されることで、意図しないデータ処理が実行されるおそれがある。
本発明は、このような状況を鑑みてなされたものであり、その目的は、ユーザプログラムの実行によって、不適切なアクセス要求が生成および送信されてしまうことを防止できるコントローラ、およびそのコントローラで実行されるユーザプログラムを生成する情報処理装置を提供することである。
本発明のある局面に係る制御対象を制御するコントローラは、データベース部と通信するための通信インターフェイスと、制御対象の制御に係るユーザプログラムを実行する命令実行部と、ユーザプログラムに含まれるデータベース部にアクセスするためのアクセス命令が命令実行部によって実行されることに応答して、通信インターフェイスにアクセス要求を送信させるアクセス処理部と、ユーザプログラムに含まれるアクセス命令に従って生成されるアクセス要求が予め定められた条件と一致するときに、アクセス要求の送信を制限する制限部とを含む。
好ましくは、制限部は、アクセス命令またはアクセス要求により定義されるアクセス対象の範囲として、無効な値が設定されているときに、アクセス要求の送信を制限する。
好ましくは、制限部は、アクセス命令またはアクセス要求により定義されるアクセス対象を指定するための条件として、予め定められた不正な条件が設定されているときに、アクセス要求の送信を制限する。
好ましくは、制限部は、ユーザプログラムとは独立してコントローラに格納されるプログラムとして実装される。
好ましくは、命令実行部は、コントローラに接続された外部装置から設定された値に従って、ユーザプログラムを実行し、制限部は、予め定められた条件と一致するか否かの判断を、ユーザプログラムの実行毎に行う。
本発明の別の局面に係る制御対象を制御するコントローラは、1または複数のプロセッサと、システムプログラムとユーザプログラムとを格納するメモリと、データベース部と通信するための通信インターフェイスとを含む。コントローラは、ユーザプログラムの実行を繰返すことによって制御対象を制御するように構成されている。ユーザプログラムは、データベース部にアクセスするためのアクセス命令を含む。アクセス命令は、データベース部にアクセスするアクセス範囲を指定する情報を含む。システムプログラムは、ユーザプログラムの実行に伴ってアクセス命令が実行されると、アクセス範囲を指定する情報に従って、データベース部に対するアクセス要求を生成する処理と、アクセス要求を通信インターフェイスを介して実行する処理とを含む。システムプログラムは、アクセス範囲を指定する情報が予め定められた複数の条件のいずれかと一致するときに、アクセス要求の実行を制限する処理を含む。
本発明のさらに別の局面に係れば、制御対象を制御するコントローラで実行されるユーザプログラムを生成する情報処理装置が提供される。コントローラは、データベース部と通信するための通信インターフェイスを含むとともに、ユーザプログラムに含まれるデータベース部にアクセスするためのアクセス命令の実行に応答して、アクセス要求を送信するように構成されている。情報処理装置は、ユーザプログラムに係るソースプログラムを作成するためのユーザインターフェイスを提供するユーザインターフェイス部と、ソースプログラムからユーザプログラムを生成するためのプログラム生成部とを含む。プログラム生成部は、ソースプログラムに含まれるアクセス命令の定義が予め定められた条件と一致するときに、ユーザプログラムの生成を制限または中止する。
本発明によれば、ユーザプログラムの実行によって、不適切なアクセス要求が生成および送信されてしまうことを防止できる。
本実施の形態に係るPLCの機能的な概要を説明するための図である。 本実施の形態に係るPLCを含む制御システムのシステム構成を示す模式図である。 本実施の形態に係るPLCの主要部を示すハードウエア構成を示す模式図である。 本実施の形態に係るPLCのソフトウェア構成を示す模式図である。 本実施の形態に係るPLCに接続して用いられるサポート装置のハードウエア構成を示す模式図である。 本実施の形態に係るPLCにより提供されるアクセス要求の制限機能の実装例を説明するための模式図である。 本実施の形態に係るPLCにより提供されるアクセス要求の制限機能の処理手順を示すシーケンス図である。 本実施の形態に係るアクセス要求の制限機能に搭載したサポート装置における処理手順を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.概要>
まず、本実施の形態に係るコントローラの概要を機能面から説明する。以下の説明においては、機械や設備などの制御対象を制御するプログラマブルコントローラ(PLC)をコントローラの具現化例として説明を行う。但し、本発明に係るコントローラは、PLCに限られることなく、各種のコントローラや情報処理装置へ適用可能である。
図1は、本実施の形態に係るPLC100の機能的な概要を説明するための図である。図1を参照して、PLC100は、データベース装置400との間でデータの送受信が可能に構成される。つまり、PLC100およびデータベース装置400は、イーサネット(登録商標)などのネットワーク112を介して、データを互いに遣り取りできるように構成される。
より具体的には、PLC100は、命令実行部2と、アクセス処理部4と、通信インターフェイス6とを含む。これらのコンポーネントの一部または全部は、後述するようなプロセッサがプログラムを実行することで実現されてもよし、専用のハードウエアで実現されてもよい。すなわち、図1に示されるコンポーネントは、機能的な観点から模式的に表現したものであって、それぞれのコンポーネントの実現方法については、何ら限定されるものではない。
命令実行部2は、機械や装置などの制御対象の制御に係るユーザプログラム186を実行する。基本的には、命令実行部2は、ユーザプログラム186を周期的またはイベント的に実行する。すなわち、PLC100は、ユーザプログラム186の実行を繰返すことによって制御対象を制御するように構成されている。このユーザプログラム186は、典型的には、後述するようなサポート装置300で作成され、PLC100へ送信される。命令実行部2によって実行するユーザプログラム186が、データベース装置400にアクセスするための命令(アクセス命令)を含んでいる場合もあり、この場合には、このアクセス命令が実行されることで、データベース装置400へのアクセスを要求する内部コマンドがアクセス処理部4へ発行される。
アクセス処理部4は、データベース装置400へのアクセスを要求する内部コマンドを命令実行部2から受信すると、データベース装置400へのアクセス要求発行のために必要な内部コマンドを通信インターフェイス6へ発行される。つまり、アクセス処理部4は、ユーザプログラム186に含まれるデータベース装置400にアクセスするためのアクセス命令が命令実行部2によって実行されることに応答して、通信インターフェイス6にアクセス要求を送信させる。すなわち、システムプログラム188は、ユーザプログラム186の実行に伴ってアクセス命令が実行されると、アクセス範囲を指定する情報に従って、データベース装置400に対するアクセス要求を生成する処理と、アクセス要求を通信インターフェイス6を介して実行する処理とのための命令を含む。
通信インターフェイス6は、アクセス処理部4からの内部コマンドに従って、データベース装置400と通信するために必要なコマンド(要求)を生成し、ネットワーク112を介して送信する。また、通信インターフェイス6は、データベース装置400などからネットワーク112を介して送信されたデータ(実行結果)を受信する。
図1に示すPLC100におけるデータベース装置へのアクセス要求を送信するまでの処理は、(1)命令実行部2によるユーザプログラム186の周期的/イベント実行、(2)ユーザプログラム186に含まれるアクセス命令の実行に応答した、アクセス処理部4によるアクセス要求発行のための内部コマンド発行、(3)アクセス処理部4からの内部コマンドの発行に応答した、通信インターフェイス6によるアクセス要求の送信、となる。
PLC100は、さらに、ユーザプログラム186に含まれるアクセス命令に従って生成されるアクセス要求が予め定められた条件と合致するときに、アクセス要求の送信を制限する制限部8を含む。すなわち、制限部8は、生成されたアクセス要求の内容、または、生成される予定のアクセス要求の内容が不適切または不正であるか否かを逐次判断し、その内容が不適切または不正であると判断すると、アクセス要求の送信を阻止する。
典型的には、制限部8は、送信を阻止すべきアクセス要求の内容を示す制限条件9を予め保持しており、アクセス要求の内容が制限条件9に定義されたいずれかの条件と合致するか否かを必要なタイミングで判断する。
制限部8は、上述したアクセス要求の送信に係る一連の手順のうち、適宜の段階または信号(コマンド)において、いずれかの条件と合致するか否かを判断する。言い換えれば、制限部8がアクセス要求の送信を制限するか否かを判断する段階および対象のデータについては、特に限定されることなく、実装に応じて適宜設計されればよい。すなわち、システムプログラム188は、アクセス範囲を指定する情報が予め定められた複数の条件のいずれかと一致するときに、アクセス要求の実行を制限する処理のための命令を含む。
より具体的には、(a)命令実行部2においてユーザプログラム186に含まれるアクセス命令が解釈されたタイミング、(b)ユーザプログラム186に含まれるアクセス命令の実行によって命令実行部2からアクセス処理部4へ内部コマンドが発行されたタイミング、(c)アクセス処理部4がアクセス要求発行のための内部コマンドを生成したタイミング、(d)アクセス処理部4から通信インターフェイス6へ内部コマンドが発行されたタイミング、(e)通信インターフェイス6がアクセス要求を発行するタイミング、といった段階および対象データに基づいて、対象のアクセス要求が制限対象であるか否かが判断されてもよい。
このような構成を採用することで、ユーザプログラム186および/またはユーザプログラム186が参照する変数(パラメータ)に誤りがある場合などに、不適切なアクセス要求が生成および送信されてしまうことを事前に防止できる。また、制限条件9の内容を適切に定義することで、データベース装置400への不正なアクセスなどを事前に防止することもできる。
以下、本実施の形態に係るPLC100およびそれに実装される機能について、より詳細に説明する。
<B.システム構成>
図2は、本実施の形態に係るPLC100を含む制御システム1のシステム構成を示す模式図である。図2を参照して、制御システム1は、PLC100と、PLC100に接続されるサポート装置300と、PLC100からのアクセスを受けるデータベース装置400とを含む。PLC100は、ユーザプログラムを周期的またはイベント的に実行する。このユーザプログラムに含まれるアクセス命令が実行されることで、データベース装置400への処理が実行される。
サポート装置300は、PLC100で実行されるユーザプログラムを生成する情報処理装置の典型例である。さらに、サポート装置300は、接続ケーブル114を介してPLC100に接続され、PLC100との間で各種パラメータの設定、プログラミング、モニタ、デバッグなどの機能を提供する。PLC100とサポート装置300との間は、典型的には、USB(Universal Serial Bus)規格に従って通信可能に構成される。
PLC100は、制御演算を実行するCPUユニット104と、1つ以上のIO(Input/Output)ユニット106とを含む。これらのユニットは、PLCシステムバス108を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット102によって適切な電圧の電源が供給される。
制御システム1において、PLC100は、(PLCシステムバス108を介して接続される)IOユニット106を介して、および/または、フィールドバス110を介して、各種のフィールド機器との間でデータを遣り取りする。これらのフィールド機器は、制御対象に対して何らかの処理を行うためのアクチュエータや、制御対象から各種情報を取得するためのセンサなどを含む。図2には、このようなフィールド機器の一例として、検出スイッチ10と、リレー20と、モータ32を駆動するサーボモータドライバ30とを含む。PLC100には、フィールドバス110を介してリモートIOターミナル200も接続されている。リモートIOターミナル200は、基本的には、IOユニット106と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル200は、フィールドバス110でのデータ伝送に係る処理を行うための通信カプラ202と、1つ以上のIOユニット204とを含む。これらのユニットは、リモートIOターミナルバス208を介して、データを互いに遣り取りできるように構成される。
<C.PLC100の構成>
次に、本実施の形態に係るPLC100の構成について説明する。図3は、本実施の形態に係るPLC100の主要部を示すハードウエア構成を示す模式図である。図4は、本実施の形態に係るPLC100のソフトウェア構成を示す模式図である。
図3を参照して、PLC100のCPUユニット104のハードウエア構成について説明する。CPUユニット104は、プロセッサ120と、チップセット122と、システムクロック124と、主メモリ126と、不揮発性メモリ128と、USBコネクタ130と、PLCシステムバスコントローラ140と、フィールドバスコントローラ150と、上位通信コントローラ160と、メモリカードインターフェイス170とを含む。チップセット122と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ120およびチップセット122は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ120は、チップセット122から内部クロックに従って順次供給される命令コードを解釈して実行する。説明の便宜上、単一のプロセッサ120のみを例示するが、これらに限られることなく、任意の構成を採用できる。例えば、単一のコアを含むプロセッサを複数含む構成や、単一のプロセッサを複数含む構成、複数のコアを含むプロセッサを複数含む構成などを採用してもよい。つまり、本実施の形態に係るコントローラは、1または複数のプロセッサがプログラムを実行することで実現されてもよい。
チップセット122は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ120に必要な命令コードを生成する。システムクロック124は、予め定められた周期のシステムクロックを発生してプロセッサ120に提供する。チップセット122は、プロセッサ120での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
CPUユニット104は、記憶手段として、主メモリ126および不揮発性メモリ128を有する。主メモリ126は、揮発性の記憶領域であり、プロセッサ120で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。不揮発性メモリ128は、OS(Operating System)、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に保持する。
USBコネクタ130は、サポート装置300とCPUユニット104とを接続するためのインターフェイスである。典型的には、サポート装置300から転送される実行可能なプログラムなどは、USBコネクタ130を介してCPUユニット104に取込まれる。
CPUユニット104は、通信手段として、PLCシステムバスコントローラ140、フィールドバスコントローラ150、および上位通信コントローラ160を有する。これらの通信回路は、データの送信および受信を行う。
PLCシステムバスコントローラ140は、PLCシステムバス108を介したデータの遣り取りを制御する。より具体的には、PLCシステムバスコントローラ140は、バッファメモリ142と、PLCシステムバス制御回路144と、DMA(Dynamic Memory Access)制御回路146とを含む。PLCシステムバスコントローラ140は、PLCシステムバスコネクタ148を介してPLCシステムバス108と接続される。
フィールドバスコントローラ150は、バッファメモリ152と、フィールドバス制御回路154と、DMA制御回路156とを含む。フィールドバスコントローラ150は、フィールドバスコネクタ158を介してフィールドバス110と接続される。上位通信コントローラ160は、バッファメモリ162と、上位通信制御回路164と、DMA制御回路166とを含む。上位通信コントローラ160は、上位通信コネクタ168を介してネットワーク112と接続される。
メモリカードインターフェイス170は、CPUユニット104に対して着脱可能なメモリカード172とプロセッサ120とを接続する。
次に、図4を参照して、本実施の形態に係るPLC100が提供する各種機能を実現するためのソフトウェア構成について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット104のプロセッサ120によって実行される。
図4を参照して、CPUユニット104で実行されるソフトウェアとしては、OS180と、システムプログラム188と、ユーザプログラム186との3階層になっている。
OS180は、プロセッサ120がシステムプログラム188およびユーザプログラム186を実行するための基本的な実行環境を提供する。
システムプログラム188は、PLC100としての基本的な機能を提供するためのソフトウェア群である。具体的には、システムプログラム188は、シーケンス命令ライブラリ190と、DB(データベース)アクセス処理ライブラリ191と、監視処理ライブラリ192と、入出力処理ライブラリ193と、Toolインターフェイス処理プログラム194と、スケジューラ195とを含む。
これに対して、ユーザプログラム186は、制御対象に対する制御目的に応じて任意に作成されたプログラムである。すなわち、ユーザプログラム186は、制御システム1を用いて制御する対象のライン(プロセス)などに応じて、任意に設計される。
ユーザプログラム186は、シーケンス命令ライブラリ190と協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム186は、シーケンス命令ライブラリ190によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、ユーザプログラム186およびシーケンス命令ライブラリ190を「制御プログラム」と総称する場合もある。
これらのプログラムやライブラリなどは、不揮発性メモリ128に格納される。すなわち、不揮発性メモリ128は、システムプログラム188とユーザプログラム186とを格納するメモリに相当する。
データ定義情報182は、ユーザプログラム186などが実行される際に、参照されるデータ(入力データ、出力データ、内部データ)をユニークな変数として扱うための定義を含む。稼動ログ184には、システムプログラム188およびユーザプログラム186の実行に伴って、予め定められた事象が発生した際に、当該発生した事象の情報が時刻情報と関連付けて格納される。すなわち、稼動ログ184には、システムプログラム188および/またはユーザプログラム186の実行に伴う各種情報がログ(履歴情報)として格納される。
以下、各プログラムについてより詳細に説明する。
シーケンス命令ライブラリ190は、ユーザプログラム186の実行に伴って、ユーザプログラム186内で指定されているシーケンス命令の実体を呼び出して、その命令の内容を実現するための命令コード群を含む。
DBアクセス処理ライブラリ191は、ユーザプログラム186の実行に伴って、データベース装置400にアクセスするために必要な処理を実現するための命令コード群を含む。DBアクセス処理ライブラリ191は、ユーザプログラム186において指定可能な命令に対応する実行コードを含む。
監視処理ライブラリ192は、本実施の形態に係るアクセス要求の制限機能を実現するためのプログラムである。監視処理ライブラリ192によって提供される機能の詳細については、後述する。
入出力処理ライブラリ193は、IOユニット106や各種のフィールド機器との間で、入力データの取得および出力データの送信を管理するためのプログラムである。
Toolインターフェイス処理プログラム194は、サポート装置300との間でデータを遣り取りするためのインターフェイスを提供する。
スケジューラ195は、予め定められた優先度やシステムタイマの値などに従って、制御プログラムを実行するためのスレッドやプロシージャを生成する。
ユーザプログラム186は、上述したように、ユーザにおける制御目的(例えば、対象のラインやプロセス)に応じて作成される。ユーザプログラム186は、典型的には、CPUユニット104のプロセッサ120で実行可能なオブジェクトプログラム形式になっている。ユーザプログラム186は、サポート装置300などにおいて、ラダー形式やファンクションブロック形式で記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラムは、サポート装置300からCPUユニット104へ転送され、不揮発性メモリ128などに格納される。
上述の説明においては、プロセッサ120がメモリに格納されているユーザプログラム186の実行にあたって、システムプログラムを読み出し、システムプログラム内のDBアクセス処理ライブラリ191および監視処理ライブラリ192に含まれるプログラムを実行する形態について例示した。しかしながら、ユーザプログラム186で記述される、アクセス命令の実行を受けて、データベース装置に対するアクセス要求を送受信するプログラム(一例として、データベース接続サービス)、および、命令実行にあたってのデータベースにアクセスする範囲を指定する情報を監視するプログラム(一例として、監視サービス)を含む構成であれば、上述の実施の形態に限定されない。
<D.サポート装置300の構成>
次に、本実施の形態に係るサポート装置300について説明する。サポート装置300は、PLC100のCPUユニット104の使用を支援するためのものであり、PLC100との間で各種パラメータの設定、プログラミング、モニタ、デバッグなどの機能を提供する。
図5は、本実施の形態に係るPLC100に接続して用いられるサポート装置300のハードウエア構成を示す模式図である。サポート装置300は、典型的には、汎用のコンピュータで構成される。
図5を参照して、サポート装置300は、OSを含む各種プログラムを実行するCPU302と、BIOSや各種データを格納するROM(Read Only Memory)304と、CPU302でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM306と、CPU302で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)308とを含む。より具体的には、ハードディスク308には、サポート装置300が提供する機能を実現するためのサポートプログラム330が格納されている。
サポート装置300は、さらに、ユーザからの操作を受付けるキーボード310およびマウス312と、情報をユーザに提示するためのモニタ314とを含む。さらに、サポート装置300は、PLC100(CPUユニット104)などと通信するための通信インターフェイス(IF)318を含む。
サポート装置300で実行されるサポートプログラム330などは、典型的には、コンピュータ読取可能な記録媒体の一例である光学ディスク332に格納されて流通する。光学ディスク332に格納されたサポートプログラムは、光学ディスク読取装置316によって読み取られ、ハードディスク308などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
<E.データベース装置400の構成>
次に、本実施の形態に係るデータベース装置400について説明する。データベース装置400としては、データベースを提供する公知の構成を採用することができる。このようなデータベースとしては、リレーショナルデータ型やオブジェクトデータ型といった任意の構成を採用できる。データベース装置400は、汎用的なコンピュータアーキテクチャに従って構成されるため、ここではその詳細な説明は繰返さない。
データベース装置400は、PLC100からの接続要求やアクセス要求(リレーショナルデータ型では、SQL文)を受けて、必要な処理を実行し、その処理結果などをPLC100へ応答する。典型的には、SQL文によって、指定されたデータを指定された位置または範囲に書込む、指定された位置または範囲に格納されているデータを読出す、指定された位置または範囲に格納されているデータを削除する、といった処理が実行される。
上述の説明においては、データベースを提供する装置であるデータベース装置400を例示したが、このような構成に限定されることなく、各種の構成を採用できる。すなわち、データを保持する機能、アクセス要求に応じて処理を行う機能、処理結果をクライエントに応答する機能といった、データベースとしての基本的な機能を有する構成であれば、任意の構成を採用できる。そのため、単一の装置にデータベース機能に加えて、他の機能を有する構成や、複数の装置が連係して単一のデータベース機能を提供する構成などを採用できる。
<F.アクセス要求の制限機能>
次に、本実施の形態に係るPLC100により提供されるアクセス要求の制限機能の実装例について説明する。
図6は、本実施の形態に係るPLC100により提供されるアクセス要求の制限機能の実装例を説明するための模式図である。図6には、ユーザプログラム186においてデータベース装置400にアクセスするためのアクセス命令が定義されている例を示す。図6には、アクセス命令の一例として、格納されているデータを削除するための「DB_DELETE」命令を示すが、これに限られることなく、データベース装置400に送信する対象のデータやデータベース装置400のデータにアクセスする範囲(アクセス範囲)を指定される情報などを含む、様々な命令を指定できる。このように、アクセス命令は、データベース装置400にアクセスするアクセス範囲を指定する情報を含む。
典型的には、ユーザがサポート装置300を操作して、ユーザプログラム186内でDBアクセス命令(DB_DELETE)を指定したとする。このユーザプログラム186が実行され、DBアクセス命令の実行タイミングになると、DBアクセス処理ライブラリ191(図4)の対応する命令コードが呼び出されて、データベース装置400へのアクセス要求を含むSQL文が生成および送信される。すなわち、システムプログラム188に含まれるDBアクセス処理ライブラリ191によって実現されるDB接続サービスが提供されており、ユーザプログラム186内のDBアクセス命令の実行に伴って、DB接続サービスがトリガーされる。そして、DB接続サービスは、SQL文を生成し、生成したSQL文をデータベース装置に対応するドライバソフトを介してデータベース装置に送信する。具体的には、DBアクセス機能は、上位通信コントローラ160(図3)およびDBアクセス処理ライブラリ191(図4)によって、DB接続サービスが生成したSQL文を、ネットワーク112を介してデータベース装置400へ送信する。
データベース装置400は、PLC100からのSQL文を受信すると、それに従って処理を実行し、必要に応じて、その結果をPLC100へ応答する。
本実施の形態に係るPLC100では、さらに、DBアクセス命令の実行に伴って生成される(または、生成される予定の)SQL文が予め定められた制限条件と合致するときに、アクセス要求の送信を制限する機能(アクセス要求の制限機能)が実装される。このアクセス要求の制限機能は、システムプログラム188に含まれる監視処理ライブラリ192によって実現される監視サービスによって提供される。監視サービスは、図1に示す制限部8に相当し、DB接続サービスと連係して、アクセス要求のうち、その内容が不適切または不正であるものを検知し、その送信を制限する。
図6には、DB接続サービスとは独立に監視サービスを構成する例を示すが、DB接続サービスに含まれる一部の機能として監視サービスを実装してもよいし、その他の任意の実装形態を採用してもよい。但し、監視サービスは、ユーザプログラム186とは独立してPLC100に格納されるプログラム(あるいは、ライブラリ)として実装されることが好ましい。
DB接続サービスおよび監視サービスは、処理の実行に応じて、その処理の内容を時刻情報と関連付けて(つまり、実行ログとして)稼動ログ184(図6に示す例では、メモリカード172に格納されるログファイル1842)に書込む。つまり、PLC100の稼動状況のログが保存される。DB接続サービスは、アクセス命令の実行に伴って、SQL文を生成および送信したときに、その内容を稼動ログ184に書込み、また、監視サービスは、生成されたSQL文が所定の制限条件に合致して送信が制限されたときに、その内容(例えば、いずれの制限条件に合致したのかという情報など)を稼動ログ184に書込む。
サポート装置300は、稼動ログ184の内容を確認するための機能を有しており、何らかのエラーが発生した場合に、ユーザはそのサポート装置300の機能を利用して、エラーの原因や内容などを確認することができる。
<G.制限条件>
次に、本実施の形態に係るアクセス要求の制限機能で用いる制限条件の一例について説明する。
(g1:誤操作/誤処理の防止)
SQL文などのアクセス要求において、データベース装置400に格納されているデータの選択(SELECT命令)、データの更新(UPDATE命令)、データの削除(DELETE命令)などを実行する場合には、実行の対象となるデータの位置や範囲を指定する必要がある。このような命令を実行する際に、実行の対象となるデータの位置や範囲が指定されていないと、無条件に処理が実行されてしまう。この結果、データベース装置400に格納されているすべてのデータを誤って削除してしまったり、すべてのデータを誤って更新してしまったりする。
特に、ユーザプログラム186において、これらの命令の対象となる位置や範囲について、変数(パラメータ)を用いて指定することもできる。例えば、正式稼動前の調整時やデバック時には、ユーザがサポート装置300を操作して、PLC100上のこれらの変数を任意に変更しつつ、その実行結果を確認するような手順が行われる。このような場合、ユーザが変数として誤った値を設定してしまうと、意図しないアクセス要求が生成および送信されてしまう。
そこで、アクセス命令またはアクセス要求により定義されるアクセス対象の範囲として、無効な値が設定されているときに、アクセス要求の送信が制限される。より具体的には、アクセス対象の範囲として、「null」や「*(ワイルドカード)」が設定されているような場合に、アクセス要求の送信が制限される。
例えば、「Table1」という名前が付与されたデータベースのあるデータを削除するために、ユーザプログラム186において、(1)に示すようなアクセス命令が定義されているとする。ここで、(variable1)は、削除対象の範囲を指定する変数を意味する。
DELETE (variable1) FROM Table1 …(1)
この変数の設定値に応じて、(1)のアクセス命令は、以下の(2)〜(4)に示すようなコマンドとして解釈され得る。
DELETE 100 FROM Table1 …(2)
DELETE (null) FROM Table1 …(3)
DELETE * FROM Table1 …(4)
これらのコマンドのうち、(2)については、例えば、削除対象が100番目のカラムであることが明示されており、すべてのデータを削除対象にはしないので、データベース装置400への送信が許可される。
一方、(3)および(4)については、すべてのデータが削除対象になり得るので、データベース装置400への送信が制限される。より具体的には、(3)については、アクセス要求によって削除されるデータの範囲が明示的に指定されていない(つまり、null(ヌル)コード)ので、すべてのデータが削除されてしまう可能性があり、送信が制限される。
同様に、(3)については、アクセス要求によって削除されるデータの範囲がすべてに指定されている(つまり、*(ワイルドカード))ので、送信が制限される。
SELECT命令やUPDATE命令についても同様に、送信が制限される。このような対象の位置や範囲を指定するパラメータは、SQLにおいては、where句と呼ばれており、このwhere句の内容が監視される。
このように、送信を阻止すべきアクセス要求の内容を示す制限条件9としては、「アクセス対象の範囲として無効な値」が設定されているという条件を含む。この無効な値とは、nullコードやワイルドカードなどを含む。
(g2:不正操作/不正処理の防止)
命令の実行の対象となるデータの範囲を条件式としてユーザに指定させるように構成する場合においては、悪意のユーザが、データベース装置400からデータを抜き取るような操作を行うことも想定される。
そこで、アクセス命令またはアクセス要求により定義されるアクセス対象を指定するための条件として、予め定められた不正な条件式が設定されているときに、アクセス要求の送信が制限される。より具体的には、常に成立する(真になる)ような条件式を含めてアクセス対象が定義されているような場合には、そのアクセス要求の送信が制限される。例えば、このような条件の一例としては、公知のセキュリティホールとして知られているInjectionがある。
<H.処理手順>
次に、本実施の形態に係るPLC100により提供されるアクセス要求の制限機能の処理手順について説明する。図7は、本実施の形態に係るPLC100により提供されるアクセス要求の制限機能の処理手順を示すシーケンス図である。図7に示すシーケンス図においては、PLC100の内部処理に加えて、サポート装置300およびデータベース装置400との遣り取りについても示す。
あるタイミングにおいて、ユーザがサポート装置300を操作して、PLC100が保持している変数(パラメータ)を変更する操作を行ったとする(シーケンスSQ100)。この操作に応答して、サポート装置300は、PLC100が保持している変数(パラメータ)を更新する(シーケンスSQ102)。
続いて、PLC100は、ユーザプログラム186を周期的またはイベント的に実行する。このとき、ユーザプログラム186において参照されている変数は、変数テーブルなどに格納されている値に更新される。つまり、PLC100の命令実行部は、PLC100(コントローラ)に接続されたサポート装置300(外部装置)から設定された値に従って、ユーザプログラム186を実行する。
ユーザプログラム186にアクセス命令が含まれている場合には、このアクセス命令が実行される(シーケンスSQ104)ことで、アクセス要求を指示する内部コマンドがシステムプログラム188によって提供されるDB接続サービスへ発行される(シーケンスSQ106)。すると、システムプログラム188によって提供される監視サービスは、その発行された内部コマンドによって指示されるアクセス要求の内容を判断する(シーケンスSQ108)。より具体的には、内部コマンドによって指示されるアクセス要求の内容が制限条件に定義されたいずれかの条件と合致するか否かを判断する。
制限条件に定義されたいずれの条件とも合致しなければ(シーケンスSQ108において「OK」)、DB接続サービスは、データベース装置400に対して、アクセス命令に含まれるデータアクセス範囲に対するアクセス要求を発行し、アクセス要求をデータベース装置400へ送信する(シーケンスSQ110)。
データベース装置400は、受信したアクセス要求に従って処理を実行し、その実行結果をDB接続サービスへ返送する(シーケンスSQ116)。DB接続サービスは、その実行結果をユーザプログラム186の実行による戻り値として返す(シーケンスSQ118)。
また、DB接続サービスは、アクセス要求の送信および実行結果の受信に係る処理を示す履歴を稼動ログ184へ出力する(シーケンスSQ120)。
これに対して、制限条件に定義されたいずれかの条件と合致すれば(シーケンスSQ108において「NG」)、監視サービスは、アクセス要求の送信を遮断する(シーケンスSQ122)。そして、監視サービスは、アクセス要求の遮断に係る処理を示す履歴を稼動ログ184へ出力する(シーケンスSQ124)。
その後、所定の周期または条件が成立することで、ユーザプログラム186が再実行される。このように、PLC100の制限部は、予め定められた制限条件と一致するか否かの判断を、ユーザプログラム186の実行毎に行う。
<I.その他の実施の形態>
本実施の形態に係るアクセス要求の制限機能を、PLC100のシステムプログラムの一部として実装する例について説明したが、サポート装置300においてユーザプログラム186を生成する機能の一部として実装してもよい。すなわち、ユーザが作成したユーザプログラム(ソースプログラム)を実行可能な形式に変換(コンパイル)する際の機能として、本実施の形態に係るアクセス要求の制限機能を実装してもよい。ここで、サポート装置300は、制御対象を制御するPLC100で実行されるユーザプログラム186を生成する情報処理装置に相当する。
図8は、本実施の形態に係るアクセス要求の制限機能に搭載したサポート装置300における処理手順を示すフローチャートである。図8に示す各ステップは、典型的には、コンピュータがサポートプログラム330を実行することで実現される。
図8を参照して、サポート装置300は、ユーザからのユーザプログラム186の作成操作を受付ける(ステップS100)。ステップS100において、サポート装置300は、ユーザプログラムに係るソースプログラムを作成するためのユーザインターフェイスを提供する。より具体的には、サポート装置300は、ユーザプログラム186の作成に係る編集画面やデバッグ画面を表示するとともに、ユーザ操作を受付ける。
続いて、サポート装置300は、実行可能な形式のユーザプログラム186を生成(コンパイル)するようにユーザ操作を受けたか否かを判断する(ステップS102)。ユーザ操作を受けていなければ(ステップS102においてNO)、ステップS100以下の処理が繰返される。
これに対して、ユーザ操作を受けると(ステップS102においてYES)、サポート装置300は、作成されたユーザプログラム(ソースプログラム)を解釈(パース)する(ステップS104)。そして、サポート装置300は、作成されたユーザプログラム(ソースプログラム)に含まれるアクセス命令に従って生成されるアクセス要求が予め定められた条件(送信を阻止すべきアクセス要求の内容を示す制限条件)と合致するか否かを判断する(ステップS106)。
アクセス要求が予め定められた条件と合致しなければ(ステップS106においてNO)、サポート装置300は、作成されたユーザプログラム(ソースプログラム)から実行可能な形式のユーザプログラム186を生成する(ステップS108)。すなわち、サポート装置300は、ソースプログラムからユーザプログラム186を生成する。そして、一連の処理は終了する。この処理の後、生成されたユーザプログラム186は、PLC100へ転送される。
これに対して、アクセス要求が予め定められた条件と合致すれば(ステップS106においてYES)、サポート装置300は、実行可能な形式のユーザプログラム186の生成を制限または中止する(ステップS110)。併せて、サポート装置300は、作成されたユーザプログラム(ソースプログラム)の不備をユーザに対して通知してもよい。より具体的には、サポート装置300は、制限条件に定義されたいずれかの条件と合致するアクセス命令がユーザプログラム(ソースプログラム)に含まれる場合には、ユーザプログラム186を生成しない。あるいは、サポート装置300は、対象のアクセス命令を無視して、残りの部分のみを含むユーザプログラム186を生成してもよい。
つまり、サポート装置300のプログラム生成部は、ソースプログラムに含まれるアクセス命令の定義が予め定められた条件と一致するときに、ユーザプログラム186の生成を制限または中止する。そして、一連の処理は終了する。
<J.利点>
本実施の形態によれば、何らかの理由によって、データベース装置に対して不適切なアクセス要求が生成および送信されてしまうことを事前に防止できる。これによって、ユーザのミスや意図的なアクセスによってデータベース装置に格納されているデータの破損や不正アクセスを防止できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、10 検出スイッチ、20 リレー、30 サーボモータドライバ、32 モータ、100 PLC、102 電源ユニット、104 CPUユニット、106 IOユニット、108 PLCシステムバス、110 フィールドバス、112 ネットワーク、114 接続ケーブル、120 プロセッサ、122 チップセット、124 システムクロック、126 主メモリ、128 不揮発性メモリ、130 USBコネクタ、140 PLCシステムバスコントローラ、142,152,162 バッファメモリ、144 PLCシステムバス制御回路、146,156,166 DMA制御回路、148 PLCシステムバスコネクタ、150 フィールドバスコントローラ、154 フィールドバス制御回路、158 フィールドバスコネクタ、160 上位通信コントローラ、164 上位通信制御回路、168 上位通信コネクタ、170 メモリカードインターフェイス、172 メモリカード、180 OS、182 データ定義情報、184 稼動ログ、1842 ログファイル、186 ユーザプログラム、188 システムプログラム、190 シーケンス命令ライブラリ、191 DB(データベース)アクセス処理ライブラリ、192 監視処理ライブラリ、193 入出力処理ライブラリ、194 Toolインターフェイス処理プログラム、195 スケジューラ、200 リモートIOターミナル、202 通信カプラ、208 ターミナルバス、300 サポート装置、302 CPU、304 ROM、306 RAM、308 ハードディスク、310 キーボード、312 マウス、314 モニタ、316 光学ディスク読取装置、330 サポートプログラム、332 光学記録媒体、400 データベース装置。

Claims (7)

  1. 制御対象を制御するコントローラであって、
    データベース部と通信するための通信インターフェイスと、
    前記制御対象の制御に係るユーザプログラムを実行する命令実行部と、
    前記ユーザプログラムに含まれる前記データベース部にアクセスするためのアクセス命令が前記命令実行部によって実行されることに応答して、前記通信インターフェイスにアクセス要求を送信させるアクセス処理部と、
    前記ユーザプログラムに含まれるアクセス命令に従って生成されるアクセス要求が予め定められた条件と一致するときに、前記アクセス要求の送信を制限する制限部とを備える、コントローラ。
  2. 前記制限部は、前記アクセス命令または前記アクセス要求により定義されるアクセス対象の範囲として、無効な値が設定されているときに、前記アクセス要求の送信を制限する、請求項1に記載のコントローラ。
  3. 前記制限部は、前記アクセス命令または前記アクセス要求により定義されるアクセス対象を指定するための条件として、予め定められた不正な条件が設定されているときに、前記アクセス要求の送信を制限する、請求項1に記載のコントローラ。
  4. 前記制限部は、前記ユーザプログラムとは独立して前記コントローラに格納されるプログラムとして実装される、請求項1に記載のコントローラ。
  5. 前記命令実行部は、前記コントローラに接続された外部装置から設定された値に従って、前記ユーザプログラムを実行し、
    前記制限部は、前記予め定められた条件と一致するか否かの判断を、前記ユーザプログラムの実行毎に行う、請求項1に記載のコントローラ。
  6. 制御対象を制御するコントローラであって、
    1または複数のプロセッサと、
    システムプログラムとユーザプログラムとを格納するメモリと、
    データベース部と通信するための通信インターフェイスとを備え、
    前記コントローラは、前記ユーザプログラムの実行を繰返すことによって制御対象を制御するように構成されており、
    前記ユーザプログラムは、前記データベース部にアクセスするためのアクセス命令を含み、
    前記アクセス命令は、前記データベース部にアクセスするアクセス範囲を指定する情報を含み、
    前記システムプログラムは、前記ユーザプログラムの実行に伴って前記アクセス命令が実行されると、前記アクセス範囲を指定する情報に従って、前記データベース部に対するアクセス要求を生成する処理と、前記アクセス要求を前記通信インターフェイスを介して実行する処理とを含み、
    前記システムプログラムは、前記アクセス範囲を指定する情報が予め定められた複数の条件のいずれかと一致するときに、前記アクセス要求の実行を制限する処理を含む、コントローラ。
  7. 制御対象を制御するコントローラで実行されるユーザプログラムを生成する情報処理装置であって、
    前記コントローラは、データベース部と通信するための通信インターフェイスを含むとともに、前記ユーザプログラムに含まれる前記データベース部にアクセスするためのアクセス命令の実行に応答して、アクセス要求を送信するように構成されており、
    前記情報処理装置は、
    前記ユーザプログラムに係るソースプログラムを作成するためのユーザインターフェイスを提供するユーザインターフェイス部と、
    前記ソースプログラムから前記ユーザプログラムを生成するためのプログラム生成部とを備え、
    前記プログラム生成部は、前記ソースプログラムに含まれる前記アクセス命令の定義が予め定められた条件と一致するときに、前記ユーザプログラムの生成を制限または中止する、情報処理装置。
JP2013027892A 2013-02-15 2013-02-15 コントローラおよび情報処理装置 Active JP6171385B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013027892A JP6171385B2 (ja) 2013-02-15 2013-02-15 コントローラおよび情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013027892A JP6171385B2 (ja) 2013-02-15 2013-02-15 コントローラおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2014157483A true JP2014157483A (ja) 2014-08-28
JP6171385B2 JP6171385B2 (ja) 2017-08-02

Family

ID=51578323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013027892A Active JP6171385B2 (ja) 2013-02-15 2013-02-15 コントローラおよび情報処理装置

Country Status (1)

Country Link
JP (1) JP6171385B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021005829A1 (ja) * 2019-07-08 2021-01-14 オムロン株式会社 コントローラ、制御システム、および制御方法
CN112673324A (zh) * 2018-11-28 2021-04-16 欧姆龙株式会社 控制器系统
CN112689806A (zh) * 2019-01-30 2021-04-20 欧姆龙株式会社 控制器系统、控制单元以及控制程序
CN114072737A (zh) * 2019-07-03 2022-02-18 欧姆龙株式会社 控制系统、设定装置以及计算机程序
US12130911B2 (en) 2018-11-28 2024-10-29 Omron Corporation Controller system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023812A (ja) * 2000-07-05 2002-01-25 Mitsubishi Materials Corp 自動制御システムおよび自動制御方法
JP2005293196A (ja) * 2004-03-31 2005-10-20 Dainippon Printing Co Ltd データベースアクセス制御装置および制御方法、顧客情報データベースシステム
JP2007004685A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 通信情報監視装置
JP2008287524A (ja) * 2007-05-17 2008-11-27 Canon Inc 認証方法、認証装置及びプログラム
JP2010252253A (ja) * 2009-04-20 2010-11-04 Sharp Corp 通信速度設定装置、通信速度設定装置の制御方法、コンテンツフィルタリングシステム、通信速度設定装置制御プログラム、およびコンピュータ読み取り可能な記録媒体
JP2012043344A (ja) * 2010-08-23 2012-03-01 Canon Inc 情報処理装置、情報処理方法、及びプログラム
JP2012093954A (ja) * 2010-10-27 2012-05-17 Ntt Data Corp データベース処理装置、データベース処理方法、およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023812A (ja) * 2000-07-05 2002-01-25 Mitsubishi Materials Corp 自動制御システムおよび自動制御方法
JP2005293196A (ja) * 2004-03-31 2005-10-20 Dainippon Printing Co Ltd データベースアクセス制御装置および制御方法、顧客情報データベースシステム
JP2007004685A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 通信情報監視装置
JP2008287524A (ja) * 2007-05-17 2008-11-27 Canon Inc 認証方法、認証装置及びプログラム
JP2010252253A (ja) * 2009-04-20 2010-11-04 Sharp Corp 通信速度設定装置、通信速度設定装置の制御方法、コンテンツフィルタリングシステム、通信速度設定装置制御プログラム、およびコンピュータ読み取り可能な記録媒体
JP2012043344A (ja) * 2010-08-23 2012-03-01 Canon Inc 情報処理装置、情報処理方法、及びプログラム
JP2012093954A (ja) * 2010-10-27 2012-05-17 Ntt Data Corp データベース処理装置、データベース処理方法、およびプログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112673324A (zh) * 2018-11-28 2021-04-16 欧姆龙株式会社 控制器系统
US12130911B2 (en) 2018-11-28 2024-10-29 Omron Corporation Controller system
CN112689806A (zh) * 2019-01-30 2021-04-20 欧姆龙株式会社 控制器系统、控制单元以及控制程序
US12093408B2 (en) 2019-01-30 2024-09-17 Omron Corporation Controller system, control unit, and non-transitory computer readable medium
CN114072737A (zh) * 2019-07-03 2022-02-18 欧姆龙株式会社 控制系统、设定装置以及计算机程序
WO2021005829A1 (ja) * 2019-07-08 2021-01-14 オムロン株式会社 コントローラ、制御システム、および制御方法
JP2021012563A (ja) * 2019-07-08 2021-02-04 オムロン株式会社 コントローラ、制御システム、および制御方法
CN114072738A (zh) * 2019-07-08 2022-02-18 欧姆龙株式会社 控制器、控制系统以及控制方法
EP3998513A4 (en) * 2019-07-08 2023-07-19 OMRON Corporation CONTROL DEVICE, CONTROL SYSTEM AND CONTROL METHOD
JP7331507B2 (ja) 2019-07-08 2023-08-23 オムロン株式会社 コントローラ、制御システム、および制御方法
CN114072738B (zh) * 2019-07-08 2024-10-18 欧姆龙株式会社 控制器、控制系统以及控制方法

Also Published As

Publication number Publication date
JP6171385B2 (ja) 2017-08-02

Similar Documents

Publication Publication Date Title
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP6357770B2 (ja) 制御装置および通信制御方法
JP6171386B2 (ja) コントローラ、情報処理装置およびプログラム
JP2018525697A (ja) プログラム命令を安全に実行する方法及び実行環境
JP6171387B2 (ja) コントローラ、情報処理装置およびプログラム
CN109964181B (zh) 用于工业自动化设备的控制器和对这种控制器编程和运行的方法
JP6945646B2 (ja) 産業用プログラマブルロジックコントローラの、回復力を有しているフェイルオーバー
US9898388B2 (en) Non-intrusive software verification
JP6171385B2 (ja) コントローラおよび情報処理装置
CN107430659B (zh) 用于在功能安全的电气、电子和/或可编程电子系统中处理和传递数据的方法和设备
JP6442131B2 (ja) 制御システムおよび制御装置
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
EP3104236A1 (en) Control device, control system, support apparatus, and control-device maintenance management method
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
JP6680313B2 (ja) 制御装置および通信制御方法
JP7331507B2 (ja) コントローラ、制御システム、および制御方法
CN105278497A (zh) 工业控制系统和用于传输数据的方法
JP6705464B2 (ja) 制御装置および通信制御方法
US10621312B2 (en) Method for operating a computer system to authorize use of software on a process computer
JP6357769B2 (ja) 制御装置および通信制御方法
KR101539253B1 (ko) 프로그램 품질 관리 기능이 구비된 피엘씨 장치
JP2023128052A (ja) 情報処理システム
CN116578283A (zh) 一种基于低代码开发平台的加热炉数字孪生智能控制的方法、系统及装置
CN115185277A (zh) 一种基于人工智能的多足机器人运动规划方法及系统
JP2005038261A (ja) プログラマブルコントローラシステムおよびプログラム開発支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

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: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170619

R150 Certificate of patent or registration of utility model

Ref document number: 6171385

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