您的当前位置:首页正文

GENESIS脚本培训

2021-08-21 来源:钮旅网
2011.06.14深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

本章内容主要介绍genesis自动化程序编写运行环境:首先对genesis2000软件进行简单的介绍;而后介绍genesis2000自动化程序的开发方式和开发语言;最后介绍自动化程序在软件中的接口。

1.1、 genesis2000软件简介:

Genesis2000软件是由Orbotech与Valor的合资公司—Frontline公司开发的CAM系统,其目的是为实工程现制前自动化,为CAM处理提供最佳解决方案,由于该软件拥有很强大的功能,很多PCB生产公司都已使用它为CAM制前服务,笔者认为该软件有以下几方面的优点:

1) 令人喜欢的操作界面

genesis2000软件界面设计人性化,操作简单,易学。 2) 用ODB++格式,使用ODB++格式有以下三个优点:

(1):使设计和制造之间数据交换最优化。 (2):目前唯一性的可扩充的结构。 (3):更精确的数据描述。 3)强大的操作辅助指令

genesis2000软件的操作辅助指令可以简化很多复杂的工作,很简单的操作就可以达到我们想要的目的。

4) 大的分析和优化功能

genesis2000软件的Analysis和DFM功能在精密度要求越来越高的PCB行业显得极为重要,它自动进行精密的分析和优化,而用手动操作根本不可能实现。 5) 自动化程序开发

genesis2000软件的自动化程序可以让我们任何有规律的操作,有迹可寻的设定变成自动化,大大节省制作时间和减少人为误操作。 6) 不断的围绕用户升级

genesis2000软件不断围绕用户的需求进行开发新的实用的功能,笔者在使用的几年间,genesis2000开发了很多新的功能。

1.2:genesis2000软件自动化程序开发方式和语言:

1.2.1genesis2000软件自动化程序的编写方式可分为以下三种:

1)scripts 2)hooks

3)forms and flows

1.2.2genesis2000软件自动化程序编写语言

genesis2000软件自动化程序编写语言可以用多种语言进行实现:如SH、CSH、BSH、KSH、TCL/TK、PERL/TK,等等,本书主要介绍CSH,和PERL/TK两种比较常用的编写语言。

1.3:genesis2000自动化程序的接口:

1.3.1:scripts程序接口: 1.3.1.1:scripts存放目录:

当我们安装完genesis后,无论您使用的是什么系统,都会存在genesis/sys/scripts这个路径,编写好的Sripts我们一般放在/gnesis/sys/scripts的目录下,这是genesis2000软件专门提供存放scripts的地方,使用者也可以根据自己爱好存放在其它的地方,但建议存放在该目录下,操作起来比较方便。

1.3.1.2:scripts菜单:

当我们进入genesis2000软件后,可以在任何一个界面找到file->script菜单,点击会在右边出现6

个scripts的子菜单,其功能在下面进行详细解释,其界面如下图1.1所示:

共10 页第1页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

图1.1

(1):script record—>程序录制:其功能为将我们操作的动作一一记录下来。因我们在编写的大部

分自动化程序时,需要写入很多的操作指令,这样不仅需要我们对每个操作指令的规则都很了解,而且容易造成输入错误,编写程序就显得很麻烦;而程序录制可以让我们不必再手动输入这些指令,只需要运用程序录制功能,将我们操作的动作一一记录下来,保存为一个文件,然后对这个文件进行改动即可。打开record菜单会出现如下图1.2所示界面

图1.2

其各个按键功能如下(图中序号和下面序号请对照阅读): (1):记录程序指令的窗口。 (2):record:点击后程序开始录制。 (3):stop:停止录制。 (4):play:运行录制的程序。 (5):保存程序的目录和程序名。 (6):save:保存录制指令。 (7):pause:暂停录制程序。

共10 页第2页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

在按下录制后,我们的任何在genesis2000软件里面的操作动作都会被记录下来,下面我们录制

