JPWO2015136970A1 - 制御装置及び制御システム - Google Patents

制御装置及び制御システム Download PDF

Info

Publication number
JPWO2015136970A1
JPWO2015136970A1 JP2016507378A JP2016507378A JPWO2015136970A1 JP WO2015136970 A1 JPWO2015136970 A1 JP WO2015136970A1 JP 2016507378 A JP2016507378 A JP 2016507378A JP 2016507378 A JP2016507378 A JP 2016507378A JP WO2015136970 A1 JPWO2015136970 A1 JP WO2015136970A1
Authority
JP
Japan
Prior art keywords
user program
change
data container
history
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
JP2016507378A
Other languages
English (en)
Other versions
JP6508192B2 (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of JPWO2015136970A1 publication Critical patent/JPWO2015136970A1/ja
Application granted granted Critical
Publication of JP6508192B2 publication Critical patent/JP6508192B2/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/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

Landscapes

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

Abstract

ユーザプログラムがどの変更段階のユーザプログラムであるかを共有可能とし、ユーザプログラム更新時の機器の停止時間を短縮する。制御装置(11)は、第1保存部(1113−3)と、第1変更管理部(1113−1)と、第1ユーザプログラム生成部(1115)と、を備える。第1保存部(1113−3)にはデータコンテナ(119a)が保存される。第1変更管理部(1113−1)は第1保存部(1113−3)に保存されたデータコンテナ(119a)の内容が変更された場合データコンテナ(119a)の変更履歴(119b−1)を第1更新履歴(119b)に記憶する。第1変更管理部(1113−1)は変更履歴(119b−1)を用いて生成された新たなデータコンテナ(119a)を第1保存部(1113−3)に保存する。第1ユーザプログラム生成部(1115)は新たなデータコンテナ(119a)に含まれるユーザプログラム生成用資源(119a−1)を用いてユーザプログラム(1131)を生成する。

Description

本発明は、ユーザプログラムを所定の周期にて繰り返し実行することにより制御対象機器を制御する制御装置、及び、当該制御装置を用いた制御システムに関する。
従来、ユーザにより作成されたユーザプログラムを所定の周期にて繰り返し実行することにより制御対象機器を制御する制御装置において、現在実行されているユーザプログラムの一部に対して内容の変更を行うユーザプログラムの編集方法(オンラインエディット)が知られている。
例えば、特許文献1には、ソースプログラムの一部分をコンパイラにかけて変換することにより得られるオブジェクトコード部分によりPLCに記憶されているオブジェクトコードを書き換えるオンラインエディット機能を備えたPLCが開示されている。
特開2009−223590号公報
特許文献1に開示されたPLCなどに備わっている従来のオンラインエディット機能においては、オンラインエディット機能を行ってソースプログラムの内容を変更したプログラム開発支援装置にのみ内容が変更されたソースプログラムが保存されていた。
特に複数のユーザ(複数台のプログラム開発支援装置)によりユーザプログラムの開発を行っている際に、上記のようにオンラインエディット機能を実行したプログラム開発支援装置にのみ内容が変更されたソースプログラムが保存されると、現在PLCにおいて実行されているユーザプログラムが、どの内容の変更がなされた段階(変更段階)のユーザプログラムであるかを全てのユーザに共有されない。その結果、複数のユーザによるユーザプログラムの開発効率が低下する。
また、オンラインエディット機能を用いてユーザプログラムの内容を変更する際、制御装置により制御される制御対象機器(特に、ロボットアームなど、動作をしていると危険を伴う制御対象機器)の動作を、ユーザプログラムの内容の変更を終了するまで常時停止させておく必要があった。このような場合、長時間にわたり制御対象機器を停止させなければならなかった。
本発明の課題は、制御装置及び制御システムにおいて、現在実行されているユーザプログラムがどの変更段階のユーザプログラムであるかを共有可能とすることと、ユーザプログラムの内容の変更に伴う制御対象機器の停止時間を短縮することにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る制御装置は、タスク実行部と、第1保存部と、第1変更管理部と、第1ユーザプログラム生成部と、を備える。
タスク実行部は、制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行する。第1保存部にはデータコンテナが保存される。データコンテナは、ユーザプログラム生成用資源を含む。ユーザプログラム生成用資源は、ユーザプログラムを生成するために用いられる資源のことである。
第1変更管理部は、第1保存部に保存されたデータコンテナの内容が変更された場合、データコンテナの変更履歴を第1更新履歴に記憶する。また、それとともに、第1変更管理部は、所定のタイミングにおいて変更履歴を用いて生成された新たなデータコンテナを第1保存部に保存する。
第1ユーザプログラム生成部は、所定のタイミングにおいて、第1保存部に保存される新たなデータコンテナに含まれる新たなユーザプログラム生成用資源を用いてユーザプログラムを生成する。
上記の制御装置においては、第1保存部に保存されたデータコンテナの内容が変更されると、第1変更管理部がデータコンテナの変更履歴を第1更新履歴に記憶する。また、第1変更管理部は、所定のタイミングにおいて、上記の変更履歴を用いて新たなデータコンテナを生成し、生成した新たなデータコンテナを第1保存部に保存する。
その後、第1ユーザプログラム生成部が、上記の所定のタイミングにおいて、第1保存部に保存されている上記の新たなデータコンテナに含まれる新たなユーザプログラム生成用資源を用いて新たなユーザプログラムを生成する。
従って、上記の制御装置においては、新たなユーザプログラムを生成する際に用いられた新たなユーザプログラム生成用資源を含む新たなデータコンテナが、第1保存部に保存されている。また、データコンテナへの変更履歴が第1更新履歴に記憶されている。
これにより、上記の制御装置において、現在実行されているユーザプログラムが、どの変更段階(変更履歴)において生成されたデータコンテナに含まれるユーザプログラム生成用資源により生成されたかについての情報を共有できる。すなわち、現在実行されているユーザプログラムが、どの変更段階におけるユーザプログラムであるかについての情報を共有できる。
また、ユーザプログラム生成部が、所定のタイミングにおいてユーザプログラムを生成している。これにより、オンラインエディット機能においてユーザプログラムの内容の変更をする際に、ユーザプログラムの更新のための制御対象機器の停止時間を短縮できる。なぜなら、ユーザプログラムの更新のための制御対象機器の停止時間を、ユーザプログラムを生成したときだけ(すなわち、所定のタイミングだけ)にできるからである。
上記の制御装置において、所定のタイミングは、第1変更管理部がデータコンテナの内容の変更を検出するタイミングであってもよい。これにより、上記の制御装置においては、各段階のデータコンテナの内容の変更を変更履歴に残しつつ、直近の内容の変更がなされたデータコンテナを用いて最新の更新状態のユーザプログラムを生成できる。
上記の制御装置において、所定のタイミングは、ユーザプログラム生成指示を外部から受信したタイミングであってよい。この場合、ユーザプログラム生成指示には、第1更新履歴に記憶されたどの変更履歴を用いて新たなデータコンテナを生成するかを指定する変更履歴指定情報が含まれている。
また、第1ユーザプログラム生成部は、変更履歴指定情報に指定された変更履歴を用いて生成された新たなデータコンテナを用いてユーザプログラムを生成してもよい。
これにより、予め決定したタイミングにおいて新たなユーザプログラムを生成できる。また、第1更新履歴に記憶されているどの変更履歴を用いて新たなデータコンテナを生成するかを指定可能とすることにより、任意の変更段階(変更履歴)におけるデータコンテナを用いてユーザプログラムを生成できる。
上記の制御装置において、内容を変更したユーザプログラム及び内容変更データコンテナを外部から受信した場合、内容変更データコンテナは第1保存部に保存されてもよい。ここで、内容変更データコンテナは、上記の内容を変更したユーザプログラムが生成された際に用いられた内容変更ユーザプログラム生成用資源を含むデータコンテナである。
また、第1変更管理部は、内容変更データコンテナの変更履歴を第1更新履歴に記憶してもよい。さらに、内容を変更したユーザプログラムを以後タスク実行部において実行される新たなユーザプログラムとしてもよい。
これにより、外部においてユーザプログラムの内容の変更がなされた場合でも、ユーザプログラムに対してどのような内容の変更がなされたかについての情報を共有できる。
本発明の他の見地に係る制御システムは、上記の制御装置とサーバとを備える。サーバは、上記の制御装置と通信可能に接続されている。また、サーバは、第2変更管理部を有する。第2変更管理部は、データコンテナの変更履歴を記憶する。
これにより、制御装置の第1変更管理部以外の第2変更管理部にも、データコンテナの変更履歴を記憶できる。
第2変更管理部は、複製更新履歴を第2更新履歴として保存してもよい。複製更新履歴は、第1変更管理部に記憶された第1更新履歴を複製した更新履歴である。これにより、第2変更管理部において、第1更新履歴と一致する第2更新履歴を保存できる。すなわち、第1更新履歴を予備的に第2変更管理部に保存できる。
第1変更管理部は、第1更新履歴を第2変更管理部にバックアップして第2更新履歴として保存してもよい。これにより、第1更新履歴を予備的に第2変更管理部に保存できる。
第2変更管理部は、外部からデータコンテナの内容の変更を受信後、外部変更履歴を第2更新履歴に記憶してもよい。外部変更履歴は、外部から受信したデータコンテナの変更履歴である。また、それとともに、第2変更管理部は、外部変更履歴を第1変更管理部に送信してもよい。
このとき、第1変更管理部は、外部変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて外部変更履歴に基づいて生成したデータコンテナを第1保存部に保存してもよい。
これにより、外部からデータコンテナの内容の変更の要求があった場合でも、外部から受信したデータコンテナの変更履歴を、第1変更管理部の第1更新履歴、及び、第2変更管理部の第2更新履歴の両方に保存できる。
内容を変更したユーザプログラム及び内容変更データコンテナを外部から制御装置において受信した場合、内容変更データコンテナは、第1保存部に保存されるとともに、変更履歴が第2変更管理部の第2更新履歴に記憶されてもよい。また、内容を変更したユーザプログラムを以後タスク実行部において実行される新たなユーザプログラムとしてもよい。
これにより、外部においてユーザプログラムの内容の変更がなされた場合でも、外部においてユーザプログラムを生成した際に用いられたデータコンテナを、第1保存部と第2更新履歴とに保存できる。すなわち、上記のデータコンテナを予備的に保存できる。
本発明のさらに他の見地に係る制御システムは、制御装置とユーザプログラム生成サーバとを備える。
上記の制御システムにおいて、制御装置は、タスク実行部と、第1保存部と、第1変更管理部と、を有する。タスク実行部は、制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行する。第1保存部には、ユーザプログラムを生成するために用いられるユーザプログラム生成用資源を含むデータコンテナが保存される。第1変更管理部は、第1保存部に保存されたデータコンテナの内容が変更された場合、データコンテナの変更履歴を第1更新履歴に記憶する。また、第1変更管理部は、それとともに、所定のタイミングにおいて変更履歴を用いて生成された新たなデータコンテナを第1保存部に保存する。
ユーザプログラム生成サーバは、第3保存部と第2ユーザプログラム生成部とを有する。
第3保存部は、第1変更管理部において生成されたデータコンテナを受信し保存する。第2ユーザプログラム生成部は、第3保存部に保存されたデータコンテナに含まれるユーザプログラム生成用資源を用いてユーザプログラムを生成する。また、第2ユーザプログラム生成部は、生成したユーザプログラムを制御装置に送信する。
上記の制御システムにおいては、第1変更管理部において所定のタイミングにおいて変更履歴を用いて新たなデータコンテナを生成した際に、新たなデータコンテナを、第1保存部だけでなく、ユーザプログラム生成サーバの第3保存部にも保存する。その後、第3保存部に保存された新たなデータコンテナを用いてユーザプログラムが生成される。
これにより、ユーザプログラムの生成を外部のサーバ(ユーザプログラム生成サーバ)により生成できる。その結果、制御装置における計算負荷を低減できる。
制御装置及び制御システムにおいて、現在実行されているユーザプログラムがどの変更段階のユーザプログラムであるかを共有でき、ユーザプログラムの内容の変更に伴う制御対象機器の停止時間を短縮できる。
第1実施形態に係る制御システムの全体構成を示す図。 制御装置及び開発支援装置の構成を示す図。 制御装置の詳細構成を示す図。 制御装置の変形例を示す図。 第1更新履歴の構成の一例を示す図。 制御システムにおけるユーザプログラムの更新動作を示すフローチャート。 第2実施形態に係る制御システムの構成を示す図。 サーバの詳細構成を示す図。 第3実施形態に係る制御システムの構成を示す図。 第3実施形態に係る制御システムの詳細構成を示す図。
1.第1実施形態
(1)制御システムの全体構成
まず、第1実施形態に係る制御システム100の全体構成について、図1を用いて説明する。図1は、第1実施形態に係る制御システムの全体構成を示す図である。制御システム100は、PLCシステム1とプログラム開発支援装置3とを備える。
PLCシステム1は、例えば、センサやスイッチなどにより構成される信号入力部5から信号を入力する。また、PLCシステム1は、信号入力部5(後述)からの入力信号を必要の応じて用いプログラムを実行して、制御対象機器7を制御する出力信号を算出する。
プログラム開発支援装置3は、PLCシステム1の制御装置11において実行されるユーザプログラム1131(図3)を作成又は変更するための編集機能を含む各種機能を実現する。また、PLCシステム1に接続可能なプログラム開発支援装置3の数は1に限られず、例えば、プログラム開発支援装置3に割当可能なアドレス数などが許す限り、任意の数のプログラム開発支援装置3を接続できる。
以下に、PLCシステム1、制御装置11、及びプログラム開発支援装置3の詳細な構成についてそれぞれ説明する。
(2)PLCシステムの構成
次に、PLCシステム1の詳細な構成について図1を用いて説明する。本実施形態に係るPLCシステム1は、制御装置11と、入力ユニット13と、出力ユニット15と、電源ユニット17と、を有する。
本実施形態に係る制御装置11は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller、PLC)のCPUユニットである。制御装置11においては、入力ユニット13(後述)に入力される入力信号が制御装置11内部において用いられる入力変数に関連づけられている。また、出力ユニット15(後述)への出力信号が制御装置11内部において用いられる出力変数に関連づけられている。
また、制御装置11においては、所定のタスクが所定の周期にて繰り返し実行されている。ここで、タスクとは、入力ユニット13からの入力信号に基づいて入力変数を更新し、出力変数に基づいて出力ユニット15へ出力する出力信号を更新するI/Oリフレッシュ処理と、ユーザプログラム1131及び/又はシステムプログラム115a(後述)を実行する処理とを含む処理単位のことである。なお、タスクには、モーションコントロール処理などの他の処理がさらに含まれていてもよく、また、プログラムの実行処理のみが含まれていてもよい。
入力ユニット13は、センサやスイッチなどの信号入力部5から入力信号を入力し、制御装置11に当該入力信号を出力する。入力ユニット13としては、信号入力部5から入力される信号種類に応じた入力ユニットを使用できる。具体的には、例えば、信号入力部5が温度を測定する熱電対により構成されている場合には、熱電対において発生する電圧を入力信号とする入力ユニットを入力ユニット13として用いることができる。また、例えば、信号入力部5が電気スイッチにより構成されている場合には、当該スイッチのON/OFF状態を入力信号とする入力ユニットを入力ユニット13として用いることができる。
出力ユニット15は、制御装置11の出力変数に関連づけられた出力信号を、対応する制御対象機器7に出力する。これにより、制御装置11は、プログラムを実行することにより算出された出力変数に基づいて、制御対象機器7を制御できる。
出力ユニット15は、出力信号の種類に応じた出力ユニットとして構成できる。例えば、制御対象機器7がモータであり、モータの位置制御などを行う場合には、モーションコントローラ機能を有した出力ユニットを用いることができる。また、例えば、制御対象機器7が電気炉である場合には、電気炉を制御するリレーを制御する信号(例えば、ON/OFFデューティ比を制御する信号)を出力する出力ユニットを用いることができる。
電源ユニット17は、制御装置11、入力ユニット13、及び出力ユニット15に電力を供給する。
なお、PLCシステム1は、上記の構成要素の全てを1の筐体内に組み込んだシステムであってもよいし、各構成要素を個別の筐体に組み込んで当該構成要素を接続してPLCシステムとしてもよい。特に、入力ユニット13及び出力ユニット15を個別の構成要素とすることにより、PLCシステム1は、所望する制御対象機器及び信号入力部を所望の数接続できる。
(3)制御装置の構成
I.全体構成
次に、制御装置11の構成の詳細について、図2及び図3Aを用いて説明する。図2は、制御装置及び開発支援装置の構成を示す図である。図3Aは、制御装置の詳細構成を示す図である。
上記のように、制御装置11はPLCシステムにおけるCPUユニットである。図2に示すように、制御装置11は、プログラムの実行などの演算処理を行うCPU111と、書き込みと読み出しとが可能な記憶領域を提供するRAM113と、読み出しのみを主目的としている記憶領域を提供するROM115と、プログラム開発支援装置3との通信を行う通信インターフェース117と、記憶部119と、を有する。
通信インターフェース117は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)などのデータ通信プロトコルを用いてデータ送受信を実行する。これにより、制御装置11と、プログラム開発支援装置3に割当可能なアドレス数分のプログラム開発支援装置3との間にてデータ送受信できる。
記憶部119は、各種データを記憶領域である。本実施形態において、記憶部119に記憶されるデータとしては、新たなデータコンテナ119a(後述)及び第1更新履歴119b(後述)がある。記憶部119は、例えば、SDメモリカードなどのコンパクト記憶媒体と、当該記憶媒体のデータの書き込み及び読み出しを行う装置(図示せず)などとにより構成できる。
次に、制御装置11の各種機能を実現する各部について、図3Aを用いてさらに詳しく説明する。本実施形態において、以下に説明する制御装置11の各部の機能は、図2に示す制御装置11のCPU111において、ROM115に記憶されたシステムプログラム115aを実行することにより実現されている。
図3Aに示すように、制御装置11は、タスク実行部1111と、データコンテナ生成部1113と、第1ユーザプログラム生成部1115と、生成指示部1117と、送受信部1171と、を有する。
タスク実行部1111は、RAM113に記憶された制御対象機器7を制御するユーザプログラム1131を参照し、ユーザプログラム1131を含むタスクを所定の周期にて繰り返し実行する。なお、タスク実行部1111において実行されるタスクの数は複数であってもよい。
タスク実行部1111は、ユーザプログラム1131を実行することにより、制御装置11の内部において用いられ、制御システム100における出力信号に関連付けられた出力変数を算出できる。
また、タスク実行部1111が、上記のI/Oリフレッシュ処理により、出力ユニット15に対して、ユーザプログラムにより算出された出力変数に基づいた出力信号を出力するよう指令することにより、出力ユニットに接続された制御対象機器7が制御される。すなわち、ユーザプログラム1131の実行により、制御対象機器7が制御される。
データコンテナ生成部1113は、第1ユーザプログラム生成部1115(後述)において更新後の新たなユーザプログラム1131を生成するために用いられる新たなデータコンテナ119aを生成し記憶する。新たなデータコンテナ119aには、新たなユーザプログラム1131を生成するために用いられるユーザプログラム生成用資源119a−1が含まれている。
データコンテナ119aは、ユーザプログラム1131を生成するために用いられるユーザプログラム生成用資源119a−1(普通は複数)をまとめて保存しているデータフォルダの一種である。このデータコンテナ119aを用いてユーザプログラム1131が生成される際、データコンテナ119aに保存されているユーザプログラム生成用資源119a−1が、第1ユーザプログラム生成部1115(後述)及びプログラム開発支援装置3において実行されるユーザプログラム生成処理プログラムにより参照されて、ユーザプログラムが生成される。
また、ユーザプログラム生成用資源119a−1は、ユーザプログラム1131を生成する際に用いられるソースプログラム(ユーザが認識可能な形式のプログラム)又は種々の設定情報を記載した設定ファイルのことである。設定情報には、制御システム100におけるハードウェア構成及びハードウェア同士の接続関係を示す物理的情報と、上記のハードウェアの設定、変数のマッピング設定、タスク設定などの論理的情報とがある。
また、データコンテナ生成部1113は、新たなデータコンテナ119aを生成する際に、第1更新履歴119b(後述)に保存されている変更履歴119b−1を用いる。従って、データコンテナ生成部1113は、第1更新履歴119bを保存している。変更履歴119b−1は、後述するように、ユーザプログラム1131(データコンテナ119a)に対してどのような変更が行われたか(変更が加えられたユーザプログラム生成用資源119a−1、その具体的な変更内容(差分)など)が記録されている。
データコンテナ生成部1113の構成については、後ほど詳しく説明する。
第1ユーザプログラム生成部1115は、データコンテナ生成部1113(の第1保存部1113−3(後述))に保存される新たなデータコンテナ119aに含まれるユーザプログラム生成用資源119a−1を用いてユーザプログラム1131を生成する。第1ユーザプログラム生成部1115は、生成指示部1117(後述)からの指示があった場合に、ユーザプログラム1131を生成する。
従って、第1ユーザプログラム生成部1115は、例えば、データコンテナ119a中のユーザプログラム生成用資源119a−1を用いて制御装置11において実行可能な形式のプログラムを生成するコンパイラである。
生成指示部1117は、第1ユーザプログラム生成部1115に対して、ユーザプログラムを生成するように指示する。図3Aに示すように、生成指示部1117は、外部(例えば、プログラム開発支援装置3)から、ユーザプログラム生成指示を受信すれば、第1ユーザプログラム生成部1115に対してユーザプログラムの生成を指示する。
これにより、第1ユーザプログラム生成部1115は、外部(プログラム開発支援装置3)からユーザプログラム生成指示を受信すれば、ユーザプログラム1131を生成できる。すなわち、任意のタイミングにおいてユーザプログラム1131を生成できる。
また、上記のユーザプログラム生成指示には、第1更新履歴119bに記憶されたどの変更履歴119b−1を用いて新たなデータコンテナを生成するかを指定する変更履歴指定情報が含まれている。これにより、第1ユーザプログラム生成部1115は、任意の変更段階(変更履歴)において生成されるデータコンテナを用いてユーザプログラム1131を生成できる。
例えば、図4に示す第1更新履歴119bにおける更新番号11の更新の実行時にユーザプログラム生成指示を受信し、変更履歴指定情報に「更新番号9」と記録されている場合、第1ユーザプログラム生成部1115は、更新番号9までの変更履歴119b−1を適用(図4に示す例では、更新番号6から9までを適用)したデータコンテナ119aを用いて、新たなユーザプログラム1131を生成する。
送受信部1171は、制御装置11と外部(本実施形態においては、プログラム開発支援装置3)とのデータ通信を行う。従って、送受信部1171は、上記の通信インターフェース117である。
また、送受信部1171が外部(プログラム開発支援装置3)から内容を変更したユーザプログラム及び内容変更データコンテナを受信した場合、次の処理を行う。ここで、内容を変更したユーザプログラム1131は、プログラム開発支援装置3などにおいて作成された実行形式のユーザプログラム1131のことである。また、内容変更データコンテナ119aは、上記の内容を変更したユーザプログラム1131を生成した際に用いられた内容変更ユーザプログラム生成用資源119a−1を含むデータコンテナ119aである。
内容を変更したユーザプログラム1131と内容を変更したユーザプログラム1131を受信後、データコンテナ生成部1113は第1保存部1113−3(後述)に保存される。また、それとともに、第1変更管理部1113−1(後述)が、受信した内容変更データコンテナ119aを第1更新履歴に記憶する。さらに、RAM113に記憶されている(現在実行されている)ユーザプログラム1131が、受信した内容を変更したユーザプログラムに置き換えられる。すなわち、受信した内容を変更したユーザプログラム1131が、以後のタスク実行時にタスク実行部1111において実行される新たなユーザプログラム1131となる。
これにより、プログラム開発支援装置3などの外部においてユーザプログラム1131の内容の変更がなされた場合でも、現在実行されているユーザプログラム1131を内容を変更したユーザプログラム1131に置き換えることができる。
また、上記の内容を変更したユーザプログラム1131を生成する際に用いられた内容変更データコンテナ119aが第1更新履歴119bに記憶されることにより、外部においてユーザプログラム1131の内容の変更がなされた場合でも、ユーザプログラム1131に対してどのような内容の変更がなされたかについての情報を共有できる。
II.データコンテナ生成部の構成
次に、データコンテナ生成部1113の構成について、図3Aを用いて説明する。図3Aに示すように、データコンテナ生成部1113は、第1変更管理部1113−1と、第1保存部1113−3と、を有する。第1変更管理部1113−1は、第1保存部1113−3に保存されたデータコンテナ(すなわち、現在実行されているユーザプログラム1131を生成する際に用いられたデータコンテナ119a)の内容が変更された場合、データコンテナの変更履歴119b−1を第1更新履歴119bに記憶する。
変更履歴119b−1を第1更新履歴119bに記憶する際、第1変更管理部1113−1は、第1保存部1113−3(後述)に保存されているデータコンテナ119aに含まれるユーザプログラム生成用資源119a−1への変更の差分を変更履歴119b−1に記憶する。
第1ユーザプログラム生成部1115又はプログラム開発支援装置3などにおいてユーザプログラム1131が生成される際には、ソースファイルがコンパイルされると共に、設定ファイルにおける設定がソースファイルのコンパイル中に反映されて、実行可能な形式のユーザプログラム1131が生成される。
また、変更履歴119b−1を記憶するとともに、第1変更管理部1113−1は、所定のタイミングにおいて、変更履歴119b−1を用いて生成された新たなデータコンテナ119aを第1保存部1113−3に保存する。
第1変更管理部1113−1は、第1更新履歴119bに記憶されているデータコンテナ119aに対して、上記の変更履歴119b−1を反映させることにより新たなデータコンテナ119aを生成する。
例えば、第1更新履歴119bに記憶されるデータコンテナ119aが新規のデータコンテナ119aである場合には、新規のデータコンテナ119aが生成されてから今回の変更履歴119b−1に至るまでの全ての変更履歴119b−1が、第1更新履歴119bに記憶されているデータコンテナ119aに適用される。上記の「新規のデータコンテナ119a」は、ユーザプログラム1131が何もない状態から新規に生成されたときに用いられたデータコンテナ119aである。
なお、第1更新履歴119bに記憶されるデータコンテナ119aは新規にユーザプログラム1131を生成したときに用いられたデータコンテナ119aに限られない。第1更新履歴119bに記憶されるデータコンテナ119aは、所定の更新段階(変更履歴)において生成されたデータコンテナ119aであってもよい。この場合、新たなデータコンテナ119aは、第1更新履歴119bに記憶されたデータコンテナ119aが生成されたときの変更履歴119b−1から現在の変更履歴119b−1までの変更履歴を当該データコンテナ119aに反映することにより、生成される。なお、上記の変更履歴119b−1の詳細については後述する。
第1保存部1113−3には、データコンテナ119aが保存される。第1保存部1113−3に保存されるデータコンテナ119aは、現在実行されているユーザプログラム1131を生成した際に用いられたデータコンテナ119aが保存されている。これにより、第1保存部1113−3に保存されたデータコンテナ119aを参照することにより、現在実行されているユーザプログラム1131を生成したデータコンテナ119aの内容を知ることができる。
つまり、第1保存部1113−3に、現在実行されているユーザプログラム1131を生成したデータコンテナ119aが保存されていることにより、現在実行されているユーザプログラム1131が、どの変更段階(変更履歴)において生成されたデータコンテナに含まれるユーザプログラム生成用資源119a−1により生成されたかについての情報を共有できる。
なお、第1変更管理部1113−1は、第1保存部1113−3に保存されているデータコンテナ119aに対して第1更新履歴119bに記憶された変更履歴119b−1の内容を適用して、新たなデータコンテナ119aとしてもよい。この場合、第1変更管理部1113−1は、第1保存部1113−3に保存されたデータコンテナ119aに、第1保存部1113−3に保存されたデータコンテナ119aが生成された変更履歴119b−1から現在の変更履歴119b−1までを反映させることにより、新たなデータコンテナ119aを生成できる。
III.更新履歴の構成
次に、第1更新履歴119bの構成について、図4を用いて説明する。図4は、第1更新履歴の構成の一例を示す図である。
図4に示すように、第1更新履歴119bは、更新番号記録領域119b−11と、更新対象記録領域119b−12と、更新内容記録領域119b−13と、更新ユーザ記録領域119b−14と、更新日時記録領域119b−15と、ユーザプログラム生成実行記録領域119b−16と、備考記録領域119b−17と、を有する。また、第1更新履歴119bに記録されたデータ1行分が、変更履歴119b−1に対応する。
更新番号記録領域119b−11は、変更履歴119b−1を識別する更新番号を記録する。更新対象記録領域119b−12は、どのユーザプログラム生成用資源119a−1に対して変更がなされたかを記録する。なお、更新番号1の更新対象記録領域119b−12に記載の「新規」は、ユーザプログラム1131のためのデータコンテナ119aが新規作成されてことを意味している。
更新内容記録領域119b−13は、更新対象記録領域119b−12に記録されたユーザプログラム生成用資源119a−1に対する具体的な更新内容を記録する。新たなユーザプログラム1131を生成するために用いる新たなデータコンテナ119aは、第1更新履歴119b又は第1保存部に保存されたデータコンテナ119aにおいて、上記の更新対象記録領域119b−12に記録されたユーザプログラム生成用資源119a−1に対して、更新内容記録領域119b−13に記録された更新内容を適用することにより、生成できる。
更新ユーザ記録領域119b−14は、内容の変更を実行したユーザ名を記録する。更新日時記録領域119b−15は、内容の変更が実行された日時(更新日時)を記録する。ユーザプログラム生成実行記録領域119b−16は、どの変更履歴119b−1においてユーザプログラム1131が生成されたかを記録する。図4に示す例においては、更新番号1の更新の実行時(新規作成)と更新番号6の更新の実行時とにおいて、ユーザプログラム1131が生成又は外部から受信されている。すなわち、図4に示す例においては、現在、更新番号6の更新時のデータコンテナ119aが第1保存部1113−3に保存されている。従って、現在(例えば、更新番号12の更新時)は、更新番号6の更新時のデータコンテナ119aの内容までさかのぼって、データコンテナ119aを生成できる(現在生成可能なデータコンテナ119aであって最も古い更新内容のデータコンテナは、更新番号6の更新時のデータコンテナ119a)。
図4に示す更新履歴の場合、第1保存部1113−3には、更新番号6の更新の実行時において生成されたデータコンテナ119aが保存されている。なぜなら、更新番号6の更新の実行が、ユーザプログラム1131を生成した最も直近の更新の実行であるからである。
備考記録領域119b−17は、各更新に対する備考を記録する。当該更新に対する備考は、各データコンテナ119aの更新がなされたときに、ユーザにより記録されてもよいし、制御装置11が自律的に更新した場合は、第1変更管理部1113−1が記録してもよい。
図4に示す例では、更新番号6の備考記録領域119b−17に「資源A追加」と記載されている。この場合、更新対象記録領域119b−12には、「資源A」と記録されており、更新内容記録領域119b−12には、「追加」と記録されている。このように、備考記録領域119b−17には、ユーザプログラム生成用資源119a−1(データコンテナ119a)に対する変更内容の概略を記録できる。
図4に示すような第1更新履歴119bにより、制御システム100においては、ユーザプログラム1131に対してどのような内容の変更が加えられてきたかを内容の更新毎に記憶できる。また、図4に示す第1更新履歴119bが、プログラム開発支援装置3などにより閲覧可能となっていれば、ユーザプログラム1131の開発を行うユーザは、プログラム開発支援装置3を用いて、ユーザプログラムに対して行われた変更の具体的内容を視覚的に確認できる。
本実施形態の制御装置11が上記の構成要素を有することにより、現在実行されているユーザプログラム1131が、どの変更段階(変更履歴119b−1)において生成されたデータコンテナ119aに含まれるユーザプログラム生成用資源119a−1により生成されたかについての情報を共有できる。すなわち、現在実行されているユーザプログラムが、どの変更段階におけるユーザプログラム1131であるかについての情報を共有できる。
なお、上記の図3Aを用いて説明した制御装置11においては、プログラム開発支援装置3からのユーザプログラム生成指示を受信した場合に、第1ユーザプログラム生成部1115はユーザプログラム1131を生成していた。しかし、ユーザプログラム1131を生成するタイミングはユーザプログラム生成指示を受信したときに限られない。
変形例として、図3Bに示すように、第1変更管理部1113−1からの指示を受信し、当該指示の受信時に、生成指示部1117が第1ユーザプログラム生成部1115に対してユーザプログラム1131の生成を指示してもよい。すなわち、第1変更管理部1113−1からの指示により、ユーザプログラム1131を生成してもよい。図3Bは、制御装置の変形例を示す図である。
この場合、第1変更管理部1113−1がデータコンテナ119aの内容の変更を検出するたびに、第1ユーザプログラム生成部1115に対して、ユーザプログラム1131を生成するよう指示してもよい。これにより、各段階のデータコンテナ119aの内容の変更を変更履歴119b−1に残しつつ、直近の内容の変更がなされたデータコンテナ119aを用いて最新の更新状態のユーザプログラム1131を生成できる。
(4)プログラム開発支援装置の構成
次に、プログラム開発支援装置3の構成の詳細について、図2を用いて説明する。
プログラム開発支援装置3は、例えば、パーソナルコンピュータなどのコンピュータである。よって、図2に示すように、プログラム開発支援装置3は、プログラムの実行などの演算処理を行うCPU31と、記憶領域を提供する記憶部33と、キーボードやマウスなどの入力手段により構成されている操作部35と、制御装置11との通信を行う通信インターフェース37と、画面表示を行う表示部39と、を有する。
なお、通信インターフェース37は、制御装置11におけるデータ通信プロトコルと同一のプロトコルを用いて、制御装置11とデータ送受信を行う。従って、本実施形態において、通信インターフェース37は、例えば、TCP/IPプロトコルにて通信可能なインターフェースである。
上記のプログラム開発支援装置3においては、記憶部33に記憶されている開発支援プログラム33aをプログラム開発支援装置3上にて実行することにより、ユーザプログラム1131に対する編集、又は、ユーザプログラム1131の生成ができる。
本実施形態においては、プログラム開発支援装置3は、ユーザプログラム1131(データコンテナ119a)を編集するとき、第1保存部1113−3(データコンテナ生成部1113)に保存されているデータコンテナ119a、又は、データコンテナ119aに含まれているユーザプログラム生成用資源119a−1をダウンロードして、データコンテナ119a又はユーザプログラム生成用資源119a−1を編集する。
上記のように、第1保存部1113−3に保存されているデータコンテナ119aは、制御装置11において現在実行されているユーザプログラム1131を生成する際に用いられたデータコンテナである。そのため、第1保存部1113−3に保存されているデータコンテナ119a又はユーザプログラム生成用資源119a−1をダウンロードして編集することは、現在実行されているユーザプログラム1131の内容を変更することになる。すなわち、上記の方法によりプログラム開発支援装置3上にてデータコンテナ119a又はユーザプログラム生成用資源119a−1を生成することにより、オンラインエディット機能が実現されている。
データコンテナ119a又はユーザプログラム生成用資源119a−1を編集後、プログラム開発支援装置3は、ユーザの指示により、編集後のデータコンテナ119a又はユーザプログラム生成用資源119a−1を用いて内容を変更したユーザプログラム1131を生成して、データコンテナ119aとともに制御装置11に送信するか、又は、編集したデータコンテナ119a又はユーザプログラム生成用資源119a−1のみを制御装置11に送信するかを選択可能となっている。
これにより、プログラム開発支援装置3は、編集したデータコンテナ119a又はユーザプログラム生成用資源119a−1の内容をユーザプログラム1131に対してすぐに適用するか、すぐには適用せずに制御装置11において内容の変更を変更履歴119b−1として記憶しておくかを選択できる。
(5)制御システムにおけるユーザプログラムの更新動作
次に、制御システム100(制御装置11)におけるユーザプログラム1131の更新動作について、図5を用いて説明する。図5は、制御システムにおけるユーザプログラムの更新動作を示すフローチャートである。以下に説明するユーザプログラム1131の更新動作は、制御システム100の制御装置11において、ユーザプログラム1131の実行中に行われるユーザプログラム1131の更新動作(オンラインエディット)である。
まず、プログラム開発支援装置3において、開発支援プログラム33aが実行されることにより、データコンテナ119a又はユーザプログラム生成用資源119a−1の編集が可能となる。その後、プログラム開発支援装置3を用いるユーザは、データコンテナ119a又はユーザプログラム生成用資源119a−1を編集する(ステップS1)。
具体的には、まず、プログラム開発支援装置3が制御装置11の第1保存部1113−3に保存されているデータコンテナ119a又は当該データコンテナ119a中の編集したいユーザプログラム生成用資源119a−1を、制御装置11から受信する。その後、ユーザは、受信したデータコンテナ119a又はユーザプログラム生成用資源119a−1を編集する。これにより、第1保存部1113−3に保存されたデータコンテナ119aの内容が変更される。
データコンテナ119a又はユーザプログラム生成用資源119a−1の編集後、プログラム開発支援装置3は、編集後のデータコンテナ119a又はユーザプログラム生成用資源119a−1を制御装置11に送信する(ステップS2)。このとき、上記のステップS1の段階において、編集後のデータコンテナ119a又はユーザプログラム生成用資源119a−1を用いてユーザプログラム1131を生成してもよい。そして、編集後のデータコンテナ119aと共に生成したユーザプログラム1131を制御装置11に送信してもよい。
プログラム開発支援装置3などにおいてデータコンテナ119a又はユーザプログラム生成用資源119a−1を編集中、制御装置11においては、編集後の内容を変更したデータコンテナ119a、ユーザプログラム生成用資源119a−1、及び/又は内容を変更したユーザプログラム1131が受信されたかどうか確認する(ステップS3)。
制御装置11において、データコンテナ119a、ユーザプログラム生成用資源119a−1、及び/又は内容を変更したユーザプログラム1131が受信されていない場合(ステップS3において「No」の場合)、ステップS1に戻り、制御装置11は、編集後のデータコンテナ119a、ユーザプログラム生成用資源119a−1、及び/又は内容が変更されたユーザプログラム1131の受信のため待機する。
一方、制御装置11において、データコンテナ119a、ユーザプログラム生成用資源119a−1、及び/又は内容を変更したユーザプログラム1131を受信した場合(ステップS3において「Yes」の場合)、制御装置11は、内容を変更したユーザプログラム1131を受信したかどうかを確認する(ステップS4)。
制御装置11が内容を変更したユーザプログラム1131を受信している場合(ステップS4において「Yes」の場合)、第1変更管理部1113−1は、当該内容を変更したユーザプログラム1131とともに受信したデータコンテナ119aの変更履歴119b−1を第1更新履歴119bに記憶する(ステップS5)。
このとき、受信したデータコンテナ119aそのもの(ユーザプログラム生成用資源119a−1の全部)を変更履歴119b−1として記憶してもよいし、受信したデータコンテナ119a中の内容を変更したユーザプログラム生成用資源119a−1(内容変更ユーザプログラム生成用資源119a−1)を変更履歴として記録してもよい。
このように、プログラム開発支援装置3によりユーザプログラム1131の内容が変更されてユーザプログラム1131が実行形式に変換されて送信されてきても、制御装置11において、ユーザプログラム1131に対してどのような内容の変更がなされたかについての情報を共有できる。
また、第1変更管理部1113−1は、受信したデータコンテナ119a(内容変更データコンテナ119a)を第1保存部1113−3に保存する。その後、第1変更管理部1113−1は、送受信部1171に対して、受信した内容を変更したユーザプログラム1131を、現在実行されているユーザプログラム1131が記憶されている領域に記憶するよう指令する(ステップS6)。これにより、受信した内容を変更したユーザプログラム1131を、以後タスク実行部1111において実行される新たなユーザプログラム1131とできる。これにより、今後実行されるユーザプログラム1131を生成するときに用いたデータコンテナ119aを、第1保存部1113−3に保存できる。
その後、制御システム100におけるユーザプログラム1131の更新を終了する。
なお、上記のステップS1〜S6の方法にてユーザプログラムの内容を更新する場合、制御対象機器7を停止させる必要があるのは、ステップS6の実行時において、ユーザプログラム1131を新たなユーザプログラム1131とする場合のみである。これにより、ユーザプログラム1131の内容の変更をする場合の制御対象機器7の停止時間を短縮できる。
一方、制御装置11において、内容を変更したユーザプログラム1131が受信されていない場合(ステップS4において「No」の場合)、第1変更管理部1113−1は、第1更新履歴119bに変更履歴119b−1を記憶する(ステップS7)。このとき、変更履歴119b−1としては、第1保存部1113−3に保存されているデータコンテナ119aからの差分が記憶される。
例えば、ユーザプログラム生成用資源119a−1の内容が変更されている場合には、受信したユーザプログラム生成用資源119a−1、又は、データコンテナ119a中の内容が変更されたユーザプログラム生成用資源119a−1(差分)が変更履歴119b−1として記憶される。
また、データコンテナ119aに含まれていたユーザプログラム生成用資源119a−1が削除または新たに追加されることにより、データコンテナ119aの内容が変更された場合には、内容が変更された(ユーザプログラム生成用資源119a−1が削除又は追加された)データコンテナ119aを変更履歴119b−1として記憶する。
変更履歴119b−1を記憶後、第1ユーザプログラム生成部1115が、ユーザプログラム1131を生成するかどうかを判断する(ステップS8)。本実施形態においては、第1ユーザプログラム生成部1115が、生成指示部1117から指示を受信したかどうかにより判断する。本実施形態においては、プログラム開発支援装置3などから生成指示部1117に対してユーザプログラム生成指示が送信されたときに、ユーザプログラム1131を生成すると判断する。
また、図3Bに示す制御装置11の変形例においては、第1変更管理部1113−1において、データコンテナ119aの内容の変更を検出する毎(すなわち、内容の変更毎)に、ユーザプログラム1131を生成すると判断する。
第1ユーザプログラム生成部1115において、ユーザプログラム1131を生成しないと判断された場合(ステップS8において「No」の場合)、ユーザプログラム1131の更新を終了する。これにより、データコンテナ119aの内容が変更されたがユーザプログラム1131が生成されなかった場合でも、データコンテナ119aに対する内容の変更に関する情報(変更履歴119b−1)は記憶できる。
一方、第1ユーザプログラム生成部1115において、ユーザプログラム1131を生成すると判断された場合(ステップS8において「Yes」の場合)、新たなデータコンテナ119aの生成と保存が実行される(ステップS9)。
具体的には、第1変更管理部1113−1が、第1更新履歴119bに保存されているデータコンテナ119aと、ユーザプログラム生成指示に含まれる変更履歴指定情報に示されている変更履歴119b−1とに基づいて、上記にて説明した方法にて新たなデータコンテナ119aが生成される。
新たなデータコンテナ119aを生成後、第1変更管理部1113−1は、生成した新たなデータコンテナ119aを第1保存部1113−3に保存する。
新たなデータコンテナ119aを第1保存部1113−3に保存後、第1ユーザプログラム生成部1115は、第1保存部1113−3に保存されている新たなデータコンテナ119aに含まれている新たなユーザプログラム生成用資源119a−1を用いて、新たなユーザプログラム1131を生成する(ステップS10)。
第1ユーザプログラム生成部1115が新たなユーザプログラム1131を生成後、第1ユーザプログラム生成部1115は、例えば、生成した新たなユーザプログラム1131をRAM113の現在実行されているユーザプログラム1131の記憶領域に書き込むことにより、新たなユーザプログラム1131を以後タスクの実行時に実行されるユーザプログラム1131とできる(ステップS11)。
上記において説明したステップを実行することにより、制御システム100(制御装置11)においては、現在実行されているユーザプログラムが、どの変更段階(変更履歴119b−1)において生成されたデータコンテナに含まれるユーザプログラム生成用資源により生成されたかについての情報を共有できる。
また、データコンテナ119aの内容の変更を行ったときにユーザプログラム1131の生成がなされていない場合でも、当該内容の変更の具体的内容が、変更履歴119b−1として記憶できる。その結果、ユーザプログラム1131に対してなされた全ての内容の変更を第1更新履歴119bから参照できる。
なお、上記のステップS1〜S11の方法にてユーザプログラムの内容を更新する場合、制御対象機器7を停止させる必要があるのは、ステップS8において、ユーザプログラム生成指示を受信し(所定のタイミングにて)、ステップS11の実行時において、ユーザプログラム1131を新たなユーザプログラム1131とする場合のみである。これにより、ユーザプログラム1131の内容の変更をする場合の制御対象機器7の停止時間を短縮できる。
2.第2実施形態
上記において説明した第1実施形態に係る制御システム100においては、プログラム開発支援装置3以外のコンピュータは存在していなかった。しかし、これに限られない。図6に示すように、以下に説明する第2実施形態に係る制御システム200には、サーバ2がさらに接続されていてもよい。図6は、第2実施形態に係る制御システムの構成を示す図である。
第2実施形態に係る制御システム200は、PLCシステム1と、プログラム開発支援装置3と、サーバ2と、を備える。第2実施形態に係る制御システム200は、PLCシステム1の制御装置11と、プログラム開発支援装置3と、サーバ2と、が通信ネットワークNWを介して、互いに通信可能に接続されている。
第2実施形態に係る制御システム200におけるPLCシステム1(制御装置11)と、プログラム開発支援装置3とは、第1実施形態において説明したPLCシステム1とプログラム開発支援装置3と同じであるため、説明を省略する。
サーバ2は、例えば、サーバとして動作するコンピュータである。よって、図6に示すように、サーバ2は、プログラムの実行などの演算処理を行うCPU21と、サーバ機能を提供するサーバプログラム23aが記憶されたRAM23と、第2更新履歴213a(後述)を記憶する記憶領域を提供する記憶部25と、通信インターフェース27とを有する。
通信インターフェース27は、制御システム200におけるデータ通信プロトコルと同一のプロトコルを用いて、制御装置11及びプログラム開発支援装置3とデータ送受信を行う。従って、本実施形態において、通信インターフェース27は、例えば、TCP/IPプロトコルにて通信可能なインターフェースである。
次に、サーバ2の詳細構成について、図7を用いて説明する。図7は、サーバの詳細構成を示す図である。図7に示すサーバ2の各構成の機能は、上記のサーバプログラム23aにより実現されている。
図7に示すように、サーバ2は、送受信部211と第2変更管理部213とを有する。送受信部211は、上記の通信インターフェース27を用いて、制御装置11及びプログラム開発支援装置3とデータの送受信を行う。
第2変更管理部213は、第2更新履歴213aを記憶する。第2更新履歴213aは、データコンテナ119aの変更履歴119b−1を記憶している。第2変更管理部213は、以下の3つの方法により、第2更新履歴213aに変更履歴119b−1を記憶する。
1つめは、制御装置11の第1変更管理部1113−1に記憶された第1更新履歴119bを複製した複製更新履歴を第2更新履歴213aとして保存する(ミラーリング)。これにより、第2変更管理部213において、第1更新履歴119bと常時一致する第2更新履歴213aを保存できる。すなわち、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
2つめは、制御装置11(第1変更管理部1113−1)が第1更新履歴119bを第2変更管理部213にバックアップして第2更新履歴213aとして保存する(バックアップ)。これによっても、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
外部(プログラム開発支援装置3)からデータコンテナ119aの内容の変更を受信後、プログラム開発支援装置3から受信したデータコンテナ119aの変更履歴である外部変更履歴を第2更新履歴213aに記憶する。そして、第2変更管理部213は、第2更新履歴213aに記憶した外部変更履歴を、第1変更管理部1113−1に送信する(リストア)。
このとき、第1変更管理部1113−1は、受信した外部変更履歴を第1更新履歴119bに記憶する。また、第1変更管理部1113−1は、それとともに、所定のタイミングにおいて外部変更履歴に基づいて生成したデータコンテナ119aを第1保存部1113−3に保存する。
これにより、プログラム開発支援装置3などの外部からデータコンテナ119aの内容の変更の要求があった場合でも、外部から受信したデータコンテナ119aの変更履歴119b−1を、第1変更管理部1113−1の第1更新履歴119b、及び、第2変更管理部213の第2更新履歴213aの両方に保存できる。
上記のように、制御システム200にサーバ2を備えることにより、制御装置11に記憶されている第1更新履歴119bをサーバ2に予備的に保存できる。その結果、制御装置11の不調などにより、制御装置11に記憶されている第1更新履歴119bにアクセスできない場合、又は、第1更新履歴119bが制御装置11から失われた場合に、第1更新履歴119bをサーバ2から制御装置11へと戻すことができる。
3.第3実施形態
上記において説明した第1実施形態に係る制御システム100及び第2実施形態に係る制御システム200においては、制御装置11が、実行形式のユーザプログラム1131を生成する機能(第1ユーザプログラム生成部1115)を有していた。しかし、これに限られない。図8A及び図8Bに示すように、第3実施形態に係る制御システム300においては、実行形式のユーザプログラム1131を生成する機能を、ユーザプログラム生成サーバ4が有していてもよい。図8Aは、第3実施形態に係る制御システム300の構成を示す図である。図8Bは、第3実施形態に係る制御システム300の詳細構成を示す図である。
第3実施形態に係る制御システム300は、PLCシステム1と、プログラム開発支援装置3と、ユーザプログラム生成サーバ4と、を備える。図8Aに示すように、第3実施形態に係る制御システム300は、PLCシステム1の制御装置11と、プログラム開発支援装置3と、ユーザプログラム生成サーバ4と、が通信ネットワークNWを介して、互いに通信可能に接続されている。
第3実施形態に係る制御システム300におけるプログラム開発支援装置3は、第1実施形態において説明したプログラム開発支援装置3と同じであるため、説明を省略する。
また、図8Bに示すように、PLCシステム1の制御装置11は、第1ユーザプログラム生成部1115と生成指示部1117とを備えていないこと以外は、第1実施形態及び第2実施形態における制御装置11と同じ構成を有する。従って、制御装置11の説明も省略する。
ユーザプログラム生成サーバ4は、例えば、サーバとして動作するコンピュータである。よって、図8Aに示すように、ユーザプログラム生成サーバ4は、プログラムの実行などの演算処理を行うCPU41と、ユーザプログラム1131を生成する機能を有する生成プログラム43aが記憶されたRAM43と、データコンテナ119aを保存する記憶領域を提供する記憶部45と、制御装置11及び、必要に応じて、プログラム開発支援装置3とデータの送受信を行う通信インターフェース47とを有する。
次に、ユーザプログラム生成サーバ4の詳細構成について、図8Bを用いて説明する。図8Bに示すユーザプログラム生成サーバ4の各構成の機能は、上記の生成プログラム43aにより実現されている。
図8Bに示すように、ユーザプログラム生成サーバ4は、第3保存部411と、第2ユーザプログラム生成部413と、送受信部415と、を有する。
第3保存部411は、第1変更管理部1113−1において生成されたデータコンテナ119aを受信し保存する。第2ユーザプログラム生成部413は、第3保存部411に保存されたデータコンテナ119aの含まれるユーザプログラム生成用資源119a−1を用いてユーザプログラム1131を生成する。また、第2ユーザプログラム生成部413は、生成したユーザプログラム1131を制御装置11に送信する。
送受信部415は、上記の通信インターフェース47を用いて、制御装置11及び、必要に応じてプログラム開発支援装置3とデータの送受信を行う。
第3実施形態に係る制御システム300においては、所定のタイミング(例えば、プログラム開発支援装置3からのユーザプログラム生成指示の受信タイミング)において、第1変更管理部1113−1が変更履歴119b−1を用いて新たなデータコンテナ119aを生成した際に、新たなデータコンテナ119aを、第1保存部1113−3だけでなく、ユーザプログラム生成サーバ4の第3保存部411にも保存する。
第3保存部411に新たなデータコンテナ119aが保存された際に、第2ユーザプログラム生成部413が、第3保存部に保存された新たなデータコンテナ119aを用いてユーザプログラム1131を生成する。その後、第2ユーザプログラム生成部413は、生成したユーザプログラム1131を制御装置11に送信する。
上記の生成したユーザプログラム1131を受信した制御装置11は、受信したユーザプログラム1131を、RAM113のユーザプログラム1131が記憶されている領域に書き込む。これにより、ユーザプログラム生成サーバ4において生成したユーザプログラム1131を、制御装置11におけるユーザプログラム1131として記憶できる。
上記のようにユーザプログラム生成サーバ4においてユーザプログラム1131の生成がなされることにより、制御装置11における計算負荷を低減できる。
4.実施形態の共通事項
上記第1〜第3実施形態は、下記の構成及び機能を有している。
第1実施形態及び第2実施形態に係る制御装置11(制御装置の一例)は、タスク実行部1111(タスク実行部の一例)と、第1保存部1113−3(第1保存部の一例)と、第1変更管理部1113−1(第1変更管理部の一例)と、第1ユーザプログラム生成部1115(第1ユーザプログラム生成部の一例)と、を備える。
タスク実行部1111は、制御対象機器7(制御対象機器の一例)を制御するユーザプログラム1131(ユーザプログラムの一例)を含むタスクを所定の周期にて繰り返し実行する。第1保存部1113−3には、データコンテナ119a(データコンテナの一例)が保存される。データコンテナ119aは、ユーザプログラム生成用資源119a−1(ユーザプログラム生成用資源の一例)を含む。ユーザプログラム生成用資源119a−1は、ユーザプログラム1131を生成するために用いられる資源のことである。
第1変更管理部1113−1は、第1保存部1113−3に保存されたデータコンテナ119aの内容が変更された場合、データコンテナ119aの変更履歴119b−1(変更履歴の一例)を第1更新履歴119b(第1更新履歴の一例)に記憶する。また、それとともに、第1変更管理部1113−1は、所定のタイミングにおいて変更履歴119b−1を用いて生成された新たなデータコンテナ119aを第1保存部1113−3に保存する。
第1ユーザプログラム生成部1115は、所定のタイミングにおいて、第1保存部1113−3に保存される新たなデータコンテナ119aに含まれる新たなユーザプログラム生成用資源119a−1を用いてユーザプログラム1131を生成する。
第1実施形態及び第2実施形態に係る制御装置11においては、第1保存部1113−3に保存されたデータコンテナ119aの内容が変更されると、第1変更管理部1113−1がデータコンテナの変更履歴119b−1を第1更新履歴119bに記憶する。また、第1変更管理部1113−1は、所定のタイミングにおいて、変更履歴119b−1を用いて新たなデータコンテナ119aを生成し、生成した新たなデータコンテナ119aを第1保存部1113−3に保存する。
その後、第1ユーザプログラム生成部1115が、所定のタイミングにおいて、第1保存部1113−3に保存されている上記の新たなデータコンテナ119aに含まれる新たなユーザプログラム生成用資源119a−1を用いて新たなユーザプログラム1131を生成する。
従って、第1実施形態及び第2実施形態に係る制御装置11においては、新たなユーザプログラム1131を生成する際に用いられた新たなユーザプログラム生成用資源119a−1を含む新たなデータコンテナ119aが、第1保存部1113−3に保存されている。また、データコンテナ119aへの変更履歴119b−1が第1更新履歴119bに記憶されている。
これにより、第1実施形態及び第2実施形態に係る制御装置11において、現在実行されているユーザプログラム1131が、どの変更段階(変更履歴119b−1)において生成されたデータコンテナ119aに含まれるユーザプログラム生成用資源119a−1により生成されたかについての情報を共有できる。すなわち、現在実行されているユーザプログラム1131が、どの変更段階におけるユーザプログラム1131であるかについての情報を共有できる。
また、第1ユーザプログラム生成部1115が、所定のタイミングにおいてユーザプログラム1131を生成している。これにより、オンラインエディット機能においてユーザプログラム1131の内容の変更をする際に、ユーザプログラムの更新のための制御対象機器の停止時間を短縮できる。なぜなら、ユーザプログラム1131の更新のための制御対象機器7の停止時間を、ユーザプログラム1131を生成したときだけ(すなわち、所定のタイミングだけ)にできるからである。
第1実施形態及び第2実施形態に係る制御装置11において、所定のタイミングは、第1変更管理部1113−1がデータコンテナ119aの内容の変更を検出するタイミングとしている。これにより、制御装置11においては、各段階のデータコンテナ119aの内容の変更を変更履歴119b−1に残しつつ、直近の内容の変更がなされたデータコンテナ119aを用いて最新の更新状態のユーザプログラム1131を生成できる。
第1実施形態及び第2実施形態に係る制御装置11において、所定のタイミングは、ユーザプログラム生成指示(ユーザプログラム生成指示)を外部から受信したタイミングとしている。この場合、ユーザプログラム生成指示には、第1更新履歴119bに記憶されたどの変更履歴119b−1を用いて新たなデータコンテナ119aを生成するかを指定する変更履歴指定情報(変更履歴指定情報の一例)が含まれている。
また、第1ユーザプログラム生成部1115は、変更履歴指定情報に指定された変更履歴119b−1を用いて生成された新たなデータコンテナ119aを用いてユーザプログラム1131を生成している。
これにより、予め決定したタイミングにおいて新たなユーザプログラム1131を生成できる。また、第1更新履歴119bに記憶されているどの変更履歴119b−1を用いて新たなデータコンテナ119aを生成するかを指定可能とすることにより、任意の変更段階(変更履歴119b−1)におけるデータコンテナ119aを用いてユーザプログラム1131を生成できる。
第1実施形態及び第2実施形態に係る制御装置11において、内容を変更したユーザプログラム1131及び内容変更データコンテナ119a(内容変更データコンテナの一例)を外部から受信した場合、内容変更データコンテナ119aは第1保存部1113−3に保存される。内容変更データコンテナ119aは、内容を変更したユーザプログラム1131が生成された際に用いられた内容変更ユーザプログラム生成用資源119a−1(内容変更ユーザプログラム生成用資源の一例)を含むデータコンテナである。
また、第1変更管理部1113−1は、内容変更データコンテナ119aの変更履歴119b−1を第1更新履歴119bに記憶している。さらに、内容を変更したユーザプログラム1131を以後タスク実行部において実行される新たなユーザプログラム1131としている。
これにより、外部においてユーザプログラム1131の内容の変更がなされた場合でも、ユーザプログラム1131に対してどのような内容の変更がなされたかについての情報を共有できる。
第2実施形態に係る制御システム200は、上記の制御装置11とサーバ2(サーバの一例)とを備える。サーバ2は、制御装置11と通信可能に接続されている。また、サーバ2は、第2変更管理部213(第2変更管理部の一例)を有する。第2変更管理部は、データコンテナ119aの変更履歴119b−1を記憶する。
これにより、制御装置11の第1変更管理部1113−1以外の第2変更管理部213にも、データコンテナ119aの変更履歴119b−1を記憶できる。
第2変更管理部213は、複製更新履歴(複製更新履歴の一例)を第2更新履歴213a(第2更新履歴の一例)として保存している。複製更新履歴は、第1変更管理部1113−1に記憶された第1更新履歴119bを複製した更新履歴である。これにより、第2変更管理部213において、第1更新履歴119bと一致する第2更新履歴213aを保存できる。すなわち、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
第1変更管理部1113−1は、第1更新履歴119bを第2変更管理部213にバックアップして第2更新履歴213aとして保存している。これにより、第1更新履歴119bを予備的に第2変更管理部213に保存できる。
第2変更管理部213は、外部からデータコンテナ119aの内容の変更を受信後、外部変更履歴(外部変更履歴の一例)を第2更新履歴213aに記憶している。外部変更履歴は、外部から受信したデータコンテナ119aの変更履歴119b−1である。また、それとともに、第2変更管理部213は、外部変更履歴を第1変更管理部1113−1に送信している。
このとき、第1変更管理部1113−1は、外部変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて外部変更履歴に基づいて生成したデータコンテナ119aを第1保存部1113−3に保存している。
これにより、外部からデータコンテナ119aの内容の変更の要求があった場合でも、外部から受信したデータコンテナ119aの変更履歴119b−1を、第1変更管理部1113−1の第1更新履歴119b、及び、第2変更管理部213の第2更新履歴213aの両方に保存できる。
内容を変更したユーザプログラム1131及び内容変更データコンテナ119aを外部から制御装置11において受信した場合、内容変更データコンテナ119aは、第1保存部1113−3に保存されるとともに、変更履歴119b−1が第2変更管理部213の第2更新履歴213aに記憶されている。また、内容を変更したユーザプログラム1131を以後タスク実行部1111において実行される新たなユーザプログラム1131としている。
これにより、外部においてユーザプログラム1131の内容の変更がなされた場合でも、外部においてユーザプログラム1131を生成した際に用いられたデータコンテナ119aを、第1保存部1113−3と第2更新履歴213aとに保存できる。すなわち、上記のデータコンテナ119aを予備的に保存できる。
第3実施形態に係る制御システム300は、制御装置11とユーザプログラム生成サーバ4(ユーザプログラム生成サーバの一例)とを備える。
第3実施形態に係る制御システム300において、制御装置11は、タスク実行部1111と、第1保存部1113−3と、第1変更管理部1113−1と、を有する。タスク実行部1111は、制御対象機器7を制御するユーザプログラム1131を含むタスクを所定の周期にて繰り返し実行する。第1保存部1113−3には、ユーザプログラム1131を生成するために用いられるユーザプログラム生成用資源119a−1を含むデータコンテナ119aが保存される。第1変更管理部1113−1は、第1保存部1113−3に保存されたデータコンテナ119aの内容が変更された場合、データコンテナ119aの変更履歴119b−1を第1更新履歴119bに記憶する。また、第1変更管理部1113−1は、それとともに、所定のタイミングにおいて変更履歴119b−1を用いて生成された新たなデータコンテナ119aを第1保存部1113−3に保存する。
ユーザプログラム生成サーバ4は、第3保存部411(第3保存部の一例)と第2ユーザプログラム生成部413(第2ユーザプログラム生成部の一例)とを有する。
第3保存部411は、第1変更管理部1113−1において生成されたデータコンテナ119aを受信し保存する。第2ユーザプログラム生成部413は、第3保存部411に保存されたデータコンテナ119aに含まれるユーザプログラム生成用資源119a−1を用いてユーザプログラム1131を生成する。また、第2ユーザプログラム生成部413は、生成したユーザプログラム1131を制御装置11に送信する。
制御システム300においては、第1変更管理部1113−1において所定のタイミングにおいて変更履歴119b−1を用いて新たなデータコンテナ119aを生成した際に、新たなデータコンテナ119aを、第1保存部1113−3だけでなく、ユーザプログラム生成サーバ4の第3保存部411にも保存する。その後、第3保存部411に保存された新たなデータコンテナ119aを用いてユーザプログラム1131が生成される。
これにより、ユーザプログラム1131の生成を外部のサーバ(ユーザプログラム生成サーバ4)により生成できる。その結果、制御装置11における計算負荷を低減できる。
5.他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
ユーザプログラムを所定の周期にて繰り返し実行することにより制御対象機器を制御する制御装置、及び、当該制御装置を用いた制御システムに広く適用できる。
100、200、300 制御システム
1 PLCシステム
11 制御装置
111 CPU
1111 タスク実行部
1113 データコンテナ生成部
1113−1 第1変更管理部
1113−3 第1保存部
1115 第1ユーザプログラム生成部
1117 生成指示部
113 RAM
1131 ユーザプログラム
115 ROM
115a システムプログラム
117 通信インターフェース
1171 送受信部
119 記憶部
119a データコンテナ
119a−1 ユーザプログラム生成用資源
119b 第1更新履歴
119b−1 変更履歴
119b−11 更新番号記録領域
119b−12 更新対象記録領域
119b−13 更新内容記録領域
119b−14 更新ユーザ記録領域
119b−15 更新日時記録領域
119b−16 ユーザプログラム生成実行記録領域
119b−17 備考記録領域
13 入力ユニット
15 出力ユニット
17 電源ユニット
2 サーバ
21 CPU
211 送受信部
213 第2変更管理部
213a 第2更新履歴
23 RAM
23a サーバプログラム
25 記憶部
27 通信インターフェース
3 プログラム開発支援装置
31 CPU
33 記憶部
33a 開発支援プログラム
35 操作部
37 通信インターフェース
39 表示部
4 ユーザプログラム生成サーバ
41 CPU
411 第3保存部
413 第2ユーザプログラム生成部
415 送受信部
43 RAM
43a 生成プログラム
45 記憶部
47 通信インターフェース
5 信号入力部
7 制御対象機器
NW 通信ネットワーク

Claims (10)

  1. 制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行するタスク実行部と、
    前記ユーザプログラムを生成するために用いられるユーザプログラム生成用資源を含むデータコンテナが保存される第1保存部と、
    前記第1保存部に保存されたデータコンテナの内容が変更された場合、前記データコンテナの変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて前記変更履歴を用いて生成された新たなデータコンテナを前記第1保存部に保存する第1変更管理部と、
    前記所定のタイミングにおいて、前記第1保存部に保存される前記新たなデータコンテナに含まれる新たなユーザプログラム生成用資源を用いて前記ユーザプログラムを生成する第1ユーザプログラム生成部と、
    を備える制御装置。
  2. 前記所定のタイミングは、前記第1変更管理部が前記データコンテナの内容の変更を検出するタイミングである、請求項1に記載の制御装置。
  3. 前記所定のタイミングは、前記第1更新履歴に記憶されたどの変更履歴を用いて前記新たなデータコンテナを生成するかを指定する変更履歴指定情報を含むユーザプログラム生成指示を外部から受信したタイミングであり、
    前記第1ユーザプログラム生成部は、前記変更履歴指定情報に指定された前記変更履歴を用いて生成された新たなデータコンテナを用いて前記ユーザプログラムを生成する、請求項1に記載の制御装置。
  4. 内容を変更したユーザプログラム及び前記内容を変更したユーザプログラムが生成された際に用いられた内容変更ユーザプログラム生成用資源を含む内容変更データコンテナを外部から受信した場合、
    前記内容変更データコンテナは前記第1保存部に保存され、
    前記第1変更管理部は、前記内容変更データコンテナの変更履歴を前記第1更新履歴に記憶し、
    前記内容を変更したプログラムを以後前記タスク実行部において実行される新たなユーザプログラムとする、請求項1〜3のいずれかに記載の制御装置。
  5. 請求項1〜4のいずれかに記載の制御装置と、
    前記制御装置と通信可能に接続され、前記データコンテナの変更履歴を記憶する第2更新履歴を記憶する第2変更管理部を有するサーバと、
    を備える制御システム。
  6. 前記第2変更管理部は、第1変更管理部に記憶された前記第1更新履歴を複製した複製更新履歴を前記第2更新履歴として保存する、請求項5に記載の制御システム。
  7. 前記第1変更管理部は、前記第1更新履歴を第2変更管理部にバックアップして前記第2更新履歴として保存する、請求項5又は6に記載の制御システム。
  8. 前記第2変更管理部は、外部から前記データコンテナの内容の変更を受信後、外部から受信した前記データコンテナの変更履歴である外部変更履歴を前記第2更新履歴に記憶するとともに、前記外部変更履歴を前記第1変更管理部に送信し、
    第1変更管理部は、前記外部変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて前記外部変更履歴に基づいて生成したデータコンテナを前記第1保存部に保存する、請求項5〜7のいずれかに記載の制御システム。
  9. 内容を変更したユーザプログラム及び前記内容を変更したユーザプログラムが生成された際に用いられた内容変更ユーザプログラム生成用資源を含む内容変更データコンテナを外部から前記制御装置において受信した場合、
    前記内容変更データコンテナは、前記第1保存部に保存されるとともに、変更履歴が前記第2変更管理部の前記第2更新履歴に記憶され、
    前記内容を変更したプログラムを以後前記タスク実行部において実行される新たなユーザプログラムとする、請求項5〜8のいずれかに記載の制御システム。
  10. 制御対象機器を制御するユーザプログラムを含むタスクを所定の周期にて繰り返し実行するタスク実行部と、
    前記ユーザプログラムを生成するために用いられるユーザプログラム生成用資源を含むデータコンテナが保存される第1保存部と、
    前記第1保存部に保存されたデータコンテナの内容が変更された場合、前記データコンテナの変更履歴を第1更新履歴に記憶するとともに、所定のタイミングにおいて前記変更履歴を用いて生成された新たなデータコンテナを前記第1保存部に保存する第1変更管理部と、
    を有する制御装置と、
    前記第1変更管理部において生成されたデータコンテナを受信し保存する第3保存部と、
    前記第3保存部に保存されたデータコンテナの含まれるユーザプログラム生成用資源を用いて前記ユーザプログラムを生成し前記制御装置に送信する第2ユーザプログラム生成部と、を有するユーザプログラム生成サーバと、
    を備える制御システム。
