PCB贴装加工数据结构设计_第1页
PCB贴装加工数据结构设计_第2页
PCB贴装加工数据结构设计_第3页
PCB贴装加工数据结构设计_第4页
PCB贴装加工数据结构设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、贴装加工数据结构设计PCB.CNC系统主要而对*PCB、*PCBDOC、*CSV、*TXT四种格式的读収解析.在换作过程中会生成余下 三种恪式的文件。因此对数抓?结构的设计主要是謫足对前四种文件解析后的数据保存的需要。本文通过对上述文件的格式分析,可归为三种数据类型。数据结构设计4.1 PCB FILE 6 VERSION2.B便用Prulel设计的PCB文件,包含了多种国元的昭息,眼抵文件恪式与系统需求分析,只有文件头、元件描述部分、口由图元部分、PCB版而显示伯息部分含有 PCB_CNC系统所盅要的缶息,因此木文迪过直接设计对 应的结构体來保存这些们息:1文件头此部分的数据比较少,只包含一

2、行,关于文件的一些统计数据,本文设计一个结构体Siaiic$Data来保存相关信息。具体代码如下所示):typcdcf si rue 1(ini conn cclio nrcma ining;/未完成布纟戈的连接数ini iracks;/连接总数2.元件部分ini drill s :ini n eldef;int arc;in i via:int compc nenls:int fills;int pads;int stri ngs;/钻孔总数/网络总数/圆弧总数过孔总数/芫件总数填充区总数焊盘总数字符串总数文件中所有的元件都在包含在此部分屮,由于元件的数量不定,可臥便用一个链表來保存所有元件

3、对于单个元件可用一个结构 WCOM Def 表示,考虑到需耍解析的 CP.CT、CA 三种图尤的数口也不定 . COMDcf 通过保存链表描针来索引这些屈性。对于元 件的综合厲性图层、封装 型号、 X 与 Y 的参考坐标等)放到一个结构体中比较理想。 除了文件中所含的信息, COMDef 结构休的设计还要 考虑到其它因素,例如料槽号是 否已贴装完,所含的 CP、CICA总数等,因此在结构休中还需要对应的成员属 性来表 示.最重要的是rti-J 个元件包倉多个焊盘的信息(包括坐标、直径等).但在文件屮却 没有指明元件的屮心坐标,当下位机拾収元件时.一般拾収元件的屮心位 M13-1,此时必 须考虑

4、到元件的中心坐标值,所以木文定文了 一个描述矩形区域的结构休 SiruciReci,井 在COMDef结构体中定义了此类型变量成员.由于此文件恪式中元件包括 了图形倍息 , 可以用于图片显示 , 因此 COMDef 中也缓存了此元件显示时所占矩形区域的大小。另外 一个需要考 虑的问题是 COMDef 写入文件时,只写入非指针类型成员数据,对于指针类 型成员,需要写入具指向的链表数据 内容,因此会出现数拡对齐的问题,因此成员的排 列要按一定的规则排列 . 考虑到二进制 MAN 格式文件的读 取. COMDcf 同时也定义了 三个鉴型变虽 :. 分别对应着兀件所包含的焊盘图元、圆弧罔兀、线段图兀相

5、应的数 II- 3?自由图元部分本部分需要解析的只有 FP、FA两种图元,可分别市链表保存。对于FP图元.本文定义的结构体名为 CompFA, FA 图元用结构体 CwnpCA 來表示。4.PCB 版面显示信息部分这部分包含了 protcI 显示此文件需要的参数。木文所需要的是坐标原点倍息,可用GD1+-*-'? 的类 PoinIF 來表示。PCB文件对应的整休数掘?结构示意:图如图4.1所示ComfF證世 -? | CA | TCBv2StfCA. 千r一7线股崔mpCT体*?Gpsma.t亘厂 山即|司STuc-Bec iC FP郡J体-CorrpCA.m 4PCBv28数据结构示

6、恿国Fig. 4.1 The data structure of PCB v284.2 PCBDOC数据结构设计DOC格式文件屮焊盘、同弧等忙息是在单独的段中 .与PCBV28式不同,不再被 包含在元件的描述行内.而 是通过1D数来表示其归屈哪个元件卩叫因此对应的数据结构也不同。本文需要解析的部分包括板描述段 (Bzal)第一行、75件描述段(CompAncni)、焊盘描述段 Pad.文木推述段 Text.1. 板描述段板段包含的信息一般是显示伫息与设计选项的一些参数变虽,其中包括了绘图过程屮设定的原点坐标值,是B oard段的第一行“IRE COR D=BoardlOR 1G IN X=xl