一个简单的程序。操作步骤如下:

(a):进入genesis2000软件,并进入图形编辑界面。 (b):打开程序录制界面,点击record开始录制。

(c):将层COMP设置为工作层,(如无COMP层请添加一个名为COMP的层)。 (d):在COMP层中的X坐标为5,Y坐标为5的位置加一个直径为5mm的圆 pad,此时我们将会看到在操作记录窗口中有“COM display_layer,name=comp,

display=yes,number=1,COM work_layer,name=comp COM add_pad, attributes=no x=5,y=5,symbol=r5000……”等语句。

(e):点击stop,停止录制

(f):在script栏输入addpad,然后点击“save”按钮,此时我们可以在/genesis/sys/scripts目录

下看到一个名为addpad的文件,可以用vi打开查看内容。

(g):点击paly,我们可以看到其运行结果如下,首先显示COMP层,然后将COMP层设置为

工作层,最后在COMP层的5,5位置加一个直径为5mm的圆PAD。

(2):scripts—>run:运行程序:其功能是将我们编写好的程序在genesis2000中执行。 其打开的界面和功能如下图1.3所示:

其各个按键功能如下(图中序号和下面序号请对照阅读): (1):ok:运行程序并关闭窗口。

(2):apply:运行程序但不关闭运行窗口。 (3):Close:关闭运行程序窗口。 (4):程序运行结果返回窗口。

(5):显示当前运行程序的JOB名称和STEP名称。 (6):设置程序运行参数。 (7):当前正在运行的程序名。 (8):运行程序的目录。