JP2016507378A 2014-03-14 2015-01-15 制御装置及び制御システム Active JP6508192B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014052818 2014-03-14
JP2014052818 2014-03-14
PCT/JP2015/050943 WO2015136970A1 (ja) 2014-03-14 2015-01-15 制御装置及び制御システム

Publications (2)

Publication Number Publication Date
JPWO2015136970A1 true JPWO2015136970A1 (ja) 2017-04-06
JP6508192B2 JP6508192B2 (ja) 2019-05-08

Family

ID=54071424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016507378A Active JP6508192B2 (ja) 2014-03-14 2015-01-15 制御装置及び制御システム

Country Status (5)

Country Link
US (1) US10162328B2 (ja)
EP (1) EP3101494B1 (ja)
JP (1) JP6508192B2 (ja)
CN (1) CN106104397B (ja)
WO (1) WO2015136970A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
JP6551101B2 (ja) * 2015-09-17 2019-07-31 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
JP6356736B2 (ja) * 2016-06-29 2018-07-11 ファナック株式会社 コントローラシステムおよび制御方法
US11281624B1 (en) 2016-09-28 2022-03-22 Amazon Technologies, Inc. Client-based batching of data payload
US11204895B1 (en) * 2016-09-28 2021-12-21 Amazon Technologies, Inc. Data payload clustering for data storage systems
EP3413147B1 (en) * 2017-06-07 2022-03-23 Brooks Automation (Germany) GmbH Method for controlling a plc using a pc program
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
DE112018006908B4 (de) * 2018-03-02 2021-11-18 Mitsubishi Electric Corporation Datenverwaltungssystem, Datenverwaltungsverfahren und Datenverwaltungsprogramm
CN112905197A (zh) * 2020-11-23 2021-06-04 京东数字科技控股股份有限公司 一种信息处理方法、装置、***、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040085A (ja) * 1996-07-18 1998-02-13 Hitachi Ltd 保守管理装置及び保守管理方法
JP2005234860A (ja) * 2004-02-19 2005-09-02 Hitachi Ltd バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置
JP2006268485A (ja) * 2005-03-24 2006-10-05 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラ、プログラマブルコントローラ用プログラム作成支援装置及びプログラム作成支援方法
JP2008282362A (ja) * 2007-05-14 2008-11-20 Keyence Corp プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
JP2009199229A (ja) * 2008-02-20 2009-09-03 Nec Software Chubu Ltd リリースバージョン管理サーバ、方法及びプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US6701284B1 (en) * 1998-04-17 2004-03-02 Ge Fanuc Automation North America, Inc. Methods and apparatus for maintaining a programmable logic control revision history
ATE245287T1 (de) * 1999-11-15 2003-08-15 Siemens Ag Automatisierungsgerät und aufdat-verfahren
US7689727B2 (en) * 2006-01-24 2010-03-30 National Instruments Corporation System and method for automatically updating the memory map of a programmable controller to customized hardware
JP5039428B2 (ja) * 2007-05-14 2012-10-03 株式会社キーエンス プログラマブルコントローラ及びplcシステム
JP5051377B2 (ja) 2008-03-15 2012-10-17 オムロン株式会社 プログラム開発支援装置の動作仕様管理方法
JP2010170536A (ja) * 2008-12-26 2010-08-05 Omron Corp プログラマブル・コントローラ
JP2011113391A (ja) * 2009-11-27 2011-06-09 Ricoh Co Ltd 機器管理システム、機器管理装置、管理対象機器、ソフトウェア更新方法、ソフトウェア更新プログラム、及びそのプログラムを記録した記録媒体
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP5593856B2 (ja) * 2010-06-02 2014-09-24 富士通株式会社 情報処理装置およびドライバ実行制御方法
JP5418442B2 (ja) 2010-08-18 2014-02-19 株式会社リコー 情報処理装置、電子機器、更新処理支援方法、更新処理支援プログラム、及び更新処理支援システム
CN103348294A (zh) * 2011-01-31 2013-10-09 丰田自动车株式会社 安全控制装置以及安全控制方法
US8756606B2 (en) * 2011-01-31 2014-06-17 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern
US9377769B2 (en) * 2011-03-15 2016-06-28 Omron Corporation Control apparatus for updating a user program while processing is being performed and recording medium
JP4957853B1 (ja) 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP5252014B2 (ja) 2011-03-15 2013-07-31 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
JP4807475B1 (ja) 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP5747584B2 (ja) 2011-03-15 2015-07-15 オムロン株式会社 制御装置およびシステムプログラム
JP5218585B2 (ja) * 2011-03-15 2013-06-26 オムロン株式会社 制御装置およびシステムプログラム
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US9727377B2 (en) * 2011-07-14 2017-08-08 Siemens Aktiengesellschaft Reducing the scan cycle time of control applications through multi-core execution of user programs
KR101478134B1 (ko) * 2012-02-29 2015-01-26 주식회사 팬택 모바일 디바이스의 파일 관리 방법 및 이를 이용한 모바일 디바이스
DE102012207437B3 (de) * 2012-05-04 2013-05-29 Siemens Aktiengesellschaft Verfahren zum Betrieb einer speicherprogrammierbaren Steuerung
JP5426722B2 (ja) 2012-05-24 2014-02-26 ファナック株式会社 ロボットプログラム変更装置
DE112013006837T5 (de) * 2013-04-12 2015-12-03 Mitsubishi Electric Corporation Peripheriegerät für programmierbares Steuergerät und Fehlerbeseitigungsunterstützungsprogramm

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040085A (ja) * 1996-07-18 1998-02-13 Hitachi Ltd 保守管理装置及び保守管理方法
JP2005234860A (ja) * 2004-02-19 2005-09-02 Hitachi Ltd バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置
JP2006268485A (ja) * 2005-03-24 2006-10-05 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラ、プログラマブルコントローラ用プログラム作成支援装置及びプログラム作成支援方法
JP2008282362A (ja) * 2007-05-14 2008-11-20 Keyence Corp プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
JP2009199229A (ja) * 2008-02-20 2009-09-03 Nec Software Chubu Ltd リリースバージョン管理サーバ、方法及びプログラム

