JP2004280653A - プログラマブル・ロジック・コントローラのデータ更新方法 - Google Patents
プログラマブル・ロジック・コントローラのデータ更新方法 Download PDFInfo
- Publication number
- JP2004280653A JP2004280653A JP2003073400A JP2003073400A JP2004280653A JP 2004280653 A JP2004280653 A JP 2004280653A JP 2003073400 A JP2003073400 A JP 2003073400A JP 2003073400 A JP2003073400 A JP 2003073400A JP 2004280653 A JP2004280653 A JP 2004280653A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage unit
- programmable logic
- logic controller
- updating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】ユーザの手を煩わすことなく、読出し専用のメモリ領域に格納されたシーケンスプログラムや制御プログラムの内容を地域的な制約なく、高いセキュリティで確実に短時間で更新することができるデータ更新方法を提供する。
【解決手段】シーケンスプログラム等を記憶した書き換え可能な読み出し専用の第1の記憶部と、書き換え自由な第2の記憶部と、演算制御部と、データの送受信制御を行う通信制御部とを備えたプログラマブル・ロジック・コントローラにおける第1の記憶部のデータの更新方法であって、メーカ側から発信された、プログラマブル・ロジック・コントローラの第1の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、この受信内容に従って前記第1の記憶部の記憶内容を書き換える段階と、を含む
【選択図】 図4
【解決手段】シーケンスプログラム等を記憶した書き換え可能な読み出し専用の第1の記憶部と、書き換え自由な第2の記憶部と、演算制御部と、データの送受信制御を行う通信制御部とを備えたプログラマブル・ロジック・コントローラにおける第1の記憶部のデータの更新方法であって、メーカ側から発信された、プログラマブル・ロジック・コントローラの第1の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、この受信内容に従って前記第1の記憶部の記憶内容を書き換える段階と、を含む
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
この発明は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller、以下PLCと略称することがある)に関し、より詳細には、PLCの構成要素である、シーケンスプログラムや制御プログラムを格納するEEPROMなどの記憶素子の記憶データの更新方法に関する。
【0002】
【従来の技術】
一連のリレー接点形式により表現されたシーケンス制御回路を予め定められたプログラムにしたがって電子的に演算制御するシーケンスコントローラは、PLCとも称され、産業界のあらゆる機器の制御に用いられている。このPLCにおいては、従前より接点回路により表現された回路図(ラダー図)をそのまま制御回路に用い、アセンブラ言語の論理和、論理積命令を使用し、さらに最終的な分岐命令などの処理言語を用いて制御を行ってきた。
【0003】
さらに発展した装置では、接点形式にて表現された回路図をいくつかの要素図、例えばメーク接点(A接点)図やブレーク接点(B接点)図、および並列分岐点図等いくつかの図に分解して要素図とした表現を使用し、そのソフトウェア的な呼称を中間言語と称し、各要素図を順次接続して通常のラダー図を表現する。そして、このラダー図の処理においては、再度その中間言語をアセンブラ言語に翻訳し、さらに最終的に装置特有な機械語での表現を用いて制御を行なってきた。このような中間言語の処理例は、例えば特開平11−45105に開示されている。
【0004】
いずれの形式のPLCにおいても、シーケンス回路の演算や論理を処理するため専用の装置を構成したり、あるいは汎用の1チップマイクロコンピュータの言語を使用してシーケンス処理用の装置を構成している。そして、最終的に完成したシーケンスプログラムは、PLC内の読み出し専用メモリ(read only memory:ROM)に格納される。
【0005】
しかしながら、このシーケンスプログラムを得るためには、シーケンスプログラムあるいはラダー図を調整・編集しつつ、最終的なシーケンスプログラムを得る手法を採用しているため、完成までには記憶内容を頻繁に書き換える必要がある。また、一旦完成後、出荷後であっても、改良等のために内容が変更されることもしばしばある。
【0006】
このため、基本的には読み出し専用メモリが用いられるが、書き換え可能である必要があり、この観点から、例えば、電気的に書き換え可能なEEPROMなどが用いられ、代表的なものとしてフラッシュメモリが用いられる。
【0007】
一方、PLCの小型化の要求も大きくなっている。
PLCの小型化のためには、汎用の言語を処理する処理装置として小型の半導体デバイスを使用し、その処理装置に接続される周辺回路部も小型化する必要があった。
【0008】
また、前述した、より高速にするための仕組みを有するPLCでは、マイクロプログラム等のファームウエアを含んで処理回路全体を小型化する必要があった。
【0009】
これらの要求を満足するPLCの小型化の一例として、最近注目されている技術としては、汎用1チップマイクロコンピュータを使用し、シーケンスプログラムおよびこのシーケンスプログラムを処理する制御プログラムの格納部としてEEROMを用い、さらに一時記憶用のRAMおよび必要な周辺回路を集積回路として用意し、それらを同じプリント基板に実装した上で全体を樹脂封止して1つのモジュールとした、いわゆるハイブリッドタイプPLCがある。
【0010】
このような技術は、ある程度大きな特定製品の専用コントローラとしては、十分な小型化が達成されているが、市販の種々の素子をプリント基板に実装するものであるため、より一層の小型化には限界があった。また、このようなハイブリッドタイプPLCでは、製造において樹脂封入などの工程を必要とし、製造作業も煩雑である。
【0011】
本願発明者は、この問題を解決するため、樹脂封入などの工程を不要とするため、半導体ウェハ上にPLC機能を集積した半導体1チップ型PLCモジュールを開発し、出願している(特願2003−054377)。
【0012】
前述したように、シーケンスプログラムや制御プログラムの変更はPLC出荷後も行われるのが普通である。
【0013】
従来のように、プログラムを格納しているROMの書き換えがユーザ側で可能な場合には、例えば特開2001−125608号公報で開示された手法を用いて単体ROMの書き換えが行われる。一般にROMの交換作業はユーザ側でも可能であるので、メーカから改良したROMをユーザに送り、ユーザ側で交換作業を行えば機能のバージョンアップを簡単に行うことが可能である。
【0014】
【特許文献1】
特開2001−125608号公報
【0015】
【発明が解決しようとする課題】
しかしながら、上述したような最近のハイブリッド型あるいは1チップ型PLCモジュールにおいは、樹脂封止あるいは集積化されているためROM部分のみを交換することはできない。また、モジュール化されたPLCでは、シーケンスプログラムや制御プログラムはEEPROMに格納されているため、変更があったときには、CPU部を介して書き換えを行う必要があるが、この書き換え作業にはソフトウェアおよびハードウェアについての高度の知識が必要であり、ユーザ側で対応することは不可能である。
【0016】
このため、PLCモジュールごとの交換が必要になるが、交換には熟練を必要とするため、サービスマンにより行われる必要があり、世界中のエンドユーザすべてについて短期間に交換作業を行うことは事実上不可能である。
【0017】
さらに、メーカ側にとっては、ROMの格納内容には、PLCの核となるOS部分も含まれ、書き換え作業をユーザに委ねた場合にはOSの内容を完全に開示する必要があることから、技術上の秘密の保持の上で、好ましいことではなかった。
【0018】
そこで、本発明はユーザの手を煩わすことなく、読出し専用のメモリ領域に格納されたシーケンスプログラムや制御プログラムの内容を地域的な制約なく、高いセキュリティで確実に短時間で更新することができるデータ更新方法を提供することを目的とする。
【0019】
【課題を解決するための手段】
本発明によれば、シーケンスプログラムおよびこのシーケンスプログラムを解読するための制御プログラムを記憶した書き換え可能な読み出し専用の第1の記憶部と、前記シーケンスプログラムを実行するためのデータ等の一時記憶を行う書き換え自由な第2の記憶部と、前記第1の記憶部と前記第2の記憶部とを用いて所定の機能を実行制御する演算制御を行う演算制御部と、前記演算制御部を通信回線に接続してデータの送受信制御を行う通信制御部とを備え、少なくとも前記第1の記憶部、前記第2の記憶部、および前記演算制御部を1チップ又は1ボードに形成したプログラマブル・ロジック・コントローラにおける前記第1の記憶部のデータの更新方法であって、前記プログラマブル・ロジック・コントローラのメーカ側から発信された、前記プログラマブル・ロジック・コントローラの前記第1の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、この受信内容に従って前記第1の記憶部の記憶内容を書き換える段階と、を含むことを特徴とするプログラマブル・ロジック・コントローラのデータ更新方法が提供される。
【0020】
この方法により、従来技術は容易でなかったデータの更新が、メーカ側からユーザ側にデータを通信回線を通じて強制的に送信することにより、地域的な制約なく確実に短時間で容易に書きかえることが可能となった。
【0021】
また、ユーザ側によるメーカ側から発信されたデータおよび書き込み指令の受信前に、ユーザ側が必要に応じて要求するプログラマブル・ロジック・コントローラの前記第1の記憶部の更新要求データを電気通信回線により転送すべく設定する段階と、メーカ側からの許可を得たことを条件に前記更新要求データを前記電気通信回線によりユーザ側からメーカ側に送出する段階と、をさらに含むことにより、ユーザ側からのバージョンアップ要求が可能となる。
【0022】
いずれの場合にも、送受信の相手を確認するために、それぞれに割り当てられた固有の識別IDの確認が行われる。
【0023】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態のいくつかを詳細に説明する。
図1は、本発明にかかるデータ更新方法が適用されるシステム構成を示すブロック図であって、ユーザ側に設置された第1のコンピュータPC1とメーカ側に設置された第2のコンピュータPC2とがインターネット10を介して接続された様子が示されている。
【0024】
ユーザ側の第1のコンピュータPC1には、PLCが接続される。ここでは半導体集積回路として1チップに集積された1チップ型PLC30がプリント基板に実装され、そのプリント基板上に同様に実装された通信ポート40を介して第1のPC1と接続されている。基板上には各部に電力を供給する電源ユニット50も搭載されている。これらの1チップPLC30、通信ポート40,電源50により1ボード型のPLCモジュール20が構成されている。
【0025】
ここで、1チップPLC30は制御部に当たるCPU31、第1の記憶部に相当するEEPROM素子32,処理過程のデータを一時保管する第2の記憶部に相当するRAM素子33.制御の基準となる時間を管理するタイマ34,被制御機器のシーケンス処理のためON/OFFデータの入出力を制御するI/Oインターフェース部35を代表的な要素として備えている。この1チップPLC30はLSI形状をなしており、基板にはソケット(図示せず)を介して装着されるか、あるいは基板上の導電パターンに直接はんだ付けされる。
【0026】
図2は、EEPROM素子32内の格納領域とその格納内容を示している。領域321には1ボードPLCの基本的制御を行う制御プログラム(OS)が格納され、領域322にはシーケンス言語を処理するシーケンス制御プログラム、領域323にはシーケンスプログラムそのもの、領域324には通信制御プログラム、領域325にはPLC固有のIDコード、領域326にはその他のデータ等が格納されている。なお、固有IDコードについての変更は禁止されており、ソフトウェアまたはソフトウェアとアドレス指定したディジタルスイッチ等のハードウェアとを組合わせてアドレスを指定することにより書き換えることはできない。
【0027】
図3はIDコードの構造を示しており、1バイトのデータ構造を有し、上位4:桁D7−D4は、1チップPLCの顧客すなわちユーザーの識別用IDで、さらにその下の3桁D3−D1は、そのユーザーの装置毎の識別IDであって、最終桁D0は、改良されたシーケンスプログラムのレビジョン情報である。各桁は16進数で表現される。
【0028】
この例では、IDは、16進数表記で0032.002.1であって、この情報は、0032ユーザの002という装置のためのものであって、そのプログラムは1という改変のIDを有していることとなる。
【0029】
また、第2の記憶部であるRAM素子33は、ランダムアクセス型で、OSの一時記憶および各種のソフトウエアでの処理用のフラグデータの一時記憶などに使用される。さらに、シーケンス処理プログラム、およびシーケンスデータのON/OFFの情報、およびデータ処理用のデータ記憶などの変化するデータのために使用される。またデータ通信用のソフトウエアの一時記憶としても使用される。
【0030】
通信ポート40はデータを通信回線に載せ、あるいは通信回線上のデータを受け取るためのもので、この通信ポート40の一方側にはPLCのI/Oポートが接続され、他方側には通信回線を介してインターネット10に接続されている。
【0031】
第1のコンピュータPC1には、ラダー図の作成が可能なソフトウエアがインストールされており、作成したラダー回路データを1チップPLC30のフラッシュメモリ(EEPROM)32に書き込むことができる。また通信機能を使用し、外部からのデータの転送により、ラダー図データをデータ転送により外部から取り込むことが可能となっている。
【0032】
メーカ側には、第2のコンピュータPC2が設置されており、PC1と同様にシーケンスのラダープロマグラムを作成できるプログラムがインストールされており、ラダーシーケンスを作成でき、そのラダー図をデータ転送する機能を有している。
【0033】
以下、本発明における変更処理の手順につき、図4のフローチャートを参照して詳細に説明する。なお、この変更処理は各コンピュータが起動されており、回線接続機能が正常であることを前提としている。
【0034】
(1) データ更新処理例1
この更新処理はユーザ側からの要求により行われるものである。
【0035】
まず、ユーザ側でシーケンス制御プログラムの変更の必要性が生じた場合、PC1によりシーケンスプログラムの仮変更を行ない(ステップS101)、それをPC2へ送出するのためにPC2との間にデータ転送ラインの転送機能確立を行う(ステップS102)。この転送機能を開始するためにはPLC固有のパスワードが必要となっている。すなわちユーザ確認のためのIDコードまたは名称と、パスワードが使用される。パスワードはメーカ側のコンピュータPC2内に記憶されており、ユーザ側からの転送確立要求に付加されたパスワードを記憶内容と比較して同じであればこの要求を受け付け、転送許可信号を出す。PC1側ではこの転送許可信号を確認して(ステップS103)、許可があればシーケンスプログラムの仮変更内容を送信する(ステップS104)。なお、許可がない場合には処理を終了する。
【0036】
PC1からデータ送信を受信した(ステップS111)メーカ側のPC2では、転送されたPLCのシーケンスプログラム仮変更情報を自己のメモリ部へ格納する。そして、メーカ側では、転送されたPLCのシーケンスプログラム仮変更情報に問題がないかをオペレータあるいは所定の診断プログラムによって確認し(ステップS112)、問題がなければユーザ側の第1の記憶部に書き込む手順を開始する。すなわち、第1の記憶部へ書き込むためのアセンブルを行い、最終的書き込みデータに変換する(ステップS113)。このときPLCのOSや、通信制御プログラムその他必要な全てのプログラムも送信データとして組み込まれる。なお、シーケンスプログラムの変更はすべてのユーザに適用される場合と、特定のユーザのみに適用される場合とがあり、それぞれの場合に応じて転送先をコンピュータPC2が指定する。
【0037】
これに対し、ユーザ側から送信されたシーケンスプログラム仮変更内容が妥当でないと判断されたときには、PC2は変更不可の通知を発し(ステップS115)、これをPC1側で受信して(ステップS116)処理を終了する。
【0038】
PC2側での変更内容の準備が完了したら、PC2からPC1ヘデータ転送の要求を行う(ステップS114)。この転送の際にも書き込み対象のPLC毎の固有のIDコードが使用され、外部からの書き込みには、その固有のIDが識別される手順をふむこととなる。このために、コンピュータPC1にインストールされた汎用の書き込みプログラムの中にこのようなIDの識別コードを使用する機能を有している。
【0039】
この転送の際にコンピュータPC1側では転送されるデータの内容を知ることはできない。したがって、ユーザ側でOSの内容等についての分析を行うことはできないので、OSの秘密性が保たれる。
【0040】
データ転送ライン確立後データ転送を行なわれ、変更されたシーケンスプログラムはPC1へ転送され、受信される(ステップS121)。そして、転送されたデータは、PC1によりEEPROM中の所定のメモリエリアに格納されて書き換えが行われ、変更されたプログラムが有効となる。
【0041】
このような手法を採用することにより、シーケンスプログラム等の変更を短時間にかつセキュリティ高く行うことができ、しかも全世界に存在するPLCを対象として行うことができる。
【0042】
(2) データ更新処理例2
先に説明した更新処理例1はユーザ側からのリクエストに基づくものであったが、この実施の形態においては、メーカ側の一方的な転送によりユーザ側の第1の記憶部を格納内容を強制的に変更するものである。
システムの構成は図1と同じであるが、データの転送手順が第1の実施形態とは異なり、図4のスタート2から始まる。
【0043】
すなわち、メーカ側の都合でOS等の修正を行いたい場合、コンピュータPC2は変更内容のアセンブルと変換を行い(ステップS113)、コンピュータPC1に対して、書込指令を発するとともに転送要求を行う(ステップS114)。
【0044】
PC1側では、PC2からデータを受信し(ステップS121)、受信内容はEEPROM中の所定のメモリエリアに格納されて書き換えが行われ、変更されたプログラムが有効となる(ステップS122)。
【0045】
このように、この実施の形態では、PC1におけるデータ書き換えはPC2によりリモート起動され、実行される。したがって、ユーザ側にこの装置等の電源を入れてもらうことにより、詳細は知られることなく必要なプログラムの変更が行われることから、メーカ側のセキュリティは維持される。
【0046】
以上の各実施の形態におけるデータ転送ラインは、専用線でも良いが、電気通信回線が一般的である。この電気通信回線としては、高速のデータネットワークとした会社内などのイントラネットを使用し、さらにインターネットヘ接続する方法が通信プロトコルとしてインターネットプロトコル(TCPIP)形式を用いることができるため、好ましい。
【0047】
また、上述した実施例では転送されるデータに暗号化は行っていないが、よりセキュリティ性を向上させるため、暗号化するようにしても良い。
【0048】
暗号化方法も種々のものを用いることがでぎる。例えば、情報データ間の変換マップを使用する方法が挙げられる。これを送信側でコーディングし、受信側でデコードを行なえば良い。又公開鍵方式を使用した暗号化ソフトの利用も可能である。
【0049】
要するに1チップPLC側のOS情報、シーケンス処理プログラムやシーケンス命令解読処理手順など秘密にしておきたい部分を、容易に判明できないような情報データを変換する手段があれば良く、秘密にしておきたい情報内容の部分を保護できればどのようなものでも良い。
【0050】
【発明の効果】
以上述べたように、本発明にかかる方法を採用することで、小型化された1チップ又は1ボードのPLCを組み込んだPLCの読出し専用のメモリ領域に格納されたプログラムあるいはデータを地域的な制約なく、確実に短時間で容易に書きかえることが可能となった。
またこの発明の方法によれば、小型化された1チップPLCを組み込んだPLCのEEPROMメモリ部のデータを書きかえるために専用IDを用い、パスワードを使用したのでOS内容を開示することなくデータ書き換えが可能となったため、セキュリティの向上を図ることができる。
【図面の簡単な説明】
【図1】本発明にかかるデータ更新方法が適用されるシステム構成を示すブロック図である。
【図2】EEPROM素子内の格納領域とその格納内容を示す説明図である。
【図3】本発明の方法で使用するIDコードの構造の一例を示す説明図である。
【図4】本発明にかかるデータ更新方法の処理手順を示すフローチャートである。
【符号の説明】
10 インターネット
20 1ボード型PLCモジュール
30 1チップ型PLC
31 CPU
32 EEPROM
33 RAM
34 タイマ
35 I/Oインターフェース
40 通信ポート
50 電源
PC1 ユーザ側コンピュータ
PC2 メーカ側コンピュータ
【発明の属する技術分野】
この発明は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller、以下PLCと略称することがある)に関し、より詳細には、PLCの構成要素である、シーケンスプログラムや制御プログラムを格納するEEPROMなどの記憶素子の記憶データの更新方法に関する。
【0002】
【従来の技術】
一連のリレー接点形式により表現されたシーケンス制御回路を予め定められたプログラムにしたがって電子的に演算制御するシーケンスコントローラは、PLCとも称され、産業界のあらゆる機器の制御に用いられている。このPLCにおいては、従前より接点回路により表現された回路図(ラダー図)をそのまま制御回路に用い、アセンブラ言語の論理和、論理積命令を使用し、さらに最終的な分岐命令などの処理言語を用いて制御を行ってきた。
【0003】
さらに発展した装置では、接点形式にて表現された回路図をいくつかの要素図、例えばメーク接点(A接点)図やブレーク接点(B接点)図、および並列分岐点図等いくつかの図に分解して要素図とした表現を使用し、そのソフトウェア的な呼称を中間言語と称し、各要素図を順次接続して通常のラダー図を表現する。そして、このラダー図の処理においては、再度その中間言語をアセンブラ言語に翻訳し、さらに最終的に装置特有な機械語での表現を用いて制御を行なってきた。このような中間言語の処理例は、例えば特開平11−45105に開示されている。
【0004】
いずれの形式のPLCにおいても、シーケンス回路の演算や論理を処理するため専用の装置を構成したり、あるいは汎用の1チップマイクロコンピュータの言語を使用してシーケンス処理用の装置を構成している。そして、最終的に完成したシーケンスプログラムは、PLC内の読み出し専用メモリ(read only memory:ROM)に格納される。
【0005】
しかしながら、このシーケンスプログラムを得るためには、シーケンスプログラムあるいはラダー図を調整・編集しつつ、最終的なシーケンスプログラムを得る手法を採用しているため、完成までには記憶内容を頻繁に書き換える必要がある。また、一旦完成後、出荷後であっても、改良等のために内容が変更されることもしばしばある。
【0006】
このため、基本的には読み出し専用メモリが用いられるが、書き換え可能である必要があり、この観点から、例えば、電気的に書き換え可能なEEPROMなどが用いられ、代表的なものとしてフラッシュメモリが用いられる。
【0007】
一方、PLCの小型化の要求も大きくなっている。
PLCの小型化のためには、汎用の言語を処理する処理装置として小型の半導体デバイスを使用し、その処理装置に接続される周辺回路部も小型化する必要があった。
【0008】
また、前述した、より高速にするための仕組みを有するPLCでは、マイクロプログラム等のファームウエアを含んで処理回路全体を小型化する必要があった。
【0009】
これらの要求を満足するPLCの小型化の一例として、最近注目されている技術としては、汎用1チップマイクロコンピュータを使用し、シーケンスプログラムおよびこのシーケンスプログラムを処理する制御プログラムの格納部としてEEROMを用い、さらに一時記憶用のRAMおよび必要な周辺回路を集積回路として用意し、それらを同じプリント基板に実装した上で全体を樹脂封止して1つのモジュールとした、いわゆるハイブリッドタイプPLCがある。
【0010】
このような技術は、ある程度大きな特定製品の専用コントローラとしては、十分な小型化が達成されているが、市販の種々の素子をプリント基板に実装するものであるため、より一層の小型化には限界があった。また、このようなハイブリッドタイプPLCでは、製造において樹脂封入などの工程を必要とし、製造作業も煩雑である。
【0011】
本願発明者は、この問題を解決するため、樹脂封入などの工程を不要とするため、半導体ウェハ上にPLC機能を集積した半導体1チップ型PLCモジュールを開発し、出願している(特願2003−054377)。
【0012】
前述したように、シーケンスプログラムや制御プログラムの変更はPLC出荷後も行われるのが普通である。
【0013】
従来のように、プログラムを格納しているROMの書き換えがユーザ側で可能な場合には、例えば特開2001−125608号公報で開示された手法を用いて単体ROMの書き換えが行われる。一般にROMの交換作業はユーザ側でも可能であるので、メーカから改良したROMをユーザに送り、ユーザ側で交換作業を行えば機能のバージョンアップを簡単に行うことが可能である。
【0014】
【特許文献1】
特開2001−125608号公報
【0015】
【発明が解決しようとする課題】
しかしながら、上述したような最近のハイブリッド型あるいは1チップ型PLCモジュールにおいは、樹脂封止あるいは集積化されているためROM部分のみを交換することはできない。また、モジュール化されたPLCでは、シーケンスプログラムや制御プログラムはEEPROMに格納されているため、変更があったときには、CPU部を介して書き換えを行う必要があるが、この書き換え作業にはソフトウェアおよびハードウェアについての高度の知識が必要であり、ユーザ側で対応することは不可能である。
【0016】
このため、PLCモジュールごとの交換が必要になるが、交換には熟練を必要とするため、サービスマンにより行われる必要があり、世界中のエンドユーザすべてについて短期間に交換作業を行うことは事実上不可能である。
【0017】
さらに、メーカ側にとっては、ROMの格納内容には、PLCの核となるOS部分も含まれ、書き換え作業をユーザに委ねた場合にはOSの内容を完全に開示する必要があることから、技術上の秘密の保持の上で、好ましいことではなかった。
【0018】
そこで、本発明はユーザの手を煩わすことなく、読出し専用のメモリ領域に格納されたシーケンスプログラムや制御プログラムの内容を地域的な制約なく、高いセキュリティで確実に短時間で更新することができるデータ更新方法を提供することを目的とする。
【0019】
【課題を解決するための手段】
本発明によれば、シーケンスプログラムおよびこのシーケンスプログラムを解読するための制御プログラムを記憶した書き換え可能な読み出し専用の第1の記憶部と、前記シーケンスプログラムを実行するためのデータ等の一時記憶を行う書き換え自由な第2の記憶部と、前記第1の記憶部と前記第2の記憶部とを用いて所定の機能を実行制御する演算制御を行う演算制御部と、前記演算制御部を通信回線に接続してデータの送受信制御を行う通信制御部とを備え、少なくとも前記第1の記憶部、前記第2の記憶部、および前記演算制御部を1チップ又は1ボードに形成したプログラマブル・ロジック・コントローラにおける前記第1の記憶部のデータの更新方法であって、前記プログラマブル・ロジック・コントローラのメーカ側から発信された、前記プログラマブル・ロジック・コントローラの前記第1の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、この受信内容に従って前記第1の記憶部の記憶内容を書き換える段階と、を含むことを特徴とするプログラマブル・ロジック・コントローラのデータ更新方法が提供される。
【0020】
この方法により、従来技術は容易でなかったデータの更新が、メーカ側からユーザ側にデータを通信回線を通じて強制的に送信することにより、地域的な制約なく確実に短時間で容易に書きかえることが可能となった。
【0021】
また、ユーザ側によるメーカ側から発信されたデータおよび書き込み指令の受信前に、ユーザ側が必要に応じて要求するプログラマブル・ロジック・コントローラの前記第1の記憶部の更新要求データを電気通信回線により転送すべく設定する段階と、メーカ側からの許可を得たことを条件に前記更新要求データを前記電気通信回線によりユーザ側からメーカ側に送出する段階と、をさらに含むことにより、ユーザ側からのバージョンアップ要求が可能となる。
【0022】
いずれの場合にも、送受信の相手を確認するために、それぞれに割り当てられた固有の識別IDの確認が行われる。
【0023】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態のいくつかを詳細に説明する。
図1は、本発明にかかるデータ更新方法が適用されるシステム構成を示すブロック図であって、ユーザ側に設置された第1のコンピュータPC1とメーカ側に設置された第2のコンピュータPC2とがインターネット10を介して接続された様子が示されている。
【0024】
ユーザ側の第1のコンピュータPC1には、PLCが接続される。ここでは半導体集積回路として1チップに集積された1チップ型PLC30がプリント基板に実装され、そのプリント基板上に同様に実装された通信ポート40を介して第1のPC1と接続されている。基板上には各部に電力を供給する電源ユニット50も搭載されている。これらの1チップPLC30、通信ポート40,電源50により1ボード型のPLCモジュール20が構成されている。
【0025】
ここで、1チップPLC30は制御部に当たるCPU31、第1の記憶部に相当するEEPROM素子32,処理過程のデータを一時保管する第2の記憶部に相当するRAM素子33.制御の基準となる時間を管理するタイマ34,被制御機器のシーケンス処理のためON/OFFデータの入出力を制御するI/Oインターフェース部35を代表的な要素として備えている。この1チップPLC30はLSI形状をなしており、基板にはソケット(図示せず)を介して装着されるか、あるいは基板上の導電パターンに直接はんだ付けされる。
【0026】
図2は、EEPROM素子32内の格納領域とその格納内容を示している。領域321には1ボードPLCの基本的制御を行う制御プログラム(OS)が格納され、領域322にはシーケンス言語を処理するシーケンス制御プログラム、領域323にはシーケンスプログラムそのもの、領域324には通信制御プログラム、領域325にはPLC固有のIDコード、領域326にはその他のデータ等が格納されている。なお、固有IDコードについての変更は禁止されており、ソフトウェアまたはソフトウェアとアドレス指定したディジタルスイッチ等のハードウェアとを組合わせてアドレスを指定することにより書き換えることはできない。
【0027】
図3はIDコードの構造を示しており、1バイトのデータ構造を有し、上位4:桁D7−D4は、1チップPLCの顧客すなわちユーザーの識別用IDで、さらにその下の3桁D3−D1は、そのユーザーの装置毎の識別IDであって、最終桁D0は、改良されたシーケンスプログラムのレビジョン情報である。各桁は16進数で表現される。
【0028】
この例では、IDは、16進数表記で0032.002.1であって、この情報は、0032ユーザの002という装置のためのものであって、そのプログラムは1という改変のIDを有していることとなる。
【0029】
また、第2の記憶部であるRAM素子33は、ランダムアクセス型で、OSの一時記憶および各種のソフトウエアでの処理用のフラグデータの一時記憶などに使用される。さらに、シーケンス処理プログラム、およびシーケンスデータのON/OFFの情報、およびデータ処理用のデータ記憶などの変化するデータのために使用される。またデータ通信用のソフトウエアの一時記憶としても使用される。
【0030】
通信ポート40はデータを通信回線に載せ、あるいは通信回線上のデータを受け取るためのもので、この通信ポート40の一方側にはPLCのI/Oポートが接続され、他方側には通信回線を介してインターネット10に接続されている。
【0031】
第1のコンピュータPC1には、ラダー図の作成が可能なソフトウエアがインストールされており、作成したラダー回路データを1チップPLC30のフラッシュメモリ(EEPROM)32に書き込むことができる。また通信機能を使用し、外部からのデータの転送により、ラダー図データをデータ転送により外部から取り込むことが可能となっている。
【0032】
メーカ側には、第2のコンピュータPC2が設置されており、PC1と同様にシーケンスのラダープロマグラムを作成できるプログラムがインストールされており、ラダーシーケンスを作成でき、そのラダー図をデータ転送する機能を有している。
【0033】
以下、本発明における変更処理の手順につき、図4のフローチャートを参照して詳細に説明する。なお、この変更処理は各コンピュータが起動されており、回線接続機能が正常であることを前提としている。
【0034】
(1) データ更新処理例1
この更新処理はユーザ側からの要求により行われるものである。
【0035】
まず、ユーザ側でシーケンス制御プログラムの変更の必要性が生じた場合、PC1によりシーケンスプログラムの仮変更を行ない(ステップS101)、それをPC2へ送出するのためにPC2との間にデータ転送ラインの転送機能確立を行う(ステップS102)。この転送機能を開始するためにはPLC固有のパスワードが必要となっている。すなわちユーザ確認のためのIDコードまたは名称と、パスワードが使用される。パスワードはメーカ側のコンピュータPC2内に記憶されており、ユーザ側からの転送確立要求に付加されたパスワードを記憶内容と比較して同じであればこの要求を受け付け、転送許可信号を出す。PC1側ではこの転送許可信号を確認して(ステップS103)、許可があればシーケンスプログラムの仮変更内容を送信する(ステップS104)。なお、許可がない場合には処理を終了する。
【0036】
PC1からデータ送信を受信した(ステップS111)メーカ側のPC2では、転送されたPLCのシーケンスプログラム仮変更情報を自己のメモリ部へ格納する。そして、メーカ側では、転送されたPLCのシーケンスプログラム仮変更情報に問題がないかをオペレータあるいは所定の診断プログラムによって確認し(ステップS112)、問題がなければユーザ側の第1の記憶部に書き込む手順を開始する。すなわち、第1の記憶部へ書き込むためのアセンブルを行い、最終的書き込みデータに変換する(ステップS113)。このときPLCのOSや、通信制御プログラムその他必要な全てのプログラムも送信データとして組み込まれる。なお、シーケンスプログラムの変更はすべてのユーザに適用される場合と、特定のユーザのみに適用される場合とがあり、それぞれの場合に応じて転送先をコンピュータPC2が指定する。
【0037】
これに対し、ユーザ側から送信されたシーケンスプログラム仮変更内容が妥当でないと判断されたときには、PC2は変更不可の通知を発し(ステップS115)、これをPC1側で受信して(ステップS116)処理を終了する。
【0038】
PC2側での変更内容の準備が完了したら、PC2からPC1ヘデータ転送の要求を行う(ステップS114)。この転送の際にも書き込み対象のPLC毎の固有のIDコードが使用され、外部からの書き込みには、その固有のIDが識別される手順をふむこととなる。このために、コンピュータPC1にインストールされた汎用の書き込みプログラムの中にこのようなIDの識別コードを使用する機能を有している。
【0039】
この転送の際にコンピュータPC1側では転送されるデータの内容を知ることはできない。したがって、ユーザ側でOSの内容等についての分析を行うことはできないので、OSの秘密性が保たれる。
【0040】
データ転送ライン確立後データ転送を行なわれ、変更されたシーケンスプログラムはPC1へ転送され、受信される(ステップS121)。そして、転送されたデータは、PC1によりEEPROM中の所定のメモリエリアに格納されて書き換えが行われ、変更されたプログラムが有効となる。
【0041】
このような手法を採用することにより、シーケンスプログラム等の変更を短時間にかつセキュリティ高く行うことができ、しかも全世界に存在するPLCを対象として行うことができる。
【0042】
(2) データ更新処理例2
先に説明した更新処理例1はユーザ側からのリクエストに基づくものであったが、この実施の形態においては、メーカ側の一方的な転送によりユーザ側の第1の記憶部を格納内容を強制的に変更するものである。
システムの構成は図1と同じであるが、データの転送手順が第1の実施形態とは異なり、図4のスタート2から始まる。
【0043】
すなわち、メーカ側の都合でOS等の修正を行いたい場合、コンピュータPC2は変更内容のアセンブルと変換を行い(ステップS113)、コンピュータPC1に対して、書込指令を発するとともに転送要求を行う(ステップS114)。
【0044】
PC1側では、PC2からデータを受信し(ステップS121)、受信内容はEEPROM中の所定のメモリエリアに格納されて書き換えが行われ、変更されたプログラムが有効となる(ステップS122)。
【0045】
このように、この実施の形態では、PC1におけるデータ書き換えはPC2によりリモート起動され、実行される。したがって、ユーザ側にこの装置等の電源を入れてもらうことにより、詳細は知られることなく必要なプログラムの変更が行われることから、メーカ側のセキュリティは維持される。
【0046】
以上の各実施の形態におけるデータ転送ラインは、専用線でも良いが、電気通信回線が一般的である。この電気通信回線としては、高速のデータネットワークとした会社内などのイントラネットを使用し、さらにインターネットヘ接続する方法が通信プロトコルとしてインターネットプロトコル(TCPIP)形式を用いることができるため、好ましい。
【0047】
また、上述した実施例では転送されるデータに暗号化は行っていないが、よりセキュリティ性を向上させるため、暗号化するようにしても良い。
【0048】
暗号化方法も種々のものを用いることがでぎる。例えば、情報データ間の変換マップを使用する方法が挙げられる。これを送信側でコーディングし、受信側でデコードを行なえば良い。又公開鍵方式を使用した暗号化ソフトの利用も可能である。
【0049】
要するに1チップPLC側のOS情報、シーケンス処理プログラムやシーケンス命令解読処理手順など秘密にしておきたい部分を、容易に判明できないような情報データを変換する手段があれば良く、秘密にしておきたい情報内容の部分を保護できればどのようなものでも良い。
【0050】
【発明の効果】
以上述べたように、本発明にかかる方法を採用することで、小型化された1チップ又は1ボードのPLCを組み込んだPLCの読出し専用のメモリ領域に格納されたプログラムあるいはデータを地域的な制約なく、確実に短時間で容易に書きかえることが可能となった。
またこの発明の方法によれば、小型化された1チップPLCを組み込んだPLCのEEPROMメモリ部のデータを書きかえるために専用IDを用い、パスワードを使用したのでOS内容を開示することなくデータ書き換えが可能となったため、セキュリティの向上を図ることができる。
【図面の簡単な説明】
【図1】本発明にかかるデータ更新方法が適用されるシステム構成を示すブロック図である。
【図2】EEPROM素子内の格納領域とその格納内容を示す説明図である。
【図3】本発明の方法で使用するIDコードの構造の一例を示す説明図である。
【図4】本発明にかかるデータ更新方法の処理手順を示すフローチャートである。
【符号の説明】
10 インターネット
20 1ボード型PLCモジュール
30 1チップ型PLC
31 CPU
32 EEPROM
33 RAM
34 タイマ
35 I/Oインターフェース
40 通信ポート
50 電源
PC1 ユーザ側コンピュータ
PC2 メーカ側コンピュータ
Claims (6)
- シーケンスプログラムおよびこのシーケンスプログラムを解読するための制御プログラムを記憶した書き換え可能な読み出し専用の第1の記憶部と、前記シーケンスプログラムを実行するためのデータ等の一時記憶を行う書き換え自由な第2の記憶部と、前記第1の記憶部と前記第2の記憶部とを用いて所定の機能を実行制御する演算制御を行う演算制御部と、前記演算制御部を通信回線に接続してデータの送受信制御を行う通信制御部とを備え、少なくとも前記第1の記憶部、前記第2の記憶部、および前記演算制御部を1チップ又は1ボードに形成したプログラマブル・ロジック・コントローラにおける前記第1の記憶部のデータの更新方法であって、
前記プログラマブル・ロジック・コントローラのメーカ側から発信された、前記プログラマブル・ロジック・コントローラの前記第1の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、
この受信内容に従って前記第1の記憶部の記憶内容を書き換える段階と、
を含むことを特徴とするプログラマブル・ロジック・コントローラのデータ更新方法。 - メーカ側から発信されたデータおよび書き込み指令のユーザ側による受信前に、
ユーザ側が必要に応じて要求するプログラマブル・ロジック・コントローラの前記第1の記憶部の更新要求データを電気通信回線により転送すべく設定する段階と、
メーカ側からの許可を得たことを条件に前記更新要求データを前記電気通信回線によりユーザ側からメーカ側に送出する段階と、をさらに含むことを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラのデータ更新方法。 - 前記第1の記憶部の記憶内容を書き換える前に前記第1の記憶部内部の記憶領域に記憶された固有のIDコードに基づいて書き込み権限の認証を行うことを特徴とする請求項1または2に記載のプログラマブル・ロジック・コントローラのデータ更新方法。
- 前記固有識別IDコードの記憶領域は書き換え禁止領域となっていることを特徴とする請求項2に記載のプログラマブル・ロジック・コントローラのデータの更新方法。
- 前記データを電気通信回線により送出する段階において、パスワードを用いて、送信先を限定するプロトコルを用いる段階をさらに含むことを特徴とする請求項1ないし4のいずれかに記載のデータの更新方法。
- 前記データが暗号化されて送信されることを特徴とする請求項1ないし5のいずれかに記載のデータの更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003073400A JP2004280653A (ja) | 2003-03-18 | 2003-03-18 | プログラマブル・ロジック・コントローラのデータ更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003073400A JP2004280653A (ja) | 2003-03-18 | 2003-03-18 | プログラマブル・ロジック・コントローラのデータ更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004280653A true JP2004280653A (ja) | 2004-10-07 |
Family
ID=33289307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003073400A Pending JP2004280653A (ja) | 2003-03-18 | 2003-03-18 | プログラマブル・ロジック・コントローラのデータ更新方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004280653A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7661018B2 (en) | 2006-12-21 | 2010-02-09 | International Business Machines Corporation | Method, apparatus and program storage device for providing automatic recovery from premature reboot of a system during a concurrent upgrade |
US7685461B2 (en) | 2006-12-20 | 2010-03-23 | International Business Machines Corporation | Method, apparatus and program storage device for performing fault tolerant code upgrade on a fault tolerant system by determining when functional code reaches a desired state before resuming an upgrade |
US9769132B2 (en) | 2012-12-20 | 2017-09-19 | Mitsubishi Electric Corporation | Control system for securely protecting a control program when editing, executing and transmitting the control program |
-
2003
- 2003-03-18 JP JP2003073400A patent/JP2004280653A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685461B2 (en) | 2006-12-20 | 2010-03-23 | International Business Machines Corporation | Method, apparatus and program storage device for performing fault tolerant code upgrade on a fault tolerant system by determining when functional code reaches a desired state before resuming an upgrade |
US7661018B2 (en) | 2006-12-21 | 2010-02-09 | International Business Machines Corporation | Method, apparatus and program storage device for providing automatic recovery from premature reboot of a system during a concurrent upgrade |
US9769132B2 (en) | 2012-12-20 | 2017-09-19 | Mitsubishi Electric Corporation | Control system for securely protecting a control program when editing, executing and transmitting the control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6438678B1 (en) | Apparatus and method for operating on data in a data communications system | |
JP5942446B2 (ja) | サポート装置およびサポートプログラム | |
US6175915B1 (en) | Data processor with trie traversal instruction set extension | |
JP4888718B2 (ja) | 分散型制御システム | |
US7038798B2 (en) | Method and apparatus for multi-function processing capable of performing a program downloading using a common single connection, and a medium storing the method | |
JP5144409B2 (ja) | インバータ制御システム,インバータ装置の周辺機器 | |
JP6772899B2 (ja) | 管理装置、中継装置、フィールド無線システム、設定方法、プログラム及び記録媒体 | |
JP2004280653A (ja) | プログラマブル・ロジック・コントローラのデータ更新方法 | |
JP4236830B2 (ja) | アップロード機能付き記憶装置 | |
JP2021048623A (ja) | 少なくとも1つの安全なプロデューサーと少なくとも1つの安全なコンシューマーとの間のデータ伝送 | |
US20060114892A1 (en) | Method and apparatus to transmit state information through a communication link | |
JP2004326143A (ja) | Fpgaを具備するcpu装置とその初期化方法 | |
JP4544422B2 (ja) | プログラマブル・コントローラ | |
JP4634026B2 (ja) | リモートi/oシステム、データ通信方法、データ通信制御プログラム及び記録媒体 | |
JP4840012B2 (ja) | モード変更機能を備えたicカード、および、icカードプログラム | |
JP2005128888A (ja) | コマンド処理装置及びコマンド処理装置の制御方法 | |
JP2002259151A (ja) | 通信装置 | |
JPH05233844A (ja) | マイクロコンピュータ | |
JP4450161B2 (ja) | ユニット及びプログラマブルコントローラ | |
JP5226383B2 (ja) | マイクロコンピュータの識別情報管理システム及び方法 | |
JP2020017857A (ja) | 通信デバイス、データ送信方法、及びプログラム | |
JP2006341460A (ja) | プリンティング機能を有する複写機システムおよび当該システムにおける複写機もしくはプリンタ・コントローラ。 | |
JP2023006416A (ja) | プログラム更新モジュール及びプログラム更新方法 | |
JP4370886B2 (ja) | 機器固有データ送受信システム | |
CN117716361A (zh) | 安全元件中操作系统的更新 |