マウンターのプログラムについて

マウンターは、電子部品をプリント基板の所定の場所においていく機械です。このことから、「どこに」「なにを」が必要だとわかると思います。この「どこに」が座標データ、「なにを」が部品表にあたります。プログラムはメーカーごと装置ごとに設定が異なりますが、プリント基板の座標と部品表については、どこのメーカーも基本的な部分で共通です。このページでは主に座標データがどういったものか、部品表(BOM)とは何か、そしてそれらをマウンターのプログラムに変換するためにはどうすればよいかを取り扱います。同時にどんな形式のデータを出図すれば、実装メーカーが迷うことなく作業ができるか、もご紹介したいと思います。

マウンタープログラムの構成

マウンタープログラムは大きく分けて次の3つの種類に分けられます。

  • 画像認識にかかわるデータ
  • 部品の配置にかかわるデータ
  • 基板上の部品の位置にかかわるデータ

この3つがリンクして初めてマウンターを動かせます。

画像認識にかかわるデータは、チップデータとか部品ライブラリなどと呼ばれており、部品の寸法やリードの本数やピッチ等を登録します。部品以外の基板の認識マークの形状や寸法なども画像認識のデータの一種で、こちらも登録が必要です。

データの登録は、数値のみでなく、実際に部品をカメラで撮像し画像データとして登録することも必要です。これは照明条件で部品の写り方が異なってくるため、実際の部品を最適の照明条件で撮像できるように調整が必要となるためです。最近ではマウンターではなく画像認識ユニットを別途ライン外に設置して事前に画像データを登録できるオプションもあります。

これらの画像認識にかかわる部分は、各社が使用している画像処理ボードにより、入力するパラメータが大きく異なります。また、部品の吸着や装着の条件(使用するノズルや、移動速度等)もここで設定されます。

この画像認識にかかわるデータを適切に設定していないと、部品の認識エラーが発生したり、部品のずれ等の不適合を発生させる恐れがあり、品質的に非常に重要な部分です。

 

部品の配置にかかわるデータは、設備の何処に何の部品を置くか?を登録する部分です。供給形態がリールの場合とトレーの場合、少なくはなりましたがスティックなどもあり、設備によっておける場所の制限がありますので、適切な場所に部品を配置します。この部品配置は特にモジュラーと呼ばれる多軸のマウンターでは非常に、生産タクトに影響を及ぼします。適切なところに部品を廃止しないと、極端に生産性が悪くなることがあり、最もプログラマーが頭を悩ます部分です。メーカーは様々な最適化ソフトを提供していますが、最適条件を決定するパラメーターが非常に多く、近似値としてしか最適化できていないのが現状で、実際は最適化ソフトがある程度配置を決定した後、ベテランによるチェックや修正が行われているのが現状です。

 

基板上の部品の位置にかかわるデータは、基板の何処に何を載せるか?というデータの集まりです。ほとんどの場合、CADから落とされる座標を変換して作成されます。またどのヘッドでどの順序で部品を置いていくか、という設定もここで行われます。このヘッドと順序は生産タクトに多大な影響を及ぼします。こちらも部品配置と合わせて最適化ソフトで最適化されますが、最終的な検証は人間の手によって行われています。

座標データについて

マウンターはプリント基板の所定位置に所定の部品を載せていく機械です。このことから、「どこに」「なにを」が必要だとわかると思います。この「どこに」が座標データ、「なにを」が部品表にあたります。

じゃあ、これだけでいいのかというとそうではなく、さまざまな情報が必要で、言い換えれば、マウンターのデータ(プログラム)は基板と部品に関するあらゆる情報のデータベースだともいえます。またマウンター用のデータに加工しやすいデータとそうでないデータがあります。実装メーカーにとって楽なデータとはどんなものかもあわせて説明させていただきます。

 

まず、座標データについて説明します。

ファイル形式についてですが、これはご存知ASCII(テキストファイル)でお願いします。テキストファイルはアプリケーションに依存しないため、非常に互換性が高く扱いも容易です。

最低限必要な情報は、X,Y,角度,リファレンス,実装面で、これらは必須です。(実装面ごとにファイルが分かれている場合は、ファイル内に実装面を表すフィールドは必要ありません。)

