説明

PLC構成モジュールのセーブ手段及びロード手段

【課題】 エンドユーザ環境下でのバックアップ機能を維持しつつ、記憶媒体を介した違法コピー防止機能と、セットメーカによる正規品の量産機能とを共存、両立させるPLC構成モジュールのロード手段及びセーブ手段を提供する。
【解決手段】 ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムを前記記録媒体にセーブするPLC構成モジュールのセーブ手段において、前記PLC構成モジュールを識別する機器別の固有情報を埋め込む識別キー付加モード又はその埋め込みを省略する識別キー無付加モードかを読み取る識別手段と、前記識別値が前記付加モードのとき前記固有情報を前記ユーザプログラム内に埋め込む実装手段とを備えたことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブル・ロジック・コントローラ(以下はPLCと記す)の構成モジュールからのセーブ手段及び構成モジュールへのロード手段に関する。
【背景技術】
【0002】
PLCは、製造プラントなどの制御対象システム内にある各種の入力機器及び出力機器と電気的に接続して、シーケンスコントローラとして動作することでファクトリーオートメーション(FA)の中核を担う機能をもつ。
【0003】
すなわち、各種インタフェースモジュール(以下、IOモジュールと記す)を介して入力機器から得たパラメータ情報に基づいて出力機器に対する各種の制御信号を所定タイミングで出力している。この様な制御機能は、PLCのCPUモジュールにロードされているユーザプログラムを繰り返し演算実行することで実現している。
【0004】
一般にPLCのスロット内に実装される構成モジュールとして、CPUモジュールの他に、電源モジュール、IOモジュール、高機能IOモジュールなど各種モジュールが制御対象システムの現状に合わせて実装され、スロット背面のバックプレーンに設けたPLCの内部インタフェースバスを介しモジュール相互間を電気的に接続している。
【0005】
ところで、産業界の分野で広く用いられる汎用シーケンサとしての側面をもつPLCは、同一構成のモジュール群から構成された場合であってもロードされるユーザプログラムの内容次第で、発揮する性能や機能が全く異なる結果となる。
【0006】
特にCPUモジュールは、ユーザプログラムのロードとセーブの機能とを合わせ持ち、CPUモジュールにロードされたユーザプログラムは、PLC全体の構成モジュール群を統括すると共に、シーケンスコントローラとしての機能と性能を決定付ける重要な情報が含まれている。(例えば、特許文献1参照)
【0007】
各種パラメータの処理過程、タイミング仕様詳細、モーション制御に係わるシーケンスアルゴリズムなどの諸機能の実装手法について、逆アセンブル等のリバースエンジニアリングによればノウハウ漏洩の危険がある。
【0008】
さらにPLCには、通常の産業用機器とは異なる特殊な流通事情と運用形態がある。
例えばモジュールを含めたPLCの製造元メーカがPLCを納入する先は、多くの場合中間ユーザ(以下、セットメーカと記す)であり、制御対象システムを所有するエンドユーザに直販ルートで納品されることは稀である。
【0009】
こうしたセットメーカでは、製造プラント等の制御対象システムを構成する各種の産業用設備や自動機及びそれらの運用環境に適合させた然るべきユーザプログラムを作成、より具体的には個別仕様でカスタマイズされた専用制御プログラムを作成した上で、それぞれのエンドユーザに納入される。
【0010】
適切なユーザプログラムを付加されてエンドユーザに納入されたPLCは、制御対象システムを構成する各種の産業用設備や自動機など個別の運転環境と融合し一体化した状態で運用される。一般に、PLCを運用する現場では、管理用コンピュータを共に配備して有線又は無線の通信インタフェースを介しそれぞれのPLCと接続している。
【0011】
PLCを運用する場合に、従来技術に依れば、通信インタフェースを介した管理用コンピュータから或いはメモリカード等の記憶媒体の何れかから、PLC内の構成モジュールに対して所定のユーザプログラムをロードすることができる。
【0012】
記憶媒体としてメモリカードを使用するモジュールでは、モジュールに備え付けのメモリカードスロットを介して当該モジュールにロード済みユーザプログラムについてメモリカードへセーブ操作を実行することができる。
【0013】
このようなセーブ機能は、PLCのモジュールで偶発的に生じた外来の電気的ノイズや、モジュール内部のストレージデバイスで後天的に発生する不良箇所など、ロード済みの記憶領域が何らかのダメージを受けた場合に備えたバックアップ手段として備えられている。
【0014】
メモリカード等に対するセーブ操作Aは、モジュールのパネル面等に設けられたメモリカードスロットに挿入して所定の書き込みコマンドを実行することにより、何枚でも無制限にコピーを生成することができる。
【0015】
ただし、PLC内のモジュールにロード済みユーザプログラム、又はメモリカード等の記録媒体にセーブ済みユーザプログラムの双方については、コンピュータ側へセーブするには所定のパスワードを入力する必要がある。このときのパスワード入力手順が、ユーザプログラムの機密保護の機能を果たしている。
【0016】
すなわち、モジュール内にロード又は記憶媒体へセーブされた実行形式のユーザプログラムは、セーブ操作でコンピュータ側へ一度でも取り込まれてしまうと、逆アセンブルで機械語からラダー言語などの可読データに変換され、セットメーカが工夫を凝らして作成したユーザプログラムのノウハウは容易に解析される。セーブ操作に伴い要求されるパスワードには、こうした事態を防止する機能を持つ。
【0017】
一方で、メモリカード等の記憶媒体に一旦セーブされたユーザプログラムは他のPLCモジュールにも何ら制限無しにロードが可能である。
【0018】
図8はこのようなユーザプログラムを記録した記憶媒体と、他のPLCの間とのロード/セーブを伴うユーザプログラム管理について従来技術が抱える問題点を示している。
【0019】
すなわち図8において、PLC構成モジュールPLC1で実施したセーブ操作Aにより
作成された記憶媒体であるメモリカードMは、PLC1を始め他のPLC構成モジュールPMC2、PMC3、・・・PMCn(nは自然数)に対し無制限にロード操作Bを実施することができる。
【0020】
これは、エンドユーザ環境下では記録媒体を介したロード操作によるユーザプログラムの拡散が防止できないことを意味している。
【0021】
エンドユーザでは、ユーザプログラムを格納する記憶媒体、具体的にはメモリカードMに一旦セーブしてしまえば、PLCの製造元からセットメーカを経ずに直接PLCを購入して順次ロードを行うことで、正規ルートで導入したPLCと同等のセットを再現することができる。
【0022】
従来技術によるセーブ手段及びロード手段では、外部から持ち込んだノートパソコン等のコンピュータをPLC構成モジュールに接続し、ユーザプログラムをアップロードして取り込んでしまうことについて、パスワードによる予防策が施されている。
【0023】
ところが、記憶媒体を介し実行形式レベルでモジュールからモジュールへとプログラムを移植する、図8に示す様なエンドユーザ環境におけるデッドコピーの作成操作については何らの対策も施されていない。
【0024】
このため、セットメーカの製品であるユーザプログラムについて、違法な複製品が海賊版PLC構成モジュールとして市場で増殖する危険がある。
【0025】
この様なPLC構成モジュールのユーザプログラムの機密保持又は著作権の保護に係わる従来技術として例えば、以下の文献がユーザプログラムの全部又は所定の一部について、読み出し禁止手段によるプロテクト機能を開示している。
【0026】
【特許文献1】特許 第3548829号 特許文献1の発明は、PLCを構成するユニット(本願ではモジュールと記している)にユーザプログラムを記憶する第1の記憶手段と、アップロードする外部機器のアクセスを禁止した第2の記憶手段を備え、それぞれの記録領域に対応するユーザプログラム実行手段を個別に備えることで読み出しをプロテクトする。
【0027】
しかしながら、特許文献1の発明では記憶媒体を介し実行形式レベルでモジュールからモジュールへとプログラムを移植する、いわゆるエンドユーザ環境におけるバックアップ機能を悪用したデッドコピーの作成操作については何らの対策も施されていない。(図8参照)
【0028】
また一方でセットメーカの立場では、エンドユーザ納品用の正規品PLCを量産する際に、生産作業の効率と利便性向上を図る必要から、正規品の量産機能としてメモリカード等の記憶媒体を介した複数PLC構成モジュールへの一括若しくは連続ロードが要望されている。
【発明の開示】
【発明が解決しようとする課題】
【0029】
従って本発明が解決しようとする課題は、エンドユーザ環境下でのバックアップ機能を維持しつつ、記憶媒体を介した違法コピー防止機能と、セットメーカによる正規品の量産機能とを共存、両立させるPLC構成モジュールのロード手段及びセーブ手段を提供することである。
【課題を解決するための手段】
【0030】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムを前記記録媒体にセーブするPLC構成モジュールのセーブ手段において、前記PLC構成モジュールを識別する機器別の固有情報を埋め込む識別キー付加モード又はその埋め込みを省略する識別キー無付加モードかを読み取る識別手段と、前記識別値が前記付加モードのとき前記固有情報を前記ユーザプログラム内に埋め込む実装手段とを備えたことを特徴とするPLC構成モジュールのセーブ手段である。
【0031】
セーブ手段が、このような識別手段と実装手段とを備えることによって、識別キー付加モードのとき当該構成モジュールのみが持つ固有情報をユーザプログラム内に埋め込んでからセーブすることができる。このため請求項1の発明によれば、記憶媒体にセーブされたユーザプログラムの内容からセーブが実施されたPLC構成モジュールを唯一特定する効果を得る。
【0032】
請求項2記載の発明は、請求項1記載のPLC構成モジュールのセーブ手段であって、 前記識別手段は、前記PLC構成モジュールに設けた前記識別キー付加モードと前記識別キー無付加モードとを切換える設定スイッチの既定値を読み取ることを特徴とする。
【0033】
この請求項2の発明によれば、エンドユーザによる運用環境下にあっては識別キー付加モードに設定スイッチを切り換えてから出荷することにより記憶媒体を介した不正コピーを防止できる。セットメーカの立場にあっては、多数のPLC構成モジュールで識別キー無付加モードに設定すると、記憶媒体のみを介したユーザプログラムの直接ロードが効率よく実施でき作業環境と利便性を向上させる。
【0034】
更に、PLC構成モジュールに前記設定スイッチを設けたことにより、識別キー付加モードと無付加モードとの切換操作を当該PLC構成モジュール単体で実施できる。
【0035】
請求項3記載の発明は、請求項1記載のPLC構成モジュールのセーブ手段であって、
前記PLC構成モジュールに付与されたMACアドレス値または製造番号であることを特徴とする。
【0036】
この請求項3の発明によればこのような固有情報を使用することによって、個々のPLC構成モジュール毎の固体識別を保障することができる。
【0037】
請求項4記載の発明は、請求項1から請求項3までに記載のPLC構成モジュールのセーブ手段であって、前記プロテクションキーは、前記ユーザプログラムのソースリストに埋め込むことを特徴とする。
【0038】
この請求項4の発明によれば、ユーザプログラムへのプロテクションキーの埋め込みは、ユーザプログラム実行時にも何らの機能性能の低下を伴うこと無く、しかもアセンブル後の実行形式ファイル容量にも影響しない。
【0039】
請求項5の発明は、請求項1に記載のPLC構成モジュールのセーブ手段であって、前記固有情報が埋め込まれた前記ユーザプログラムを機械語に変換する機械語変換手段を更に備えたことを特徴とする。
【0040】
この請求項5記載の発明によれば、プロテクションキーである固有情報を埋め込んだ後に更に実行形式のバイナリファイル形式に変換することで、プロテクションキーの存在をさらに秘匿する効果が得られる。
【0041】
請求項6記載の発明は、ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムのロードを実行する、PLC構成モジュールのロード手順において、前記ユーザプログラムの不正ロードを防止するプロテクションキーの有無をチェックする検出手段と、前記プロテクションキーが有ることを検出した場合に前記PLCモジュールを識別する機器別の固有情報と比較する照合手段とを備え、前記プロテクションキーと前記固有情報とが一致した場合に前記記録媒体からのロードを許可することを特徴とするPLC構成モジュールのロード手段である。
【0042】
ロード手段が、このような検出手段と照合手段とを備えることによって、PLC構成モジュールの固有情報をユーザプログラム内に埋め込んでから記憶媒体にセーブされたプロテクションキーの検出と照合を行うことができる。このため請求項6の発明によれば、記憶媒体にセーブされたユーザプログラムの内容から、そのセーブが実施されたPLC構成モジュールを唯一特定する効果を得る。
【0043】
請求項7記載の発明は、請求項6に記載のPLC構成モジュールのロード手段であって、前記検出手段は、前記記憶媒体にセーブされている前記ユーザプログラムに基づき前記プロテクションキーの有無を検出することを特徴とする。
【0044】
この請求項7の発明によれば、プロテクションキーの存在は記憶媒体にセーブされたユーザプログラムのみで検出できる。
【0045】
請求項8記載の発明は、請求項6及び請求項7に記載のPLC構成モジュールのロード手段であって、前記検出手段は、前記記憶媒体にセーブされている前記ユーザプログラムをプログラム言語に変換する機械語逆変換手段を更に備えたことを特徴とする。
【0046】
請求項9記載の発明は、請求項6に記載のPLC構成モジュールのロード手段であって、前記照合手段は、前記プロテクションキーと前記固有情報とを比較して一致を検出することを特徴とする。
【0047】
この請求項8及び請求項9の発明によれば、プロテクションキーの存在を実行形式のバイナリ形式から可読のプログラム言語に変換して、プロテクションキーである固有情報を効果的に検出できる。
【0048】
請求項10記載の発明は、請求項6に記載のPLC構成モジュールのロード手段であって、前記固有情報は、前記PLC構成モジュールに付与されたMACアドレス値または製造番号であることを特徴とする。
【0049】
この請求項10の発明によれば、プロテクションキーの作用をもつ固有情報として確実にPLC構成モジュールの単体を識別する効果を得られる。
【0050】
請求項11記載の発明は、前記PLC構成モジュールを識別する機器別の前記固有情報を、前記ユーザプログラムに埋め込む実装手段を更に備えたことを特徴とする請求項6記載のPLC構成モジュールのロード手段である。
【0051】
この請求項11の発明によれば、PLC構成モジュール側へユーザプログラムをロードする際にも、設定手段と実装手段とを備えることによって、識別キー付加指定のとき当該構成モジュールのみが持つ固有情報をユーザプログラム内に埋め込んでからロードする。
【0052】
このため、PLC構成モジュール内部のストレージデバイス具体的には内蔵フラッシュメモリ及びROMデバイスに対し、ユーザプログラムを最初にロードする出荷の段階から、プロテクションキーを予め埋め込むことができる。
【0053】
請求項12に記載の発明は、請求項11に記載のPLC構成モジュールのロード手段であって、前記実装手段は、前記固有情報を前記ユーザプログラムのソースリスト内に埋め込むことを特徴とする。
【0054】
この請求項12の発明によれば、PLC構成モジュールにロードしたユーザプログラムへのプロテクションキーの埋め込みは、ユーザプログラム実行時に何らの機能性能の低下を伴うこと無く、しかもアセンブル後の実行形式ファイル容量にも影響しない。
【発明の効果】
【0055】
本発明によれば次のような効果がある。
請求項1,2,3,4、及び請求項5の発明によれば、PLC構成モジュールで行うセーブを施す記録メディアについて識別キー付加モードと識別キー無付加モードとを選択スイッチによって選択する、PLC構成モジュールを提供する。
【0056】
さらに識別キー付加モード時に付加されるプロテクションキーはPLC構成モジュールが備える個別情報に基づきソースリストに組み込まれるので、キー付加済みのユーザプログラムをロードした場合であっても、ファイル容量の増減は勿論、機能面においても制御対象システムの運用上何ら支障は生じない。
【0057】
請求項6、7、8、9及び請求項10の発明によれば、PLC構成モジュールで行う記録メディアを介したロード操作について、前記プロテクションキーの検出手段と、前記固有情報の照合手段と、ロード実行手段とで構成されたロード手段を提供する。
【0058】
こうしたセーブ機能を備えたPLC構成モジュールと、ロード手段を組み合わせて運用することにより、エンドユーザ環境にあってはユーザプログラムがセーブされたメモリカード等の記録メディアへのバックアップサービス機能を温存しつつ、他のPLC構成モジュールに対しての不正なデッドコピーを防止することができる。
【0059】
一方、セットメーカにおいては、ロード対象のPLC構成モジュールの設定スイッチを識別キー無付加モードに設定しておくことにより、メモリカード等の記録メディアを介したロード作業を多数のPLC構成モジュールに効率良く処置できる。これにより、エンドユーザへ納品するPLC構成モジュールの量産が短時間で行える効果がある。
【0060】
すなわち、セットメーカがPLC構成モジュールをエンドユーザに一括納入する際に、同一ユーザプログラムを大量ロードする作業の利便性を図ると共に、エンドユーザ環境下で個別バックアップ機能を温存しつつ、デッドコピーの防止を両立するPLCを提供できる。
【0061】
この請求項11及び請求項12の発明によれば、ユーザプログラムをロードする際にも、当該PLC構成モジュール自体のみが持つ、機器別の固有情報をソースリスト内へ埋め込んでからロードする。
【0062】
このためロード手段単独のみで、プロテクションキー埋め込み機能と、プロテクションキーによる不正コピー防止機能とを統合運用することができる。
【0063】
即ち、ロード手段によってプロテクションキーが埋め込まれたPLC構成モジュールでは、セーブ操作の際に単純にメディアへコピーするだけで、当該メディアには自ずとかつ必然的にプロテクションキーが埋め込まれる結果となる。
【0064】
この様に、PLC構成モジュールにロード済みのユーザプログラム自体に最初からプロテクションキーの埋め込みを図ったことから、エンドユーザ環境下にあって確実にデッドコピーが防止される効果がある。
【発明を実施するための最良の形態】
【0065】
以下に実施例を用いて本発明を説明する。
図1は本発明に係るPLC構成モジュールのセーブ手段及びロード手段の構成例を示しておりAはセーブ手段、Bはロード手段に対応している。
【0066】
図1Aのセーブ手段は、識別手段1、実装手段2、機械語変換手段3、書き込み手段103Aで構成している。
【0067】
一方図1Bのロード手段は、読み込み手段103B、逆機械語変換手段7、検出手段8、照合手段9および処理手段10で構成している。
【0068】
図2は、図1Aに対応するPLC構成モジュールを含む機能ブロック図である。本発明のセーブ手段を構成するPLC構成モジュール内のCPUを含む各種ハードウェア資源と、そのCPUの実行用に記述されたソフトウェアプログラムの対応を示している。
【0069】
図2において、予め実装されている管理用ソフトウェアであるファームウェア100Aは、PLC構成モジュール内にあるフラッシュメモリ等のストレージデバイスである第1記憶手段101にロードされて、CPU102によって実行されている。
【0070】
ファームウェア100Aには、図1Aのセーブ手段を構成する識別手段1、実装手段2、機械語変換手段3に相当するアセンブラ等がそれぞれユーティリティ或いは個別ソフトウェアプログラムとして実装されている。
【0071】
設定スイッチ4は、図2の実施例ではPLC構成モジュールのプリント基板上或いは表面パネル等に設けたDIPスイッチを用いている。識別手段1は具体的にはCPU102の周辺I/Oアクセスポートと、その値の読み込みと結果判定を行うソフトウェアのプログラムであり、設定スイッチ4の既定値オン又はオフの状態をCPU102で判定している。
【0072】
図1及び図2に例示したPLC構成モジュールでは、記録媒体としてメモリカードMを用いているため、カードリーダ・ライタ103を備えている。図2は、CPU102によりカードリーダ・ライタ103を制御することを示している。
【0073】
第2記憶手段104は、ファームウェア100Aをロードしている第1記憶手段101とは別のストレージデバイスある。管理対象システムの制御手順に係るユーザプログラム5をロードし、画面表示を伴う編集やライブラリ化など管理作業に用いている。
【0074】
第2記憶手段104は、識別手段1、具体的にはCPU102からアクセスして読み取れる構成としている。即ち第2記憶手段104内に格納してあるユーザプログラム5は、ファームウェア100のソフトウェアプログラム群の一つである実装手段1によって参照される。
【0075】
個別情報6は、本PLC構成モジュールに固有の識別情報が格納されている。識別情報としてMACアドレス値を用いる場合、固有情報6は、ファームウェア100の内部に属する。
【0076】
一方、識別情報として製造シリアル番号値等を用いる場合は、実装手段2、具体的にはCPU102から読み取れることを条件に、周辺I/Oアクセスポートとして本PLC構成モジュールに属するハードウェア資源内の何処に設けても良い。
【0077】
入出力部105は、本PLC構成モジュールに付帯する入出力デバイスである。キーボード、タッチパネル等の各種入力部及び、LED、表示パネル等の各種出力部を表している。
【0078】
図3は、図1Bに対応する機能ブロック図である。ロード手段として本発明を実施したPLC構成モジュール内のCPUを含む各種ハードウェア資源と、そのCPUの実行用に記述されたソフトウェアプログラムの対応を示している。
【0079】
図3において、予め実装されている管理用ソフトウェアであるファームウェア100Bは、PLC構成モジュール内にあるフラッシュメモリ等のストレージデバイスである第1記憶手段101にロードされて、CPU102によって実行されている。
【0080】
ファームウェア100Bには図1Bのロード手段を構成する、逆機械語変換手段7に相当する逆アセンブラ、検出手段8、照合手段9、処理手段10が、各々個別ソフトウェアモジュール単位又はプログラムとして実装されている。
【0081】
ここで図3の中で図2と同一記号の構成要素は、同一機能をもった手段であるから再度の説明は省略する。
【0082】
次に図1A,図1B、図2、図3に示した本発明の実施例である、セーブ手段とロード手段及びそれら相互の関係を詳細に説明する。
【0083】
セーブ手段では、PLC構成モジュールの第2記憶手段104にあるユーザプログラム5を記憶媒体にバックアップする場合、メモリカードMのカードリーダ・ライタへの挿入によって開始する。更に、合わせて入出力部105から所定のセーブ実行命令をCPU102に与えても良い。
【0084】
このとき識別手段1では設定スイッチ4の既定値を読み込んで設定スイッチ4がオンのとき、実装手段2を実行する。
【0085】
実行手段2では、第2記憶手段104内のユーザプログラム5のファイルと、個別情報6の値を読み込む。
【0086】
ユーザプログラム5のソースリスト中で、レジスタや即値に相当するオペランド部分、またはラベル箇所など、所定の位置へ個別情報6の値の埋め込みを実行する。埋め込みに際して、安全を期して個別情報6の値に基づくスクランブルや暗号化など適宜に二次加工を施しても差し支えない。
【0087】
固有情報6又はその二次加工データの埋め込み箇所には、ユーザプログラム5のソースリスト内で制御対象システムの制御アルゴリズムや実行内容、応答速度には直接関わらず、動作にも影響しない無関係かつ無害なオペコード位置及びそのオペランドが慎重に選定される。
【0088】
続いて機械語変換手段3では、実装手段2によって固有情報6又はその二次加工データが埋め込まれたユーザプログラムを実行形式であるバイナリファイル形式の機械語に変換する。本実施例では、機械語変換手段3としてファームウェアに備えたユーティリティ・ソフトであるアセンブラを使用している。
【0089】
機械語に変換されたユーザプログラムは、書き込み手段103Aを介して記憶媒体であるメモリカードMへセーブされる。本実施例では、書き込み手段103Aとしてはカードリーダ・ライタ103を用いている。
【0090】
識別手段1において、読み込んだ設定スイッチの規定値がオフであった場合は個別情報6の埋め込みは行わず、現行のユーザプログラム5を機械語に変換してから書き込み手段103Aを介して記憶媒体であるメモリカードMへセーブする。
【0091】
一方のロード手段では、ユーザプログラムが格納されたメモリカードMを本発明が実施されたPLC構成モジュールのカードリーダ・ライタ103に挿入する。ロード手順の開始には、さらに続けて入出力部105から所定のロード実行命令をCPU104へ入力しても良い。
【0092】
カードリーダ・ライタ103である図1Bの読み込み手段103Bから読み出された、機械語のデータは、逆機械語変換手段7である逆アセンブラによって処理され、可読ファーマットのソースプログラムに変換される。
【0093】
検出手段8では、ソースプログラム形式に変換されたユーザプログラム中から、セーブ手段である実装手段2によって埋め込まれた、固有情報6又はその二次加工データの有無を検出する。
【0094】
検出手段8がソースリスト中に固有情報又はその二次加工データの存在を検出した場合、照合手段9は当該PLC構成モジュール自体が備えている固有情報6、又はその二次加工データとの比較照合を行う。
【0095】
比較の結果、値が一致するとなれば、このとき挿入された記憶媒体であるメモリカードMは、設定スイッチ4がオン状態のときに当該PLC構成モジュールでかつてセーブされ作成された記録媒体であることを示している。
【0096】
反対に比較の結果、一致しなければ、このとき挿入された記憶媒体であるメモリカードMのユーザプログラムは、他の個体のPLC構成モジュールによるセーブされたことを示している。
【0097】
比較照合の結果、一致した場合には、処理手段10はメモリカードMに格納されていたユーザプログラムについて内蔵のストレージデバイスへのロードを許可する。本実施例では図3の様に、第2記憶手段のメモリ領域に逆アセンブルしたユーザプログラムを転送する場合を示している。
【0098】
ユーザプログラムは可読のソースリスト形式に変換済みであるから第2記憶手段では、再編集や画面表示等のCPU102を介したオフライン作業領域として提供されている。もちろんロードしたユーザプログラムはCPU102による即時実行を前提に、実行形式のバイナリファイル形式のままで、第1記憶手段内にあるファームウェア100領域以外の所定の実行開始番地へロードしてもよい。
【0099】
併せて処理手順10では、入出力部105を介して指定されたロード操作が正常終了した旨をオペレータに通知する。
【0100】
一方、比較照合の結果不一致であった場合は、メモリカードMに記録されたユーザプログラムのモジュール内へのロードを許可しない。照合手段9では、指定されたロード操作は許可されなかった旨を、入出力部105を介してオペレータに通知する。
【0101】
すなわち、図2に例示するセーブ手段で設定スイッチ4をオン設定にしてから記憶媒体へのセーブを実施すると、その記憶媒体はセーブ操作を行ったPLC構成モジュール以外の個体ではロードすることができない。
【0102】
これは実装手段2によって個体を識別する個別情報6をユーザプログラム5内に埋め込んだ後からセーブするためであり、ロード操作に対して不正コピーを検出しこれに対するプロテクションキーとして作用する。
【0103】
図3に例示したロード手段では、検出手段8がプロテクションキーとしての個別情報6またはこれに基づく二次加工情報の有無を必ず検査し、プロテクションキーが埋め込まれている場合には固有情報との照合が行われて記録媒体の出自を検証する。
【0104】
図4は、図2に例示するセーブ手段で設定スイッチ4をオフ、すなわちプロテクションキーを無しにしてから記憶媒体であるメモリカードMへセーブ操作Aをした場合、ロード操作Bの他PLC構成モジュールに対する作用を示している。
【0105】
図4においてPLC構成モジュールであるPLC1でセーブされたメモリカードM0は、他のPLC構成モジュールであるPLC2、3、4・・・n(nは自然数)についてもすべてロードが許可される。
【0106】
一方図5では、図2に例示するセーブ手段で図4の状態とは逆に設定スイッチ4をオン、すなわちプロテクションキーを有りにしてから記憶媒体であるメモリカードMへセーブ操作Aをした場合の、他PLC構成モジュールに対するロードB操作の不正ロードプロテクション作用を示している。
【0107】
ここで不正ロードとは、記憶媒体に対するセーブ操作を実施したPLC構成モジュール個体以外の機器に対して、その記憶媒体を用いてロード操作を行う行為をいう。
【0108】
図5において示される様にPLC構成モジュールであるPLC1でセーブされたメモリカードM1は、PLC1以外のPLC構成モジュールでは不正ロードであり許可されない。他のPLC構成モジュールであるPLCn(nは自然数)についても、同一個体であるPLCn(nは自然数)以外でのロード操作Bが許可されない。
【0109】
本発明のセーブ手段及びロード手段を同一PLC構成モジュールに併せて実装することで、記憶媒体に記録するプログラム動作とファイル容量に何ら影響を及ぼすこと無しに、セーブ操作を実施したモジュール個体の識別子である固有情報6を埋め込んでこれを不正ロードの試みに対してのプロテクションキーとして作用させている。
【0110】
この様にPLC構成モジュールにおいて、図4に相当する設定スイッチオン状態と図5に相当する設定スイッチオフ状態とを適宜切換えることにより、セットメーカ環境下でのユーザプログラムの大量一括ロードと、エンドユーザ環境下での他PLC構成モジュールへのユーザプログラム拡散、即ち不正ロードの防止効果とを両立することができる。
【0111】
また設定スイッチ4は、図2の実施例によるDIPスイッチ或いはスライドスイッチやロータリスイッチ等の機械的な切換えに替わり、例えばCPU102から読み込みが可能である単なる1ビット以上のレジスタで構成されたI/Oポートを用いてもよい。
【0112】
例えば、このレジスタに1をライトしたとき設定スイッチ4オフ状態、デフォルト値である0をライトしたときオン状態と定義する。
【0113】
セットメーカによる正規品の量産の際は、ソフトウェアのみでプロテクションキー解除操作を簡単に実施できる。即ちロード手順の最初のステップに、設定スイッチ4のI/Oアクセスポートに1をライトする1行を追加することで実施できる。
【0114】
更にPLC構成モジュールの電源オフに伴い、設定スイッチ4のI/Oアクセスポートは初期状態である値0、即ちプロテクションキーの付加設定状態へ自動的に復帰する。本レジスタ番地が判明しない限りエンドユーザ環境下ではプロテクションキー解除は不可能とすることができる。
【0115】
図6は、PLC構成モジュールのロード手段について管理用コンピュータHを介してのソフトウェアダウンロードを伴う遠隔操作で一括して行う場合の実施例を示している。
【0116】
即ちユーザプログラムをロードする時点で、識別キーの付加指定を行い当該PLC構成モジュール自体のみが持つ、機器別の固有情報をソースリスト内へ予め埋め込んでロード操作を実行する。
【0117】
このためロード手段単独で、プロテクションキー埋め込み機能と、プロテクションキーによる不正コピー防止機能とを一元化することができる。以下、この様なプロテクションキーを埋め込んで行うロード操作を、図1B、図3、4,5で示したロード操作Bと区別して、ロード操作BPと記す。
【0118】
即ち、ロード操作BPによってプロテクションキーが埋め込まれたPLC構成モジュールでは、セーブ操作の際に単純にメディアへコピーするだけで、当該メディアには自ずとかつ必然的にプロテクションキーが埋め込まれる結果となる。
【0119】
この様に、PLC構成モジュールにロード済みのユーザプログラム自体に、予めプロテクションキーの埋め込みを行ったことから、エンドユーザ環境下にあっては確実にデッドコピーが防止される効果がある。図6の実施例は、セーブ操作Aにおいてプロテクションキー埋め込みを回避する手段を与えないためである。
【0120】
図6では、PLC構成モジュールにロードするユーザプログラム自体に、最初からプロテクションキーの埋め込みを図る実施例を示している。
【0121】
管理用コンピュータHは、各PLC構成モジュールPMC1、PMC2、PMC3・・・PMCn(nは自然数)にユーザプログラムを一斉又は順番にダウンロードしてロード操作BPを実施する。
【0122】
各PLC構成モジュールでは、各々にて実施されるロード操作BPを通して、例え元は同一のユーザプログラムであっても、内部の記憶領域へ記録される過程で当該PLC構成モジュール自体のみが持つ、機器別の固有情報をソースリスト内へ予め埋め込んだ状態としてロード操作が実行される。
【0123】
従って、これらのロード操作BPを受けた各PLC構成モジュールで、セーブ操作Aを実施すると、生成される各記憶媒体のメモリカードM1、M2、M3・・・・Mn(nは自然数)では、必然的にプロテクションキーが埋め込まれる。
【0124】
この結果、これらのメモリカードMn(nは自然数)を用いる場合に、同一個体であるPLCn(nは自然数)以外でのロード操作Bが許可されない。すなわちセーブ操作Aによって生成される記録媒体では同一個体であるPLCn(nは自然数)へのバックアップ機能のみが有効となり、一切の不正コピーが防止される。
【0125】
図7は、図6に対応したロード操作BPを実行するPLC構成モジュールの構成例を示している。図7において同一記号の構成要素は、図1の構成と同一作用をもつため詳細説明は省略する。
【0126】
図7の実施例では管理用コンピュータHを介したロード操作BPのとき、実装手段2及びアセンブラである機械語変換手段3によって第二記憶手段104へのロードを実行している。勿論、記憶手段104へロードする際には機械語変換手段3はスキップしても差し支えない。また同時に、他のストレージデバイス具体的には内蔵のフラッシュメモリ及びROMデバイスにもロードされている。
【0127】
また、図7に示す様に、ロード操作BPは管理用コンピュータHを介して実行する替わりにカードリーダ・ライタ103に挿入されたメモリカードを介して実行することも可能である。その場合は、カードリーダ・ライタ103からの読み出しデータ出力を実装手段2へと接続する。
【0128】
以上説明した様に本発明によれば、エンドユーザ環境下でメモリカード等の記憶媒体を介した違法デッドのコピー防止機能と、エンドユーザが必要とするバックアップ機能との両立が可能なPLC構成モジュールのロード手段及びセーブ手段を提供できる。更にはセットメーカ環境にあってはユーザプログラムの大量一括ロードを可能にし、量産時の作業利便性を向上させることができる。
【図面の簡単な説明】
【0129】
【図1】本発明のセーブ手段及びロード手段の両実施例のフローチャートである。
【図2】本発明の図1に対応するセーブ手段の機能ブロック図の構成例である。
【図3】本発明の図1に対応するロード手段の機能ブロック図の構成例である。
【図4】本発明の図1、図2、図3に対応したセーブ手段及びロード手段で設定スイッチをオフにした場合の、セーブ操作Aとロード操作Bとの対応を示す図である。
【図5】本発明の図1、図2、図3に対応したセーブ手段及びロード手段で設定スイッチをオンにした場合の、セーブ操作Aとロード操作Bとの対応を示す図である。
【図6】本発明のロード操作BP、セーブ操作A、ロード操作Bの各対応を示す図である。
【図7】本発明の図6に対応する、ロード操作BPを実施した場合の構成例である。
【図8】従来のセーブ手段及びロード手段を用いた場合の、セーブ操作Aとロード操作Bの対応を示す図である。
【符号の説明】
【0130】
1 識別手段
2 実装手段
3 機械語変換手段
4 設定スイッチ
5 ユーザプログラム
6 個別情報
7 機械語逆変換手段
8 検出手段
9 照合手段
10 処理手段
100 ファームウェア
101 第1記憶手段
102 CPU
103 カードリーダ・ライタ
104 第2記憶手段
105 入出力部

