JP6833649B2 - プログラマブルコントローラ及びコントロールシステム - Google Patents

プログラマブルコントローラ及びコントロールシステム Download PDF

Info

Publication number
JP6833649B2
JP6833649B2 JP2017182382A JP2017182382A JP6833649B2 JP 6833649 B2 JP6833649 B2 JP 6833649B2 JP 2017182382 A JP2017182382 A JP 2017182382A JP 2017182382 A JP2017182382 A JP 2017182382A JP 6833649 B2 JP6833649 B2 JP 6833649B2
Authority
JP
Japan
Prior art keywords
program
information
container
execution
programs
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.)
Active
Application number
JP2017182382A
Other languages
English (en)
Other versions
JP2019057212A (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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
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 Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2017182382A priority Critical patent/JP6833649B2/ja
Publication of JP2019057212A publication Critical patent/JP2019057212A/ja
Application granted granted Critical
Publication of JP6833649B2 publication Critical patent/JP6833649B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、概して、プログラマブルコントローラに関する。
プログラマブルコントローラは、プログラムで定められた順序や条件などに従って制御対象を制御する装置であり、一般に、シーケンス制御装置、モーション制御装置及びプログラマブル・ロジック・コントローラ(PLC)のうちのいずれか(又は、それらのうちの2以上の装置が一体化された装置)である。
そのような制御のための制御プログラムは、一般に、ラダー・ロジック(LD言語)、シーケンシャル・ファンクション・チャート(SFC言語)、ファンクション・ブロック(FBD言語)、ストラクチャード・テキスト(ST言語)、又は、インストラクション・リスト(IL言語)のような制御系特有のプログラミング言語を用いて記述される。
一方、プログラミング開発環境やプログラミング言語などのオープン化や標準化により、制御系特有のプログラミング言語に加えて、C言語などの汎用のプログラミング言語を採用することが考えられている。特許文献1及び2には、制御系特有のプログラミング言語で記述されたプログラムと汎用のプログラミング言語で記述されたプログラムが共存する環境が開示されている。
特開2006−178818号公報 特開2002−189507号公報
制御に必要な情報(例えば、センサによる測定値)を取得するための通信を制御プログラムによる制御の一部とすること(すなわち、通信について制御プログラムに記述されていること)が考えられるが、通信のような情報処理は制御プログラムによる制御とは分離しておくことが望ましいケースがあると考えられる。そのように考えられる1つの理由は、プログラマブルコントローラは、通常、工作機械、自動組み立て装置又は自動搬送装置のような自動機械や生産設備の制御に使用され、高い安定性が求められるためである。
そこで、制御プログラムに加えて、通信のような情報処理について記述されたプログラムである情報プログラムを用意しておくことが考えられる。高い安定性を維持するために制御プログラムを優先するべく、情報プログラムをプログラマブルコントローラとは別の装置で実行することが考えられるが、計算リソース節約の観点から、制御プログラムと情報プログラムの両方をプログラマブルコントローラで実行するニーズが考えられる。このようなニーズに応えたプログラマブルコントローラでは、制御プログラムと情報プログラムが適切に共存することが求められると考えられる。特許文献1及び2は、制御系特有のプログラミング言語と汎用のプログラミング言語といった異なるプログラミング言語で記述された制御プログラムの共存を開示しているにすぎず、制御プログラムと情報プログラムの適切な共存のための技術を開示も示唆もしていない。
プログラマブルコントローラが、1以上の制御プログラムと1以上の情報プログラムであり当該プログラマブルコントローラのプロセッサ部により実行される2以上のプログラムを格納する。2以上のプログラムの各々又はその実行環境について、当該プログラム又はその実行環境についての複数のパラメータであるパラメータ群が、当該プログラム又はその実行環境の実行優先度を含む。少なくとも1つの情報プログラム又はその実行環境について指定可能な実行優先度のうちの最高の実行優先度が、少なくとも1つの制御プログラム又はその実行環境について指定可能な実行優先度のうちの最低の実行優先度以上である。
高い安定性を維持するために、全ての情報プログラム(又はその実行環境)について、指定可能な実行優先度のうちの最高の実行優先度を、いずれの制御プログラム(又はその実行環境)の指定可能な実行優先度のうちの最低の実行優先度よりも低くしておくことが考えられる。しかし、全ての制御プログラム(又はその実行環境)が、いずれも、頻繁に又は長時間、プロセッサ部のような計算リソースを使用するとは限らない。このため、一律に、全ての情報プログラム(又はその実行環境)について、指定可能な実行優先度のうちの最高の実行優先度を、いずれの制御プログラム(又はその実行環境)の指定可能な実行優先度のうちの最低の実行優先度よりも低いとしておくと、プログラマブルコントローラの処理性能が無駄に下がることが生じ得る。本発明によれば、そのような可能性が低減し、プログラマブルコントローラにおいて制御プログラムと情報プログラムとが適切に共存する。
本発明の一実施形態に係るプログラマブルコントローラを含んだシステム全体のハードウェア構成を示す。 コントロールシステムの機能ブロックを示す。 コンテナ管理テーブルの構成を示す。 APP管理テーブルの構成を示す。 APP関係テーブルの構成を示す。 実施形態に係るPRIOROTY設定の概要を示す。 PRIOROTY設定の一比較例を示す。 状態画面を示す。 設定画面を示す。 Advanced settingsの要求前のAdvanced settings用のUIの状態を示す。 Advanced settingsの要求時の警告を示す。 警告の承認後のAdvanced settings用のUIの状態を示す。 ロード処理の流れを示す。 実行制御処理の流れを示す。 設定制御処理の流れを示す。
以下、本発明の一実施形態を説明する。
以下の説明では、「インターフェース部」は、1以上のインターフェースを含み、当該1以上のインターフェースは、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも1つを含んでよい。ユーザインターフェース部は、1以上のI/Oデバイス(例えば入力デバイス(例えばキーボード及びポインティングデバイス)と出力デバイス(例えば表示デバイス))と表示用計算機とのうちの少なくとも1つのI/Oデバイスに対するインターフェースデバイスを含んでよい。通信インターフェース部は、1以上の通信インターフェースデバイスを含んでよい。1以上の通信インターフェースデバイスは、1以上の同種の通信インターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「記憶部」は、1以上のメモリを含む。記憶部に関して少なくとも1つのメモリは、揮発性メモリでよい。記憶部は、主に、プロセッサ部による処理の際に使用される。記憶部は、メモリの他に、1以上の不揮発性の記憶デバイス(例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive))を含んでもよい。
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部(例えばメモリ)及び/又はインターフェース部(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。また、プロセッサ部は、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
また、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通符号を使用し、同種の要素を区別する場合は、参照符号を使用することがある。
また、以下の説明では、「APP」は、アプリケーションプログラムの略である。制御APPは、制御プログラムの一例であり、情報APPは、情報プログラムの一例である。以下の説明において、「APP」は、制御APPと情報APPの総称である。
図1は、本発明の一実施形態に係るプログラマブルコントローラを含んだシステム全体のハードウェア構成を示す。
プログラム配布装置101、プログラマブルコントローラ109、管理ユーザ計算機151M及び一般ユーザ計算機151Gがネットワーク108に接続されている。これらの装置のうちの1以上の装置(例えば、管理ユーザ計算機151M及び一般ユーザ計算機151G)の各々が、複数存在してもよい。また、プログラム配布装置101及びプログラマブルコントローラ109によりコントロールシステムが構成されてよい。また、コントロールシステムは、更に他の構成要素を含んでもよい。
管理ユーザ計算機151Mは、少なくとも管理ユーザが操作する計算機である。一般ユーザ計算機151Gは、少なくとも一般ユーザが操作する計算機である。いずれの計算機も、プログラム配布装置101及びプログラマブルコントローラ109の少なくとも1つに対する入出力コンソールとして機能する。具体的には、例えば、いずれの計算機も、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとを有する。「管理ユーザ」は、制御APPを記述するユーザ(例えば、自動機械や生産設備といった制御対象に関して深い知識を有する技術者)であり、「一般ユーザ」は、情報APPを記述するユーザ(例えば、制御対象に関して深い知識を持たない一般的なシステムエンジニア)である。本実施形態では、プログラマブルコントローラ109が、管理ユーザ計算機151M及び一般ユーザ計算機151Gから制御APP又は情報APPの記述(パラメータ群の設定を含む)を受け付けるが、プログラマブルコントローラ109に代えて又は加えて、プログラム配布装置101が、当該記述を受け付けてもよい。
プログラム配布装置101は、プログラマブルコントローラ109にロードされる制御プログラム及び情報プログラムを管理している。プログラム配布装置101は、EPROM201、CPU202、メインメモリ203、周辺制御デバイス205、不揮発性記憶デバイス206、ネットワークI/F(インターフェース)207、及びそれらが接続されたバス204を備える。プログラム配布装置101は、ネットワークI/F207を介してネットワーク108に接続される。プログラム配布装置101は、周辺制御デバイス205の制御によってネットワーク108を経由してプログラマブルコントローラ109に対して制御プログラムを提供したり情報プログラムを提供したりする。プログラム配布装置101では、CPU202の制御によって、不揮発性記憶デバイス206に格納されている制御プログラム及び情報プログラムを要求に応じてロード(提供)する。周辺制御デバイス205は、バス204を介して、EPROM201、CPU202及びメインメモリ203に接続されている。CPU202は、EPROM201に格納されているプログラムをメインメモリ203に読み出して実行する。
プログラマブルコントローラ109は、EPROM208、CPU209、メインメモリ210、周辺制御デバイス212、I/O制御デバイス214、不揮発性記憶デバイス215、ネットワークI/F213、及び、それらが接続されたバス211を備えている。ネットワークI/F213、周辺制御デバイス212及びI/O制御デバイス214が、インターフェース部の一例である。EPROM208、メインメモリ210及び不揮発性記憶デバイス215が、記憶部の一例である。CPU209が、プロセッサ部の一例である。周辺制御デバイス212は、ネットワークI/F213、I/O制御デバイス214、不揮発性記憶デバイス215及びバス211に接続されている。EPROM208には、プログラム(例えば、ファームウェアや、ロードされた制御プログラム及び情報プログラム)が格納される。CPU209は、EPROM208に格納されているプログラムをメインメモリ210に読み出して実行する。
プログラマブルコントローラ109は、1以上のI/Oモジュール119と通信可能に接続される。I/Oモジュール119は、周辺機器120に対するインターフェースデバイス(例えばバススロット)である。プログラマブルコントローラ109の周辺機器120は、例えば、センサ及び外付け記憶デバイスである。CPU209は、周辺制御デバイス212を制御して、I/O制御デバイス214及びI/Oモジュール119を介して、周辺機器120を制御する。
図2は、コントロールシステムの機能ブロックを示す。
プログラム配布装置101の記憶部に基づく記憶領域(例えば、不揮発性記憶デバイス206に基づく論理的な記憶領域)として、APPストア104がある。APPストア104に、1以上の制御APP105、1以上の情報APP106、及び、各APPに関する情報(例えば、パラメータ)を含んだAPP情報107が格納される。
プログラム配布装置101で実行されるプログラムとして、ロード制御プログラム102がある。ロード制御プログラム102は、APPストア104内のAPP(及び、当該APPに関する情報(APP情報107における情報))を、プログラマブルコントローラ109にロードする。
プログラマブルコントローラ109では、図1に示した複数の物理リソース(例えば、メインメモリ210及びCPU209)を含んだ物理リソース集合251上で、OS(Operating System)252が実行される。OS252は、例えば、RTOS(リアルタイムOS)が用いられる。なお、これに限定されること後述の制御コンテナと情報コンテナの機能を実施できるOSであればよい。
プログラマブルコントローラ109にロードされた制御APP105及び情報APP106の各々は、APPの単位で実行されてもよいし、APPの実行環境の単位で実行されてもよい。本実施形態では、APPは実行環境の単位で実行される。また、APPの実行環境として、本実施形態では、コンテナ型仮想化に従うコンテナが採用される。すなわち、APPが、コンテナ253に設定され、OS252上で、コンテナ253の単位で実行される。本実施形態では、コンテナ253は、制御コンテナ253Aと情報コンテナ253Bの2種類のコンテナがある。
制御コンテナ253Aは、制御APP105が格納され実行されるコンテナである。「制御APP」は、自動機械又は生産設備といった制御対象を制御するためのプログラムである。本実施形態において、制御APPは、特に、ソフトウェアPLC系ランタイム261上で実行されるAPPである。「ソフトウェアPLC」を採用することができる。従って、ソフトウェアPLC系ランタイム261は、後述の機能が実施できるものを採用するとよい。制御APP105の少なくとも一部がC言語のような汎用のプログラミング言語で記述されてもよいが、主に、制御APP105は、ラダー・ロジック(LD言語)のような制御系特有のプログラミング言語で記述される。制御APP105は、制御系通信を行ってもよい。なお、制御系通信はシリアルまたはパラレルの有線通信であっても、無線通信であってもよい。
情報コンテナ253Bは、情報APP106が格納され実行されるコンテナである。「情報APP」は、通信(例えば、SCADA、MES、クラウドシステムとの情報の送受信)のような情報処理のためのプログラムである。情報APP106は、典型的には、汎用のプログラミング言語で記述される。少なくとも1つの情報APP106は、情報系通信を行うことができる。
プログラマブルコントローラ109で実行されるプログラムとして、上述のロードされたAPPに加えて、他のプログラム、例えば、Webサーバプログラム256及び実行制御プログラム257がある。
Webサーバプログラム256は、Webサーバとして機能するためのプログラムである。Webサーバプログラム256が、管理ユーザ計算機151M及び一般ユーザ計算機151Gの各々(クライアント)と通信する。Webサーバプログラム256が、1以上の情報APP106のうちの少なくとも1つが格納されるコンテナについて、PRIORITY(実行優先度)を含む1以上のパラメータであるパラメータ群の設定を受け付けるユーザインターフェースプログラムの一例である。
実行制御プログラム257は、コンテナ253に関して設定されているパラメータ群(例えばPRIORITY)を基に、コンテナ253(正確には、コンテナ253におけるAPP)の実行を制御する。1つのコンテナ253(APPを格納したコンテナ)を例に取ると(この段落で「対象コンテナ253」)、実行制御の一例は、下記である。
(a)対象コンテナ253について設定された実行周期で対象コンテナ253を実行する。
(b)(a)の際、もし、対象コンテナ253のPRIORITYよりも高いPRIORITYのコンテナ253の実行中であれば、対象コンテナ253の実行を待つ。
(c)(a)の際、もし、対象コンテナ253のPRIORITYよりも低いPRIORITYのコンテナ253の実行中であれば、当該コンテナ253の実行を一時停止し、対象コンテナ253を実行する。
(d)対象コンテナ253の実行中に、対象コンテナ253の状況に関する値が所定値を超えた場合(例えば、メモリ使用量が上限を超えた場合)、対象コンテナ253の実行を一時停止する。
プログラマブルコントローラ109の記憶部に格納される情報として、管理情報255がある。管理情報255は、プログラマブルコントローラ109において管理される情報であり、例えば、図3〜図5に示すテーブルを含む。
図3は、コンテナ管理テーブルの構成を示す。
コンテナ管理テーブル2551は、コンテナ253に関する情報を格納する。コンテナ管理テーブル2551は、コンテナ253毎にレコードを有する。各レコードは、コンテナID301、APP ID302、ステータス303、非特定情報要素群304及び特定パラメータ群305といった情報を格納する。以下、1つのコンテナ253(図3の説明において「対象コンテナ253」)を例に取る。
コンテナID301は、対象コンテナ253のIDを示す。
APP ID302は、対象コンテナ253に格納されているAPPのIDを示す。1つのコンテナ253に同種の2以上のAPPが格納されてもよい。言い換えれば、1つのコンテナ253に制御APP105及び情報APP106は混在しない。
ステータス303は、対象コンテナ253のステータスを示す。ステータス303の値として、“Empty”(対象コンテナ253にいずれのAPPも格納されていない)、“Stop”(実行停止)、及び、“Running”(実行中)がある。
非特定情報要素群304は、対象コンテナ253に関して特定パラメータ群に属する情報要素以外の情報要素の全て又は一部である。具体的には、例えば、非特定情報要素群304は、対象コンテナ253に関して図9の設定画面900に表示される情報要素のうち、特定パラメータ群(PRIORITY、及び、Device)以外の情報要素の全部又は一部(言い換えれば、第1のプレーン910と第3のプレーン930に表示される情報要素のうちの全部又は一部)である。
特定パラメータ群305は、1以上の特定パラメータの一例であるPRIORITY3041、及び、Device3042で構成される。
PRIORITY3041は、対象コンテナ253の実行優先度、具体的には、リアルタイム動作の優先度を示す。「リアルタイム動作」とは、実行開始予定時刻(実行周期に従う開始予定時刻)通りに実行開始することを意味する。PRIORITYが低いほど、リアルタイム動作できる可能性が下がる。例えば、PRIORITYが低いほど、実行開始予定時刻と実際の実行開始時刻との差が大きい可能性がある。
Device3042は、使用されるデバイス(例えば、通信インターフェースデバイスとしての周辺機器120の種類又はID)の有無を示す。
図4は、APP管理テーブルの構成を示す。
APP管理テーブル2552は、APPに関する情報を格納する。APP管理テーブル2552は、APP毎にレコードを有する。各レコードは、APP ID401及びAPP種別402といった情報を格納する。以下、1つのAPP(図4の説明において「対象APP」)を例に取る。
APP ID401は、対象APPのIDを示す。APP種別402は、APPの種別を示す。“制御”は、制御APPを意味し、“情報”は、情報APPを意味する。
図5は、APP関係テーブルの構成を示す。
APP関係テーブル2553は、制御プログラムと情報プログラムの関係を示したプログラム関係情報の一例である。APP関係テーブル2553は、制御プログラムと情報プログラムとの組毎にレコードを有する。各レコードは、制御APP ID501及び情報APP ID502といった情報を格納する。1つのレコードを例に取ると、次の通りである。
すなわち、制御APP ID501は、制御APP105のIDを示す。情報APP ID502は、当該制御APPと関係すると定義された情報APP106のIDを示す。
APP関係テーブル2553を用いて、例えば次のようにAPPをプログラマブルコントローラ109にロードすることができる。すなわち、ロード制御プログラム102(又はWebサーバプログラム256)が、APP関係テーブル2553を基に、制御APPと当該制御APPと関係する情報APPとを示す情報を、計算機151(管理ユーザ計算機151M及び一般ユーザ計算機151Gの少なくとも1つ)に提示し、ユーザから、ロード対象の選択を受ける。この提示では、制御APPと当該制御APPと関係する情報APPが示されているので、いずれのAPP(例えば制御APP)をロード対象として選択するのであればいずれのAPP(例えば情報APP)を選択するべきであるかをユーザが迅速に把握できる。選択されたロード対象のAPPを、ロード制御プログラム102(又はWebサーバプログラム256)が、プログラム配布装置101からプログラマブルコントローラ109にロードする。
図6は、本実施形態に係るPRIOROTY設定の概要を示す。図6(及び図7)において、各PRIOROTYについて、“有効”は、指定可能なPRIOROTY(値)であることを意味し、“無効”は、指定不可能なPRIOROTYであることを意味する。本実施形態において、PRIOROTYとしての値が小さいほど、PRIOROTYは高い。
本実施形態では、少なくとも1つの情報コンテナ253Bについて指定可能なPRIOROTYのうちの最高のPRIOROTY(例えば“04”)が、少なくとも1つの制御コンテナ253Aについて指定可能なPRIOROTYのうちの最低のPRIOROTY“05”以上である。
図6の例によれば、制御コンテナ253A及び情報コンテナ253Bのいずれについても、PRIOROTYゾーン(指定可能なPRIOROTYのゾーン)は、連続した範囲である。情報コンテナ253BのPRIOROTYゾーンの少なくとも一部が、制御コンテナ253AのPRIOROTYゾーンと重複する。
なお、図6は一例である。例えば、制御コンテナ253A及び情報コンテナ253Bの少なくとも1つについて、PRIOROTYゾーンは、非連続の範囲でもよい。また、情報コンテナ253BのPRIOROTYゾーンは、必ずしも制御コンテナ253AのPRIOROTYゾーンと重複しなくてもよい。
高い安定性を維持するためには、図7が示す一比較例のように、全ての情報コンテナについて、指定可能なPRIOROTYのうちの最高のPRIOROTYを、いずれの制御コンテナの指定可能なPRIOROTYのうちの最低のPRIOROTYよりも低くしておくことが考えられる。しかし、全ての制御コンテナが、いずれも、頻繁に又は長時間、CPU209を使用するとは限らない。このため、一律に図7に例示のようにしておくと、プログラマブルコントローラの処理性能が無駄に下がることが生じ得る。
本実施形態によれば、そのような可能性が低減し、プログラマブルコントローラ109において制御APPと情報APPとが適切に共存する。
本実施形態では、ユーザ(典型的に一般ユーザ)は、コンテナの状態を見て、コンテナについてパラメータを設定することができる。
図8は、状態画面を示す。
状態画面800は、コンテナ管理テーブル2551を基にWebサーバプログラム256により計算機151(典型的には一般ユーザ計算機151G)のWebブラウザ(図示せず)を通じて表示される画面(典型的にはGUI(Graphical User Interface))である。状態画面800は、各コンテナ253の状態を表示する。具体的には、例えば、状態画面800は、更新ボタン801、状態表示マトリクス802、現在情報コンテナ数821、リセットコンテナ数指定UI822、リセットボタン823を有する。なお、「UI」は、ユーザインターフェースの略であり、ユーザ操作可能なツール、例えば、テキストボックスやプルダウンメニューのようなGUI部品である。ユーザはUIを通じて所望の情報を入力できる。
更新ボタン801は、状態画面800の表示内容を最新の表示内容に更新することを要求するためのボタンである。
状態表示マトリクス802は、コンテナ毎に列を有し、各コンテナに関する所定種類の情報要素毎に行を有する。
情報要素“種別”811は、コンテナの種別(制御コンテナか情報コンテナか)を示す。情報要素“APP名”812は、コンテナに格納されているAPPの名前を示す。
情報要素“状態”813は、コンテナの状態を示す。具体的には、情報要素“状態”813に対応したセル(各コンテナに対応したセル)には、コンテナオブジェクト(例えば図形)830と、APPオブジェクト1831とが表示される。コンテナオブジェクト830の表示態様(例えば色)が、コンテナ種別を意味する。APPオブジェクト1831上の文字列が、コンテナの状態(例えば、図3のステータス303)を示す。空きのコンテナについては、コンテナの状態を示す文字列が表示されるものの、APPオブジェクト1831は表示されない。
情報要素“コンテナ名”814は、コンテナの名前を示す。
“ボタン”815に対応したセル(各コンテナに対応したセル)に、停止ボタン831、削除ボタン832、開始ボタン833及び設定ボタン834のうちの少なくとも1つが表示される。停止ボタン831は、コンテナの実行を停止することを要求するためのボタンである。削除ボタン832は、コンテナからAPPを削除することを要求するためのボタンである。開始ボタン833は、コンテナの実行を開始することを要求するためのボタンである。設定ボタン834は、コンテナについてパラメータを設定することを要求するためのボタンである。表示されるボタンの種類は、コンテナの状態に依存する。例えば、“Running”のコンテナについては、停止ボタン831及び削除ボタン832が表示される。“Stop”のコンテナについては、開始ボタン833及び削除ボタン832が表示される。“Empty”のコンテナについては、設定ボタン834及び削除ボタン832が表示される。
現在情報コンテナ数821は、現在の情報コンテナの数を示す。
リセットコンテナ数UI822は、リセットするコンテナの数の入力用UIである。リセットボタン823は、コンテナの数がリセットコンテナ数UI822に入力された数となるようリセットすることを要求するためのボタンである。
例えば設定ボタン834が押された場合、Webサーバプログラム256により、計算機151(典型的には一般ユーザ計算機151G)のWebブラウザ(図示せず)を通じて、図9に示す設定画面が表示される。ユーザは、状態画面800の表示内容を基に、空きのコンテナについて設定するパラメータを決定できる。また、状態画面800の表示内容を基に、APPが格納されている制御コンテナ及び情報コンテナのうちの少なくとも1つについてパラメータが変更されてもよい。
図9は、設定画面を示す。
設定画面900は、コンテナについてパラメータを設定するための画面(例えばGUI)である。設定画面900の表示領域は、第1のプレーン910、第2のプレーン920及び第3のプレーン930といった3つのプレーンに大別できる。
まず、設定画面900に、パラメータが設定されるコンテナについて表示される情報の一例を下記のように記載し、その後に、いずれの情報要素がいずれのプレーンに表示されるかを記載する。
(1)コンテナ名:コンテナの名前
(2)バックボタン:所定画面(例えば直前の画面)に戻るためのボタン
(3)コンテナ番号:コンテナの番号(ID)
(4)状態:コンテナの状態(図3のステータス303)
(5)コンテナ名:コンテナの名前((1)と同じ)
(6)APPパス:APPのフルパス(実行APPファイル名を含む)
(7)コマンドパス:APPを実行させるコマンドのフルパス(コマンドファイル名を含む)
(8)APP名:APPの名前
(9)プロジェクトID:所定のプログラムを用いてプロジェクトがビルドされた場合に付加されるプロジェクトID
(10)ビルド時間:プロジェクトのビルドに要した時間
(11)転送方式選択ボックス:複数種類の
転送方式のうちの任意の転送方式を選択するためのUI
(12)プロトコルやポートを設定するためのUIと、コンテナのIPアドレスを設定するためのUI
(13)メモリ制限:コンテナで使用するメモリ容量の最大値
(14)Advanced settingsチェックボックス941:Advanced settings(高度設定)を行うか否かを指定するためのUI
(15)PRIORITYのUI951:PRIORITYを入力するためのUI
(16)デバイス使用有無チェックボックス952:コンテナに関連付けられているデバイスを使用するか否かを指定するためのUI
(17)“Restore Value”ボタン953:入力値を元に戻すボタン
(18)“Set Parameters Only”ボタン954:入力値(設定)を反映する(コンテナ管理テーブル2551に登録する)ことを要求するためのボタン
(19)ダウンロードファイル選択ボタン:APP本体、コマンドファイル又はその他ファイル等、コンテナに持たせたいファイルを選択するためのボタン
(20)ダウンロードボタン:(21)のボタンにより選択したファイルをロード(例えばプログラム配布装置101からプログラマブルコントローラ109におけるコンテナにロード)するためのボタン
(21)ダウンロードファイル一覧:(22)のボタンにてロードしたファイルの一覧
(22)ファイル削除ボタン:(23)の一覧から選択したファイルを削除するためのボタン
(23)コンテナ生成ボタン:コンテナを作り直すボタン
なお、上記フルパスとして説明した部分は所望のファイルが特定できればフルパスに限らず一部のパスであってもよい。
(1)〜(13)は、第1のプレーン910に表示される第1の情報要素群960に含まれる。(15)〜(18)は、図9に明示の通り、第2のプレーン920に表示される。(19)〜(23)は、第3のプレーン930に表示される第2の情報要素群970に含まれる。
Advanced settingsでは、特定パラメータ群(少なくともPRIORITY)の設定が可能である。しかし、情報コンテナについて、PRIORITY(及びその他の特定パラメータ)の設定は、制御コンテナ(制御APPによる制御)に影響を与え得る。
そこで、本実施形態では、次のような制御を、例えばWebサーバプログラム256が行う。
すなわち、Webサーバプログラム256は、設定画面900の表示時点(初期状態)では、図10に示すように、Advanced settingsチェックボックス941にチェックマーク無しの状態とし、且つ、Advanced settingsに関するUI951〜952をディスエーブル(入力不可)の状態としておく(図10のグレー表示を参照)。
次に、Webサーバプログラム256は、図11に示すように、パラメータの設定が情報コンテナについてであり、且つ、Advanced settingsチェックボックス941にチェックマークが入力された場合(すなわち、Advanced settingsの要求を受けた場合)、特定パラメータ群の設定がいずれかの制御コンテナによる制御に影響を与え得ることを意味する警告を表示する。具体的には、例えば、ダイアログボックス1100がポップアップ表示される。当該ボックス1100に、警告を示すメッセージ1200が表示される。当該ボックス1100は、警告を承認しAdvanced settingsの設定に進むためのOKボタン1101と、Advanced settingsの設定に進むことをキャンセルするためのキャンセルボタン1102とを有する。
OKボタン1101が押された場合に、Webサーバプログラム256は、図12に示すように、Advanced settingsに関するUI951〜952をイネーブルとする。これにより、ユーザは、Advanced settingsを行うことができる。
以下、本実施形態で行われる処理の一例を説明する。
図13は、ロード処理の流れを示す。
Webサーバプログラム256(又はロード制御プログラム102)が、APP一覧画面を計算機151(151M又は151G)に表示する(S1301)。ここでは、例えば、Webサーバプログラム256(又はロード制御プログラム102)は、ユーザによりいずれかのAPP(例えば制御APP)が選択された場合、APP関係テーブル2553を基に、当該選択されたAPPと関係のある全てのAPPの情報を表示してもよい。
Webサーバプログラム256(又はロード制御プログラム102)は、ユーザからAPPの選択を受け(S1302)、選択されたAPPを、プログラム配布装置101からプログラマブルコントローラ109にロードする(S1303)。ロード先のコンテナは、Webサーバプログラム256又は実行制御プログラム257により、APPの種別やAPPに関する要件(例えば性能)に応じて自動で決められてもよい。また、ロード対象のAPPは、Webサーバプログラム256(又はロード制御プログラム102)により、ユーザに選択されたAPP(例えば制御APP)に関係する全てのAPP(例えば情報APP)(APP関係テーブル2553を基に特定されたAPP)がロードされてもよい。また、S1303では、APPと共に、APPに関係する情報(例えばAPP情報107内の情報(例えばパラメータ))もロードされてもよい。
図14は、実行制御処理の流れを示す。
実行制御プログラム257が、各コンテナのパラメータ群(特定パラメータ群を含む)を参照する(S1401)。
実行中(“Running”)のコンテナについて、状況(例えばメモリ容量)がその上限値を超える場合(S1402:Yes)、実行制御プログラム257が、当該コンテナを停止する(S1405)。
開始予定時刻となったコンテナがある場合(S1403:Yes)、実行制御プログラム257が、当該コンテナのPRIORITYに応じた制御を行う(S1404)。例えば、実行制御プログラム257は、当該コンテナのPRIORITYよりも低いPRIORITYのコンテナが実行中の場合、当該コンテナを、当該実行中のコンテナを停止してから実行する。一方、例えば、実行制御プログラム257は、当該コンテナのPRIORITY以上のPRIORITYのコンテナが実行中(又は実行待ち)の場合(S1403:No)、当該コンテナのPRIORITY以上のPRIORITYのコンテナの実行が終了するまで待つ。
図15は、設定制御処理の流れを示す。
Webサーバプログラム256は、情報コンテナについての設定画面900を表示する(S1501)。S1501の時点では、UI951〜952は、図10に例示した通り、ディスエーブルである。
Webサーバプログラム256は、Advanced Settingsの要求を受けた場合(チェックボックス941にチェックマークが入力された場合)(S1502:Yes)、図11に例示した通り警告を表示する(S1503)。
警告に対する承認が入力された場合(S1504:Yes)、Webサーバプログラム256は、UI951〜952を、図12に例示した通り、イネーブルにする(S1505)。
Webサーバプログラム256は、Advanced Settingsが行われ“Set Parameters Only”ボタン954が押された場合(S1506:Yes)、設定を反映する(コンテナ管理テーブル2551に登録する)(S1507)。
設定画面900を閉じる操作がされた場合(S1508:Yes)、Webサーバプログラム256は、設定画面900を閉じて、処理を終了する。
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
例えば、Webサーバプログラム256は、特定パラメータ群のうちの少なくとも1つのパラメータ(例えばPRIORITY)に関して、入力可能な値の範囲を、制御コンテナ(又は制御APP)の数(例えば、“Running”の制御コンテナ(又は制御APP)の数)に基づいて制御してもよい。
109…プログラマブルコントローラ

Claims (4)

  1. 1以上のインターフェースを含むインターフェース部と、
    1以上のメモリを含む記憶部と、
    前記インターフェース部及び前記記憶部に接続された1以上のプロセッサを含むプロセッサ部と
    を有し、
    前記記憶部が、前記プロセッサ部により実行される複数のプログラムを格納し、
    前記複数のプログラムが、1以上の制御プログラムと1以上の情報プログラムである2以上のプログラムを含み、
    前記2以上のプログラムの各々又はその実行環境について、当該プログラム又はその実行環境についての複数のパラメータであるパラメータ群が、当該プログラム又はその実行環境の実行優先度を含み、
    少なくとも1つの情報プログラム又はその実行環境について指定可能な実行優先度のうちの最高の実行優先度が、少なくとも1つの制御プログラム又はその実行環境について指定可能な実行優先度のうちの最低の実行優先度以上であ
    前記プロセッサ部が、
    前記少なくとも1つの情報プログラム又はその実行環境について、当該情報プログラム又はその実行環境のパラメータ群のうちの1以上のパラメータのUI(ユーザインターフェース)を、前記インターフェース部を介して表示し、
    前記少なくとも1つの情報プログラム又はその実行環境について、実行優先度を含む特定の種類の1以上のパラメータである特定パラメータ群に関して、設定要求を、前記インターフェース部を介して受け付けた場合に、当該特定パラメータ群の設定がいずれかの制御プログラム又はその実行環境による制御に影響を与え得ることを意味する警告を、前記インターフェース部を介して表示し、
    前記警告に対する承認を前記インターフェース部を介して受け付けた場合に、前記特定パラメータ群の少なくとも実行優先度のUIをイネーブルにし、
    前記2以上のプログラムの各々について、当該プログラムの実行環境は、コンテナ型仮想化に従うコンテナであり、
    前記プロセッサ部が、
    2以上のコンテナの状態を前記インターフェース部を介して表示し、
    前記2以上のコンテナのうち、いずれのプログラムも格納されていない空きのコンテナについて、設定要求を前記インターフェース部を介して受け付けた場合に、当該空きのコンテナに格納される前記少なくとも1つの情報プログラム又はそのコンテナについて、前記1以上のパラメータのUIを表示する、
    プログラマブルコントローラ。
  2. 前記2以上のプログラムは、前記インターフェース部を介してロードされたプログラムであり、
    前記2以上のプログラムは、制御プログラムと情報プログラムの関係を示した情報であるプログラム関係情報に基づく提示からロード対象として選択されたプログラムを含み、
    前記提示は、制御プログラムと当該制御プログラムと関係する情報プログラムとを示す情報の提示である、
    請求項1に記載のプログラマブルコントローラ。
  3. プログラマブルコントローラと、
    前記プログラマブルコントローラにプログラムをロードするプログラム配布装置と
    を有し、
    前記プログラマブルコントローラは、複数のプログラムを格納し、
    前記複数のプログラムが、1以上の制御プログラムと1以上の情報プログラムであり前記プログラム配布装置からロードされた2以上のプログラムを含み、
    前記2以上のプログラムの各々又はその実行環境について、当該プログラム又はその実行環境についての複数のパラメータであるパラメータ群が、当該プログラム又はその実行環境の実行優先度を含み、
    少なくとも1つの情報プログラム又はその実行環境について指定可能な実行優先度が、少なくとも1つの制御プログラム又はその実行環境について指定可能な実行優先度のうちの最低の実行優先度以上であ
    前記プログラマブルコントローラが、
    前記少なくとも1つの情報プログラム又はその実行環境について、当該情報プログラム又はその実行環境のパラメータ群のうちの1以上のパラメータのUI(ユーザインターフェース)を表示し、
    前記少なくとも1つの情報プログラム又はその実行環境について、実行優先度を含む特定の種類の1以上のパラメータである特定パラメータ群に関して、設定要求を受け付けた場合に、当該特定パラメータ群の設定がいずれかの制御プログラム又はその実行環境による制御に影響を与え得ることを意味する警告を表示し、
    前記警告に対する承認を受け付けた場合に、前記特定パラメータ群の少なくとも実行優先度のUIをイネーブルにし、
    前記2以上のプログラムの各々について、当該プログラムの実行環境は、コンテナ型仮想化に従うコンテナであり、
    前記プログラマブルコントローラが、
    2以上のコンテナの状態を表示し、
    前記2以上のコンテナのうち、いずれのプログラムも格納されていない空きのコンテナについて、設定要求を受け付けた場合に、当該空きのコンテナに格納される前記少なくとも1つの情報プログラム又はそのコンテナについて、前記1以上のパラメータのUIを表示する、
    コントロールシステム。
  4. プログラマブルコントローラで実行されるプログラムのパラメータの設定を制御する方法であって、
    コンピュータが、プログラマブルコントローラに格納される1以上の制御プログラムと1以上の情報プログラムである2以上のプログラムのうち少なくとも1つの情報プログラム又はその実行環境について、当該情報プログラム又はその実行環境のパラメータ群のうちの少なくとも1つのパラメータのUI(ユーザインターフェース)を表示し、
    コンピュータが、プログラムの実行優先度を含む特定の種類の1以上のパラメータである特定パラメータ群に関して、設定要求を受け付けた場合に、当該特定パラメータ群の設定がいずれかの制御プログラム又はその実行環境による制御に影響を与え得ることを意味する警告を表示し、
    コンピュータが、前記警告に対する承認を受け付けた場合に、前記少なくとも1つの情報プログラム又はその実行環境について指定可能な実行優先度が、少なくとも1つの制御プログラム又はその実行環境について指定可能な実行優先度のうちの最低の実行優先度以上であるように、前記特定パラメータ群の少なくとも実行優先度のUIをイネーブルにし、
    前記2以上のプログラムの各々について、当該プログラムの実行環境は、コンテナ型仮想化に従うコンテナであり、コンピュータが、
    2以上のコンテナの状態を表示し、
    前記2以上のコンテナのうち、いずれのプログラムも格納されていない空きのコンテナについて、設定要求を受け付けた場合に、当該空きのコンテナに格納される前記少なくとも1つの情報プログラム又はそのコンテナについて、前記1以上のパラメータのUIを表示する、
    方法。
JP2017182382A 2017-09-22 2017-09-22 プログラマブルコントローラ及びコントロールシステム Active JP6833649B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017182382A JP6833649B2 (ja) 2017-09-22 2017-09-22 プログラマブルコントローラ及びコントロールシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017182382A JP6833649B2 (ja) 2017-09-22 2017-09-22 プログラマブルコントローラ及びコントロールシステム

Publications (2)

Publication Number Publication Date
JP2019057212A JP2019057212A (ja) 2019-04-11
JP6833649B2 true JP6833649B2 (ja) 2021-02-24

Family

ID=66107561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017182382A Active JP6833649B2 (ja) 2017-09-22 2017-09-22 プログラマブルコントローラ及びコントロールシステム

Country Status (1)

Country Link
JP (1) JP6833649B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024018790A (ja) * 2022-07-29 2024-02-08 株式会社日立産機システム コントロールシステム及び方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62256041A (ja) * 1986-04-30 1987-11-07 Mitsubishi Electric Corp コンパイラにおける文法チエツク方法
JPH09251389A (ja) * 1996-03-14 1997-09-22 Omron Corp データ処理装置
JPH11312007A (ja) * 1998-04-28 1999-11-09 Hitachi Ltd プログラマブルコントローラ
JP2003067201A (ja) * 2001-08-30 2003-03-07 Hitachi Ltd コントローラとオペレーティングシステム
JP2004213406A (ja) * 2003-01-06 2004-07-29 Mitsubishi Electric Corp プログラマブルコントローラの情報通信ユニット、ファクトリオートメーション機器の遠隔管理システムおよびその方法
CN104205057B (zh) * 2012-05-08 2017-05-03 三菱电机株式会社 可编程逻辑控制器、编程工具以及程序及参数编辑系统
JP5966792B2 (ja) * 2012-09-13 2016-08-10 富士電機株式会社 プラント監視システム及びプラント監視操作装置。
JP6138375B2 (ja) * 2015-05-27 2017-05-31 三菱電機株式会社 コントローラ
JP6319770B2 (ja) * 2015-07-27 2018-05-09 日本電信電話株式会社 コンテナのマイグレーションシステム及び方法

Also Published As

Publication number Publication date
JP2019057212A (ja) 2019-04-11

Similar Documents

Publication Publication Date Title
CN109522088A (zh) 一种虚拟机迁移方法及装置
JP5976409B2 (ja) ハードウェア抽象化を用いたソフトウェアアプリケーション実行の方法と装置
JP2010113381A (ja) 仮想システム制御プログラム、方法及び装置
JP6668658B2 (ja) ジョブ管理方法、ジョブ管理装置及びプログラム
JP7048638B2 (ja) コントロール装置
CN112368678A (zh) 用于应用程序的虚拟机容器
CN110114732B (zh) 可编程控制器、管理装置和控制系统
WO2022031705A1 (en) Application mapping to system resources for instance creation
JP6833649B2 (ja) プログラマブルコントローラ及びコントロールシステム
JP2011170679A (ja) 仮想計算機システムおよびその資源配分制御方法
JP7085305B2 (ja) コントロールシステム及びコントロール方法
CN112470088B (zh) 控制装置
US11392412B2 (en) Engineering tool, controller, and control system
JP6857153B2 (ja) コントロール装置
JP5391152B2 (ja) サーバシステム、及び、仮想サーバの移行方式を選択する方法
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム
JP2016051395A (ja) 画像形成装置およびリソース管理方法
WO2017056208A1 (ja) リクエスト実行順序制御方式
WO2017203556A1 (ja) 管理計算機及びシステムのパラメータの最適値算出方法
JP7413169B2 (ja) コントロール装置
JP5996094B2 (ja) 仮想マシンイメージ管理サーバ、及び仮想マシンイメージ管理方法
JP7240282B2 (ja) 産業用コントロール装置及びアクティベーション方法
JP5811301B2 (ja) 仮想マシンの割当処理を行う情報処理装置及び仮想マシン割当方法
US9691039B2 (en) Smart ordering system for proactive mitigation of system scarcity in a cloud or data center environment
CN117519906A (zh) 一种基于自主架构服务器的虚拟机管理和调度方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R150 Certificate of patent or registration of utility model

Ref document number: 6833649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150