(9):如设置为Local则路径栏路径自动变为:$user/.genesis/scripts,(其中$user为用户目录,如

共10 页第3页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

/home/genesis。如果设置为Global,则路径栏自动变为/genesis/sys/scripts。

下面我们用addpad程序进行运行演示,其操作步骤如下: (a):进入genesis2000软件,并进入图形编辑界面。 (b):打开程序运行界面。

(c):在scripts栏输入addpad或者双击打开选择窗口进行选择addpad (d):左键点击“apply”,开始运行程序。

(e):点击paly,我们可以看到其运行结果如下,首先显示COMP层,然后将COMP层设

置为工作层,最后在COMP层的5,5位置加一个直径为5mm的圆PAD。

(f):同时在程序运行结果返回窗口,将显示:“display_layer,name=comp

,display=yes,number=1,work_layer,name=comp,add_pad,attributes=no,x=5,y=5, ……” 其中最后一句,如果显示为“scrips /genesis/sys/scripts/

addpad ended OK,则为该程序运行完全正确。如果显示其它信息则有可能程序某个地方有错误,需要进行修正,我们可用程序除错器进行检测是那些语句错误。

(3):scripts—>debug:程序除错器:如果某个程序运行有问题,利用该功能进行

测程序那些语句有错误。其打开的界面如下图1.4所示:

其各个按键功能如下(图中序号和下面序号请对照阅读): (1):执行指针,表示正在运行那一行。

(2):程序运行中断点,可用中键设置,以区分问题段。 (3):运行下一行程序,且可切入子程序进行逐行试验。 (4):运行下一行程序。 (5):执行程序到第一个中断点。 (6):继续执行程序到下一个中断点。

共10 页第4页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

(7):显示()中变数的值。 (8):不执行该行,将指针下移一行。

(9):程序运行结果返回窗口,且返回指令执行结果是否正确。 (10);显示()运行结果。

(11):切入子程序后自动执行完该子程序,并移动主程序指针到下一行。 (12):程序指令执行动作显示窗口。 (13):表示程序运行在第几行。

(14):可将变数放在里面,或语句放在里面,利用print()或Eval()返回结果。 (15):设置程序运行参数。 (16):程序除错器菜单。 其各个菜单功能如下:

(1):File→Debug script—>载入一个程序。

(2):File→Edit script→打开文字编辑器,编辑载入的程序。 (3):File→Update Script→当我们修改程序后更新程序。 (4):File→Close→关闭程序除错器。

(5):Edit→goto line→直接跳到程序任何一行。 (6):Edit→search→查找程序中某一个单词或语句。 (7):Execution→Kill→结束正运行的程序。 (8):Execution→Show Breakpoints→显示程序的断点 (9):Execution→Delete All Breakpoints→删除所有的断点 (10):Execution→Break at()设置断点

下面我们还用addpad进行演示,请首先用文字编辑器将addpad程序中,y=5,删除。然后按下面

步骤进行操作:

(a):进入genesis2000软件,并进入图形编辑界面。 (b):打开程序除错器界面。

(c):用File→Debug script菜单载入addpad程序。 (d):在第一句话处设置一个断点。

(e):点击run开始运行程序,我们可以看见程序在第一句运行完后就停止了。

(f):点击next继续运行下一条程序;当运行到添加Pad语句时,出现错误,然后我们查

看则为语句中没有y 坐标的值。

大家可以按照上述的方法去设置各种问题,然后用程序除错器来进行试验,大家一定要掌握好程序

出错器,为以后编写程序调试打下良好的基础。

(4):scripts→History:指令运行记录:

该功能和录制功能有着相同之处,但是该功能首先我们要将scr_history configuration设置为yes,然

后我们不需要打开指令录制功能,而所有的操作动作也将被记录,当我们打开scripts→History菜单时,所有我们进入genesis2000软件后的操作都被显示在history viewer中,如图1.5所示:

共10 页第5页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

其各个按键功能如下(图中序号和下面序号请对照阅读):

(1):如设置为Local则路径栏路径自动变为:$user/.genesis/scripts,(其中$user为用户目录,如

/home/genesis。如果设置为Global,则路径栏自动变为/genesis/sys/scripts。

(2):refresh:为刷新指令运行记录。 (3):save:保存记录。 (4):run:运行记录。 (5):close:关闭窗口。

(6):scripts:保存记录程序名称,如addpad。 (7):directory:保存程序目录,如/genesis/sys/scripts。

(8):指令运行记录显示窗口,将所有操作的指令都记录在该窗口中,记录起始时间是我们本次进入genesis开始。

(5):scripts→binding:设置程序运行快捷键:

我们编写好的程序如果每次通过script→Run菜单去运行,会显得很麻烦,而scripts→binding功能

将一个程序设置绑定一个相应的快捷键,然后我们只需要在键盘上按下快捷键则该程序就会开始运行,(其可设定的快捷键从F2—F12、Ctrl+F2—Ctrl+F12、Shift+F2—Shift+F12、Ctrl+shift+F2—Ctrl+shift+F12)、其打开的界面如下图所示:

共10 页第6页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

其各个按键功能如下(图中序号和下面序号请对照阅读): (1):已绑定的快捷键显示窗口。 (2):双击打开要设置的快捷键。

(3):如果选择Local则路径栏路径自动变为:$user/.genesis/scripts,(其中$user为用户目录,如

/home/genesis),如果为Global,则路径栏自动变为/genesis/sys/scripts。

(4):要绑定的程序的目录。 (5):要绑定的程序名。

(6):添加一个快捷键设定,此快捷键要保证以前没有设定过,否则不能执行add,而执行change。 (7):改变一个快捷键设定,此功能为将以前如F2绑定的程序更改为新的某个程序。 (8):删除一个快捷设定。

(9):将更改或新增加的快捷键保存。

下面我们将addpad程序设定为F5进行演示,其步骤如下: (1):进入genesis2000软件,并进入图形编辑界面。 (2):打开程序绑定功能。

(3):在script栏位输入addpad,并在key symbol处选择F5。

(4):点击ADD(如果程序绑定窗口中已经有F5的设定,则点击Change),然后点击Save。 (5):关闭绑定窗口,并按F5键,看我们的图形编辑器中COMP层是否增加了一个PAD,如果

有增加,则说明我们的设置成功。

(6):以后我们进入genesis2000,只要按F5键则会运行addpad程序。 (6):scripts→Continue:暂停程序继续运行:

当我们将某个程序暂停后,我们可以运用该功能让程序继续运行。

1.3.2:hooks程序运行接口: hooks中的程序分为两个部分:

一部文件是genesis2000软件安装好后就存在的,这些程序的程序名不可改变,且我们改动文件内容时必须符合原有的规则,如/genesis/sys/hooks/ncd/out_file、/genesis/sys/hooks/ncd/set_table、这些文件就是上述内型的文件,这些文件是软件在使用到某个模块时自动会去寻找这个文件,不需要我们

共10 页第7页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

去运行,下面我们做一个演示实例:其步骤如下:

(1):我们将/genesis/sys/hooks/ncd/set_table文件名改为set_table.old。 (2):进入genesis,运行auto Drill manager。 (3):我们可以看到钻孔的输出无法进行。

(4):我们把文件名改回set_table,再次运行auto Drill manager。 (5):我们可以看到钻孔可以输出了,说明这些文件名不可以改动。

第二部分是在/genesis/sys/hooks/line_hooks,这部分的程序我们可以随意编写或者随意更改名称,但必须符

合下面两个规则:如save﹒pre

(1):所有的文件名文件头必须符合line command。 (2):所有文件名后缀必须是﹒pre或者﹒post。 下面我们进行以一个文件为演示,其步骤如下: (1):在line_hooks下建立文件名:save_job.pre。 (2):在save_job.pre中录入以下内容: ①#!/bin/csh

②if ($JOB == genesislib) then ③else

④touch /gen_db/odb1/jobs/$JOB/user/save.log ⑤COM get_user_name

⑥set user_name = \"$COMANS\" ⑦set time_in = `date`

⑧echo \"$user_name saved $JOB on $time_in \">> /gen_db/odb1/jobs/$JOB/user/save.log ⑨endif

(3):进入genesis,对一个job,进行一些修改,然后保存文件。

(4):我们进入该job,进入user,可看到有save.log的名称,打开后会显示如下图所示界面:

1.3.3:form接口:

在genesis2000软件中,有一个名为genesislib的公共库,当我们打开后会看到有一个forms的图标,

单击进入,我们可以在里面创建一些forms,在运行时我们要通过file→copy菜单将公共库写好的form拷贝到某个job里面,然后打开该job的forms里需要运行的form即可。

下面我们运用genesis2000自代的genform1进行演示,步骤如下:

(1):打开genesislib公共库,我们可看到在forms中存在一个名为genform1的form。 (2):进入任意一个job,点击file→copy菜单;出现如下所示窗口:按照窗口中内容进行选择。 (3):进入该job,打开forms中名为genform1。

(4):左键单击右下方OPEN JOB MATRIX,发现该job的matrix被弹出来。

共10 页第8页

深圳PCB培训网 GENESIS2000脚本培训课程 作者:刘才林 网站:http://www.pcbpx.com第一章 genesis2000自动化程序编写和运行环境

1.3.4:flow接口:

flows的接口和forms接口模式很接近,我们打开genesislib公共库后会看到有一个flows的图标,

单击进入,我们可以在里面创建一些flows,在运行时我们要通过file→copy菜单将公共库写好的flow拷贝到某个job里面,然后打开该job的flows里需要运行的flow即可。

下面我们做一个flow的演示,其步骤如下:

(1):打开genesislib公共库,我们在flows中用file→菜单创建一个名为genflow1的flow. (2):进入任意一个job,点击file→copy菜单;出现如下所示窗口:按照窗口中内容进行选择。

(3):进入该job,打开flow中名为genflow1。

(4):出现一个空的flow,在后面我们将具体介绍如何编写flow。

共10 页第9页

因篇幅问题不能全部显示,请点此查看更多更全内容