【特許請求の範囲】
【請求項1】
ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムを前記記録媒体にセーブするPLC構成モジュールのセーブ手段において、
前記PLC構成モジュールを識別する機器別の固有情報を埋め込む識別キー付加モード又はその埋め込みを省略する識別キー無付加モードかを読み取る識別手段と、
前記識別値が前記付加モードのとき前記固有情報を前記ユーザプログラム内に埋め込む実装手段と、
を備えたことを特徴とするPLC構成モジュールのセーブ手段。
【請求項2】
前記識別手段は、前記PLC構成モジュールに設けた前記識別キー付加モードと前記識別キー無付加モードとを切換える設定スイッチの既定値を読み取ることを特徴とする請求項1に記載のPLC構成モジュールのセーブ手段。
【請求項3】
前記固有情報は、前記PLC構成モジュールに付与されたMACアドレス値または製造番号であることを特徴とする請求項1に記載のPLC構成モジュールのセーブ手段。
【請求項4】
前記実装手段は、前記固有情報を、前記ユーザプログラムのソースリスト内に埋め込むことを特徴とする請求項1から請求項3までに記載のPLC構成モジュールのセーブ手段。
【請求項5】
前記固有情報が埋め込まれた前記ユーザプログラムを機械語に変換する機械語変換手段を更に備えたことを特徴とする、請求項1に記載のPLC構成モジュールのセーブ手段。
【請求項6】
ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムのロードを実行する、PLC構成モジュールのロード手順において、
前記ユーザプログラムの不正ロードを防止するプロテクションキーの有無をチェックする検出手段と、
前記プロテクションキーが有ることを検出した場合に前記PLCモジュールを識別する機器別の固有情報と比較する照合手段とを備え、
前記プロテクションキーと前記固有情報とが一致した場合に前記記録媒体からのロードを許可することを特徴とするPLC構成モジュールのロード手段。
【請求項7】
前記検出手段は、前記記憶媒体にセーブされている前記ユーザプログラムに基づき前記プロテクションキーの有無を検出することを特徴とする請求項6に記載のPLC構成モジュールのロード手段。
【請求項8】
前記検出手段は、前記記憶媒体にセーブされている前記ユーザプログラムをプログラム言語に変換する機械語逆変換手段を更に備えたことを特徴とする請求項6及び請求項7に
記載のPLC構成モジュールのロード手段。
【請求項9】
前記照合手段は、前記プロテクションキーと前記固有情報とを比較して一致を検出することを特徴とする請求項6に記載のPLC構成モジュールのロード手段。
【請求項10】
前記固有情報は、前記PLC構成モジュールに付与されたMACアドレス値または製造番号であることを特徴とする請求項6に記載のPLC構成モジュールのロード手段。
【請求項11】
前記PLC構成モジュールを識別する機器別の前記固有情報を、前記ユーザプログラムに埋め込む実装手段を更に備えたことを特徴とする請求項6記載のPLC構成モジュールのロード手段。
【請求項12】
前記実装手段は、前記固有情報を、前記ユーザプログラムのソースリスト内に埋め込むことを特徴とする請求項11に記載のPLC構成モジュールのロード手段。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−106998(P2006−106998A)
【公開日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−290929(P2004−290929)
【出願日】平成16年10月4日(2004.10.4)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】