Also Published As

Publication number Publication date
WO2015136970A1 (ja) 2015-09-17
EP3101494A4 (en) 2017-05-03
JP6508192B2 (ja) 2019-05-08
CN106104397B (zh) 2018-07-10
US10162328B2 (en) 2018-12-25
US20170075335A1 (en) 2017-03-16
EP3101494A1 (en) 2016-12-07
CN106104397A (zh) 2016-11-09
EP3101494B1 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
JP6508192B2 (ja) 制御装置及び制御システム
US20150227128A1 (en) Control device and communication control method
JP6443190B2 (ja) プログラマブルロジックコントローラ、プログラマブルロジックコントローラの制御方法、及び、制御プログラム
CN101211272A (zh) 动态虚拟机生成
CN110249274A (zh) 工业用控制器和工业用控制器的数据共享方法
WO2013168224A1 (ja) プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
JP2005327263A (ja) 制御システム設定装置
JPWO2016151856A1 (ja) システム設計支援装置、システム設計支援方法及びシステム設計支援プログラム
WO2016163235A1 (ja) Plc制御データ生成装置、plc制御データ生成方法、及び、plc制御データ生成プログラム
JP2009157533A (ja) プログラマブルコントローラシステム
JP2020071834A (ja) エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
JP6541902B1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
JP6794668B2 (ja) プログラミング装置
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
US20180150044A1 (en) Method for programming and configuring a device in a traceable manner
JP6305667B1 (ja) 制御装置および編集装置
WO2022190427A1 (ja) 開発支援装置、開発支援方法、及び、開発支援プログラム
WO2022269793A1 (ja) 制御装置、及び、アドレス管理方法
WO2020026738A1 (ja) サポート装置およびサポートプログラム
WO2022190428A1 (ja) 開発支援装置、開発支援方法、及び、開発支援プログラム
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP4725557B2 (ja) コンフィギュレーションコード生成装置およびコンフィギュレーションコード生成装置用プログラム
JP2007172128A (ja) I/oシミュレータ装置
KR20150071915A (ko) 공유저장소 제어방법
JP6002021B2 (ja) スレーブ機器

Legal Events

Date Code Title Description
AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161129

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190318

R150 Certificate of patent or registration of utility model

Ref document number: 6508192

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250