(57)【要約】      （修正有）【課題】プログラマブルコントローラの記憶部にプログラムを簡単に格納する。【解決手段】プログラマブルコントローラ１００の基板９０は、入出力端子を有した外部装置２００が脱着可能に装着されるインターフェイス部５０と、第１の記憶部３０とを含む。インターフェイス部５０は、プロセッサ回路５０と、外部装置２００の入出力端子を接続可能なコネクタ端子を有する。方法は、コネクタ端子に外部装置２００の入出力端子が接続されることにより、予め定められた回路を形成するステップと、プログラマブルコントローラ１００のプログラムまたはデータが格納された第２の記憶部７０から当該プログラムまたはデータを読出し、第１の記憶部３０に格納するステップと、予め定められた回路が形成されたとき、プロセッサ回路５０が、格納するステップの実施を開始するステップと、を備える。【選択図】図１
2018124866.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラの製造方法であって、
前記プログラマブルコントローラは基板を備え、前記基板は、入出力端子を有した外部装置が脱着可能に装着されるインターフェイス部と、第１の記憶部とを含み、
前記インターフェイス部は、プロセッサ回路と、前記外部装置の入出力端子を接続可能なコネクタ端子を有し、
前記製造方法は、
前記コネクタ端子に前記外部装置の入出力端子が接続されることにより、予め定められた回路を形成するステップと、
前記プログラマブルコントローラのプログラムまたはデータが格納された第２の記憶部から当該プログラムまたはデータを読出し、前記第１の記憶部に格納するステップと、
前記予め定められた回路が形成されたとき、前記プロセッサ回路が、前記格納するステップの実施を開始するステップと、を備える、製造方法。
【請求項２】
前記格納するステップは、前記プログラマブルコントローラのプログラムを前記第２の記憶部から読出し、前記第１の記憶部に格納するための命令を実行するステップを含む、請求項１に記載の製造方法。
【請求項３】
前記命令を実行するステップは、前記プロセッサ回路が当該命令を実行するステップを有する、請求項２に記載の製造方法。
【請求項４】
前記基板は、プロセッサを含み、
前記命令を実行するステップは、前記プロセッサ回路は前記プロセッサに前記命令を実行させるステップを有する、請求項２に記載の製造方法。
【請求項５】
前記予め定められた回路が形成された旨の通知を、出力部を介して出力するステップを、さらに備える、請求項１から４のいずれか１項に記載の製造方法。
【請求項６】
前記第２の記憶部は、前記基板に脱着可能に装着される記憶媒体を含む、請求項１から５のいずれか１項に記載の製造方法。
【請求項７】
前記第２の記憶部は、前記外部装置に備えられる、請求項１から５のいずれか１項に記載の製造方法。
【請求項８】
プログラマブルコントローラであって、
前記プログラマブルコントローラは基板を備え、前記基板は、入出力端子を有した外部装置が脱着可能に装着されるインターフェイス部と、プロセッサと、主記憶部と、第１の記憶部とを含み、
前記インターフェイス部は、プロセッサ回路と、前記外部装置の入出力端子を接続可能なコネクタ端子を有し、
前記プロセッサ回路は、
前記プログラマブルコントローラの起動時に前記コネクタ端子に前記外部装置の入出力端子が接続されることにより、予め定められた回路が形成されたとき、前記プログラマブルコントローラのプログラムまたはデータが格納された第２の記憶部から当該プログラムまたはデータを読出し、前記第１の記憶部に格納するための第１格納処理部と、
前記プログラマブルコントローラの起動時に前記予め定められた回路が形成されないとき、前記第１の記憶部に格納された前記プログラマブルコントローラのプログラムまたはデータを読出し、前記主記憶部に格納するための第２格納処理部と、を備える、プログラマブルコントローラ。
【請求項９】
プログラマブルコントローラの動作モードを切替える方法であって、
前記プログラマブルコントローラは基板を備え、前記基板は、入出力端子を有した外部装置が脱着可能に装着されるインターフェイス部と、プロセッサと、主記憶部と、第１の記憶部とを含み、
前記インターフェイス部は、プロセッサ回路と、前記外部装置の入出力端子を接続可能なコネクタ端子を有し、
前記方法は、
前記コネクタ端子に前記外部装置の入出力端子が接続されることにより、予め定められた回路を形成するステップと、
前記プログラマブルコントローラの起動時に前記予め定められた回路が形成されたとき、前記プロセッサ回路が、前記プログラマブルコントローラのプログラムまたはデータが格納された第２の記憶部から当該プログラムまたはデータを読出し、前記第１の記憶部に格納する第１ステップと、
前記プログラマブルコントローラの起動時に前記予め定められた回路が形成されないとき、前記プロセッサ回路が、前記第１の記憶部に格納された前記プログラマブルコントローラのプログラムまたはデータを読出し、前記主記憶部に格納する第２ステップと、を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラマブルコントローラの製造方法に関し、特に、プログラマブルコントローラのソフトウェアを実装する工程を有した製造方法に関する。
【背景技術】
【０００２】
設備または機械を制御するためのファクトリーオートメーション（ＦＡ）の関連装置の一例としてＰＬＣ（Programmable Logic Controller、あるいは、プログラマブルコントローラとも称される）が知られている。
【０００３】
ＰＬＣは、実行するプログラムによりＦＡにおける生産工程の管理し、または他の関連装置を制御する。したがって、例えば生産工程の変更または制御仕様の変更があれば、ＰＬＣが実行するプログラムも変更する必要がある。ＰＬＣのプログラムを変更する方法として、例えば特許文献１（特開２００４−２７２６２９号公報）による方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２７２６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、ＰＬＣのプログラムを変更すべくメモリの内容を書き換えるには、通常、オペレータがディップスイッチ等によって、ＰＬＣをプログラム転送モードに変更する。次いで、オブジェクトコードのダウンロードを実行する。これにより、ＰＬＣが持つプログラムを格納するメモリに、オブジェクトコードが格納される。
【０００６】
しかし、通常、ディップスイッチは小さいために、オペレータにとってはディップスイッチを操作し難く、また操作ミスも引き起こしやすい。
【０００７】
本開示は、上記のような実情に鑑みてなされたものであって、ある局面における目的は、プログラマブルコントローラの記憶部にプログラムを簡単に格納することを可能にするプログラマブルコントローラの製造方法を提供することである。
【課題を解決するための手段】
【０００８】
この開示のある局面では、プログラマブルコントローラの製造方法が提供される。プログラマブルコントローラは基板を備え、基板は、入出力端子を有した外部装置が脱着可能に装着されるインターフェイス部と、第１の記憶部とを含み、インターフェイス部は、プロセッサ回路と、外部装置の入出力端子を接続可能なコネクタ端子を有する。
【０００９】
製造方法は、コネクタ端子に外部装置の入出力端子が接続されることにより、予め定められた回路を形成するステップと、プログラマブルコントローラのプログラムまたはデータが格納された第２の記憶部から当該プログラムまたはデータを読出し、第１の記憶部に格納するステップと、予め定められた回路が形成されたとき、プロセッサ回路が、格納するステップの実施を開始するステップと、を備える。
【００１０】
好ましくは、格納するステップは、プログラマブルコントローラのプログラムを第２の記憶部から読出し、第１の記憶部に格納するための命令を実行するステップを含む。
【００１１】
好ましくは、命令を実行するステップは、プロセッサ回路が当該命令を実行するステップを有する。
【００１２】
好ましくは、基板は、プロセッサを含み、命令を実行するステップは、プロセッサ回路はプロセッサに命令を実行させるステップを有する。
【００１３】
好ましくは、予め定められた回路が形成された旨の通知を、出力部を介して出力するステップを、さらに備える。
【００１４】
好ましくは、第２の記憶部は、基板に脱着可能に装着される記憶媒体を含む。
好ましくは、第２の記憶部は、外部装置に備えられる。
【００１５】
この開示の他の局面に従うプログラマブルコントローラは、プログラマブルコントローラは基板を備え、基板は、入出力端子を有した外部装置が脱着可能に装着されるインターフェイス部と、プロセッサと、主記憶部と、第１の記憶部とを含み、インターフェイス部は、プロセッサ回路と、外部装置の入出力端子を接続可能なコネクタ端子を有する。
【００１６】
プロセッサ回路は、プログラマブルコントローラの起動時にプログラマブルコントローラの起動時にコネクタ端子に前記外部装置の入出力端子が接続されることにより、予め定められた回路が形成されたとき、プログラマブルコントローラのプログラムまたはデータが格納された第２の記憶部から当該プログラムまたはデータを読出し、第１の記憶部に格納するための第１格納処理部と、プログラマブルコントローラの起動時に上記の予め定められた回路が形成されないとき、第１の記憶部に格納されたプログラマブルコントローラのプログラムまたはデータを読出し、主記憶部に格納するための第２格納処理部と、を備える。
【００１７】
この開示のさらに他の局面では、プログラマブルコントローラの動作モードを切替える方法が提供される。
【００１８】
プログラマブルコントローラは基板を備え、基板は、入出力端子を有した外部装置が脱着可能に装着されるインターフェイス部と、プロセッサと、主記憶部と、第１の記憶部とを含み、インターフェイス部は、プロセッサ回路と、外部装置の入出力端子を接続可能なコネクタ端子を有する。
【００１９】
上記の方法は、プログラマブルコントローラの起動時にコネクタ端子に外部装置の入出力端子が接続されることにより、予め定められた回路を形成するステップと、プログラマブルコントローラの起動時に予め定められた回路が形成されたとき、プロセッサ回路が、プログラマブルコントローラのプログラムまたはデータが格納された第２の記憶部から当該プログラムまたはデータを読出し、第１の記憶部に格納する第１ステップと、プログラマブルコントローラの起動時に上記の予め定められた回路が形成されないとき、プロセッサ回路が、第１の記憶部に格納されたプログラマブルコントローラのプログラムまたはデータを読出し、主記憶部に格納する第２ステップと、を備える。
【発明の効果】
【００２０】
この開示によれば、プログラマブルコントローラの記憶部にプログラムを簡単に格納することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１にかかるＰＬＣの構成を周辺装置と関連付けて示す図である。
【図２】実施の形態１にかかるＦＰＧＡ５０の構成を、切替装置２００と関連付けて示す図である。
【図３】実施の形態１にかかるＰＬＣユニット３００の外観を示す図である。
【図４】実施の形態１にかかるＰＬＣ１００のシステム起動用データ７１のローディングを含む処理フローチャートである。
【図５】実施の形態１にかかる記憶部の格納内容の変化を説明する図である。
【図６】実施の形態２にかかるＰＬＣの構成を周辺装置と関連付けて示す図である。
【図７】実施の形態３を説明するための図である。
【発明を実施するための形態】
【００２２】
実施の形態について、以下、図面を参照しながら説明する。同一の部品および相当部品には同一の参照番号を付し、重複する説明は繰り返さない場合がある。
【００２３】
[実施の形態１]
＜全体構成＞
図１は、実施の形態１にかかるＰＬＣの構成を周辺装置と関連付けて示す図である。図２は、実施の形態１にかかるＦＰＧＡ５０の構成を、切替装置２００と関連付けて示す図である。
【００２４】
図１を参照して、ＰＬＣ１００は基板９０を備える。基板９０の上には、ＭＰＵ（Micro-processing unit）１０、主記憶装置２０、「第１の記憶部」の一実施例である第１ストレージ３０、ストレージＩ／Ｆ（Interface）部４０、「インターフェイス部」の一実施例であるＦＰＧＡ（Field Programmable Gate Array)５０、電源６０およびバス８０が実装される。
【００２５】
主記憶装置２０は、ＭＰＵ１０により読出されて実行されるプログラムまたはデータを格納するためのＲＯＭ（Random Access Memory）およびＲＡＭ（Random Access Memory）等を含む。ストレージＩ／Ｆ部４０は、外部の記憶媒体である第２ストレージ７０が脱着可能に装着され得る。第２ストレージ７０は「第２の記憶部」の一実施例である。ＦＰＧＡ５０は、「外部装置」の一実施例である切替装置２００が脱着可能に装着され得る。電源６０は、ＰＬＣ１００の各部に電力を供給する。これら各部は、バス８０を介して相互にデータを入出力することができる。
【００２６】
第１ストレージ３０は、ＰＬＣ１００に内蔵される不揮発性記憶デバイスであり、例えばＮＡＮＤ型フラッシュメモリを含む。第２ストレージ７０は、ＰＬＣ１００の外部記憶デバイスであり、例えばＳＤメモリカードを含む。第１ストレージ３０および第２ストレージ７０に格納されるプログラムまたはデータは、ＰＬＣ１００を起動するためのプログラムまたはデータを含む。ＰＬＣ１００を起動するためのプログラムまたはデータを、以下では、システム起動用データ７１ともいう。
【００２７】
図２（Ａ）を参照して、ＦＰＧＡ５０は、主に、プログラマブルな論理要素からなるプロセッサブロック５１、およびプログラマブルな入出力要素からなる外部Ｉ／Ｆ（Interface）５２と内部Ｉ／Ｆ（Interface）５３とを含む。ＦＰＧＡ５０には、さらに、ＤＳＰ（Digital Signal Processor）、クロック発生回路等のハードウェアブロックが搭載されてもよい。ＦＰＧＡ５０は、プログラマブルな要素であるプロセッサブロック５１、外部Ｉ／Ｆ５２および内部Ｉ／Ｆ５３に、設計データをダウンロードすることにより設計に従う回路として動作する。なお、この設計データは、後述する図４のフローチャートに従う処理を実現するためのプログラムの記述データを含む。
【００２８】
プロセッサブロック５１は、「プロセッサ回路」の一実施例である。外部Ｉ／Ｆ５２は、切替装置２００等の外部装置が有する入出力端子を接続可能なコネクタ端子（ピン）Ｐ１，Ｐ２を有する。内部Ｉ／Ｆ５３はバス８０と接続するための１または複数の端子（ピン）を有する。外部Ｉ／Ｆ５２および内部Ｉ／Ｆ５３は、対応の１または複数の端子（ピン）を介して、例えば１または複数のビットからなるデータを入出力する。プロセッサブロック５１は、外部Ｉ／Ｆ５２または内部Ｉ／Ｆ５３からのデータを処理して、処理後のデータを外部Ｉ／Ｆ５２または内部Ｉ／Ｆ５３を介して出力する。
【００２９】
切替装置２００は、ＬＥＤ（Light Emitting Diode）２０１、切替装置２００の各部に電力を供給するためのバッテリ２０２、端子（ピン）Ｐ１１，Ｐ１２を含む端子部、および検出部２０３を備える。切替装置２００の内部において、端子Ｐ１１は配線Ｗを介して端子Ｐ１２に接続されている。検出部２０３は、端子Ｐ１１，Ｐ１２が受ける電圧を配線Ｗから検出し、検出された電圧に基づきＬＥＤ２０１の点灯/消灯を制御する。
【００３０】
切替装置２００の端子部は、外部Ｉ／Ｆ５２の形状に嵌めこみ可能な形状を有する。オペレータが、切替装置２００の端子部を外部Ｉ／Ｆ５２に嵌めこむことにより、切替装置２００がＦＰＧＡ５０に装着されると、ＦＰＧＡ５０のコネクタ端子Ｐ１→切替装置２００の端子Ｐ１１→配線Ｗ→切替装置２００の端子Ｐ１２→ＦＰＧＡ５０のコネクタ端子Ｐ２を接続してなる予め定められた回路が確立される。また、オペレータが、切替装置２００の端子部を外部Ｉ／Ｆ５２から取外すことにより、切替装置２００の端子Ｐ１１，Ｐ１２は、ＦＰＧＡ５０のコネクタ端子Ｐ１，Ｐ２から離れて、上記の予め定められた回路の確立は解消する。
【００３１】
具体的には、切替装置２００がＦＰＧＡ５０に装着されて、上記の予め定められた回路が確立するときは、ＦＰＧＡ５０のコネクタ端子Ｐ１，Ｐ２の間は短絡（結線）される。一方、切替装置２００がＦＰＧＡ５０から取外されて、当該予め定められた回路の確立が解消されるときは、コネクタ端子Ｐ１，Ｐ２の間は開放（断線）する。
【００３２】
また、切替装置２００の検出部２０３が、配線Ｗを介して受ける電圧は、上記の予め定められた回路が確立する場合と、当該予め定められた回路の確立が解消される場合とで、異なる電圧を示す。したがって、検出部２０３は、配線Ｗの電圧の値と第１閾値（上記の短絡電圧の値に相当する）とを比較し、比較の結果に基づき、ＬＥＤ２０１を点灯または消灯する。例えば、切替装置２００がＦＰＧＡ５０に装着されて（予め定められた回路が確立して）、コネクタ端子Ｐ１とＰ２の間が短絡する場合には、検出部２０３は、上記の電圧の比較結果（両値は一致）に基づきＬＥＤ２０１を点灯し、切替装置２００がＦＰＧＡ５０から取外されて（予め定められた回路が確立せず）、コネクタ端子Ｐ１とＰ２の間が開放される場合には、検出部２０３は、上記の電圧の比較結果（両値は不一致）に基づきＬＥＤ２０１を消灯する。
【００３３】
オペレータは、ＬＥＤ２０１の点灯/消灯から、切替装置２００がＦＰＧＡ５０に装着されているか否かを判断することができる。
【００３４】
図２（Ｂ）には、ＦＰＧＡ５０のプロセッサブロック５１の回路が有する機能ブロックが模式的に示される。プロセッサブロック５１は、上記の予め定められた回路が確立したときに、第２ストレージ７０のプログラムまたはデータを読出し、読出された内容を第１ストレージ３０に格納するための第１格納処理部５１Ａと、上記の予め定められた回路が確立ないときに、第１ストレージ３０のプログラムまたはデータを読出し、読出された内容を主記憶装置２０に格納するための第２格納処理部５１Ｂと、確認処理部５１Ｃとを含む。確認処理部５１Ｃは、第１格納処理部５１Ａによる格納処理が成功したか否かを判断するための後述する確認処理（Verify）を実施する。
【００３５】
＜外観＞
図３は、実施の形態１にかかるＰＬＣユニット３００の外観を示す図である。図３を参照して、ＰＬＣユニット３００は、図１に示すＰＬＣ１００を内蔵する筺体を備える。筺体は、ＰＬＣ１００のオプションボード（オプション機能を実現するための外部装置のボード）を基板９０に脱着可能に装着するための部位１１０と、ＰＬＣ１００のデータ等のバックアップ用メモリカードを基板９０に脱着可能に装着するための部位１２０とを備える。実施の形態１では、部位１１０を、切替装置２００のボードを装着するために利用し、部位１２０を、第２ストレージ７０を脱着可能に装着するために利用する。
【００３６】
＜処理フロー＞
図４は、実施の形態１にかかるＰＬＣ１００のシステム起動用データ７１のローディングを含む処理フローチャートである。なお、実施の形態１では、「ローディング」は、データを記憶部から読出し、読出されたデータを別の記憶部に書込む処理を示す。
【００３７】
図５は、各記憶部に格納される内容の変化を説明する図である。図５（Ａ）を参照して、実施の形態１にかかるシステム起動用データ７１は、ＯＳ（Operating System）７Ａおよびファームウェア７Ｂ等のシステムプログラムと、システムプログラムを主記憶装置２０にロード（格納）するためのブートローダ７Ｃを含む。システム起動用データ７１には、これらプログラムの他に各種データが含まれ得る。
【００３８】
図４の処理を、図５を参照しながら説明する。オペレータはＰＬＣ１００の電源をオンして、システム起動用データ７１を格納する切替装置２００（図５（Ａ）参照）をストレージＩ／Ｆ部４０に、ＰＬＣ１００に脱着可能に装着する。なお、切替装置２００は、ＰＬＣ１００に電源をオンする前に脱着可能に装着されるとしてもよい。
【００３９】
プロセッサブロック５１は、電源がオンされたとき、図４の処理を開始する。まず、プロセッサブロック５１は、切替装置２００が装着されて（予め定められた回路が確立して）いるか否かを判断する（ステップＳ１）。具体的には、この判断は、プロセッサブロック５１が、外部Ｉ／Ｆ５２を介して受けるコネクタ端子Ｐ１，Ｐ２の電圧と短絡の電圧とを比較し、比較の結果から、コネクタ端子Ｐ１，Ｐ２から短絡の電圧を受けるか否かを判断する。
【００４０】
プロセッサブロック５１は、外部Ｉ／Ｆ５２を介してコネクタ端子Ｐ１とＰ２の短絡の電圧を受けたとき、すなわち切替装置２００が装着されているとき（ステップＳ１で‘装着有’）、第１格納処理部５１Ａを起動する。起動された第１格納処理部５１Ａは第２ストレージ７０からシステム起動用データ７１のローディングを開始する（ステップＳ３）。具体的には、第１格納処理部５１Ａは、第２ストレージ７０のシステム起動用データ７１を読出し、読出された内容を第１ストレージ３０に格納する（書込む）処理を開始する。システム起動用データ７１の第１ストレージ３０へのローディングが完了すると、第１ストレージ３０の内容は、図５（Ｂ）から図５（Ｃ）に変化する。
【００４１】
プロセッサブロック５１の確認処理部５１Ｃは、ローディングに成功したか否かを確認（Verify：ベリファイ）するために、第２ストレージ７０のシステム起動用データ７１と、ローディング先の第１ストレージ３０のシステム起動用データを、比較する処理を実施する（ステップＳ５）。
【００４２】
確認処理部５１Ｃは、例えば、チェックサムを用いて比較処理を実施する。実施の形態１では、プロセッサブロック５１は、システム起動用データ７１が格納された第２ストレージ７０のアドレス領域のデータ（例えば、バイナリデータ）を読出し、その総和を算出し、同様に、第１ストレージ３０のシステム起動用データが格納されたアドレス領域のデータ（例えば、バイナリデータ）を読出し、その総和を算出する。確認処理部５１Ｃは、算出された両方の総和を比較する。なお、実施の形態１では、プロセッサブロック５１には、第２ストレージ７０のシステム起動用データ７１が格納されたアドレス領域および第１ストレージ３０のシステム起動用データが格納されるべきアドレス領域を指定するデータが予め格納されている。
【００４３】
確認処理部５１Ｃは、総和の比較結果が一致を示すときは、ローディング成功を示すデータを出力し、不一致を示すときはローディング失敗のデータを出力する（ステップＳ９）。
【００４４】
確認処理部５１Ｃは、例えば、ローディング成功または失敗を示すデータを、外部Ｉ／Ｆ５２を介して、切替装置２００に出力する。切替装置２００は、確認処理部５１Ｃからのローディング成功または失敗を示すデータに基づき、ＬＥＤ２０１の点灯態様（例えば、点滅周期、点灯色等）を変化させる。オペレータはＬＥＤ２０１の点灯態様から、システム起動用データ７１のローディングの成功/失敗を確認することができる。
【００４５】
なお、上記の比較処理は、チェックサムを用いた方法に限定されない。また、Verify処理は、上記の比較処理を限定されない。
【００４６】
次に、切替装置２００がＰＬＣ１００に装着されないケースを説明する。ＰＬＣ１００の電源がオンされたとき、プロセッサブロック５１が、外部Ｉ／Ｆ５２を介してコネクタ端子Ｐ１とＰ２から受ける電圧は、短絡電圧ではない（ステップＳ１で‘装着有’）。プロセッサブロック５１は、コネクタ端子Ｐ１とＰ２から受ける電圧と短絡電圧とを比較し、比較結果が‘不一致’を示すことに基づき、第２格納処理部５１Ｂを起動する。起動された第２格納処理部５１Ｂは、第１ストレージ３０からシステム起動用データ７１のローディングを開始する（ステップＳ１３）。具体的には、第２格納処理部５１Ｂは、内部Ｉ／Ｆ５３を介して第１ストレージ３０のブートローダ７Ｃ（図５（Ｄ）参照）に起動命令を出力する。
【００４７】
第２格納処理部５１Ｂからの起動命令により起動されたブートローダ７Ｃは、第１ストレージ３０からＯＳ７Ａおよびファームウェア７Ｂを読出し、読出された内容を主記憶装置２０に格納する。第１ストレージ３０からのシステム起動用データ（より特定的にはシステムプログラム）のローディングが完了すると、主記憶装置２０の内容は、図５（Ｅ）から図５（Ｆ）に変化する。
【００４８】
その後、第１ストレージ３０のブートローダ７Ｃは、主記憶装置２０のＯＳ７Ａを起動する（ステップＳ１５）。ＯＳ７Ａが起動されると、ＯＳ７Ａの制御のもとでＭＰＵ１０はユーザプログラムを起動する（ステップＳ１７）。
【００４９】
上記に述べた図４の処理では、切替装置２００が装着されている場合は、第２ストレージ７０のシステム起動用データ７１を、第１ストレージ３０にローディングするのに対し、切替装置２００が装着されていない場合は、第１ストレージ３０のシステム起動用データ７１（より特定的にはシステムプログラム）を主記憶装置２０にローディングする。したがって、オペレータは、ＰＬＣユニット３００の部位１１０に切替装置２００を装着する、または取外すという簡単な操作により、ローディング元の記憶部およびローディング先の記憶部をそれぞれ切替えながら、システム起動用データ７１のローディングを実施することができる。
【００５０】
なお、実施の形態１では、切替装置２００が脱着可能に装着されたときにローディングを開始する回路としてＦＰＧＡ５０を用いたが、ＡＳＩＣ（Application Specific Integrated Circuit)を用いてもよく、またＦＰＧＡ５０とＡＳＩＣの組合せであってもよい。
【００５１】
＜動作モードの切替え＞
図４の処理は、ＰＬＣ１００の起動時の動作モードを切替える方法としても適用することができる。すなわち、この方法では、ＰＬＣ１００の電源がオンされた場合の起動時に、上記の予め定められた回路が確立されるときは、第１格納処理部５１Ａが起動して、システム起動用データ７１を第２ストレージ７０から読出し、第１ストレージ３０に格納する第１動作モードを実施する。これに対して、電源がオンされた場合の起動時に上記の予め定められた回路が確立しないときは、第２格納処理部５１Ｂが起動して、第１ストレージ３０に格納されたシステム起動用データ７１（より特定的にはシステムプログラム）を読出し、主記憶装置２０に格納する第２動作モードを実施する。
【００５２】
このように、オペレータは、ＰＬＣユニット３００の部位１１０への切替装置２００の装着/取外という簡単な操作により、ＰＬＣ１００の起動時の動作モードを切替えることができる。
【００５３】
[実施の形態２]
実施の形態２は、実施の形態１の変形例を示す。図６は、実施の形態２にかかるＰＬＣの構成を周辺装置と関連付けて示す図である。実施の形態１では、第２ストレージ７０は、ＰＬＣ１００に備えられたが、図６に示すように、切替装置２００に備えるようにしてもよい。
【００５４】
図６では、図１の構成とは異なり、第２ストレージ７０を備えないＰＬＣ１００Ａに、第２ストレージ７０を備える切替装置２００Ａを脱着可能に装着する構成が示される。図６の他の構成は、図１のそれらと同様であるから、説明は繰返さない。
【００５５】
図６を参照して、ＦＰＧＡ５０の外部Ｉ／Ｆ５２は、切替装置２００Ａ等の外部装置が有する入出力端子を接続可能なコネクタ端子（ピン）Ｐ１，Ｐ２，Ｐ３を有する。
【００５６】
切替装置２００の端子部は、端子（ピン）Ｐ１１，Ｐ１２、および第２ストレージ７０に接続された端子（ピン）Ｐ１３を備える。
【００５７】
オペレータが、切替装置２００Ａの端子部を外部Ｉ／Ｆ５２に嵌めこみ、切替装置２００ＡがＦＰＧＡ５０に装着されると、上記の予め定められた回路が確立されるとともに、端子Ｐ１３はコネクタ端子Ｐ３と接続する。これにより、プロセッサブロック５１の第１格納処理部５１Ａは、コネクタ端子Ｐ３と端子Ｐ１３を介して、切替装置２００の第２ストレージ７０から第１ストレージ３０へのローディングすることが可能となる。
【００５８】
[実施の形態３]
実施の形態３は、実施の形態１または２の変形例を示す。図７は、実施の形態３を説明するための図である。上記の各実施の形態では、システム起動用データ７１のローディング（図４のステップＳ３）は、ＦＰＧＡ５０のみにより実施されたが、ＦＰＧＡ５０が他のデバイス等と協同して実施してもよい。
【００５９】
図７（Ａ）は、実施の形態１で説明したステップＳ３の方法を示す。図７（Ａ）を参照すると、ＦＰＧＡ５０（第１格納処理部５１Ａ）は、第２ストレージ７０の予め定められたアドレス領域からシステム起動用データ７１を読出し、読出された内容を第２ストレージ７０の予め定められたアドレス領域に格納する（書込む）。
【００６０】
これに対して、図７（Ｂ）に示すように、システム起動用データ７１のローディング（図４のステップＳ３）を、第２ストレージ７０に格納されたローディング用のコマンド７２を用いて実施するとしてもよい。
【００６１】
具体的には、ＰＬＣ１００の電源がオンされると、第１格納処理部５１Ａが起動される。第１格納処理部５１Ａは、第２ストレージ７０のローディング用のコマンド７２を実行することにより（ステップＳ３ａ）、ローディングを実施する（ステップＳ３ｂ）。この場合は、第２ストレージ７０からシステム起動用データ７１を読出すためのアドレス、および読出されたシステム起動用データ７１を書込むための第１ストレージ３０のアドレスを指定する情報を、コマンド７２に設定しておくことが可能となる。
【００６２】
また、図７（Ｃ）に示すように、システム起動用データ７１のローディング（図４のステップＳ３）を、ＭＰＵ１０を用いて実施する構成としてもよい。具体的には、ＰＬＣ１００の電源がオンされると、第１格納処理部５１Ａが起動される。第１格納処理部５１Ａは起動されると、ＭＰＵ１０を起動し、ＭＰＵ１０に第２ストレージ７０のコマンド７２を実行するよう指令を与える（ステップＳ３ｃ）。ＭＰＵ１０は、第１格納処理部５１Ａからの指令に従い第２ストレージ７０のコマンド７２を実行する（ステップＳ３ｄ）。これにより、ローディングが実施される（ステップＳ３ｅ）。
【００６３】
なお、図７の（Ａ）〜（Ｃ）に示したローディング方法は、第２格納処理部５１Ｂによるシステム起動用データの第１ストレージ３０から主記憶装置２０へのローディング（図４のステップＳ１３）に適用することもできる。
【００６４】
[実施の形態の利点]
各実施の形態によれば、ＰＬＣ１００のプログラムを変更すべく記憶部の内容の書換えは、特許文献１のようなディップスイッチの操作によるのではなく、切替装置２００のＦＰＧＡ５０への装着により実施することが可能となる。したがって、ＰＬＣ１００のプログラムの変更を簡単操作で実現することができる。
【００６５】
また、各実施の形態におけるシステム起動用データ７１のローディングによりＰＬＣ１００を製造（生産）する場合に、ＰＬＣの製造を簡単操作で実現することができて、小さなディップスイッチ操作を用いる場合に比べて、ＰＬＣの製造効率を改善することができる。
【００６６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６７】
７Ｂ  ファームウェア、７Ｃ  ブートローダ、２０  主記憶装置、３０  第１ストレージ、５１  プロセッサブロック、７０  第２ストレージ、７１  システム起動用データ、７２  コマンド、８０  バス、９０  基板、１００，１００Ａ  ＰＬＣ、１１０，１２０  部位、２００，２００Ａ  切替装置、Ｐ１，Ｐ２，Ｐ３  コネクタ端子、Ｐ１１，Ｐ１２，Ｐ１３  端子、Ｗ  配線。
【図１】
2018124866.tif 000003
【図２】
2018124866.tif 000004
【図３】
2018124866.tif 000005
【図４】
2018124866.tif 000006
【図５】
2018124866.tif 000007
【図６】
2018124866.tif 000008
【図７】
2018124866.tif 000009
【手続補正書】
【提出日】平成30年3月30日(2018.3.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
主記憶装置２０は、ＭＰＵ１０により読出されて実行されるプログラムまたはデータを格納するためのＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等を含む。ストレージＩ／Ｆ部４０は、外部の記憶媒体である第２ストレージ７０が脱着可能に装着され得る。第２ストレージ７０は「第２の記憶部」の一実施例である。ＦＰＧＡ５０は、「外部装置」の一実施例である切替装置２００が脱着可能に装着され得る。電源６０は、ＰＬＣ１００の各部に電力を供給する。これら各部は、バス８０を介して相互にデータを入出力することができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
次に、切替装置２００がＰＬＣ１００に装着されないケースを説明する。ＰＬＣ１００の電源がオンされたとき、プロセッサブロック５１が、外部Ｉ／Ｆ５２を介してコネクタ端子Ｐ１とＰ２から受ける電圧は、短絡電圧ではない（ステップＳ１で‘装着無’）。プロセッサブロック５１は、コネクタ端子Ｐ１とＰ２から受ける電圧と短絡電圧とを比較し、比較結果が‘不一致’を示すことに基づき、第２格納処理部５１Ｂを起動する。起動された第２格納処理部５１Ｂは、第１ストレージ３０からシステム起動用データ７１のローディングを開始する（ステップＳ１３）。具体的には、第２格納処理部５１Ｂは、内部Ｉ／Ｆ５３を介して第１ストレージ３０のブートローダ７Ｃ（図５（Ｄ）参照）に起動命令を出力する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
切替装置２００Ａの端子部は、端子（ピン）Ｐ１１，Ｐ１２、および第２ストレージ７０に接続された端子（ピン）Ｐ１３を備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
オペレータが、切替装置２００Ａの端子部を外部Ｉ／Ｆ５２に嵌めこみ、切替装置２００ＡがＦＰＧＡ５０に装着されると、上記の予め定められた回路が確立されるとともに、端子Ｐ１３はコネクタ端子Ｐ３と接続する。これにより、プロセッサブロック５１の第１格納処理部５１Ａは、コネクタ端子Ｐ３と端子Ｐ１３を介して、切替装置２００Ａの第２ストレージ７０から第１ストレージ３０へのローディングすることが可能となる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
図７（Ａ）は、実施の形態１で説明したステップＳ３の方法を示す。図７（Ａ）を参照すると、ＦＰＧＡ５０（第１格納処理部５１Ａ）は、第２ストレージ７０の予め定められたアドレス領域からシステム起動用データ７１を読出し、読出された内容を第１ストレージ３０の予め定められたアドレス領域に格納する（書込む）。