JPH0340108A - Ncデータ編集方式 - Google Patents

Ncデータ編集方式

Info

Publication number
JPH0340108A
JPH0340108A JP17408989A JP17408989A JPH0340108A JP H0340108 A JPH0340108 A JP H0340108A JP 17408989 A JP17408989 A JP 17408989A JP 17408989 A JP17408989 A JP 17408989A JP H0340108 A JPH0340108 A JP H0340108A
Authority
JP
Japan
Prior art keywords
data
conversion
command
original data
block
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
JP17408989A
Other languages
English (en)
Inventor
Maki Seki
関 真樹
Takashi Takegahara
竹ヶ原 隆史
Takeshi Aragaki
新垣 剛
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP17408989A priority Critical patent/JPH0340108A/ja
Publication of JPH0340108A publication Critical patent/JPH0340108A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、NCデータ編集方式、特に、元デタとなるN
Cデータに対し各種の変換処理を施してNCデータを自
動編集すると共に、必要に応じ、編集されたNCデータ
から、再度、元データを作成するNCデータ編集方式に
関する。
従来の技術 一般に、予め作成されたNCデータ、即ち、元データに
対して各種の編集を行う場合、例えば、デジタイザを使
用して作成された元データの位置ずれや加工形状の配列
を修正するために位置変換補正して加工用のNCデータ
を編集したり、元データにミラー変換を施して新たなN
Cデータを編集するような場合には、これらの元データ
および元データの位置ずれ量やミラーの設定位置等に応
じ、元データ中に定義された点の移動先を手計算で算出
し、算出された移動先の値をNCデータとして再設定す
ることによって編集作業を行っている。
このような方式ではNCデータを編集する際に複雑な手
計算が必要とされるため、NCデータの編集作業に多大
な時間を要し、また、手計算の段階で誤りが生じやすく
、編集されたNCデータの信頼性が低いといった欠点が
ある。
そこで本出願人は、これら従来技術の欠点を解消するた
め、NCデータ編集時に実行すべき変換処理を規定する
位置変換指令を元データ中に予めプログラムしておき、
自動プログラミング装置により位置変換行列を求め、位
置変換行列が定義された後は、元データで定義された点
を変換解除指令が読まれるまで上記位置変換行列で位置
変換して自動的にNCデータを編集するNCデータ編集
方式を特許出願で既に提案している。
発明が解決しようとする課題 このNCデータ編集方式によれば迅速かつ正確にNCデ
ータを編集することができるが、自動プログラミング装
置の記憶容量には限界があるため、編集前の元データと
位置変換された編集データとをすべて保存しておくこと
は従来と同様実質的に不可能であり、また、元データと
編集データのプログラム番号が重複する等といった問題
もあり、編集作業終了後には位置変換された編集データ
のみを保存し、元データの記憶は消去せざるを得ない場
合がある。
一方、実際の設計作業では元データによって定義される
図形、例えば、元データ中に定義された点によって示さ
れる加工経路等を、該元データを基準として更に別の位
置に位置変換したい場合があるが、元データの記憶を削
除して編集データのみを保存した場合、元データを基準
とする位置変換を実施するために、まず、基準となる元
データを再生してやらなければならない。このためには
、前回の編集作業に関する位置変換を記録として残して
おき、前回の位置変換と逆の作用を有する位置変換を新
たに創成して現在の編集データに逆変換を施さなければ
ならず、複雑な演算作業が必要とされる。当然、この逆
変換は前回の編集作業で位置変換の対象となった編集デ
ータに対してのみ実施されなければならず、逆変換の対
象となる編集データの範囲を誤って設定すると正常な元
データを再生することはできない。
そこで、本発明の目的は、迅速かつ正確にNCデータを
編集することができ、しかも、自動プログラミング装置
の記憶容量を浪費せず、元データを確実に再生すること
のできるNCデータ編集方式を提供することにある。
課題を解決するための手段 本発明のNCデータ編集方式は、元データとなるNCデ
ータを順次読込み、元データにプログラムされた位置変
換指令に基づいて位置変換行列を定義し、位置変換指令
が読込まれてから変換解除指令が読込まれるまでの間、
元データ中に定義された点を上記位置変換行列で順次位
置変換し、非実行データとして位置変換指令および変換
解除指令を保存して編集データを作成するNCデータ編
集工程と、逆変換指令が入力された場合には、編集デー
タを順次読込み、編集データ中に非実行データとして保
存された位置変換指令から上記位置変換行列の逆変換行
列を求め、非実行データとされた位置変換指令と変換解
除指令との間で編集データ中に定義された点を上記逆変
換行列で順次逆変換し、編集データを元データに変換す
る元データ作成工程とを備えることにより上記課題を解
決した。
作用 NCデータ編集工程で実行すべき変換処理を規定する位
置変換指令を元データ中に予めプログラムしておく。
NCデータ編集工程において、自動プログラミング装置
は、元データとなるNCデータを順次読込み、元データ
にプログラムされた位置変換指令に基いて位置変換行列
を定義し、位置変換指令が読込まれてから変換解除指令
が読込まれるまでの間、元データ中に定義された点を上
記位置変換行列で順次位置変換し、非実行データとして
位置変換指令および変換解除指令を保存して編集データ
を作成する。
逆変換指令が入力されて元データ作成工程が開始される
と、自動プログラミング装置は、編集データを順次読込
み、編集データ中に非実行データとして保存された位置
変換指令から上記位置変換行列の逆変換行列を求め、非
実行データとされた位置変換指令と変換解除指令との間
で編集データ中に定義された点を上記逆変換行列で順次
逆変換し、元データを再生する。
実施例 以下、図面を参照して本発明の詳細な説明する。
第3図は本発明の方式を実施する一実施例の自動プログ
ラミング装置の要部を示すブロック図であり、図中1は
プロセッサ(以下、CPUという)、2は該自動プログ
ラミング装置を制御する制御プログラムが格納されたR
OM、3はロードされたシステムプログラムを格納する
格納領域とCPU1による演算処理の結果等を記憶する
記憶領域を備えたRAM、4はロードされた元データや
編集データを記憶するNCデータ記憶メモリ、5はキー
ボード、6はディスクコントローラ、7はグラフィック
デイスプレィ(以下、CRTという)であり、これら各
要素1゜〜7はバス8で接続されている。
FLI、FL2は外部記憶装置としてのフロッピーディ
スクであり、フロッピーディスクFLIには各種のシス
テムプログラムが格納され、フロッピーディスクFL2
には既に作成された元データや編集データ等が保存され
ている。上記フロッピーディスクFLIには、NCデー
タの作成・修正を実行する従来通りの各種プログラムの
他、NCデータ編集工程を実施するデータ変換処理のた
めのプログラム(第1図参照)や元データ作成工程を実
施する逆変換処理のためのプログラム(第2図参照)か
システムプログラムとして格納されている。
以下、データ変換処理および逆変換処理の概要を示すフ
ローチャート第T図および第2図に基いて本方式の一実
施例を説明する。
自動プログラミング装置に電源を投入し、フロッピーデ
ィスクFLIをディスクコントローラ6にセットすると
、ROM2の制御プログラムに従って駆動されるCPU
Iが、CRT7の表示画面にシステムプログラムを選択
するための初期画面を表示する。
そこで、予め作成された元データに位置変換補正やミラ
ー変換を施して新たなNCデータを編集する場合であれ
ば、オペレータは、まず、初期画面を参照して、NCデ
ータ編集工程を実施するデータ変換処理を選択するため
のキーを操作し、フロッピーディスクFLIに格納され
たデータ変換処理プログラムをRAM3に格納し、また
、編集の対象となる元データのプログラム番号をキーボ
ード5を介してCPUIに設定する。なお、編集の対象
となる元データがNCデータ記憶メモリ4内に記憶され
ていない場合は、当該光データを保存したフロッピーデ
ィスクFL2をディスクコントローラ6にセットする。
RAM3に格納されたデータ変換処理プログラムに従っ
て処理を開始したCPUIは、設定されたプログラム番
号に基き、編集の対象となるプロダラム番号を有する元
データをNCデータ記憶メモリ4もしくはフロッピーデ
ィスクFL2から読込んでRAM3に格納する。
以下、表1に示されるような元データが編集の対象とし
てRAM3に格納されているものとして、NCデータ編
集工程におけるデータ変換処理について説明する。
表11元データ 表2゜ 編集データ 元データの一例を示す表↑において、012345はプ
ログラム番号、Golは従来通りの直線補間コードであ
りX−Y−23次元座標系上の2点間の直線補間を定義
し、XY2で設定された移動指令ブロックに対してモー
ダルに適用される。G98・・・は本実施例のために設
けられた位置変換指令のコードであり、この内G98P
1〜G98P3は、変換処理を具体化するためにXYl
で元データ中にプログラムされた任意の基準点をIJK
で設定された対応点に移動させることを定義し、また、
G981’0は、変換処理を具体化するためにXY2お
よびIJKで元データ中にプログラムされた任意の2点
の中間点に配置され該2点を結ぶ直線と直交するミラー
によるミラー変換を定義する。G99は本実施例のため
に設けられた変換解除指令のコードであり、位置変換指
令のコードによって定義された1一つの位置変換行列を
解除する機能を有する。また、表2は、表1に示される
元データに対しデータ変換処理を施して得た編集データ
を示す表である。
データ変換処理を開始したCPUIは、まず、メモリM
に単位行列Eをセットし、指標iにOをセットして初期
化しくステップ5101)、R,AM3に格納された元
データを1ブロック読み込んで(ステップ5102)、
今回読込んだ1−ブロックのデータが元データの終了を
示すブロックであるか否かを判別する(ステップS 1
03)。表1に示される例では、まず、プログラム番号
を示す012345が読込まれ、元データの終了を示す
プロッ工1 りではないから、次いでステップ8104に移行して変
換指令ブロックであるか否か、即ち、G9Bの位置変換
指令コードを有するブロックであるか否かが判別される
が、変換指令ブロックではないから、次いでステップ5
105に移行して移動指令ブロックであるか否かが判別
される。移動指令ブロックではないから、更に、ステッ
プ8106に移行して変換指令キャンセルブロックであ
るか否か、即ち、G99の変換解除指令コードを有する
ブロックであるか否かが判別されるが、変換指令キャン
セルブロックではないから、今回読込んだ1ブロツクの
データ、即ち、プログラム番号である012345がデ
ータ変換処理実行後の編集データとしてRAM3に直接
書込まれる(ステップ5107、表2参照)。
次イで、CPU1は、RAM3に格納された元データの
次の1ブロツクを読み込んで(ステップ81.02)、
今回読込んだ1ブロツクのデータが元データの終了を示
すブロックであるか否かを判別する(ステップS 10
3)。表1に示される例 z では、G98PIXxaYyaZZaliaJjaKk
aが読込まれ、元データの終了を示すブロックではない
から、次いでステップ5104に移行して変換指令ブロ
ックであるか否か、即ち、G98の位置変換指令コード
を有するブロックであるか否かが判別される。当該ブロ
ックはG98の位置変換指令コードを有する変換指令ブ
ロックであるから、ステップ5108に移行して、当該
ブロックにおけるG98の指令コードにPOの修飾が付
されているか否か、即ち、ミラー変換のための位置変換
指令コードであるか否かを判別する。当該ブロックの位
置変換指令コードにはPOの修飾は付されていないから
、ステップ5101に移行し、当該ブロックの位置変換
指令コードにP3の修飾が付されているか否かを判別す
るが、当該ブロックの位置変換指令コードにはP3の修
飾は付されていないので、ステップS 」−10に移行
しで、当該変換指令ブロック、即ち、位置変換指令コー
ドG98Pl と該位置変換指令コードによる変換処理
を具体化するためのデータである第1基準点の座標1a
、 R,28,および、該第1基準点を移動させる対応
点である第I対応点の座標ia。
ia、 kaをレジスタに一時記憶し、かつ、当該ブロ
ックのデータに非実行記号となる括弧を付して位置変換
指令を非実行データとした後(ステップ811.1)、
非実行データとされた当該ブロックのデータ (G98
PIXxaYya2zalialiaKka )を編集
データとしてRAM3に書込む(ステップS 107゜
表2参照)。
次いで、CPUIは、RAM3に格納された元データの
次の1ブロツクを読み込んで(ステップ5102)、今
回読込んだ1ブロツクのデータが元データの終了を示す
ブロックであるか否かを判別する(ステップ5103)
。表1に示される例では、G98t’2XzbYybZ
zbliblibKkbが読込まれ、元データの終了を
示すブロックではないから、次いでステップ5104に
移行して変換指令ブロックであるか否か、即ち、G98
の位置変換指令コードを有するブロックであるか否かが
判別される。当該ブロックはG98の位置変換指令コー
ドを有する変換指令ブロックであるから、ステップ51
085 に移行して、当該ブロックにおけるG98の位置変換指
令コードにPOの修飾が付されているか否かを判別する
。当該ブロックの指令コードにはPOの修飾が付されて
おらずミラー変換のための位置変換指令コードではない
から、ステップ5109に移行し、当該ブロックの位置
変換指令コードにP3の修飾が付されているか否かを判
別するが、当該ブロックの指令コードにはP3の修飾が
付されていないので、ステップ5110に移行して、当
該変換指令ブロック、即ち、位置変換指令コードG98
P2と該位置変換指令コードコードによる位置変換処理
を具体化するためのデータである第2基準点の座標xb
、 yb、 zb、および、該第2基準点を移動させる
対応点である第2対応点の座標ib、 ib、 kbを
レジスタに一時記憶し、かつ、当該ブロックのデータに
非実行記号となる括弧を付して位置変換指令を非実行デ
ータとした後(ステップS 1 ]、 1. )、非実
行データとされた当該ブロックのデータ(G98P2X
xbYyb2zblibljbKkb)を編集データと
してRAM3に書込む(ステップS 107.表2参照
)。
次いで、CPUIは、RAM3に格納された元データの
次のニブロックを読込んで(ステップ5102)、今回
読込んだ1ブロツクのデータが元データの終了を示すブ
ロックであるか否かを判別する(ステップ5102)。
表1に示される例では、G98P3XxcYyc2zc
licJjcKkcが読込まれ、ステップ5103,5
i04,5108から、ステップ5109に移行し、当
該ブロックの位置変換指令コードにP3の修飾が付され
ているか否かを判別する。当該ブロックの位置変換指令
指令コードにはP3の修飾が付されており、これは、1
つの位置変換行列を定義するための各種データがすべて
読込まれ記憶されていることを意味する。そこで、CP
UIはステップ5112に移行して、これまでの処理で
各レジスタに記憶されたデータ、即ち、G98PIXx
aYya2zalialjaKka とG98P2Xx
bYybzxbliblibKkb 、および、今回読
込んだ1ブロツクの変換指令ブロックG98P3Xxc
YyczzclicljcKkcに基づいて、lっの位
置変換行列Maを算出する。
即ち、ステップ5112の処理では、元データにプログ
ラムされた第1基準点xa、 ya、 zaを第1対応
点ia、 ja、 kaに移動させ、第2基準点xb、
 yb。
xbを第2対応点ib、  ib、 kbに移動させ、
かつ、第3基準点xc、 yc、 2Cを第3対応点i
c、 jc、 kcに移動させるための位置変換行列M
aが定義される。
第4図は位置変換行列Maの作用を簡単に説明する概念
図であり、該位置変換行列MaはX−Yz3次元座標系
上の前記3つの基準点をこれに対応する3つの対応点に
1対1対応させて移動する位置変換行列であって、基準
点と対応点との位置関係を示す平行移動および回転移動
によって一義的に定義される。従って、上記X−Y−2
3次元座標系上の任意点を示すNCデータ”+ V+ 
zと該任意点に上記位置変換行列Maを乗じて得た移動
点xI、 YI、 zlとの関係は上記基準点と対応点
との関係に等しい。
このようにして位置変換行列Maを定義したCPUIは
、位置変換行列Maを指標jによって示されるメモリM
i、即ち、メモリMOに記憶しくステップ5113)、
メモリMの行列にメモリMOの位置変換行列を乗じた行
列をメモリMに再記憶しくステップ5114)、指標l
の値をインクリメントして、次ぎに定義される位置変換
行列を記憶するメモリMiを確保する(ステップS1↓
)。メモリMの初期値は単位行列Eであるから、現在、
メモリMには位置変換行列Maが記憶されていることに
なる。次に、今回読込んだ1ブロツクの変換指令ブロッ
クに非実行記号となる括弧を付して位置変換指令を非実
行データとした後(ステップ5ill)、非実行データ
とされた当該ブロックのデータ(G98P3XxcYy
c4xc!1cJjcKkc)を編集データとしてRA
M3に書込む(ステップS 107.表2参照)。
次いで、CPUIは、RAM3に格納された元データの
次の1ブロツクを読み込んで(ステップ5102)、今
回読込んだ1ブロツクのデータが元データの終了を示す
ブロックであるか否かを判別する(ステップ8103)
。表1に示される例では、G98POXxdYydzx
dlidljdKkdが読込まれ、元データの終了を示
すブロックではないから、次い9 でステップ5104に移行して変換指令ブロックである
か否か、即ち、G98の位置変換指令コードを有するブ
ロックであるか否かが判別される。当該ブロックはG9
8の位置変換指令コードを有する変換指令ブロックであ
るから、ステップS 108に移行して、当該ブロック
におけるG98の位置変換指令コードにPOの修飾が付
されているか否か、即ち、ミラー変換のための位置変換
指令コードであるか否かを判別する。当該ブロックの位
置変換指令コードはPOの修飾が付されたミラー変換の
ためのコードであるから、CPU1はステップS1王6
に移行して、今回読込んだ変換指令ブロック、G98P
OXxdYydZzdlidjjdKkdに基づいて、
ミラー変換のための1つの位置変換行列Mbを算出する
即ち、ステップ311・6の処理では、元データにプロ
グラムされた任意の2点xd、 yd、 +dとid。
jtl、 kdの中間点に配置され該2点を結ぶ直線と
直交するミラーによる位置変換行列Mbが定義される。
第5図はミラー変換のための位置変換行列Mbの作用を
簡単に説明する概念図であり、該位置 n 変換行列MbはX−Y−23次元座標系上の任意の2点
xd、 yd、 zdとid、 jd、 kdの中間点
に配置され該2点を結ぶ直線と直交する平面πを基準と
するミラー変換を示し、第5図に示される例では点xl
# 、 Yl/ 、 zl/が点xl“、 Yl’ 、
 zl“に変換され、点x2’ +Y2’ 、 z2’
