JP2005301334A - モーションコントローラ - Google Patents

モーションコントローラ Download PDF

Info

Publication number
JP2005301334A
JP2005301334A JP2004111886A JP2004111886A JP2005301334A JP 2005301334 A JP2005301334 A JP 2005301334A JP 2004111886 A JP2004111886 A JP 2004111886A JP 2004111886 A JP2004111886 A JP 2004111886A JP 2005301334 A JP2005301334 A JP 2005301334A
Authority
JP
Japan
Prior art keywords
program
executed
motion
execution
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004111886A
Other languages
English (en)
Inventor
Yutaka Matsumoto
豊 松本
Shinji Yonemoto
伸治 米本
Takanori Ohashi
敬典 大橋
Hisatoshi Sema
久稔 瀬間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2004111886A priority Critical patent/JP2005301334A/ja
Publication of JP2005301334A publication Critical patent/JP2005301334A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 効率のよいデバッグを行え、また、安全上、工程を戻した際に、外部入力などの状態を比較し、状態が異なっている場合や、修正前と修正後の状態も比較し、実動作として変更されたところを表示することですぐに問題解決の確認ができるモーションコントローラを提供する。
【解決手段】 工程歩進型プログラムを使用したモーションコントローラ200において、実行される工程の直前と直後の状態の可逆データを記憶し、実行直前状態の可逆データに戻すプログラムを生成し記憶する手段400を有し、プログラムを工程終了時に実行可能とする。モーション動作を伴う工程歩進型プログラムであって、実行された工程で、動作した軌跡を戻すプログラムを生成し記憶する手段501を有する。
【選択図】 図1

Description

本発明は、モーションコントローラであり、特に工程歩進型プログラムを用いてモーション動作、および入出力等の周辺装置を制御するデバッグ機能付きモーションコントローラに関する。
現在、モーションコントローラのプログラミング言語としては、ラダープログラム、工程歩進型プログラムであるSFC(Sequential Function Chart)等が一般的に使用されている。
SFCプログラム例を図11に示す。前記SFCプログラムは、001〜006に示すステップ(STEP)、010〜015に示すトランジッション、及びステップとトランジッション間を結ぶリンクからなる。ステップ内には、実行される処理が記述され、ステップ内の処理が完了すると、トランジッションにある遷移条件を判定する。遷移条件が満たされている場合のみ、次ステップの処理に遷移し、ステップ内の処理を実行する。
開始ステップ(STEP1)001が活性状態となった場合、トランジッション010,トランジッション013にある遷移条件を満たしている方へ分岐する。ここで、トランジッション010にある遷移条件が満たされていたとすると、002のSTEP2が活性状態となり。トランジッション011にある遷移条件を判定する。
ラダープログラムの場合、プログラムが正しく動作しているか確認するためのデバッグ方法として、各回路において実行した順序を確認するため変数にデータを出力し記憶する。これら情報をもとに、プログラム実行経緯を解析する方法がある。
一方でSFCプログラムのような工程歩進型プログラムを使用したモーションコントローラのデバッグ方法としては、各工程毎または各スキャン毎の状態および各工程間の遷移を記憶エリアに格納し、後にプログラム実行経緯を記憶エリアから読み出し、解析するトレース手法が使用されている。このSFCプログラムにおけるデバッグ方法を実行可能とする処理方式を採用しているものとして、特許文献1に示されているものがある。
図12に、SFCプログラムのトレース手法を用いた全体フローチャートを示す。トレース開始指示があると判断(100)された場合、トレース処理を開始する(101)。102では、トレースしたデータを順次トレースメモリに状態を記憶していく。トレースする内容は、ユーザがパラメータで設定されたもので、活性化した工程(ステップ)や入出力情報などがある。103で設定されたパラメータ内容のトレースが完了されたと判断されると、残トレースメモリが存在するか判断される(104)。残トレースメモリが存在する場合には、次スキャンのトレースデータをトレースメモリに記憶し、存在しない場合には、トレース処理を終了する。
ユーザは、これらトレースデータを元に、プログラムが正しい処理を順次実行しているかどうか、解析しプログラムのデバッグを行うことができる。
しかしながら、上述したようなトレース手法を用いたデバッグ方法は、プログラムのデバッグとして有効であるが、機械調整等を含む実機デバッグにおいて修正箇所が発生した場合には、そこまでの工程を最初から行わなければならない。そこで、実行されているプログラムの処理を実行される前の状態に戻すことが可能なデバッグ用プログラムを作成することで、状態を戻しながら、実際に問題の発生した状態を確認することのできるデバッグ方法が有効となる。
特開2001−154711号公報
本発明において解決しようとする課題は、順に各工程を行わなければならないような工程歩進型プログラムを要するモーションコントローラについてである。
従来のトレース手法を用いたデバッグ方法では、問題が発生した際に、機械調整やプログラム修正を行い、再度プログラムを最初から実行しなければならなかった。そのため、確認したい状態を再現するまでの工程を実行する必要があり、多大な時間が必要であった。
本発明の目的は、問題が発生した際に、問題が発生する前工程に戻し機械調整および修正したプログラムをすぐに確認できることにより、効率のよいデバッグを行え、また、安全上、工程を戻した際に、外部入力などの状態を比較し、状態が異なっている場合や、修正前と修正後の状態も比較し、実動作として変更されたところを表示することですぐに問題解決の確認ができるモーションコントローラを提供することにある。
本発明におけるデバッグ方法は、各工程内の処理が実施される直前のパラメータおよび変数の値を、データエリアに記憶する。また、実施前と実施後の値から、実施前の状態に戻すためのデバッグ用プログラムを順次作成し、プログラムエリアに出力していく。工程を戻す処理の際には、デバッグ用プログラムを読み出し、実行することで実現する。ここで、モーション動作を伴う処理の場合には、処理前後の指令位置と各モーション動作命令において同軌跡を戻すことが可能となる命令を登録しておき、処理前の状態に戻すデバッグ用プログラムを出力する。
また、デバッグ用プログラムを実行した際に、変数または入出力状態等が実行前の状態となっていることを確認するため、上述にあるデータエリアにある前状態とデバッグ用プログラムにより実行された状態を比較し、状態が異なっているかを監視し表示する。デバッグ用プログラムを実行し工程を戻してから、再度実行された状態が、プログラム修正や機械調整の前状態と後状態で、実動作として変更されたか確認するには、上述にあるデバッグ用プログラムを作成した際に生成されたデータエリア内容とプログラム修正や機械調整後に再実行された後の状態を比較し表示する。
すなわち、本発明は、工程歩進型プログラムを使用したモーションコントローラにおいて、実行される工程の直前と直後の状態の可逆データを記憶し、実行直前状態の可逆データに戻すプログラムを生成し記憶する手段を有し、前記プログラムを工程終了時に実行可能とするモーションコントローラである。
また、本発明は、モーション動作を伴う工程歩進型プログラムであって、実行された工程で、動作した軌跡を戻すプログラムを生成し記憶する手段を有するモーションコントローラである。
そして、本発明は、上記実行直前状態の可逆データに戻すプログラムを実行した際に、入出力、変数等の情報が、前記可逆データの実行直前状態となっていることを監視し、表示するモーションコントローラである。
更に、本発明は、実行直前状態に戻すとともにプログラム修正や機械調整後に再度プログラムを実行した際に、プログラム修正後又は機械調整後に実行した状態とプログラム修正前又は機械調整前に実行した状態とを比較し、実動作上の相違箇所を表示するモーションコントローラである。
本発明によれば、工程歩進型プログラムを用いるモーションコントローラのデバッグにおいて、容易に装置の状態を前工程の状態に戻すことが可能となる。これにより、すぐに問題の発生した状態から前工程に戻し、再度実行することし問題発生の状態や経緯を確認できるので、問題の発生した状態を確認するために、全ての工程を最初から実行する工数を削減できる。
また、プログラムの不具合があった場合、修正したステップの前工程に戻しステップ実行を行うことにより、プログラムのデバッグを容易に行うことができる。そのため、プログラムデバッグおよび実機の機械調整における工数を削減することができる。
本発明を実施するための最良の形態を説明する。
以下本発明の実施形態例の図を参照しながら説明する。本説明における工程歩進型プログラムとして、SFCプログラムを使用する。また、実行状態を戻すために作成されるプログラムを、以下、「デバッグ用プログラム」という。
図1は、本発明を実施するための基本的なモーションコントローラの一例である。以下、図1のモーションコントローラの概要を説明する。
モーションコントローラ200の指令により、モーションドライブ201を介して、モータ202を駆動させる。また、センサ等の信号は入力ユニット203を介して、モーションコントローラ200に取り込む。シリンダ等の周辺機器の動作は、モーションコントローラ200からの出力信号により出力ユニット204を介して行う。
装置状態のモニタリングおよび装置の起動等は、タッチパネル等の表示/入力周辺機器205を介して行われる。
モーションコントローラ200の内部構造は、大きく分けてモーションエンジン部300とアプリケーション部301からなる。モーションエンジン部300は、メモリ400、CPU(モーション、I/O制御)401、モーションI/F402、入力/出力I/F403、バスI/F404を有する。アプリケーション部301は、バスI/F500、メモリ501、CPU(アプリケーション)502、周辺装置I/F503を有する。
モーションエンジン部300のメモリ400にアプリケーション部301で作成されたSFCプログラムの内部コードが記憶され、この内部コードはCPU401で解析,実行され、モーションI/F402とInput/Output I/F403を介し、それぞれ駆動系のモーション制御と、センサ等のI/O制御が行われる。プログラムの実行状態やI/O情報は、バスI/F404を介して、アプリケーション部301へ伝送される。
アプリケーション部301は、モーションエンジン部300との情報の送受信を行うバスI/F500を介して行う。メモリ501に記憶されているアプリケーションプログラムは、CPU502により処理され、モーションエンジンから受けた情報は周辺装置I/F503を介して、タッチパネル等の表示/入力周辺機器に表示する。
本実施例では、モーションエンジン部300のCPU401にて内部コードを解析,実行する際に、実行前の状態、および実行後の状態をメモリ400に記憶する。
ここで、図1に示したモーションコントローラにおけるデバッグ用プログラム作成処理を含むプログラム実行処理の一例の全体フローチャートを図2に示す。図2において、左側はアプリケーション側の処理(ステップ1001〜1005)を示し、右側はモーションエンジン側の処理(ステップ1101〜1110)を示す。
アプリケーション側において、オペレータからプログラム開始パラメータが入力される(1001)とモーションエンジン側にパラメータが送信される。
プログラム開始パラメ−タは、SFCプログラムの開始ステップ番号や、各変数のデフォルト値を示す。SFCプログラムの開始ステップ番号は、デバッグ機能時以外はデフォルトとしてSTEP1からとなる。デバッグ機能を使用後には、デバッグ用プログラムを使用して戻されたステップ番号から実行することが可能となる。
モーションエンジン側は、このパラメータをメモリに記憶する(1101)。
プログラム開始パラメータ入力後、オペレータによりプログラム開始入力がされると(1002)、モーションエンジン側にプログラム開始指示が送信される。
モーションエンジン側では、SFCプログラムの内部コードを解析(1103)し、その際オペレータよりデバッグ用プログラム作成開始入力(1003)によるデバッグ機能開始指示があるか判定する(1104)。
デバッグ用プログラム作成開始指示がある場合には、ステップ1103にて解析された内部コードに関係する変数や、入出力等の状態を読み出しデータエリアに記憶する。また、この内部コードを実行した際の状態もメモリに記憶する(1105)(詳細は後述)。
次にステップ1105にて記憶した内部コード実行前と後のデータにより、実行後から実行前へ状態を変化させるデバッグ用プログラムを作成し、メモリに記憶する(1106)(詳細は後述)。
ステップ1104において、デバッグ用プログラム作成機能開始指示がなかった場合には、ステップ1105、1106は実行せず、解析された内部コードを実行する(1107)。
次に、オペレータからのプログラム中断/終了入力(1004)によるプログラム中断/終了指示があるか判定する(1108)。
プログラム中断/終了指示がない場合には、次のプログラムコード解析(1103)を行う。
一方プログラム中断終了指示がある場合には、アプリケーション側からのデバッグ用データ送信依頼(1005)があるかどうか判定する(1109)。
デバッグ用データ送信依頼がある場合には、アプリケーション側にデバッグ用プログラムおよびデ−タを送信する(1110)。これらデータはアプリケーション側メモリに記憶される。
ここで、図3に示すSFCプログラムを例として、図2に示すステップ1105、1106のデバッグ用プログラム作成処理の全体フローチャートを図4に示す。図5は本処理により作成されたデータエリアの一例、図6はプログラムエリアの一例を示す図である。
SFCプログラムの図3のSTEP1(2001)は、変数Bに変数Cを加えた値を変数Aに代入する処理“A=B+C”であるので、デバッグプログラム作成処理フローの図4では、ステップ処理であるかの判定(3001)を行い、活性化されているステップつまりSTEP1をデータエリア,プログラエリアに格納する。次に算術式であるかの判定(3003)を行い、現在の代入される値、つまりAの値を取得し、データエリアに格納する。ここでは、デフォルト値よりA=10となる。
次に、実行後のデータをデータエリアに格納する(3005)。ここでは、A=120(=B+C=70+50)が格納される。ステップ3005にて格納したデータから内部コード実行前の状態に戻すデバッグ用プログラムを作成する(3006)。ここでは、A=10が作成され、プログラムメモリに格納される(3007)。
デバッグ用プログラムが作成されると、実際の内部コードは実行され、トランジッション1(2010)の遷移条件の判定に移る。
トランジッション1(2010)では、Aが100より大きければ真となる判定文“A>100”であるので、フロー図4では、ドランジッション条件をプログラムメモリに格納する処理が行われる(3008)。ここでは、A>100が作成され、プログラムメモリに格納される(3009)。
デバッグ用プログラムが作成されると、実際の内部コードは実行され、トランジッション1(2010)の遷移条件の判定が真となると、STEP2(2002)に遷移する。
STEP2(2002)では、出力Y1をONする処理“SET Y1”であるので、デバッグ用プログラム作成処理フローの図4では、ステップ内処理であるかの判定(3001)を行い、活性化されているステップつまりSTEP2をデータエリア、プログラムエリアに格納する。次に算術式であるかの判定(3003)、I/O操作であるかの判定(3010)を行い、ステップ3011の処理が行われる。ステップ3011では、指定されている入出力の情報つまりY1情報を取得し、データメモリに格納する。ここでは、Y1=OFFが格納される。
次に、実行後のデータをデータエリアに格納する(3012)。ここでは、Y1=ONが格納される。ステップ3011にて格納したデータから内部コード実行前の状態に戻すデバッグ用プログラムを作成する(3013)。ここでは、3011で格納したデータY1がOFFであるため、“RESET Y1”が作成され、プログラムエリアに格納される(3014)。
デバッグ用プログラムが作成されると、実際の内部コードは実行され、トランジッション2(2011)の遷移条件の判定に移る。
トランジッション2(2011)では、X1がONであれば真となる判定文“X1==ON”であるので、トランジッション条件が作成(3008)され、プログラムエリアに格納する処理が行われる(3009)。ここでは、X1==ONが作成され、プログラムエリアに格納される。
デバッグ用プログラムが作成されると、実際の内部コードは実行され、トランジッション2(2011)の遷移条件の判定が真となると、STEP3(2003)に遷移する。
STEP3(2003)では、X軸を目標位置10にY軸を目標位置10まで移動させる直線補間運転の処理“G01 X 10 Y 10 F 1000”であるので、デバッグプログラム作成処理フローの図4では、ステップ内処理であるかの判定(3001)を行い、活性化されているステップつまりSTEP3をデータエリア、プログラムエリアに格納する。次に算術式であるかの判定(3003)、I/O操作であるかの判定(3010)を行い、3015の処理が行われる。ステップ3015では、指定されている軸の情報つまりX軸とY軸の現在位置情報を取得し、データエリアに格納する(3015)。ここでは、X=0,Y=0が格納される。
次に、実行後のデータをデータエリアに格納する(3016)。ここでは、各軸の目標位置であるX=10,Y=10が格納される。ステップ3016にて格納されたデータおよび直線補間命令から内部コード実行前の状態に戻すデバッグ用プログラムを作成する(3017)。ここでは、ステップ3015で格納したデータX=0,Y=0であるため、X軸の目標位置=0,Y軸の目標位置=0に直線補間移動する命令“G01 X 0 Y 0 F 500”が作成され、プログラムメモリに格納される(3018)。
“F 500”は速度を指定しているが、デバッグ用プログラムにおいては、必要に応じて、実プログラム速度より低くする。
デバッグ用プログラムが作成されると、実際の内部コードは実行され、STEP3内の次コードを実行する。
STEP3(2003)の2コード目では、X軸を目標位置60にY軸を目標位置30まで移動させる直線補間運転の処理“G01 X 60 Y 30 F 1000”であるので、デバッグプログラム作成処理フローの図4では、ステップ内処理であるかの判定(3001)を行い、活性化されているステップつまりSTEP3をデータエリア、プログラムエリアに格納する。次に算術式であるかの判定(3003)、I/O操作であるかの判定(3010)を行い、ステップ3015の処理が行われる。ここで、指定されている軸の情報つまりX軸とY軸の現在位置情報を取得し、データエリアに格納する(3015)。ここでは、X=10,Y=10が格納される。
次に、実行後のデータをデータメモリ格納する(3016)。ここでは、各軸の目標位置であるX=60,Y=30が格納される。ステップ3016にて格納されたデータおよび直線補間命令から内部コード実行前の状態に戻すデバッグ用プログラムを作成する(3017)。ここでは、ステップ3015で格納したデータX=10,Y=10であるため、X軸の目標位置=10,Y軸の目標位置=10に直線補間移動する命令“G01 X 10 Y 10 F 500”が作成され、プログラムメモリに格納される(3018)。
“F 500”は速度を指定しているが、デバッグ用プログラムにおいては、必要に応じて、実プログラム速度より低くする。
ここで、STEP3におけるモーション動作について説明する。図7はモーションコントローラ3100,モーションドライブ3101,3102,モータ3103,3104,X−Yテーブル3105をモデルとしたモーションコントローラシステムで、プログラムが動作した際の位置経緯を示している。
図8は、同様のモーションコントローラ3200,モーションドライブ3201,3202,モータ3203,3204,X−Yテーブル3205をモデルとしたモーションドライブシステムで、作成されたデバッグ用プログラムを実行した際の位置経緯を示している。
STEP3の処理が実行されると、(X,Y)=A点(0,0)からB点(10,10)まで直線補間動作され、次にB点からC点(60,30)に直線補間動作される。
また、C点の位置でSTEP3のデバッグ用プログラムの処理が実行されると、(X,Y)=C点(60,30)からB点(10,10)まで直線補間動作され、次にB点からA点(0,0)に直線補間動作される。
STEP3の2行目におけるデバッグ用プログラムが作成されると、実際の内部コードは実行され、トランジッション3(2012)の遷移条件の判定に移る。
トランジッション3(2012)では、Xが5より大きくYが8より大きいと真となる判定文“(POSX>5)&&(POSY>8)”であるので、デバッグプログラム作成処理フローの図4では、ドランジッション条件をプログラムエリアに格納する処理が行われる(ステップ3008)。ここでは、“(POSX>5)&&(POSY>8)”が作成され、プログラムエリアに格納される(3009)。
デバッグ用プログラムが作成されると、実際の内部コードは実行され、トランジッション3(2012)の遷移条件の判定が真となると、STEP4(ステップ2004)に遷移する。
STEP4(ステップ2004)では、出力Y2をONする処理“SET Y2”であるので、デバッグプログラム作成処理フローの図4では、ステップ内処理であるかの判定(3001)を行い、活性化されているステップつまりSTEP4をデータエリア、プログラムエリアに格納する。次に算術式であるかの判定(3003)、I/O操作であるかの判定(3010)を行い、ステップ3011の処理が行われる。ここで、指定されている入出力の情報つまりY2情報を取得し、データエリアに格納する(3011)。ここでは、Y2=OFFが格納される。
次に、実行後のデータをデータエリアに格納する(3012)。ここでは、Y2=ONが格納される。ステップ3011にて格納したデータから内部コード実行前の状態に戻すデバッグ用プログラムを作成する(3013)。ここでは、3011で格納したデータY1がOFFであるため、“RESET Y2”が作成され、プログラムエリアに格納される(3013)。
前述により作成された図5に示すデータエリアには、プログラム内部コードの実行前、実行後のデータが格納されるが、図に示すBit0とBit1により格納されるデータ種類を付加する。(Bit0,Bit1)が(0,0)の場合にステップNo.を示し、(0,1)の場合に実行前データ、(1、0)の場合に実行後データを示す。
前述により作成された図6に示すデバッグ用プログラムには、図に示すBit0とBit1により格納されたコードの種類を付加する。(Bit0,Bit1)が(0,0)の場合にSTEP No.を示し、(0,1)の場合にステップ内処理を示す。また、(1,0)でトランジッションNo.を示し、(1,1)でトランジッション判定条件を示す。
ここで、作成されたデバッグ用プログラムの実行処理における全体フローチャートを図9に示す。ここで、前述にあるデータエリアを示す図5とプログラムエリアを示す図6の1コード分を実行例とし説明する。
アプリケーション側において、オペレータによりデバッグモード切り替えが入力(4001)され、モーションエンジン側にデバッグモード切り替え指示がはいると、アプリケーション側からのデバッグ用プログラムを受けつけるデバッグモードへの切り替え処理(4101)が行われる。アプリケーション側は、デバッグ用プログラムをメモリから読み出し(4002)、モーションエンジン側にて中断されているプログラムの活性状態となっているSTEP No.をモーションエンジン側に問い合わる(4003)。
送信依頼を受けたモーションエンジン側は、現在の活性状態STEP No.を送信する(4103)。ここでは、活性状態にあるステップをSTEP4とする。
デバッグプログラムの最終STEP No.と受信した活性状態のSTEP No.が同じであるか判定(4004)し、同じ場合のみ、デバッグ用プログラムを実行可能とする。
次にオペレータよりデバッグ用プログラム実行入力があるか判定(4005)し、入力がある場合には、デバッグ用プログラムコードをモーションエンジン側へ送信する(4006)。ここでは、STEP4のデバッグ用プログラム“RESET Y2“が送信される。
モーションエンジン側は、デバッグ用プログラムの受信を判定(4104)し、受信したデバッグ用プログラムを実行する(4105)。
デバッグ用プログラムの実行完了確認依頼(4008)がある場合に、受信したデバッグ用プログラムコードが完了していれば、アプリケーション側に実行完了信号を送信する(4107)。
アプリケーション側は、モーションエンジン側から取得したデバッグ用プログラム実行後のデータと、データエリアから実行前のデータを読みだし、値を比較し表示する(4008)。
デバッグ用プログラム実行後データは、正しく動作していれば、Y2=OFFが取得される。またデータエリアからは、実行前データなので、Y2=0(OFF)が読み出される。
これにより、デバッグ用プログラムにより、通常プログラムにおいて、1コード前の状態となったか判定が可能となる。
ここで、デバッグ用プログラムの次コードがステップ内処理であるか判定(4009)し、ステップ内処理であれば、オペレータよりデバッグ用プログラムの実行終了入力の判定を行い(4010)入力がなければ、オペレータからのプログラム実行待ち状態に戻る。
プログラムメモリの次コードがトランジッション判定であれば、トランジッションの遷移条件が成立しているか判定する(4011)。ここでは、“(POSX>5)&&(POSY>8)”となっているか判定する。条件が真であれば、オペレータからのデバッグ用プログラム実行終了入力の判定を行う(4010)。遷移条件が成立していない場合は、エラー表示(4012)をし、デバッグ用プログラム実行処理を終了する。
次に、上述のデバッグ用プログラムにより、状態を戻した状態から、通常のプログラムを実行する処理の全体フローチャートを図10に示す。
オペレータによりデバッグモード切り替え入力(5001)により、プログラムを1コード実行するデバッグモードへの切り替え処理を行う(5101)。
デバッグ用プログラムを行った際の活性状態にあるSTEP No.をモーションエンジン側に送信する。モーションエンジン側は、活性状態にあるSTEP No.の受信を判定する(5102)。
アプリケーション側はオペレータからのプログラム実行入力を判定(5003)し、入力があると、プログラム実行開始指示を送信する(5004)。
モーションエンジン側は、プログラムステップ実行開始指示の判定(5104)を行い、開始指示がある場合には、指定されたSTEPから、1コード実行開始する(5105)。
実行完了確認依頼(5005)が、アプリケーション側より入力された際、プログラムコード処理が完了していれば、実行完了信号を返す(5107)。
アプリケーション側は、実行完了信号を受信すると、図5に示した実行後のデータメモリ内容と、モーションコントローラからの取得データを比較した内容を表示する(5006)。
これにより、プログラム修正等行った場合には、実際の処理がどのように変更されたか確認することが可能となる。
次にオペレータからプログラムステップ実行終了入力がない場合には、ステップ実行入力待ちとなり、入力がある場合には、プログラムステップ実行処理を終了する(5007)。
本実施例のモーションコントローラのブロック図。 デバッグ用プログラム作成処理を含むプログラム実行処理の全体フロー図。 デバッグ用プログラムを作成するためのSFCプログラム記述例の説明図。 デバッグ用プログラムの作成処理の一例のフローチャートの説明図。 デバッグ用プログラム作成時に生成されるデータエリア内容の一例の説明図。 デバッグ用プログラム作成時に生成されるプログラムエリア内容の一例の説明図。 SFCプログラムのモーション命令による動作を説明するモーションコントローラ例の説明図。 デバッグ用プログラムのモーション命令による動作を説明するモーションコントローラ例の説明図。 デバッグ用プログラムの実行処理の一例のフローチャートの説明図。 デバッグ用プログラム実行後のプログラムステップ実行処理の一例のフローチャートの説明図。 工程歩進型プログラムであるSFCプログラム例の説明図。 トレース手法を用いたデバッグ方法の全体フローの説明図。
符号の説明
200・・・モーションコントローラ
201・・・モーションドライブ
202・・・モータ
203・・・入力ユニット
204・・・出力ユニット
205・・・表示/入力周辺機器
300・・・モーションエンジン部
301・・・アプリケーション部
400・・・メモリ(モーションエンジン側)
401・・・CPU(モーション,I/O制御)
402・・・モーションインターフェース(I/F)
403・・・Input/Outputインターフェース(I/F)
404・・・バスインターフェース(I/F)(モーションエンジン側)
500・・・バスインターフェース(I/F)(アプリケーション側)
501・・・メモリ(アプリケーション側)
502・・・CPU(アプリケーション)
503・・・周辺装置インターフェース(I/F)
3100・・・モーションコントローラ
3101,3102・・・モーションドライブ
3103,3104・・・モータ
3105・・・X−Yテーブル
3200・・・モーションコントローラ
3201,3202・・・モーションドライブ
3203,3204・・・モータ
3205・・・X−Yテーブル