これらの情報をCSV等の可変長で出力するか、固定長でASCII出力してください。なお、DIP(挿入部品)が混ざる場合はSMDかIMDの区別もあると助かります。

 

データフォーマットはいろいろなフォーマットがありますが、大きく分けて2つの形式があります。ひとつはCSV等に代表される可変長、もうひとつは固定長と呼ばれるデータフォーマットです。

可変長は区切り文字(カンマやタブ)などで情報を区切ったデータで、わりとメジャーな出力形式です。

 

カンマ区切りの可変長例

D1,15,27.25,180

D2,28,27.25,180

D3,15,16,180

D4,28,16,180

D5,41,16,180

D6,15,5.75,180

D7,28,5.75,180

D8,41,5.75,180

 

これに対し固定長はその名のとおり、各フィールドが決められたバイト数(文字数)で出力されたデータです。

 

8バイトの固定長例

D1      15      27.25   180

D2      28      27.25   180

D3      15      16      180

D4      28      16      180

D5      41      16      180

D6      15      5.75    180

D7      28      5.75    180

D8      41      5.75    180

 

いずれの形式もフォーマットの説明(各フィールドの値の意味、可変長の場合は区切り文字)が必要になります。

 

フォーマット説明の例

フィールド データ内容

1      アイテム名

2      部品中心X

3      部品中心Y

4      部品角度

 

もらった座標データは、実装メーカーにもよりますが、たいていの場合一旦はEXCELで開かれることが多いようです。いきなりマウンターメーカーの変換ソフトにかけられることはほとんどなく、まずはEXCELで開いて確認されることが多いようです。

座標データには2つの表現があります。

図の例の座標でデータAとBを比べてください。1行目以外はまったく数値が違いますが、双方とも同じ位置を表しています。これはAがアブソリュートと呼ばれる絶対座標、Bがインクリメンタルといわれる相対座標で表現しているためです。

 アブソリュートはすべての座標値が原点からの距離を表しています。

これに対しインクリメンタルは各ポイントから次のポイントまでの相対的な距離を表現しています。

人間の感覚からいえば、インクリメンタルが分かりやすいのですが、最近はアブソリュートで出図されることがほとんどですが、たまにインクリメンタルを見かけるときもあります。インクリメンタルのときはその旨をきちんと記載したほうが無難です。また、インクリメンタルの場合はどうしても累積誤差が出てしまうので注意が必要です。

実際の座標データを開いて見ましょう。

 

D1 15 27.25 180

D2 28 27.25 180

D3 15 16 180

D4 28 16 180

D5 41 16 180

D6 15 5.75 180

D7 28 5.75 180

D8 41 5.75 180

D9 15 -4.5 180

D10 28 -4.5 180

D11 41 -4.5 180

D12 15 -14.75 180

D13 28 -14.75 180

D14 41 -14.75 180

D15 15 -25 180

D16 28 -25 180

D17 41 -25 180

 

座標のフィールドの左から回路記号(リファレンス)、X、Y、角度となっています。下図はその値でプロットしたものです。

なーんだ簡単じゃないか、と思った方ちょっと待ってください。座標の中にマイナスの値が含まれていることに注意してください。なぜマイナスか。これはCADで基板を設計するときに、原点を好きなところに設計者がおくことができるためです。

「原点位置なんてどこでもいいじゃないか。」

という方、その通りでどこでも構いません。しかし、その座標値だけで基板上のそれぞれのリファレンスがどこか正確に特定できるでしょうか。

そうなんです。原点位置が基板のどこかわからないと当然リファレンスの個々の位置も知ることはできません。そこで通常は基板端面から原点の距離を提出してもらっています。もちろん原点が基板コーナーなど簡単な場合はその指示をどこかに書いてもらえばそれで結構です。

実際のプリント基板は多面取りが多く使用されています。多面取りとは同一の複数の回路や異種の回路を、1シートのプリント基板に収めたもので、コストや作業性などのさまざまな理由からよく使われている設計方法です。

下図はその典型的なパターンで大まかに分類して3種類に分けられます。

同一基板の集合

異種の集合

異種集合の複数