が点X2’ 、 Y2“、 d’に変換され、かつ、点
x3’ + Y3’ 、 z3’ が点、3#。
Y3“、 z3“に変換されることとなる。位置変換行
列Mbは平面πによって一義的に定義される位置変換行
列である。
このようにしてミラー変換のための位置変換行列Mbを
定義したCPUIは、位置変換行列Mbをインクリメン
トされた指標iによって示されるメモリMj1即ち、メ
モリMlに記憶しくステップ5117)、メモリMの行
列にメモリM1の位置変換行列を乗じた行列をメモリM
に再記憶しくステップ811.4)、指標lの値をイン
クリメントして、次に定義される位置変換行列を記憶す
るメモリを確保する(ステップS1↓5)。従って、現
在、メモリMには位置変換行列Maと位置変換行列Mb
とを乗じた行列が記憶され、2つの位置変換行列が同時
に定義されたことになり、また、指標jの値は2に更新
されたことになる。次に、今回読込んだ↑ブロックの変
換指令ブロックに非実行記号となる括弧を付して位置変
換指令を非実行データとした後(ステップ5114)、
非実行データとされた当該ブロックのデータ (G98
1’0Xx4Yyd2zdlidJjdKkd)を編集
データとしてRAM3に書き込む(ステップ107、表
2参照)。
次いで、CPUIは、RAM3に格納された元データの
次の↑ブロックを読み込んで(ステップ5102)、今
回読込んだ1ブロツクのデータが元データの終了を示す
ブロックであるか否かを判別する(ステップS 103
)。表1に示される例では、G、0IXxlYylZZ
lが読込まれ、元データの終了を示すブロックではない
から、次いでステップ5104に移行して変換指令ブロ
ックであるか否か、即ち、G98の位置変換指令コード
を有するブロックであるか否かが判別されるが、変換指
令ブロックではないから、次いてステップ107に移行
して移動指令ブロックであるか否かが判別される。
当該ブロックは移動指令ブロックであるから、ステップ
5118に移行して、今回読込んだ1−ブロックによっ
て元データ中に定義された点χI、 yl。
zlに対して変換行列Mに基づく位置変換を実行する。
即ち、CPUIは、元データによって定義された点Xi
、 71.21にメモリMに記憶されている変換行列を
乗じて変換後の位置xl“、 yl“、zl“を求める
。メモリMに記憶されている変換行列は位置変換行列M
aと位置変換行列Mbとを乗じた行列であるから、点X
I、 yl、 zlに対して2種の位置変換が同時に実
行されることとなる。第6図はメモリMに記憶されてい
る現在の変換行列によって実行される位置変換を概念的
に示す図であり、点XI、 yl、 2+は位置変換行
列Maによって点x1′yl’ +Z17の位置に位置
変換されると共に、点XI’ 、 yl’ 、 2+’
の位置から、更に、平面πを基準とするミラー変換のた
めの位置変換行列Mbによって点xl“ 、IN 、 
zINの位置に変換されることとなる。但し、CPU1
の作業においては、メ3 モリMに予め位置変換行列Maとミラー変換のための位
置変換行列Mbとを乗した行列が記憶されているため、
元データ中に定義された点XI、 yl。
zlとメモリMに記憶された変換行列とに基づき変換後
の位置Xi“、 yl“、 Zl“が直ちに算出される
今回読込んだ■ブロックの元データによって定義された
点Xi、 yl、 21に位置変換を施して変換後の位
置χ1“、 yl“、 21“を算出したCPUIは、
変換後の位置x1″、y1“、 21“を編集データと
して、RAM3に書込む(ステップ31.07.表2参
照)。
次いで、CPUIは、元データの次の1ブロツクを読込
み(ステップ5102)、上記と同様、ステップ510
2−ステップ5L03−ステップ5104−ステップ5
105−ステップ5118ステツプ5107の処理を実
行し、元データ中に定義された点X2. y2.  z
2およびX3. y3.  Z3の変換後の位置x2“
、 Y2“、 22“およびx3“、 Y3″23″、
を算出しくステップ5118)、編集データとしてRA
M3に書込む(ステップS 107.表4 2参照)。
次いで、CPU1は、RAM3に格納された元データの
次の1ブロツクを読み込んで(ステップ5IO2)、今
回読込んだ1ブロツクのデータが元データの終了を示す
ブロックであるか否かを判別する(ステップ3103)
。表土に示される例で1は、G99が読込まれ、元デー
タの終了を示すブロックではないから、次いでステップ
5104に移行して変換指令ブロックであるか否か、即
ち、G98の位置変換指令コードを有するブロックであ
るか否かが判別されるが、変換指令ブロックではないか
ら、次いでステップS」05に移行して移動指令ブロッ
クであるか否かが判別される。移動指令ブロックではな
いから、更に、ステップ5106に移行して変換指令キ
ャンセルブロックであるか否か、即ち、G99の変換解
除指令コードを有するブロックであるか否かが判別され
る。当該ブロックはG99の変換解除指令コードを有す
る変換指令キャンセルブロックであるから、ステップ5
11−9に移行して、メモリMに記憶された変換行列に
指標Iで示されるメモリM(i−1,)、即ち、現在は
メモリM1であって、1つの位置変換行列を記憶した最
新のメモリに記憶された位置変換行列の逆行列、即ち、
ミラー変換のための位置変換行列Mbの逆行列を乗じ、
得られた行列をメモリMに再記憶する。従って、現在メ
モリMに記憶されている変換行列は、M a * M 
b * M b −’ = M aとなり、ミラー変換
のための位置変換行列Mbが解除されたことを意味し、
位置変換行列Maによる位置変換のための定義のみが有
効となる。従って、メモリM1にミラー変換のための位
置変換行列Mbを記憶させておく必要はなく、CPU1
は、指標iの値をディクリメントしてi=1とし、メモ
リM1を、次に定義される位置変換行列のためのメモリ
として確保する(ステップ8.120 )。
次に、今回読込んた1ブロツクの変換指令キャンセルブ
ロックに非実行記号、となる括弧を付して変換解除指令
コードG99を非実行データとした後(ステップS 1
. ]1. ) 、非実行データとされた当該ブロック
のデータ(G99)を編集データとしてRAM3に書き
込む(ステップ107、表2参照)。
次いで、CPUIは、RAM3に格納された次の1ブロ
ツクの元データ、即ち、G99を読込み(ステップ51
03)、上記と同様にして、ステップ5103−ステッ
プ5104−ステップ5105−ステップ5106の判
別処理を実行した後、再度、ステップ5119の処理を
実行する。即ち、CPUIは、メモリMに記憶された変
換行列に指標iで示されるメモリM(i−1)、即ち、
現在はメモリMOであって、1つの位置変換行列を記憶
した最新のメモリに記憶された位置変換行列の逆行列、
即ち、位置変換行列Maの逆行列を乗じ、得られた行列
をメモリMに再記憶する。従って、現在メモリMに記憶
されている変換行列は、Ma*Ma−”=Eとなり、ミ
ラー変換のための位置変換行列Mbに引続いて位置変換
行列Maが解除されたことを意味し、メモリMの値は単
位行列Eとなって初期状態に復帰する。従って、メモリ
MOに位置変換行列Maを記憶させておく必要はなく、
CPUIは、指標iの値をディクリメントして7 i=0とし、メモリMOを、次に定義される位置変換行
列のためのメモリとして確保する(ステップS 120
)。
以下、CPUIは、上記と同様にして、RAM3に格納
された元データの次の1ブロツクを順次読込み(ステッ
プ107)、当該ブロックが元データの終了を示すもの
であるか否かを判別しくステップ5103)、読込まれ
たブロックが変換指令ブロックG98・・・であり(ス
テップS 104)、かつ、位置変換指令コードG98
P] 、 G98P2 。
G98P3を有するブロックであれば、第1基準点と第
1対応点、および、第2基準点と第2対応点、並びに、
第3基準点と第3対応点を順次読込んで記憶し、これら
の点のデータから位置変換行列Maを算出して位置変換
を定義しくステップ3112)、また、ミラー変換のた
めの位置変換指令コードG98POを有するブロックで
あれば、元データに設定された任意の2点に基づいてミ
ラー変換のための位置変換行列Mbを算出してミラー変
換を定義しくステップ8116)、定義された位置変 
R 換行列を順次新規のメモリMiに記憶すると共に(ステ
ップS 113.ステップ511−7)、初期値が単位
行列EであるメモリMに上記定義された位置変換行列を
乗じて再記憶することにより、定義された位置変換行列
の数や種類に関わりなく、これらの位置変換行列を合成
したものと同値な変換行列Mを作成して定義しくステッ
プS 114)、指標iの値をインクリメントしくステ
ップ5115)、位置変換指令コードを有するこれら各
ブロックの元データに非実行記号となる括弧を付して(
ステップ5111)、編集データとしてRAM3に書込
み(ステップ5107)、移動指令ブロックを示すGO
Iの指令コードが読込まれた段階で(ステップ5105
)、該指令コードGOIに続く元データの定義点データ
に上記変換行列Mを乗じて位置変換を施しくステップ5
118)、編集データとしてRAM3に順次書込む一方
(ステップ5107)、変換指令キャンセルブロックが
読込まれたときには上記変換行列Mに最新の変換行列を
記憶するメモリM(i−1)の逆行列を乗じて該メモリ
Mに再記憶することにより、定義された最新の変換行列
のみを解除しくステップS 119)、変換解除指令コ
ードG99を有する変換指令キャンセルブロックに非実
行記号となる括弧を付して(ステップ5111)、編集
データとしてRAM3に書込み(ステップ5107)、
また、読込まれた1ブロツクの元データが変換指令ブロ
ックでも移動指令ブロックでも変換指令キャンセルブロ
ックでもない場合には、読込まれた1ブロツクの元デー
タを編集データとして直接RAM3に書込むこととなる
(ステップS 106.ステップ5107)。
そして、最終的に、元データの終了を示すブロック、例
えば、「Mo2」等のプログラムエンドコードが読込ま
れ、設定されたプログラム番号に対応する元データの全
てのブロックに対して上記データ変換処理が実行される
と、CPUIは、選択された元データに対する編集作業
が完了したものと見なし、NCデータ編集工程であるデ
ータ変換処理を終了する。
従って、本実施例のデータ変換処理によれば、元データ
に位置変換指令コードG98PI〜G98P3、および
、これらの位置変換指令コードを具体化するための基準
点と対応点をプログラムすることにより、簡単に位置変
換を定義することができ、予め作成された元データに位
置ずれがあるような場合であっても個々のデータを手計
算によって修正する必要は無く、また、ミラー変換を行
う場合にはミラー変換のための位置変換指令コードG9
8PQ、および、該位置変換指令コードを具体化するた
めの任意の2点をプログラムするだけで良く、複雑な演
算処理を必要としない。
また、位置変換指令コードによって位置変換指令行列が
定義される毎に、これらの位置変換行列を順次積算して
変換行列を定義するようにしているので、位置変換の種
類や個数に関わりなく、自動プログラミング装置によっ
て容易に所望の位置変換を実施してMCデータを編集す
ることができる。
表3は位置変換指令コードおよび変換解除指令コードと
変換行列Mとの関係を概念的に示す一例であり、位置変
換指令コードによって位置変換行列が定義されていない
段階では、初期値がE(単位行列)である変換行列Mに
より、元データAが直接編集データとされ、位置変換指
令によって位置変換行列MOが定義されると変換行列M
に変換行列MOが積算され(ステップ5114)、変換
行列MはMOとなる。位置変換指令によって位置変換行
列MOが定義された後の元データBおよびCは変換行列
M (M=MO)によって位置変換され、編集データは
B−MOおよびC−MOとされる。そして、位置変換行
列MOが定義された後、別の位置変換指令によって位置
変換行列Mlが定義されると、変換行列M (M=MO
)に位置変換行列Mlが積算され(ステップS↑↑4)
、変換行列MはMO−Mlとなり、位置変換指令によっ
て位置変換指令旧が定義された後の元データDおよびF
は変換行列M (M=MO・Ml)によって位置変換さ
れ、編集データはD・MO・MlおよびF−MO・Ml
とされる。そして、変換解除指令が入力されると、定義
された最新の位置1 変換行列旧の逆行列Ml−’が変換行列M (M=MO
・Ml)に積算され(ステップ5119)、変換行列M
はMOとなり、最新の位置変換行列Mlが解除された後
の元データGは変換行列M (M=MO)によって位置
変換され、編集データはG−MOとされる。
さらに、変換解除指令が入力されると、定義された最新
の位置変換行列MOの逆行列MO−lが変換行列M (
M=MO)に積算され(ステップ5119)、変換行列
MはEとなり、すべての位置変換行列が解除された後の
元データHは変換行列M (M=E)によって直接編集
データとされる。
、3 z 表3゜ 変換および解除と変換行列との関係 以上、元データが3次元NCデータである場合について
説明したが、元データが2次元NCデータである場合に
も上記とほぼ同様である。
この様にして作成された編集データ(表2参照)におい
ては、位置変換指令および変換解除指令が非実行データ
とされているため、実際の加工に際しては、表4に示さ
れるNCデータと同様の加ニブログラムが実行されるこ
ととなる。
表41編集データに基く加ニブログラム次に、編集デー
タに基いて元データを作成する元データ作成工程の逆変
換処理について説明する。
なお、表2に示されるような編集データが逆変換処理の
対象としてRAM3に格納されているものとする。
第2図は逆変換処理の概略を示すフローチャートであり
、逆変換処理のステップ8201〜ステツプS 206
.ステップ8208〜ステップS25 10、ステップ8212〜ステツプ5220は、それぞ
れ、データ変換処理(第1図参照)のステップ5101
〜ステツプ5106.S]、08〜ステツプS 110
.ステ・ソプS 112〜ステ・ツブ5120の処理に
対応する。但し、逆変換処理のステップ5212では各
レジスタに記憶された非実行の変換指令ブロック(G9
8PI・・・) 、(G98P2・・・)、(G 98
 P 3・・・)から、位置変換行列Maの逆行列Ma
