找回密码
 注册
关于网站域名变更的通知
查看: 414|回复: 1
打印 上一主题 下一主题

CAM工序自动化

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-23 14:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
虽然CAM系统在PCB业界中不断增加,但是为甚么还有很多厂商不愿意把工序自动化呢?
, l6 N! i* O1 r7 b$ e4 _有些相信他们现有的CAM软件已可达到要求、并不需要自动化。其它的则缺乏重点,无法界5 f& H" x$ F6 H, ^0 k$ T' j0 I; h
定甚么工序需要自动化,或者无法产生他们所需要的自动化软件。
       无可置疑,一些走在前端的厂商已正在享受工序自动化带来的极大的好处,包括提升产能、增进数据质量和缩短培训时间。
       第一个问题要问的是:为甚么需要自动化?为甚么CAM系统就不能配备所有所需的自动化功能,而我只需要按正确的键钮来达到自动化?要答复这些问题是很容易的。世上没有一个人
7 f- B$ a; L4 H4 Z是用同一样的方法来做同一件事的。每一个厂商都用很不同的方法来使用CAM系统。举个例/ r& N! x6 r7 J% S3 J
子:在排板的时候,每一个厂商都用很不同的符号、靶标、字符等,放在不同的板边位置。
7 ]! B( d* Y: |3 E. ~1 h( S这就是为甚么CAM系统只能提供基本的功能,让用户加入这些数据而没有自动化的功能。
( h  ?- d# X8 A7 N1 h6 JCAM工序自动化所带来的好处
: q/ l! T8 y; Q/ L$ _+ \* h     • 提升产量:无论有多少层的排板,自动化可以把一小时的排板时间缩短到三分钟。$ ]( p/ I0 a* l- z0 Q9 v9 x* O, ?& m
     • 资料质量:所有数据都用同一种方法来处理。$ c' ^! L, k5 o
     • 操作者的培训:当大部分的工序已经自动化时,培训一个新的操作人员是一件很容易的事
# p9 i6 M' P0 ^情。工作流程和工序都已在软件内定义好,操作人员只要作出几项决定便可完成复杂的工
! H$ K% r) b' V5 U2 U/ a# ]序。
       一个好的自动化需要甚么样的条件呢?明显的,如果CAM系统提供script 功能的话,我们便# c2 M5 C8 t: C8 C
能完成基本的自动化。自动化可以达到甚么样的程度,完全依赖CAM数据库内所能储存的资7 f0 V8 p1 e1 k0 Y" }: L4 R
料质和量。例如要写出把某个钻孔层内的资料分为导通孔和非导通孔的话,只要数据库内已
* @& N5 B: ?" z( e% L能把导通孔和非导通孔分类,这就变成易如反掌。只要把script 写成为把所有导通孔从该钻孔. k; Y# _8 O( R$ X
层拷贝到新的导通孔层便可。这步骤可以重复用在产生非导通孔层上。
        一个好的CAM系统可以让用户为钻孔和其它数据定义成不同的参数,好像孔径、坐标等。它更可根据不同的客户名称、操作人员或时限来区分不同的料号。这些都是一个好的自动化程% y$ I" T# r* p! N. Q% I
式必备的数据,自动化程序员可很容易从数据库内得到正确的数据。
        Script是怎样工作的?
        最容易的方法是用line-mode 指令;文字形式的指令已能代替CAM 系统内每一个鼠标的动+ W" h% V" q" t# [
作。 如要打开一个料号的话,可用COM open_job,job=12022 便成。第一部分内的 “COM
; f# f) ]1 z! c6 X) [$ O" y+ Bopen_job” 告诉系统要怎么做(在这例子代表打开料号) 。第二部分内的告诉系统要处理甚么资5 Q1 F& N5 a  x+ i; j0 x* t
(在这例子代表料号名称为12022) 。同样的道理,如要在坐标 (4.6; 4.4) 加上100mils 的圆7 s% X7 M, M* r7 b& m1 o
盘,可用指令:COMadd_pad,x=4.6,y=4.4,symbol=r100,polarity=positive 来实现。为了帮助自
/ Y/ U# \. e6 S& E动化程序员从几千个CAM系统所提供的指令中找出所需的功能,指令记录功能可记录所有执& M! u  I% Z* |2 d; ~" k: K
行过的动作,继而把它们变成line-mode 格式,程序员就可以运用把它们 化为自动化的内容。
. u7 k  ^9 O; v4 i; U# S        图一、Genesis指令记录器
3 ~# x. C: j  d4 Y        现在你已有指令可以在script 内执行。这个script 只有对这一个特定的料号有效;这时,你需要产生一个在每一个料号都可以用的script
/ I  x3 [) D5 s& A: U2 H        这就是script语言产生的原因。你需要建立一些变量、做一些计算、写一些if-then-else 的句子; 还有产生一些循环、目录、列阵种种。举一个简单的用C-Shell script 语言写的例子,可; r2 e( t+ J+ a
让大家了解一下:5 Q+ T0 n0 }# r( d1 R3 B8 x: E5 |! O
        图二中的程序可从数据库读进排板大小,然后在每一层的左下角和右上角距离0.5mil 板边的地方放一个100mil 的圆盘。
- I: w6 l5 M+ u- [6 a1 w5 ~5 |DO_INFO -t step -e $JOB/$STEP ## 从数据库中读取有用的数据  . o  T7 U& E" M# G' B  |
MATH x1 = $gPROF_LIMITSxmin + 0.5 #### 计算X Y 坐标  3 m- q5 d8 X' t( k( a
MATH y1 = $gPROF_LIMITSymin + 0.5 #### Xmin Ymin 加上0.5   
5 ?: g) w/ I/ g+ S; }7 |8 u, g3 zMATH x2 = $gPROF_LIMITSxmax - 0.5 #### Xmax Ymax 减去0.5   
5 ~5 a! X" O( M9 N; Y2 t& AMATH y2 = $gPROF_LIMITSymax - 0.5 #### 结果存在x1, y1, x2 y2 变数中  
  o( _" E3 l8 `. P% x- V) m. Q# b5 i* n### 显示每一层和在已计算的坐标上  " p0 r- I. I. J& e( y
### 加上100 mils 的圆盘  
2 o7 r5 e+ ]' J+ E) Y/ Dforeach layer ($gLAYERS_LIST)   
3 T; Z( C: l  R/ A3 I$ LCOM display_layer,name=$layer,display=yes,number=1   ; f0 O7 |* V3 d, D0 e
COM work_layer,name=$layer   
* ^# C, r4 Q0 m9 b( V8 l* ~1 rCOM add_pad,x=$x1,y=$y1,symbol=r100,polarity=positive   
! y9 G, t2 ~2 i! _COM add_pad,x=$x2,y=$y2,symbol=r100,polarity=positive   
, G+ ^7 d/ r' B# Zend   
6 t- H( @; m6 N7 v" x; V' a图二:C-shell Script 例子  0 M4 U  u* z  \! q
该用哪个script 语言?
1 [* t  J- @2 H9 \; w你可以用任何一种程序语言来作为script 语言。但最被普遍接受的是通译程序而不是需要被编
: o; ]: z' Z# z$ \( @译的程序。通译程序可直接被执行;但是编译程序(CC++Java ) 必须在被执行前先被翻译(编译)成机器语言。它们比较难学,没有line-mode 编辑器,故此是一种难以引起大家 兴
5 M" n9 \% M% {  v! D+ P& s( B趣的script 语言。* [+ G) U- O5 d$ P) A
市场上你可以考虑用不同的script 语言:C-shell,Tcl/Tk, Perl Python (还有很多其它的语% u1 }% J3 h9 P
言 ,在此不作探讨)C-Shell 是被公认为最容易学的语言。它拥有非常简单而有限的指令,+ L: U3 q( \3 T) C( V8 I8 Z3 X
足够 让你可以写出大部分的自动化程序。偶尔你需要其它的小工具awk sed 来帮忙,但整
; X8 _% N# z& {: p; ^7 _, ?# ^6 e. r! X体来说,C-Shell 的标准工具已能符合一般要求。你更可以用Genesis的表格功能和内含的& B; L" m6 F$ M! p; ~9 j
GUI来设 计用户接口。
. o3 O2 D! v% T8 {其它的程序语言,好像Perl, Python Tcl/Tk,具备更强大的功能,每一个都提供类似的工. y6 S7 X# s9 q6 o
具 和能力。我可以再写十页来比较它们的优缺点,但这只会令我们迷路;在CAM自动化程, D: V% x; D1 T. {& j5 w
式语言中,它们都是大同小异。这三种语言提供比较好的工具:好像列阵和子程序、还可产, v' W5 p6 t0 u8 g
生用户接口,让用户预先输入参数和选择 (请参考图三)
8 h$ A, }0 g3 L. p3 ?  ^) R% A& @* E' l, d+ e! F" ~
甚么工作可被自动化?5 K7 ?  `* o1 Z3 \& p: X: O! F9 n
理论上,你可以把CAM从输入到输出的每一步都可以自动化,问题是当中需要考虑的事情实
0 N$ n& P& v' j+ p在太多。制程常常在被改变、输入数据变化无常、更甚者常常会有特殊情况出现,而这一切6 O# N! q, @' A' f. B3 L
都末在当初写程序时考虑到的。9 z& h* A  ^: J' S1 {  M; A, e8 V' ~
第一步最容易自动化的是重复的工序,它们可被定义成流程图,配上固定的步骤和怎样执行
% d& w1 p8 W; Q$ R每一步便可。典型的步骤包括:6 T" z% x# X( R
生成排板
1 J* F$ d+ H1 o4 D计算铜面积* L; g2 P( N( C5 \: y( F+ Z: x; S0 n
产生覆盖层/ i+ i, E. ~5 o5 d
层内分析 (为报价或量产)( H/ `' p6 D& o* H) d
• PCB编辑4 F" {- w3 T% W5 k8 Y: Q! Z
网络比较2 y' r+ z/ C# d8 X, v( g1 U
输出至不同格式
' o4 K$ |) C9 }5 Y, J1 Q数据库管理及其它
为了简化程序,你可以从CAM流程中的单一的script 开始。然后把每一个小script 连系在. ]; j- R3 ]" @- K, f7 b
workflow上,CAM 工程师只需按正确的次序执行便可。你更可以防止他们在错误的时候按错5 T: [) c; P8 n7 q' j( {* S7 @* C" U
误的键。就算有些工序需要手动处理,script 也可以预先打开正确画面及显示相关层的数据。
! Z& s: @" s0 d4 S当手动处理完成后,script 只需要跑一个检查程序去确认手动处理没有造成新的设计和网络问
& f. U# L1 T% b$ M( Q* ~$ J5 {题。3 S/ y6 T) C5 H' J8 l- P
以下例子(图四) 是典型的CAM料号输入流程。左边的按钮是操作人员必须执行的动作,这动
$ @* ^/ b' G* R3 T) b/ E作被连系到script 去执行所需的介入或非介入工序。当完成工序后,该按钮的底盘颜色会改4 K- G' F5 m, k
变,操作人员的数据和执行时间都被自动记录在案。你可以用Genesis workform来设计用
9 ]( J; u" n, l户接口或沿用Tcl/Tk 的接口设计工具亦可。; C0 S6 b; E. ]6 k  X

( g, ^* n6 x) ?* i: `, K图四:输入流程例子# p5 @& ~4 E/ w7 x! {" I
挂接程序8 N3 N) x$ ?- ?3 |2 d
Script 可连系到每一个被执行的指令,这些小script 名为挂接程序。它们可被特殊指令激活
& H' c1 J/ f! U6 P(好像:打开料号、加图盘或储存料号等) ,这些挂接程序可改变指令的行为。例如我们可以
2 Q6 ?8 p& [& g/ p, l% s把一个要求操作员输入密码的script 挂在打开料号指令上,这就可以控制操作员在打开料号时
0 t: }* \3 ~! l* O6 J% U! A的权限。
$ w5 p9 g" F& ?另举一例:一个跑网络检查的小script 可以挂接在储存料号指令上,这便可保障该料号在储存
# _& h/ O2 D9 ]) q# {- M( R前网络是正确的。如果网络出现偏差,系统会拒绝储存指令,要求操作员去检查网络。5 [4 r* v% j% ]7 g, r7 Q' ~
总结4 j! O! p  t3 z# V% W5 L7 U& D, Y
很多PCB制造商已经成功的完成了绝大部份CAM制程的自动化。每一天,他们还是继续投
8 K: S7 T% z" L. Q! |3 C3 C资在自动化上。在程序人员的培训和自动化维护的投资,都已回报在显著增加的生产量,继# o7 c  t0 s6 M+ V
而引发出更好、更快、更精确的CAM制程和产品。
) A4 M" _5 e6 g7 u5 B# y7 H( D
  • TA的每日心情

    2019-11-19 15:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-3-23 18:20 | 只看该作者
    虽然CAM系统在PCB业界中不断增加,但是为甚么还有很多厂商不愿意把工序自动化呢? 有些相信他们现有的CAM软件已可达到要求、并不需要自动化。其它的则缺乏重点,无法界 定甚么工序需要自动化,或者无法产生他们所需要的自动化软件。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-28 02:47 , Processed in 0.078125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表