NCプログラミング支援システムの構築
(第1報:知識ベースを用いたNCプログラム判定ソフトの開発)
小島 龍広*・西田 知照*
Building of Assist System for NC Programming
(1st Report:Development of Judgement Software for NC Program using Knowledge Base)
by
Tatsuhiro KOJIMA*and Noriteru NISHIDA*
Students have to code NC programs by manual works in the practice using NC machine tools. Check of the NC program coded by students is a serious problem. But, we can not find the effective software to check the NC program. The assist system to check the NC program is developed. This system consist of the ludgement software for the NC program and the software for displaying the cutter path. In this paper,
the development of the judgement sof帥are with the㎞owledge bases is presented. As an example, the ap−
plication to the student practice using the machining center is shown. A prototype expert system can assist that the student who has no㎞owledge and experiment about the NC programming studies the NC programming by himself. Owing to this system developed, the security in the student practice is kept and the labor of instructor is reduced.
1.緒 言
今,製造業は大量生産への対応というニーズに代わ って,多品種少量生産,生産時間の短縮,人手不足な どに対応するために,生産システムの省力化,自動化
を図っている。FA化の着実な進展とともに,工作機
械自体もNC化,さらにはCNC化され,今やコンピュー
^ー搭載機種はあたり前の存在になっている。こ のため工学系大学でも,このような高度の技術化社会 に対処した実践的な工学教育が積極的にカリキュラムに導入されており,本学でもNC工作機械の代表機種
であるマシニングセンタが導入され,機械工作実習が実施されている。
NC工作機械はプログラム運転が行われるが,使用
される指令コード1)が特殊なために,学生が限られた時間でNCプログラムを習得するのは容易ではな
い。しかしプログラムにミスがあると物的,人的事故 となる危険性が非常に高い。従って,同時に多くの学 生を対象としてプログラミングの学習とそのチェック を行うには,コンピューターを援用して行うのが効果的である。NC加工のためにCAD/CAMシステム
が開発されているが,専用のシステムは非常に高価で ある。また,安価な汎用ソフトでは指令コードが工作 機械メーカーにより異なるためにそのままの利用がし
ずらく,独自のNC教育用システムの開発が要求され
る。
一方,AI技術の応用が期待される一分野にエキス
パートシステム2)がある。エキスパートシステムと は,ある程度:専門的な知識を扱い,問題解決を行うた平成5年 月 日受理
*機械システム工学科(Department of Mechanical Systems Engineering)
めのシステムである。NCの指令コードは一定の規則
からなっており,また熟練したプログラマーになると 経験から得た専門的なノウハウを持っている。そこで,この規則やノウハウをエキスパートシステムの知識 ベースに獲得し,推論を行わせることで,NCプログ
ラムの文法チェックや,その間違いの具体的な指摘に,エキスパートシステムを利用することが可能である。
本研究は,マシニングセンタのNCプログラミング 実習を例に取り上げ,NCプログラミングの知識が全
くない学生が独力でそめ知識を習得し,さらに演習課題に従って学生自身が作成するNCプqグラムをう学
生自身でミスチェックが行えるシステムの構築を目的としている。このために,知識ベースを用いたNCプ
ログラム判定ソフト,さらに工具の動きが視覚的に確 認できるようにするための工具軌跡描画ソフトの開発を試みた。本報では,NCプログラム判定ソフトにつ
いてその有効性や問題点を検討し,工具軌跡描画ソフトについては第2報で報告する。
2.学生実習の現状
CAM演習の一貫として実施されているマシニング
センタ実習は,2年次生を対象に約8名を一班とし,延べ7時間を2週に分けて行われる。具体的には1週
目に指令コードの説明を受けた後,演習課題に従ってNCプログラムを作成し,2週目に実機による加工実 習を行う。メーカーにおけるNC機械の講習では,汎
用機の操作を習熟している者を対象とした場合でも約 1週間の時間を必要としている。これに対して,学生 実習の場合は機械操作はまだ不慣れであるにもかかわらず,実習時間が7時間しか取れない。これは明かに NCプログラム学習ソフト
NCプログラム作成・入力
修正復習 判定ソフト
躍く70% α≧70%
@ α=100%
修正工具軌跡描画ソフト
マシニングセンタへ転送
σ=正解率加工
Fig.1 Flow chart of assist system.
絶対的な時間の不足を意味する。
さらに,プログラム運転の場合,NC装置自身では
プログラムの間違いをチェックできないので,プログ ラムを完全なものにするために何らかの対策を講じる必要がある。いわゆる自動プロやCAMシステムは,
自動的にNCデータを作成することを目的としてお
り,マニュアルで入力したプログラムをチェックする ようには考えられていない。学生実習の場合,マニュ アルでのプログラミング方法を学ぶことが目的である ので,これらのシステムは今の場合役をなさない。また,マシニングセンタのプログラム入力はNC装置に
直接入力できるようになっているが,機械が高価なために1台しか設置されていないのが現状である。
そこで,多人数の学生のプログラム入力を効率良く
行うにはパソコンのエディタを用いて入力し,NC装
置へ転送した方が効率的である。また,プログラム入 力と同時に,指令コードの学習や作成したプログラム のチェックをパソコンを援用して行えば,個別学習が でき,しかも主体的に学べるので,より効果的な学習 が行える。さらに,学生がどのようなプログラムミス を冒すか予測できないので,プログラムのミスチェッ クシステムが実践しながら構築できるような方策をと ったほうが望ましい。この点エキスパートシステムは 最初プロトタイプを作り,実際に運用しながら段階的 に知識ベースの拡張ができるので適している。Fig.1に以上のような点を考慮して構築した支援シ
ステムの流れを示す。まず,NCプログラム学習ソフ
トで指令コードの文法を例題形式で学習する。次に課
題用の図面に基づきNCプログラムを作成し,エディ
タを用いて入力する。入力したプログラムは判定ソフ トを用いて間違いがないかどうかチェックされる。判 定結果の点数が規定以下の場合には,再度学習ソフト
を復習させる。規定の点数に達した場合でもNCプロ グラムは100%完全にする必要があるので,完全にな
るまで繰り返し修正をさせる。完全にした後,工具軌 跡描画ソフトを用いて,判定ソフトではチェックでき ないワークの削りすぎや工具の障害物への衝突がない かどうか,シミュレーションにより視覚的に確認を行う。
3.知識ベースの構成
NCプログラム判定ソフトは,パソコン上で日本語
による知識表現ができるエキスパートシェル「大証玄」を用いて開発した3もエキスパートシステムはFig.2 に示すように,知識ベースと推論機構が分離した構造 をしているので,知識の追加,変更が容易に行えると
ユーザ ユーザ・イン
ターフェイス 推論機構
知識ベース エキスパート
Fig.21Construction of expert system,
[ルール]
もし かつ
ならば
[G84]は[タップ]指令である
[ドリル]で一穴開けは[完了]
[タップ]指令は[成立]
条件部
Fig.3 Expression of rule.
結論部
:⊇一ド
GOO
GOl
G84 MO3機能 位置決め 直線補間 タップ 主軸正転
一〉[GOO]は【位置決め]指令である 一〉[GO11は[直線補間]指令である 一〉【G84]は【タップ】指令である
≒〉【MO3]は【主軸転転1指令である
十
[畳X】は陛Y]指令である
するような推論的知識に分けられる。
そこで,知識の記述は,事実的知識は「〜は〜であ る」の形で表現されるファクトを用い,また推論的知 識は「もし〜ならば〜である」の形で表現されるプロ ダクションルールを用いて記述した。プロダクション ルールの「もし〜ならば」の部分を条件部,「〜であ る」を結論部と呼び,ある条件が成立すると,ある結 論が成り立つという知識め表現方法をとつ℃いる。個 々のルールはFig.3に示すように条件部に書かれた事 実と結論部に書かれた事実によって構成されている。
また,あらかじめ分かっている事実は,条件部が必 ず成立するルールと して定義でき,これをファクトと 呼ぶ。各々のコードと機能の関係はFig.4に示すよう にファクトを用いて定義できる。ルールの条件部や結 論部,ファクトに記述した事実を事象と呼ぶ。Fig.4
の事象の場合,
[*X]は[*Y]指令である.
のように「コード」を[*X]で,「機能」を[*Y]
の穴埋めの形にすることで,複数の事象を表現でき,
これを事象変数と呼ぶ。穴埋めの[*Xコ,[*Y]に は各々「コード」と「機能」を選択肢として登録する。
これらの要素を用いた知識ベースの関連図をFig.5.に
示す。
Fig.4 Expression of fact.
「ファクト1 「ルール3
、∫勾;レ2
もし ルール1
1) [G84]は[タップ]指令であ
かつ2)[ドリル]で下穴開けは[完了]
ならば
3) [タップ]指令は[成立]
事象変数1
「事象変数3
「事象変数2 事象変数1
[聾X]は[砦Y]指令である
選択肢「コード」
選択肢「機能」
4.推論方法
知識ベースに記述したプロダクションルールを用い てゴールの成立を証明するための推論は,Fig.6に示 すように探索木が推論実行中に生成されながら,ルー ト部分に相当するゴールが成立するかどうかを評価す るための処理として表すことができる。探索木の一番 下の事象データから推論を始めて,ゴールを求める方 法を前向き推論と呼び,逆にゴールが成立するかどう か一番上のルートから下に向かって推論する方法を後
タッ
GO1
直線補間 GOO 位置決めFig.5 Relation between rules and event variables.
いう特徴がある。
NCプログラムを判定するための知識は,「GO1
は直線補間指令である」のように宣言的に表現される 事実的知識と,例えば,「タップ加工の前には下穴加 工が完了していなければならない」のように,指令実 行のための前処理が完了済みかどうか,判断を必要とコール 。。下
竪列ジ
事象データ
ー〉前向き推論
…彗》 後ろ向き推論
Fig.6 Search tree.
ゴール 事象 A
ルール1
もし 事象 Bかつ 事象 C かつ 事象 D
ならば事象 Aルール2
もし かつならば
事象 E 事象 F 事象 B
ファクト1 事象 E ルール3
もし 事象 G
ならば事象 F 質問
Fig.7 Evaluation and decision procedure for backward inference.
ろ向き推論と呼ぶ。ここではFig.7をもとに,推論
での評価決定がどのような手順で行われるか,後ろ向 き推論の場合を例に挙げ具体的に述べる秘推論が開始されると,ゴールの成立を証明するため
に,まずゴールと同じ事象を結論部に持つルールが
サーチされ評価の対象となる。今の場合,ゴール事象Aを結論部に持つルール1が評価の対象となり,ルー ル1の条件部の事象が成立するかどうかの評価が始ま る。評価はルール条件部の1行目から順に行われ,条
件部の項目が全て成立した場合に結論部が成立する。ここで1行目の事象Bも成立するかどうか未確定なの で,さらにこの事象Bを結論部に持つルール2に評価
が移る。
このように,自分以外のルールやファクトで評価を 決定しようとすることを推論するといい,ルール条件 部に値を決定する必要のある事象があると,さらにそ れを結論部に持つルールをサーチして条件部の評価を 行い,結論部を証明しようとする。このように値が分 からない場合には,推論によりルールの連鎖が起こっ て,他のルールへ評価が移る動作を繰り返す。
次に,ルール2の事象Eは,これと同じ事象がファ
クトに定義してあるので,ファクトを評価する。ファ クトは常に成立する事実として認識され,確定した事 象や評価したファクトを記憶するワーキングメモリと いう領域に登録される。ワーキングメモリに登録され た値はメモリサーチという形で評価の対象になる。同じように,ルール2の事象Fはルールサーチによ
り,結論部に同じ事象を持つル』ル3が評価対象になる。ここでルール3の条件部の事象Gのようにルール サーチで確定できるルールが見つけられない場合に
は,事象の評価が画面に質問され,その質問に対して入力された値を基に事象の成立,不成立が決定され
る。
このようにルールの連鎖により,ルール3の結論
部が成立し,それによってルール2の結論部の成立が 確定したら,ルール1の事象Bが成立する。同様の処 理でルール1の条件部の事象が全て成立したら,結論
部の事象Aが成立し,ゴール事象の成立が証明される。5.NCプロゲラム実習への適用
本章では,支援システムをマシニングセンタを用い
たNCプログラム作成実習に適用した事例を示す。学
習システムのとらえ方は,学習の目標や内容によって 異なってくると考えられるが,本システムは,学習者 がNCプログラミングに関する知識を主体的に学び,その身につけた知識を応用して,実際に課題解決にあ たることを援助するシステムを開発目標にした。
日本の教育は伝統的に一斉集団学習という学習形態 がとられてきたが,このような一斉学習では,学習者 個人の能力に応じた指導が困難であることや,また,
学習者が受動的になり易い等の問題がある。従って,
NCプログラム作成実習は,個別学習の実践を主眼と
して,スタンドアロン型のパソコンを用い,学習者が コンピュータと対話的に,主体的な学習ができるように支援,実施する。
5.1NCプロゲラム学習ソフト
Fig.8に学習ソフトの画面構成を示す。 N Cプ白グ ラム作成に先だって,指令コードを覚える必要がある ので,まず,学習ソフトでこれらの指令方法を習得す る。学習ソフトはグラフィックを多用し,学習者が視 覚的に興味・関心を引き起こすように工夫した。
本プログラムを起動すると,初めにメニュー画面が 表示される。その中の実行したい指令コードを選択す
ると(a)の説明画面となる。この説明画面では,指
令コードの意味と指令方法,プログラム例が表示される。次に(b)の例題画面で,その指令コードに対す
る例題が提示され,回答を入力させる。そして,(c)雛妻籔叢製藷鐘竃薯識響6レ
霧
霧 簿 舞 毫 鴛聾1
鶴 霧 毒 無 難
1)説明 GO2 GO3円弧補間 :鴛
指定され姻一向速度,円弧の大きさ,送り速度に基づき 壌
,工具が円弧 ム。。.、,。.,,,一.._ll
GO2 → 時計回りの回転方向 ;、、
GO3 → 反時計回りの回転方向。
X_Y,_ → 円弧の終点座標 .、
塾、。。②③ トコ羅径 華
① ・.。グ。。例 鷺
100 200 300 GOI X100 YO F200 舅
GO2 ×200 Y100 RIOO 三吾
GOI X300 寛 二
§髄懸誘灘漢醗蘇遜劉 履歴櫛へ進む硬郷 ア
(a)Display of explanation.
NC KB、{嵐}NCプ・グ・・支援ソフ・瞬ぎ轟 ファイル名
ン敏〃嫌 繍 蝋・総始ぎ繍ら鎗十一 鶴撫 ∵
シ12)例題 円弧縮 争≒ ①(X1。。. Y 1。。.)の鯉まで,送り簾F2。。mm1。,nで え
ちヂ
直線切削を行い,
, ②そこから(X200. Y300.)の位置まで,半径R100.で
時計回りに円弧切削を行う.以上の指令方法を入力せよ.l l① l l② 1
蒙 薫
籍醐懸驚灘雛縫三舞
(b)Display of example.
指令コート
X座標 Y座標
送り速度は概ね好評であり,口頭による説明やビデオ教材を用 いた教示法より高い関心を示した。
指令コート
X座標 Y座標
円弧半径5.2実習用の図面とNCプログラム例
Fig.9に演習課題の加工図とNCプログラム例を示
す。学生実習ではプログラミングを主として行うので,使用工具,切削条件等はあらかじめ指定された値を用 いる。Fig.9の加工図の場合,①面取りミル,②ドリ
ル,③タップ,④エンドミルの4種類の工具を使用
し,①から順に加工を行う。このためのプログラム長 さは約60行ほどである。鴇フ。イル名NC KB美 出力爾
灘3)判定結果円弧補間
キボ
鶏
㍑ あなたの入力値と判定結果くナ
霧
毒①
甕
霧②
霧 霧
岬
蕨 NCプログラム支援ソフトノ㌶諺4 〃
ぎ懇羅輝;撫営霧鰯繍タ磯羅触纏f織窟撫諺舞琴ら身
指令コート
X座標 Y座標
送り速度 判定GO1 X100 YIOO F200
正解指令コート X座標 Y座標
円弧半径 判定GO3 ×200 Y300 R100
間違い≧、
ミ ξ
♂
姦
露
}
間違いの人は再トライして下さい, 臼
蟻二二欝欝癒豫灘璽1
Y
(c)Display of judgement.
Fig.8 Construction of study software.
の判定画面で正誤の結果を表示し,誤解答の場合は再 度トライさせる。このように,一つの指令コードに対 して3種類の画面が準備され,例題演習形式で繰り返 し実行できる。この学習ソフトを利用した学生の感想
① 面取リ hリル
ミル
①②③ ④
8④
タップ エントミル
顧 1
0100
2
G91 GOO
G28 ZO エントミル3 G30 YO
9
深1 4 TO1X 5
MO6
6MO1
8
タ1∂o
①② 7NOI center mlllo◎
G54×OYO
8
G90 GOO
9 G43 Z30 HOI S800 10MO3
15 15 2・ 1 11G98 G81 XOY15 Z−5, R3.
F8
深20 12X。50 Y−3013
X15
Z M10ネジ深15
14 G80 G91G28×OZO
15 G30 YO 16
TO2
17MO6
lil」L」
lll
18
MO1
Fig.9 Drawing and programming sample in exer−
cise.
5.3 NCプログラムの文法判定
NCプログラムの1行分のデータをブロックと呼
び,ブロックはFig.loに示すように準備機能や座標 語などの幾つかのワードから構成されている。NC装
置はブロック単位でプログラムを実行するので,プロ グラムの作成は1ブロックごとに,定められた文法に 基づいて指令コードを順に組み合わせれば良い。従って,NCプログラムの文法判定は,1ブロック
を逆に1ワードごとに分解してワード単位で判定す
る。またワード単位に分解された1ブロックの指令
コードは,主となる指令が一つあり,他のコードは付 随的な指令と見なすことができる。Fig.11にドリルサ イクルの場合の指令方法を示す。この指令の場合[G 81]が主指令コードであり,他の座標語や送り機能は 付随的指令コードである。ワードに分解された指令コードは,まず主指令コー ドがファクトに登録されたコードかどうか事実的知識 により評価され,次に付随的指令コードが規則通りに
正しい文法になっているかどうか推論的知識により
ルール評価される。ブロック全体の文法の判定結果が 正しければ,続いてそのブロックの指令実行のために,それ以前のブロックで指令されるべき必要な指令コー ドが,全て完了済みかどうかルール評価される。
以上の判定方法の具体例として,自動工具交換と,
直線切削指令のプログラム例を挙げ以下に述べる。
ワード
①
G91 GOO G28 ZO
② G30 YO
③ TO1
④ MO6
⑤
GOI X50. Y50.⑥
X80.
Fig.13 An example of grammer judgement for NC program.
鴇 籠
座 標 語
送 主 工 補 ブ り 軸 具 助 口 速 回 選 機 ツ
度 転 択 能 ク 数 の終
りFig.10 Construction of code block.
矯G81叉5薦δ芝=至67直ヨ澗61ヂ∫i
し...響 _」
主指令コード
Fig.11 Command of drill cycle.
機械作動範囲 Z Y
:
l z y
ノー一一 一一
ノ ノ
X
ワーク
X
工具交換位置
XYZ→ 機械座標系
xyz→ワーク座標系Fig.12 Relation between machine coordinate system and work coordinate system.
NCプログラム作成では, Fig.12に示すように機械 自身が固有に持つ機械座標系とプログラム作成のため のワーク座標系の2つの座標系がある。
マシニングセンタはATC(自動工具交換装置)を
持ち,自動工具交換機能を大きな特徴としているが,このための指令コードが,[MO6]工具交換指令であ
る。この工具交換は,Fig.12に示すように主軸をあら かじめ定められた位置(Z軸は機械原点復帰位置で,Y軸は機械座標で160㎜以上マイナス側の位置)に移
動させてから行う必要がある。このための一連の動作 のNCプログラムをFig。13に示す。①のブロックのプログラムは,次のような内容を考 慮して作成されるものと考えられる。
工具交換を行うために,Z軸の機械原点[ZO]へ 自動原点復帰するための指令は[G28]である。この 場合,送りは早送り[GOOコで行う。また,座標系は
機械座標なので,移動指令はインクリメンタル方式[G91]を用いる。
このように,実際にプログラミングする場合,文法 的な規則や経験的知識を基にして指令コードを組み合 わせて作成するわけである。このため,このブロック
の判定のために,主指令コード[G28]について,以
下のような事象が考えられる。[G28]指令コードは[自動原点復帰]指令である。
[G28]指令の[移動指令]は[G91]で行う。
[G28]指令の[送り指令コは[GOO]で行う。
[G28]指令の[Z座標]は[ZO]である。
従って,これらの事象を基にファクトやルールが知 識ベースに構成され,評価が行われる。
プログラムの文法判定は①のブロックから順に評価
される。①のブロックは4ワードで構成されているの
で,まずワード単位への分割処理が行われる。次に,[G91][GOO][G28]の3ワードはアドレスが[Gコ
だから,準備機能Gコードのファクトにより,登録さ
れたコードであるか評価される。[ZO]は座標語な
ので,座標処理ルーチンで座標値のチェックが行われ る。全てのワードが正しければ,このブロックの主指令コードである[G28]について,先ほどの事象で構
成されたルールの評価が行われる。つまり,[G28]指 令を行うためには付随的指令コードである[G91][G00]指令を行う必要があるわけである。①のブロック が正しいと判定されれば,[G28は完了指令]として 主指令コードがワーキングメモリに事象登録される。
②のブロックは[G30]指令でY軸を機械第2原点
(機械座標系でY軸が160㎜以上マイナスの値が機械
第2原点としてNC装置に設定されている)へ復帰さ
せる指令である。ここでも同様に,主指令コードの[G30]についての評価と座標語[YO]の座標チェック が行われる。
③のブロックは工具1番を選択する指令である。工
具が選択されると,工具登録処理が行われ,現在,何 番の工具が主軸にセットされているか常に分かるようになっている。そして,行程に合った工具番号が評価
され判定が行われる。
最後に,④のブロックの[MO6コ指令の評価に移る。
ここで工具交換指令が実行されるためには,①②③の 3ブロックの主指令コードが全て[完了指令]として ワーキングメモリに登録されている必要がある。この ため,ワーキングメモリの確定事象が評価され,[MO6]
指令の判定が決定される。
次に,モーダル指令と座標値の判定法について,⑤
⑥ブロックの直線切削指令を例に述べる。一般に,プ ログラムの加工座標の指令はワーク座標系を用いて行
うが,NC装置自身は機械座標系に基づいて動作する
ので,座標値の判定にも機械座標を用いたほうが都合 が良い。これらの座標系の原点であるワーク原点から 機械原点までの距離は,Fig.14(a)に示す一X,一Yのオフセット量と(b)に示す一Zの工具長補正量
として与えられる。そこで座標値の判定には,これら の補正量を考慮した機械原点からの座標を用いて行うようにした。
今,Fig.14(a)の座標P 1からP2まで直線切削 を行う場合,⑤のブロックのように終点P2の座標を
用いて指令する。続いて座標P3までの指令は,[GO1]と終点のY座標は同じになるため省略でき,⑥のブロ ックのようにX座標だけ指令すれば良いことになって
いる。これはNC装置にはメモリ機能があるため,一
度指令された指令コードはメモリに保持され,同じ指令は二度目以降は省略することができることによる
が,これをモーダル指令という。このモーダル指令の ために,⑥のブロックだけでは省略された指令コード が分からない。そこで,機能ごとに新たに指令された コードをメモリに事象登録し,現在何の指令が有効であるか評価することで,NC装置と同じモーダル指令 の判定を可能にした。
また,直線切削の座標値は,現在の始点座標と一つ
y
一X
Y
>1
X
@械原点
@ X
50
ワ
P2鱒
[岬 5嚇目 i
働二二
ワーク原点
(a)XYplane.
Z Z X
<トー工具
ワーク原点
Nl機械原点
X
ワーク
(b)XZplane.
Fig.14 Coordinate system and offset amo㎜t.
前の指令の終点座標が等しくなる。つまり,座標P2
は⑤ブロックの終点座標であり,かつ⑥ブロックの始 点座標でもある。このため⑤ブロックの実行終了後,終点座標が現在の主軸位置として登録される。そして
⑥ブロックが指令されたら,⑤ブロックの終点座標が
⑥ブロックの始点座標に置き換えられ,⑥ブロックの
始点座標と終点座標が確定した座標として登録され
る。座標値の判定は,この確定座標と,あらかじめ入 力された図面座標が等しいか評価され決定される。以上述べたように,NCプログラムの文法判定は,
推論途中で得られた中間仮説をワーキングメモリに事 象登録し,この登録された事象内容に応じてプロダク ションルールが適用され推論が実行される。
この判定ソフトを演習課題用NCプログラムに適用
した結果をFig.15に示す。入力されたプログラムのファイル名
鼻
判定結果
MC.KB 出力画面 NCプログラム判定ソフト彊
・ 開 鱗騒
NCプログラム名 0100 簿
①0100 [○]
③G30 YO [○玉 [×]
⑤MO6 [○]
⑥ MO1 [O]
霧 毒
送り指令が違います.
工具番号が違います.
_羅全舞。.轡響竃灘1羅箋
Fig.15 Display for the result of judgement.
判定結果はルールが不成立の場合には,間違いに対す る注意事項が画面に具体的に表示されて,注意を促す
ようになっている。
今回作成した判定のためのルール数は230である。
パソコンPC−9801FA(32ビット,20MHz)を使用
しての,課題用NCプログラム59行の判定に要する時 間は約6分であった。これは,学生実習用としては実 用できる時間であるが,さらに長いNCプログラムに
なると時間がかかり過ぎる。このためリアルタイム処 理を実現するには,例えば,実際の判定におけるルー ルの適用回数を調べ,よく使用するルールは自動的に 前の方にもってくるための自己学習機能の開発が考え られる。一般にエキスパートシステムは,ルール数が増えると推論に多くの時間がかかるので,ワークス
テーションを用いた開発がなされ,まだパソコンを使 用した開発例は少ない。しかし,近年の半導体技術の開発はすさまじく,CPUが高性能化し,処理速度が
高速化してきたので,エキスパートシステムの使用目 的を限定して行えば,パソコンレベルでも充分実用可能と思われる。
6.結 言
本研究では,NCプログラミングにおける支援シス テムの構築を目的として,NCプログラム判定ソフト
の開発を行った。本システムをマシニングセンタを用いたNCプログラムの作成実習に適用し,その有効性
を示した。その内容をまとめると以下のようになる。(1)NCプログラム判定のための知識を,事実的知
識をファクトで,また,推論的知識をプロダクションルールで表現した。
(2)NCプログラムの文法判定は,ブロックをワー
ド単位に分割し,主指令コードと付随的指令コードに より評価を行い,また,完了指令やモーダル指令の判 定は,確定事象をワーキングメモリに事象登録することで可能であることを示した。
(3)本システムにより,NCプログラミングの知識
・経験がない学生でも,指令コードの習得から演習課
題用プログラムの作成さらに,作成したプログラム
のミスチェックまで一貫して学生自身で行え,学生の 主体的な学習を支援することができる。(4)以上により,プログラム運転での安全面が確保 され,また,実習指導者の労力が軽減された。
最後に,本システムのプログラム開発に協力して頂 いた,学部卒業生の早川淳二君に感謝します。
参考文献
1)森精機製作所㈱,潮湯マシニソグセンタプログラ
ミソグ説明書,(1988)。
2)例,上野ほか,エキスパートシステム,オーム社,
(1988)。
3)エーアイソフト㈱,大台玄リファレンスマニュア
ノレ, (1989)。