7、O RIGIN Y=y ”中的用x与y表示的值lM35, o本文同样用GDI+ 中的类PoiniF来表示。2. 元件描述段元件段包含了所有元件信息,每个元件占用一行。Itl于在元件的表示中启用1D标 识符來表示,从整数零幵始递增,可以统计元件的总体数口,因此木文以整型index变 址來表示。行里也包括了元件的中心点、的坐标值,但是这个值是rtl altium软件中元件库 文件决定的,用户在绘制元件库的时候,理论上是可以随意指定中心点的坐标值,与真 实值有出入的 ( 特别是在元件含有奇数个引脚的情况下),丙此不能依赖此坐标來确定元件的拾収点位宜坐标。考虑到元件有可能没有焊盘,所以术文在设计元件结

8、构体的时候, 同时保留了心 y 和拾収矩形三种变量 成员。由于每个元件的属性描述与PCBV28恪式不 同,例如COMDef中由于没有D值,需要考虑到怎样才能査找到其所包含的基本图元 , 因此设计了徒表结构。基于 DOC 恪式的元件在其屈性描述行中,并不描述所包含的基 本图 元值息,而是在每种基木图元中都会有所属的元件的索引值,考虑到读取的效率的问脛,木文在对元件结构体倚时使用J CArrayVlype,lyp<i模板类,除厂和C arrays 佯,对索引元素的访问时间是常值.与数组大小无关.还可 以在必要时动态压缩或者扩 展数组大小。另外使用CArray类还有一个重要原因是数组元素在内存