たいていの多面取りの基板の座標データは個別に支給されます。実際の例で見てみましょう。上図の同一基板の集合基板座標をプロットしてみました。お分かりのように1回路分しかプロットされていませんね。ほかの回路をプロットするにはそれぞれのピッチ、個数(Xに何枚、Yに何枚)と角度が必要になります。

座標データで、各部品の位置が確定されますが、実際に座標というのは部品のどの部分を指しているのでしょうか。

実は座標データの部品定義は各CADのライブラリ登録で決められており、通常は部品の重心位置を部品中心として定義し、その位置をXYの座標データで表しています。ところが、以前のDIPの世界では1ピンを中心と定義しているところが多く、SMTになってもその流れを変えていないCADデータもごくたまに見受けます。私が経験した中では次の3種類

ごく稀ですが、部品のほとんどは中心定義が部品重心なのに、数種類の部品のみ1ピンの中心を部品中心としている座標データが見られることがあります。これは本当に困りもので、すべての部品が同じ定義でないと、実装したときにある部品は正確に実装しているのに、ある部品はずれいているということが起こります。このようなことを防ぐためにはCADのライブラリ登録は一定の法則にしたがって入力するべきです。

もしこのようなデータがある場合は図のようなライブラリの定義表が必要になります。

対象性の無い部品(コネクターなど)については中心定義は千差万別ですが、これまでの経験から下図の2種が多いようです。

これらの部品の座標はマウンターの中心定義と異なりますので、実際に実装してみないとその座標は特定できないことがほとんどです。ただ、リード先端を中心と定義している部品は注意が必要で、図のように基板から飛び出す場合があります。基板端面に配置されたコネクタでは、マウンターを破損しかねません。このような部品についても定義表を入手して、座標を補正する必要があります。

部品の向き(角度)はどのように決められるのでしょうか。実は前項で説明したように部品の属性の定義はCADのライブラリを登録する時点ですべて決められています。

したがって、横長を0°と登録すれば0°だし、縦長を0°と登録すれば横長方向は90°になります。

ではマウンターはどのように角度を決めているのでしょうか。実はマウンターでも最初の定義づけがあり、これにしたがって角度は決められています。一般的には角度定義はユーザーの自由ですが、一部のマウンターメーカーでは制限があるようです。

実際の座標データはCADの定義に従って出力されていますので、0°とか90°とか言われても実物の基板がないとマウンター定義の方向と一致しているかわかりません。では現物が無い場合はどうしているかというと、方向のわかる資料を提出してもらっています。最も多いのがシルク図ですが、最近は実装密度が上がり、シルクすら入れられない場合があるので、実装図(ロケーション図)などを提出してもらう場合もあります。


マウントプログラムはこの資料にしたがって1点ずつ角度を確認し、CADとマウンターで定義が異なる場合は修正し作成しています。また、ガーバーデータの説明でも出てきましたが、面視の確認もこの資料で同時に行います。

現物支給ができない場合や現物でもシルクの方向が確認できない場合などには必ず、部品の方向がわかる資料、実装図(ロケーション図)が必要になります。

マウントプログラムはこの資料にしたがって1点ずつ角度を確認し、CADとマウンターで定義が異なる場合は修正し作成しています。また、ガーバーデータの説明でも出てきましたが、面視の確認もこの資料で同時に行います。

現物支給ができない場合や現物でもシルクの方向が確認できない場合などには必ず、部品の方向がわかる資料、実装図(ロケーション図)が必要になります

一通り座標データについて説明しましたが、よく忘れがちなものに認識マークの座標があります。

認識マークはフィデューシャルマーク、ターゲットマーク、等とも呼ばれ、基板上の個々の実装ポイントを特定する上で絶対に必要なもので、これがないといくら実装ポイントの座標がわかってもマウンターを動かすことはできません。ところがこの認識マークの座標は結構忘れがちで、毎回のように要求を出してようやくもらっている状態です。忘れてしまう原因のひとつに外形寸法図に記載されている場合と、座標データに反映されている場合との2種類があり、出図側ではどちらかに入っているだろうと思ってしまうのではないかと推察しています。

出図側の方は、認識マークの座標は忘れずに提出してください。

座標データに含まれる例(N1,N2が認識マーク座標)

IC15 M51957BFP 13.9 -110.3 0 TOP

