(57)【要約】【課題】プログラマブルロジックコントローラにおいて従来よりも簡易かつ確実な方法でメンテナンス作業を実行できるようにする。【解決手段】操作部と表示部とを備えたオペレーションモジュール３は、プログラマブルロジックコントローラ１の本体２に収容可能となっている。オペレーションモジュール３は、記憶部を備えており、記憶部に記憶されているラダープログラムなどの設定情報を本体２に対してロードする。よって、プログラム作成支援装置を現場に持ち込まずに、オペレーションモジュール３から設定情報を本体２へロードすることが可能となる。オペレーションモジュール３から設定情報を本体２へロードするため、プログラム作成支援装置とプログラマブルロジックコントローラ１とを接続するためのケーブルの接続作業が不要となる。【選択図】図１
2014052669.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルロジックコントローラであって、
本体と、
前記本体の外側に設けられた収容部に対して取り付けおよび取り外しが可能なオペレーションモジュールと
を備え、
前記オペレーションモジュールは、
前記プログラマブルロジックコントローラの前記本体にロードされる設定情報を記憶した記憶部と、
オペレータの操作を受け付ける操作部と、
前記オペレーションモジュールが前記収容部に取り付けられているときに、前記本体に関する情報を表示する表示部と、
を備え、
前記本体は、
前記オペレーションモジュールからロードされた前記設定情報を保持する保持部と、
前記本体に接続されている被制御機器を前記保持部に保持されている前記設定情報にしたがって制御する被制御機器制御部と
を備え、
前記オペレーションモジュールが前記収容部に取り付けられているときに、前記記憶部に記憶されている前記設定情報を前記本体に対してロードするためのロード指示が前記操作部を通じて入力されると、前記記憶部に記憶されている前記設定情報が前記本体に対してロードされ、前記保持部に保持されることを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記本体は、前記オペレーションモジュールが前記収容部に取り付けられているときに、前記記憶部に記憶されている前記設定情報を前記本体に対してロードするためのロード指示が前記操作部を通じて入力されると、前記記憶部に記憶されている前記設定情報を前記本体に対してロードするロード制御部を備えることを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項３】
前記表示部が、前記記憶部に記憶されている前記設定情報を前記本体に対してロードするかどうかを問い合わせるメッセージを表示した後で、前記ロード指示が前記操作部を通じて入力されると、前記ロード制御部は、前記設定情報を前記記憶部から前記保持部へのロードを実行することを特徴とする請求項２に記載のプログラマブルロジックコントローラ。
【請求項４】
前記本体の前記保持部は、前記本体にロード可能な設定情報の条件を示す情報を保持するように構成されており、
前記オペレーションモジュールの前記記憶部は、前記設定情報をロード可能な本体の条件を示す情報を記憶するように構成されており、
前記ロード制御部は、前記本体の保持部に保持されている情報と、前記オペレーションモジュールの前記記憶部に記憶されている情報とが一致するかどうかを判定し、前記本体の保持部に保持されている情報と、前記オペレーションモジュールの前記記憶部に記憶されている情報とが一致すると、前記オペレーションモジュールの前記記憶部に記憶されている設定情報を前記本体の前記保持部へロードするように構成されていることを特徴とする請求項２または３に記載のプログラマブルロジックコントローラ。
【請求項５】
前記ロード制御部は、前記保持部に保持されている設定情報にライトプロテクトがかかっている場合に前記操作部において強制ロードの指示が入力されると、前記オペレーションモジュールの前記記憶部に記憶されている設定情報を前記本体の前記保持部へ強制的にロードするよう構成されていることを特徴とする請求項２ないし４のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項６】
前記本体は、
前記本体の前記保持部に設けられたデバイスに記憶されているデバイス情報を読み出す読み出し部をさらに備え、
前記表示部は、前記本体の前記保持部に設けられたデバイスに記憶されているデバイス情報を表示するかどうかを問い合わせるメッセージを表示するようにさらに構成されており、
前記操作部を通じて前記本体の前記保持部に設けられたデバイスに記憶されているデバイス情報を表示するための表示指示を受け付けるようにさらに構成されており、
前記読み出し部は、前記操作部を通じて前記表示指示が入力されると、前記本体の前記保持部に保持されているデバイス情報を読み出すように構成されており、
前記表示部は、前記読み出し部が前記本体の前記保持部に保持されているデバイス情報を読み出すと、当該デバイス情報を表示するように構成されていることを特徴とする請求項１ないし５のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項７】
前記表示部は、前記本体の前記保持部に保持されている設定情報を前記オペレーションモジュールの記憶部にセーブするかどうかを問い合わせるメッセージを表示するようにさらに構成されており、
前記操作部は、前記本体の前記保持部に保持されている設定情報を前記オペレーションモジュールの記憶部にセーブするためのセーブ指示を受け付けるようにさらに構成されており、
前記本体は、
前記操作部を通じて前記セーブ指示が入力されると、前記保持部に保持されている設定情報を読み出して、前記記憶部にセーブするセーブ制御部をさらに備えていることを特徴とする請求項１ないし５のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項８】
前記セーブ制御部は、前記本体の前記保持部に保持されている設定情報にリードプロテクトがかけられている場合に、前記保持部に当該設定情報が記憶されてから所定期間が経過するまでは、前記オペレーションモジュールの前記記憶部への前記設定情報のセーブを許容し、前記所定期間が経過した後は、前記オペレーションモジュールの前記記憶部への前記設定情報のセーブを禁止するように制御することを特徴とする請求項７に記載のプログラマブルロジックコントローラ。
【請求項９】
前記表示部は、前記本体の前記保持部に保持されている設定情報を消去するかどうかを問い合わせるメッセージを表示するようにさらに構成されており、
前記操作部は、前記本体の前記保持部に保持されている設定情報を消去するための消去指示を受け付けるようにさらに構成されており、
前記本体は、
前記操作部を通じて前記消去指示が入力されると、前記本体の前記記憶部に記憶されている設定情報を消去する消去制御部をさらに備えていることを特徴とする請求項１ないし８のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項１０】
前記表示部は、前記オペレーションモジュールの前記記憶部に保持されている設定情報を消去するかどうかを問い合わせるメッセージを表示するようにさらに構成されており、
前記操作部は、前記オペレーションモジュールの前記記憶部に保持されている設定情報を消去するための消去指示を受け付けるようにさらに構成されており、
前記本体は、
前記操作部を通じて前記消去指示が入力されると、前記オペレーションモジュールの前記記憶部に保持されている設定情報を消去する消去制御部をさらに備えていることを特徴とする請求項１ないし８のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項１１】
前記表示部は、前記オペレーションモジュールの前記記憶部に記憶されている設定情報に関する情報であるプロパティ情報を表示するかどうかを問い合わせるメッセージを表示するようにさらに構成されており、
前記操作部を通じて前記オペレーションモジュールの前記記憶部に記憶されている設定情報に関する情報であるプロパティ情報を表示するための表示指示が入力されると、前記表示部は、前記オペレーションモジュールの前記記憶部に記憶されている設定情報に関する情報であるプロパティ情報を表示するように構成されていることを特徴とする請求項１ないし１０のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項１２】
前記本体は、
前記オペレーションモジュールの前記記憶部に記憶されている設定情報の変更または消去を許容するアンロック状態と当該設定情報の変更または消去を禁止するロック状態とを制御するデータロック制御部をさらに備えることを特徴とする請求項１ないし１１のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項１３】
前記本体は、
前記操作部のキー操作を無効とするか有効とするかを制御するキーロック制御部をさらに備えることを特徴とする請求項１ないし１２のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項１４】
前記本体は、それぞれ共通の形状と共通の接点とを有した複数の収容部を備え、
前記複数の収容部のいずれかの収容部は、被制御機器またはプログラム作成支援装置とシリアル通信するためのコネクタを備えたシリアル通信モジュールが取り付けられるように構成されており、前記複数の収容部のいずれかの収容部は、前記シリアル通信モジュールに代えて前記オペレーションモジュールが取り付けられるように構成されていることを特徴とする請求項１ないし１３のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項１５】
前記オペレーションモジュールの前面に前記表示部が設けられており、前記オペレーションモジュールの背面または側面には前記収容部に設けられた接点と接続する端子が設けられており、前記オペレーションモジュールは、前記表示部が前記本体の前面に来るように前記本体に対して取り付けられることを特徴とする請求項１ないし１４のいずれか１項に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラグラマブルロジックコントローラに関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（以下、ＰＬＣと称す）は、ＦＡ（Factory
Automation）制御システムにおいて広く使用されているシーケンス制御装置であり、ラダープログラムと呼ばれる専用プログラムにしたがって動作する。操作者（オペレータ）は、リミットスイッチ、センサ、温度計などの入力機器や、電磁開閉器、ソレノイド、モータ、アクチュエータ、シリンダ、リレー、位置決めシステムなどの出力機器をＰＬＣに接続し、ラダープログラムによってこれらの被制御機器を制御する。
【０００３】
オペレータは、パーソナルコンピュータ（以下、ＰＣと称す）などのプログラム作成支援装置上でラダープログラムを作成し、ＰＣとＰＬＣを接続し、ラダープログラムをＰＬＣの記憶部に記憶させる。ＰＬＣの記憶部にはデバイス情報等の各種データも記憶される。デバイス情報とは、入力機器からの入力状態、出力機器への出力状態およびラダープログラム上で設定される内部リレー（補助リレー）、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイスとは、デバイス情報を格納するために設けられたメモリ上の領域を指す名称である。ＰＬＣにプログラム作成支援装置を接続することで、ＰＬＣが保持しているデバイス情報（デバイスの値）をプログラム作成支援装置に表示させ、視認することもできる。
【０００４】
ところで、ＰＬＣは、ラダープログラムをＣＰＵや専用のラダー実行エンジンで実行可能なオブジェクトコード（マシン語）に変換してから実行する。ＰＬＣの動作を変更したり修正したりするためには、ＰＣ上でラダープログラムを修正し、各種パラメータ値を含む設定情報を、再度、ＰＬＣの記憶部にロードしなければならない（特許文献１）。以下、ＰＬＣの動作を変更したり修正したりするための一連の作業をメンテナンス作業と呼ぶ。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１３４５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来においてメンテナンス作業を実行するためにはＰＣを現場（ＰＬＣが設定されている工場など）に持参し、通信ケーブルを介してＰＬＣにＰＣを接続する必要があった。ＰＬＣは、工場の配電盤などに取り付けられており、通信ケーブルの接続口の設置場所によっては、オペレータが通信ケーブルを接続する作業は必ずしも容易ではなかった。つまり、ＰＣを持参することが面倒であるばかりか、さらに、ＰＣとＰＬＣを接続する作業も煩雑であった。また、ＰＣとＰＬＣとを接続する通信ケーブルに異常があると、それを交換する必要があり、メンテナンス作業の効率を低下させてしまっていた。ときには、多数のＰＬＣに対して同一のメンテナンス作業を実行したい場合があり、この場合、各ＰＬＣに対して通信ケーブルの着脱を繰り返さなければならず、煩雑であった。更に言えば、秘匿性の高い工場など、そもそも汎用ＰＣをセキュリティ上の問題で現場に持ち込むことが難しい現場もあった。したがって、汎用ＰＣを用いなくても、より簡易かつ確実な方法でメンテナンス作業を実行できるようにすることが市場から求められている。
【０００７】
そこで、本発明は、従来よりも簡易かつ確実な方法でメンテナンス作業を実行できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、プログラマブルロジックコントローラであって、本体と、前記本体の外側に設けられた収容部に対して取り付けおよび取り外しが可能なオペレーションモジュールとを備え、前記オペレーションモジュールは、前記プログラマブルロジックコントローラの前記本体にロードされる設定情報を記憶した記憶部と、オペレータの操作を受け付ける操作部と、前記オペレーションモジュールが前記収容部に取り付けられているときに、前記本体に関する情報を表示する表示部と、を備え、前記本体は、前記オペレーションモジュールからロードされた前記設定情報を保持する保持部と、前記本体に接続されている被制御機器を前記保持部に保持されている前記設定情報にしたがって制御する被制御機器制御部とを備え、前記オペレーションモジュールが前記収容部に取り付けられているときに、前記記憶部に記憶されている前記設定情報を前記本体に対してロードするためのロード指示が前記操作部を通じて入力されると、前記記憶部に記憶されている前記設定情報が前記本体に対してロードされ、前記保持部に保持されることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、本体に収容可能なオペレーションモジュールから設定情報を本体に対してロードできるようにした。よって、汎用ＰＣなどのプログラム作成支援装置を現場に持ち込む必要がなくなるので、汎用ＰＣをセキュリティ上の問題で現場に持ち込むことが難しい場合であっても、オペレーションモジュールを介してメンテナンス作業を実行することができる。また、オペレーションモジュールから設定情報を本体に対してロードできるため、メンテナンス時には、プログラム作成支援装置とＰＬＣとを接続するためのケーブルの接続作業が不要となる。また、ケーブルを使用しないため、ケーブルの断線にともなうケーブル交換作業も不要となる。よって、本発明によれば、従来よりも簡易かつ確実な方法でメンテナンス作業を実行できるようになる。
【図面の簡単な説明】
【００１０】
【図１】プログラマブルロジックコントローラ（ＰＬＣ）の外観を示す斜視図である。
【図２】オペレーションモジュールの前面側を示した図である。
【図３】２つの収容部を本体２に備えたＰＬＣを示した図である。
【図４】ＰＬＣの本体のブロック図である。
【図５】オペレーションモジュールのブロック図である。
【図６】ＰＬＣの起動処理を示すフローチャートである。
【図７】表示部に表示される各種の画面を示した図である。
【図８】ロード制御部が実行するロード処理の各工程を示したフローチャートである。
【図９】ロード可能判定処理を示すフローチャートである。
【図１０】セーブ制御部が実行するセーブ処理の各ステップを示すフローチャートである。
【図１１】表示部に表示される各種の画面を示した図である。
【図１２】データクリア制御部が実行するデータクリア処理の各ステップを示したフローチャートである。
【図１３】表示部に表示される各種の画面を示した図である。
【図１４】データロック制御部が実行するデータロック処理の各ステップを示すフローチャートである。
【図１５】表示部に表示される各種の画面を示した図である。
【図１６】制御部のプロパティ表示制御部が実行するプロパティ表示処理の各ステップを示すフローチャートである。
【図１７】表示部に表示される各種の画面を示した図である。
【図１８】セキュリティ制御部が実行するキーロック処理の各ステップを示すフローチャートである。
【図１９】表示部に表示される各種の画面を示した図である。
【図２０】セーブ制御部２４が実行するリードプロテクトされているラダープログラムのセーブ処理の各ステップを示すフローチャートである。
【図２１】表示部に表示される各種の画面を示した図である。
【発明を実施するための形態】
【００１１】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１２】
図１（Ａ）は、プログラマブルロジックコントローラ（ＰＬＣ）の外観を示す斜視図である。ＰＬＣはたんにプログラマブルコントローラと呼ばれることもある。図１において、ＰＬＣ１は本体２とオペレーションモジュール３とに分離されている。本体２には、リミットスイッチ、センサなどの入力機器と接続するための入力端子群４と、電磁開閉器、ソレノイド、モータ、アクチュエータ、シリンダ、リレー、位置決めシステムなどの出力機器と接続するための出力端子群５とを備えている（図１ではカバーがかかっている）。また、本体２の外側にはモジュールカセット形態のオペレーションモジュール３を収容する収容部６を備えている。つまり、オペレーションモジュール３は、本体２の収容部６に対して取り付けたり、取り外したりすることが可能である。収容部６には、オペレーションモジュール３を位置決めするためのボス８（円筒形状の突起部）と、オペレーションモジュール３の内部の制御部や記憶部と通信するためのコネクタ７が設けられている。オペレーションモジュール３の背面（後面）には、ボス８が嵌合する不図示の穴部が設けられている。また、オペレーションモジュール３の背面には、コネクタ７の接点と接触する端子が設けられている。また、オペレーションモジュール３の側面にはメモリカードを挿入するためのカードスロット１３が設けられている。カードスロット１３の位置は、オペレーションモジュール３の前面であってもよいし、背面であってもよい。なお、本実施形態ではメモリカードを挿入するためのカードスロット１３を設けているが、これを設けない構成でも勿論よい。この場合、オペレーションモジュール３内に、不揮発性の記憶媒体が設けられる。
【００１３】
図１（Ｂ）は、ＰＬＣ１の本体２の収容部６にオペレーションモジュール３が取り付けられた様子を示している。図１（Ｂ）が示すように、オペレーションモジュール３の前面に表示部が設けられており、この表示部が本体２の前面に来るように本体２に対して取り付けられる。本体２の背面には、ＰＬＣ１を所定の規格レール（例えばＤＩＮレール）に取り付けるためのレール取付部２ａが設けられており、オペレーションモジュール３は、レール取付部２ａが設けられた面と反対側の面（前面）に取り付けられる。つまり、オペレーションモジュール３は、その背面と収容部６の底面とを対向させつつ本体２の収容部６に収容される。
【００１４】
このように取り付けられた結果、オペレーションモジュール３の前面に設けられた表示部は、外部から視認可能になる。また、オペレータは、表示部の表示画面を確認しながら、後述する操作部１１（図２）を簡易に操作（例えばロード操作）することができる。なお、オペレーションモジュール３におけるＤＩＮレールの配置は、外部から視認可能な程度に改変可能であって、図示する構成に限られない。
【００１５】
図２は、オペレーションモジュール３の前面側を示した図である。オペレーションモジュール３の前面には、液晶表示装置や自発光型表示装置などの表示部１０が設けられている。表示部１０は、オペレーションモジュール３が収容部６に取り付けられているときに、本体２に関する情報などを表示する。オペレーションモジュール３の前面には、オペレータが各種の指示を入力するための操作部１１が設けられている。操作部１１には、オペレータの操作を受け付けるための複数のボタン（キー）が設けられている。操作部１１のうち、Ｍキーはトップメニューに戻るためのキーであって、Ｓ（Ｓｈｉｆｔ）キーは長押しにより無効状態にする機能が割り当てられたキーであって、上下キー（上三角キー及び下三角キー）はメニューを選択するためのキー、或いは、デバイス値などの数値をカウントアップ又はカウントダウンするためのキーであって、Ｒキーは選択されたメニューを実行するためのキー、或いは、次の画面に遷移するためのキーである。オペレータは、操作部１１を操作することで、表示部１０に表示される画面を所望の画面にまで遷移させることができ、ＰＬＣ１に所望の処理を実行させることができる（例えば後述する図７など）。
【００１６】
特に、操作部１１の上下キーを操作することで、例えば、リレーデバイスのＯＮ・ＯＦＦを切り換えたり、ワードデバイスのデバイス値をカウントアップ又はカウントダウンしたりする等、デバイス情報を変更することができる。操作部１１は、ＰＬＣ１内に記憶されたデバイス情報を変更するための機能を有している。
【００１７】
オペレーションモジュール３の前面上部にはオペレーションモジュール３を着脱する際にオペレータが指を掛けることができるツマミ１２が設けられている。ツマミ１２を設けることで、オペレーションモジュール３を手から滑らせにくくし、安全に取り外したり、取り付けたりすることができる。なお、本実施形態では、オペレーションモジュール３を取り外し容易にするためにツマミ１２を設けているが、例えば凹みや窪みを設けてもよい。オペレーションモジュール３が収容部６から取り外されるときにオペレータの指先を引っ掛けることが可能な、引っ掛け部を形成することによって、同様の効果が得られる。
【００１８】
また、オペレーションモジュール３又は本体２の収容部６のいずれか一方に、弾性を有する係合突起が設けられ、他方に、この係合突起と係合する係合溝が形成されてもよい。これにより、ＰＬＣ１の前面を鉛直方向で下に向けてもオペレーションモジュール３が外れて落下しないようになっている。例えば、本実施形態では、オペレーションモジュール３の上面及び下面には、それぞれ、オペレーションモジュール３を収容部６に取り付けた後に本体２に固定するためのポッチ（弾性部材）３ａが２個設けられている（図１（Ａ）及び図２参照）。一方、本体２の収容部６の内側には、これら４個のポッチ３ａが嵌め込まれる溝が形成されている。オペレーションモジュール３を収容部６に取り付けると、ポッチ３ａが溝に嵌め込まれ、ＰＬＣ１の前面を下に向けてもオペレーションモジュール３が外れて落下しないようになっている。
【００１９】
オペレーションモジュール３の側面に設けられたカードスロット１３には、図２に示すように、メモリカード１４が挿入される。メモリカード１４には、ＰＣなどのプログラム作成支援装置により作成されたプロジェクトデータ（ラダープログラムや各種のパラメータ）が記憶されたり、ＰＬＣ１はオペレーションモジュール３からデバイス情報などがセーブされたりする。メモリカード１４は、ログラマブルロジックコントローラの本体にロードされる設定情報を記憶した記憶部の一例である。
【００２０】
図３は、２つの収容部を本体２に備えたＰＬＣ１を示している。これらの複数の収容部は、それぞれ共通の形状と共通の接点とを有している。一方の収容部にはオペレーションモジュール３が取り付けられており、他方の収容部にはシリアル通信モジュール９が取り付けられている。このように収容部６に対して各モジュールは形状およびコネクタに関して互換性がある。そのため、オペレーションモジュール３とシリアル通信モジュール９とを入れ替えて収容部６に取り付けることもできる。これにより、必要な収容部６（スロット）の数を減らすことができ、ＰＬＣ１の筐体の小型化に資することができる。特に、収容部６が２個あるため、多機能化と筐体小型化とを同時に実現することができる。なお、シリアル通信モジュール９は、ＰＣなどのプログラム作成支援装置や、拡張ユニット、入力機器、出力機器などの被制御機器とシリアル通信するためのコネクタを備えた通信モジュールである。ここでは、２つの収容部を本体２に設けられているが、３つ以上の収容部６が本体２に設けられていてもよい。このように収容部６は、オペレーションモジュール３だけでなく、他の用途のモジュールを取り付けられるように構成されていてもよい。つまり、収容部６を１つだけ備えることができる小型のＰＬＣであっても、本発明を適用できる。たとえば、ラダープログラムを転送可能なプログラムモードでＰＬＣ１が作動しているときはオペレーションモジュール３を取り付け、ラダープログラムを実行するランモードでＰＬＣ１が作動しているときはシリアル通信モジュール９を取り付けるといった使い方も可能である。なお、モジュールの取り付けと取り外しは、基本的に、ＰＬＣ１の電源をＯＦＦにしてから実行される。
【００２１】
図４は、ＰＬＣ１の本体２のブロック図である。本体２の内部に設けられたコントローラは、ＣＰＵやＡＳＩＣなどの論理回路、メモリなどの記憶装置を備えている。制御部２０は、記憶部用ドライバ３６を介して記憶部３０にアクセスする。つまり、制御部２０からのライトコマンドやリードコマンドにしたがって、記憶部用ドライバ３６は、記憶部３０へ情報を書き出す書き出し部、および、記憶部３０から情報を読み出す読み出し部として機能する。記憶部３０は、プログラム作成支援装置５０から通信部３５を介して受信したラダープログラム３１やデバイス情報３４などの設定情報を保持する保持部として機能する。デバイス情報３４は、記憶部３０に確保された記憶領域であるデバイス３３に記憶される。ログデータ３２は、制御部２０がラダープログラム３１を実行した結果を示すデータである。また、記憶部３０は、オペレーションモジュール３からロードされた設定情報を保持する保持部として機能する。
【００２２】
制御部２０は、本体２に接続されている被制御機器を記憶部３０に保持されている設定情報にしたがって制御する被制御機器制御部として機能する。制御部２０は、被制御機器の制御機能に加えて、本実施形態に特有の機能を実現する各種の制御部を備えている。データロック制御部２１は、たとえば、オペレーションモジュール３のメモリカード１４に記憶されているデータの消去、上書き、変更などを許容したり禁止したりするための制御部である。ロード制御部２２は、たとえば、オペレーションモジュール３の記憶部に記憶されているラダープログラムやデバイス情報などの設定情報を、本体２の記憶部３０にロードする処理を制御する。つまり、ロード制御部２２は、オペレーションモジュール３が収容部６に取り付けられているときに、メモリカード１４に記憶されている設定情報を本体２に対してロードするためのロード指示が操作部１１を通じて入力されると、メモリカード１４に記憶されている設定情報を本体２に対してロードするロード制御部として機能する。セキュリティ制御部２３は、オペレーションモジュール３に対する特定の操作を禁止する操作禁止機能を制御する制御部である。セーブ制御部２４は、記憶部３０に記憶されているラダープログラム３１、ログデータ３２、デバイス情報３４などをオペレーションモジュール３の記憶部にセーブする処理を制御する。データクリア制御部２５は、記憶部３０にラダープログラム３１、ログデータ３２、デバイス情報３４などを部分的または全体的にクリアしたり、オペレーションモジュール３に記憶されているデータやプログラムなどを部分的または全体的にクリアしたりする処理を制御する。プロパティ表示制御部２６は、オペレーションモジュール３のメモリカード１４に記憶されているプロジェクトデータのプロパティ情報を表示部１０に表示するプロパティ表示処理を制御する。
【００２３】
なお、本実施形態では制御部２０は本体２側に設けているが、これをオペレーションモジュール３側に設けることも可能である。本実施形態のように本体２側に設けることで、ＰＬＣ１による画面の違いをオペレーションモジュール３により吸収するよう構成できる（例えば、特定のＰＬＣ１が画面Ａを表示させる機能を有し、他のＰＬＣ１が画面Ｂを表示させる機能を有する場合であっても、オペレーションモジュール３に適切に表示させることができる）。一方で、制御部２０をオペレーションモジュール３側に設けた場合には、ＰＬＣ１側のプラットフォームの共通化を図ることができる。
【００２４】
また、制御部２０内の各部のうち、一部の機能のみをオペレーションモジュールに設けることも可能である。例えばプロパティ表示制御部２６をオペレーションモジュール３に設けることで、オペレーションモジュール３においてプロパティ表示させるなど、モジュール単独での操作が可能になる。
【００２５】
オペレーションモジュール管理部４０は、オペレーションモジュール３のメモリカード１４にアクセスするためのアドレス情報４１を保持している。制御部２０は、このアドレス情報４１を参照して、オペレーションモジュール３のメモリカード１４にアクセスする。制御部２０は、読み出し部および書き出し部として機能するメモリカードドライバ３７を介してオペレーションモジュール３のメモリカード１４にアクセスする。モジュール通信部４２は、オペレーションモジュール３と通信するためのユニットである。解釈部４３は、モジュール通信部４２により受信されたデータやコマンドなどを解釈し、解釈結果を制御部２０に渡す。表示情報作成部４４は、制御部２０からの命令やデータにしたがって表示情報を作成し、モジュール通信部４２を介してオペレーションモジュール３に出力する。たとえば、メニュー画面やエラー画面などを示す表示情報は表示情報作成部４４によって作成され、モジュール通信部４２を介してオペレーションモジュール３に渡され、表示部１０に表示される。このように、オペレーションモジュール３は、モジュール通信部４２から送信されてきた表示情報を表示部１０に表示させる。
【００２６】
ＰＬＣ状態管理部３８は、ＰＬＣ１がラダープログラムを実行しているランモードにあるのか、それともＰＬＣ１がラダープログラムを実行していないプログラムモードにあるのかを管理している。ランモードにある場合、制御部２０は、プログラム作成支援装置５０からの指示や、オペレーションモジュール３からの特定の指示を無視する。このように無視される指示は、例えば、ロード指示などである。プログラムモードにある場合に、制御部２０は、プログラム作成支援装置５０からの指示や、オペレーションモジュール３からの指示を受信して、それを実行する。
【００２７】
図５は、オペレーションモジュール３のブロック図である。制御部６０は、表示部１０への表示制御と、操作部１１から入力される指示の受け付け制御と、モジュール通信部６１によるＰＬＣ１の本体２との通信制御とを担当している。ここで、制御部６０が直接的にはメモリカード１４にアクセスできないものとして説明するが、直接的にメモリカード１４にアクセスできるように制御部６０が構成されてもよい。
【００２８】
メモリカード１４は、オペレーションモジュール３の記憶部である。メモリカード１４に代えて、内蔵型の記憶デバイスが採用されてもよい。内蔵型の記憶デバイスにデータをライトしたり、データをリードしたりするためには、たとえば、オペレーションモジュール３を（ＰＬＣ１の本体２に接続した状態で）プログラム作成支援装置５０などのＰＣに接続すればよい。オペレーションモジュール３とプログラム作成支援装置５０との間の通信インタフェースは、無線（例：ＩｒＤＡ、ＮＦＣ、ブルートゥース（登録商標）、無線ＬＡＮなど）であってもよいし有線（例：ＲＳ−２３２ＣやＵＳＢ、イーサネット（登録商標）など）であってもよい。メモリカード１４は、オペレーションモジュール３から取り外され、プログラム作成支援装置５０のカードリーダ５１に取り付けられてもよい。プログラム作成支援装置５０はカードリーダ５１を通じて、設定情報の一例であるラダープログラム７１、デバイス情報７４などをメモリカード１４に書き込むことができる。デバイス情報７４は、記憶部として機能するメモリカード１４に確保された記憶領域であるデバイス７３に記憶されていてもよい。また、プログラム作成支援装置５０はカードリーダ５１を通じてメモリカード１４からログデータ７２やデバイス情報７４などの設定情報を読み出すことができる。
【００２９】
＜起動処理＞
図６は、ＰＬＣ１の起動処理を示すフローチャートである。なお、図６でいう「起動処理」では、主に、自動ロード処理が行われるか否かの分岐に関連する処理を中心に説明しており、他の処理は省略している。すなわち、ＰＬＣ１の電源を投入したときに、図６以外の他の処理が行われても勿論よい。ＰＬＣ１の制御部２０は、電源が投入されると、収容部６にどのようなモジュールが接続されているかを判別する。制御部２０はモジュール通信部４２を介して収容部６に取り付けられているモジュールに対してモジュール識別情報を問い合わせる。オペレーションモジュール３の制御部６０はモジュール通信部６１を介して問い合わせを受信すると、自己がオペレーションモジュール３であることを示すモジュール識別情報を、モジュール通信部６１を介して本体２に送信する。解釈部４３は、モジュール通信部４２が受信したデータを解釈し、当該データがモジュール識別情報であることを認識すると、制御部２０へ転送する。制御部２０は、モジュール識別情報を解釈し、オペレーションモジュール３が接続されていることを認識する。上述したシリアル通信モジュール９など他の機能を有したモジュールについても同様の手順で認識処理が実行される。
【００３０】
Ｓ６００で、制御部２０は、オペレーションモジュール３の操作部１１に設けられた複数のキーのうちあらかじめ定められた特定のキーが押されながら、ＰＬＣ１に電源が投入されたかどうかを判定する。これは、あらかじめ定められた特定のキーが押されながらＰＬＣ１に電源が投入されたときに設定情報の自動ロードを実行するためである。つまり、オペレータが強制的な自動ロードを希望する場合は、特定のキーを押しながらＰＬＣ１の電源を投入すればよい。オペレーションモジュール３の制御部６０は本体２から電力を供給されると、操作部１１の特定のキーが押されていることを示すキー情報を、モジュール通信部６１を介して本体２へ送信する。本体２の制御部２０は、モジュール通信部４２および解釈部４３を通じてキー情報を取得する。
【００３１】
このキー情報が、特定キーが押されていることを示す情報であれば、制御部２０は、特定のキーが押されながら起動したと判定する。この場合はＳ６０１に進む。Ｓ６０１で、制御部２０は、オペレーションモジュール３のメモリカード１４に記憶されている設定情報を、操作部１１からのロード指示を待つことなく、記憶部３０へロードする。
【００３２】
一方で、特定キーが押されていることを示すキー情報をオペレーションモジュール３から受信していない場合、制御部２０は、特定キーが押されずに起動した（自動ロードが指示されていない）と判定し、Ｓ６０２に進む。
【００３３】
Ｓ６０２で、制御部２０は、表示情報作成部４４にメニューを表示するための表示情報を作成させ、モジュール通信部４２を介して表示情報を送信する。オペレーションモジュール３の制御部６０は、表示情報を受信すると、表示部１０に表示させる。
【００３４】
図７（Ａ）は、表示部１０に表示されるメニュー画面を示している。メニュー画面には、どの処理を実行するかをオペレータに対して実質的に問い合わせるためのメッセージとして機能する項目（処理の名称など）の情報が含まれている。メニュー画面には、オペレータが操作部１１を操作することで選択することが可能な複数の選択項目が含まれている。この例では、ロード処理、セーブ処理、プロパティ表示処理およびデータクリア処理が含まれている。ロード処理とは、オペレーションモジュール３から本体２に対してラダープログラム等の設定情報を上書きする処理のことである。セーブ処理とは、本体２に保持されているデバイス情報３４やログデータ３２、ラダープログラム等をオペレーションモジュール３のメモリカード１４へ書き出す処理のことである。プロパティ表示処理とは、メモリカード１４に格納されているラダープログラム７１のプロジェクト名、作成日時、対象ＰＬＣ、機能バージョンなどのプロパティを表示部１０に表示させる処理のことである。データクリア処理とは、本体２の記憶部に記憶されている設定情報（ラダープログラム３１など）を消去したり、メモリカード１４に記憶されている設定情報を消去したりする処理を示している。ここでいうデータクリアは、設定情報を全て消去するオールクリアを意味しているが、設定情報の一部を消去するような構成でもよい。オペレータは操作部１１のキーを適宜操作して所望の項目を選択する。
【００３５】
Ｓ６０３で、制御部２０は、解釈部４３を使用して、メニュー画面に表示されている複数の項目のうちどの項目が選択されたかをオペレーションモジュール３から受信したキー情報にしたがって判別する。図７（Ａ）は、ロードが反転表示されているため、ロードが選択されていることを示す。制御部２０は、操作部１１の上下キーが押されると、反転表示される項目を変更し、変更後の表示情報を表示情報作成部４４に作成させてオペレーションモジュール３に送信する。オペレーションモジュールの制御部６０は変更後の表示情報を表示部１０に表示させる。反転表示されている項目について操作部１１のリターンキーが押されると、どのキーが押されたかを示すキー情報が解釈部４３に届く。解釈部４３は、どの項目が選択されているかを示す情報を制御部２０から伝達される。解釈部４３は、項目の選択情報とキー情報を解釈し、制御部２０に特定の処理の実行が指示されたことを示す解釈結果を伝達する。制御部２０は、解釈結果にしたがって、反転表示している項目の実行が選択されたことを認識する。ここでは、ロード処理、セーブ処理、プロパティ表示処理およびデータクリア処理が選択されることになる。セーブ処理の実行が指示されると、解釈部４３は、セーブ制御部２４にそれを通知する。データクリア処理の実行が指示されると、解釈部４３は、データクリア制御部２５にそれを通知する。図７（Ａ）に示したメニュー画面には図示されていないが、データロック処理やセキュリティ処理が含まれてもよい。データロック処理の実行が指示されると、解釈部４３は、データロック制御部２１にそれを通知する。セキュリティ処理の実行が指示されると、解釈部４３は、セキュリティ制御部２３にそれを通知する。
【００３６】
Ｓ６０３で、制御部２０は、選択された項目を実行する。たとえば、ロード処理、セーブ処理、プロパティ表示処理およびデータクリア処理のうち操作部１１を通じて選択された処理を制御部２０は実行する。
【００３７】
＜ロード処理＞
図８は、ロード制御部２２が実行するロード処理の各工程を示したフローチャートである。ロード処理とは、オペレーションモジュール３から本体２に対して設定情報を書き込む処理のことである。本実施形態では、プログラム作成支援装置５０をＰＬＣ１に接続しなくても、オペレーションモジュール３から本体２に対して設定情報をロードできる。そのため、簡易かつ確実にＰＬＣ１をメンテナンスできるようになる。
【００３８】
Ｓ８０１で、ロード制御部２２は、オペレーションモジュール３のメモリカード１４に記憶されている設定情報を本体２の記憶部３０へロード可能かどうかを判定する。ＰＬＣ１には様々な機種が存在する。異なる機種向けの設定情報をＰＬＣ１の本体にロードしてしまうと、工場の設備が予期しない動作を実行してしまうかもしれない。また、すでにＰＬＣ１がランモードに移行してラダープログラムを実行しているときに、設定情報の上書きを実行してしまうと、やはり予期せぬエラーが発生するかもしれない。同一の機種であっても、拡張ユニットを増設することで新規の機能をサポートした機種もある。そのため、ＰＬＣ１がサポートしている機能と、ラダープログラムが必要とする機能とが一致している、換言すれば、これらの機能が適合している必要がある。ＰＬＣ１がどの機能をサポートしているかを示す情報として機能バージョンがある。よって、ＰＬＣ１の機能バージョンとラダープログラムの機能バージョンとが一致（適合）していないと、ＰＬＣ１が予期せぬ動作をする可能性がある。また、記憶部３０に予め記憶されている設定情報にライトプロテクトがかけられていることがある。この場合にも、原則として、メモリカード１４から設定情報を記憶部３０へロードすることが禁止されるべきである。よって、ロード制御部２２は、メモリカード１４に記憶されている設定情報をＰＬＣ１の本体２にロード可能かどうかを事前に判定することが望ましい。なお、この判定処理の詳細は図９を用いて後述する。ロード可能でなければ、Ｓ８０５で、ロード制御部２２は、表示情報作成部にエラー画面の表示情報を作成させ、オペレーションモジュール３へ転送する。オペレーションモジュール３の制御部６０は、この表示情報を受信すると、表示部１０にエラー画面を表示する。
【００３９】
図７（Ｂ）にエラー画面の一例を示している。エラー画面には、ロード処理が選択されたこと、ロードが実行できないこと、および、具体的なエラー原因を示すメッセージなどが含まれていてもよい。具体的なエラー原因を示すメッセージが含まれていれば、オペレータは、エラー原因を即座に理解できる利点がある。
【００４０】
Ｓ８０１で、ロードが可能と判定されると、Ｓ８０２に進む。Ｓ８０２で、ロード制御部２２は、メモリカード１４から記憶部３０へ設定情報をロードするとともに、ロード中画面を表示部１０に表示させる。たとえば、ロード制御部２２は、ロード確認画面を表示部１０に表示させ、操作部１１からロードの開始指示を待つ。
【００４１】
図７（Ｃ）は、ロード確認画面の一例を示している。ロード確認画面は、ロードの準備が完了した段階で表示部１０に表示される画面であるため、ロード準備完了画面と呼ばれてもよい。ロード確認画面には、メモリカード１４に記憶されている設定情報を本体２に対してロードするかどうかを問い合わせるメッセージが含まれていてもよい。図７（Ｃ）が示すように、ロード確認画面には、ロード処理が選択されていること、ロードの実行を問い合わせるメッセージ、および設定情報から読み出されたプロジェクト名が含まれていてもよい。なお、プロジェクト名は、オペレータが任意に付与できるものであり、様々なプロジェクトデータを識別するための名称である。ロード確認画面を参照することで、オペレータは意図した設定情報を安全かつ確実にロードできるようになる。つまり、意図していない設定情報がメモリカード１４に格納されているときは、オペレータは、ロードを中止できるようになる。
【００４２】
メモリカード１４に記憶されている設定情報を本体２に対してロードするかどうかを問い合わせるメッセージ表示した後で操作部１１から開始指示（ロード指示）が入力されたことを解釈部４３から通知されると、ロード制御部２２は、メモリカードドライバ３７を介してメモリカード１４にアクセスして読み出した設定情報を、記憶部用ドライバ３６を介して記憶部３０に書き込み始める。記憶部３０へのロードを実行している際に、ロード制御部２２は、ロード中画面を表示部１０に表示させてもよい。
【００４３】
図７（Ｄ）は、ロード中画面の一例を示している。ロード中画面には、ロード処理が選択されていること、ロード処理を実行中であること、全体の何パーセントの書き込みが終了したかを示す数値などが含まれてもよい。ロード中画面を表示することで、ロードの途中でＰＬＣ１の電源を誤ってオフにしてしまうような操作ミスをしにくくなるであろう。
【００４４】
Ｓ８０３で、ロード制御部２２は、ロードが完了したかどうかを判定する。たとえば、ロード制御部２２は、設定情報の書き込みが完了した後で、メモリカード１４に記憶されている設定情報と記憶部３０に記憶されている設定情報とを比較し、両者が一致すれば、ロード完了と判定してもよい。あるいは、ロード制御部２２がＣＲＣ（巡回冗長検査符号）チェックを実行することで、記憶部３０に記憶されている設定情報が正常であることを確認し、ロード完了と判定してもよい。ロードが完了すると、Ｓ８０４に進む。
【００４５】
Ｓ８０４で、ロード制御部２２は、ロード完了画面を表示部１０に表示させる。たとえば、ロード制御部２２は、ロード完了画面の表示情報を表示情報作成部４４に作成させ、モジュール通信部４２を介してオペレーションモジュール３へ転送する。オペレーションモジュール３の制御部６０は、モジュール通信部６１を通じて表示情報を受信し、表示部１０にロード完了画面を表示させる。
【００４６】
図７（Ｅ）はロード完了画面の一例を示している。ロード完了画面には、ロード処理が選択されていること、記憶部３０への設定情報の書き込みが完了したことを示すメッセージが含まれている。これにより、オペレータはロードが完了したことを視覚的にかつ確実に把握できるようになる。
【００４７】
図９は、ロード可能判定処理を示すフローチャートである。このロード可能判定処理は上述したＳ８０１に相当する処理である。ロード可能判定処理を実行することで、誤動作を招くようなロードを禁止できるようになろう。
【００４８】
Ｓ９０１で、ロード制御部２２は、メモリカードドライバ３７を通じてメモリカード１４にアクセスし、ラダープログラム７１が記憶されているかどうかを判定する。ラダープログラム７１がメモリカード１４に記憶されていなければ、Ｓ９１０に進む。Ｓ９１０で、ロード制御部２２は、エラー画面を表示部１０に表示させる。図７（Ｆ）はラダープログラムが存在していないときに表示されるエラー画面の一例を示している。これにより、オペレータは、オペレーションモジュール３にメモリカード１４を挿入し忘れていたり、メモリカード１４に設定情報を書き込みし忘れていたりすることを認識しやすくなる。一方で、ラダープログラム７１が存在していれば、Ｓ９０２に進む。
【００４９】
Ｓ９０２で、ロード制御部２２は、ＰＬＣ状態管理部３８から状態情報を読み出し、ＰＬＣ１の現在の動作モードがプログラムモードであるかどうかを判定する。状態情報が、ランモードを示していれば、Ｓ９１０に進む。Ｓ９１０で、ロード制御部２２は、エラー画面を表示部１０に表示させる。図７（Ｇ）はＰＬＣ１の動作モードがプログラムモードラでないときに表示されるエラー画面の一例を示している。このエラーメッセージには、動作モードがプログラムモードでないこと、動作モードがランモードであること、設定情報のロードはプログラムモードのときにだけ実行可能であることを示すメッセージが含まれてもよい。これにより、オペレータは、ランモード中に誤ってラダープログラムを上書きしてしまうことを防止できる。また、ＰＬＣ１や被制御機器の誤動作を抑制できるようになる。一方で、動作モードがプログラムモードであれば、Ｓ９０３に進む。
【００５０】
Ｓ９０３で、ロード制御部２２は、メモリカード１４に記憶されている、本体２にロード可能な設定情報の条件を示す情報と、記憶部３０に記憶されている、本体２にロード可能な設定情報の条件を示す情報とを比較し、両者が一致するかどうかを判定する。たとえば、ロード制御部２２は、メモリカード１４に記憶されている設定情報に対応している機種情報と、記憶部３０に記憶されている機種情報とを比較し、両者が一致するかどうかを判定する。機種情報が一致してなければ、Ｓ９１０に進む。このように、記憶部３０には本体２を識別するための識別情報が予め保持されており、メモリカード１４には設定情報をロード可能な本体２の識別情報が予め記憶されている。Ｓ９１０で、ロード制御部２２は、エラー画面を表示部１０に表示させる。図７（Ｈ）はＰＬＣ１の機種情報とメモリカード１４に記憶されている設定情報の機種情報が不一致であるときに表示されるエラー画面の一例を示している。これにより、オペレータは、意図している機種とは異なる機種にオペレーションモジュール３を装着してしまったことや、意図している設定情報とは異なる設定情報が記憶されたオペレーションモジュール３を収容部６に取り付けてしまったことを認識しやすくなる。また、意図していない機種向けの設定情報を書き込んでしまうことを防止できるようになる。さらに、意図していない設定情報によってＰＬＣ１が誤動作するのを防止できるようになる。一方で、機種情報が一致していれば、Ｓ９０４に進む。
【００５１】
Ｓ９０４で、ロード制御部２２は、本体２の機能バージョンと、メモリカード１４に記憶されている設定情報の機能バージョンとを比較し、両者が一致しているかどうか、すなわち設定情報が本体に適合しているかどうかを判定する。上述したように、機能バージョンは、ＰＬＣ１がどのような機能に対応しているかを示している情報である。機能バージョンが一致していなければ、Ｓ９１０に進む。Ｓ９１０で、ロード制御部２２は、エラー画面を表示部１０に表示させる。図７（Ｉ）はＰＬＣ１の機能バージョンとメモリカード１４に記憶されている設定情報の機能バージョンとが不一致であるときに表示されるエラー画面の一例を示している。これにより、機能バージョンが異なるＰＬＣ向けの設定情報が誤って記憶部３０に書き込まれてしまうことを防止できる。また、意図していない機能バージョンのＰＬＣ向けの設定情報によってＰＬＣ１が誤動作することを事前に防止できる。なお、エラー表示画面には、ＰＬＣ１の機能バージョンと、メモリカード１４に記憶されている機能バージョンとが含まれてもよい。これにより、オペレータは、より直感的に機能バージョンの違いを認識できるようになろう。機能バージョンも一致していれば、ロード制御部２２は、ロード可能と判定し、上述したＳ８０２に進む。
【００５２】
このように、本実施形態によれば、メモリカード１４に記憶されているロード可能条件と、記憶部３０に記憶されているロード可能条件とが一致すると、ロード制御部２２がロードを実行するため、本来意図していないロードを抑制できるようになろう。また、これにより、意図しないロードに起因したＰＬＣ１の誤動作を抑制できるようになろう。
【００５３】
言い換えると、ロード制御部２２は、オペレーションモジュール３に記憶されている設定情報がＰＬＣ１の本体２に適合するか否かを判断する機能を有しており、適合する場合にはロード処理を実行し、適合しない場合にはロード処理を実行せず、表示部１０を介してオペレータに不適合である旨を報知する。これにより、意図していないロードやＰＬＣ１の誤動作を抑制することができる。
【００５４】
＜セーブ処理＞
セーブ処理は、ＰＬＣ１の本体２に保持されている設定情報（例：ラダープログラム３１、ログデータ３２、デバイス情報３４など）をオペレーションモジュール３のメモリカード１４に書き出す処理である。これにより、オペレータは、ＰＬＣ１の動作状態や設定状態をプログラム作成支援装置５０などのＰＣにおいて分析しやすくなる。オペレーションモジュール３に搭載される表示部１０もスペースの制約から数十文字を表示できる程度であることが多い。よって、ＰＬＣ１のログデータ３２やデバイス情報を詳細に分析したり、ラダープログラム３１を本格的に修正したりすることは、オペレーションモジュール３だけでは難しい。そこで、ＰＬＣ１の本体２に保持されている設定情報をオペレーションモジュール３に転送し、さらにオペレーションモジュール３またはメモリカード１４をＰＣに接続する。これにより、オペレータは、ＰＣ上で本格的な修正や分析を実行できるようになる。
【００５５】
また、ＰＬＣ１のコピー（複製）を作り出す際、セーブ処理を利用すれば、簡易にＰＬＣ１のコピーを作りだすことができる。具体的には、特定のＰＬＣ１から設定情報として、例えばラダープログラム（マスタープログラム）やデバイス情報を読み出して、オペレーションモジュール３に書き出す。その後、このオペレーションモジュール３を別のＰＬＣ１に取り付けて、格納された設定情報をロードすることで、同じ動作が行われるＰＬＣ１を簡易に作り出すことができる。
【００５６】
図１０は、セーブ制御部２４が実行するセーブ処理の各ステップを示すフローチャートである。図１１（Ａ）に示したメニュー画面でセーブ処理が選択されたことを示すキー操作が操作部１１においてオペレータにより実行される。解釈部４３は、キー情報を解釈して、セーブ処理の選択を認識し、セーブ処理が選択されたことをセーブ制御部２４に通知する。セーブ制御部２４は、表示情報作成部４４にセーブ確認画面を表示するための表示情報を作成させる。オペレーションモジュール３の制御部６０は、表示情報を受信すると、セーブ確認画面を表示部１０に表示させる。図１１（Ｂ）はセーブ確認画面の一例を示している。セーブ確認画面が表示されているときに、操作部１１において実行を指示するリターンキーが操作されたことを解釈部４３から通知されると、セーブ制御部２４は、以下のセーブ処理を開始する。
【００５７】
Ｓ１００１で、セーブ制御部２４は、セーブを実行可能かどうかを判定する。たとえば、セーブ制御部２４は、メモリカード１４がオペレーションモジュール３に取り付けられているかどうかを判定する。また、セーブ制御部２４は、メモリカード１４の空き容量が十分かどうかを判定してもよい。セーブ制御部２４は、記憶部３０に記憶されているバックアップ（セーブ）対象のデータの容量を取得するとともに、メモリカード１４の空き容量も取得し、両者を比較する。メモリカード１４の空き容量が十分であれば、セーブ制御部２４は、セーブ可能と判定する。また、セーブ制御部２４は、メモリカード１４にすでにラダープログラム７１などの設定情報が記憶されているかどうかを判定してもよい。これは、重要な設定情報を誤って別の設定情報によって上書きしてしまうことを防止するためである。セーブ可能であれば、Ｓ１００５に進み、ロード制御部２２は、エラー画面を表示部１０に表示させる。図１１（Ｃ）は、メモリカード１４にすでにラダープログラム７１などの設定情報が記憶されているときのエラー画面の一例である。このようなエラー内容を含むエラー画面を表示することで、オペレータは、セーブが実行できないこと、および、実行できない原因を把握しやすくなる。一方で、セーブ可能であれば、Ｓ１００２に進む。
【００５８】
Ｓ１００２で、セーブ制御部２４は、記憶部３０から設定情報を読み出して、メモリカード１４に書き出す。この際に、セーブ制御部２４は、図１１（Ｄ）に示したようなセーブ中画面を表示してもよい。また、セーブ中画面にはセーブ処理が全体の何パーセント完了したかを示すメッセージが含まれてもよい。これにより、オペレータは、セーブ処理が実行中であること、および、セーブ処理がどの程度まで完了したかを把握しやすくなる。
【００５９】
Ｓ１００３で、セーブ制御部２４は、設定情報のセーブが完了したかどうかを判定する。たとえば、セーブ制御部２４は、設定情報の書き込みが完了したかどうか、設定情報のＣＲＣが正しいかどうかなどを判定してもよい。セーブが完了するとＳ１００４に進む。
【００６０】
Ｓ１００４で、セーブ制御部２４は、セーブが完了したことを示すセーブ完了画面を表示部１０に表示させる。
【００６１】
このように、表示部１０は、本体２の記憶部３０に保持されている設定情報をオペレーションモジュール３のメモリカード１４にセーブするかどうかを問い合わせるメッセージを表示するように構成されている。操作部１１は、本体２の記憶部３０に保持されている設定情報をオペレーションモジュール３のメモリカード１４にセーブするためのセーブ指示を受け付けるように構成されている。セーブ制御部２４は、操作部１１を通じてセーブ指示が入力されると、メモリカードドライバ３７を通じて記憶部３０に保持されている設定情報を読み出して、メモリカード１４にセーブする。これにより、ＰＬＣ１の本体２に保持されている設定情報を、プログラム作成支援装置５０を本体２に接続せずに、取り出すことが可能になる。これにより、プログラム作成支援装置５０などのＰＣ上でより詳細に設定情報を分析しやすくなろう。また、上述したように、セーブとロードを繰り返すことで、ＰＬＣ１の複製を簡易に作り出すことができるであろう。
【００６２】
＜データクリア処理＞
データクリア機能とは、オペレーションモジュール３のメモリカード１４に記憶されているすべてまたは一部のデータを消去する機能のことである。たとえば、メモリカード１４に過去にセーブしたログデータがあるために、メモリカード１４の空き容量が不足することがある。この場合、本体２に格納されているより重要なデータをメモリカード１４へセーブできなくなってしまう。また、メモリカード１４から設定情報を本体２にロードするときに特定のパラメータ（デバイス情報など）を消去してからロードできれば、便利なこともあるだろう。さらに、セキュリティの問題上、ラダープログラム等の設定情報を複製されると困る場合には、これを必要に応じて消去したい、というニーズもある。そこで、データクリア制御部２５は、オペレーションモジュール３の操作部１１から入力された消去指示にしたがってメモリカード１４に記憶されているデータをクリアする。
【００６３】
図１２は、データクリア制御部２５が実行するデータクリア処理の各ステップを示したフローチャートである。ここでは、設定情報のうちプロジェクトデータの一部のデータをクリアする例について説明する。なお、データクリア処理は、図１３（Ａ）が示すように、表示部１０に表示されたメニューからデータクリア処理が選択されると開始される。つまり、データクリア処理が操作部１１を通じて選択されたことを、解釈部４３はキー情報から解釈し、データクリア処理が選択されたことをデータクリア制御部２５に通知する。
【００６４】
Ｓ１２０１で、データクリア制御部２５は、メモリカード１４にアクセスし、プロジェクトデータのプロパティを取得する。プロパティ情報には、プロジェクトデータのプロジェクト名、作成時刻、作成日時などのデータが含まれている。
【００６５】
Ｓ１２０２で、データクリア制御部２５は、クリア確認画面を表示部１０に表示させる。たとえば、データクリア制御部２５は、取得したプロパティ情報をクリア確認画面の表示情報の作成指示を表示情報作成部４４に渡す。表示情報作成部４４は指示にしたがって表示情報を作成し、モジュール通信部４２を介してオペレーションモジュール３に出力する。オペレーションモジュール３の制御部６０は、表示情報に基づいてクリア確認画面を表示部１０に表示させる。図１３（Ｂ）が示すように、クリア確認画面には、データクリアを実行するかどうかを問い合わせるメッセージやプロジェクト情報が含まれている。オペレータは、表示部１０に表示されたプロパティ情報にしたがってプロジェクトデータを削除すべきかどうかを最終的に確認できる。
【００６６】
Ｓ１２０３で、データクリア制御部２５は、クリア開始指示が入力されたかどうかを判定する。たとえば、クリア確認画面が表示されている状態で操作部１１のリターンキーが押されると、解釈部４３は、クリア開始指示が入力されたことをデータクリア制御部２５へ通知する。クリア開始指示が入力されると、Ｓ１２０４に進む。
【００６７】
Ｓ１２０４で、データクリア制御部２５は、クリア中画面を表示部１０に表示させる。表示情報作成部４４はデータクリア制御部２５からの指示にしたがって表示情報を作成し、モジュール通信部４２を介してオペレーションモジュール３に出力する。オペレーションモジュール３の制御部６０は、表示情報に基づいてクリア中画面を表示部１０に表示させる。図１３（Ｃ）はクリア中画面の一例を示している。クリア中画面には、データクリア処理を実行中であることを示すメッセージが含まれている。なお、クリア中画面には、クリア処理を開始してから完了するまでに必要となる処理時間が含まれてもよい。
【００６８】
Ｓ１２０５で、データクリア制御部２５は、メモリカード１４にアクセスし、プロジェクトデータ（ラダープログラム７１やデバイス情報７４など）を消去する。
【００６９】
Ｓ１２０６で、データクリア制御部２５は、プロジェクトデータの消去が完了したかどうかを判定する。メモリカードドライバ３７はデータの消去が完了すると、完了したことを示す信号をデータクリア制御部２５に送信する。データクリア制御部２５は、プロジェクトデータの消去が完了したことを認識すると、Ｓ１２０７に進む。
【００７０】
Ｓ１２０７で、データクリア制御部２５は、クリア完了画面を表示部１０に表示させる。表示情報作成部４４は指示にしたがって表示情報を作成し、モジュール通信部４２を介してオペレーションモジュール３に出力する。オペレーションモジュール３の制御部６０は、表示情報に基づいてクリア完了画面を表示部１０に表示させる。図１３（Ｄ）が示すように、クリア完了画面には、プロジェクトデータの消去が完了したことを示すメッセージが含まれている。その後、表示部１０は、メインメニューの表示に復帰する。
【００７１】
このように、表示部１０は、オペレーションモジュール３のメモリカード１４に保持されている設定情報を消去するかどうかを問い合わせるメッセージを表示するように構成されている。操作部１１は、オペレーションモジュール３のメモリカード１４に保持されている設定情報を消去するための消去指示を受け付けるようにさらに構成されている。データクリア制御部２５は、操作部１１を通じて消去指示が入力されると、オペレーションモジュール３のメモリカード１４に保持されている設定情報を消去する消去制御部として機能する。よって、オペレータは、オペレーションモジュール３またはメモリカード１４をプログラム作成支援装置５０に接続せずに、メモリカード１４に記憶されている設定情報を消去できるようになる。たとえば、メモリカード１４にロード済みのラダープログラム７１が残存しているために、ログデータ３２をメモリカード１４にセーブできないことも考えられる。このような場合には、ラダープログラム７１を消去することで、ログデータ３２をメモリカード１４にセーブできるようになろう。
【００７２】
ここでは、メモリカード１４に記憶されているデータのクリアについて説明したが、記憶部３０に記憶されているデータをクリアしてもよい。この場合、表示部１０は、本体２の記憶部３０に保持されている設定情報を消去するかどうかを問い合わせるメッセージを表示する。操作部１１は、本体２の記憶部３０に保持されている設定情報を消去するための消去指示を受け付けるようにさらに構成されている。データクリア制御部２５は、操作部１１を通じて消去指示が入力されると、本体２の記憶部３０に記憶されている設定情報を消去する。
【００７３】
＜データロック処理＞
データロック機能とは、オペレーションモジュール３のメモリカード１４に記憶されているデータの消去、上書き、変更などを禁止する機能である。これにより、オペレータが誤操作によりデータを消失してしまうことを防止できる。なお、データロック機能を、オペレーションモジュール３に設けた機械式のスイッチによって実現してもよい。しかし、機械式のスイッチは、摩耗によって寿命が尽きやすく、また、何かがふれることでスイッチ状態が変化してロックが解除されてしまう可能性がある。そこで、本実施形態では、オペレーションモジュール３の内部にデータロックが指定されているか否かを示すデータ（フラグなど）を保持することで、データロック機能を実現する。よって、オペレーションモジュール３の寿命を長くでき、かつ、誤操作によるデータロックの解除の抑制できるであろう。
【００７４】
図１４は、データロック制御部２１が実行するデータロック処理の各ステップを示すフローチャートである。図１５（Ａ）は表示部１０に表示されたメニューからデータロック処理が選択されたことを示している。データロック処理が選択されているときに操作部１１においてリターンキーが押し下げられると、解釈部４３は、データロック処理の実行が指示されたことをデータロック制御部２１に通知する。
【００７５】
Ｓ１４０１で、データロック制御部２１は、メモリカード１４に記憶されているプロジェクトデータのロック状態を確認する。メモリカード１４には、ロック状態かアンロック状態かを示すロックフラグが記憶されている。データロック制御部２１は、このロックフラグを読み出す。
【００７６】
Ｓ１４０２で、データロック制御部２１は、データフラグを参照し、プロジェクトデータがロック状態かアンロック状態かを決定する。アンロック状態であれば、データロック制御部２１は、図１５（Ｂ）が示すような、ロック状態へ変更することを確認するための確認画面を表示部１０に表示させる。一方で、ロック状態であれば、データロック制御部２１は、図１５（Ｅ）が示すような、アンロック状態へ変更することを確認するための確認画面を表示部１０に表示させる
【００７７】
Ｓ１４０３で、データロック制御部２１は、操作部１１からデータロック状態の変更指示が入力されたかどうかを判定する。確認画面が表示されているときに、操作部１１のリターンキーが押されると、解釈部４３は、変更指示が入力されたことをデータロック制御部２１に通知する。これにより、データロック制御部２１は、ロック状態／アンロック状態の変更指示が入力されたと判定する。
【００７８】
Ｓ１４０４で、データロック制御部２１は、ロック状態に変更する場合はロック中画面を、アンロック状態に変更する場合はアンロック中画面を表示部に表示させる。図１５（Ｃ）はロック中画面の一例を示し、図１５（Ｆ）はアンロック中画面の一例を示している。
【００７９】
Ｓ１４０５で、データロック制御部２１は、ロックフラグを変更する。データロック制御部２１は、ロック状態であればアンロック状態に変更し、アンロック状態であればロック状態に変更にロックフラグを変更し、メモリカード１４に書き込む。
【００８０】
Ｓ１４０６で、データロック制御部２１は、ロックフラグの書き込みが完了したかどうかを判定する。メモリカードドライバ３７は、ロックフラグの書き込みが完了すると、その旨をデータロック制御部２１に通知する。ロックフラグの書き込みが完了すると、Ｓ１４０７に進む。
【００８１】
Ｓ１４０７で、データロック制御部２１は、完了画面を表示部１０に表示させる。図１５（Ｄ）はデータロックが完了したことを示す完了画面の一例を示している。図１５（Ｇ）はデータアンロックが完了したことを示す完了画面の一例を示している。
【００８２】
このように、データロック制御部２１は、オペレーションモジュール３のメモリカード１４に記憶されている設定情報の変更または消去を許容するアンロック状態と設定情報の変更または消去を禁止するロック状態とを制御する。これにより、オペレータが誤操作によりデータを消失してしまうことを防止できるだろう。また、機械式のスイッチによりデータロック機能を実現する場合と比較して、本実施形態では、オペレーションモジュール３の寿命を長くでき、かつ、誤操作によるデータロックの解除の抑制できるであろう。
【００８３】
＜プロパティ表示処理＞
プロパティ表示処理とは、オペレーションモジュール３のメモリカード１４に記憶されているプロジェクトデータのプロパティ情報を表示部１０に表示する機能のことである。パロパティ情報には、たとえば、プロジェクトデータのプロジェクト名や作成日時、対象ＰＬＣ、機能バージョンなどの情報が含まれている。複数のオペレーションモジュール３を有しているオペレータは外観だけではどのオペレーションモジュール３にどのＰＬＣ用のプロジェクトデータが入っているかを認識できない。そこで、オペレーションモジュール３に格納されているプロジェクトデータのプロパティ情報を簡易に見ることができれば、非常に便利であろう。
【００８４】
図１６は、制御部２０のプロパティ表示制御部２６が実行するプロパティ表示処理の各ステップを示すフローチャートである。図１７（Ａ）はメニュー画面においてプロパティの表示処理が選択されていることを示している。プロパティ表示処理が選択されているときに操作部１１においてリターンキーが押し下げられると、解釈部４３は、プロパティ表示処理の実行が指示されたことをプロパティ表示制御部２６に通知する。
【００８５】
Ｓ１６０１で、プロパティ表示制御部２６は、メモリカード１４にアクセスし、プロパティ情報を取得する。Ｓ１６０２で、プロパティ表示制御部２６は、取得したプロパティ情報のすべてまたは一部を表示部１０に表示させる。
【００８６】
図１７（Ｂ）はプロパティ表示画面の一例を示している。このプロパティ表示画面には、プロジェクト名、対象ＰＬＣの名称（ＰＬＣ  ＡＢＣ１２３）、プロジェクトデータの作成日時の上方が含まれている。表示部１０は、画面サイズの制限により、プロパティ情報のすべてを表示できない場合もある。この場合、プロパティ表示制御部２６は、プロパティ情報のうち１画面で収まる程度の情報を表示情報作成部４４に渡して、プロパティ表示画面の表示情報を作成させてもよい。プロパティ表示画面を表示しているときに、操作部１１の上下キーが操作されると、解釈部４３は、プロパティ表示画面の切り替え指示が入力されたことをプロパティ表示制御部２６に通知する。プロパティ表示制御部２６は、切り替え指示にしたがってプロパティ情報のうち次に表示すべき情報を表示情報作成部４４に渡して、プロパティ表示画面の表示情報を作成させる。図１７（Ｃ）は、切り替えられたプロパティ表示画面の一例を示している。このプロパティ表示画面には、プロジェクト名と機能バージョンの情報が示されている。
【００８７】
このように、表示部１０は、オペレーションモジュール３のメモリカード１４に記憶されている設定情報に関する情報であるプロパティ情報を表示するかどうかを問い合わせるメッセージを表示するように構成されている。操作部１１を通じてオペレーションモジュール３のメモリカード１４に記憶されている設定情報に関する情報であるプロパティ情報を表示するための表示指示が入力されると、表示部１０は、オペレーションモジュール３のメモリカード１４に記憶されている設定情報に関する情報であるプロパティ情報を表示するように構成されている。よって、オペレータは、オペレーションモジュール３のメモリカード１４に記憶されているプロジェクトデータのプロパティ情報を視覚的に確認しやすくなる。ここでは、プロパティ情報について表示したが、デバイス情報を表示してもよい。多数のデバイス情報が存在するときは、一画面では収まらないことがある。この場合も、プロパティ情報と同様に、プロパティ表示制御部２６は、表示画面を切り替えて、デバイス情報を順番に表示してもよい。表示部１０におけるデバイス情報の表示制御については、［デバイス情報の表示制御］にて後述する。
【００８８】
＜操作禁止機能＞
操作禁止機能とは、オペレーションモジュール３に対する特定の操作を禁止する機能のことである。たとえば、ＰＬＣに習熟したオペレータは、習熟度の低いオペレータには操作部１１を操作してほしくないと考える場合がある。また、上述したデータロック機能ではデータをロックできるためデータの改変等を防止できるが、データのロードまでは防止できない。そこで、本実施形態では、オペレーションモジュール３の操作禁止機能を提供する。操作禁止機能はセキュリティ制御部２３によってコントロールされるものとする。
【００８９】
図１８は、セキュリティ制御部２３が実行するキーロック処理の各ステップを示すフローチャートである。セキュリティ制御部２３は、メニュー画面でキーロックが選択されたことを解釈部４３から通知されると、キーロック処理を開始する。図１９（Ａ）はメニュー画面においてキーロック処理が選択されたことを示している。
【００９０】
Ｓ１８０１で、セキュリティ制御部２３は、解釈部４３を通じてキーロック指示が入力されたかどうかを判定する。キーロック指示が入力されると、Ｓ１８０２に進む。
【００９１】
Ｓ１８０２で、セキュリティ制御部２３は、記憶部３０に記憶されている複数のデバイス情報のうちキーロックに関するデバイス情報に１をセットする。キーロックに関するデバイス情報は１ビットであり、１がキーロックを示し、０がアンロックを示すものとする。
【００９２】
Ｓ１８０３で、セキュリティ制御部２３は、キーロック状態にＰＬＣ１が設定されていることを示すメッセージを表示部１０に表示させる。図１９（Ｂ）はＰＬＣ１がキーロックされていることを示す表示画面の一例である。
【００９３】
Ｓ１８０４で、セキュリティ制御部２３は、操作部１１においてキー操作がなされたかどうかを判定する。キー操作がなされると、操作されたキーを示す情報が解釈部４３からセキュリティ制御部２３に通知される。操作がなされていなかれば、Ｓ１８０３に戻る。一方で、キーロックに関するデバイス情報が１に設定されているときに、操作部１１が操作されると、Ｓ１８０５に進む。
【００９４】
Ｓ１８０５で、セキュリティ制御部２３は、キー操作が解除指示に相当するキー操作であるかどうかを判定する。たとえば、操作部１１において特定の複数のキーが同時に押されたことなどを、解除指示に相当するキー操作としてもよい。解除指示でないキー操作がなされた場合、Ｓ１８０８に進む。Ｓ１８０８で、セキュリティ制御部２３は、表示部１０にキー入力が無効になったことを示すメッセージを表示する。このメッセージはオペレータに警告を認知させるため、数秒間にわたって表示される。その後、Ｓ１８０４に戻る。一方で、解除指示が入力されると、Ｓ１８０６に進む。
【００９５】
Ｓ１８０６で、セキュリティ制御部２３は、キーロックに関するデバイス情報を０に書き換えることで、キーロックを解除する。Ｓ１８０７で、セキュリティ制御部２３は、キーロックが解除されたことを示す表示画面を表示部１０に表示させる。
【００９６】
このように、セキュリティ制御部２３は、記憶部３０に設けられたデバイスに記憶されているデバイス情報にしたがって、操作部のキー操作を無効とするか有効とするかを制御するキーロック制御部として機能する。このようなキーロック機能を設けることで、意図しない操作による誤動作やオペレーションモジュール３からのデータの消失を抑制できるようになろう。
【００９７】
なお、本実施形態では、「キーロック」をメニューの一つに加え（図１９（Ａ）参照）、図１８に示すフローチャートに従ってキーロック処理が実行されるようにしているが、本発明はこのような実施形態に限られない。例えば、特定キーの長押しによって、キーロックとキーロック解除を切り換えるようにしてもよい。この場合、セキュリティ制御部２３は、特定キーが長押しされたか否かを判断し、特定キーが長押しされたと判定した場合には、キーロック状態を設定する又は解除する一方、特定キーが長押しされていないと判定した場合には、何も行わない。これにより、ＰＬＣ自体やＰＬＣを含むシステムに詳しくない人が勝手に操作部を操作して所望の画面以外から遷移させないようにすることができる。
【００９８】
また、本実施形態では、「キーロック」を、オペレーションモジュール３のキー操作を一切禁止するための処理としているが、他にも例えば、オペレーションモジュール３上での操作を機能別に禁止してもよい。つまり、操作禁止設定の対象を絞って禁止するようにしてもよい。例えば、デバイス値の確認は許可するが、プロジェクトのロードは許可しない、といった場合に、この機能別操作禁止設定が有用である。このように、セキュリティ制御部２３は、表示部１０上で、例えばプロジェクトのロードに関するデバイスなど、特定のデバイスが操作禁止対象として選択されたか否かを判断し、これが選択されたと判定した場合には、プロジェクトのロードなど、そのデバイスに関する処理が禁止状態に設定される。
【００９９】
＜リードプロテクト機能設定時のセーブ動作＞
プログラム作成支援装置５０からラダープログラムなどのプロジェクトデータがＰＬＣ１の本体２に転送する際に、オペレータは、ラダープログラムのリードプロテクトを設定できる。記憶部３０に記憶されたラダープログラム３１にリードプロテクトが設定されると、オペレーションモジュール３にメモリカード１４にはラダープログラム３１をセーブできなくなってしまう。リードプロテクトは、オペレーションモジュール３への無差別的なコピーを禁止できる利点があるが、その一方で、一切のバックアップセーブが禁止されてしまうと不便である。そこで、本実施形態では、一定の条件が満たされるときにだけ、リードプロテクトのかかっているラダープログラム等のオペレーションモジュール３へのセーブを許可する。
【０１００】
図２０は、セーブ制御部２４が実行するリードプロテクトされているラダープログラムのセーブ処理の各ステップを示すフローチャートである。なお、このセーブ処理は、図１０に示したセーブ処理の一部を改良したものである。以下のＳ２００１とＳ２００２は上述したＳ１００１に相当するセーブ可能判定処理に相当する。よって、すでに説明した個所については、詳細な説明を省略する。
【０１０１】
Ｓ２００１で、セーブ制御部２４は、記憶部３０に記憶されているラダープログラム３１にリードプロテクトがかかっているかどうかを判定する。ラダープログラム３１のファイルにはリードプロテクトを属性として設定できるようになっているものとする。リードプロテクトがかかっていなければ、Ｓ１００２に進む。セーブ制御部２４は、上述したＳ１００２ないしＳ１００４を実行することで、リードプロテクトのかかったラダープログラム３１をオペレーションモジュール３のメモリカード１４にセーブする。一方で、リードプロテクトがかかっていれば、Ｓ２００２に進む。
【０１０２】
Ｓ２００２で、セーブ制御部２４は、プログラム作成支援装置５０からラダープログラムを含むプロジェクトデータの記憶部３０への書き込みが終了してからの経過時間が所定時間（例：３０秒など）を超えているかどうかを判定する。セーブ制御部２４は、時間を計時するためのタイマーやカウンタを備えている。経過時間が所定時間を超えていなければ、本実施形態では、ラダープログラム３１等のセーブを許可する。このように、リードプロテクトのかかったラダープログラム３１のセーブを許可するための所定の条件が満たされているため、Ｓ１００２に進む。セーブ制御部２４は、上述したＳ１００２ないしＳ１００４を実行することで、リードプロテクトのかかったラダープログラム３１をオペレーションモジュール３のメモリカード１４にセーブする。
【０１０３】
このように本実施形態によれば、セーブ制御部２４は、本体２の記憶部３０に保持されている設定情報にリードプロテクトがかけられている場合に、記憶部３０に設定情報が記憶されてから所定期間が経過するまでは、オペレーションモジュール３のメモリカード１４への設定情報のセーブを許容し、所定期間が経過した後は、オペレーションモジュール３のメモリカード１４への設定情報のセーブを禁止するように制御する。つまり、リードプロテクトがかかっているラダープログラム３１については、予め定められた条件を満たしている場合に限ってオペレーションモジュール３のメモリカード１４にセーブできるようになる。たとえば、プログラム作成支援装置５０からラダープログラム３１が書き込まれてから３０秒を経過する前にセーブ指示が実行された場合に限って、オペレーションモジュール３へのセーブが許可されてもよい。これにより、ラダープログラム３１の無差別的なコピーを防止しつつ、適正にラダープログラム３１のオペレーションモジュール３へのセーブを実行できるようになる。
【０１０４】
＜その他＞
上述した実施形態では、オペレーションモジュール３にはメモリカード１４が搭載されているものとして説明したが、メモリカード１４に代えて内蔵型の不揮発性記憶デバイスが採用されてもよい。メモリカード１４とともにこのような不揮発性記憶デバイスが採用されてもよい。
【０１０５】
また、制御部２０は、本体２の記憶部３０に記憶されているデバイス情報をオペレーションモジュール３の表示部１０に表示してもよい。本体２には表示部がないため、デバイス情報を直接表示することはできないが、オペレーションモジュール３を本体２に取り付けることで、表示部１０にデバイス情報を表示できるようになる。
【０１０６】
［デバイス情報の表示制御］
制御部２０は、記憶部３０に設けられたデバイス３３に記憶されているデバイス情報３４を表示するかどうかを問い合わせるメッセージを表示部１０に表示させる。制御部２０は、操作部１１を通じて本体２の記憶部３０に設けられたデバイス３３に記憶されているデバイス情報３４を表示するための表示指示を、解釈部４３を通じて、受け付ける。制御部２０は、デバイス情報の読み出し部として機能する記憶部用ドライバ３６を通じて記憶部３０から情報を読み出す。つまり、制御部２０は、操作部１１を通じて表示指示が入力されると、本体２の記憶部３０に保持されているデバイス情報３４を読み出す。制御部２０は、表示情報作成部４４にデバイス情報を表示する表示画面の表示情報を作成し、オペレーションモジュール３に出力させる。表示部１０は、制御部２０が本体２の記憶部３０から読み出したデバイス情報３４を表示する。
【０１０７】
図２１（Ａ）および図２１（Ｄ）は、デバイス情報の表示例を示している。図２１（Ａ）は、１ビット型のデバイス情報を記憶するデバイスＲ１０００とＲ１００１とを示している。デバイスＲ１０００にはＯＦＦが記憶されており、デバイスＲ１００１にはＯＮが記憶されていることをオペレータは視覚的に把握できる。図２１（Ｄ）は、数値型のデバイス情報を記憶するデバイスＤＭ１０００とＤＭ１００１が示されている。デバイスＤＭ１０００には１００が記憶されており、デバイスＤＭ１００１には１０５が記憶されている。
【０１０８】
オペレータは、表示部１０に表示されているデバイス情報を編集または変更したいと希望するであろう。そこで、制御部２０は、操作部１１の操作にしたがって、本体２の記憶部３０に記憶されているデバイス情報を変更してもよい。
【０１０９】
図２１（Ｂ）および図２１（Ｃ）が示すように、たとえば、操作部１１に設けられた上キーまたは下キーを押すことで、ＯＮ⇒ＯＦＦ⇒ＯＮ⇒ＯＦＦ⇒・・・といったように制御部２０は、デバイス情報を変更してもよい。
【０１１０】
また、操作部１１のリターンキーが一定期間（例：１秒）にわたって押されたことを検知すると、制御部２０は、変更指示が入力されたものと認識し、表示部１０にデバイス情報を点滅表示させる。この状態で、操作部１１の上キーが操作されると、制御部２０は、図２１（Ｅ）に示すように、デバイス情報である数値を１ステップずつ増加してもよい。
【０１１１】
このようにオペレーションモジュール３はデバイス情報を表示できるため、オペレータは、プログラム作成支援装置５０を接続せずに、デバイス情報を確認できるようになる。また、オペレータは、オペレーションモジュール３は使用することで、プログラム作成支援装置５０を接続せずに、デバイス情報を変更できるようになる。
【０１１２】
［ライトプロテクトが設定されているときの強制ロード］
上述したように、オペレーションモジュール３は、ＰＬＣ１の内部に保持されているデバイス情報を表示可能な表示部１０とデバイス情報を変更可能な操作部１１を備えている。そして、表示部１０にロード準備完了画面が表示されている状態で、操作部１１を通じてロード指示が入力されると、ロード制御部２２は、上述したロード処理を実行する。しかし、記憶部３０に記憶されているラダープログラムなどのプロジェクトデータにライトプロテクトがかかっていると、ロード制御部２２は、オペレーションモジュール３に記憶されているプロジェクトデータのロードを実行できない。そこで、ロード制御部２２は、表示部１０にロードが実行できない旨（例：ライトプロテクト）を表示している最中に、特定のキー（例：リターンキーなど）が一定期間（例：１秒）にわたって連続して押され続けたことを条件として、強制ロードを実行してもよい。このように、ロード制御部２２は、記憶部３０に保持されている設定情報にライトプロテクトがかかっている場合に操作部１１において強制ロードの指示が入力されると、オペレーションモジュール３のメモリカード１４に記憶されている設定情報を本体２の記憶部３０へ強制的にロードするよう構成されていてもよい。
【図１】
2014052669.tif 000003
【図２】
2014052669.tif 000004
【図３】
2014052669.tif 000005
【図４】
2014052669.tif 000006
【図５】
2014052669.tif 000007
【図６】
2014052669.tif 000008
【図７】
2014052669.tif 000009
【図８】
2014052669.tif 000010
【図９】
2014052669.tif 000011
【図１０】
2014052669.tif 000012
【図１１】
2014052669.tif 000013
【図１２】
2014052669.tif 000014
【図１３】
2014052669.tif 000015
【図１４】
2014052669.tif 000016
【図１５】
2014052669.tif 000017
【図１６】
2014052669.tif 000018
【図１７】
2014052669.tif 000019
【図１８】
2014052669.tif 000020
【図１９】
2014052669.tif 000021
【図２０】
2014052669.tif 000022
【図２１】
2014052669.tif 000023