Claims (4)

  1. 工程歩進型プログラムを使用したモーションコントローラにおいて、
    実行される工程の直前と直後の状態の可逆データを記憶し、実行直前状態の可逆データに戻すプログラムを生成し記憶する手段を有し、前記プログラムを工程終了時に実行可能とすることを特徴とするモーションコントローラ。
  2. モーション動作を伴う工程歩進型プログラムであって、実行された工程で、動作した軌跡を戻すプログラムを生成し記憶する手段を有する請求項1記載のモーションコントローラ。
  3. 上記実行直前状態の可逆データに戻すプログラムを実行した際に、入出力、変数等の情報が、前記可逆データの実行直前状態となっていることを監視し、表示する請求項1記載のモーションコントローラ。
  4. 実行直前状態に戻すとともにプログラム修正や機械調整後に再度プログラムを実行した際に、プログラム修正後又は機械調整後に実行した状態とプログラム修正前又は機械調整前に実行した状態とを比較し、実動作上の相違箇所を表示する請求項1記載のモーションコントローラ。
JP2004111886A 2004-04-06 2004-04-06 モーションコントローラ Pending JP2005301334A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004111886A JP2005301334A (ja) 2004-04-06 2004-04-06 モーションコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004111886A JP2005301334A (ja) 2004-04-06 2004-04-06 モーションコントローラ

