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

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

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

特開2023-160172プログラマブルコントローラ、処理方法、及びプログラム
<>
  • 特開-プログラマブルコントローラ、処理方法、及びプログラム 図1
  • 特開-プログラマブルコントローラ、処理方法、及びプログラム 図2
  • 特開-プログラマブルコントローラ、処理方法、及びプログラム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023160172
(43)【公開日】2023-11-02
(54)【発明の名称】プログラマブルコントローラ、処理方法、及びプログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20231026BHJP
【FI】
G05B19/05 Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022070325
(22)【出願日】2022-04-21
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002527
【氏名又は名称】弁理士法人北斗特許事務所
(72)【発明者】
【氏名】樋口 智哉
(72)【発明者】
【氏名】本間 直樹
(72)【発明者】
【氏名】勝谷 裕樹
(72)【発明者】
【氏名】梅嵜 太郎
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220BB15
5H220CC07
5H220FF05
5H220JJ02
5H220JJ12
5H220JJ26
5H220MM03
(57)【要約】
【課題】ユーザの作業負担をより軽減しやすくすること。
【解決手段】プログラマブルコントローラ1は、記憶部3と、制御部2と、を備える。記憶部3は、システムプログラムP1を予め記憶している。制御部2は、少なくともユーザプログラムP2を含むプロジェクトファイルFL1、及びシステムプログラムP1に基づいてシーケンス制御を実行する。制御部2は、制御部2への動作電力の供給が開始されたこと、又は外部メモリ5の存在が確認されたことをトリガーに、外部メモリ5内における所定のディレクトリパスを確認し、確認結果に応じて、外部メモリ5へのプロジェクトファイルFL1のバックアップ、又は外部メモリ5からのプロジェクトファイルFL1のリストアを自動実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
システムプログラムを予め記憶している記憶部と、
少なくともユーザプログラムを含むプロジェクトファイル、及び前記システムプログラムに基づいてシーケンス制御を実行する制御部と、
を備え、
前記制御部は、前記制御部への動作電力の供給が開始されたこと、又は外部メモリの存在が確認されたことをトリガーに、前記外部メモリ内における所定のディレクトリパスを確認し、確認結果に応じて、前記外部メモリへの前記プロジェクトファイルのバックアップ、又は外部メモリからの前記プロジェクトファイルのリストアを自動実行する、
プログラマブルコントローラ。
【請求項2】
前記制御部は、前記確認結果として前記所定のディレクトリパスの特定のフォルダ内に前記プロジェクトファイルが存在しない場合、前記バックアップを自動実行する、
請求項1に記載のプログラマブルコントローラ。
【請求項3】
前記制御部は、前記確認結果として前記所定のディレクトリパスの特定のフォルダ内に前記プロジェクトファイルが存在する場合、前記リストアを自動実行する、
請求項1に記載のプログラマブルコントローラ。
【請求項4】
前記制御部は、前記確認結果として前記所定のディレクトリパスに特定のフォルダが存在しない場合、前記バックアップ、及び前記リストアのいずれも実行しない、
請求項1に記載のプログラマブルコントローラ。
【請求項5】
前記記憶部、及び前記制御部を収容する筐体を更に備え、
前記筐体は、前記外部メモリとしてのメモリカードが挿入可能なカードスロットを有する、
請求項1に記載のプログラマブルコントローラ。
【請求項6】
プログラマブルコントローラにおける処理方法であって、
前記プログラマブルコントローラは、システムプログラムを予め記憶している記憶部と、少なくともユーザプログラムを含むプロジェクトファイル、及び前記システムプログラムに基づいてシーケンス制御を実行する制御部と、を備え、
前記制御部への動作電力の供給が開始されたこと、又は外部メモリの存在が確認されたことをトリガーに、前記外部メモリ内における所定のディレクトリパスを確認する確認処理ステップと、
前記確認処理ステップにおける確認結果に応じて、前記外部メモリへの前記プロジェクトファイルのバックアップ、又は外部メモリからの前記プロジェクトファイルのリストアを自動実行する実行処理ステップと、
を含む、
処理方法。
【請求項7】
1以上のプロセッサに、請求項6に記載の処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、プログラマブルコントローラ、処理方法、及びプログラムに関する。より詳細には本開示は、シーケンス制御を実行するプログラマブルコントローラ、プログラマブルコントローラにおける処理方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、プログラマブルコントローラが実行するシーケンスプログラムを編集及び表示するプログラミング装置について開示されている。このプログラミング装置では、シーケンスプログラムのファイルのバックアップが指示されると、CPUはプログラム保存用記憶装置にシーケンスプログラムが記憶されているか否かを判定する。シーケンスプログラムが記憶されている場合、CPUは、コピー元のディレクトリ情報を使用して、コピー先(バックアップ先)のディレクトリ情報を作成し、プログラム保存用記憶装置に記憶されたファイルをバックアップ用記憶装置の記憶領域にコピーする。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004-152025号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ユーザが、プログラマブルコントローラ及びその周辺機器について十分な操作スキルを有していない場合、記憶装置(外部メモリ)へのバックアップ作業やリストア作業を容易に実施しにくい可能性がある。その結果、ユーザの作業負担が大きくなる可能性がある。
【0005】
本開示は上記事由に鑑みてなされ、ユーザの作業負担をより軽減しやすくするプログラマブルコントローラ、処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様に係るプログラマブルコントローラは、記憶部と、制御部と、を備える。前記記憶部は、システムプログラムを予め記憶している。前記制御部は、少なくともユーザプログラムを含むプロジェクトファイル、及び前記システムプログラムに基づいてシーケンス制御を実行する。前記制御部は、前記制御部への動作電力の供給が開始されたこと、又は外部メモリの存在が確認されたことをトリガーに、前記外部メモリ内における所定のディレクトリパスを確認し、確認結果に応じて、前記外部メモリへの前記プロジェクトファイルのバックアップ、又は外部メモリからの前記プロジェクトファイルのリストアを自動実行する。
【0007】
本開示の一態様に係る処理方法は、プログラマブルコントローラにおける処理方法である。前記プログラマブルコントローラは、記憶部と、制御部と、を備える。前記記憶部は、システムプログラムを予め記憶している。前記制御部は、少なくともユーザプログラムを含むプロジェクトファイル、及び前記システムプログラムに基づいてシーケンス制御を実行する。前記処理方法は、確認処理ステップと、実行処理ステップと、を含む。前記確認処理ステップでは、前記制御部への動作電力の供給が開始されたこと、又は外部メモリの存在が確認されたことをトリガーに、前記外部メモリ内における所定のディレクトリパスを確認する。前記実行処理ステップでは、前記確認処理ステップにおける確認結果に応じて、前記外部メモリへの前記プロジェクトファイルのバックアップ、又は外部メモリからの前記プロジェクトファイルのリストアを自動実行する。
【0008】
本開示の一態様に係るプログラムは、1以上のプロセッサに、上記の処理方法を実行させるためのプログラムである。
【発明の効果】
【0009】
本開示によれば、ユーザの作業負担をより軽減しやすくする、という利点がある。
【図面の簡単な説明】
【0010】
図1図1は、一実施形態に係るプログラマブルコントローラを含むシステム全体の概略ブロック構成図である。
図2図2は、同上のプログラマブルコントローラの正面図である。
図3図3は、同上のプログラマブルコントローラの動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0011】
(概要)
以下、実施形態に係るプログラマブルコントローラ、処理方法及びプログラムについて、図面を用いて説明する。
【0012】
図1に示すように、一態様に係るプログラマブルコントローラ1は、記憶部3(第1メモリ31、第2メモリ32)と、制御部2と、を備える。
【0013】
記憶部3は、システムプログラムP1を予め記憶している。制御部2は、少なくともユーザプログラムP2を含むプロジェクトファイルFL1、及びシステムプログラムP1に基づいてシーケンス制御を実行する。シーケンス制御による制御対象機器は、特に限定されないが、例えば、ボールねじ機構、ギア機構、又はベルト機構等の機械機構を駆動するためのサーボモータ7(図1参照)を想定する。制御部2は、メインCPU(Central Processing Unit)(以下、「第1CPU21」と呼ぶ)、及びモーションコントロール用のCPU(以下、「第2CPU22」と呼ぶ)を含み得る。
【0014】
制御部2は、制御部2への動作電力の供給が開始されたこと、又は外部メモリ5の存在が確認されたことをトリガーに、外部メモリ5内における所定のディレクトリパスを確認する。そして、制御部2は、その確認結果に応じて、外部メモリ5へのプロジェクトファイルFL1のバックアップ、又は外部メモリ5からのプロジェクトファイルFL1のリストアを自動実行する。本実施形態では一例として、外部メモリ5は、メモリカードC1であることを想定する。
【0015】
上記のプログラマブルコントローラ1によれば、動作電力の供給が開始されたことをトリガーに、例えば電源投入をトリガーに、プロジェクトファイルFL1のバックアップやリストアが実行され得る。或いは、外部メモリ5の存在が確認されたことをトリガーに、例えばメモリカードC1等の外部メモリ5のカードスロット12への挿入をトリガーに、プロジェクトファイルFL1のバックアップやリストアが実行され得る。そのため、プログラマブルコントローラ1及びその周辺機器についてのユーザの操作スキルに関わらず、滞りなくプロジェクトファイルFL1のバックアップやリストアが自動実行される可能性が高くなる。結果的に、上記のプログラマブルコントローラ1には、ユーザの作業負担をより軽減しやすくする、という利点がある。本開示における「ユーザ」とは、例えば、プログラマブルコントローラ1及びその周辺機器を管理又は監視する者、或いは、専用の設定ツール等を用いて制御対象機器側の制御軸に関するパラメータ設定、及び位置決め設定等を行う者であり得る。
【0016】
また一態様に係る処理方法は、上記のプログラマブルコントローラ1における処理方法である。処理方法は、確認処理ステップと、実行処理ステップと、を含む。確認処理ステップでは、制御部2への動作電力の供給が開始されたこと、又は外部メモリ5の存在が確認されたことをトリガーに、外部メモリ5内における所定のディレクトリパスを確認する。実行処理ステップでは、確認処理ステップにおける確認結果に応じて、外部メモリ5へのプロジェクトファイルFL1のバックアップ、又は外部メモリ5からのプロジェクトファイルFL1のリストアを自動実行する。この処理方法には、ユーザの作業負担をより軽減しやすくする、という利点がある。
【0017】
この処理方法は、コンピュータシステム(プログラマブルコントローラ1)上で用いられる。つまり、この処理方法は、プログラムでも具現化可能である。一態様に係るプログラムは、1以上のプロセッサに、上記の処理方法を実行させるためのプログラムである。プログラムは、コンピュータで読み取り可能な非一時的記録媒体に記録されていてもよい。
【0018】
(詳細)
(1)全体構成
以下、本実施形態に係るプログラマブルコントローラ1(以下、略して「PLC1(Programmable Logic Controller)」と呼ぶことがある)、及びその周辺構成を含んだ全体のシステム(コントロールシステム100)について、図1及び図2を参照しながら詳しく説明する。コントロールシステム100の周辺構成は、図1に示すように、電源ユニット4、外部メモリ5、複数のサーボドライバ6、複数のサーボモータ7(制御対象機器)、及び複数の外部機器8等を含み得る。図1では、便宜上、サーボドライバ6、サーボモータ7、及び外部機器8についてそれぞれ1つだけ図示される。
【0019】
電源ユニット4は、PLC1と接続され、PLC1(特に制御部2)の動作電力を供給する。電源ユニット4は、例えば商用交流電源と電気的に接続され、商用交流電源から受けるAC電力(例えば実効値100[V])を制御部2の動作電力(例えばDC24[V])に変換する。
【0020】
本実施形態では一例として、外部メモリ5は、PLC1のカードスロット12に挿抜可能である、フラッシュメモリ等の不揮発性メモリを内蔵するメモリカードC1(例えばSDメモリカード)であることを想定する。
【0021】
各サーボドライバ6は、対応するサーボモータ7に接続される。各サーボドライバ6は、上位コントローラに相当するPLC1と通信可能に接続され、PLC1からのシーケンス制御に関する指令に追従し、制御対象機器であるサーボモータ7の出力トルク、回転速度、及び位置等を制御する。各サーボドライバ6は、サーボモータ7の出力トルク、回転速度、及び位置等を制御するために、適切なタイミングで所定の電力をサーボモータ7に供給する。各サーボドライバ6は、サーボモータ7等に取り付けられているエンコーダで検出される検出値に基づいて出力トルク、回転速度、及び位置等がそれぞれ目標値に近づくようにフィードバック制御を行う。各サーボドライバ6は、フィードバック情報をPLC1に送信する。
【0022】
複数の外部機器8は、各種のセンサ、監視用モニタ、表示灯、パーソナルコンピュータ(ノートパソコンやタブレット端末等の携帯端末でもよい)、及び、1又は複数のPLC1を統合的に管理するサーバ装置等を含み得る。
【0023】
PLC1は、パーソナルコンピュータ(外部機器8)に予めインストールされている専用のアプリケーションソフト(設定ツール)を介して、ユーザ設定情報T1(図1参照)に関する登録、変更、及び削除を受け付ける。ユーザは、操作装置、及び液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイを含む表示装置を用いて設定ツールを起動し、ユーザ設定情報T1に関する作業を行う。操作装置は、例えば、マウス等のポインティングデバイス、及びキーボードを含み得る。
【0024】
ユーザ設定情報T1は、1又は複数の制御対象機器を制御するためのシーケンスプログラム(例えばラダープログラム)であるユーザプログラムP2を含む。ユーザは、例えば設定ツールにおけるラダー編集画面上にてラダープログラムを編集可能である。
【0025】
また、ユーザ設定情報T1は、サーボモータ7側の制御軸に関するパラメータ等の変数データP3(設定値)、PLC1に設定されるIPアドレスP4(設定値)、及びPLC1に設定されるタイムゾーンP5(設定値)に関する情報を更に含む。ユーザは、設定ツールを用いて、変数データP3の設定値、IPアドレスP4の設定値、及びタイムゾーンP5の設定値等の編集を行える。
【0026】
ユーザ設定情報T1は、PLC1の記憶部3(後述する第1メモリ31)に格納される。また、ユーザ設定情報T1は、バックアップ処理及びリストア処理時にはプロジェクトファイルFL1に収められてPLC1と外部メモリ5との間で転送される。
【0027】
コントロールシステム100の上述した周辺構成の少なくとも一部が、PLC1の構成に含まれてもよい。例えば、電源ユニット4は、PLC1の(後述する)複数のユニットU1の1つであってもよい。
【0028】
PLC1は、1以上のプロセッサ及びメモリ(第1メモリ31及び第2メモリ32を含む記憶部3)を有するコンピュータシステムを含んでいる。コンピュータシステムのメモリに記録されたプログラムを、コンピュータシステムのプロセッサが実行することにより、PLC1の少なくとも一部の機能が実現される。プログラムは、メモリに記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
【0029】
PLC1は、1又は複数のユニットU1(図2参照)から構成される。各ユニットU1は、対応する機能を実現するための電子回路を内蔵する筐体を有し、複数のユニットU1は、直列的に取り付け可能となっている。
【0030】
複数のユニットU1は、PLC1のコアユニットに相当するCPUユニットU11、及びモーションコントロールユニットU12を含む。CPUユニットU11は、例えば、イーサネット(Ethernet)(登録商標)等の有線LAN(Local Area Network)の規格に準拠する通信機能を有する。CPUユニットU11は、各種機器(例えば、サーボドライバ6や外部機器8)と通信可能である。
【0031】
また、複数のユニットU1は、各種機器(例えば、サーボドライバ6や外部機器8)からの信号をCPUユニットU11に入力する入力ユニットを含み得る。また、複数のユニットU1は、CPUユニットU11及びモーションコントロールユニットU12で処理された結果を含む信号を各種機器に出力する出力ユニットを含み得る。
【0032】
また、複数のユニットU1は、バス増設のための増設ユニット、位置決めユニット、及び温度入力ユニットを含み得る。位置決めユニットは、設定ツール等を用いて設定されたパラメータに基づき、サーボモータ7側の制御軸の位置決めを行う機能を有する。温度入力ユニットは、温度センサからの検知信号をCPUユニットU11に入力する機能を有する。
【0033】
図2では、便宜上、上記の複数のユニットU1のうち、CPUユニットU11及びモーションコントロールユニットU12だけを図示する。上記の複数のユニットU1のうちの2つ以上が1つのユニットU1で構成されてもよく、例えば、CPUユニットU11、モーションコントロールユニットU12、入力ユニット、及び出力ユニットが、1つのユニットU1で構成されてもよい。
【0034】
PLC1は、制御部2、記憶部3、及び筐体11等を備える。筐体11は、矩形の箱状に形成されている。ここでいう筐体11は、上記の複数のユニットU1のいずれか1つ以上の筐体を含み得る。筐体11は、一例として、CPUユニットU11の筐体11AとモーションコントロールユニットU12の筐体11Bとを含む(図2参照)。
【0035】
筐体11は、制御部2、及び記憶部3を収容する。筐体11は、外部メモリ5としてのメモリカードC1が挿入可能なカードスロット12(図2では想像線で図示)を有する。図2は、PLC1の筐体11(CPUユニットU11の筐体11AとモーションコントロールユニットU12の筐体11B)の模式的な正面図である。CPUユニットU11の筐体11Aの正面には、開閉可能なスロットカバー13が設けられている。スロットカバー13を開くことで、スロットカバー13の裏側に隠れているカードスロット12が露出し、メモリカードC1をカードスロット12に挿抜可能な状態となる。
【0036】
記憶部3は、第1メモリ31、及び第2メモリ32を含む。第1メモリ31は、例えば、フラッシュメモリ等の電気的に書き換え可能な不揮発性の半導体メモリである。第2メモリ32は、例えば揮発性の半導体メモリである。第1メモリ31、及び第2メモリ32はいずれもCPUユニットU11に設けられているが、別々のユニットU1に分散して設けられてもよい。
【0037】
記憶部3は、システムプログラムP1を予め記憶している。本実施形態では、第1メモリ31が、システムプログラムP1を予め記憶している。また、第1メモリ31には、設定ツールを用いて生成されたユーザ設定情報T1が格納される。
【0038】
制御部2は、プロジェクトファイルFL1、及びシステムプログラムP1に基づいてシーケンス制御を実行する。制御部2は、図1に示すように、メインCPUに相当する第1CPU21、及びモーションコントロール用のCPUに相当する第2CPU22を有する。第1CPU21は、CPUユニットU11に内蔵され得る。第2CPU22は、モーションコントロールユニットU12に内蔵され得る。
【0039】
システムプログラムP1は、PLC1の統括的な制御を実施するためのプログラム(ファームウェア)である。
【0040】
プロジェクトファイルFL1は、少なくともユーザプログラムP2(ユーザ設定情報T1)を含む。ユーザプログラムP2は、1又は複数の制御対象機器を制御するためにユーザが作成、及び変更可能な実行プログラムであり、例えばモーションプログラム等である。
【0041】
本実施形態では、プロジェクトファイルFL1は、その他にも、保持属性の変数データP3、IPアドレスP4、及びタイムゾーンP5等のユーザ設定情報T1を含む。変数データP3は、ユーザプログラムP2によって参照又は変更されるデータ(例えば、制御軸に関するパラメータ等)であり、その「属性」は、PLC1の電源オフ時に保持するか否かで分類される。保持属性の変数データP3は、PLC1の電源オフ時に保持することを示すデータである。
【0042】
ユーザプログラムP2及び上記データ(P3~P5)を含むプロジェクトファイルFL1は、例えばバッテリ等でのバックアップが不要な不揮発性の外部メモリ5に格納(バックアップ)される。プロジェクトファイルFL1は、外部メモリ5に格納されることで、その一部又は全部が、プロジェクトファイルFL1の生成元であるPLC1以外のPLCに対しても容易に展開可能となる。
【0043】
制御部2は、メモリカードC1がカードスロット12に挿入されていてユーザ設定情報T1のバックアップを実行する際には、ユーザ設定情報T1を第1メモリ31から第2メモリ32にコピーし、プロジェクトファイルFL1を生成して、ファイル圧縮を行う。制御部2は、圧縮したプロジェクトファイルFL1を外部メモリ5(メモリカードC1)に転送し、所定のディレクトリパスに配置されている特定のフォルダD1内に格納する。
【0044】
特定のフォルダD1までの所定のディレクトリパスに関する情報は、第1メモリ31に予め記憶されている。本実施形態では一例として、特定のフォルダD1のフォルダ名称は、“AUTO”であることを想定する。すなわち、PLC1は、“AUTO”というフォルダ名称に関する情報を第1メモリ31に予め記憶していて、“AUTO”という名称のフォルダ(特定のフォルダD1)を外部メモリ5内でサーチする。
【0045】
一方、ユーザは、メモリカードC1を初めて利用する場合、メモリカードC1への初期設定として、メモリカードC1における所定のディレクトリパスに“AUTO”フォルダを作成しておく。“AUTO”フォルダは、設定ツール等を用いてメモリカードC1内の所定のディレクトリパスに作成され得る。
【0046】
また、制御部2は、メモリカードC1がカードスロット12に挿入されていてユーザ設定情報T1のリストアを実行する際には、メモリカードC1の“AUTO”フォルダ(特定のフォルダD1)内のプロジェクトファイルFL1を第2メモリ32にコピーする。そして、制御部2は、(圧縮されている)プロジェクトファイルFL1を展開して、第1メモリ31に戻す(リストアする)。
【0047】
ここで本実施形態では、PLC1は、例えば、電源ユニット4の電源が投入されることをトリガーとして、ユーザ設定情報T1(プロジェクトファイルFL1)のバックアップ処理、又はリストア処理を自動的に実行する。すなわち、制御部2は、電源ユニット4の電源スイッチがオンされて制御部2への動作電力の供給が開始されることをトリガーに、外部メモリ5内における所定のディレクトリパスを確認する。そして、制御部2は、確認結果に応じて、外部メモリ5へのプロジェクトファイルFL1のバックアップ処理、又は外部メモリ5からのプロジェクトファイルFL1のリストア処理を自動実行する。バックアップ処理やリストア処理を実行するためには、メモリカードC1がカードスロット12に挿入されていることが前提である。そのため、制御部2は、電源ユニット4の電源投入時に、ディレクトリパスの確認の前に、先ずはメモリカードC1がカードスロット12に挿入されているか否かを確認する。
【0048】
制御部2は、確認結果として所定のディレクトリパスの特定のフォルダD1内にプロジェクトファイルFL1が存在しない場合、上記のバックアップ(処理)を自動実行する。つまり、制御部2は、電源ユニット4の電源が投入された時、メモリカードC1の“AUTO”フォルダ内にプロジェクトファイルFL1が存在しない場合、ユーザ設定情報T1を第1メモリ31から第2メモリ32にコピーし、プロジェクトファイルFL1を生成してファイル圧縮を行う。そして、制御部2は、圧縮されたプロジェクトファイルFL1をメモリカードC1に転送し、“AUTO”フォルダ内に格納する。
【0049】
リストア時には、メモリカードC1内における“AUTO”フォルダ内のプロジェクトファイルFL1をPLC1へファイル転送し、PLC1にて指定のパス(展開先)にプロジェクトファイルFL1を展開するという一連の動作が自動的に実行される。
【0050】
また、制御部2は、確認結果として所定のディレクトリパスの特定のフォルダD1内にプロジェクトファイルFL1が存在する場合、上記のリストア(処理)を自動実行する。つまり、電源ユニット4の電源が投入された時、メモリカードC1の“AUTO”フォルダ内にプロジェクトファイルFL1が存在する場合、“AUTO”フォルダ内のプロジェクトファイルFL1が第2メモリ32にコピーされる。そして、プロジェクトファイルFL1は展開され、ユーザ設定情報T1として第1メモリ31にリストアされる。
【0051】
なお、制御部2は、確認結果として所定のディレクトリパスに特定のフォルダD1が存在しない場合、上記のバックアップ(処理)、及び上記のリストア(処理)のいずれも実行しない。当然、制御部2は、メモリカードC1がカードスロット12に挿入されていなければ、上記のバックアップ処理、及びリストア処理のいずれも実行しない。
【0052】
要するに、ユーザからすれば、外部メモリ5(メモリカードC1)をカードスロット12に挿入し、電源投入さえ行えば、バックアップ処理又はリストア処理が自動的に実行され得る。なお、電源投入より前に、外部メモリ5(メモリカードC1)が予めカードスロット12に挿入されていることは、バックアップ処理又はリストア処理が自動的に実行されるために必須ではない。先に電源投入が行われ、その後に外部メモリ5(メモリカードC1)がカードスロット12に挿入されて外部メモリ5の存在が確認されると、当該確認をトリガーとして、バックアップ処理又はリストア処理が自動的に実行されてもよい。
【0053】
(2)動作
以下、PLC1の一連の流れについて、図3を参照して説明する。なお、図3に示すフローチャートは、本開示に係るPLC1の動作フローの一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
【0054】
先ず、ユーザは、プロジェクトファイルFL1のバックアップ(又はリストア)を実施したい場合、電源ユニット4の電源スイッチをオンにする前に、予めメモリカードC1をカードスロット12に挿入しておく。
【0055】
ユーザが電源ユニット4の電源スイッチをオンにすると(ステップST1:Yes)、つまり制御部2への動作電力の供給が開始されると、PLC1は、カードスロット12内のメモリカードC1の有無を確認する(ステップST2)。なお、電源ユニット4の電源スイッチがオンされるまで、バックアップ処理及びリストア処理はいずれも実行されない(ステップST1:No)。
【0056】
カードスロット12内にメモリカードC1が有れば(ステップST2:Yes)、PLC1は、メモリカードC1内における所定のディレクトリパスを確認する(確認処理ステップ)。つまり、PLC1は、所定のディレクトリパスの“AUTO”フォルダ(特定のフォルダD1)をサーチし、“AUTO”フォルダの有無を判断する(ステップST3)。カードスロット12内にメモリカードC1が無ければ(ステップST2:No)、バックアップ処理及びリストア処理をスキップする。
【0057】
PLC1は、“AUTO”フォルダが有ると判断すると(ステップST3:Yes)、続いて、“AUTO”フォルダ内のプロジェクトファイルFL1の有無を確認する(ステップST4)。“AUTO”フォルダ内にプロジェクトファイルFL1が無ければ(ステップST4:No)、PLC1は、バックアップ処理を自動実行する(ステップST5:実行処理ステップ)。一方、“AUTO”フォルダ内にプロジェクトファイルFL1が有れば(ステップST4:Yes)、PLC1は、リストア処理を自動実行する(ステップST6:実行処理ステップ)。
【0058】
なお、PLC1は、“AUTO”フォルダが無いと判断すると(ステップST3:No)、バックアップ処理及びリストア処理をスキップする。その際、PLC1は、パーソナルコンピュータ(外部機器8)に付設される表示装置を通じて、メモリカードC1が挿入されているにも関わらず、“AUTO”フォルダが作成されていない旨のメッセージを表示してユーザに通知してもよい。
【0059】
<利点>
このようにPLC1によれば、電源投入をトリガーに、プロジェクトファイルFL1のバックアップやリストアが実行され得る。そのため、ユーザの操作スキルに関わらず、滞りなくプロジェクトファイルFL1のバックアップやリストアが自動実行される可能性が高くなる。特に、ユーザが、設定ツール等を操作してプロジェクトファイルFL1を外部メモリ5へ又は外部メモリ5から、手動でコピーしたり、バックアップ及びリストア専用の物理スイッチを操作したりするといった作業が不要になり得る。また、PLC1の設置現場(工場等の施設)にて、ユーザによる設備の立ち上げに掛かる工数の削減にもつながる。結果的に、PLC1には、ユーザの作業負担をより軽減しやすくする、という利点がある。また、PLC1の設置現場にて、プロジェクトファイルFL1の生成元であるPLC1以外のPLCに対しても、プロジェクトファイルFL1を容易に展開可能となる。また、PLC1にバックアップ及びリストア専用の物理スイッチが不要となるため、PLC1のコスト削減にもつながる。なお、上述の通り、プロジェクトファイルFL1のバックアップやリストアの自動実行のトリガーは、電源投入に限定されず、電源投入後に(例えば外部メモリ5がカードスロット12に挿入されて)外部メモリ5の存在が確認されたこと、でもよい。
【0060】
また、メモリカードC1に“AUTO”フォルダが存在しない場合、バックアップ、及びリストアのいずれも実行されない。そのため、所定の外部メモリ5とは異なる、ユーザが意図しない外部メモリがカードスロット12に挿入された場合に、バックアップやリストアが実行されてしまう可能性を低減できる。
【0061】
また、外部メモリ5がメモリカードC1であるため、比較的安価でプロジェクトファイルFL1のバックアップやリストアを実現できる。
【0062】
(3)変形例
上記実施形態は、本開示の様々な実施形態の一つに過ぎない。上記実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。また、上記実施形態に係るPLC1と同様の機能は、PLC1の処理方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
【0063】
以下、上記実施形態の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。
【0064】
本開示におけるPLC1は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示におけるPLC1としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1ないし複数の電子回路で構成される。ここでいうIC又はLSI等の集積回路は、集積の度合いによって呼び方が異なっており、システムLSI、VLSI(Very Large Scale Integration)、又はULSI(Ultra Large Scale Integration)と呼ばれる集積回路を含む。さらに、LSIの製造後にプログラムされる、FPGA(Field-Programmable Gate Array)、又はLSI内部の接合関係の再構成若しくはLSI内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、1以上のプロセッサ及び1以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む1ないし複数の電子回路で構成される。
【0065】
PLC1における複数の機能が、1つのハウジング内に集約されていることは必須の構成ではない。上述した通り、例えば、PLC1の構成要素は、複数のハウジング(複数のユニットU1)に分散して設けられていてもよい。さらに、PLC1の少なくとも一部の機能、例えば、PLC1の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。反対に、PLC1における複数の機能が、1つのハウジング内に集約されてもよい。
【0066】
上述した実施形態では、外部メモリ5は、メモリカードC1であるが、外部メモリ5の種類は特に限定されない。例えば、PLC1に、USB(Universal Serial Bus)メモリのコネクタ端子を挿抜可能なUSBソケットが設けられていれば、外部メモリ5はUSBメモリでもよい。
【0067】
また、外部メモリ5は、可搬型の記録媒体に限定されない。PLC1が、例えばインターネット等の広域ネットワーク経由で、PLC1の設置現場(工場等の施設)の外部にあるファイルサーバと通信可能である場合、外部メモリ5は、ファイルサーバのメモリであってもよい。ファイルサーバは、複数のサーバ装置から構築されたクラウドサーバでもよい。
【0068】
ファイルサーバは、例えば、FTP(File Transfer Protocol)サーバであってもよい。PLC1は、FTPの通信規格に準拠してFTPサーバと通信を行い、バックアップ時には、プロジェクトファイルFL1をFTPサーバに転送し、FTPサーバ内のメモリに格納してもよい。また、リストア時には、PLC1は、FTPサーバのメモリ内のプロジェクトファイルFL1をリストアしてもよい。
【0069】
(まとめ)
以上説明した実施形態等から、以下の態様が開示されている。
【0070】
第1の態様に係るプログラマブルコントローラ(1)は、記憶部(3)と、制御部(2)と、を備える。記憶部(3)は、システムプログラム(P1)を予め記憶している。制御部(2)は、少なくともユーザプログラム(P2)を含むプロジェクトファイル(FL1)、及びシステムプログラム(P1)に基づいてシーケンス制御を実行する。制御部(2)は、制御部(2)への動作電力の供給が開始されたこと、又は外部メモリ(5)の存在が確認されたことをトリガーに、外部メモリ(5)内における所定のディレクトリパスを確認する。そして、制御部(2)は、確認結果に応じて、外部メモリ(5)へのプロジェクトファイル(FL1)のバックアップ、又は外部メモリ(5)からのプロジェクトファイル(FL1)のリストアを自動実行する。
【0071】
上記の態様によれば、動作電力の供給が開始されたこと、又は外部メモリ(5)の存在が確認されたことをトリガーに、プロジェクトファイル(FL1)のバックアップやリストアが実行され得る。そのため、プログラマブルコントローラ(1)及びその周辺機器についてのユーザの操作スキルに関わらず、滞りなくプロジェクトファイル(FL1)のバックアップやリストアが自動実行される可能性が高くなる。結果的に、上記のプログラマブルコントローラ(1)には、ユーザの作業負担をより軽減しやすくする、という利点がある。
【0072】
第2の態様に係るプログラマブルコントローラ(1)に関して、第1の態様において、制御部(2)は、確認結果として所定のディレクトリパスの特定のフォルダ(D1)内にプロジェクトファイル(FL1)が存在しない場合、上記のバックアップを自動実行する。
【0073】
上記の態様によれば、プロジェクトファイル(FL1)のバックアップに関する作業の手間が掛かりにくくなり、ユーザの作業負担をより軽減しやすくできる。
【0074】
第3の態様に係るプログラマブルコントローラ(1)に関して、第1又は第2の態様において、制御部(2)は、確認結果として所定のディレクトリパスの特定のフォルダ(D1)内にプロジェクトファイル(FL1)が存在する場合、上記のリストアを自動実行する。
【0075】
上記の態様によれば、プロジェクトファイル(FL1)のリストアに関する作業の手間が掛かりにくくなり、ユーザの作業負担をより軽減しやすくできる。
【0076】
第4の態様に係るプログラマブルコントローラ(1)に関して、第1~第3の態様のいずれか1つにおいて、制御部(2)は、確認結果として所定のディレクトリパスに特定のフォルダ(D1)が存在しない場合、上記のバックアップ及びリストアのいずれも実行しない。
【0077】
上記の態様によれば、所定の外部メモリ(5)とは異なる、意図しない外部メモリに対するプロジェクトファイル(FL1)のバックアップやリストアが実行されてしまう可能性を低減できる。
【0078】
第5の態様に係るプログラマブルコントローラ(1)は、第1~第4の態様のいずれか1つにおいて、記憶部(3)、及び制御部(2)を収容する筐体(11)を更に備える。筐体(11)は、外部メモリ(5)としてのメモリカード(C1)が挿入可能なカードスロット(12)を有する。
【0079】
上記の態様によれば、メモリカード(C1)以外の外部メモリ(5)を利用する場合に比べて、比較的安価でプロジェクトファイル(FL1)のバックアップやリストアを実現できる。
【0080】
第6の態様に係る処理方法は、プログラマブルコントローラ(1)における処理方法である。プログラマブルコントローラ(1)は、記憶部(3)と、制御部(2)と、を備える。記憶部(3)は、システムプログラム(P1)を予め記憶している。制御部(2)は、少なくともユーザプログラム(P2)を含むプロジェクトファイル(FL1)、及びシステムプログラム(P1)に基づいてシーケンス制御を実行する。処理方法は、確認処理ステップと、実行処理ステップと、を含む。確認処理ステップでは、制御部(2)への動作電力の供給が開始されたこと、又は外部メモリ(5)の存在が確認されたことをトリガーに、外部メモリ(5)内における所定のディレクトリパスを確認する。実行処理ステップでは、確認処理ステップにおける確認結果に応じて、外部メモリ(5)へのプロジェクトファイル(FL1)のバックアップ、又は外部メモリ(5)からのプロジェクトファイル(FL1)のリストアを自動実行する。
【0081】
上記の態様によれば、ユーザの作業負担をより軽減しやすくする処理方法を提供できる。
【0082】
第7の態様に係るプログラムは、1以上のプロセッサに、第6の態様における処理方法を実行させるためのプログラムである。
【0083】
上記の態様によれば、ユーザの作業負担をより軽減しやすくする機能を提供できる。
【0084】
第2~5の態様に係る構成については、プログラマブルコントローラ(1)に必須の構成ではなく、適宜省略可能である。
【符号の説明】
【0085】
1 プログラマブルコントローラ
11 筐体
12 カードスロット
2 制御部
3 記憶部
5 外部メモリ
C1 メモリカード
D1 特定のフォルダ
FL1 プロジェクトファイル
P1 システムプログラム
P2 ユーザプログラム
図1
図2
図3