特許第5696067号(P5696067)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

<>
  • 特許5696067-プログラマブルコントローラ 図000002
  • 特許5696067-プログラマブルコントローラ 図000003
  • 特許5696067-プログラマブルコントローラ 図000004
  • 特許5696067-プログラマブルコントローラ 図000005
  • 特許5696067-プログラマブルコントローラ 図000006
  • 特許5696067-プログラマブルコントローラ 図000007
  • 特許5696067-プログラマブルコントローラ 図000008
  • 特許5696067-プログラマブルコントローラ 図000009
  • 特許5696067-プログラマブルコントローラ 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5696067
(24)【登録日】2015年2月13日
(45)【発行日】2015年4月8日
(54)【発明の名称】プログラマブルコントローラ
(51)【国際特許分類】
   G06F 21/14 20130101AFI20150319BHJP
【FI】
   G06F21/14
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2012-36497(P2012-36497)
(22)【出願日】2012年2月22日
(65)【公開番号】特開2013-171513(P2013-171513A)
(43)【公開日】2013年9月2日
【審査請求日】2014年6月13日
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜特許業務法人
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール特許業務法人
(72)【発明者】
【氏名】酒井 悟史
(72)【発明者】
【氏名】小島 智浩
【審査官】 宮司 卓佳
(56)【参考文献】
【文献】 特開2010−277143(JP,A)
【文献】 特開平01−177610(JP,A)
【文献】 特開2007−122695(JP,A)
【文献】 国際公開第2010/113282(WO,A1)
【文献】 特開平05−233036(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00−21/88
(57)【特許請求の範囲】
【請求項1】
プログラミングツールと通信ケーブルで接続し、
該プログラミングツールで作成したユーザプログラムを該通信ケーブルを介して記憶するプログラマブルコントローラにおいて、
電源モジュール、CPUモジュール及びI/Oモジュールを備え、
該I/Oモジュールは、機能の異なるモジュールで、複数のスロットに任意に実装でき、
前記スロットと実装された前記I/Oモジュールの実装配置の組み合わせ情報をパスワードとしたことを特徴とするプログラマブルコントローラ。
【請求項2】
請求項1記載のプログラマブルコントローラにおいて、
前記プログラミングツールよりユーザプログラムの読み出し指令が送信された場合、前記パスワード情報と前記I/Oモジュールの実装配置情報を照合し一致したらユーザプログラムの読み出しに応答することを特徴とするプログラマブルコントローラ。
【請求項3】
請求項2記載のプログラマブルコントローラにおいて、
前記プログラミングツールよりユーザプログラムの読み出し指令が送信された場合、前記パスワード情報と前記I/Oモジュールの実装配置情報を照合し、一致していなければユーザプログラムの読み出しを拒否し、ユーザプログラムを保護することを特徴とするプログラマブルコントローラ。
【請求項4】
請求項1記載のプログラマブルコントローラにおいて、
前記機能の異なったI/Oモジュールを前記スロットに実装し配置して、該実装配置の組み合わせをパスワードとして設定、登録する場合、スロットにI/Oモジュールを実装しない状態もパスワードとして設定、登録可能としたことを特徴とするプログラマブルコントローラ。
【請求項5】
請求項1記載のプログラマブルコントローラにおいて、
前記機能の異なったI/Oモジュールを前記スロットに実装し配置して、該実装配置の組み合わせをパスワードとして設定、登録する場合、前記CPUモジュールのメモリに記憶することを特徴とするプログラマブルコントローラ。
【請求項6】
プログラミングツールと通信ケーブルで接続し、
該プログラミングツールで作成したユーザプログラムを、該通信ケーブルを介して記憶するプログラマブルコントローラにおいて、
電源モジュール、CPUモジュール及びI/Oモジュールを備え、
該I/Oモジュールは、機能の異なるモジュールで、複数のスロットに任意に実装でき、
該スロットと実装された前記I/Oモジュールの実装配置の組み合わせ情報及び実装手順をパスワードとしたことを特徴とするプログラマブルコントローラ。
【請求項7】
請求項6記載のプログラマブルコントローラにおいて、
前記スロットと前記I/Oモジュールの実装配置の組み合わせ情報及び実装手順をパスワードとするとき、前記I/Oモジュールの実装配置の組み合わせ情報と実装手順を交互に設定し、登録することを特徴とするプログラマブルコントローラ。
【請求項8】
請求項1乃至7記載のプログラマブルコントローラにおいて、
前記パスワードはいつでも変更することができることを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モジュールタイプのプログラマブルコントローラに係り、特にユーザが作成したユーザプログラムを第三者が閲覧できないようにする情報漏洩のセキュリティ機能に関する。
【背景技術】
【0002】
従来、プログラマブルコントローラは、プログラム特にユーザが作成したユーザプログラムの機密保持やプログラマブルコントローラの操作の保護などセキュリティの目的のためパスワード機能を持たせている。
ユーザプログラムは、ユーザすなわち機器メーカとして製造プロセスのノウハウを含んでおり、第三者に絶対に閲覧できないようにパスワードを採用し、プログラムを保護している。
しかし、ソフト的なパスワードは、全通り順次パスワードを入力すれば破られ、パスワードの桁数を多く増やしても自作ソフトで自動化して行なえばやはり破られてしまう。このようにパスワードを用いたセキュリティ機能は、パスワードが一旦漏洩するとセキュリティが保護されないという問題が生じる。
【0003】
一方、キーやドングルといったハード的なセキュリティ機能は、簡単に破られはしないが、離れた地点のプログラマブルコントローラにアクセスする際などにハードキーの輸送を行うため取り扱い性が極めて悪い。また、複製が容易でないため紛失したらパスワードの解除が極めて困難であるという問題がある。
【0004】
特許文献1(特開2007−128172号公報)には、パスワードプロテクト方式を採用したプログラマブルコントローラにおいて、ユーザプログラムの一括読み出し要求コマンド等の解釈実行にプロテクトをかけることにより、正当な権限を有する者以外は、開発支援装置を操作してもプログラマブルコントローラのメモリから勝手にユーザプログラムを読み出せない対策を施し、パスワードの漏洩、盗用、総当たりによる解読等によるプロテクトの不正解除を未然に防止することが記載されている。しかし、特許文献1にはパスワードの構成については開示されていない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−128172号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記したパスワード方式はソフト的な保護であるため、可能なパスワードの全通りを順次入力すれば破られてしまうという問題がある。パスワードの桁数を多くしても全通りの入力を自作ソフト等で自動化してしまえば同じく破られてしまう危険性が高い。
一方、キーやドングルといったハード的な保護手段では、簡単に破られはしないが、離れた地点のPLCにアクセスする際などにハードキーの輸送を伴うため、取り扱い性が極めて悪いことや、複製が容易でないため紛失したらパスワードの解除が困難といった欠点がある。
【0007】
本発明の目的は、ソフト的なパスワード方式は破られ易く、キーやドングルなどのハード的なセキュリティ方式は破られ難いが、使い勝手が悪いため、破られ難く使い勝手が良くセキュリティ性の高いパスワード方式を採用したプログラマブルコントローラを提供する。
【課題を解決するための手段】
【0008】
本発明は、上記目的を達成するため、プログラミングツールと通信ケーブルで接続し、該プログラミングツールで作成したユーザプログラムを該通信ケーブルを介して記憶するプログラマブルコントローラにおいて、電源モジュール、CPUモジュール及びI/Oモジュールを備え、該I/Oモジュールは、機能の異なるモジュールで、複数のスロットに任意に実装でき、前記スロットと実装された前記I/Oモジュールの実装配置の組み合わせ情報をパスワードとしたことを特徴とする。
また、前記のプログラマブルコントローラにおいて、前記プログラミングツールよりユーザプログラムの読み出し指令が送信された場合、前記パスワード情報と前記I/Oモジュールの実装配置情報を照合し一致したらユーザプログラムの読み出しに応答することを特徴とする。
【0009】
また、前記プログラマブルコントローラにおいて、前記プログラミングツールよりユーザプログラムの読み出し指令が送信された場合、前記パスワード情報と前記I/Oモジュールの実装配置情報を照合し、一致していなければユーザプログラムの読み出しを拒否し、ユーザプログラムを保護することを特徴とする。
また、前記プログラマブルコントローラにおいて、前記機能の異なったI/Oモジュールを前記スロットに実装し配置して、該実装配置の組み合わせをパスワードとして設定、登録する場合、スロットにI/Oモジュールを実装しない状態もパスワードとして設定、登録可能としたことを特徴とする。
【0010】
また、前記プログラマブルコントローラにおいて、前記機能の異なったI/Oモジュールを前記スロットに実装し配置して、該実装配置の組み合わせをパスワードとして設定、登録する場合、前記CPUモジュールのメモリに記憶することを特徴とする。
さらに、プログラミングツールと通信ケーブルで接続し、該プログラミングツールで作成したユーザプログラムを、該通信ケーブルを介して記憶するプログラマブルコントローラにおいて、電源モジュール、CPUモジュール及びI/Oモジュールを備え、該I/Oモジュールは、機能の異なるモジュールで、複数のスロットに任意に実装でき、該スロットと実装された前記I/Oモジュールの実装配置の組み合わせ情報及び実装手順をパスワードとしたことを特徴とする。
【0011】
また、前記プログラマブルコントローラにおいて、前記スロットと前記I/Oモジュールの実装配置の組み合わせ情報及び実装手順をパスワードとするとき、前記I/Oモジュールの実装配置の組み合わせ情報と実装手順を交互に設定し、登録することを特徴とする。
また、前記プログラマブルコントローラにおいて、前記パスワードはいつでも変更することができることを特徴とする。
【発明の効果】
【0012】
モジュール自体をキーとして使用するため、キーの紛失や輸送といったハード的なキーの短所を補い、全組み合わせ数を試すにはモジュールの抜き差しを伴うことで時間がかかるため、簡単に全通り入力できるソフト的な保護の短所も補うことができる。さらに、キーとなるモジュールの組み合わせに、通常稼動時に使用しないモジュールを含めることで保護の強度をユーザで自由に上げることができるといった柔軟性もある。
【図面の簡単な説明】
【0013】
図1】本発明のプログラマブルコントローラのプログラム保護のシステムを示す概念図である。
図2】CPUモジュールの内部構成を示す図である。
図3】割付パスワードを設定するためのI/Oモジュールの実装配置の一例を示す図である。
図4】割付パスワードを設定するためのI/Oモジュールの実装配置の別の一例を示す図である。
図5】プログラマブルコントローラのモジュールの実装配置の状態を示す外観斜視図である。
図6】I/Oモジュールが実装されているスロットと、実際に実装されている機能別のI/Oモジュールと、割付パスワードを設定、登録したときのI/Oモジュールの実装配置とを表にした図を示す。
図7】CPUモジュールにおける割付パスワードに対する処理のフローチャートを示す。
図8】プログラミングツールをプログラマブルコントローラとの割付パスワードの概念図を示す。
図9】割付パスワードの別の構成を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面を用いて説明する。
(実施例1)
図1は、本発明のプログラマブルコントローラのプログラム保護のシステムを示す概念図である。
図1において、10はプログラミングツール、14はプログラマブルコントローラ、15は通信ケーブルである。
プログラマブルコントローラ14において、11は電源モジュール、12はCPUモジュール、13はI/Oモジュールで、I/Oモジュール13において、13−1はスロットS0に設置した16点ディジタル入力モジュール、13−2はスロットS1に設置した32点ディジタル出力モジュール、13−3はスロットS2に設置した32点ディジタル入力モジュール、13−4はスロットS3に設置した16点出力モジュール、13−5はスロットS4に設置した64点ディジタル入力モジュールを示している。
CPUモジュール12には、外部との通信が可能なコネクタ端子を有している。
【0015】
モジュールタイプのプログラマブルコントローラは、16点、32点といったI/O点数、ディジタル、アナログといった信号の種類、リレー、トランジスタといった入出力のタイプの違いなどによって数多くの機能の異なる種類のモジュールに分かれており、ユーザは用途に応じて任意のI/Oモジュールを選んで組み合わせて使うタイプのプログラマブルコントローラシステムである。
また、一般的なモジュールタイプのプログラマブルコントローラの各I/Oモジュールは固有の識別情報を持ち、CPUモジュールはそれを読むことで、どのI/Oモジュールが実装されているかがわかる仕掛けとなっている。
【0016】
また、I/Oモジュール13は、各々スロットに挿入されており、容易に外したり実装したりでき、実装する場所も任意に変更することができる。
図5にI/Oモジュールをスロットに挿入するプリグラマブルコントローラ及びI/Oモジュールの斜視図を示す。
図5(a)はI/Oモジュールをスロットに挿入するプログラミングコントローラの状態を示し、I/Oモジュール13−4をスロットS3に挿入している状態を示す。図5(a)において、スロットは、I/Oモジュールとの情報をやり取りする雌型コネクタ30と、I/Oモジュールとの位置合わせのための孔32,33を下側に設け、上側には係止用の孔31を設ける。
図5(b)は、I/Oモジュールを示し、スロットに挿入する側を表面にした斜視図で、スロット側のコネクタ30に対応した雄側コネクタ34と、スロット側の孔32,33に位置合わせのため嵌めこむ突起部36,37と、スロット側の係止用孔にモジュール全体を挿入して係止する係止部35とを有する。
【0017】
プログラミングツール10は、プログラマブルコントローラ4のプログラミングソフトを搭載したパソコンなどである。
一般に、プログラマブルコントローラ4のユーザは、プログラミングツール10によってラダー言語などを用いてプログラムを作成し、プログラミングツール10よりプログラマブルコントローラ4に対してユーザプログラムの書き込みの操作をすることで作成したユーザプログラムを通信ケーブル15を介して、プログラマブルコントローラ14のCPUモジュール12に転送する。
【0018】
図2にCPUモジュール12の内部構成を示す。
図2において、121は外部との通信を行う通信ポート、122は情報の送受を行う通信トランシーバ、123は基本的な演算処理を行うMPUである。124は不揮発性メモリで、ユーザプログラム1240や割付パスワード1241を記憶するところである。割付パスワードについては後述する。
125は実行するプログラムを記憶する実行メモリで、127はASIC(Application Specific Integrated Circuit)でカスタムICとも呼ばれ、ある特定用途のために設計、製造されるICである。126は演算するためのデータを格納するメモリ、128はプログラマブルコントローラのモジュール間を接続するためのバスコネクタである。
【0019】
CPUモジュール内のMPU(マイクロプロセッサ)123はそのプログラムを順次実行することで、機器制御を実現する。逆に、ユーザがプログラミングツールでプログラム読み出しの操作をすることで、稼動しているプログラムをプログラマブルコントローラからプログラミングツール側へ読み出すことができる。
【0020】
図2のCPUモジュール123において、MPU123は不揮発性メモリ124に格納されたユーザプログラム1240を呼び出し、実行メモリ125に書き込み、プログラムを実行して処理する。
また、MPU123で、演算処理するために必要なデータや演算した結果のデータを格納するところがデータメモリ126で、ASIC127を介してデータを書き込んだり呼び出したりする。
さらに、CPUモジュール12は、バスコネクタ128をバスラインに接続し、I/Oモジュールや電源モジュールに接続し情報の送受を行っている。
【0021】
また、MPU123は、通信トランシーバ122を介して通信ポート121より外部装置へ制御信号を送り外部機器を制御する。
プログラミングツールを使用している場合は、パソコンと接続し、作成したユーザプログラムを不揮発性メモリ124に書き込んだりするときに通信ポート121を介して書き込んでいる。
【0022】
また、MPU123は、バスコネクタ128を介してプログラマブルコントローラの各スロットに実装されているI/Oモジュールを読み込むが、スロットの位置と実装されたI/Oモジュールの組合せのことを割付パスワードと呼び、
プログラムを見るあるいは編集する権限のあるユーザはプログラム作成時に、キーとなるI/Oモジュールの組み合わせを登録する。
割付パスワードはI/Oモジュールの実装位置とI/Oモジュールの種別の組み合わせパターンで定義される情報である。
割付パスワードは、実際稼動するI/Oモジュールの組み合わせとは異なる組み合わせにしておくべきである。プログラムがCPUモジュールに転送され、書き込まれる過程で割付パスワードも同時にCPUモジュールの不揮発性メモリに書き込まれる。
【0023】
次に、この割付パスワードについて説明する。
図3及び図4は割付パスワードの一例を示し、図3(a)は図1に示したプログラマブルコントローラを再掲している。
すなわち、図3(a)において、I/Oモジュール13はスロットS0に16点ディジタル入力モジュール13−1を実装し、スロットS1に32点ディジタル出力モジュール13−2を実装し、スロットS2に32点ディジタル入力モジュール13−2を実装し、スロットS3に16点ディジタル出力モジュール13−4を実装し、スロットS4に64点ディジタル入力モジュール13−5を実装しており、このI/Oモジュールを配置した状態で例えばメーカより出荷されたとする。
【0024】
ユーザはI/Oモジュール13を上記の通り容易に取り外すことができ、またスロットの場所を換えて任意に実装することができる。
図3(b)は、図3(a)のメーカ出荷時のI/Oモジュールの配置位置を変更して実装した状態を示す一例である。
すなわち、図3(b)において、スロットS0に16点ディジタル入力モジュール13−1を実装し、スロットS1に64点ディジタル入力モジュール13−5を実装し、スロットS2に32点ディジタル出力モジュール13−2を実装し、スロットS3に32点ディジタル入力モジュール13−3を実装し、スロットS4に16点ディジタル出力モジュール13−4を実装し、I/Oモジュールを配置する。
図3(b)のように、I/Oモジュール13を実装配置し、この実装配置をCPUモジュール12内のMPU123によりスロット位置とI/Oモジュールの種別とを読み込んで、割付パスワードとし、不揮発性メモリ124に格納し記憶する。
【0025】
図4(a)は、I/Oモジュールを増設して、途中のスロットにI/Oモジュールを実装しない状態の配置を示す例である。
図4(a)において、スロットS0に16点ディジタル入力モジュール13−1を実装し、スロットS1に32点ディジタル入力モジュール13−3を実装し、スロットS2に32点ディジタル出力モジュール13−4を実装し、スロットS3にはモジュールを実装しないで、スロットS4に16点ディジタル出力モジュール13−4を実装し、スロット5に64点ディジタル出力モジュール13−6を実装し、スロットS6に4点アナログ入力モジュール13−7を実装した状態を示している。
このように、I/Oモジュールを増設し、途中のスロットS3にI/Oモジュールを実装しない状態で、割付パスワードを設定、登録することも可能である。
【0026】
また、図4(b)は、図4(a)と同様にI/Oモジュールを増設して、途中のスロットにI/Oモジュールを実装しない状態の配置の別の例を示している。
図4(b)において、スロットS0にはI/Oモジュールを実装しないで、スロットS1に64点ディジタル入力モジュール13−5を実装し、スロットS2に16点ディジタル出力モジュール13−4を実装し、スロットS3にはI/Oモジュールを実装しないで、スロットS4には32点ディジタル入力モジュール13−3を実装し、スロットS5に8点アナログ出力モジュール13−8を実装し、スロットS6に4点アナログ出力モジュール13−9を実装し、配置した状態を示している。
図4(b)のように、アナログの入出力モジュールなどを増設して、スロットS0及びスロットS3にはI/Oモジュールを実装しないような配置状態においても割付パスワードを設定、登録することはでき、パスワードとして見破り難くなる。
【0027】
次に、プログラマブルコントローラにI/Oモジュールが実装されている状態を表にしたのが図6である。
図6において、実装スロット位置、実際に実装されているI/Oモジュール及びユーザが登録した割付パスワードについて記載した例を示す。
図6において、スロットS0には16点ディジタル入力モジュールが実際実装され、スロットS1には16点ディジタル出力モジュールが実際実装され、スロットS2には8点アナログ入力モジュールが実際実装され、スロットS3には4点アナログ出力モジュールが実際は実装されているが、ユーザが割付パスワードを設定し登録したときは、スロットS0には8点アナログ入力モジュールが実装され、スロットS1には4点アナログ出力モジュールが実装され、スロットS2には16点ディジタル入力モジュールが実装され、スロットS3にはシリアル通信モジュールが実装されており、割付パスワードを設定し登録した後、I/Oモジュールを配置換えして使用している。
【0028】
次に、CPUモジュールにおけるユーザプログラムのセキュリティのフローチャートについて説明する。
図7は、CPUモジュール12のMPU123において、プログラミングツール10よりユーザプログラムの読み出し指令が送信されたときの処理のフローチャートを示す。
図7において、先ず、プログラム読み出しの指令を受信し(ステップ20)、割付パスワードが設定されているかを判断する(ステップ21)。割付パスワードが設定されていると、実装されているI/Oモジュールの配置と一致しているか判断する(ステップ22)。割付パスワードと実装しているモジュールの配置とが一致すれば、プログラミングツールのプログラム読出しの指令要求に対し応答し、ユーザプログラムを送出する処理を行う(ステップ23)。
また、割付パスワードと実装しているモジュールの配置とが一致していなければ、プログラミングツールのプログラム読み出しに対して拒否の応答を行い、プログラムを送出しない(ステップ24)。
また、割付パスワードが設定されていなければ、プログラムの保護はされていないと判断し、ステップ23にジャンプし、プログラミングツールのプログラム読み出し要求指令に対し、プログラム送出の処理を行う。
【0029】
プログラマブルコントローラのプログラムを読み出しできないように保護するのは、プログラマブルコントローラが実際に機器制御をしている現場で動作している場合である。従って上述したように割付パスワードは実際稼動しているI/Oモジュールの組み合わせとは異なる組み合わせが設定されるべきである。
【0030】
このように不正なプログラム読み出しから保護された状態のプログラマブルコントローラに対して、プログラムの編集権限を持つユーザがプログラムの編集やメンテナンスをする場合は、一度電源を切って実装されているI/Oモジュールの組み合わせを割付パスワードの組み合わせに変更して電源を再投入してからプログラム読み出しをする。そして割付パスワードの設定を一度外してからプログラム転送し、再度電源を落としてI/Oモジュールを実際の組み合わせに戻してから行う必要がある。プログラムの編集・メンテナンスが終了して最後にPLCに転送する際に割付パスワードを設定してからプログラムを転送すると以降は保護状態に戻る。
また保護するのはプログラム読み出しだけではなく、プログラム消去やI/O(データメモリ)情報のモニタに対しても可能である。
【0031】
次に、割付パスワードの設定の有効、無効について図8を用いて説明する。
図8(a)は、割付パスワードが設定無効の場合すなわち設定しない場合のプログラミングツールとプログラマブルコントローラの関係を示す図である。
図8(a)において、プログラミングツール10で作成したユーザプログラムは、プログラマブルコントローラ14のCPUモジュール12の不揮発性メモリ124のプログラムメモリ領域1240に書き込まれる。
また、プログラミングツール10よりプログラマブルコントローラ14に対してユーザプログラムの読み出し要求の指令を送信するとき、割付パスワードの設定を行っていない、すなわち無効の場合、ユーザプログラムを読み出すセキュリティはないすなわち保護なしの状態であるため、読み出しは可能となる。
【0032】
ユーザプログラムの保護は、すべてのプログラムに対して行なうわけではなく、閲覧しても構わない場合もあり、この場合は割付パスワードを設定しない。
【0033】
次に、割付パスワードを設定し、有効の場合を図8(b)に示す。
図8(b)において、プログラミングツール10よりユーザプログラムを作成し、プログラマブルコントローラ14に送信し、メモリに書き込んで格納する。
割付パスワードの設定は、プログラミングツール10を搭載したPCで行い、割付パスワードを設定するとき、プログラマブルコントローラのI/Oモジュールの実装配置を当初の配置より変更して、割付パスワードを設定し登録する。設定した割付パスワードは、ユーザが忘れないように記憶又は記録しておく。
割付パスワードの設定が終了すると、I/Oモジュールの実装配置を再度変更して、割付パスワードの設定のときの配置が分からないようにする。
【0034】
このような状況において、プログラミングツール10よりプログラマブルコントローラ14からユーザプログラムの読み出しが必要な場合、I/Oモジュールの実装配置を、割付パスワードを設定したときと同じ実装配置に変更し、プログラミングツール10よりユーザプログラムの読み出し要求を送信し、割付パスワードと実装されているI/Oモジュールの配置とを一致させ、プログラマブルコントローラのメモリに格納されているユーザプログラムをプログラミングツール10へ送出させ、読み出す。((イ)の場合)
プログラミングツール10では、プログラムを受信した後、再度I/Oモジュールの実装配置を変更し、割付パスワードを設定し直して登録を行ってもよい。
また、割付パスワードの変更はいつでも可能とする。
また、プログラミングツール10よりユーザプログラムの読み出し要求があった場合、割付パスワードとI/Oモジュールの実装配置の組み合わせとが一致しなければ、プログラマブルコントローラ14からプログラミングツール10へのユーザプログラムは送出されない。((ロ)の場合)
従って、ユーザプログラムは保護され、権限を有さない人はプログラムを閲覧することはできない。
【0035】
(実施例2)
次に、本発明の第2の実施の形態について図9を用いて説明する。
図9は、実施例1ではI/Oモジュールの実装配置を割付パスワードと設定しているが、割付パスワードをI/Oモジュールの実装配置と実装手順とを組み合わせて設定し登録することを説明する図である。
図9(a)は、プログラマブルコントローラ14において、左側より電源モジュール11、CPUモジュール12、I/Oモジュール13である16点ディジタル入力モジュール13−1をスロットS0に、64点ディジタル入力モジュール13−5をスロットS1に、32点ディジタル出力モジュール13−2をスロットS2に実装している図を示す。
先ず、図9(a)のI/Oモジュールの実装状態において割付パルスを設定し、登録する。これを割付パスワードの第1ステップとする。
【0036】
次に、図9(b)は、図9(a)のスロットS0の16点ディジタル入力モジュール13−1とスロットS1の64点ディジタル入力モジュール13−5とを交換し変更して、スロットS0は64点ディジタル入力モジュール13−5を、スロットS1は16点ディジタル入力モジュール13−1を実装した状態を示す。
ここで、割付パスワードとして、スロットS0とスロットS1のI/Oモジュールとを交換し変更した点(図9(b)の丸1)を割付パスワードの第2ステップとする。
【0037】
次に、図9(b)に示したI/Oモジュールの実装配置の状態を割付パスワードの第3ステップとする。
さらに、図9(c)に示すように、図9(b)のスロットS1の16点ディジタル入力モジュール13−1とスロットS2の32点ディジタル出力モジュール13−2を交換して、スロットS1は32点ディジタル出力モジュール13−2を、スロットS2には16点ディジタル入力モジュール13−1を実装する。
また、ここで、割付パスワードとしてスロットS1とスロットS2のI/Oモジュールを交換し変更した点(図9(c)の丸2)を割付パスワードの第4ステップとする。
さらに、図9(c)に示したI/Oモジュールの実装配置の状態を割付パスワードの第5ステップとする。
【0038】
上記の割付パスワードの第1ステップから第5ステップまでを設定し登録することにより、より見破られ難いパスワードを設定することが可能となる。
【0039】
また、上記では割付パスワードを設定するために、I/Oモジュールについて説明したが、電源モジュールやCPUモジュールを含めて割付パスワードを設定しても問題はない。
【符号の説明】
【0040】
10‥プログラミングツール、 14‥プログラマブルコントローラ、
15‥通信ケーブル、 11‥電源モジュール、
12‥CPUモジュール、 13‥I/Oモジュール、
13−1‥16点ディジタル入力モジュール、
13−2‥32点ディジタル出力モジュール、
13−3‥32点ディジタル入力モジュール、
13−4‥16点出力モジュール、
13−5‥64点ディジタル入力モジュール
13−6‥64点ディジタル出力モジュール
13−7‥4点アナログ入力モジュール
13−8‥8点アナログ出力モジュール
13−9‥4点アナログ出力モジュール
S0〜S6‥スロット 30‥雌型コネクタ
31‥雄型コネクタ 35‥係止部
図1
図2
図3
図4
図5
図6
図7
図8
図9