9、中是连续排列的.方便写入二进制文件(PCB-CNC系统严生的中间文件屮叫对于焊盘所届的元件可匕方 便的迪过索引茯得.对于元件中的注释项、 设计名称两种属性都在 DOC 文件中的文木段描述, 由于这 两种屈性需要写入到 *-CFG 文件屮 . 为了降低读写的复杂度 . 木文段描述的属性在元件 结构体中也设宜了对应的成员变虽。3?焊盘描述段在 DOC 格式文件中,所有的焊盘描述都在焊盘段,并且每个焊盘图元备占一行。焊盘图元的结构体比较简单,其成员变址包括中心点坐标、图层号、大小、形状、孔直径等。需要注意的是,在*.( 2 卜 9文件中 "图元的描述包括贴片类型屈性,在 DOC 文件 屮对

10、兀件描述行并没有提供此屈性 . 因此可以通过 具所包含的焊盘的迪孔直径值来判断 元件类型,当值为零时,为贴片元件 "非零时则为其它元件。由于焊盘只是 在计算元件 中心点坐标、判断贴片类型和图形显示时才会用到,并且元件结构休己包含前两者的成员变虽,丙此?所有焊盘可以独立保存在 CArray 模恢类屮,在需要时可以迅速的通过 ID 索引到所属元。4.文木描述段文本描述段包括了所有元件文木描述信息。每个文不各占一行,包括两种性质描述, 可以根据行中的注释项(COMMENT)或者设计名称项(DESIGNATOR)屈性来判断.一般来说,同一个元件对应着连续的两行文木描述。由于 文木所含属性比较

11、简单,定丈 的结构体只包含了字符串、坐标、角度等屈性,在文本的读取时直接賦值到对应妁 元件成员变园中,不再需耍单独的数组保存对应的文木结构如下所示:typedef struct Lao: Slru<?ITexl(ini Index :所属元件的IDfloat Ri;旋转角度float X;文本的起始点坐标值float Y;文木的起始点y坐标值float Z;文本的起始点z坐标值,一股为零UCHAR Label|32|:文本字符串TexlSiruci;DOCPCB恪式文件对应的整休数据结构如图4.2所示PCBDOC图兀坐文件标原点板描述段二埠盘描述段C1rray<PadS侔盘结体Pi

12、dSlruConipcincniSiructCoraniemPikCal尤件描述段 述段"CAiTa <lJoinponcnIStfucLCompL) ncnISLrucl>元件图4.2 PCBDOC对应的数拯结构示敢阳Fig. 4.2 The data stiucture of PCBDOC4.3 Pick Place类型文件数据结构设计ProieI生成TXT和CSV恪式文件都叫做PickPlace文件类型。该文件包含信息较简 单,打卄该文件只能填表,不能绘图不包含图元的怡息。两种文件恪式大致一样,本文设计的数据结构也比较简单,在P】K恪式文件解析屮所有的兀件都保存在一

13、个链表中。元件对应的具体代码如下所示,typedef sti uclUCHAR Desig nator! FOOTPRINT_L|;名称UCHAR FootpnniFOOTr*RINT_LI ;封装float Mid_X:float Mid_Y; float Ref_X; float Ref_Y;float Pad_X; float Pad Y:USHORTSlot;"料措号USHORT Layer;图层float Rokitio n;角度UCHAR Commeiitl FOOTPRINT. L|:)ComPi kSLnjGtFromF;4.4 MAN文件格式设计MAN文件是木文口定

14、义的二进制文件,是以上述三种文件洛式对应的结构体为保存对彖进行保存的,里而包括兀件的详细信息,图兀的详细信息,以及当前显示状态的信息(“显示层设置.”,“显示状态设宜”),作为加工的中间文件在加工中断后打幵能在原来加工的臺础Z上继续加工。同此对于MAN文件的格式i殳计必须考虑到怎样合理有效的存储这些操作过程中产生的信息。本文口定义的MAN文件分为两部分,首先是文件头包含了PCB_CNC系统的相关统计信息,其具体结构如图 4.3所示(32位机).MAN文件头结构1 23456Man u File HeaderCLimitRed/CReetA ngkFCPoirttintintint图43 MAN

15、文件头结构示恿:图Fig. 4.3 The structure of MAN file1. ManuFileHe-ader是一个结构休,共占 384个字节,包括两个成员变量:文件标识和SusticsDaia结构体。文件标识是一个占 64个字节宽的字符型数组,用來标识 MAN 文件所含的元件及图元信息的数据恪式(上述三种数 据格式 Z九因此其值有三种,分别:* Manufaclurd Pile for PCB ' Manufacture : File for Pik、巾Manufacture File forASCII PcbDoc ” SaiicsDaia结构体包含了 PCBv28格式

16、文件头的相关信息(图元数鱼、圆弧数虽等,其它恪式文件下不需要此值。2. ClimitRcei结构体占128个字节.对应的是PCBv28恪式.用整型变量来表示。CReelAngleF结构体占25&个字节,对应的是PCBDOC恪式,用取精度浮点数来表示。这两个结构体都表示 PCB扳所占的矩形区域尺寸(依撅图元计算得来九主要口的是在绘制PCB图片时,用来确定图形缩放比例。P1K数据没有图形元素,此值为零,读取的 时候忽略此段。3. Cpoint是V3+定义的一个类,此处代表 FCB板参考原点坐标。4. 第四个至第六个代表着 PCB_CNC 界而上与显示相关的系统设呂值。第四个值为 0 时表示

17、显示全部元件, 为 1 时表示只显示贴片兀件。第五个值为 0时显示全部层兀件 . 1 时显示上层元件, 2时显示底层元件。笫夫个值 为()时显示全部元件、 1 时显示未贴装 元件、 2时显示己贴装元件。笫二部分眼据PCB.CNC系统对应的数据结构可分为三种恪式类型,如图4.4所示°1 DOCPCB格式对应的MAN文件结构IniIntComp on ealSlruclLi nksPadStruciLi nks2 PCB恪式对应的MAN文件结构ComFrceSlruclCornpCPA Li nksCFPstructLi nksCOMDcfLi nks3 P1K搭式对应的 MAN文件结构

18、ComPikProm F ilcLi nks国4.4 MAN文件主体部分结构示懸图Fig. 4.4 The main structure of MAN file1. 第一个整型代表跟随的元件总数目.第二整型代表着后而眾随的焊盘总数II。接 着的就是数抵结构保存的元件、焊盘链表.2. Com FrecSiruci结构体保存了两个变量,分别对应着跟随的白由圆弧图元与白由焊盘图元的总数目。最后为/G件链表屮所有的兀件结构体和每个兀件屮所包含的所有焊盘图元、圆辄图元、线段图元结构体。3. P1K数据结构比较简单,木文在 MAN文件中直接探存 Com Pi k From File结构体链 表。上述保存相

19、关图元的数口主要口的是,在读取二进制文件时?很据这些数II值,可以定位到对应的图元数据结构起始位崟.方便快速读収。4.5 CGF文件格式设计CGF为CAM数据提取系统通过工具栏“制作加工数据”生成的贴片机控制命令文件.是下传数据的二进制控制文件|n,0 CGF文件应当包含当前料槽的配習、料槽内器件的行列何距、料槽内器件厚度、角度等配習参数,以及特贴装兀件倍息及其贴装坐标的文件。CGF文件的结构如图4.5所示.fif谢KG上的也右枸圏八汁刼独SMSMCklTypeDef丈徉头姑 构怖File Index国4.5 CGF文件结构示懋国Fig.4.5 The slmcture ofCGF file1. CGE文件头包含了文件整体的一些统计信息,共占 差错,为了防止发生问题,木文采用了CRCFile_l ndex_TypcDef 定义如下所示:lypedef strucifUD16Chip.Sum:UD16 Fecd_Sum;U LONG1 ndcx.Map;ULONG Con lc nl_ Map;UD16CRCACheck;UD16 Reserved:校验方法16个字节。考虑下传文件至 贴片机时,可能会出现 并在结构体海加了对应的成员变鱼?其结构体所包含的元器件总数所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论