JPWO2015083243A1 - ネットワークシステム - Google Patents
ネットワークシステム Download PDFInfo
- Publication number
- JPWO2015083243A1 JPWO2015083243A1 JP2014525235A JP2014525235A JPWO2015083243A1 JP WO2015083243 A1 JPWO2015083243 A1 JP WO2015083243A1 JP 2014525235 A JP2014525235 A JP 2014525235A JP 2014525235 A JP2014525235 A JP 2014525235A JP WO2015083243 A1 JPWO2015083243 A1 JP WO2015083243A1
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- update
- unit
- engineering tool
- programmable logic
- 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
Links
- 238000004519 manufacturing process Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 20
- 238000011084 recovery Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
- General Factory Administration (AREA)
Abstract
プログラマブルロジックコントローラが備える各機能ユニットにプログラムを書き込むエンジニアリングツールプログラムにおいて、プログラマブルロジックコントローラに接続されたコンピュータに、複数のプログラマブルロジックコントローラのそれぞれにファームウェアの更新を指示する指示ステップと、各機能ユニットに新しいファームウェアを書き込むことによってファームウェアを更新する更新ステップと、を実行させる。
Description
本発明は、プログラマブルロジックコントローラが備えるユニットのファームウェアアップデートを行なうエンジニアリングツールプログラムおよびネットワークシステムに関する。
プログラマブルロジックコントローラ(PLC)は、CPUユニットおよびインテリジェント機能ユニットなどを備えている。これらのユニットのファームウェアに対しては、手動でアップデートなどが行われていた。このため、ファームウェアのアップデートには、手間がかかっていた。
特許文献1に記載のファームウェア更新システムでは、管理装置がネットワークを介してPLC装置に接続されている。そして、管理装置は、基幹部分よりも下に接続されるPLCにファームウェアの更新を実行している。
特許文献2に記載の情報処理システムでは、マスタCPUを持つPLCと、スレーブCPUを持つ複数のPLCとがシステムバスで接続されている。そして、マスタCPUが、スレーブCPUのファームウェアを書き換えている。
特許文献3に記載のファームウェア用のアップデート治具は、PCとアップデート対象PLCとを接続している。そして、アップデート治具は、PCから送られてきたファームウェアアップデートファイルに基づいて、PLCにファームウェアアップデートファイルをダウンロードしている。このとき、アップデート治具は、アップデートファイルのバージョンを確認しながら複数台のPLCにファームウェアアップデートを行っている。
しかしながら、前記第1および第2の従来技術では、ファームウェアをアップデートするためのPCおよび管理PLCが必要である。そして、管理PLCによって管理されているPLCに対して、ファームウェアがアップデートされている。このため、システム構成が複雑になるという問題があった。また、前記第3の従来技術では、アップデート治具をシステムに装着する必要があったので、システム構成が複雑になるという問題があった。
本発明は、上記に鑑みてなされたものであって、簡易な構成で複数のファームウェアをアップデートすることができるエンジニアリングツールプログラム、ネットワークシステムおよびプログラマブルロジックコントローラを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、プログラマブルロジックコントローラが備える各機能ユニットにプログラムを書き込むエンジニアリングツールプログラムにおいて、前記プログラマブルロジックコントローラに接続されたコンピュータに、複数の前記プログラマブルロジックコントローラのそれぞれにファームウェアの更新を指示する指示ステップと、前記各機能ユニットに新しいファームウェアを書き込むことによって前記ファームウェアを更新する更新ステップと、を実行させることを特徴とする。
本発明によれば、簡易な構成で複数のファームウェアをアップデートすることが可能になるという効果を奏する。
以下に、本発明の実施の形態に係るエンジニアリングツールプログラムおよびネットワークシステムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
図1は、本発明の実施の形態に係るネットワークシステムの構成を示す図である。本実施の形態のネットワークシステム1は、PLC(プログラマブルロジックコントローラ)が備えるユニット(機能ユニット)のファームウェアに対して、自動でアップデートを行うシステムである。
図1は、本発明の実施の形態に係るネットワークシステムの構成を示す図である。本実施の形態のネットワークシステム1は、PLC(プログラマブルロジックコントローラ)が備えるユニット(機能ユニット)のファームウェアに対して、自動でアップデートを行うシステムである。
ネットワークシステム1は、管理機器(生産管理装置)10と、PC(Personal Computer)20(1)〜20(N)と、PLC30(1)〜30(M)と、を備えている。ここでのM,Nは、2以上の自然数である。
ネットワークシステム1では、各PC20(1)〜20(N)がネットワークを用いて管理機器10に接続されている。また、各PC20(1)〜20(N)には、管理するPLCが接続されている。ここでは、PC20(1)にPLC30(1),30(2)が接続され、PC20(2)にPLC30(3)〜30(5)が接続され、PC20(N)にPLC30(M)が接続されている場合を示している。したがって、PC20(1)は、PLC30(1),30(2)を管理し、PC20(2)は、PLC30(3)〜30(5)を管理し、PC20(N)は、PLC30(M)を管理する。
なお、以下の説明では、PC20(1)〜20(N)の何れか1つ又は複数をPC20という場合がある。また、PLC20(1)〜20(M)の何れか1つ又は複数をPLC30という場合がある。
各PC20(1)〜20(N)は、それぞれエンジニアリングツール21(1)〜21(N)を有している。エンジニアリングツール21(1)〜21(N)は、PLC30の制御を行うツール(システム設定プログラム)である。エンジニアリングツール21(1)〜21(N)は、それぞれPLC30(1)〜30(M)を動作させるためのプログラム(ファームウェアなど)をPLC30(1)〜30(M)に書き込むためのソフトウェアである。
換言すると、エンジニアリングツール21(1)〜21(N)は、PLC30(1)〜30(M)の動作のさせ方をプログラミングするためのツールである。エンジニアリングツール21(1)〜21(N)は、コンピュータ読み取り可能かつ非遷移的な記録媒体(nontransitory computer readable medium)などに記録されている。
本実施の形態のエンジニアリングツール21(1)〜21(N)は、PLC30が具備するファームウェアをアップデートする機能を備えている。なお、以下の説明では、エンジニアリングツール21(1)〜21(N)の何れか1つ又は複数をエンジニアリングツール21という場合がある。
管理機器10は、PC20を制御するコンピュータなどである。管理機器10は、生産工程のスケジュール管理を行うスケジュール管理部11を有している。スケジュール管理部11は、各場所に設置されているPLC30の立ち上げの順番(起動順序)と、各PLC30の動作スケジュール(生産の計画)とを記憶している。スケジュール管理部11がスケジュール管理を行う生産工程は、PLC30を用いて実行されるものである。
ここで、PLC30の構成例について説明する。なお、PLC30(1)〜30(M)は、それぞれ同様の構成を有しているので、ここでは、PLC30(1)の構成について説明する。図2は、PLCの構成例を示す図である。PLC30(1)は、CPUユニット31(1)と、インテリジェント機能ユニット32(1)とを有している。
CPUユニット31(1)は、PLC30(1)を制御する。CPUユニット31(1)は、エンジニアリングツール21(1)からファームウェアアップデートの指示を受けた場合に、エンジニアリングツール21(1)からアップデート用のファームウェアを受け取る。CPUユニット31(1)は、アップデート用のファームウェアを受け取ると、CPUユニット31(1)が備えているファームウェアのアップデートを行う。
インテリジェント機能ユニット32(1)は、例えば、A/D変換(Analog/Digital Conversion)ユニットやD/A変換(Digital/Analog Conversion)ユニットなどの入出力以外の機能を有したユニットである。インテリジェント機能ユニット32(1)は、エンジニアリングツール21(1)からファームウェアアップデートの指示を受けた場合に、エンジニアリングツール21(1)からアップデート用のファームウェアを受け取る。インテリジェント機能ユニット32(1)は、アップデート用のファームウェアを受け取ると、インテリジェント機能ユニット32(1)が備えているファームウェアのアップデートを行う。
同様に、各PLC30(2)〜30(M)は、それぞれ図示しないCPUユニット31(2)〜31(M)と、図示しないインテリジェント機能ユニット32(2)〜32(M)とを有している。CPUユニット31(2)〜31(M)は、CPUユニット31(1)と同様の機能を有し、インテリジェント機能ユニット32(2)〜32(M)は、インテリジェント機能ユニット32(1)と同様の機能を有している。なお、以下の説明では、CPUユニット31(1)〜31(M)の何れか1つ又は複数をCPUユニット31という場合がある。また、インテリジェント機能ユニット32(1)〜32(M)の何れか1つ又は複数をインテリジェント機能ユニット32という場合がある。
次に、1台のPC20が、1つのユニットに対してファームウェアのアップデートを開始する際のPC20の動作について説明する。図3は、1つのユニットに対してファームウェアのアップデートを開始する際のPCの処理手順を示すフローチャートである。図3では、エンジニアリングツール21(1)が、その管理下にあるPLC30(1)のファームウェアをアップデート(バージョンアップ)可能であるかを確認する手順(アップデートの実行を開始するまでの準備手順)を示している。
PC20(1)のエンジニアリングツール21(1)は、管理下にあるPLC30(1)の1つのユニットに対してファームウェアのアップデートが可能であるか否かを確認開始する(ステップS100)。
このとき、エンジニアリングツール21(1)は、確認対象となっているユニットにアクセスし、このユニットからファームウェアバージョンを取得する。そして、エンジニアリングツール21(1)は取得したファームウェアバージョンに基づいて、確認対象となっているユニットが、ファームウェアのアップデートを行うことができるか否か(アップデート対象であるか否か)を確認する(ステップS101)。ファームウェアのアップデートが行われるユニットは、例えば、CPUユニット31(1)またはインテリジェント機能ユニット32(1)である。
エンジニアリングツール21(1)は、取得したファームウェアバージョンがアップデートしようとしているファームウェアのバージョンよりも古い場合に、PLC30(1)のファームウェアはアップデート可能であると判断する。
エンジニアリングツール21(1)は、PLC30(1)のファームウェアはアップデート可能であると判断した場合(ステップS101、Yes)、外部機器などに保存されているアップデート対象のファームウェアを、エンジニアリングツール21(1)がインストールされているPC20に保存する(ステップS102)。そして、エンジニアリングツール21(1)は、ファームウェアアップデートの実行段階へ移行する(ステップS103)。なお、アップデート対象のファームウェアは、ファームウェアアップデートの実行前であれば、何れのタイミングでPC20に保存しておいてもよい。
一方、エンジニアリングツール21(1)は、PLC30(1)のファームウェアはアップデートが不可能であると判断した場合(ステップS101、No)、ファームウェアアップデートの実行を中止する(ステップS104)。
次に、ファームウェアアップデートの実行処理について説明する。図4は、1つのユニットに対するファームウェアのアップデート処理の処理手順を示すフローチャートである。図4では、エンジニアリングツール21(1)が1つのユニット(例えば、CPUユニット31(1))に対してファームウェアのアップデートを実行し、アップデートが完了するまでの処理手順を示している。
エンジニアリングツール21(1)が、ファームウェアアップデートの実行段階へ移行すると(図3のステップS103の後)、エンジニアリングツール21(1)は、ファームウェアのアップデートの実行を開始する(ステップS110)。
エンジニアリングツール21(1)は、PLC30(1)に対し、1つのユニット(CPUユニット31(1))のアップデート実行を指示する(ステップS111)。このアップデート実行の指示は、エンジニアリングツール21(1)からアップデート対象となっているユニットに送られる。
PC20(1)は、アップデート対象のPLC30(1)から、PLC30(1)内のデータ(プログラム、パラメータなど)と、現在のファームウェアとを読み出してバックアップする(ステップS112)。
具体的には、エンジニアリングツール21(1)は、PLC30(1)のCPUユニット31(1)へバックアップの指示を出す。この指示を受けたCPUユニット31(1)は、PC20(1)にPLC30(1)内のプログラム、パラメータ、現在のファームウェアデータをバックアップさせる。
バックアップが完了した後、エンジニアリングツール21(1)は、格納しておいた新しいファームウェアをPLC30(1)のCPUユニット31(1)に対して書き込む。これにより、ファームウェアのアップデートが実行される(ステップS113)。CPUユニット31(1)に対して書き込まれる新しいファームウェアは、例えば、CPUユニット31(1)にインストールされているファームウェアに対して新しい機能が盛り込まれたファームウェアである。
なお、エンジニアリングツール21(1)は、CPUユニット31(1)に対して古いバージョンのファームウェアを書き込んでもよい。換言すると、新しいファームウェアへの書き換えは、ダウングレードであってもよい。このように、エンジニアリングツール21(1)は、CPUユニット31(1)へのファームウェアの更新処理として、ファームウェアのアップグレードまたはダウングレードを実行する。以下では、エンジニアリングツール21(1)が、CPUユニット31(1)にファームウェアのアップグレードを実行する場合について説明する。
アップデートが実行されたCPUユニット31(1)は、ファームウェアのアップデートが正常に完了したか否かを自己確認する(ステップS114)。CPUユニット31(1)は、確認結果をエンジニアリングツール21(1)に通知する。
アップデートが正常に完了していない場合(ステップS114、No(1回目))、エンジニアリングツール21(1)は、格納していた新しいファームウェアをPLC30(1)のCPUユニット31(1)に対して書き込む。これにより、ファームウェアのアップデートが実行される(ステップS113)。
そして、アップデートが実行されたCPUユニット31(1)は、ファームウェアのアップデートが正常に完了したか否かを自己確認する(ステップS114)。CPUユニット31(1)は、確認結果をエンジニアリングツール21(1)に通知する。
再びアップデートが正常に完了していない場合(ステップS114、No(2回目))、エンジニアリングツール21(1)は、バックアップしておいた旧バージョンのファームウェアをPLC30(1)のCPUユニット31(1)に対して書き込む(ステップS115)。
換言すると、2回ともアップデートが正常に完了しなければ、旧バージョンのファームウェアがCPUユニット31(1)に対してリストア(再設定)される。これにより、CPUユニット31(1)には、旧バージョンのファームウェアが書き戻されることとなる。
エンジニアリングツール21(1)は、アップデートしたCPUユニット31(1)のメモリに格納されているデータ(プログラム、パラメータ)とPC20(1)にバックアップしておいたデータ(バックアップデータ)との照合を行う(ステップS116)。
また、アップデートが正常に完了している場合(ステップS114、Yes)、エンジニアリングツール21(1)は、アップデートしたCPUユニット31(1)のメモリに格納されているデータ(プログラム、パラメータ)とPC20(1)にバックアップしておいたデータ(バックアップデータ)との照合を行う(ステップS116)。
このように、新バージョンのファームウェアへのアップデートまたは旧バージョンのファームウェアの書き戻しが完了すると、CPUユニット31(1)内のデータとPC20(1)にバックアップしておいたデータとの照合が行われる。
そして、エンジニアリングツール21(1)は、データの照合によって双方のデータが一致するか否かを確認する。一致していない場合には(ステップS116、不一致)、エンジニアリングツール21(1)は、PC20(1)にバックアップしておいたデータでCPUユニット31(1)内のメモリデータを上書きする(ステップS117)。換言すると、ファームウェアが新たなファームウェアにアップデートされた場合には、PC20(1)にバックアップしておいたプログラムおよびパラメータでCPUユニット31(1)内のメモリデータが上書きされる。
これにより、エンジニアリングツール21(1)は、ファームウェアのアップデート前に取得したプログラムおよびパラメータと、アップデート後のプログラムおよびパラメータとを一致させる。そして、エンジニアリングツール21(1)は、PLC30(1)をリセットする(ステップS118)。
また、データの照合によって双方のデータが一致していることが確認された場合(ステップS116、一致)、エンジニアリングツール21(1)は、PLC30(1)をリセットする(ステップS118)。エンジニアリングツール21(1)は、PLC30(1)をリセットした後、PLC30(1)を再起動させ、アップデート完了とする(ステップS119)。
次に、複数のPLCが有している各ユニットに対してアップデートが実行される場合の処理について説明する。図5は、複数のユニットに対してファームウェアのアップデートを開始する際のネットワークシステムの処理手順を示すフローチャートである。図5では、スケジュール管理部11およびエンジニアリングツール21が、ネットワークシステム1全体のPLCに対して、ファームウェアのアップデートが可能か否かを確認する手順(アップデートの実行を開始するまでの準備手順)を示している。
管理機器10のスケジュール管理部11は、管理下にあるPLC30の中の複数のユニットのそれぞれに対してファームウェアのアップデートが可能であるか否かを確認開始する(ステップS130)。スケジュール管理部11は、生産の計画などに基づいて、アップデートしたいユニットの機種(型名)を選択する。
そして、スケジュール管理部11は、エンジニアリングツール21をインストールしているPC20に対して、アップデートしたいユニットの機種を通知する。さらに、スケジュール管理部11は、選択したユニットのファームウェアにはアップデートが必要か否かを確認する。具体的には、スケジュール管理部11は、選択したユニットを管理している各エンジニアリングツール21に対して、アップデート可能なPLC(ユニット)の有無確認指示を送る(ステップS131)。
これにより、指示を受けたエンジニアリングツール21は、選択された各ユニットのファームウェアのバージョンを確認する(ステップS132)。具体的には、エンジニアリングツール21は、選択されたユニットに対してファームウェアのバージョン確認を指示する。これにより、指示を受けたユニットは、ファームウェアのバージョンをエンジニアリングツール21に送る。エンジニアリングツール21は、選択された各ユニットからファームウェアのバージョンを受信することによって、選択された各ユニットのファームウェアのバージョンを確認する。
各ユニットのファームウェアのバージョンが確認された後、ネットワークシステム1では、選択されたユニット毎に、図3で示した処理(ステップS100〜S104)が実行される。全てのユニットに対して、ステップS104までの処理が終了すると、以下の図6に示す処理が開始される。
図6は、複数のユニットに対するファームウェアのアップデート処理の処理手順を示すフローチャートである。ネットワークシステム1では、スケジュール管理部11が、エンジニアリングツール21からファームウェアのアップデートを実施するユニットの情報を収集する。そして、スケジュール管理部11が、ネットワークシステム1の全体でアップデートにかかる時間とアップデートの最適時期とを算出し、算出した時間および時期に基づいて、各エンジニアリングツール21にアップデートの指示を出す。
具体的には、スケジュール管理部11が、ファームウェアのアップデート対象となっているユニットを管理している各エンジニアリングツール21に、アップデート対象のユニットに関する情報を要求する。
各エンジニアリングツール21は、スケジュール管理部11からの要求に応じた情報をスケジュール管理部11に送信する。各エンジニアリングツール21は、スケジュール管理部11から要求があったユニットのうち、ファームウェアのアップデートが可能なユニットの情報をスケジュール管理部11に通知する(ステップS140)。これにより、スケジュール管理部11は、各PC20の各エンジニアリングツール21から、アップデート可能なユニットの情報を取得する(ステップS141)。
スケジュール管理部11は、予め、各ユニットのファームウェアをアップデートするのに要する時間と、各PLC30をリセットする順番(起動順序)の情報とを、アップデート情報として記憶しておく。スケジュール管理部11は、アップデート対象となる全てのユニットのファームウェアをアップデートさせる時間と、ネットワークシステム1が復帰するまでの時間との合計時間とをアップデート合計時間として算出する。スケジュール管理部11は、アップデート情報に基づいてアップデート合計時間を算出する。
このアップデート合計時間は、アップデート対象となる全てのユニットのファームウェアのうち最初ファームウェアのアップデートを開始してからネットワークシステム1が復帰するまでの時間である。
スケジュール管理部11は、アップデート情報を用いて、各ユニットのファームウェアをアップデートする最適時期(タイミング)を算出する(ステップS142)。そして、スケジュール管理部11は、各PLC30の動作スケジュール(生産の計画)に基づいて、ネットワークシステム1による生産工程に支障が出ない時間帯(生産計画スケジュールの空き時間など)に、ファームウェアをアップデートさせる時期(アップデート時期)を設定する。ネットワークシステム1での生産工程に支障が出ない時間帯は、例えば、PLC30が稼働していない時間帯である。
スケジュール管理部11は、設定したアップデート時期を生産計画(生産工程)のタスクに設定する(ステップS143)。そして、アップデートの予定時刻が来ると、スケジュール管理部11は各エンジニアリングツール21に対して順番に各ユニットへのアップデート指示を出す(ステップS144)。
スケジュール管理部11からアップデート指示を受けた各エンジニアリングツール21は、それぞれ図4で説明した処理手順に従って、各ユニットのアップデートを実行する。全てのユニットのアップデートが完了すると、スケジュール管理部11は、アップデート情報に従って、各PLC30をリセットする。
図7は、PCのハードウェア構成を示す図である。なお、PC20(1)〜20(N)は、同様の構成を有しているので、ここではPC20(1)の構成について説明する。PC20(1)は、CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、表示部94、入力部95を有している。PC20(1)では、これらのCPU91、ROM92、RAM93、表示部94、入力部95がバスラインBを介して接続されている。
CPU91は、コンピュータプログラム(エンジニアリングツールプログラム)であるエンジニアリングツール21(1)を用いてPLC30(1)を動作させるためのプログラムをPLC30(1)に書き込む。
表示部94は、液晶モニタなどの表示装置であり、CPU91からの指示に基づいて、PLC30(1)が備える各ユニットのファームウェアのバージョンなどを表示する。入力部95は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報(ファームウェアのアップデートに必要なパラメータ等)を入力する。入力部95へ入力された指示情報は、CPU91へ送られる。
エンジニアリングツール21(1)は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされたエンジニアリングツール21(1)を実行する。具体的には、PC20(1)では、使用者による入力部95からの指示入力に従って、CPU91がROM92内からエンジニアリングツール21(1)を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
PC20(1)で実行されるエンジニアリングツール21(1)は、PLC30(1)を動作させるためのプログラム(ファームウェアなど)をPLC30(1)に書き込む場合や、ファームウェアをアップデートする際に、主記憶装置上にロードされ、これらが主記憶装置上に生成される。
なお、アップデートが正常に完了しなかった場合、スケジュール管理部11は、生産計画の修正を行ってもよい。この場合、エンジニアリングツール21は、アップデートが正常に完了しなかったユニットの復旧に要する時間を算出し、スケジュール管理部11に送る。これにより、スケジュール管理部11は、復旧に要する時間に基づいて、生産計画の修正を自動的に行う。
また、ネットワークシステム1には、PC20の代わりにPC20以外のコンピュータを配置してもよい。また、ネットワークシステム1に配置するPC20は、複数に限らず1つであってもよい。
このように、本実施の形態では、PLC30が備えるユニットのファームウェアを自動でアップデートする。また、スケジュール管理部11は、生産計画スケジュールの空き時間に合わせてアップデートを行う。したがって、作業員の作業時間短縮が短縮されるとともに、生産工程の遅れをなくすことが可能になる。
また、スケジュール管理部11は、各PLC30をリセットする順番の情報に基づいて、各ファームウェアをアップデートする最適時期を算出するので、ネットワークシステム1を適用した工場などを円滑に立ち上げることが可能となる。
また、本実施の形態では、ファームウェアのアップデート前に自動でPLC30のデータ(プログラム、パラメータなど)をバックアップし、アップデート後の新たなファームウェアにバックアップしておいたデータを設定するので、アップデート前後で矛盾した動作が行われることを回避できる。
また、本実施の形態では、PC20が、PLC30の備えるユニット内のファームウェアをアップデートするので、特殊な治具(インターフェイス機器)を用いることなくファームウェアをアップデートすることが可能となる。
また、PC20が、ファームウェアをアップデートするので、ユニット毎にアップデートを実行するか否かを設定することが可能となる。また、アップデートが正常に完了しなかった場合に、生産計画の修正が行われるので、効率の良い生産を実行することが可能となる。
このように実施の形態によれば、PC20のエンジニアリングツール21が、PLC30の備える複数のユニット内の各ファームウェアをアップデートするので、簡易な構成で複数のファームウェアをアップデートすることが可能となる。
また、生産工程に支障が出ない時間帯にファームウェアをアップデートさせる時期を設定するので、生産工程を変えることなくPLC30が備えるユニットのファームウェアをアップデートすることが可能となる。
以上のように、本発明に係るエンジニアリングツールプログラムおよびネットワークシステムは、ファームウェアのアップデートに適している。
1 ネットワークシステム、10 管理機器、11 スケジュール管理部、20(1)〜20(N) PC、21(1)〜21(N) エンジニアリングツール、30(1)〜30(M) PLC、31(1) CPUユニット、32(1) インテリジェント機能ユニット。
上述した課題を解決し、目的を達成するために、本発明のネットワークシステムは、複数のプログラマブルロジックコントローラと、前記複数のプログラマブルロジックコントローラに接続されるとともに前記複数のプログラマブルロジックコントローラを制御するコンピュータと、前記コンピュータを制御するとともに前記プログラマブルロジックコントローラを用いた生産の計画を設定する管理機器と、を備え、前記複数のプログラマブルロジックコントローラは、それぞれ機能ユニットを有し、前記コンピュータは、前記機能ユニットのファームウェアの更新を開始する前に、前記ファームウェアを更新する前の古いファームウェアをバックアップし、前記機能ユニットにプログラムを書き込むエンジニアリングツールプログラムを用いて、前記機能ユニットのそれぞれのファームウェアを更新し、前記ファームウェアの更新が正常に完了しなかった場合に、前記古いファームウェアを前記更新が正常に完了しなかったユニットに書き戻し、前記管理機器は、更新が正常に完了しなかったユニットの復旧に要する時間に基づいて、前記生産の計画を再設定することを特徴とする。
Claims (8)
- プログラマブルロジックコントローラが備える各機能ユニットにプログラムを書き込むエンジニアリングツールプログラムにおいて、
前記プログラマブルロジックコントローラに接続されたコンピュータに、
複数の前記プログラマブルロジックコントローラのそれぞれにファームウェアの更新を指示する指示ステップと、
前記各機能ユニットに新しいファームウェアを書き込むことによって前記ファームウェアを更新する更新ステップと、
を実行させることを特徴とするエンジニアリングツールプログラム。 - 前記コンピュータに、
前記プログラマブルロジックコントローラの起動の順番に沿って前記機能ユニット毎に順番で、前記ファームウェアの更新を指示する処理と、前記ファームウェアを更新する処理と、を実行させることを特徴とする請求項1に記載のエンジニアリングツールプログラム。 - 前記コンピュータに、
前記プログラマブルロジックコントローラが行う生産の計画に基づいて、前記プログラマブルロジックコントローラが稼働していないタイミングを判断する判断ステップをさらに実行させ、
前記タイミングで、前記ファームウェアの更新を指示する処理と、前記ファームウェアを更新する処理と、を実行させることを特徴とする請求項1または2に記載のエンジニアリングツールプログラム。 - 前記コンピュータに、
前記ファームウェアを更新する前に、前記機能ユニット内に設定されているプログラムおよびパラメータをバックアップする第1のバックアップステップと、
前記ファームウェアが正常に更新された後、バックアップしておいた前記プログラムおよびパラメータを前記機能ユニット内に再設定する再設定ステップと、
をさらに実行させることを特徴とする請求項1から3のいずれか1つに記載のエンジニアリングツールプログラム。 - 前記コンピュータに、
前記ファームウェアの更新を開始する前に、前記ファームウェアを更新する前の古いファームウェアをバックアップする第2のバックアップステップと、
前記ファームウェアの更新が正常に完了しなかった場合に、前記古いファームウェアを前記更新が正常に完了しなかったユニットに書き戻すリストアステップと、
をさらに実行させることを特徴とする請求項1から4のいずれか1つに記載のエンジニアリングツールプログラム。 - 複数のプログラマブルロジックコントローラと、
前記複数のプログラマブルロジックコントローラに接続されるとともに前記複数のプログラマブルロジックコントローラを制御するコンピュータと、
を備え、
前記複数のプログラマブルロジックコントローラは、それぞれ機能ユニットを有し、
前記コンピュータは、前記機能ユニットにプログラムを書き込むエンジニアリングツールプログラムを用いて、前記機能ユニットのそれぞれのファームウェアを更新することを特徴とするネットワークシステム。 - 前記コンピュータを制御するとともに前記プログラマブルロジックコントローラを用いた生産の計画を設定する管理機器をさらに備え、
前記コンピュータは、
前記ファームウェアの更新を開始する前に、前記ファームウェアを更新する前の古いファームウェアをバックアップし、
前記ファームウェアの更新が正常に完了しなかった場合に、前記古いファームウェアを前記更新が正常に完了しなかったユニットに書き戻し、
前記管理機器は、
更新が正常に完了しなかったユニットの復旧に要する時間に基づいて、前記生産の計画を再設定することを特徴とする請求項6に記載のネットワークシステム。 - 前記機能ユニットは、
前記ファームウェアの更新が正常に完了したか否かを判定するとともに、判定結果を前記コンピュータに通知し、
前記コンピュータは、
前記ファームウェアの更新が正常に完了しなかったことの通知を前記機能ユニットから受けた場合に、前記古いファームウェアを前記更新が正常に完了しなかったユニットに書き戻すことを特徴とする請求項7に記載のネットワークシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/082508 WO2015083243A1 (ja) | 2013-12-03 | 2013-12-03 | エンジニアリングツールプログラムおよびネットワークシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5653568B1 JP5653568B1 (ja) | 2015-01-14 |
JPWO2015083243A1 true JPWO2015083243A1 (ja) | 2017-03-16 |
Family
ID=52339861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014525235A Expired - Fee Related JP5653568B1 (ja) | 2013-12-03 | 2013-12-03 | ネットワークシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20160357547A1 (ja) |
JP (1) | JP5653568B1 (ja) |
KR (1) | KR20160086957A (ja) |
CN (1) | CN105849700A (ja) |
DE (1) | DE112013007663T5 (ja) |
TW (1) | TWI520067B (ja) |
WO (1) | WO2015083243A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6569524B2 (ja) * | 2015-12-25 | 2019-09-04 | アイコム株式会社 | ファームウェア更新装置、ファームウェア更新方法およびプログラム |
WO2017115426A1 (ja) * | 2015-12-28 | 2017-07-06 | 三菱電機株式会社 | データ管理装置、データ管理方法及びデータ管理プログラム |
US20200026505A1 (en) * | 2016-11-23 | 2020-01-23 | Nutanix, Inc. | Scheduling firmware operations in distributed computing systems |
US20180357058A1 (en) * | 2017-06-09 | 2018-12-13 | Rockwell Automation Technologies, Inc. | Devices and revisions templates for managing firmware standards |
US11630452B2 (en) * | 2020-05-22 | 2023-04-18 | Hitachi, Ltd. | Scheduling system and method for online program update |
CN115917500B (zh) * | 2020-07-31 | 2023-09-12 | 三菱电机株式会社 | 记录介质、信息处理装置及更新管理方法 |
DE112021005779T5 (de) * | 2021-05-12 | 2024-01-04 | Mitsubishi Electric Corporation | Datenversandprogramm, Servervorrichtung, Endvorrichtung, Datenversandverfahren und Datenversandsystem |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6184707A (ja) * | 1984-10-03 | 1986-04-30 | Nissan Motor Co Ltd | 機械加工設備の調整システム |
JPH0390902A (ja) * | 1989-08-31 | 1991-04-16 | Mitsubishi Electric Corp | プログラマブルコントローラのプログラム保守ツール |
JPH08249016A (ja) * | 1995-03-09 | 1996-09-27 | Koyo Electron Ind Co Ltd | プログラマブルコントローラ |
JP4280311B2 (ja) * | 1995-10-11 | 2009-06-17 | キヤノン株式会社 | 画像処理複合装置およびその制御方法 |
JP3246419B2 (ja) * | 1997-11-06 | 2002-01-15 | 村田機械株式会社 | 通信システム |
JP2000330777A (ja) * | 1999-05-20 | 2000-11-30 | Nec Corp | プログラム交換方法 |
JP3635996B2 (ja) | 1999-08-30 | 2005-04-06 | 三菱電機株式会社 | 情報処理システム |
JP3618632B2 (ja) * | 2000-03-30 | 2005-02-09 | 株式会社デジタル | 制御用端末装置、制御システム、および、そのプログラムが記録された記録媒体 |
US7203560B1 (en) * | 2002-06-04 | 2007-04-10 | Rockwell Automation Technologies, Inc. | System and methodology facilitating remote and automated maintenance procedures in an industrial controller environment |
JP2004021446A (ja) * | 2002-06-14 | 2004-01-22 | Mitsubishi Electric Corp | プログラマブルコントローラシステムおよびプログラマブルコントローラ |
CN1200341C (zh) * | 2002-06-25 | 2005-05-04 | 联想(北京)有限公司 | 嵌入式系统中固件程序在线升级的实现方法 |
JP4408033B2 (ja) * | 2002-09-24 | 2010-02-03 | 株式会社リコー | 遠隔管理システム |
JP4690055B2 (ja) | 2005-01-14 | 2011-06-01 | 三菱電機株式会社 | ファームウェア更新方法およびファームウェア更新システム |
JP4684118B2 (ja) * | 2006-02-10 | 2011-05-18 | 日本電信電話株式会社 | プログラム動作状態制御方法およびプログラム動作状態制御システム |
JP4236672B2 (ja) * | 2006-04-05 | 2009-03-11 | シャープ株式会社 | 画像処理装置 |
JP2008084025A (ja) * | 2006-09-27 | 2008-04-10 | Toshiba Corp | ソフトウェア更新装置,ソフトウェア更新方法,およびプログラム |
JP4673284B2 (ja) * | 2006-12-15 | 2011-04-20 | キヤノン株式会社 | サーバ装置 |
JP2009230399A (ja) * | 2008-03-21 | 2009-10-08 | Fuji Xerox Co Ltd | ファームウェア更新システムおよびファームウェア更新プログラム |
JP2010117809A (ja) * | 2008-11-12 | 2010-05-27 | Yokogawa Electric Corp | プログラマブル・ロジック・コントローラ |
US8892699B2 (en) * | 2008-12-31 | 2014-11-18 | Schneider Electric USA, Inc. | Automatic firmware updates for intelligent electronic devices |
US8881132B2 (en) * | 2009-03-05 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | System and method for update of firmware of a storage array controller in a storage area network |
US8869138B2 (en) * | 2011-11-11 | 2014-10-21 | Wyse Technology L.L.C. | Robust firmware update with recovery logic |
JP2012003658A (ja) | 2010-06-21 | 2012-01-05 | Koyo Electronics Ind Co Ltd | ファームウエアアップデート治具 |
JP2012141931A (ja) * | 2011-01-06 | 2012-07-26 | Mitsubishi Electric Corp | 保守装置、保守方法及びプログラム |
JP2012160112A (ja) * | 2011-02-02 | 2012-08-23 | Canon Inc | 情報処理装置及びその制御方法 |
DE102011108964A1 (de) * | 2011-07-29 | 2013-01-31 | Robert Bosch Gmbh | Verfahren zur automatischen Erzeugung von Anwenderprogrammcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine |
AU2011379006A1 (en) * | 2011-10-11 | 2014-05-08 | Sandvik Mining And Construction Oy | Arrangement for updating a control system |
-
2013
- 2013-12-03 US US15/101,028 patent/US20160357547A1/en not_active Abandoned
- 2013-12-03 DE DE112013007663.2T patent/DE112013007663T5/de not_active Withdrawn
- 2013-12-03 WO PCT/JP2013/082508 patent/WO2015083243A1/ja active Application Filing
- 2013-12-03 KR KR1020167017470A patent/KR20160086957A/ko active IP Right Grant
- 2013-12-03 JP JP2014525235A patent/JP5653568B1/ja not_active Expired - Fee Related
- 2013-12-03 CN CN201380081390.3A patent/CN105849700A/zh active Pending
-
2014
- 2014-05-07 TW TW103116208A patent/TWI520067B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20160357547A1 (en) | 2016-12-08 |
CN105849700A (zh) | 2016-08-10 |
TW201523448A (zh) | 2015-06-16 |
DE112013007663T5 (de) | 2016-08-11 |
WO2015083243A1 (ja) | 2015-06-11 |
KR20160086957A (ko) | 2016-07-20 |
JP5653568B1 (ja) | 2015-01-14 |
TWI520067B (zh) | 2016-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5653568B1 (ja) | ネットワークシステム | |
JP4888718B2 (ja) | 分散型制御システム | |
JP5921358B2 (ja) | 情報処理装置、プログラム更新方法及びプログラム | |
JP6028851B2 (ja) | 情報処理装置、プログラム更新方法、及びプログラム | |
WO2019207729A1 (ja) | 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム | |
WO2016033941A1 (zh) | Boot在线升级装置及方法 | |
JP6073710B2 (ja) | 情報処理装置、起動障害からの自動復旧方法、及び起動障害からの自動復旧プログラム | |
CN106775590B (zh) | 一种bmc更新主板bios固件的方法 | |
CN107533490B (zh) | 控制系统及可编程逻辑控制器 | |
EP3104236B1 (en) | Control device, control system, support apparatus, and control-device maintenance management method | |
JP6403919B1 (ja) | 作画ソフトウェア、記憶媒体および作画装置 | |
JP2017062537A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
EP1835398A1 (en) | Frequency converter controller, peripheral device, method and program | |
JP6396084B2 (ja) | エンジニアリング装置、エンジニアリングシステム、およびダウンロード処理方法 | |
JP6054008B1 (ja) | データ管理装置、データ管理方法及びデータ管理プログラム | |
JP6248682B2 (ja) | 情報処理装置、bios更新方法およびbios更新プログラム | |
CN110442074B (zh) | 可编程逻辑控制器程序的处理装置 | |
CN109643094B (zh) | 安全控制单元、安全控制方法、存储介质 | |
JP6657725B2 (ja) | データベースシステム、レプリケーション制御装置、レプリケーション方法、及びプログラム | |
JP2016157245A (ja) | 情報処理装置、システム設定方法、及び、コンピュータ・プログラム | |
CN110647343A (zh) | 一种OpenPower服务器及其系统部署方法 | |
WO2024089756A1 (ja) | ロボット教示操作盤及びロボット制御システム | |
WO2015068206A1 (ja) | 計算機、そのモジュールの修正方法 | |
CN109947454B (zh) | 一种数据处理方法及系统 | |
JP2004272629A (ja) | プログラマブルコントローラ用機器並びにプログラマブルコントローラ用機器におけるプログラム更新方法並びにプログラム起動方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141021 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5653568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |