(57)【特許請求の範囲】
【請求項１】
ＳＦＣ（シーケンシャル・ファンクション・チャート）等のステップ形式で表現されたシーケンス・プログラムを実行するシーケンス・プログラムの実行装置において、
前記シーケンス・プログラムを格納するプログラム格納手段と、
前記シーケンス・プログラムを実行して機械側の動作制御を行う実行制御手段と、
前記シーケンス・プログラムを、前記シーケンス・プログラムの実行中に表示するシーケンス・プログラム表示手段と、
前記シーケンス・プログラム表示手段によって表示されるシーケンス・プログラムに対して、前記シーケンス・プログラム中の特定のステップを指定するステップ指定手段と、
前記シーケンス・プログラムの実行停止を指令する実行停止指令手段と、
前記実行停止が指令されたとき、前記指定されたステップにおいて前記シーケンス・プログラムの実行を停止させる実行停止制御手段と、
を有することを特徴とするシーケンス・プログラムの実行装置。
【請求項２】
前記シーケンス・プログラムの実行再開を指令する実行再開指令手段と、前記実行再開の指令がなされると前記実行停止されていたステップから前記シーケンス・プログラムの実行を再開する実行再開制御手段と、を有することを特徴とする請求項１記載のシーケンス・プログラムの実行装置。
【請求項３】
前記指定されたステップのスキップを指令するスキップ指令手段と、前記スキップ指令されたステップが前記実行停止制御手段によって実行停止された後、前記実行停止されたステップをスキップして後段のステップ以降を実行するスキップ実行制御手段を有することを特徴とする請求項１記載のシーケンス・プログラムの実行装置。
【請求項４】
前記スキップ指令手段は、複数のステップを選択指令できるように構成されていることを特徴とする請求項３記載のシーケンス・プログラムの実行装置。
【請求項５】
前記実行停止制御手段によるステップの実行停止後、前記シーケンス・プログラムの実行状態を初期状態に設定する初期状態設定処理手段を有することを特徴とする請求項１記載のシーケンス・プログラムの実行装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＰＣ（プログラマブル・コントローラ）を動作させるためのシーケンス・プログラムの実行装置に関し、特にＳＦＣ（シーケンシャル・ファンクション・チャート）等のようにステップ形式で表現されたシーケンス・プログラムを実行するためのシーケンス・プログラムの実行装置に関する。
【０００２】
【従来の技術】
ＰＣで実行されるシーケンス・プログラムの表現方法としては、ラダー形式やニーモニック形式が代表的であるが、ＳＦＣ（シーケンシャル・ファンクション・チャート）等のように、ステップで表現されたものも最近では使用されるようになっている。
【０００３】
このステップ形式で表現されたシーケンス・プログラムは、ラダー形式のようにスキャン実行ではなく、ステップ単位で順番に実行され、最終ステップの実行終了とともにシーケンス・プログラムが一通り終了し、以後はこれを繰り返すようにしている。
【０００４】
ところで、このようなステップ形式のシーケンス・プログラムでは、機械の故障や、プログラム作成途中の確認等のために、その実行を中断させたい場合がある。この実行中断の方法としては、ＰＣの電源を落として処理を最初から始める方法と、シーケンス・プログラムの中を細工して予め所定の位置で実行停止できるようにしておく方法とがある。
【０００５】
【発明が解決しようとする課題】
しかし、ＰＣの電源を落とす方法では、電源を入れ直してシーケンス・プログラムを再開するとき、機械を初期状態に戻す等の調整が必要となり、作業に手間がかかるという問題があった。また、ＰＣがネットワークに接続されている場合には、安易に電源を落とすことはできないという問題があった。
【０００６】
一方、シーケンス・プログラムに細工をする方法では、実行の中断を必要とする箇所を予め特定するのは困難であるという問題があった。また、故障等は予測できないため、この方法では故障箇所の点検のための中断を行うことはできなかった。
【０００７】
本発明はこのような点に鑑みてなされたものであり、電源を落としたり、予めプログラムに細工を施すことなく、容易にシーケンス・プログラムの実行を中断させることのできるシーケンス・プログラムの実行装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明では上記課題を解決するために、ＳＦＣ（シーケンシャル・ファンクション・チャート）等のステップ形式で表現されたシーケンス・プログラムを実行するシーケンス・プログラムの実行装置において、前記シーケンス・プログラムを格納するプログラム格納手段と、前記シーケンス・プログラムを実行して機械側の動作制御を行う実行制御手段と、前記シーケンス・プログラムを、前記シーケンス・プログラムの実行中に表示するシーケンス・プログラム表示手段と、前記シーケンス・プログラム表示手段によって表示されるシーケンス・プログラムに対して、前記シーケンス・プログラム中の特定のステップを指定するステップ指定手段と、前記シーケンス・プログラムの実行停止を指令する実行停止指令手段と、前記実行停止が指令されたとき、前記指定されたステップにおいて前記シーケンス・プログラムの実行を停止させる実行停止制御手段と、を有することを特徴とするシーケンス・プログラムの実行装置が提供される。
【０００９】
このようなシーケンス・プログラムの実行装置では、プログラム格納手段に格納されたステップ形式で表現されたシーケンス・プログラムを実行制御手段が実行して機械側の動作制御を行う。このとき、ステップ指定手段により、シーケンス・プログラムの中の特定のステップが指定され、さらに実行停止指令手段により、シーケンス・プログラムの実行停止の指令がなされると、実行停止制御手段は、実行停止の指令がなされたステップで、シーケンス・プログラムの実行を停止させる。
【００１０】
これにより、電源を落とすことなく、かつ予めプログラムに細工を施すことなく、所望のステップの実行停止を行うことができる。
【００１１】
【発明の実施の形態】
以下、本発明の一形態を図面に基づいて説明する。
図１は本形態の機能の概念図である。メモリ１には、ステップ形式で表現されたシーケンス・プログラム１ａが格納される。実行制御手段２は、このシーケンス・プログラム１ａを実行し、機械３側の動作制御を行う。表示制御手段４は、シーケンス・プログラム１ａを表示装置５の表示画面上に表示し、現在実行中のステップを色付き表示させたり、キーボード６による種々の指令をメニュー表示したりする。
【００１２】
オペレータは、キーボード６によって、画面上のカーソルを移動して特定のステップを指定する。また、シーケンス・プログラムの実行停止をキーボード６によって指令する。これにより、実行停止制御手段７は、指定されたステップにおいてシーケンス・プログラムの実行を停止させる。
【００１３】
図２は本形態のＣＮＣ（数値制御装置）全体のハードウェアのブロック図である。プロセッサ１１は、ＣＮＣ１０全体の制御の中心となるプロセッサであり、バス１９を介して、ＲＯＭ１３に格納されたシステムプログラムを読み出し、このシステムプログラムに従って、ＣＮＣ１０全体の制御を実行する。
【００１４】
共有ＲＡＭ１２は、ＣＮＣ１０とＰＭＣ２０とのデータの授受を行うためのＲＡＭであり、この共有ＲＡＭ１２を経由して、互いにデータの授受を行う。また、同時に双方からのアクセスに必要なデータを格納する。
【００１５】
ＲＡＭ１４には、一時的な計算データ、表示データ等が格納される。不揮発性メモリ１５には、バッテリによりバックアップされたＣＭＯＳや、フラッシュＲＯＭ等が使用され、工具補正量、ピッチ誤差補正量、加工プログラムおよびパラメータ等が格納される。また、不揮発性メモリ１５には、ＰＭＣ２０側に必要なパラメータ等も格納されている。
【００１６】
グラフィック制御回路１６は、各軸の現在位置、アラーム、パラメータ、画像データ等のディジタルデータを画像信号に変換して出力する。この画像信号は、ＣＲＴ／ＭＤＩユニット３０の表示装置３１に送られ、表示装置３１に表示される。表示装置３１には、ＰＭＣ２０側のパラメータ、ラダーダイヤグラム等も表示することができる。このときのデータはＰＭＣ２０から共有ＲＡＭ１２を経由して送られてくる。
【００１７】
インタフェース１７は、ＣＲＴ／ＭＤＩユニット３０内のキーボード３２からのデータを受けて、プロセッサ１１に渡す。また、ＰＭＣ２０側へのデータもキーボード３２から入力することができ、そのデータは共有ＲＡＭ１２を経由して、ＰＭＣ２０側へ送られる。
【００１８】
インタフェース１８には、自動プログラミング装置４０が接続されている。この自動プログラミング装置４０によって作成されたシーケンス・プログラムは、インタフェース１８を介して読み込まれＰＭＣ２０に送られる。自動プログラミング装置４０では、後述するように、シーケンス・プログラムの実行指令や停止指令がなされ、これらの指令はインタフェース１８を介してＰＭＣ２０側に送られる。
【００１９】
また、インタフェース１８には、図示されていない紙テープリーダ、紙テープパンチャー、紙テープリーダ・パンチャー、プリンタ等の外部機器が接続される。紙テープリーダからは加工プログラムが読み込まれる。また、ＣＮＣ１０内で編集された加工プログラムを紙テープパンチャーに出力することもできる。
【００２０】
なお、プロセッサ１１と共有ＲＡＭ１２、ＲＯＭ１３等の要素は、バス１９によって結合されている。図ではサーボモータ等を制御する軸制御回路、サーボアンプ、スピンドル制御回路、スピンドルアンプ、手動パルス発生器インタフェース等は省略してある。
【００２１】
ＰＭＣ（プログラマブル・マシン・コントローラ）２０は、ＰＣ（プログラマブル・コントローラ）の一種であり、ＣＮＣ１０に内蔵されている。ＰＭＣ２０には、ＰＭＣ用のプロセッサ２１がある。プロセッサ２１は、バス２６によって共有ＲＡＭ１２と接続され、共有ＲＡＭ１２はＣＮＣ１０のバス１９に結合されている。また、バス２６には、ＲＯＭ２２が結合されている。このＲＯＭ２２には、ＰＭＣ２０を制御するための管理プログラムが格納されている。
【００２２】
ＲＡＭ２３には、入出力信号が格納され、シーケンス・プログラムの実行に従って、その内容は書き換えられていく。不揮発性メモリ２４には、バッテリによりバックアップされたＣＭＯＳや、フラッシュＲＯＭ等が使用され、自動プログラミング装置４０で作成、編集されたシーケンス・プログラムが格納される。シーケンス・プログラムは、一般にラダー言語で作成されるが、本形態では、ステップ形式で記述されたものが使用される。この不揮発性メモリ２４に格納されたシーケンス・プログラムは、動作時にはＲＡＭ２３に転送され、プロセッサ２１は、ＲＡＭ２３のプログラムを読んで実行する。また、シーケンス・プログラムは、表示装置３１に表示することができる。なお、不揮発性メモリ２４には、シーケンス・プログラム以外にも、電源切断後に保持しておきたいデータ等が記憶される。
【００２３】
Ｉ／Ｏ制御回路（ＩＯＣ）２５は、バス２６に接続され、ＲＡＭ２３に格納された出力信号をＩ／Ｏユニット２７にシリアル信号に変換して送る。また、Ｉ／Ｏユニット２７からのシリアルな入力信号をパラレル信号に変換してバス２６に送る。その信号は、プロセッサ２１によってＲＡＭ２３に格納される。ＲＡＭ２３に格納された入出力信号や不揮発性メモリ２４に格納されたデータは、ＣＲＴ／ＭＤＩユニット３０の表示装置３１に表示することができる。
【００２４】
プロセッサ２１は、ＣＮＣ１０から共有ＲＡＭ１２を経由して、Ｍ機能指令、Ｔ機能指令等の指令信号を受け、一旦ＲＡＭ２３に格納し、その指令をＲＯＭ２２に格納されたシーケンス・プログラムに従って処理し、Ｉ／Ｏ制御回路２５を経由して、Ｉ／Ｏユニット２７に出力する。この出力信号によって、機械側の油圧機器、空圧機器、電磁機器が制御される。
【００２５】
また、プロセッサ２１は、Ｉ／Ｏユニット２７からの機械側のリミットスイッチ信号、機械操作盤の操作スイッチの信号等の入力信号を受けて、この入力信号を一旦ＲＡＭ２３に格納する。ＰＭＣ２０で処理する必要のない入力信号は、共有ＲＡＭ１２を経由してプロセッサ１１に送られる。その他の信号は、シーケンス・プログラムで処理し、一部の信号はＣＮＣ側へ、他の信号は出力信号として、Ｉ／Ｏ制御回路２５を経由して、Ｉ／Ｏユニット２７から機械側へ出力される。
【００２６】
一方、シーケンス・プログラムには、各軸の移動等を制御する命令を含めることができる。これらの指令はプロセッサ２１によって読み出されると、共有ＲＡＭ１２を経由して、プロセッサ１１に送られ、サーボモータを制御する。同様にして、スピンドルモータ等もＰＭＣ側からの指令で制御することもできる。
【００２７】
図３は自動プログラミング装置４０のハードウェアのブロック図である。プロセッサ４１は、ＲＯＭ４２に格納されているシステムプログラムに従って自動プログラミング装置４０全体を制御する。ＲＡＭ４３には、ＰＭＣ２０で実行するためのシーケンス・プログラムや、ＰＭＣ２０上での現在の実行状態のデータ等が格納される。
【００２８】
グラフィック制御回路４４は、プロセッサ４１からの表示データを表示信号に変換し、表示装置４５に送る。表示装置４５は、この表示信号を受けて画面表示を行う。この表示装置４５にはＣＲＴ、液晶表示装置等が使用される。
【００２９】
キーボード４６は、データ入力に使用される操作キーや、ファンクションキー等を備えている。また、データ入力は、タブレット４７や、図示されていないマウス等によっても行われる。
【００３０】
ＨＤＤ（ハード・ディスク・ドライブ）４８は、作成されたシーケンス・プログラム等、電源遮断後も保存すべきデータが格納される。ＦＤＤ（フロッピー・ディスク・ドライブ）４９は、フロッピー・ディスク４９ａを駆動させてシーケンス・プログラム等を読み出したり、作成または編集されたシーケンス・プログラムをフロッピー・ディスク４９ａに書き込むことができる。
【００３１】
また、作成されたシーケンス・プログラムは、プリンタ／ＰＴＰ（紙テープパンチャー）５１に出力することもできる。
インタフェース（ＩＮＴ）５０からは、ＰＭＣ２０の不揮発性メモリ２４に格納されたシーケンス・プログラムや、シーケンス・プログラムの現在の実行状態データ等が読み込まれ、これらはＲＡＭ４３等に格納される。また、インタフェース５０からは、自動プログラミング装置４０で編集されたシーケンスデータや、後述する実行指令や停止指令等がＰＭＣ２０に送られる。
【００３２】
なお、これらの構成要素はバス５２によって互いに結合されている。
次に、本形態によるシーケンス・プログラムの実行方式の具体的な手順について説明する。
【００３３】
図４はＰＭＣ２０で実行されるシーケンス・プログラムの自動プログラミング装置４０側での表示状態の一例を示す図である。表示装置４５の表示画面４５ａには、ステップ形式で表現されたシーケンス・プログラムが表示されている。ここでは、４つのステップＳＴ１〜ＳＴ４と、３つのトランジションＰ１〜Ｐ３によって構成されているシーケンス・プログラムを示す。また、表示画面４５ａには、キーボード４６によって移動可能なカーソル４５ｂが表示されている。さらに、表示画面４５ａ上では、現在実行中のステップが他の部分と異なる色や点滅によって識別表示されている。
【００３４】
また、表示画面４５ａの下側部分には、ソフトウェアキー表示部４５０が表示されている。ソフトウェアキー表示部４５０には、キーボード４６の図示されていないフンクションキーに対応する例えば６個のメニュー４５１〜４５６が設けられている。
【００３５】
このような表示画面４５ａで表示されたシーケンス・プログラムは、ＰＭＣ２０側で実行される。この実行中、例えばステップＳＴ２に異常等が生じてステップＳＴ３に実行が移らないときには、オペレータは、ステップＳＴ２の下のトランジションＰ２にカーソル４５ｂを置き、メニュー４５４の「ＳＥＬＥＣＴ」を指令し、さらにメニュー４５１の「ＳＴＯＰ」を指令する。この指令は、直ちにインタフェース５０を介してＰＭＣ２０側に送られる。これを受けたＰＭＣ２０は、トランジションＰ２をスキップ、すなわちステップＳＴ２の処理を途中で終了し、ステップＳＴ３以降の実行に移る。なお、メニュー４５４の「ＳＥＬＥＣＴ」は、複数のトランジションを選択することができ、この場合には、選択された全てのトランジションがスキップされる。
【００３６】
一方、異常の生じたステップＳＴ２の内部を確認したいときには、メニュー４５２の「ＰＡＵＳＥ」を指令する。これにより、シーケンス・プログラムの実行は、ステップＳＴ２で停止したままで、ステップＳＴ３以降には移らない。このとき、メニュー４５６の「ＺＯＯＭ」を指令すると、表示画面４５ａ上にステップＳＴ２を構成するラダープログラムが表示される。これにより、異常箇所の確認や再編集等を行うことができる。
【００３７】
異常箇所の確認や再編集等を行った後でシーケンス・プログラムの実行を再開させたい場合には、メニュー４５３の「ＣＯＮＴＩＮＵＥ」を指令すれば、ステップＳＴ２から実行が再開される。
【００３８】
また、ステップＳＴ２の実行中、メニュー４５５の「ＡＬＬ  ＳＥＬＥＣＴ」を指令すると、ステップＳＴ２以降の全てのトランジションＰ２，Ｐ３が選択される。このときにメニュー４５１の「ＳＴＯＰ」を指令すれば、ステップＳＴ２の実行は中断され、ステップＳＴ３，ＳＴ４と順に実行されてシーケンス・プログラムの実行が終了する。これにより、機械側の調整作業をほとんど行うことなく初期状態に戻ることができる。
【００３９】
図５はこのようなシーケンス・プログラムの実行制御を行うための処理手順を示すフローチャートである。なお、このフローチャートは、画面表示されたシーケンス・プログラムと同時に開始される。
〔Ｓ１〕「ＳＥＬＥＣＴ」が指令されたか否かを判断し、されればステップＳ２に進み、されなければステップＳ４に進む。
〔Ｓ２〕「ＳＴＯＰ」が指令されたか否かを判断し、されればステップＳ３に進み、されなければ本フローチャートを終了する。
〔Ｓ３〕カーソル４５ｂおよび「ＳＥＬＥＣＴ」によって指定されたトランジションのステップについては、全て処理をスキップし、他の部分のシーケンス・プログラムを実行する。
〔Ｓ４〕「ＡＬＬ  ＳＥＬＥＣＴ」が指令されたか否かを判断し、されればステップＳ５に進み、されなければステップＳ７に進む。
〔Ｓ５〕「ＳＴＯＰ」が指令されたか否かを判断し、されればステップＳ６に進み、されなければ本フローチャートを終了する。
〔Ｓ６〕現在実行中のステップの処理を中断し、それ以降のステップを実行してシーケンス・プログラムを終了する。
〔Ｓ７〕「ＰＡＵＳＥ」が指令されたか否かを判断し、されればステップＳ８に進み、されなければ本フローチャートを終了する。
〔Ｓ８〕現在実行中のステップを中断する。
〔Ｓ９〕「ＺＯＯＭ」が指令されたか否かを判断し、されればステップＳ１０に進み、されなければステップＳ１１に進む。
〔Ｓ１０〕中断されたステップのラダープログラムを表示し、編集処理を受け付ける。
〔Ｓ１１〕「ＣＯＮＴＩＮＵＥ」が指令されたか否かを判断し、されればステップＳ１２に進み、されなければステップＳ１１を繰り返す。
〔Ｓ１２〕中断されたステップから実行を再開する。
【００４０】
このように、本形態では、画面上での指令によって実行中のステップを停止できるようにしたので、ＰＭＣ２０側の電源を落とすことなく、また、プログラムに予め細工を施すことなく実行を中断することができる。これにより、容易に点検や編集を行うことができる。
【００４１】
なお、本形態では、実行中断等の指令を自動プログラミング装置４０で行うようにしたが、ＣＮＣ１０のＣＲＴ／ＭＤＩユニット３０で行うようにしてもよい。
【００４２】
また、本形態では、ステップ形式のシーケンス・プログラムとして、ＳＦＣの例を示したが、フローチャート形式や工程歩進形式等の他の形式のシーケンス・プログラムにも本発明を適用することができる。
【００４３】
【発明の効果】
以上説明したように本発明では、ステップ形式で表現されたシーケンス・プログラムの特定のステップを指定し、その指定されたステップでシーケンス・プログラムの実行を停止できるようにしたので、電源を落とすことなく、かつプログラムに予め細工を施すことなく、所望のステップでシーケンス・プログラムの実行停止ができる。よって、容易に点検や編集を行うことができる。
【図面の簡単な説明】
【図１】本形態の機能の概念図である。
【図２】本形態のＣＮＣ（数値制御装置）全体のハードウェアのブロック図である。
【図３】自動プログラミング装置のハードウェアのブロック図である。
【図４】ＰＭＣで実行されるシーケンス・プログラムの自動プログラミング装置側での表示状態の一例を示す図である。
【図５】シーケンス・プログラムの実行制御を行うための処理手順を示すフローチャートである。
【符号の説明】
１  メモリ
１ａ  シーケンス・プログラム
２  実行制御手段
３  機械
４  表示制御手段
５  表示装置
６  キーボード
７  実行停止制御手段
１０  ＣＮＣ
２０  ＰＭＣ
４０  自動プログラミング装置
４１  プロセッサ
４２  ＲＯＭ
４３  ＲＡＭ
４４  グラフィック制御回路
４５  表示装置
４５ａ  表示画面
４５ｂ  カーソル
４６  キーボード
５０  インタフェース
４５０  ソフトウェアキー表示部
【図１】
0003679844.tif 000002
【図２】
0003679844.tif 000003
【図３】
0003679844.tif 000004
【図４】
0003679844.tif 000005
【図５】
0003679844.tif 000006