Publications (1)

Publication Number Publication Date
JP2005301334A true JP2005301334A (ja) 2005-10-27

Family

ID=35332839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004111886A Pending JP2005301334A (ja) 2004-04-06 2004-04-06 モーションコントローラ

Country Status (1)

Country Link
JP (1) JP2005301334A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907872A (zh) * 2010-08-19 2010-12-08 王惠云 可编程逻辑应用控制器
JP2016085559A (ja) * 2014-10-24 2016-05-19 ファナック株式会社 Sfcの活性状態ステップの信号アドレスをサンプリングするプログラマブルコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907872A (zh) * 2010-08-19 2010-12-08 王惠云 可编程逻辑应用控制器
JP2016085559A (ja) * 2014-10-24 2016-05-19 ファナック株式会社 Sfcの活性状態ステップの信号アドレスをサンプリングするプログラマブルコントローラ

Similar Documents

Publication Publication Date Title
EP2672348B1 (en) Control device, control system, tool device, and collection instruction program
EP1624352B1 (en) Manual restart learning process and manual restart process for an automated system
JP2006293537A (ja) 数値制御装置
CN108349082B (zh) 用于产生操纵器程序的图形用户界面的方法和计算机程序
JP2003117863A (ja) ロボットシミュレーション装置
US20080103625A1 (en) Numerical controller with machining resume function
JP2009122852A (ja) パステーブル運転時の運転履歴を記憶する数値制御装置
JP2007086921A (ja) 機械装置制御プログラム実行システム
JP2004259112A (ja) 評価用システム及び評価方法並びにモーションコントローラ
US20150227348A1 (en) Development support device and development support program
JP2002373008A (ja) 数値制御装置
JP2008242572A (ja) 制御処理シミュレーション装置
JP2005301334A (ja) モーションコントローラ
JP4542494B2 (ja) プログラマブル表示装置、デバッグ支援プログラム及びデバッグ装置の制御方法
JP2004151976A (ja) シミュレーション装置
JP7448377B2 (ja) 加工プログラムの管理装置、管理システム、管理方法
JP5723675B2 (ja) シミュレーション装置及びシミュレーション方法
JPS58222357A (ja) 駆動制御プログラムデバツグ方式
JPH08106320A (ja) 自動機械及び自動機械の制御方法
JPH10247142A (ja) プロセス制御プログラムのプログラミングシステムおよびプログラミング方法
US10664274B2 (en) Controller and editor
EP3633471B1 (en) Program development support device, program development support system, program development support method, and program development support program
WO2020189142A1 (ja) 制御システム、制御方法、および制御プログラム
JP7404645B2 (ja) プログラマブルコントローラの動作履歴記録方法及びシーケンスプログラム
JP2009244952A (ja) モーションコントローラ、シミュレーション方法及びシミュレーションプログラム