、即ち、非実行の変換指令ブロックに記憶された第1対
応点ia、  ia、 kaを第1基準点Xa、 VL
 Hに移動させ、第2対応点ib、 jb、 kbを第
2基準点ib。
yb、 zbに移動させ、かつ、第3対応点ic、 i
c、 kcを第3基準点XC,VC,Hに移動させる逆
変換行列列Maが定義され、ステップ8216では非実
行の変換指令ブロック(G 98 P O・・・)から
ミラー変換のための位置変換行列Mbの逆行列Mb、即
ち、非実行の変換指令ブロックに記憶された任意の2点
id、  jd、 kdとxd、 yd、  xdとの
中間点に配置され該2点を結ぶ直線と直交するミラーに
よる逆変換行列Mb (実質的にMbと同一)が定義さ
れ、かつ、これら非実行の変換指令ブロック、および、
非実行のキャンセルブロック自体のデータはRAM3に
書込まれることがなく、データ変換処理のステップ51
07に対応する書込み処理であるステップ5207では
、逆変換された移動指令ブロックの点データおよびその
他のデータが元データとしてRAM3に書込まれること
となる。
従って、表2に示されるような編集データに対して逆変
換処理を実行すると表5に示されるような元データが得
られる。
表5.逆変換で得た元データ 表6は非実行とされた位置変換指令および変換解除指令
と逆変換行列Mとの関係を表3に対応さ6 せて概念的に示す一例であり、非実行の位置変換指令に
よって逆行列が定義されていない段階では、初期値がE
(単位行列)である逆変換行列Mにより、編集データ八
が直接元データとされ、非実行の位置変換指令によって
位置変換行列MOの逆行列MOが定義されると逆変換行
列「に逆行列MOが積算され(ステップ5214)、逆
変換行列MはMOとなる。非実行の位置変換指令によっ
て逆行列MOが定義された後の編集データB−MOおよ
びC−MOは逆変換行列M (M=MO)によって逆変
換され、元データはBおよびCとされる。そして、逆行
列MOが定義された後、別の非実行位置変換指令によっ
て逆行列目が定義されると、逆変換行列M (MMO)
に逆行列Mlが積算され(ステップS 214)、逆変
換行列ぶはMO−Mlとなり、非実行の位置変換指令に
よって逆行列Mlが定義された後の編集データD−MO
・MlおよびF−MO・Mlは逆変換行列M(M=MO
・Ml)によって逆変換され、元データはDおよびFと
される。そして、非実行の変換解除指令が人力されると
、定義された最新の逆行列M1の逆行列Mlが逆変換行
列M (M=M(1・Ml)に積算され(ステップ52
19)、逆変換行列MはMOとなり、最新の逆行列11
が解除された後の編集データG−MOは逆変換行列M 
(M=MO)によって逆変換され、元データはGとされ
る。さらに、非実行の変換解除指令が入力されると、定
義された最新の逆行列VOの逆行列MOが逆変換行列M
 (M=MO)に積算され(ステップ5219)、逆変
換行列MはEとなり、すべての逆行列が解除された後の
編集データHは逆変換行列M(M=E)によって直接元
データとされる。
表6゜ 逆変換および解除と逆変換行列との関係即ち、 本実施例の逆変換処理によれば、 非実行 データとして記憶された位置変換指令が読み込まれる毎
に、 データ変換処理において上記位置変換 9 指令で定義された位置変換行列に対応する逆行列が順次
算出され(ステップS2]−2,ステップ821.6)
、データ変換処理において位置変換行列が重複して定義
されている場合には、これらの位置変換行列に対応する
逆行列を順次積算して逆変換行列Mを求め(ステップ5
214)、非実行データとして記憶された位置変換指令
と変換解除指令との間で編集データに定義された点、即
ち、データ変換処理で位置変換された点に対し、上記逆
変換行列百を乗じて順次逆変換するようにしているので
(ステップ5218)、NCデータ編集工程で位置変換
されたデータに対してのみ逆変換が実行され、適正な元
データを確実に再生することができる。また、逆変換処
理においては、非実行データとされた位置変換指令や変
換解除指令がRAM3に元データとして書込まれること
はなく(ステップ5207)、本逆変換処理によって得
られた元データは、NCデータを編集するために付加し
た位置変換指令や変換解除指令を含まない最初のNCデ
ータとなる(表5参照)。
 U 本実施例によれば、NCデータ編集工程におけるデータ
