(57)【要約】【課題】ユーザの手を煩わすことなく、読出し専用のメモリ領域に格納されたシーケンスプログラムや制御プログラムの内容を地域的な制約なく、高いセキュリティで確実に短時間で更新することができるデータ更新方法を提供する。【解決手段】シーケンスプログラム等を記憶した書き換え可能な読み出し専用の第１の記憶部と、書き換え自由な第２の記憶部と、演算制御部と、データの送受信制御を行う通信制御部とを備えたプログラマブル・ロジック・コントローラにおける第１の記憶部のデータの更新方法であって、メーカ側から発信された、プログラマブル・ロジック・コントローラの第１の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、この受信内容に従って前記第１の記憶部の記憶内容を書き換える段階と、を含む【選択図】  図４
2004280653.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスプログラムおよびこのシーケンスプログラムを解読するための制御プログラムを記憶した書き換え可能な読み出し専用の第１の記憶部と、前記シーケンスプログラムを実行するためのデータ等の一時記憶を行う書き換え自由な第２の記憶部と、前記第１の記憶部と前記第２の記憶部とを用いて所定の機能を実行制御する演算制御を行う演算制御部と、前記演算制御部を通信回線に接続してデータの送受信制御を行う通信制御部とを備え、少なくとも前記第１の記憶部、前記第２の記憶部、および前記演算制御部を１チップ又は１ボードに形成したプログラマブル・ロジック・コントローラにおける前記第１の記憶部のデータの更新方法であって、
前記プログラマブル・ロジック・コントローラのメーカ側から発信された、前記プログラマブル・ロジック・コントローラの前記第１の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、
この受信内容に従って前記第１の記憶部の記憶内容を書き換える段階と、
を含むことを特徴とするプログラマブル・ロジック・コントローラのデータ更新方法。
【請求項２】
メーカ側から発信されたデータおよび書き込み指令のユーザ側による受信前に、
ユーザ側が必要に応じて要求するプログラマブル・ロジック・コントローラの前記第１の記憶部の更新要求データを電気通信回線により転送すべく設定する段階と、
メーカ側からの許可を得たことを条件に前記更新要求データを前記電気通信回線によりユーザ側からメーカ側に送出する段階と、をさらに含むことを特徴とする請求項１に記載のプログラマブル・ロジック・コントローラのデータ更新方法。
【請求項３】
前記第１の記憶部の記憶内容を書き換える前に前記第１の記憶部内部の記憶領域に記憶された固有のＩＤコードに基づいて書き込み権限の認証を行うことを特徴とする請求項１または２に記載のプログラマブル・ロジック・コントローラのデータ更新方法。
【請求項４】
前記固有識別ＩＤコードの記憶領域は書き換え禁止領域となっていることを特徴とする請求項２に記載のプログラマブル・ロジック・コントローラのデータの更新方法。
【請求項５】
前記データを電気通信回線により送出する段階において、パスワードを用いて、送信先を限定するプロトコルを用いる段階をさらに含むことを特徴とする請求項１ないし４のいずれかに記載のデータの更新方法。
【請求項６】
前記データが暗号化されて送信されることを特徴とする請求項１ないし５のいずれかに記載のデータの更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブル・ロジック・コントローラ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ、以下ＰＬＣと略称することがある）に関し、より詳細には、ＰＬＣの構成要素である、シーケンスプログラムや制御プログラムを格納するＥＥＰＲＯＭなどの記憶素子の記憶データの更新方法に関する。
【０００２】
【従来の技術】
一連のリレー接点形式により表現されたシーケンス制御回路を予め定められたプログラムにしたがって電子的に演算制御するシーケンスコントローラは、ＰＬＣとも称され、産業界のあらゆる機器の制御に用いられている。このＰＬＣにおいては、従前より接点回路により表現された回路図（ラダー図）をそのまま制御回路に用い、アセンブラ言語の論理和、論理積命令を使用し、さらに最終的な分岐命令などの処理言語を用いて制御を行ってきた。
【０００３】
さらに発展した装置では、接点形式にて表現された回路図をいくつかの要素図、例えばメーク接点（Ａ接点）図やブレーク接点（Ｂ接点）図、および並列分岐点図等いくつかの図に分解して要素図とした表現を使用し、そのソフトウェア的な呼称を中間言語と称し、各要素図を順次接続して通常のラダー図を表現する。そして、このラダー図の処理においては、再度その中間言語をアセンブラ言語に翻訳し、さらに最終的に装置特有な機械語での表現を用いて制御を行なってきた。このような中間言語の処理例は、例えば特開平１１−４５１０５に開示されている。
【０００４】
いずれの形式のＰＬＣにおいても、シーケンス回路の演算や論理を処理するため専用の装置を構成したり、あるいは汎用の１チップマイクロコンピュータの言語を使用してシーケンス処理用の装置を構成している。そして、最終的に完成したシーケンスプログラムは、ＰＬＣ内の読み出し専用メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：ＲＯＭ）に格納される。
【０００５】
しかしながら、このシーケンスプログラムを得るためには、シーケンスプログラムあるいはラダー図を調整・編集しつつ、最終的なシーケンスプログラムを得る手法を採用しているため、完成までには記憶内容を頻繁に書き換える必要がある。また、一旦完成後、出荷後であっても、改良等のために内容が変更されることもしばしばある。
【０００６】
このため、基本的には読み出し専用メモリが用いられるが、書き換え可能である必要があり、この観点から、例えば、電気的に書き換え可能なＥＥＰＲＯＭなどが用いられ、代表的なものとしてフラッシュメモリが用いられる。
【０００７】
一方、ＰＬＣの小型化の要求も大きくなっている。
ＰＬＣの小型化のためには、汎用の言語を処理する処理装置として小型の半導体デバイスを使用し、その処理装置に接続される周辺回路部も小型化する必要があった。
【０００８】
また、前述した、より高速にするための仕組みを有するＰＬＣでは、マイクロプログラム等のファームウエアを含んで処理回路全体を小型化する必要があった。
【０００９】
これらの要求を満足するＰＬＣの小型化の一例として、最近注目されている技術としては、汎用１チップマイクロコンピュータを使用し、シーケンスプログラムおよびこのシーケンスプログラムを処理する制御プログラムの格納部としてＥＥＲＯＭを用い、さらに一時記憶用のＲＡＭおよび必要な周辺回路を集積回路として用意し、それらを同じプリント基板に実装した上で全体を樹脂封止して１つのモジュールとした、いわゆるハイブリッドタイプＰＬＣがある。
【００１０】
このような技術は、ある程度大きな特定製品の専用コントローラとしては、十分な小型化が達成されているが、市販の種々の素子をプリント基板に実装するものであるため、より一層の小型化には限界があった。また、このようなハイブリッドタイプＰＬＣでは、製造において樹脂封入などの工程を必要とし、製造作業も煩雑である。
【００１１】
本願発明者は、この問題を解決するため、樹脂封入などの工程を不要とするため、半導体ウェハ上にＰＬＣ機能を集積した半導体１チップ型ＰＬＣモジュールを開発し、出願している（特願２００３−０５４３７７）。
【００１２】
前述したように、シーケンスプログラムや制御プログラムの変更はＰＬＣ出荷後も行われるのが普通である。
【００１３】
従来のように、プログラムを格納しているＲＯＭの書き換えがユーザ側で可能な場合には、例えば特開２００１−１２５６０８号公報で開示された手法を用いて単体ＲＯＭの書き換えが行われる。一般にＲＯＭの交換作業はユーザ側でも可能であるので、メーカから改良したＲＯＭをユーザに送り、ユーザ側で交換作業を行えば機能のバージョンアップを簡単に行うことが可能である。
【００１４】
【特許文献１】
特開２００１−１２５６０８号公報
【００１５】
【発明が解決しようとする課題】
しかしながら、上述したような最近のハイブリッド型あるいは１チップ型ＰＬＣモジュールにおいは、樹脂封止あるいは集積化されているためＲＯＭ部分のみを交換することはできない。また、モジュール化されたＰＬＣでは、シーケンスプログラムや制御プログラムはＥＥＰＲＯＭに格納されているため、変更があったときには、ＣＰＵ部を介して書き換えを行う必要があるが、この書き換え作業にはソフトウェアおよびハードウェアについての高度の知識が必要であり、ユーザ側で対応することは不可能である。
【００１６】
このため、ＰＬＣモジュールごとの交換が必要になるが、交換には熟練を必要とするため、サービスマンにより行われる必要があり、世界中のエンドユーザすべてについて短期間に交換作業を行うことは事実上不可能である。
【００１７】
さらに、メーカ側にとっては、ＲＯＭの格納内容には、ＰＬＣの核となるＯＳ部分も含まれ、書き換え作業をユーザに委ねた場合にはＯＳの内容を完全に開示する必要があることから、技術上の秘密の保持の上で、好ましいことではなかった。
【００１８】
そこで、本発明はユーザの手を煩わすことなく、読出し専用のメモリ領域に格納されたシーケンスプログラムや制御プログラムの内容を地域的な制約なく、高いセキュリティで確実に短時間で更新することができるデータ更新方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明によれば、シーケンスプログラムおよびこのシーケンスプログラムを解読するための制御プログラムを記憶した書き換え可能な読み出し専用の第１の記憶部と、前記シーケンスプログラムを実行するためのデータ等の一時記憶を行う書き換え自由な第２の記憶部と、前記第１の記憶部と前記第２の記憶部とを用いて所定の機能を実行制御する演算制御を行う演算制御部と、前記演算制御部を通信回線に接続してデータの送受信制御を行う通信制御部とを備え、少なくとも前記第１の記憶部、前記第２の記憶部、および前記演算制御部を１チップ又は１ボードに形成したプログラマブル・ロジック・コントローラにおける前記第１の記憶部のデータの更新方法であって、前記プログラマブル・ロジック・コントローラのメーカ側から発信された、前記プログラマブル・ロジック・コントローラの前記第１の記憶部に記憶されたデータを更新するために必要な指令およびデータを前記通信回線を介してユーザ側が受信する段階と、この受信内容に従って前記第１の記憶部の記憶内容を書き換える段階と、を含むことを特徴とするプログラマブル・ロジック・コントローラのデータ更新方法が提供される。
【００２０】
この方法により、従来技術は容易でなかったデータの更新が、メーカ側からユーザ側にデータを通信回線を通じて強制的に送信することにより、地域的な制約なく確実に短時間で容易に書きかえることが可能となった。
【００２１】
また、ユーザ側によるメーカ側から発信されたデータおよび書き込み指令の受信前に、ユーザ側が必要に応じて要求するプログラマブル・ロジック・コントローラの前記第１の記憶部の更新要求データを電気通信回線により転送すべく設定する段階と、メーカ側からの許可を得たことを条件に前記更新要求データを前記電気通信回線によりユーザ側からメーカ側に送出する段階と、をさらに含むことにより、ユーザ側からのバージョンアップ要求が可能となる。
【００２２】
いずれの場合にも、送受信の相手を確認するために、それぞれに割り当てられた固有の識別ＩＤの確認が行われる。
【００２３】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態のいくつかを詳細に説明する。
図１は、本発明にかかるデータ更新方法が適用されるシステム構成を示すブロック図であって、ユーザ側に設置された第１のコンピュータＰＣ１とメーカ側に設置された第２のコンピュータＰＣ２とがインターネット１０を介して接続された様子が示されている。
【００２４】
ユーザ側の第１のコンピュータＰＣ１には、ＰＬＣが接続される。ここでは半導体集積回路として１チップに集積された１チップ型ＰＬＣ３０がプリント基板に実装され、そのプリント基板上に同様に実装された通信ポート４０を介して第１のＰＣ１と接続されている。基板上には各部に電力を供給する電源ユニット５０も搭載されている。これらの１チップＰＬＣ３０、通信ポート４０，電源５０により１ボード型のＰＬＣモジュール２０が構成されている。
【００２５】
ここで、１チップＰＬＣ３０は制御部に当たるＣＰＵ３１、第１の記憶部に相当するＥＥＰＲＯＭ素子３２，処理過程のデータを一時保管する第２の記憶部に相当するＲＡＭ素子３３．制御の基準となる時間を管理するタイマ３４，被制御機器のシーケンス処理のためＯＮ／ＯＦＦデータの入出力を制御するＩ／Ｏインターフェース部３５を代表的な要素として備えている。この１チップＰＬＣ３０はＬＳＩ形状をなしており、基板にはソケット（図示せず）を介して装着されるか、あるいは基板上の導電パターンに直接はんだ付けされる。
【００２６】
図２は、ＥＥＰＲＯＭ素子３２内の格納領域とその格納内容を示している。領域３２１には１ボードＰＬＣの基本的制御を行う制御プログラム（ＯＳ）が格納され、領域３２２にはシーケンス言語を処理するシーケンス制御プログラム、領域３２３にはシーケンスプログラムそのもの、領域３２４には通信制御プログラム、領域３２５にはＰＬＣ固有のＩＤコード、領域３２６にはその他のデータ等が格納されている。なお、固有ＩＤコードについての変更は禁止されており、ソフトウェアまたはソフトウェアとアドレス指定したディジタルスイッチ等のハードウェアとを組合わせてアドレスを指定することにより書き換えることはできない。
【００２７】
図３はＩＤコードの構造を示しており、１バイトのデータ構造を有し、上位４：桁Ｄ７−Ｄ４は、１チップＰＬＣの顧客すなわちユーザーの識別用ＩＤで、さらにその下の３桁Ｄ３−Ｄ１は、そのユーザーの装置毎の識別ＩＤであって、最終桁Ｄ０は、改良されたシーケンスプログラムのレビジョン情報である。各桁は１６進数で表現される。
【００２８】
この例では、ＩＤは、１６進数表記で００３２．００２．１であって、この情報は、００３２ユーザの００２という装置のためのものであって、そのプログラムは１という改変のＩＤを有していることとなる。
【００２９】
また、第２の記憶部であるＲＡＭ素子３３は、ランダムアクセス型で、ＯＳの一時記憶および各種のソフトウエアでの処理用のフラグデータの一時記憶などに使用される。さらに、シーケンス処理プログラム、およびシーケンスデータのＯＮ／ＯＦＦの情報、およびデータ処理用のデータ記憶などの変化するデータのために使用される。またデータ通信用のソフトウエアの一時記憶としても使用される。
【００３０】
通信ポート４０はデータを通信回線に載せ、あるいは通信回線上のデータを受け取るためのもので、この通信ポート４０の一方側にはＰＬＣのＩ／Ｏポートが接続され、他方側には通信回線を介してインターネット１０に接続されている。
【００３１】
第１のコンピュータＰＣ１には、ラダー図の作成が可能なソフトウエアがインストールされており、作成したラダー回路データを１チップＰＬＣ３０のフラッシュメモリ（ＥＥＰＲＯＭ）３２に書き込むことができる。また通信機能を使用し、外部からのデータの転送により、ラダー図データをデータ転送により外部から取り込むことが可能となっている。
【００３２】
メーカ側には、第２のコンピュータＰＣ２が設置されており、ＰＣ１と同様にシーケンスのラダープロマグラムを作成できるプログラムがインストールされており、ラダーシーケンスを作成でき、そのラダー図をデータ転送する機能を有している。
【００３３】
以下、本発明における変更処理の手順につき、図４のフローチャートを参照して詳細に説明する。なお、この変更処理は各コンピュータが起動されており、回線接続機能が正常であることを前提としている。
【００３４】
（１）  データ更新処理例１
この更新処理はユーザ側からの要求により行われるものである。
【００３５】
まず、ユーザ側でシーケンス制御プログラムの変更の必要性が生じた場合、ＰＣ１によりシーケンスプログラムの仮変更を行ない（ステップＳ１０１）、それをＰＣ２へ送出するのためにＰＣ２との間にデータ転送ラインの転送機能確立を行う（ステップＳ１０２）。この転送機能を開始するためにはＰＬＣ固有のパスワードが必要となっている。すなわちユーザ確認のためのＩＤコードまたは名称と、パスワードが使用される。パスワードはメーカ側のコンピュータＰＣ２内に記憶されており、ユーザ側からの転送確立要求に付加されたパスワードを記憶内容と比較して同じであればこの要求を受け付け、転送許可信号を出す。ＰＣ１側ではこの転送許可信号を確認して（ステップＳ１０３）、許可があればシーケンスプログラムの仮変更内容を送信する（ステップＳ１０４）。なお、許可がない場合には処理を終了する。
【００３６】
ＰＣ１からデータ送信を受信した（ステップＳ１１１）メーカ側のＰＣ２では、転送されたＰＬＣのシーケンスプログラム仮変更情報を自己のメモリ部へ格納する。そして、メーカ側では、転送されたＰＬＣのシーケンスプログラム仮変更情報に問題がないかをオペレータあるいは所定の診断プログラムによって確認し（ステップＳ１１２）、問題がなければユーザ側の第１の記憶部に書き込む手順を開始する。すなわち、第１の記憶部へ書き込むためのアセンブルを行い、最終的書き込みデータに変換する（ステップＳ１１３）。このときＰＬＣのＯＳや、通信制御プログラムその他必要な全てのプログラムも送信データとして組み込まれる。なお、シーケンスプログラムの変更はすべてのユーザに適用される場合と、特定のユーザのみに適用される場合とがあり、それぞれの場合に応じて転送先をコンピュータＰＣ２が指定する。
【００３７】
これに対し、ユーザ側から送信されたシーケンスプログラム仮変更内容が妥当でないと判断されたときには、ＰＣ２は変更不可の通知を発し（ステップＳ１１５）、これをＰＣ１側で受信して（ステップＳ１１６）処理を終了する。
【００３８】
ＰＣ２側での変更内容の準備が完了したら、ＰＣ２からＰＣ１ヘデータ転送の要求を行う（ステップＳ１１４）。この転送の際にも書き込み対象のＰＬＣ毎の固有のＩＤコードが使用され、外部からの書き込みには、その固有のＩＤが識別される手順をふむこととなる。このために、コンピュータＰＣ１にインストールされた汎用の書き込みプログラムの中にこのようなＩＤの識別コードを使用する機能を有している。
【００３９】
この転送の際にコンピュータＰＣ１側では転送されるデータの内容を知ることはできない。したがって、ユーザ側でＯＳの内容等についての分析を行うことはできないので、ＯＳの秘密性が保たれる。
【００４０】
データ転送ライン確立後データ転送を行なわれ、変更されたシーケンスプログラムはＰＣ１へ転送され、受信される（ステップＳ１２１）。そして、転送されたデータは、ＰＣ１によりＥＥＰＲＯＭ中の所定のメモリエリアに格納されて書き換えが行われ、変更されたプログラムが有効となる。
【００４１】
このような手法を採用することにより、シーケンスプログラム等の変更を短時間にかつセキュリティ高く行うことができ、しかも全世界に存在するＰＬＣを対象として行うことができる。
【００４２】
（２）  データ更新処理例２
先に説明した更新処理例１はユーザ側からのリクエストに基づくものであったが、この実施の形態においては、メーカ側の一方的な転送によりユーザ側の第１の記憶部を格納内容を強制的に変更するものである。
システムの構成は図１と同じであるが、データの転送手順が第１の実施形態とは異なり、図４のスタート２から始まる。
【００４３】
すなわち、メーカ側の都合でＯＳ等の修正を行いたい場合、コンピュータＰＣ２は変更内容のアセンブルと変換を行い（ステップＳ１１３）、コンピュータＰＣ１に対して、書込指令を発するとともに転送要求を行う（ステップＳ１１４）。
【００４４】
ＰＣ１側では、ＰＣ２からデータを受信し（ステップＳ１２１）、受信内容はＥＥＰＲＯＭ中の所定のメモリエリアに格納されて書き換えが行われ、変更されたプログラムが有効となる（ステップＳ１２２）。
【００４５】
このように、この実施の形態では、ＰＣ１におけるデータ書き換えはＰＣ２によりリモート起動され、実行される。したがって、ユーザ側にこの装置等の電源を入れてもらうことにより、詳細は知られることなく必要なプログラムの変更が行われることから、メーカ側のセキュリティは維持される。
【００４６】
以上の各実施の形態におけるデータ転送ラインは、専用線でも良いが、電気通信回線が一般的である。この電気通信回線としては、高速のデータネットワークとした会社内などのイントラネットを使用し、さらにインターネットヘ接続する方法が通信プロトコルとしてインターネットプロトコル（ＴＣＰＩＰ）形式を用いることができるため、好ましい。
【００４７】
また、上述した実施例では転送されるデータに暗号化は行っていないが、よりセキュリティ性を向上させるため、暗号化するようにしても良い。
【００４８】
暗号化方法も種々のものを用いることがでぎる。例えば、情報データ間の変換マップを使用する方法が挙げられる。これを送信側でコーディングし、受信側でデコードを行なえば良い。又公開鍵方式を使用した暗号化ソフトの利用も可能である。
【００４９】
要するに１チップＰＬＣ側のＯＳ情報、シーケンス処理プログラムやシーケンス命令解読処理手順など秘密にしておきたい部分を、容易に判明できないような情報データを変換する手段があれば良く、秘密にしておきたい情報内容の部分を保護できればどのようなものでも良い。
【００５０】
【発明の効果】
以上述べたように、本発明にかかる方法を採用することで、小型化された１チップ又は１ボードのＰＬＣを組み込んだＰＬＣの読出し専用のメモリ領域に格納されたプログラムあるいはデータを地域的な制約なく、確実に短時間で容易に書きかえることが可能となった。
またこの発明の方法によれば、小型化された１チップＰＬＣを組み込んだＰＬＣのＥＥＰＲＯＭメモリ部のデータを書きかえるために専用ＩＤを用い、パスワードを使用したのでＯＳ内容を開示することなくデータ書き換えが可能となったため、セキュリティの向上を図ることができる。
【図面の簡単な説明】
【図１】本発明にかかるデータ更新方法が適用されるシステム構成を示すブロック図である。
【図２】ＥＥＰＲＯＭ素子内の格納領域とその格納内容を示す説明図である。
【図３】本発明の方法で使用するＩＤコードの構造の一例を示す説明図である。
【図４】本発明にかかるデータ更新方法の処理手順を示すフローチャートである。
【符号の説明】
１０  インターネット
２０  １ボード型ＰＬＣモジュール
３０  １チップ型ＰＬＣ
３１  ＣＰＵ
３２  ＥＥＰＲＯＭ
３３  ＲＡＭ
３４  タイマ
３５  Ｉ／Ｏインターフェース
４０  通信ポート
５０  電源
ＰＣ１  ユーザ側コンピュータ
ＰＣ２  メーカ側コンピュータ
【図１】
2004280653.tif 000003
【図２】
2004280653.tif 000004
【図３】
2004280653.tif 000005
【図４】
2004280653.tif 000006