モジュール作成方法2


【モジュール作成手順】

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ソースコードは、下図のモジュールの例となっています。







           目次ページへ