変換処理で位置変換行列を定義するために付加された位
置変換指令や変換解除指令が非実行データとして編集デ
ータ中に記憶されるので、編集データから元データを算
出するための逆変換行列を自動プログラミング装置によ
って自動的に算出することができ、しかも、データ変換
処理の段階で位置変換の対象となったデータは、非実行
とされた位置変換指令コードと変換解除指令との間に定
義された点として容易に検出されるので、編集データに
基いて確実に元データを再生することができる。
従って、元データを基準として複数回の編集作業を行う
場合であっても、基準となる元データを一々保存してお
く必要はなく、自動プログラミング装置の実質的な記憶
容量を増大させることができる。
発明の効果 本発明のNCデータ編集方式によれば、元データにプロ
グラムされた位置変換指令に基づいて位直変換行列が定
義され、変換解除指令が読込まれるまでの間、元データ
中に定義された点が上記位置変換行列に基いて自動的に
位置変換されるので、NCデータの編集工程において複
雑な手計算が必要とされず、迅速かつ確実に編集作業を
行うことができ、しかも、編集後のNCデータには編集
工程で位置変換行列を定義した位置変換指令と変換解除
指令とが非実行データとして保存されるので、編集デー
タから元データを算出するための逆変換行列を自動的に
算出することができ、かつ、編集工程で位置変換の対象
となったデータは、非実行とされた位置変換指令と変換
解除指令との間に定義された点として編集データから容
易に検出されるので、元データ作成工程において、位置
変換の対象となったデータを判別して適切な逆変換を施
すことができ、編集データに基いて確実に元データを再
生することができるので、基準となる元データを一々保
存しておく必要はな(、自動プログラミング装置の実質
的な記憶容量を増大させることができる。
【図面の簡単な説明】
第1図は、本発明の一実施例のNCデータ編集工程を構
成するデータ変換処理の概略を示すフローチャート、第
2図は同実施例の元データ作成工程を構成する逆変換処
理の概略を示すフローチャート、第3図は本方式を実施
する一実施例の自動プログラミング装置の要部を示すブ
ロック図、第4図は同実施例における位置変換行列の作
用を概念的に説明する図、第5図は同実施例におけるミ
ラー変換のための位置変換行列の作用を概念的に説明す
る図、第6図は2つの位置変換行列が同時に定義された
ときの変換行列の作用を概念的に説明する図である。 1・・・プロセッサ(CPU)、2・・・ROM。 3・・・RAM、4・・・NCデータ記憶メモリ、5・
・・キーボード、6・・・ディスクコントローラ、7・
グラフィックデイスプレィ(CRT)、8・・・バス、
FLI、FL2・・・フロッピーディスク。 4

Claims (1)

    【特許請求の範囲】
  1. 自動プログラミング装置によるNCデータ編集方式にお
    いて、元データとなるNCデータを順次読込み、元デー
    タにプログラムされた位置変換指令に基づいて位置変換
    行列を定義し、位置変換指令が読込まれてから変換解除
    指令が読込まれるまでの間、元データ中に定義された点
    を上記位置変換行列で順次位置変換し、非実行データと
    して位置変換指令および変換解除指令を保存して編集デ
    ータを作成するNCデータ編集工程と、逆変換指令が入
    力された場合には、編集データを順次読込み、編集デー
    タ中に非実行データとして保存された位置変換指令から
    上記位置変換行列の逆変換行列を求め、非実行データと
    された位置変換指令と変換解除指令との間で編集データ
    中に定義された点を上記逆変換行列で順次逆変換し、編
    集データを元データに変換する元データ作成工程とを備
    えたことを特徴とするNCデータ編集方式。
JP17408989A 1989-07-07 1989-07-07 Ncデータ編集方式 Pending JPH0340108A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17408989A JPH0340108A (ja) 1989-07-07 1989-07-07 Ncデータ編集方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17408989A JPH0340108A (ja) 1989-07-07 1989-07-07 Ncデータ編集方式

Publications (1)

Publication Number Publication Date
JPH0340108A true JPH0340108A (ja) 1991-02-20

Family

ID=15972459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17408989A Pending JPH0340108A (ja) 1989-07-07 1989-07-07 Ncデータ編集方式

Country Status (1)

Country Link
JP (1) JPH0340108A (ja)

Similar Documents

Publication Publication Date Title
US6442441B1 (en) Method of automatically generating and verifying programmable logic controller code
CZ200021A3 (cs) Systém pro vytváření, změnu a/nebo vizuální znázornění programů pro řízení strojů
JP3407490B2 (ja) 数値制御方法及びその装置
JP4023978B2 (ja) 工作機械シミュレーション装置
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
JPH0340108A (ja) Ncデータ編集方式
JPS61170807A (ja) 数値制御装置
JP2022132726A (ja) プログラム編集装置およびプログラム
WO1990015373A1 (fr) Modification de donnees de commande numerique
JP2021070065A (ja) ロボットシステム
JP4036151B2 (ja) 数値制御装置及び数値制御方法
JPH0193805A (ja) ロボットの教示データ作成方法
JPH04217009A (ja) 動作プログラムの教示方法
JPS63219009A (ja) フルクロ−ズドル−プ制御でのバツクラツシ補正方式
JPH0563749U (ja) 加工時間算出機能を有する数値制御装置
JPS63148307A (ja) Nc情報作成装置
JPH0340109A (ja) Ncデータ編集方式
JPS5827242A (ja) プログラム間制御方式
JPH04245503A (ja) 加工プログラム編集装置
JPH04157505A (ja) 斜め面加工指令方法
JPH039404A (ja) Ncデータ編集方式
JPH0659720A (ja) バリ取りロボットプログラム生成方法
JPH03280103A (ja) 数値制御装置
JP2601835B2 (ja) ソフトウェア電位線のチェック方法
JP3172846B2 (ja) 形状処理装置