マウンタープログラムの2次利用

マウンターのプログラム(データ)は、基本的に常に最新であり、実装の結果そのものです。よく図面が間に合わないので指示書等で対応してほしいという依頼があります。図面が正式に発行されるまでの間、最新情報はマウントプログラムと言うことになります。

このように今現時点で、どういう状態に基板が出来上がっているのかを見るときは、現場に聞くのが一番です。

マウントプログラムは、たいてい実装機メーカーの供給するプログラム編集ソフトで作られていますが、その作られたデータを他の分野で利用できる方法は限られています。本来なら編集ソフトのデータベースに直接アクセスできればよいのですが、データベース形式もいろいろある上にセキュリティで固められているため、簡単にアクセスできません。

また古い設備に関しては、そのようなプログラム編集ソフトを使わずに作成されているため、直接マウントプログラムを見る以外に、情報を引き出すことができません。しかし古い設備の情報は案外重要です。きちんとした会社ならいいのですが、ろくに図面管理を行っていない場合、オリジナルデータがマウントプログラムに化している、と言う状況も結構あります。

マウントプログラム(データ)を一般のEXCEL等のアプリケーションで利用する場合は、テキストファイルを仲介して行います。プログラム編集ソフトではたいてい、テキスト出力機能があります。出力フォーマットはメーカーによって様々ですので、それに合わせて読み込んでください。

マウンターのデータそのものは、テキストで書かれている場合はそのまま読めますが、バイナリの場合、そのデータを編集ソフトに読み込んで変換できることもできる事もあります。ただあまりに古く対応していない場合は、残念ながら普通はあきらめるしかありません。

いや、最後まであがいてみましょう。JUKIのデータはバイナリで有名ですが、PDFのプリンタードライバー(PDF出力ソフト)をインストールして、印刷先をPDFにします。出来上がったPDFを開いてテキスト選択ツールで選択し、コピーするとテキストデータを抽出できました。今のところJUKIでしか試していませんが、おそらくほかのメーカーのアプリケーションに対しても有効なはずです。


私の経験ですが、マウンターのプログラム(データ)で一番読みやすいのは、YAMAHAとPanasonicの甲府系マウンターのデータです。最近のYAMAHAはXMLで書かれてあるので、タグさえわかれば、簡単に読めそうです。

甲府系(以下パナサート)では、テキストファイルで、ガーバーフォーマットを変形したような独特なフォーマットで書かれてあります。こちらは上位コンピューターシステムの取説に、詳しい説明があるので熟読すれば解読可能です。

今回は、パナサートの古い機種のデータを読み取ってみます。データはフロッピーディスクに保存されているとします。

フロッピーディスクを開くと、

CF000000.MNG

CF000000.POS

CF000001.SET

と、番号のファイルがあります。このうち拡張子が"MNG"がマネジメントファイルと言って、これをメモ帳等で開くと、

0002

PDX712FA-MAIN CF000000.POS

DDX712FA-MAIN CF000001.SET

*

と固定長のファイルの内容が示されたデータを見ることができます。

ファイル”CF000000.POS”はPDX712FA-MAINというNCプログラムだということがわかります。拡張子は

  • POS NC
  • SET 配列
  • BRD 基板
  • PRT 部品ライブラリ

です。

MSF以降は、NCと配列、基板の区別がなくなり、すべてPOSファイルに保存されています。

POSを開くとこんな感じです。(ヘッダーは省略)

N1X0Y0W0V0Z1PN()C()H0M000100T000010PW0BD0BK0/0

N2X268Y64205W0V0Z33PN()C(CN8 )H0M000400T000010PW0BD0BK0/0

N3X-80Y-480W270V27000Z37PN()C(F1 )H0M000000T000020PW0BD0BK0/0

N4X11596Y-15591W0V0Z35PN()C(CN1 )H0M000400T000030PW0BD0BK0/0


EXCEL等で開いてデータの区切りを使えば、セルごとにX,Y,R,Z,等に区切ることができます。一つずつ区切るのが面倒な方は、適当なテキストエディタで、

X,Y,W,V,Z,PN(,)C(,)H

をすべてカンマに置換して、csvで保存すればそのままEXCELで読み込むことができます。ただし、区切り文字が必要なデータ内に使われていると思ったような結果が得られないので注意してください。

区切り文字="X,Y,W,V,Z,PN(,)C(,)H"

N16X29887Y79570W270V27000Z43PN()C(X1 )H

区切り結果

N16,29887,79570,270,2700,43,,,,1

(X1が1になってしまっている)

このようなトラブルを避けるために私は、EXCELのVBAでちょっと工夫しました。例えば"X"と"Y"で囲まれたものがX座標のフィールド、"Y"と"W"で囲まれたものがY座標のフィールド、その他も同様に識別子で区切られたものを特定のフィールドと定義してしまえば、コメントの"X"を区切ってしまうことはありません。