IC16 M51957BFP 21 -111.9 0 TOP

IC17 SN74LVC1 25 -114 0 TOP

L1 CDRH127 12.3 -29.5 180 TOP

L2 CDRH127 13 -54.5 90 TOP

N1 NIN1.00 -47.4 -6 0 TOP

N2 NIN1.00 47.4 -6 0 TOP

私の使用している座標確認ツールです。EXCEL上で動きます。

部品表について

部品表は個々の回路記号(リファレンス)に何の部品が載るかをあらわした表で、BOMとも呼ばれます。

BOMはBills of Materialの略称で、いわゆる部品表すべてを指します。実装屋さんはBoard on Materialとしゃれて言う人もいます。 (間違えて覚えないでください。)

この部品表には大きく分けて2つの目的があるといえます。ひとつはモノを組み立てるために使用するもの、もう一つはモノを買うために使用するものです。

実装工程に降りてくる部品表は本来モノを作るための部品表でなければならないのですが、この2つの目的が混同されてしまっている部品表がほとんどです。

ここでは、これまでもらった部品表の困った例を挙げながら、どんな部品表が現場にとって使いやすいかを説明します。

この部品表は部品ごとにリファレンスをまとめて表記しています。これは部品の使用数を求めるためにはわかりやすい形式です。

仮にA形式としましょう。

めったに見ませんが、このような形式もあります。

これはファレンスと部品が1対1になっています。こちらのほうが実装工程(モノを作る)としては分かりやすく、リファレンスの検索などに便利です。仮にB形式としましょう。

今までの経験では、Aの形式の部品表をもらうことがほとんどです。残念ながら実装現場としては非常に扱いにくい形式です。

ちょっと考えればわかりますが、Bの部品表から部品個数を数えるのは、ごく簡単にできます。ACCESSならクエリで集計すれば良いですし、EXCELならピボットテーブルにすれば簡単です。逆にAの形式から個々のリファレンスを拾うのは、大変骨が折れます。

しかし実装現場の皆さんはこの骨の折れる作業を毎回やっています。なんで簡単なほうを出図してくれないのでしょうか。おそらく部品表を出図する設計関係の方は、気を使って書式を整えてくれているのかもしれません。

私たち実装屋は部品表を印刷するということをしません。すべてコンピューター上で処理してしまいます。EXCELなどを使っている方ならよくわかると思いますが、ひとつのセルにひとつの情報であるほうが、検索や置換などの処理、文字列の入力など大変都合が良く、効率的に作業が進められます。

おそらくですが、部品購買部門でも部品表自体を印刷することなど稀ではないでしょうか。もし印刷したいならその目的に応じた印刷書式に整えるのは、下流部門の仕事と割り切ってよいと思います。また変更点などの情報がどうしても必要なら別ファイルとして書き出してください。ちなみに変更点は新旧のファイルを比較すれば簡単にわかりますので、実装現場には不要です。出図する側は余計な加工をしないで、そのまま下流に流すことをお勧めします。


なお、どうしても余計な編集をされた部品表しか入手できない場合は、こちらを利用してみるのもよいかもしれません。

部品表は各社でいろいろなフォーマットがあるため、本当にいろいろなトラブルに遭遇します。

よくありがちなな例を挙げます

  • 部品数とリファレンス(回路記号)が合わない。
  • リファレンス(回路記号)が重複している。
  • この2つはかなりの高確率で遭遇します。

次に厄介なのが訂正線(取り消し線)です。下図の例ではD405,D406,D407を実装しないという意味なのですが、情報として残ってしまっています。

実装屋はソフト上でほとんど処理を行うため、余分な情報が残っているとそれらを一つずつ手作業で消していかなくてはなりません。私たちはこのような情報をゴミと呼んでいます。よくあるのが、変更点をわざわざ部品表に表記しているものです。実装作業としては基板の上に載るもの以外の情報は必要ありません。もし変更点が必要なら変更前の情報すべてをもらえば、部品表同士を比較して勝手に拾います。訂正線ははっきり言って余計なお世話です。もしどうしても情報として伝えたいのなら、部品表の中に書くのではなく別のファイルにしてください。


次の例です。

