(57)【特許請求の範囲】
【請求項１】
シーケンスプログラムで読み書き可能な信号メモリと、
少なくとも２つ以上のシーケンスプログラムを格納するシーケンスプログラム格納メモリとを有し、
システムプログラムが前記シーケンスプログラム格納メモリに格納されたシーケンスプログラムのうち、ある１つのシーケンスプログラムを繰り返し実行して、機械を制御する制御装置において、
実行するシーケンスプログラムを切り替えるシーケンスプログラム切り替え要求と、前記シーケンスプログラム格納メモリに格納されているシーケンスプログラムの中から切り替え後に実行するシーケンスプログラムを指定するシーケンスプログラム実行指定情報とを、前記システムプログラムが外部から取得する手段と、
前記シーケンスプログラム切り替え要求と前記シーケンスプログラム実行指定情報とを取得したら、前記システムプログラムが実行中のシーケンスプログラムに対して前記シーケンスプログラム切り替え要求を取得した後の信号通知に適切な任意のタイミングでシーケンスプログラムの切り替えを予告する前記信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する手段と、
シーケンスプログラム切り替え時に機械に危険が生じないようにする処理が完了するまでの間、前記システムプログラムが実行中のシーケンスプログラムを所定の回数分、繰り返し実行した後、前記シーケンスプログラム切り替え予告信号をＯＦＦに設定する手段と、前記システムプログラムが前記シーケンスプログラム切り替え予告信号をＯＦＦにした後に前記システムプログラムが前記シーケンスプログラム実行指定情報で指定されたシーケンスプログラムに実行を切り替える手段と、
を備えることを特徴とする制御装置。
【請求項２】
シーケンスプログラムで読み書き可能な信号メモリと、
少なくとも２つ以上のシーケンスプログラムを格納するシーケンスプログラム格納メモリとを有し、
システムプログラムが前記シーケンスプログラム格納メモリに格納されたシーケンスプログラムのうち、ある１つのシーケンスプログラムを繰り返し実行して、機械を制御する制御装置において、
実行するシーケンスプログラムを切り替えるシーケンスプログラム切り替え要求と、前記シーケンスプログラム格納メモリに格納されているシーケンスプログラムの中から切り替え後に実行するシーケンスプログラムを指定するシーケンスプログラム実行指定情報とを、前記システムプログラムが外部から取得する手段と、
前記シーケンスプログラム切り替え要求と前記シーケンスプログラム実行指定情報とを取得したら、前記システムプログラムが実行中のシーケンスプログラムに対して前記シーケンスプログラム切り替え要求を取得した後の信号通知に適切な任意のタイミングでシーケンスプログラムの切り替えを予告する前記信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する手段と、
シーケンスプログラム切り替え時に危険が生じないようにする処理を自動的に実行する手段を提供するために、シーケンスプログラムを切り替えることを許可する前記信号メモリ内のシーケンスプログラム切り替え許可信号が、実行中のシーケンスプログラムによりＯＮに設定されたことを前記システムプログラムが検出する手段と、
前記シーケンスプログラム切り替え許可信号がＯＮに設定されたことを前記システムプログラムが検出したら、前記システムプログラムが前記シーケンスプログラム切り替え予告信号をＯＦＦに設定する手段と、前記システムプログラムが前記シーケンスプログラム切り替え予告信号をＯＦＦにした後に前記システムプログラムが前記シーケンスプログラム実行指定情報で指定されたシーケンスプログラムに実行を切り替える手段と、
を備えることを特徴とする制御装置。
【請求項３】
前記実行中のシーケンスプログラムの所定の繰り返し実行回数は、任意の数値を指定する手段を有する、請求項１に記載の制御装置。
【請求項４】
シーケンスプログラム格納メモリに格納されたシーケンスプログラムを制御ソフトウェアによって編集する手段と、
シーケンスプログラムを外部機器から入力してシーケンスプログラム格納メモリに格納する手段と、
を更に有することを特徴とする請求項１乃至請求項２に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、特にシーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置に関する。
【背景技術】
【０００２】
プログラマブルコントローラをはじめとする制御装置では、シーケンスプログラムを周期的に繰り返し実行して機械の制御を行なう。プログラマブルコントローラでは、シーケンスプログラムのデバッグや、機械の保守作業を行うに際して、機械の動作を止めることなく稼働させながらプログラムの切り替えを行うことが多い。そのため、機械稼動中のシーケンスプログラムの編集、更新を実現するために、さまざまな方式が考えられている。
【０００３】
機械稼働中にシーケンスプログラムを更新するための一つの方式として、シーケンスプログラムの記憶部に複数のシーケンスプログラムを格納できるようにして、その中の１つのシーケンスプログラムを実行中に、もう一方のシーケンスプログラムを編集し、編集完了後、シーケンスプログラムの実行を切り替えるという方式が、特許文献１で開示されている。
【０００４】
従来技術におけるシーケンスプログラム切り替え処理を図８に示すフローチャートを用いて説明する。
【０００５】
従来技術の方式では、制御装置がシーケンスプログラム１を実行している最中に（ステップＳ８０１）、シーケンスプログラム２への更新の準備が整った段階で、外部装置、ＭＤＩユニットなどを介して外部から制御装置に対して、シーケンスプログラムの切り替え要求と、更新プログラムをシーケンスプログラム２に指定する情報が通知されると（ステップＳ８０２）、制御装置は、シーケンスプログラム２に実行を切り替える（ステップＳ８０３）。
【０００６】
再度、シーケンスプログラムを更新する場合は、上記と同様の手順を踏む。
すなわち、制御装置がシーケンスプログラム２を実行している最中に（ステップＳ８０３）、シーケンスプログラム１への更新の準備が整った段階で、外部装置、ＭＤＩユニットなどを介して外部から制御装置に対して、シーケンスプログラムの切り替え要求と、更新プログラムをシーケンスプログラム１に指定する情報が通知されると（ステップＳ８０４）、制御装置は、シーケンスプログラム１に実行を切り替える（ステップＳ８０１）。
【０００７】
図９のタイミングチャートは、従来技術の方式におけるシーケンスプログラム１，２の実行状態を示している。図９のタイミングチャートでは、横軸を時間軸としており、当該時間軸を制御装置が実行するシーケンスプログラムの１実行サイクルごとに破線で区切っている。また、太い矢印でシーケンスプログラムの１実行サイクルを表現している。
従来技術の方式では、シーケンスプログラム１を実行している最中に制御装置の外部からインタフェースを介してシーケンスプログラムの切り替え要求を取得すると、その時に実行しているシーケンスプログラム１の実行サイクルが終了した時点で制御装置は実行用プログラムを即時シーケンスプログラム２へと切り替えている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０２−００５１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来技術の方式により、機械稼動中のシーケンスプログラムの編集、更新を実現することができる。しかしながら、この方式では機械の稼働中に実行するシーケンスプログラムを瞬間的に他のシーケンスプログラムに切り替えるため、編集に不手際がある場合や、実行するシーケンスプログラムを意図しないシーケンスプログラムに切り替えてしまった場合に、機械が予期せぬ動作をする恐れがある。このためオペレータは、もしも機械が予期せぬ動作をした場合でも危険が生じないよう、シーケンスプログラムの切り替え前に、例えば手動で機械を非常停止状態にする等の処置を施してから、シーケンスプログラムを切り替える必要があった。もし、非常停止等の処置を忘れ、シーケンスプログラムを切り替えてしまうと、オペレータの負傷や、機械の破損等、不足の事態を引き起こす可能性があった。
【００１０】
そこで、本発明の目的は、シーケンスプログラムのデバッグや、機械の保守作業によりシーケンスプログラムの編集、更新を行うに際して、シーケンスプログラム中に、シーケンスプログラム切り替え時に危険が生じないようにする処理、例えば機械を非常停止状態にする等の処理を、シーケンスプログラムの切り替え時に自動的に実行される仕組みを提供することで、オペレータの不注意により危険が発生することを防止して、オペレータがシーケンスプログラムのデバッグや更新に専念できることを可能とする制御装置を提供することである。
【課題を解決するための手段】
【００１１】
本願請求項１に係る発明は、シーケンスプログラムで読み書き可能な信号メモリと、少なくとも２つ以上のシーケンスプログラムを格納するシーケンスプログラム格納メモリとを有し、システムプログラムが前記シーケンスプログラム格納メモリに格納されたシーケンスプログラムのうち、ある１つのシーケンスプログラムを繰り返し実行して、機械を制御する制御装置において、実行するシーケンスプログラムを切り替えるシーケンスプログラム切り替え要求と、前記シーケンスプログラム格納メモリに格納されているシーケンスプログラムの中から切り替え後に実行するシーケンスプログラムを指定するシーケンスプログラム実行指定情報とを、前記システムプログラムが外部から取得する手段と、前記シーケンスプログラム切り替え要求と前記シーケンスプログラム実行指定情報とを取得したら、前記システムプログラムが実行中のシーケンスプログラムに対して前記シーケンスプログラム切り替え要求を取得した後の信号通知に適切な任意のタイミングでシーケンスプログラムの切り替えを予告する前記信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する手段と、シーケンスプログラム切り替え時に機械に危険が生じないようにする処理が完了するまでの間、前記システムプログラムが実行中のシーケンスプログラムを所定の回数分、繰り返し実行した後、前記シーケンスプログラム切り替え予告信号をＯＦＦに設定する手段と、前記システムプログラムが前記シーケンスプログラム切り替え予告信号をＯＦＦにした後に前記システムプログラムが前記シーケンスプログラム実行指定情報で指定されたシーケンスプログラムに実行を切り替える手段と、を備えることを特徴とする制御装置である。
【００１２】
本願請求項２に係る発明は、シーケンスプログラムで読み書き可能な信号メモリと、少なくとも２つ以上のシーケンスプログラムを格納するシーケンスプログラム格納メモリとを有し、システムプログラムが前記シーケンスプログラム格納メモリに格納されたシーケンスプログラムのうち、ある１つのシーケンスプログラムを繰り返し実行して、機械を制御する制御装置において、実行するシーケンスプログラムを切り替えるシーケンスプログラム切り替え要求と、前記シーケンスプログラム格納メモリに格納されているシーケンスプログラムの中から切り替え後に実行するシーケンスプログラムを指定するシーケンスプログラム実行指定情報とを、前記システムプログラムが外部から取得する手段と、前記シーケンスプログラム切り替え要求と前記シーケンスプログラム実行指定情報とを取得したら、前記システムプログラムが実行中のシーケンスプログラムに対して前記シーケンスプログラム切り替え要求を取得した後の信号通知に適切な任意のタイミングでシーケンスプログラムの切り替えを予告する前記信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する手段と、シーケンスプログラム切り替え時に危険が生じないようにする処理を自動的に実行する手段を提供するために、シーケンスプログラムを切り替えることを許可する前記信号メモリ内のシーケンスプログラム切り替え許可信号が、実行中のシーケンスプログラムによりＯＮに設定されたことを前記システムプログラムが検出する手段と、前記シーケンスプログラム切り替え許可信号がＯＮに設定されたことを前記システムプログラムが検出したら、前記システムプログラムが前記シーケンスプログラム切り替え予告信号をＯＦＦに設定する手段と、前記システムプログラムが前記シーケンスプログラム切り替え予告信号をＯＦＦにした後に前記システムプログラムが前記シーケンスプログラム実行指定情報で指定されたシーケンスプログラムに実行を切り替える手段と、を備えることを特徴とする制御装置である。
【００１３】
本願請求項３に係る発明は、前記実行中のシーケンスプログラムの所定の繰り返し実行回数は、任意の数値を指定する手段を有する、請求項１に記載の制御装置である。
【００１４】
本願請求項４に係る発明は、シーケンスプログラム格納メモリに格納されたシーケンスプログラムを制御ソフトウェアによって編集する手段と、シーケンスプログラムを外部機器から入力してシーケンスプログラム格納メモリに格納する手段と、を更に有することを特徴とする請求項１乃至請求項２に記載の制御装置である。
【発明の効果】
【００１５】
本発明により、オペレータがシーケンスプログラムのデバッグや、機械の保守作業によりシーケンスプログラムの編集、更新を行うに際して、シーケンスプログラム中に、シーケンスプログラム切り替え時に危険が生じないようにする処理を組み込み、シーケンスプログラムの切り替え時に自動的に実行される仕組みを提供することで、オペレータの不注意により危険が発生することを防止し、シーケンスプログラムのデバッグや更新に専念することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態における制御装置のブロック図である。
【図２】実施形態１におけるシーケンスプログラム切り替え動作のフローチャートを示す図である。
【図３】実施形態１におけるシーケンスプログラムのフローチャートを示す図である。
【図４】実施形態１におけるシーケンスプログラム切り替え動作のタイミングチャートを示す図である。
【図５】実施形態２におけるシーケンスプログラム切り替え動作のフローチャートを示す図である。
【図６】実施形態２におけるシーケンスプログラムのフローチャートを示す図である。
【図７】実施形態２におけるシーケンスプログラム切り替え動作のタイミングチャートを示す図である。
【図８】従来技術におけるシーケンスプログラム切り替え動作のフローチャートを示す図である。
【図９】従来技術におけるシーケンスプログラム切り替え動作のタイミングチャートを示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の制御装置の実施形態について図面とともに説明する。
【００１８】
（実施形態１）
図１は、本実施形態における制御装置の概略ブロック図である。
制御装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、外部記憶媒体インタフェース１５、外部インタフェース１６、表示コントローラ１７、ＭＤＩコントローラ１８、外部信号インタフェース１９を備えている。
ＣＰＵ１１は、制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを読み出し、該システムプログラムに従って制御装置１０全体を制御する。
ＲＯＭ１２には、メモリ管理のためのプログラムや、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
ＲＡＭ１３には、外部記憶媒体インタフェース１５／外部インタフェース１６／外部信号インタフェース１９を介して入力された又はＭＤＩユニット５０を介して入力された各系統が行う機能の実行に必要なデータ、一時的な計算データ等が格納される。また、ＲＡＭ１３上には、システムプログラムが制御装置の状態を管理するために用いられる複数の信号を同時に保持できる信号メモリと、複数のシーケンスプログラムを格納するメモリ領域が確保されている。
不揮発性メモリ１４は図示しないバッテリでバックアップされ、制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
外部記憶媒体インタフェース１５には外部記憶媒体２０が接続されており、外部記憶媒体２０との間で各処理に必要とされるデータを入出力する。
外部インタフェース１６はシーケンスプログラム開発支援装置などの外部機器３０が接続され、外部機器との間でシーケンスプログラムなどの入出力を行う。
表示コントローラ１７はディスプレイなどの表示ユニット４０と接続されており、オペレータへ提供するデータの表示制御を行う。
ＭＤＩコントローラ１８は、キーボードなどのＭＤＩユニット５０と接続されており、オペレータからの手動入力制御を行う。
外部信号インタフェース１９はＩ／Ｏ機器６０と接続され、Ｉ／Ｏ信号の入出力制御を行う。
【００１９】
本実施形態では、制御装置１０は、ＲＡＭ１３内にあらかじめシーケンスプログラム１とシーケンスプログラム２を格納している。シーケンスプログラム１は、シーケンスプログラム切り替え処理の開始時において制御装置上で実行されている実行用プログラムであり、シーケンスプログラム２は、シーケンスプログラム切り替え処理によってシーケンスプログラム１と切り替わって実行される更新用プログラムである。
【００２０】
次に、上記ハードウェア構成を備えた制御装置１０におけるシーケンスプログラムの切り替え処理を図２に示すフローチャートを用いて説明する。
【００２１】
制御装置１０がシーケンスプログラム１を実行している最中に（ステップＳ２０１）、シーケンスプログラム２への更新の準備が整った段階で、外部機器３０、ＭＤＩユニット５０などを介して外部から制御装置１０に対して、シーケンスプログラムの切り替え要求と、更新プログラムをシーケンスプログラム２に指定する情報が通知される。
制御装置１０は、シーケンスプログラムの切り替え要求とシーケンスプログラムを指定する情報を取得すると（ステップＳ２０２）、前記シーケンスプログラム切り替え要求を取得した後の信号通知に適切な任意のタイミングで信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する（ステップＳ２０３）。
【００２２】
制御装置１０は、シーケンスプログラム切り替え予告信号をＯＮに設定してから、シーケンスプログラム１を所定の回数分繰り返し実行する（ステップＳ２０４）。この段階で、シーケンスプログラム１は機械を安全な状態へと移行する処理を行う。
図３に、シーケンスプログラム１および２のフローチャートを例示する。シーケンスプログラム１および２は、ステップＳ３０１においてシーケンスプログラム切り替え予告信号がＯＦＦに設定されている時は、通常の機械制御処理を行なう（ステップＳ３０２）。一方で、ステップＳ３０１においてシーケンスプログラム切り替え予告信号がＯＮに設定されていることを検出した時は、機械を安全な状態にする処理を行なう（ステップＳ３０３）。
【００２３】
図２に戻って、制御装置はシーケンスプログラム１の実行を所定回数分繰り返した後、シーケンスプログラム切り替え予告信号をＯＦＦに設定してから（ステップＳ２０５）、シーケンスプログラム２へと実行プログラムを切り替える（ステップＳ２０６）。
【００２４】
再度、シーケンスプログラムを更新する場合は、上記と同様の手順を踏む。
すなわち、制御装置１０がシーケンスプログラム２を実行している最中に（ステップＳ２０６）、シーケンスプログラム１への更新の準備が整った段階で、外部装置、ＭＤＩユニットなどを介して外部から制御装置１０に対して、シーケンスプログラムの切り替え要求と、更新プログラムをシーケンスプログラム１に指定する情報が通知される。
制御装置１０は、シーケンスプログラムの切り替え要求とシーケンスプログラムを指定する情報を取得すると（ステップＳ２０７）、信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する（ステップＳ２０８）。
【００２５】
制御装置１０は、シーケンスプログラム切り替え予告信号をＯＮにしてから、シーケンスプログラム２を所定の回数分繰り返し実行し（ステップＳ２０９）、シーケンスプログラム切り替え予告信号をＯＦＦに設定してから（ステップＳ２１０）、シーケンスプログラム１に実行を切り替える（ステップＳ２０１）。
【００２６】
図４のタイミングチャートは、本実施形態の方式におけるシーケンスプログラム１，２の実行状態を示している。図９のタイミングチャートと同様に、横軸を時間軸としておりシーケンスプログラムの１実行サイクルごとに破線で区切っている。また、太い矢印でシーケンスプログラムの機械制御処理の１実行サイクルを表現しており、斜線太矢印でシーケンスプログラムの機械を安全な状態にする制御処理の１実行サイクルを表現している。更に、シーケンスプログラムの実行状態の時間軸の下にシーケンスプログラム切り替え予告信号の状態を示している。
本実施形態の方式では、シーケンスプログラム１を実行している最中に制御装置の外部からいずれかのインタフェースを介してシーケンスプログラムの切り替え要求を受け付けると、その時に実行しているシーケンスプログラム１の実行サイクルが終了した時点でシーケンスプログラム切り替え予告信号がＯＮになるため、これを受けて次サイクルからシーケンスプログラム１は機械を安全な状態にする制御処理を開始する。この状態で制御装置がシーケンスプログラム１の実行を所定回数実行することで制御されている機械はシーケンスプログラムを安全に切り替えられる状態へと移行する。そして、制御装置はシーケンスプログラム切り替え予告信号をＯＦＦに設定し、実行用プログラムをシーケンスプログラム２へと切り替える。
【００２７】
このように、本実施形態の方式では、オペレータがシーケンスプログラムを更新する際、更新前のシーケンスプログラムが機械の安全な状態にするのに十分な時間をとった後、シーケンスプログラムの更新を行なうので、オペレータは機械の安全性を気にすることなく、シーケンスプログラムの更新ができる。
【００２８】
なお、ステップＳ２０４，Ｓ２０９において、所定の回数としては、シーケンスプログラム１およびシーケンスプログラム２が制御対象の機械を安全な状態へと移行する処理を行なうために十分な回数を指定することもできるし、固定の回数とすることもできる。
【００２９】
また、本実施形態では、シーケンスプログラムが２つの場合で説明したが、３つ以上のシーケンスプログラムを格納メモリに保持している場合も同様の手段で実現可能である。
【００３０】
更に、更新用シーケンスプログラムを更新するために、機械の稼働中に制御装置上で編集作業を行なう構成を設けることもできるし、シーケンスプログラム開発支援装置等の外部機器から任意のタイミングで入力する構成を採用することもできる。
【００３１】
（実施形態２）
本発明の別の実施形態を図５に示すフローチャートを用いて説明する。
実施形態１では実行用プログラムを所定の回数分実行することで安全な状態に移行するまでの時間を稼いていたが、本実施形態ではＲＡＭ１３内の信号メモリ上にシーケンスプログラム切り替え予告信号とは別にシーケンスプログラム切り替え許可信号を保持し、シーケンスプログラム切り替え許可信号を介してシーケンスプログラム切り替えのタイミングを取る構成となっている。
【００３２】
なお、本実施形態における制御装置のハードウェア構成は実施形態１と同様である。また、制御装置１０は、ＲＡＭ１３内に、実行用プログラムとしてのシーケンスプログラム１と、更新用プログラムとしてのシーケンスプログラム２とをあらかじめ格納している。
【００３３】
制御装置１０がシーケンスプログラム１を実行している最中に（ステップＳ５０１）、シーケンスプログラム２への更新の準備が整った段階で、外部装置、ＭＤＩユニットなどを介して外部から制御装置１０に対して、シーケンスプログラムの切り替え要求と、更新プログラムをシーケンスプログラム２に指定する情報が通知される。
制御装置１０は、シーケンスプログラムの切り替え要求とシーケンスプログラムを指定する情報を取得すると（ステップＳ５０２）、前記シーケンスプログラム切り替え要求を取得した後の信号通知に適切な任意のタイミングで信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する（ステップＳ５０３）。
【００３４】
その後、制御装置１０は、シーケンスプログラム切り替え許可信号の状態を監視しながらシーケンスプログラム１の実行を継続する。この段階で、シーケンスプログラム１は機械を安全な状態へと移行する処理を行う。
図６に、本実施形態におけるシーケンスプログラム１および２のフローチャートを例示する。シーケンスプログラム１および２は、ステップＳ６０１でシーケンスプログラム切り替え予告信号がＯＦＦに設定されている時は、通常の機械制御処理を行ない（ステップＳ６０２）、信号メモリ内のシーケンスプログラム切り替え許可信号をＯＦＦに設定する（ステップＳ６０３）。一方で、ステップＳ６０１においてシーケンスプログラム切り替え予告信号がＯＮに設定されていることを検出した時は、機械を安全な状態にする処理を行ない（ステップＳ６０４）、機械が安全な状態になったら（ステップＳ６０５）、信号メモリ内のシーケンスプログラム切り替え許可信号をＯＮに設定する（ステップＳ６０６）。
【００３５】
図５に戻って、制御装置はシーケンスプログラム切り替え許可信号の状態を監視し、シーケンスプログラム切り替え許可信号がＯＮに設定されたことを検出すると（ステップＳ５０４）、シーケンスプログラム切り替え予告信号をＯＦＦに設定してから（ステップＳ５０５）、シーケンスプログラム２に実行を切り替える（ステップＳ５０６）。
【００３６】
再度、シーケンスプログラムを更新する場合は、上記と同様の手順を踏む。
すなわち、制御装置１０がシーケンスプログラム２を実行している最中に（ステップＳ５０６）、シーケンスプログラム１への更新の準備が整った段階で、外部装置、ＭＤＩユニットなどを介して外部から制御装置１０に対して、シーケンスプログラムの切り替え要求と、更新プログラムをシーケンスプログラム１に指定する情報が通知される。
制御装置１０は、シーケンスプログラムの切り替え要求とシーケンスプログラムを指定する情報を取得すると（ステップＳ５０７）、信号メモリ内のシーケンスプログラム切り替え予告信号をＯＮに設定する（ステップＳ５０８）。
【００３７】
制御装置１０は、シーケンスプログラム切り替え許可信号の状態を監視しながらシーケンスプログラム２の実行を継続する。そして、シーケンスプログラム切り替え許可信号がＯＮに設定されたことを検出すると（ステップＳ５０９）、シーケンスプログラム切り替え予告信号をＯＦＦに設定してから（ステップＳ５１０）、シーケンスプログラム１に実行を切り替える（ステップＳ５０１）。
【００３８】
図７のタイミングチャートは、実施形態の方式におけるシーケンスプログラム１，２の実行状態を示している。図３のタイミングチャートと同様に、横軸を時間軸としておりシーケンスプログラムの１実行サイクルごとに破線で区切っている。また、太い矢印でシーケンスプログラムの機械制御処理の１実行サイクルを表現しており、斜線太矢印でシーケンスプログラムの機械を安全な状態にする制御処理の１実行サイクルを表現している。更に、シーケンスプログラムの実行状態の時間軸の下にシーケンスプログラム切り替え予告信号の状態とシーケンスプログラム切り替え許可信号の状態を示している。
本実施形態の方式では、シーケンスプログラム１を実行している最中に制御装置の外部からいずれかのインタフェースを介してシーケンスプログラムの切り替え要求を受け付けると、その時に実行しているシーケンスプログラム１の実行サイクルが終了した時点でシーケンスプログラム切り替え予告信号がＯＮになるため、これを受けて次サイクルからシーケンスプログラム１は機械を安全な状態にする制御処理を開始する。この状態で機械が安全な状態に移行するとシーケンスプログラム１はシーケンスプログラム切り替え許可信号をＯＮにする。そして、シーケンスプログラム許可信号がＯＮになったことを検出した制御装置は、シーケンスプログラム切り替え予告信号をＯＦＦに設定し実行用プログラムをシーケンスプログラム２へと切り替える。
【００３９】
このように、オペレータがシーケンスプログラムを更新する際、更新前のシーケンスプログラムが機械を安全な状態にしてシーケンスプログラムの更新を許可したことを受けて、制御装置がシーケンスプログラムの更新を行なうので、オペレータは機械の安全性を気にすることなく、シーケンスプログラムの更新ができる。また、実施形態１と比較すると、安全な状態へと移行する処理を行なうために十分な回数をあらかじめ決めておく必要がないという利点がある。シーケンスプログラム切り替え予告信号とシーケンスプログラム切り替え許可信号は、制御装置とシーケンスプログラムのハンドシェイクの役割を果たしている。
【符号の説明】
【００４０】
１０  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５  外部記憶媒体インタフェース
１６  外部インタフェース
１７  表示コントローラ
１８  ＭＤＩコントローラ
１９  外部信号インタフェース
２０  外部記憶媒体
３０  外部機器
４０  表示ユニット
５０  ＭＤＩユニット
６０  Ｉ／Ｏ機器
【図１】
0005937637.tif 000002
【図２】
0005937637.tif 000003
【図３】
0005937637.tif 000004
【図５】
0005937637.tif 000005
【図６】
0005937637.tif 000006
【図８】
0005937637.tif 000007
【図４】
0005937637.tif 000008
【図７】
0005937637.tif 000009
【図９】
0005937637.tif 000010