(57)【特許請求の範囲】
【請求項１】
プロセッサと、ユーザプログラムが格納された第１メモリと、前記ユーザプログラムの複数の更新データが格納される、内蔵型あるいは着脱可能な第２メモリとを備えたプログラマブルコントローラであって、
前記第２メモリの記憶容量は、前記第１メモリの記憶容量よりも大きく、
前記プロセッサは、
当該プログラマブルコントローラに接続する操作装置からの前記更新データの転送指示を受けて前記転送指示が有効であるか無効であるかを判断し、
前記転送指示が有効であると判断した場合に、(i)前記第２メモリの複数の更新データのうち、前記操作装置への入力時に選択された、前記第２メモリの所定領域に格納された１つの更新データのみを転送対象とし、(ii)前記転送対象を前記第１メモリに転送して前記ユーザプログラムを更新するプログラマブルコントローラ。
【請求項２】
前記第２メモリは着脱可能である請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記プロセッサは、前記操作装置から入力されたパスワードと、前記更新データに付されたパスワードとを照合し、両パスワードが合致した場合に前記転送指示を有効と判断する請求項１または２に記載のプログラマブルコントローラ。
【請求項４】
前記プロセッサは、前記操作装置から入力されたパスワードを、前記両パスワードの照合後に破棄する請求項３に記載のプログラマブルコントローラ。
【請求項５】
前記プロセッサは、ＦＴＰサーバ機能を有し、前記操作装置または当該プログラマブルコントローラに接続する端末から送られた前記更新データを前記第２メモリに格納する請求項１〜４のいずれか１項に記載のプログラマブルコントローラ。
【請求項６】
当該プログラマブルコントローラを操作するためのインターフェースであるシステム定義変数が準備されており、
前記更新データの転送指示は、前記操作装置から前記システム定義変数に所定値を入力することによって行われる請求項１〜５のいずれか１項に記載のプログラマブルコントローラ。
【請求項７】
プロセッサと、ユーザプログラムが格納された第１メモリと、前記ユーザプログラムの複数の更新データが格納される、内蔵型あるいは着脱可能な第２メモリとを備えたプログラマブルコントローラの制御プログラムであって、
前記第２メモリの記憶容量は、前記第１メモリの記憶容量よりも大きく、
当該プログラマブルコントローラに接続する操作装置からの前記更新データの転送指示を受けて前記転送指示が有効であるか無効であるかを判断する工程と、
前記転送指示が有効であると判断した場合に、(i)前記第２メモリの複数の更新データのうち、前記操作装置への入力時に選択された、前記第２メモリの所定領域に格納された１つの更新データのみを転送対象とし、(ii)前記転送対象を前記第１メモリに転送して前記ユーザプログラムを更新する工程とを、前記プロセッサに実行させるプログラマブルコントローラの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（以下、「ＰＬＣ」とも言う）およびその制御プログラムに関する。
【背景技術】
【０００２】
特許文献１に開示されている装置は、第２メモリに対応するメモリカセットに書込み指令用スイッチを備えている。この書込み指令用スイッチの操作によって、特許文献１に開示されている装置においては、メモリカセットに格納されたユーザプログラムが、ＰＬＣの内蔵メモリに書き込まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１７５３０９号公報（２００１年６月２９日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている装置において、メモリカセットに格納されたユーザプログラムを、ＰＬＣの内蔵メモリに書き込むためには、以下の、装置に対する機械的な作業を行う必要がある。すなわち、当該機械的な作業とは、ＰＬＣに対するメモリカセットの着脱、および書込み指令用スイッチの操作等である。
【０００５】
この結果、特許文献１に開示されている装置においては、上記機械的な作業に起因する、誤動作または異常が生じる虞があるという問題が発生する。具体的には、作業中にＰＬＣ等に身体が接触して配線が緩んだり、作業内容を間違えて予期せぬ設定変更等が生じたりする虞が考えられる。
【０００６】
特に、ＰＬＣは、第２メモリが装着された状態で、施錠された制御盤の内部に収納される場合がしばしばある。この場合、特許文献１に開示されている装置においては、上記機械的な作業として、制御盤の開錠や、制御盤の内部からのＰＬＣの取り出し等をさらに行う必要がある。この場合、特許文献１に開示されている装置においては、上記の誤動作または異常が生じる虞がさらに大きくなる。
【０００７】
本発明は、上記の課題に鑑みて為されたものであり、その目的は、誤動作または異常が生じる虞を低減することを可能とするプログラマブルコントローラおよび制御プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
前記の課題を解決するために、本発明のプログラマブル（ロジック）コントローラは、プロセッサと、ユーザプログラムが格納された第１メモリと、前記ユーザプログラムの更新データが格納される、内蔵型あるいは着脱可能な第２メモリとを備えたプログラマブルコントローラであって、前記プロセッサは、当該プログラマブルコントローラに接続する操作装置からの前記更新データの転送指示を受けて前記転送指示が有効であるか無効であるかを判断し、前記転送指示が有効であると判断した場合に前記第２メモリの更新データを前記第１メモリに転送して前記ユーザプログラムを更新することを特徴としている。
【０００９】
前記の構成によれば、プログラマブルコントローラを利用するエンドユーザは、操作装置を操作するだけで十分であり、プログラマブルコントローラやプログラマブルコントローラに装着された部材に触れる必要はない。従って、プログラマブルコントローラが施錠された制御盤の内部に収納されていたとしても、実質的にエンドユーザによる機械的な作業を伴うことなく、第２メモリに格納された更新データを、第１メモリに転送することができる。従って、前記の構成によれば、誤動作または異常が生じる虞を低減することができる。
【００１０】
また、本発明のプログラマブルコントローラにおいて、前記第２メモリは着脱可能であることが好ましい。
【００１１】
前記の構成によれば、本発明のプログラマブルコントローラによって、更新データの転送時における、第２メモリの着脱作業を省略することができるため、本発明のプログラマブルコントローラをより効果的に活用することができる。
【００１２】
また、本発明のプログラマブルコントローラにおいて、前記プロセッサは、前記操作装置への入力時に選択された、前記第２メモリの所定領域に格納された前記更新データのみを転送対象とすることが好ましい。
【００１３】
前記の構成によれば、更新データを選択して転送することができる。
【００１４】
また、本発明のプログラマブルコントローラにおいて、前記プロセッサは、前記操作装置から入力されたパスワードと、前記更新データに付されたパスワードとを照合し、両パスワードが合致した場合に前記転送指示を有効と判断することが好ましい。
【００１５】
前記の構成によれば、パスワードの照合の結果が正常（合致）である場合にのみ、更新データの転送を行うことができる。従って、更新データの転送についてのセキュリティを向上させることができる。
【００１６】
また、本発明のプログラマブルコントローラにおいて、前記プロセッサは、前記操作装置から入力されたパスワードを、前記両パスワードの照合後に破棄することが好ましい。
【００１７】
前記の構成によれば、更新データの転送の度にパスワードを入力させたり、更新データに付されたパスワードの変更に合わせて新たなパスワードを入力させたりすることができる。従って、更新データの転送についてのセキュリティをさらに向上させることができる。
【００１８】
また、本発明のプログラマブルコントローラにおいて、前記プロセッサは、ＦＴＰサーバ機能を有し、前記操作装置または当該プログラマブルコントローラに接続する端末から送られた前記更新データを前記第２メモリに格納することが好ましい。
【００１９】
前記の構成によれば、汎用性の高いプログラマブルコントローラを実現することができる。
【００２０】
また、本発明のプログラマブルコントローラにおいて、当該プログラマブルコントローラを操作するためのインターフェースであるシステム定義変数が準備されており、前記更新データの転送指示は、前記操作装置から前記システム定義変数に所定値を入力することによって行われることが好ましい。
【００２１】
前記の構成によれば、操作装置がシステム定義変数の所定値を入力することによって、この入力された所定値に応じて転送を制御することができる。
【００２２】
本発明のプログラマブルコントローラは、コンピュータによって実現してもよく、この場合には、プロセッサとしてコンピュータを機能させるための制御プログラムも、本発明の範疇に入る。
【発明の効果】
【００２３】
本発明によれば、誤動作または異常が生じる虞を低減するという効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係るＰＬＣを備えたシステムの構成を示すブロック図である。
【図２】図１に示したＰＬＣの動作の流れを示すフローチャートである。
【発明を実施するための形態】
【００２５】
本発明を実施するための形態について、図１および図２を参照して説明する。図１は、本実施形態に係るＰＬＣ１を備えたシステム１００の構成を示すブロック図である。ＰＬＣ１は、プロセッサ２、第１メモリ３、および第２メモリ４を備えている。また、ＰＬＣ１は、フィールドネットワークを介して、操作装置１０、および各外部機器１１と接続されている。
【００２６】
第１メモリ３のユーザプログラム格納部８に格納されたユーザプログラムは、操作装置１０からの転送指示により第２メモリ４から転送された更新データによって更新される。この更新データとは、例えば、更新用のユーザプログラム（ＰＬＣの動作設定を含んでもよい）や、ユーザプログラムにかかる変数の現在値（ＰＬＣの電源がＯＦＦの時も値が保持される変数の値）である。
【００２７】
ＰＬＣ１には、システム定義変数 Card1PrgTransferCmd（更新データの転送指示）のメンバとして、システム定義変数 Exec（更新データの転送時にＴＲＵＥとするフラグ）、システム定義変数 DirName（転送対象となる第２メモリ４のディレクトリ名を指定）、システム定義変数 Password（更新データの転送時に照合されるパスワードを指定）、システム定義変数 TargetUserProgram（転送時にユーザプログラムや各種設定を転送対象とするときにＴＲＵＥにするフラグ）、システム定義変数 TargetVariable（転送時に変数の現在値を転送対象とするときにＴＲＵＥとするフラグ）、システム定義変数 Card1PrgTransferSta（更新データの転送状態の表示）等が準備されている。なお、システム定義変数とは、ＰＬＣ１のシステムプログラムによって、名称などのすべての属性があらかじめ定義されており、かつ特定の機能が割り付けられている変数である。
【００２８】
具体的には、操作装置１０からシステム定義変数 Card1PrgTransferCmdの各メンバに値を入力することで、ＰＬＣ１に対して更新データの転送指示を行う。すなわち、システム定義変数 ExecをＴＲＵＥとし、システム定義変数 DirNameに転送対象となるユーザプログラム等の格納場所を入力し、システム定義変数 Passwordにパスワードを入力し、システム定義変数TargetUserProgramにＴＲＵＥを入力し、システム定義変数 TargetVariableにＴＲＵＥ（変数の現在値を転送対象とする）またはＦＡＬＳＥ（変数の現在値を転送対象としない）を入力する。
【００２９】
なお、ＰＬＣ１側では、システム定義変数による更新データの転送を使用する、あるいは使用しないの選択が可能であるため、更新データの転送時にはＰＬＣ１側でも「システム定義変数による更新データの転送を使用する」に設定しておく。
【００３０】
プロセッサ２は、例えばＣＰＵ（中央演算処理装置）によって構成されている。プロセッサ２の動作については後述する。
【００３１】
第１メモリ３は、ＰＬＣ１の内蔵メモリによって構成されている。第１メモリ３は、更新データ転送プログラムを格納する更新データ転送プログラム格納部５、パスワード照合プログラムを格納するパスワード照合プログラム格納部６、およびパスワード破棄プログラムを格納するパスワード破棄プログラム格納部７を有している。更新データ転送プログラム、パスワード照合プログラム、およびパスワード破棄プログラムについての詳細な説明は後述する。また、第１メモリ３は、上記ユーザプログラムを格納するユーザプログラム格納部８を有している。
【００３２】
第２メモリ４は、例えばＰＬＣ１に対して着脱可能に装着されたＳＤカード、またはその他の記憶媒体によって構成されている。具体的に、第２メモリ４は、ＰＬＣ１に対して着脱可能であってもよいし、ＰＬＣ１に内蔵されたものであってもよい。第２メモリ４の記憶容量は、第１メモリ３の記憶容量より大きいことが好ましい。これにより、第１メモリ３に格納された情報より多数の情報を、第２メモリ４に格納しておくことができる。第２メモリ４は、更新データ供給端末１２から送られた更新データを格納しておくものであり、格納された更新データは、プロセッサ２によって第１メモリ３に転送される。
【００３３】
操作装置１０は、ＰＬＣ１の利用者であるエンドユーザが各外部機器１１の様々な状態を確認することができるように、各外部機器１１の状態を表示するものである。また、操作装置１０は、例えば、タッチパネルを備えており、当該タッチパネルに対するタッチによって、遠隔操作による、ＰＬＣ１に対する指示が可能なものである。各外部機器１１は、ＰＬＣ１の制御対象機器であり、例えばフィールドネットを介してＰＬＣ１と接続されている。更新データ供給端末１２は、ユーザプログラムの作成元（例えば、ベンダ）から供給された更新データを保存しておくものである。この更新データは操作装置１０に保存しておいてもよい。
【００３４】
更新データ供給端末１２または操作装置１０に保存された更新データは、第２メモリ４に送られ、格納される。例えば、ＰＬＣ１は、ＦＴＰ（File Transfer Protocol）サーバ機能を有し、更新データ供給端末１２または操作装置１０から送られた更新データを第２メモリ４に格納する。これにより、汎用性の高いＰＬＣ１を実現することができる。また、第２メモリ４に格納された更新データには、当該更新データを第１メモリ３に転送することを許可するか否かを決定するためのパスワードがさらに付される。
【００３５】
図２は、ＰＬＣ１の動作の流れを示すフローチャートである。まず、図２のステップＳ１について説明する。
【００３６】
ＰＬＣ１の電源がＯＮされた状態において、操作装置１０は、例えば上記タッチパネル越しに表示されたアイコンが押下されることによって、ＰＬＣ１に対して、更新データ転送指示を送信（入力）する。つまり、ＰＬＣ１は、操作装置１０からの当該更新データ転送指示を受信する。更新データ転送指示とは、第２メモリ４に格納された更新データを第１メモリ３に転送する旨の指示である。当該更新データ転送指示は、第２メモリ４におけるユーザプログラムの記憶領域を示すディレクトリ名と、第２メモリ４における変数の現在値の記憶領域を示すディレクトリ名とを含んでいる。つまり、当該更新データ転送指示には、上記変数「DirName」、変数「TargetUserProgram」、および変数「TargetVariable」のそれぞれに対して書き込むべき値が含まれている。当該更新データ転送指示には、当該更新データに付されたパスワードと照合すべき、操作装置１０によって入力されたパスワードがさらに含まれている。つまり、当該更新データ転送指示には、上記変数「Password」に対して書き込むべき値も含まれている。
【００３７】
続いて、図２のステップＳ２について説明する。
【００３８】
プロセッサ２は、操作装置１０から送信された上記更新データ転送指示に応じて、パスワード照合プログラム格納部６に格納されたパスワード照合プログラムを読み出す。そして、プロセッサ２は、当該パスワード照合プログラムに従って、更新データに付されたパスワードと、操作装置１０から送信された、上記更新データ転送指示に含まれるパスワードとを照合し、この照合の結果が正常であるか否かを判定する。当該判定の一例としては、双方のパスワードが合致すれば照合の結果が正常であるとし、双方のパスワードが合致しなければ照合の結果が正常でないとすることが考えられる。つまりここでは、更新データ転送指示の有効あるいは無効を判断している。
【００３９】
上記照合の結果が正常でない場合（ステップＳ２の結果がＮＯ）、システム１００の処理は終了となる。上記照合の結果が正常である場合（ステップＳ２の結果がＹＥＳ）、ステップＳ３に進む。続いて、図２のステップＳ３について説明する。
【００４０】
プロセッサ２は、操作装置１０から送信された上記更新データ転送指示に応じて、更新データ転送プログラム格納部５に格納された更新データ転送プログラムを読み出す。そして、プロセッサ２は、当該更新データ転送プログラムに従って、ＰＬＣ１にて設定された転送起動フラグを、ＦＡＬＳＥ（転送否起動）からＴＲＵＥ（転送起動）に切り替える。これにより、プロセッサ２は、第２メモリ４に格納された更新データを、第１メモリ３に転送させる。より具体的に、プロセッサ２は、第２メモリ４の所定の（システム定義変数で指定された）ディレクトリに格納されたユーザプログラムおよび設定値等をユーザプログラム格納部８に転送する。
【００４１】
また、上記の転送と並行して、プロセッサ２は、パスワード破棄プログラム格納部７に格納されたパスワード破棄プログラムを読み出す。そして、プロセッサ２は、当該パスワード破棄プログラムに従って、操作装置１０から送信されたパスワードを破棄する。
【００４２】
以上のステップＳ２およびステップＳ３によれば、上記のパスワードの照合の結果が正常である場合にのみ、更新データの転送を行うことができる。従って、更新データの転送についてのセキュリティを向上させることができる。
【００４３】
また、以上のステップＳ３によれば、更新データの転送の度に操作装置１０からパスワードを入力させたり、更新データに付されたパスワードの変更に合わせて操作装置１０から新たなパスワードを入力させたりすることができる。従って、更新データの転送についてのセキュリティをさらに向上させることができる。
【００４４】
以上のステップＳ１〜ステップＳ３の間、エンドユーザは、操作装置１０を操作するだけで十分であり、ＰＬＣ１やＰＬＣ１に装着された部材に触れる必要はない。従って、ＰＬＣ１が施錠された制御盤の内部に収納されていたとしても、実質的にエンドユーザによる機械的な作業を伴うことなく、ステップＳ１〜ステップＳ３を実行することができる。従って、ＰＬＣ１によれば、また、システム１００によれば、誤動作または異常が生じる虞を低減することができる。
【００４５】
ＰＬＣ１のユーザプログラムは、第１メモリ３に送られた更新データによって更新される。システム１００によれば、ユーザプログラムを第１メモリ３に転送するときに、誤動作または異常が生じる虞を低減することができる。
【００４６】
上述した、更新データ転送指示によって制御される各システム定義変数は、ＰＬＣ１を操作するためのインターフェースであり、更新データ転送指示は、操作装置１０におけるシステム定義変数への値の入力によって行われる。換言すれば、この入力された値によって更新データの転送を制御することができる。
【００４７】
このように、図１に示す構成では、操作装置１０からＰＬＣ１のシステム定義変数に値を入力することによって更新データを第２メモリ４から第１メモリ３に転送しているがこの構成に限定されない。例えば、操作装置１０からＰＬＣ１に送信された特定のコマンドによってＰＬＣ１が更新データの転送を実行するような構成でもよい。
【００４８】
ＰＬＣ１の制御ブロック（特にプロセッサ２）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００４９】
後者の場合、ＰＬＣ１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００５１】
１      ＰＬＣ
２      プロセッサ
３      第１メモリ
４      第２メモリ
５      更新データ転送プログラム格納部
６      パスワード照合プログラム格納部
７      パスワード破棄プログラム格納部
８      ユーザプログラム格納部
１０    操作装置
１１    外部機器
１２    更新データ供給端末
１００  システム
【図１】
0006520759.tif 000002
【図２】
0006520759.tif 000003