区切り文字がスペース(空白)から突然カンマに変更されています。通常断りがなければ可変長ファイルの区切り文字は1種類です。複数使う場合は明確な指示が必要です。


次はわかりにくいと思いますが、最悪な例かもしれません。

D5 D401 D402 D403

ブラウザによって見え方が違うかもしれませんが、D403だけ2バイト(全角)文字が使用されています。人間は読めますが、ソフトウェアは異質なものと判断します。これをそのまま、座標データと紐付すると、

とこのように実装漏れの原因となります。

いろいろな困った例を紹介しましたが、基本的に言える事は不規則な表記や表現は処理ができない、ということです。区切り文字をスペースにしたり、カンマにしたり、1バイトと2バイトの文字を混ぜて使ってみたり、これらの不規則な入力が処理を滞らせている一因です。

また、作成者はなぜか印刷の見栄えを気にするようですが、印刷することは一切考えないでください。印刷が必要な人は部品表をもらった各自がフォーマットを整え印刷すればいいことです。なお、これは私の印象なのですが、たいていの部品表は、物を買うためにあり、物を作るための情報はまったく考慮されていない感じです。本来ですと、最初に説明した部品とリファレンスが1対1の形式の部品表を各部署が好きなようにクエリーを組んで活用するのが理想だと思います。

しかし、残念ながらシステムとして出来上がっていてフォーマット変更が聞かない、顧客に要求できないというのも事実です。私が経験したワーストの部品表を下図に示します。

仕方がないので自衛手段として、部品表の誤りを解析するソフトを購入しました。これのおかげでかなり楽になりましたし、このソフトは部品とリファレンス(回路記号)を1対1で並べなおしてくれますので、後の座標との組み合わせ作業が大変スムーズにできるようになりました。


めったにはないのですが、信じられないことにいまだに紙ベースでしか、情報をくれない会社があります。

先日、ある協力工場さんにお邪魔した時、ある相談をされました。

その会社では、試作専門に実装の仕事を請け負っているのですが、一番取引のあるお客さんの部品表が紙でしかくれないそうです。(なぜか座標データはテキストファイルでくれるらしい)何度か電子ファイルでの出力をお願いしたようですが、聞き入れてもらえなかったそうです。この時代に、と担当者さんは嘆いていました。

現在どうしているのかと聞くと、

「必死に打ち込んでいます。」

ということでした。そこで私がお勧めしたのはスキャナーとOCRソフトです。OCRソフトとは、画像から文字を読み取りテキストに変換してくれる便利なソフトです。

Office2003までは、てMicrosoft Office Document Imagingが標準でついてきたのですが、Office2010で削除されてしまいました。使用する場合はダウンロードする必要があります。

http://support.microsoft.com/kb/982760


私が手持ちで持っているのが、富士通のScanSnapです。これを買うとOCRがもれなくついてきて、PDFの埋め込みができます。そのスキャン結果と変換結果はこちら。(テキストが埋め込まれています。)

scan_bom.pdf
スキャナーで読んだBOMをOCR認識してPDFに埋め込んだもの
scan_bom.pdf
PDFファイル 61.6 KB

変換するときに、日本語か、英数字のみかを選択できるので、英数字のみにすると文字認識率が上がります。

ところどころ間違ってはいますが、全部打つよりマシです。こちらのご案内には大変喜んでいただけましたが、その後の作業も問題があったようです。

紙でもらう部品表を打ち込んだ(打ち込みはEXCELです。)後、テキストファイルの座標データとくっつける作業を一つずつ、マニュアルで探しながらコピ&ペーストを繰り返していました。毎回この作業に数時間費やしているらしく、また作業ミスも多発して大変だと言っていましたが、EXCLEに検索関数があることを知らなかったようです。

そういえば、弊社の管理部門でも、パソコンにやらせれば一瞬で終わるような作業を1日かけてやっている人もいます。パソコンを使う恩恵にあずかれていない人も少なからずいるようです。

ほとんど必要ないとは思いますが、念のためVLOOKUP関数と、MATCH関数の例を挙げておきます。もし手作業を繰り返している人は、これを参考にしてください。

検索関数例
EXCEL検索関数
検索関数例.xlsx
Microsoft Excel 9.4 KB