IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ パナソニックIPマネジメント株式会社の特許一覧

特許7373747プログラマブルコントローラ、プログラマブルコントローラの更新方法
<>
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図1
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図2
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図3
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図4
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図5
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図6
  • 特許-プログラマブルコントローラ、プログラマブルコントローラの更新方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】プログラマブルコントローラ、プログラマブルコントローラの更新方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20231027BHJP
【FI】
G05B19/05 N
【請求項の数】 13
(21)【出願番号】P 2020049334
(22)【出願日】2020-03-19
(65)【公開番号】P2021149574
(43)【公開日】2021-09-27
【審査請求日】2023-01-06
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】山本 亮輔
(72)【発明者】
【氏名】勝谷 裕樹
(72)【発明者】
【氏名】梅嵜 太郎
(72)【発明者】
【氏名】樋口 智哉
【審査官】田中 友章
(56)【参考文献】
【文献】特開2019-071049(JP,A)
【文献】特開2001-100815(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
システムプログラムが記憶される記憶部と、
前記システムプログラムに基づいてシーケンスを実行する制御部と、
前記記憶部と前記制御部とを収容する本体ケースと、
前記本体ケースに設けられ、メモリカードが挿入されるカードスロットと、
前記カードスロットを保護するように前記本体ケースに取着されるカバー部材と、
前記カバー部材が前記カードスロットにメモリカードを挿入可能な開放状態か、前記カードスロットを保護する保護状態かを検出するカバー検出部と、
前記カードスロットに前記メモリカードが挿入されているか否かを検出するカード検出部と、
通常モードか更新モードかを選択するモード選択部と、
を備え、
前記制御部は、電源投入時に、
(a)前記カードスロットに前記メモリカードが挿入されていることと、
(b)前記カバー部材が開放状態であることと、
(c)前記モード選択部により前記更新モードが選択されていることと、
(d)前記メモリカードに記憶されたデータが前記システムプログラムの少なくとも一部を更新するためのデータであることと、
を満たす場合に、前記メモリカードに記憶された前記データにより前記システムプログラムの更新処理を実行する、
プログラマブルコントローラ。
【請求項2】
前記制御部は、電源投入時に更新モードに遷移し、その更新モードにおいて、前記(a)~前記(d)の少なくとも1つを満たさない場合に前記通常モードに遷移し、前記記憶部に記憶されたユーザプログラムを実行する、
請求項1に記載のプログラマブルコントローラ。
【請求項3】
前記制御部は、前記通常モードにおいて、前記システムプログラムを更新するためのデータが記憶された前記メモリカードが前記カードスロットに挿入されている場合に、前記メモリカードが挿入されている旨を報知する、請求項1又は請求項2に記載のプログラマブルコントローラ。
【請求項4】
前記制御部は、前記更新モードにおいて前記システムプログラムの更新処理を実行している間、前記モード選択部による前記通常モードの選択を無効化する、請求項1から請求項3のいずれか一項に記載のプログラマブルコントローラ。
【請求項5】
前記制御部は、前記通常モードの選択を無効化するとともに前記更新処理を実行中である旨を報知する、請求項4に記載のプログラマブルコントローラ。
【請求項6】
前記モード選択部は、ユーザプログラムの処理実行と処理停止とを切り替える動作切替部であり、
前記制御部は、前記処理実行が選択された場合に前記通常モードにおいて前記ユーザプログラムを実行し、前記ユーザプログラムの実行中に前記処理停止が選択された場合に前記ユーザプログラムの実行を停止する、
請求項1から請求項5のいずれか一項に記載のプログラマブルコントローラ。
【請求項7】
前記カバー部材は、ヒンジにより前記本体ケースに対して回動可能に連結されている、請求項1から請求項6のいずれか一項に記載のプログラマブルコントローラ。
【請求項8】
システムプログラムが記憶される記憶部と、
前記システムプログラムに基づいてシーケンスを実行する制御部と、を備えたプログラマブルコントローラの更新方法であって、
前記制御部は、電源投入時に、
(a)カードスロットにメモリカードが挿入されていることと、
(b)前記カードスロットを保護するカバー部材が開放状態であることと、
(c)モード選択部により前記システムプログラムを実行する通常モードと異なる更新モードが選択されていることと、
(d)前記メモリカードに記憶されたデータが前記システムプログラムの少なくとも一部を更新するためのデータであることと、
を満たす場合に、前記メモリカードに記憶された前記データにより前記システムプログラムの更新処理を実行する、
プログラマブルコントローラの更新方法。
【請求項9】
前記制御部は、電源投入時に更新モードに遷移し、その更新モードにおいて、前記(a)~前記(d)の少なくとも1つを満たさない場合に前記通常モードに遷移し、前記記憶部に記憶されたユーザプログラムを実行する、
請求項8に記載のプログラマブルコントローラの更新方法。
【請求項10】
前記制御部は、前記通常モードにおいて、前記システムプログラムを更新するためのデータが記憶された前記メモリカードが前記カードスロットに挿入されている場合に、前記メモリカードが挿入されている旨を報知する、請求項8又は請求項9に記載のプログラマブルコントローラの更新方法。
【請求項11】
前記制御部は、前記更新モードにおいて前記システムプログラムの更新処理を実行している間、前記モード選択部による前記通常モードの選択を無効化する、請求項8から請求項10の何れか一項に記載のプログラマブルコントローラの更新方法。
【請求項12】
前記制御部は、前記通常モードの選択を無効化するとともに前記更新処理を実行中である旨を報知する、請求項11に記載のプログラマブルコントローラの更新方法。
【請求項13】
前記モード選択部は、ユーザプログラムの処理実行と処理停止とを切り替える動作切替部であり、
前記制御部は、前記処理実行が選択された場合に前記通常モードにおいて前記ユーザプログラムを実行し、前記ユーザプログラムの実行中に前記処理停止が選択された場合に前記ユーザプログラムの実行を停止する、
請求項8から請求項12のいずれか一項に記載のプログラマブルコントローラの更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラマブルコントローラ、プログラマブルコントローラの更新方法に関する。
【背景技術】
【0002】
従来、プログラマブルコントローラ(以下、単に「コントローラ」という)は、コントローラ自身の動作のためのシステムプログラム(ファームウェア)と、コントローラに接続された各種のユニットを利用して所望の制御を行うためのユーザプログラム(ラダープログラム、等)とを記憶する。ユーザは、新たに作成したユーザプログラムをコントローラに記憶し、又はコントローラに記憶されたユーザプログラムを変更した新たなユーザプログラムにより更新する。
【0003】
コントローラのファームウェアは、コントローラの機能向上や新たな機能の付加のために、例えばサポート関係のメンバー(メンテナンス専門の作業者)によって更新されることが多い。ファームウェアの更新には、プログラムを記憶した媒体として例えばメモリカードが用いられる。メモリカードをコントローラ等のカードスロットに挿入し、メモリカードに記憶したプログラムにより、コントローラのファームウェアを更新する。例えば、特許文献1には、通常モードと専用モードとを備え、リムーバブルメディアを用いて専用モードで作業を実施する電子装置が開示されている。また、特許文献2には、カード挿入部の開口に開閉可能に設けられたカバーを備え、カバーが開状態閉状態へ遷移したことにより、メモリカード内の情報をコピーする装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-287537号公報
【文献】特開2002-140204号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、メモリカードをカードスロットに挿入した状態でサポート関係のメンバーが現場から離れてしまう、つまりメモリカードの置き忘れが発生するというような人為的ミスの発生リスクが想定される。上記の特許文献1の電子装置は、専用モードから通常モードへの切り替え時に、利用可能なリムーバブルメディアが検知されたときに通常モードへの切り替えを禁止する。通常モードへの切り替え、又は通常モードでの操作が禁止されるため、取り忘れをユーザに気付かせる。しかしながら、作業終了後に、通常モードへの切り替えができないことを確認しなければならず、更なる改善の余地がある。また、特許文献2では、カバーの閉操作によってメモリカード内のプログラムのコピーを開始するため、カバーが閉まった状態であるためメモリカードの取り忘れが生じるおそれがあり、取り忘れのために改善の余地がある。
【0006】
本開示の目的は、システムプログラムの更新に用いられる記憶媒体の取り忘れを防止可能としたプログラマブルコントローラ、プログラマブルコントローラの更新方法を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本開示のプログラマブルコントローラは、システムプログラムが記憶される記憶部と、前記システムプログラムに基づいてシーケンスを実行する制御部と、前記記憶部と前記制御部とを収容する本体ケースと、前記本体ケースに設けられ、メモリカードが挿入されるカードスロットと、前記カードスロットを保護するように前記本体ケースに取着されるカバー部材と、前記カバー部材が前記カードスロットにメモリカードを挿入可能な開放状態か、前記カードスロットを保護する保護状態かを検出するカバー検出部と、前記カードスロットに前記メモリカードが挿入されているか否かを検出するカード検出部と、通常モードか更新モードかを選択するモード選択部と、を備え、前記制御部は、電源投入時に、(a)前記カードスロットに前記メモリカードが挿入されていることと、(b)前記カバーが開放状態であることと、(c)前記モード選択部により前記更新モードが選択されていることと、(d)前記メモリカードに記憶されたデータが前記システムプログラムの少なくとも一部を更新するためのデータであることと、を満たす場合に、前記メモリカードに記憶された前記データにより前記システムプログラムの更新処理を実行する。
【0008】
また、本開示のプログラマブルコントローラの更新方法は、システムプログラムが記憶される記憶部と、前記システムプログラムに基づいてシーケンスを実行する制御部と、を備えたプログラマブルコントローラの更新方法であって、前記制御部は、電源投入時に、(a)カードスロットに前記メモリカードが挿入されていることと、(b)前記カードスロットを保護するカバー部材が開放状態であることと、(c)モード選択部により前記システムプログラムを実行する通常モードと異なる更新モードが選択されていることと、(d)前記メモリカードに記憶されたデータが前記システムプログラムの少なくとも一部を更新するためのデータであることと、を満たす場合に、前記メモリカードに記憶された前記データにより前記システムプログラムの更新処理を実行する。
【発明の効果】
【0009】
本開示の一態様によれば、プログラムの更新に用いられる記憶媒体の取り忘れを防止可能としたプログラマブルコントローラ、プログラマブルコントローラの更新方法を提供できる。
【図面の簡単な説明】
【0010】
図1】プログラマブルコントローラの正面図。
図2】プログラマブルコントローラのブロック回路図。
図3】カバーを閉じた状態のプログラマブルコントローラを示す斜視図。
図4】カバーを開いた状態のプログラマブルコントローラを示す斜視図。
図5】ファームウェアの更新判定処理を示すフローチャート。
図6】変更例の更新判定処理を示すフローチャート。
図7】変更例の更新判定処理を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、一実施形態を説明する。
なお、添付図面は、理解を容易にするために構成要素を拡大して示している場合がある。構成要素の寸法比率は実際のものと、または別の図面中のものと異なる場合がある。
【0012】
図1に示すように、プログラマブルコントロールシステム10は、コントローラ11を有している。このコントローラ11は、拡張ユニット12を接続可能に構成されている。拡張ユニット12は、コントローラ11に対して直列的に接続される。コントローラ11から最も遠い拡張ユニット12には、エンドユニット13が接続される。拡張ユニット12は、モータ等の外部機器が接続されるドライバユニット、信号を入出力する入出力ユニット、等である。なお、図1では、3つの拡張ユニット12とエンドユニット13とをコントローラ11に対して直列的に接続した状態を示している。そして、図1では、3つの拡張ユニット12を同じ形状にて示しているが、機能に応じて拡張ユニット12の形状は異なる。なお、入出力などの機能を有するコントローラ11は、そのコントローラ11とエンドユニット13とによりプログラマブルコントロールシステムを構成することもできる。
【0013】
図1に示すように、コントローラ11は、本体ケース21を備えている。本体ケース21には、コントローラ11を構成する部材が内蔵されている。また、本実施形態の本体ケース21は、カードスロット22を備えている。カードスロット22は、可搬型の記録媒体としてのメモリカード15(図4参照)を挿入可能に形成されている。また、コントローラ11は、スロットカバー23を備えている。スロットカバー23は、カードスロット22の開口部を覆うように、本体ケース21に取着されている。このスロットカバー23は、カードスロット22を外部に対して開放、又はカードスロット22を覆って保護するとともに、カードスロット22へのメモリカード15(図2図4参照)の挿抜をしないために設けられている。本実施形態において、スロットカバー23は、ヒンジ23aによって本体ケース21の正面パネル21aに対して回動可能に取着されている。図1図3に示すように、スロットカバー23は、カードスロット22を覆い、カードスロット22を保護するとともに、メモリカード15の挿抜が禁止される状態に配置される。また、図4に示すように、スロットカバー23は、カードスロット22を開放する状態に配置される。開放状態のスロットカバー23は、カードスロット22に対してメモリカード15を挿抜可能とする。
【0014】
また、本体ケース21の正面パネル21aには、モード切替スイッチ(図2では「モード切替SW」と表記。以下、「モード切替SW」)24、表示部25が設けられている。
モード切替SW24は、このコントローラ11の動作モードを切り替えるためのスイッチである。動作モードは、ユーザプログラムを実行するモード(処理実行:RUN)と、ユーザプログラムの実行を停止するモード(処理停止:STOP)とを含む。後述するメインCPU32は、モード切替SW24により選択される動作モードに応じた処理を行う。モード切替SW24によって実行モード(RUN)が選択されている場合、メインCPU32は、ユーザプログラムを実行する。そして、モード切替SW24によって停止モードが選択されると、メインCPU32は、ユーザプログラムの実行を停止する。なお、この状態においては、ユーザプログラムの修正等を行うため、編集することが可能な状態となっている。なお、ユーザプログラムを実行するモードと異なるモードは、実行を停止するモード以外に、例えばユーザプログラムを編集するモード(PROG)等とすることもできる。このプログラムを編集するモードでは、ユーザプログラムの実行を停止することにより編集可能となるため、上記したユーザプログラムの実行を停止するモード(STOP)と同様の動作モードである。
【0015】
本実施形態において、モード切替SW24は、通常モードか更新モードかを選択するモード選択部として機能する。通常モードは、コントローラ11がユーザプログラムを処理するモードである。更新モードは、コントローラ11のファームウェアを更新するモードである。通常モードは、モード切替SW24を、ユーザプログラムを実行するモード(処理実行:RUN)に操作することにより選択される。更新モードは、ユーザプログラムの実行を停止するモード(処理停止:STOP)に操作することにより選択される。
【0016】
表示部25は、図1に示すように、本体ケース21の正面パネル21aにおいて、上部に設けられている。なお、図1図3図4では破線の枠にて示している。表示部25は、複数のLEDを含み、コントローラ11の動作に応じて、対応するLEDを状態に応じた色で発光させる。この表示部25により、ユーザやサポート関係のメンバーはコントローラ11の状態を把握できる。
【0017】
図2に示すように、コントローラ11は、制御部31、カードスロット22、スロットカバー23、モード切替SW24、表示部25、カード検出部41、カバースイッチ(以下、「カバーSW」)42、周辺回路43を有している。
【0018】
制御部31は、メインCPU32、モーションコントローラ用CPU33、記憶部34を有している。
記憶部34は、ROM35とRAM36とを有している。ROM35は、不揮発性のメモリであり、記憶領域について書換えが可能なメモリである。ROM35には、ファームウェア(システムプログラム)とユーザプログラムとが記憶される。ファームウェアは、コントローラ11の統括的な制御を実施するためのプログラムである。ユーザプログラムは、このコントローラ11、又はコントローラに接続される拡張ユニット12を用いて行う処理のためのプログラムである。ユーザプログラムは、例えばモーションプログラム、等を含む。RAM36は、揮発性又は不揮発性のメモリであり、記憶領域について書換えが可能なメモリである。RAM36には、ファームウェア、ユーザプログラムの実行において用いられる各種の情報(パラメータ、演算結果、等のデータ)が格納される。
【0019】
メインCPU32は、記憶部34に記憶されたファームウェア、ユーザプログラムを実行する。メインCPU32は、ファームウェアに基づいてシーケンスを実行し、コントローラ11の統括的な制御を実施する。メインCPU32が行うシーケンスは、ファームウェアの更新処理、ユーザプログラムの実施、を含む。
【0020】
モーションコントローラ用CPU33は、モータ専用の制御CPUである。モータは、拡張ユニット12のうちの1つであるモータドライバに接続される。モーションコントローラ用CPU33は、メインCPU32と接続され、メインCPU32との間で各種情報を送受信する。なお、制御部31は、メインCPU32のみを備え、モーションコントローラ用CPU33を備えていない構成としてもよい。また、制御部31は、モーションコントローラ用CPU33に替えて、他の専用のCPUを備える構成としてもよい。
【0021】
周辺回路43は、例えば通信回路、クロック生成回路、インタフェース回路、等を含む。通信回路は、コントローラ11が接続されるネットワークを介して他の機器と通信するための回路である。クロック生成回路は、このコントローラ11の動作等に用いられるクロック信号を生成するための回路である。インタフェース回路は、このコントローラ11が備える入出力ポートを介して入出力するための回路である。
【0022】
カバーSW42は、スロットカバー23の状態を検出するためのスイッチである。カバーSW42は、スロットカバー23がカードスロット22を開放してメモリカード15の挿抜を可能としている開放状態のときにオフし、スロットカバー23がカードスロット22を覆ってカードスロット22を保護している保護状態のときにオンする。メインCPU32は、カバーSW42により、スロットカバー23が開放状態にあるか保護状態にあるかを検出できる。
【0023】
カードスロット22は、挿入されるメモリカード15と接続されるカードコネクタ22aを有している。制御部31のメインCPU32は、カードコネクタ22aを介してメモリカード15に対してアクセス可能となる。
【0024】
カード検出部41は、カードスロット22にメモリカード15が挿入されているか否かを検出し、その検出結果を制御部31に出力する。メインCPU32は、カード検出部41によりメモリカード15の有無を検出できる。
【0025】
メモリカード15は、例えばSDカード、メモリチップを搭載したICカード、等の可搬型記録媒体である。メモリカード15は、ユーザプログラムの記憶部34への格納、ユーザプログラムによって収集したデータの格納、等に用いられる。また、メモリカード15は、ファームウェアの更新に用いられる。ファームウェアは、コントローラ11のユーザをサポートするユーザサポート関係のメンバーが行うことで、ユーザの負担を軽減し、誤ったプログラム更新を防止できる。なお、カードスロット22は、メモリカード15単体を直接挿入するもの、メモリカード15を搭載したアダプタやトレイを挿入するもの等、適宜変更可能である。
【0026】
次に、メインCPU32が実行するファームウェアの更新処理を説明する。
図5は、メインCPU32が実行するファームウェアのうち、ファームウェアの更新処理に係るシーケンスを示す。
【0027】
メインCPU32は、コントローラ11の動作電源が投入されると、ステップS11~S17を実行する。
先ず、ステップS11において、メインCPU32は、ファームウェア更新モード(更新モード)へ遷移する。
【0028】
次に、ステップS12において、メインCPU32は、カバーSW42による検出結果に基づき、スロットカバー23が開状態にあるか否かを判定する。メインCPU32は、スロットカバー23が開状態の場合(判定:YES)、次のステップS13に移行する。一方、スロットカバー23が閉状態の場合(判定:NO)、メインCPU32はステップS17に移行する。
【0029】
ステップS13において、メインCPU32は、モード切替SW24が「STOP」になっているか否か、つまり停止を選択しているか否かを判定する。言い換えれば、メインCPU32は、モード切替SW24が「RUN」以外となっているか否か、つまり「RUN」が選択されていない状態になっているか否かを判定する。モード切替SW24が「STOP」になっている場合(判定:YES)、次のステップS14に移行する。一方、モード切替SW24が「STOP」になっていない場合(判定:NO)、メインCPU32は、ステップS17に移行する。
【0030】
ステップS14において、メインCPU32は、カード検出部41の検出結果に基づき、カードスロット22にメモリカード15が挿入されているか否かを判定する。メインCPU32は、メモリカード15が挿入されている場合(判定:YES)、次のステップS15に移行する。一方、メモリカード15が挿入されていない場合(判定:NO)、メインCPU32は、ステップS17に移行する。
【0031】
ステップS15において、メインCPU32は、メモリカード15に更新用ファームウェア(更新用FW)が格納されているか否かを判断する。メインCPU32は、更新用ファームウェアがメモリカード15に格納されていると判定した場合(判定:YES)、次のステップS16に移行する。一方、更新用ファームウェアがメモリカード15に格納されていないと判定した場合(判定:NO)、メインCPU32は、ステップS17に移行する。
【0032】
つまり、メインCPU32は、ステップS12~S15により、(a)カードスロット22にメモリカード15が挿入されていることと、(b)スロットカバー23が開放状態であることと、(c)モード切替SW24により更新モードが選択されていることと、(d)メモリカード15に記憶されたデータがファームウェアの少なくとも一部を更新するためのデータであることと、を判定する。そして、メインCPU32は、(a)~(d)の全てを満たす場合にステップS16に移行し、(a)~(d)の少なくとも1つを満たさない場合にステップS17に移行する。
【0033】
ステップS16において、メインCPU32は、ファームウェア更新(システムプログラム更新)を実施する。例えば、メインCPU32は、記憶部34のROM35に記憶された更新用プログラムを実行し、メモリカード15に格納された更新用ファームウェアを読み出し、その更新用ファームウェアをROM35に格納し、ファームウェアを更新する。ファームウェアの更新を終了すると、メインCPU32は、この更新処理を終了する。
【0034】
一方、ステップS12~S15のいずれか1つのステップの判定結果(判定:NO)により移行したステップS17において、メインCPU32は、通常モードへ遷移し、更新処理を終了する。
【0035】
ここで、カードスロット22とメモリカード15に係る通常モードにおける処理について説明する。
通常モードにおいて、スロットカバー23は閉状態とされる。これにより、カードスロット22にメモリカード15が入っていない状態(空いている状態)でカードスロット22に不用意にメモリカード15が挿入される等を防止する、つまりカードスロット22を保護するとともに、カードスロット22への不用意なメモリカード15の挿入(挿抜)が禁止できる。また、スロットカバー23を閉状態とすることにより、カードスロット22に挿入したメモリカード15が誤って抜かれる等の誤操作を防止できる。
【0036】
また、通常モードにおいて、メインCPU32は、カードスロット22にメモリカード15が挿入されているか否かを判定する。そして、メモリカード15が挿入されている場合、そのメモリカード15が利用可能か否かを判定する。例えば、メモリカード15に更新用ファームウェア(更新用FW)が格納されている場合、そのメモリカード15は通常モードにおいて使用不可である。なお、メモリカード15の所定箇所(アドレス)に識別のための情報(ID)が格納されていてもよい。識別情報としては、例えば、ユーザプログラムが格納されたメモリカードと、データを格納するメモリカードと、更新用ファームウェアが格納されたメモリカードとを区別可能であり、文字や数字等の組み合わせにより設定することができる。識別情報により、メモリカードが通常モードにおいて使用可能か否かを容易に判定できる。そして、通常モードにおいて、使用不可のメモリカード15がカードスロット22に挿入されていることを検知した場合、メインCPU32は、通常モードにおけるプログラムを実行せず、メモリカード15が挿入されている旨、つまりメモリカード15の抜き忘れを報知する。この報知は、例えば、図1等に示す表示部25にエラーを示す表示により行うことができる。なお、報知として、例えば所定の音を鳴らすブザー等を用いることもできる。また、例えばコントローラ11が接続された上位機器に対してネットワークを通じて行うこともできる。
【0037】
(作用)
次に、本実施形態の作用を説明する。
コントローラ11は、ファームウェアが記憶される記憶部34(ROM35)と、ファームウェアに基づいてシーケンスを実行する制御部31(メインCPU32)と、記憶部34と制御部31とを収容する本体ケース21と、本体ケース21に設けられ、メモリカード15が挿入されるカードスロット22と、カードスロット22を保護するように本体ケース21に取着されるスロットカバー23と、スロットカバー23がカードスロット22にメモリカード15を挿入可能な開放状態か、カードスロット22を保護する保護状態かを検出するカバーSW42と、カードスロット22にメモリカード15が挿入されているか否かを検出するカード検出部41と、通常モードか更新モードかを選択するモード切替SW24と、を備える。
【0038】
メインCPU32は、電源投入時に、(a)カードスロット22にメモリカード15が挿入されていることと、(b)スロットカバー23が開放状態であることと、(c)モード切替SW24により更新モードが選択されていることと、(d)メモリカード15に記憶されたデータがファームウェアの少なくとも一部を更新するためのデータであることと、を満たす場合に、メモリカード15に記憶されたデータによりファームウェアの更新処理を実行する。
【0039】
メインCPU32は、上記の更新処理において、スロットカバー23が開状態のときに、ファームウェアの更新を行う。したがって、更新処理を終了したとき、スロットカバー23は、開状態となっている。言い換えれば、スロットカバー23を開状態としなければ、ファームウェアの更新を実施することができない。このため、ファームウェアを更新する作業者(メンテナンス専門の作業者)は、カードスロット22にメモリカード15が挿入されていることを容易に確認することができ、メモリカード15の取り忘れを抑制できる。
【0040】
メインCPU32は、電源投入により自動的に更新モードに遷移し、その更新モードのシーケンスにおいて、モード切替SW24が「STOP」を選択しているか否かを判定する(ステップS13)。したがって、コントローラ11の電源を投入するときには、「STOP」を選択するようにモード切替SW24を切替えておく操作が必要となる。言い換えれば、モード切替SW24により「STOP」を選択することにより、更新モードとすることができる。モード切替SW24は、ユーザがコントローラを使用する通常動作において、電源投入時には処理実行を示す「RUN」が選択されている。このため、通常の動作では行われない操作によって更新モードに遷移させるため、ユーザが誤って更新モードを実行することを防止できる。
【0041】
さらに、メインCPU32は、スロットカバー23が開状態のときに、更新モードのシーケンスを継続し、スロットカバー23が閉状態のときに通常モードに遷移する。したがって、モード切替SW24の操作とともにスロットカバー23を開状態とする操作によって、コントローラ11を更新モードとすることができる。このため、通常の動作では行われない操作によって更新モードに遷移させるため、ユーザが誤って更新モードを実行することを防止できる。
【0042】
通常モードにおいて、スロットカバー23は閉状態とされる。これにより、カードスロット22にメモリカード15が入っていない状態(空いている状態)でカードスロット22に不用意にメモリカード15が挿入される等を防止する、つまりカードスロット22を保護するとともに、カードスロット22への不用意なメモリカード15の挿入(挿抜)が禁止できる。また、スロットカバー23を閉状態とすることにより、カードスロット22に挿入したメモリカード15が誤って抜かれる等の誤操作を防止できる。
【0043】
また、通常モードにおいて、メインCPU32は、カードスロット22にメモリカード15が挿入されているか否かを判定する。そして、メモリカード15が挿入されている場合、そのメモリカード15が利用可能か否かを判定する。例えば、メモリカード15に更新用ファームウェア(更新用FW)が格納されている場合、そのメモリカード15は通常モードにおいて使用不可である。なお、メモリカード15の所定箇所(アドレス)に識別のための情報(ID)が格納されていてもよい。識別情報としては、例えば、ユーザプログラムが格納されたメモリカードと、データを格納するメモリカードと、更新用ファームウェアが格納されたメモリカードとを区別可能であり、文字や数字等の組み合わせにより設定することができる。識別情報により、メモリカードが通常モードにおいて使用可能か否かを容易に判定できる。そして、通常モードにおいて、使用不可のメモリカード15がカードスロット22に挿入されていることを検知した場合、メインCPU32は、通常モードにおけるプログラムを実行せず、メモリカード15が挿入されている旨、つまりメモリカード15の抜き忘れを報知する。この報知は、例えば、図1等に示す表示部25にエラーを示す表示により行うことができる。なお、報知として、例えば所定の音を鳴らすブザー等を用いることもできる。また、例えばコントローラ11が接続された上位機器に対してネットワークを通じて行うこともできる。これにより、使用不可なメモリカード15がカードスロット22に挿入されていることを容易に知ることができる。
【0044】
メインCPU32は、更新モードにおいて、ファームウェアの更新処理を実行している間、モード切替SW24からの信号を無効化する。つまり、メインCPU32は、モード切替SW24によるモードの切替え、つまりユーザプログラムの実行モード「RUN」への遷移を無効化する。そして、メインCPU32は、更新処理を実行中である旨を報知する。この報知は、例えば、図1等に示す表示部25にエラーを示す表示を行う。により行うことができる。なお、報知として、例えば所定の音を鳴らすブザー等を用いることもできる。また、例えばコントローラ11が接続された上位機器に対してネットワークを通じて行うこともできる。本実施形態において、これらの報知は、上記したメモリカード15が挿入されている旨の報知と異なっているが、同一であってもよい。これにより、メインCPU32は、更新モードから通常モードへと切替えられることにより更新処理が中断することを防止できる。更新処理が中断されると、ファームウェアが破損してコントローラ11が動作不能になる場合がある。したがって、メインCPU32は、更新処理中における通常モードへの遷移を無効化することで、ファームウェアの破損を防止できる。
【0045】
メインCPU32は、通常モードにおいて、モード切替SW24により動作停止(STOP)が選択された場合に、ユーザプログラムの実行を停止する。これにより、ユーザプログラムを強制的に停止させることができる。
【0046】
(効果)
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)メインCPU32は、ファームウェアの更新処理において、スロットカバー23が開状態のときに、ファームウェアの更新を行う。したがって、更新処理を終了したとき、スロットカバー23は、開状態となっている。言い換えれば、スロットカバー23を開状態としなければ、ファームウェアの更新を実施することができない。このため、ファームウェアを更新する作業者(メンテナンス専門の作業者)は、カードスロット22にメモリカード15が挿入されていることを容易に確認することができ、メモリカード15の取り忘れを抑制できる。
【0047】
(2)メインCPU32は、電源投入により自動的に更新モードに遷移し、その更新モードのシーケンスにおいて、モード切替SW24が「STOP」を選択しているか否かを判定する(ステップS13)。したがって、コントローラ11の電源を投入するときには、「STOP」を選択するようにモード切替SW24を切替えておく操作が必要となる。言い換えれば、モード切替SW24により「STOP」を選択することにより、更新モードとすることができる。モード切替SW24は、ユーザがコントローラを使用する通常動作において、電源投入時には処理実行を示す「RUN」が選択されている。このため、通常の動作では行われない操作によって更新モードに遷移させるため、ユーザが誤って更新モードを実行することを防止できる。
【0048】
(3)メインCPU32は、スロットカバー23が開状態のときに、更新モードのシーケンスを継続し、スロットカバー23が閉状態のときに通常モードに遷移する。したがって、モード切替SW24の操作とともにスロットカバー23を開状態とする操作によって、コントローラ11を更新モードとすることができる。このため、通常の動作では行われない操作によって更新モードに遷移させるため、ユーザが誤って更新モードを実行することを防止できる。
【0049】
(4)通常モードにおいて、スロットカバー23は閉状態とされる。これにより、カードスロット22に異物が侵入したりする等を防止する、つまりカードスロット22を保護できる。また、スロットカバー23を閉状態とすることにより、カードスロット22に挿入したメモリカード15が誤って抜かれる等の誤操作を防止できる。
【0050】
(5)メインCPU32は、更新モードにおいて、ファームウェアの更新処理を実行している間、モード切替SW24からの信号を無効化する。つまり、メインCPU32は、モード切替SW24によるモードの切替え、つまりユーザプログラムの実行モード「RUN」への遷移を無効化する。これにより、メインCPU32は、更新モードから通常モードへと切替えられることにより更新処理が中断することを防止できる。更新処理が中断されると、ファームウェアが破損してコントローラ11が動作不能になる場合がある。したがって、メインCPU32は、更新処理中における通常モードへの遷移を無効化することで、ファームウェアの破損を防止できる。
【0051】
(6)メインCPU32は、通常モードにおいて、モード切替SW24により動作停止(STOP)が選択された場合に、ユーザプログラムの実行を停止する。これにより、ユーザプログラムを強制的に停止させることができる。
【0052】
(7)スロットカバー23は、ヒンジ23aにより本体ケース21に対して回動可能に連結されている。したがって、メモリカード15を挿抜した際に、スロットカバー23閉じ忘れたり紛失したりする等の人為的ミスを回避することができる。
【0053】
(変更例)
上記実施形態は、以下の態様で実施してもよい。上記実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0054】
・ファームウェアの更新処理のシーケンスは適宜変更されてもよい。
図6に示すステップS21~S27のシーケンスによって、ファームウェアの更新判定が行われてもよい。
【0055】
先ず、ステップS21において、ファームウェア更新モード(更新モード)へ遷移する。ステップS22において、モード切替SW24が「STOP」になっているか否か、つまり停止を選択しているか否かを判定する。言い換えれば、メインCPU32は、モード切替SW24が「RUN」以外となっているか否か、つまり「RUN」が選択されていない状態になっているか否かを判定する。ステップS23において、カバーSW42による検出結果に基づき、スロットカバー23が開状態にあるか否かを判定する。ステップS24において、カード検出部41の検出結果に基づき、カードスロット22にメモリカード15が挿入されているか否かを判定する。ステップS25において、メモリカード15に更新用ファームウェア(更新用FW)が格納されているか否かを判断する。
【0056】
そして、上記ステップS22~S25における判定の全てを満足する(判定:YES)の場合、ステップS26において、ファームウェア更新を実施する。上記ステップS22~S25における判定の少なくとも1つを満たさない(判定:NO)の場合、ステップS27において、通常モードへ遷移する。
【0057】
また、図7に示すステップS31~S37のシーケンスによって、ファームウェアの更新判定が行われてもよい。
先ず、ステップS31において、ファームウェア更新モード(更新モード)へ遷移する。ステップS32において、カバーSW42による検出結果に基づき、スロットカバー23が開状態にあるか否かを判定する。ステップS33において、カード検出部41の検出結果に基づき、カードスロット22にメモリカード15が挿入されているか否かを判定する。ステップS34において、モード切替SW24が「STOP」になっているか否か、つまり停止を選択しているか否かを判定する。言い換えれば、メインCPU32は、モード切替SW24が「RUN」以外となっているか否か、つまり「RUN」が選択されていない状態になっているか否かを判定する。ステップS35において、メモリカード15に更新用ファームウェア(更新用FW)が格納されているか否かを判断する。
【0058】
そして、上記ステップS32~S35における判定の全てを満足する(判定:YES)の場合、ステップS36において、ファームウェア更新を実施する。上記ステップS32~S35における判定の少なくとも1つを満たさない(判定:NO)の場合、ステップS37において、通常モードへ遷移する。
【0059】
・カバー部材として本体ケース21に取着されたスロットカバー23を設けたが、スロットカバー23は、本体ケース21の正面パネル21aから取り外し可能に構成されてもよい。例えばシリコーンゴム等によりカードスロット22に挿入されるスロットカバーとしてもよい。
【符号の説明】
【0060】
10 プログラマブルコントロールシステム
11 プログラマブルコントローラ
12 拡張ユニット
13 エンドユニット
15 メモリカード
21 本体ケース
21a 正面パネル
22 カードスロット
23 スロットカバー(カバー部材)
23a ヒンジ
24 モード切替スイッチ(モード選択部、動作切替部)
25 表示部
31 制御部
32 メインCPU
33 モーションコントローラ用CPU
34 記憶部
35 ROM
36 RAM
41 カード検出部
42 カバースイッチ(カバー検出部)
43 周辺回路
S11~S17,S21~S27,S31~S37 ステップ
図1
図2
図3
図4
図5
図6
図7