【モジュール作成手順】
Module Creation Language(MCL)によって、WinBoardの自分専用ライ
ブラリに、Module(モジュール)を追加するには、下記手順で行います。
(1) ソースコードを作成する
↓ ↑(両方向が可能)
(2) コンパイルしてライブラリファイルを生成する
このように、専用言語でライブラリを作成するのは、一度に多くのモジュール
を含んだライブラリを作成するのに便利な方法です。
【言語仕様】
MCLのソースコードは単純なテキストファイルですので、テキストエディタ
なら何でも使えます。
(1) ソースコードの形式
フォーマットは至って簡単で、全て下記1種類だけのフォーマットです。
//comment
Command parameter
(2)座標の扱い
MCL内での全体座標は下記のようになっています。
(0,0)________________________________
| +X
|
|
|
+Y
しかし、モジュール定義の中では、基準点(Book Mark)を(0,0)とした
相対座標で表現しています。
従って、下記のような座標になります。
(3) ソースコードの全体の形式
ソースコードは下記のフォーマットで構成される。
PAD STACK−−− 最初に定義
|
BEGIN
NAME −−−
PAD DEF −−− 必要数繰り返し
|
PAD STEP −−− 必要数繰り返し
|
OUTLINE −−− 必要な描画分繰り返し
|
TEXT −−− 必要数繰り返し
|
END
【 Commandの種類と機能】
MCLで使えるCommandは下記12種類のみで、簡単な命令です。
Command
機 能
備 考
UNITS 扱う単位の設定、下記3種類
MIL、MM、MICRON標準はMIL PAD STACK 使用するPadの指定で、後の
PAD DEFかPAD STEPで使うものを定義BEGIN モジュールソースコードの開始 parameter無し NAME モジュール名称でライブラリ登録名 PAD DEF Padを配置する。Padには名称が付く PAD STEP 直前のPadからの相対位置に、同じ形状のPadを配置 OUTLINE 外形図の描画。
LINE、BOX、CIRCLE、ARCの4種TEXT テキストの配置
PART_REFとPART_VALも含むGRIP 自動実装機の固定位置指定 ADHESIVE 表面実装のDOT(ランド)の配置 MOUNTING 取りつけ穴の配置 END ソースコードの終了 parameter無し
(1) UNITS
単位の設定
UNITS MIL mil(=0.0254mm)単位に設定 (標準)
UNITS MM mm単位に設定
UNITS MICRON ミクロン(1/1000mm)単位に設定
(2) PAD STACK
Pad Stackを生成する命令
PAD STACK stack_name drill {
shape,orientation,xdim,ydim,
xoffset,yoffset,[layer,layer,...layer]
}
・stack_name :Pad Stackに登録されているPadの名称指定
・drill :ドリル穴径サイズ指定
・shape :Padの形状指定 OVAL(楕円)かRECT(四角)
・orientation :傾斜角度の指定 通常0度
・xdim、ydim :shapeのサイズ指定
・xoffset、yoffset :shapeの中心のずれ指定(通常は0)
・layer :適用する層の指定 スルーホールの時は
T(Top)、I(Internal)、B(Bottom)の3種類。
表面実装の時は、C、Pの2種類
例
PAD STACK O_55_25 25{
OVAL, 0, 55, 55, 0, 0, [T, I, B]
}
(3) NAME
モジュールの名前指定で、ライブラリへの登録名となる。
回路図やネットリストと同じ名前を付けるようにする。
14文字以内の英数字で作成
例 NAME 14DIP300
NAME TO-5
(4) PAD DEF
Padを配置するための命令
PAD DEF, x,y,orientation,stack_name,"padname"
・x, y, :Padを配置する(x,y)座標で基準点からの相対値で表す
・orientation :Padの傾き指定(通常は0度)
・stack_name :Padの形状指定
・"padname" :ピンの名称指定文字
例
PAD DEF, 100,0,0,o_55_25,"2"
(5) PAD STEP
Padを直前の位置からの相対位置で指定する。Padの形状は
直前の指定を引き継ぐ。
PAD STEP, direction sign distance,"padname"
・direction :X方向かY方向
・sign :+なら右か下 −なら左か上
・distance :距離
・padname :ピン名称
例
PAD STEP, X+100,"3"
PAD STEP, Y-300,"8"
(6) OUTLINE
外形図を描画するための命令で、4種類の形式がある。
OUTLINE LINE, x1,y1,x2,y2,layer
(x1,y1)と(x2,y2)を結ぶ直線
OUTLINE BOX, x1,y1,x2,y2,layer
(x1,y1)と(x2,y2)を対角とする四角形
OUTLINE CIRCLE, x1,y1,radius,layer
(x1,y1)を中心とする半径radiusの円
OUTLINE ARC, x1,y1,radius,arc_type,layer
(x1,y1)を中心とする半径radiusの90度の円弧
・x1,y1,x2,y2 :基準点(通常は1ピン)からの相対値で表す
・layer :描く層を指定 SOLDER、COMP、BOTHの3種
標準はCOMP(部品面)
・arc_type :下記の8種類 各番号で指定 各90度の円弧
例
OUTLINE CIRCLE, 50,0,200,SOLDER
OUTLINE ARC, 0,0,2.3,1,COMP
(7) TEXT
テキスト文を配置する。
TEXT, x,y,orientation,chr_w,chr_h,value,layer
・x,y :テキストの中央の座標指定で基準点からの相対値
・orientation :傾き角度指定(0度か -90度)
・chr_w :文字幅
・chr_h :文字高さ
・value :変数か文字列
変数にはVAL(品名などが代入される)と
REF(部品記号が代入される)の2種類あるのみ。
文字列の時は、" "で囲むこと
例
TEXT, 125,-20,0,25,50,REF
TEXT, -75,430,270,25,50,"COMMON"
(8) GRIP
自動機械の固定位置指定
GRIP, x、y
(9) ADHESIVE
表面実装タイプのDOTの配置命令
ADHESIVE shape,x,y,dimension_w,dimension_h
・shape :adhesive dotの形状指定 RECT(四角)かDOT(点)
・dimension_w :shape(RECT)の幅または、DOTの直径
・dimension_h :shape(RECT)の高さ
例
ADHESIVE RECT,0,0,25,100
ADHESIVE DOT,0,0,50
(10) MOUNTING
取り付け用の穴の配置命令
MOUNTING style,x,y,drill_diameter,plate_diameter
・style :穴の形状指定。下記3種類
SQUARE(四角穴) ROUND(丸穴)
EMPTY(逃げ無し丸穴)
・plate_diameter :穴逃げの直径
(11) BEGINとEND
ソースコードの始まりと終わりを示す。parameterは無い。
【コンパイルと逆コンパイル】
コンパイルは、上記ソースコードからライブラリファイルを作成し、
逆コンパイルは既存のライブラリファイルからソースコードを作成する。
前ページで作成した「test.lib」を逆コンパイルしてみましょう。
De-Compileのプログラムを起動すると、下図のように表示されて、
逆コンパイルは一瞬で完了します。
そして生成された「test.mod」ファイルは下記のようになっています。
Units Mil
Pad Stack testpad 28 {
Oval 0.0, 50, 80, 0, 0, [T, B]
}
Begin
Name testpart
Outline Line, 0, -250, 700, -250
Outline Line, 700, -250, 700, -50
Outline Line, 700, -50, 0, -50
Outline Line, 0, -50, 0, -100
Outline Line, 0, -250, 0, -200
Outline Arc, 0, -150, 50, 1
Outline Arc, 0, -150, 50, 6
Pad Def 0, 0, 0.0, testpad, "1"
Pad Step X+100, "2"
Pad Step X+100, "3"
Pad Step X+100, "4"
Pad Step X+100, "5"
Pad Step X+100, "6"
Pad Step X+100, "7"
Pad Step X+100, "8"
Pad Step Y-300, "9"
Pad Step X-100, "10"
Pad Step X-100, "11"
Pad Step X-100, "12"
Pad Step X-100, "13"
Pad Step X-100, "14"
Pad Step X-100, "15"
Pad Step X-100, "16"
Grip 0, 0
Text 430, -150, 0.0, 60, 80, VAL
Text 180, 50, -90.0, 60, 80, REF
End
上記MCLソースファイルでは、OUTLINEコマンドが先に並んでいます。
また上記MCLソースコードは、下図のモジュールの例となっています。