首页 / 资讯中心 / 文章详情

Win10/Win7下Protel 99 SE添加库文件完整指南与避坑

Win10/Win7下Protel 99 SE添加库文件完整指南与避坑 ★ FEATURED ARTICLE
前两天帮一位做电源模块的老哥收拾一台工控机Win10 21H2 的系统机子里装着一套用了十几年的 Protel 99 SE。问题很典型打开原理图左边 Browse Sch 面板的库列表一片空白点 Add/Remove 按钮跟点了块木头一样没反应气得他差点把整个软件重装一遍。这种活儿我在做老项目维护和教学的时候碰得太多——Win10/Win7 下添加 Protel 99 SE 库文件看着是个点几下鼠标的小事实际上里面的坑能把你埋一整天。Protel 99 SE 是 Protel 国际在千禧年前后推出的 PCB 设计工具后来被 Altium Designer 接过衣钵。到今天还有大量老图纸、老设备的主板在用它维护很多职业院校和大专的电子工艺课也还在教它。所以库文件怎么加这个问题一直有人问新装的软件自带库在哪、下载的第三方封装库怎么挂上去、为什么我添加了库在元件列表里还是搜不到、AD 的库能不能直接给 99 SE 用。这篇就把我这些年踩过的坑、验证过的步骤、以及 Win7/Win10 这两个系统上特有的兼容性处理完整地捋一遍。不管你是第一次接触 99 SE 的学生还是接手老项目的工程师照着做基本能一次成功。1. 先搞明白 Protel 99 SE 的库到底是怎么组织起来的1.1 三种库文件格式别把 IntLib 硬塞进来很多人在网上搜库文件下到手一看是.IntLib兴冲冲往 99 SE 里拖结果软件根本不认。这不能怪软件得先把格式的关系理清楚不然方向就错了。Protel 99 SE 能直接识别的库本质上就两类原理图库和PCB 封装库它们都是扩展名为.lib的独立文件。原理图库里面装的是元件的符号图形和引脚定义PCB 库里装的是元件的焊盘、丝印、外形轮廓。这两个库通常在 Design Explorer 里成对出现一个负责画图一个负责布板。真正让人混淆的是另外两种东西。一种是.ddb它是 99 SE 专有的设计数据库格式你可以把它想成一个压缩包里面可以装原理图、PCB、库文件等各种东西。99 SE 安装目录下自带的库大多就是以.ddb形式散放的比如Miscellaneous Devices.ddb、Miscellaneous Connectors.ddb。另一种是.IntLib这是 Altium 后来在 DXP 及 Designer 版本里引入的集成库格式它把原理图库、PCB 库、仿真模型、3D 模型打包在一起。99 SE 出生得比它早压根不认识这个扩展名。文件格式里面装什么99 SE 能否直接加载正确用法.libSchLib原理图元件符号可以直接加载原理图 Browse Sch 里 Add/Remove.libPcbLibPCB 封装可以直接加载PCB 编辑器 Browse PCBLib 里 Add/Remove.ddb复合设计数据库不能作为库直接加载先在里面导出.lib再加载.IntLib集成库多合一完全不识别用 AD 打开后另存为 SchLib/PcbLib注意如果手头只有 IntLib唯一稳妥的办法是装一个 Altium Designer哪怕试用版双击打开这个 IntLib在原理图库列表里全选元件复制粘贴到一个新建的 SchLib 里另存PCB 部分同理。网上有些所谓的IntLib 转换小工具来源不明别往工作机上装。1.2 Design Explorer 与 DDB 的工作机制理解 Design Explorer 的运行方式比记住点哪个按钮更重要。Protel 99 SE 的所有工作都跑在一个叫 Design Explorer 的客户端里它把.ddb当成一个虚拟的文件系统来用——你在里面新建原理图、新建库、建文件夹全都存在这一个 ddb 文件里。这个机制带来一个关键后果也是小白最容易困惑的地方你在 Browse Sch 里添加的库是绑定在当前打开的这个 DDB 上的不是全局的。换句话说你今天在 A 工程里加好了Miscellaneous Devices.lib明天新建一个 B 工程打开一看库列表又是空的得重新加一遍。这不是软件出故障了是设计如此。有人会问那 99 SE 到底有没有全局库路径答案是有的但藏得比较深而且在 Win10/Win7 上经常被权限问题悄悄吃掉。这个我们放到后面第 2 节讲先记住一个结论对 99 SE 来说添加库文件是一个随工程走的操作养成把常用库和工程放在同一个目录下的习惯能省掉大量重复劳动。还有一点要提前说99 SE 用的是单文档界面MDI 也算不上一个 DDB 同时只能被一个进程打开。当你在另一台机器或者另一个窗口打开了同一个 DDB系统会提示文件已被锁定。这个锁就是同目录下那个隐藏的.ldb文件后面排查故障时会反复用到这个概念。2. Win10/Win7 上跑 99 SE 的前置条件2.1 兼容模式、管理员权限和补丁的先后顺序99 SE 是 1999 年的软件开发目标系统是 Windows 98/NT/2000。在 NT 内核的 Win7 和 Win10 上它靠 WOW64 兼容层能跑起来但默认状态下很多功能是残缺的。以下设置我建议一步都别省顺序也按这个来。第一步装完 99 SE 后立刻打上 Service Pack 6 补丁。这是官方发布的最后一个补丁包修掉了不少在 NT 内核下运行的问题。装补丁时如果弹出警告说系统版本不受支持选择忽略继续就行补丁本身是能生效的。第二步右键桌面上的 Protel 99 SE 快捷方式选属性切到兼容性选项卡。勾选以兼容模式运行这个程序下拉里选Windows XP (Service Pack 3)。再勾选以管理员身份运行此程序以及更改高 DPI 设置里的替代高 DPI 缩放行为缩放执行选系统。为什么兼容模式要选 XP SP3 而不是 Win2000实测下来 XP SP3 的图形接口处理对 99 SE 的菜单刷新更友好Win2000 模式下偶尔会出现工具栏按钮变成一片空白的情况。至于管理员权限这不是可选项——99 SE 要向安装目录写配置文件没有权限时它写不进去表现就是各种设置设置了但没保存。第三步处理数据执行保护DEP。这个只在部分机器上需要。如果 99 SE 在加载 DDB 时闪退可以去此电脑→属性→高级系统设置→性能设置→数据执行保护把 Protel 99 SE 的主程序加进例外列表。加完之后重启问题大概率消失。2.2 路径、UAC 虚拟化和千万别装在 Program Files这一条是老生常谈但每年还是有人栽。从 Windows 7 开始系统启用了 UAC 文件虚拟化机制当一个程序试图往C:\Program Files或C:\Program Files (x86)里写文件而它又没有足够的权限时系统会悄悄把这些写入重定向到一个叫VirtualStore的隐藏目录里路径大致是C:\Users\你的用户名\AppData\Local\VirtualStore\Program Files (x86)\...。这会造成什么后果你在 99 SE 里添加了一个库看着一切正常关掉软件再打开库列表又空了。因为库列表文件被写到了 VirtualStore 里而 99 SE 再次启动时可能读的是另一个位置。你追都追不到。所以我的建议非常明确把 99 SE 装到非系统盘最好是 D 盘根目录下的一个纯英文路径里比如D:\Protel99SE。装到桌面、用户文件夹、任何带中文的路径下都会给后面埋雷。99 SE 是 ANSI 程序对中文路径的处理能力弱得可怜轻则库加载失败重则整个 DDB 打不开。同时所有工程文件和库文件也一样全部放在纯英文路径下。我见过有人把库放在我的文档\电子设计\元件库\新建文件夹\常用.lib这种路径里然后抱怨软件找不到文件。把它挪到D:\Lib\Common.lib立刻就好就是这么现实。至于要不要关掉 UAC我的看法是如果你已经把软件装在非系统盘并且给了管理员权限UAC 可以保持开启没必要为了一个老软件降低系统的整体防护级别。但如果你的工作机上有其他安全问题需要兼顾那就别在这台机器上装来源不明的库文件。3. 添加库文件的完整实操流程3.1 原理图库的挂载一步一步来这是最核心的操作我把界面上的每一个动作都拆开说因为 99 SE 的 UI 逻辑跟现在的软件差别很大很多人在第一步就卡住了。打开 Protel 99 SE先新建或打开一个 DDB 设计库。进入原理图编辑器双击 DDB 里的.sch文件或者 File→New 新建一个 Sch。这时界面左侧会出现一个叫Browse Sch的浏览面板。关键点来了这个面板的顶部有一个下拉框默认可能显示的是 Primitives图元。你必须先把它切换成 Libraries库否则下方那个 Add/Remove 按钮根本不会出现。这是我见过最多的找不到按钮原因。切换到 Libraries 之后面板中间会出现当前的库列表下方有Add/Remove按钮。点它弹出 Change Library File List 对话框。对话框上半部分是当前已加载的库列表下半部分是路径浏览区。操作顺序是在下半部分的文件类型下拉里选Library Files (*.lib)逐级定位到你的库文件所在目录比如D:\Protel99SE\Library\Sch选中目标.lib文件点右侧的Add按钮文件会出现在上半部分列表里如果需要批量添加可以按住 Ctrl 或 Shift 多选然后一次 Add点OK关闭对话框。关掉对话框之后库列表里就会出现刚加的库展开树形结构就能看到里面的元件了。如果要移除某个库在同一个对话框里选中它点Remove即可。提示对话框上半部分的列表顺序会影响元件搜索的优先级。搜索同名元件时排在前面的库先命中。所以建议把最常用的、自己维护的库排在前面把系统自带的大杂烩库排在后面。3.2 PCB 封装库的挂载逻辑一样但入口不同很多新手以为在原理图里加了库PCB 那边就自动能用了这是错的。原理图库和 PCB 库是两套独立的加载机制得分别加。进入 PCB 编辑器后左侧面板变成Browse PCBLib。同样注意顶部的类型下拉要确认它处于 Libraries 状态。然后点Add/Remove弹出的对话框和原理图那边长得几乎一样操作流程完全一致选路径、选.lib、点 Add、点 OK。这里有个常见误解需要澄清你把 PCB 库加进列表只是意味着这个库里的封装可以被引用并不意味着原理图里元件就能自动找到对应封装。原理图元件和 PCB 封装之间的对应关系是写在原理图元件属性里的也就是 Footprint 那一栏填的封装名。如果这个封装名在已加载的 PCB 库里不存在转到 PCB 时就会报找不到封装。所以加库只是第一步元件属性里的封装名要和库里实际存在的封装名一字不差地对上包括大小写和空格。另外如果原理图元件的封装名是空的或者填了个库里没有的名字转 PCB 时会生成一片没有封装的散件。这个排查方法后面第 4 节会细说。3.3 把库导出成独立 lib再挂载一个更省心的做法99 SE 自带的那批库是.ddb格式的直接当库加载是不行的部分老版本理论上可以但成功率极低。正确的做法是先进 DDB 里把.lib导出来再按上面的流程挂载。具体操作File→Open定位到安装目录下的Library\Sch\Miscellaneous Devices.ddb打开它。这时 Design Explorer 里会出现一个像文件夹一样的结构里面躺着Miscellaneous Devices.lib。右键这个.lib文件选Export把它导出到你自己的库目录下比如D:\Lib\。导出之后再回到工程里做 Add 操作就顺理成章了。这个做法还有两个额外好处。第一导出后的独立 lib 体积小、加载快不像 DDB 那样整个包都得读。第二你可以把多个 DDB 里常用的库都导出来统一放在一个目录里形成自己的库仓库以后哪个工程要用直接从这一个目录里挑就行路径统一迁移到别的机器也不会断。我个人的习惯是在 D 盘建一个D:\ProtelLib文件夹下面分Sch和Pcb两个子目录Sch里放所有导出的原理图库Pcb里放所有封装库。所有工程都从这里挂库。这样即使换电脑把这个文件夹拷过去重新挂一次库十分钟就能恢复全部工作环境。4. 常见故障与排查速查表4.1 库列表空白、元件搜不到的排查思路库加了但元件搜不到是问得最多的一类我按排查顺序列一下。第一确认你挂的是原理图库还是 PCB 库。在原理图编辑器里挂 PCB 库当然是看不到元件的。第二确认库列表顶部的下拉确实在 Libraries 模式而不是 Primitives。第三展开库的树形节点了吗99 SE 的库列表是树形的双击库名前面的加号才能展开元件列表不展开就只有库名一行。第四检查库文件本身是不是损坏的。从网上下的库良莠不齐有些是半截文件。验证方法很简单用 99 SE 打开这个 lib 文件本身File→Open 直接选 lib如果能正常打开并看到元件说明文件是好的问题出在挂载环节如果打不开那就是文件坏了换个来源。现象最可能的原因处理动作Add/Remove 按钮找不到面板类型下拉在 Primitives切成 Libraries库列表加了库但没元件树节点未展开点库名前加号展开加载库时报错库文件损坏或路径含中文换纯英文路径重新导出元件能放但转 PCB 找不到封装封装名与库中不一致核对 Footprint 栏拼写库加载后又消失UAC 虚拟化/权限不足装到 D 盘、给管理员权限4.2 锁文件、只读属性和中文路径这三类坑先说.ldb锁文件。Design Explorer 每次打开 DDB 都会在同目录生成一个隐藏的同名.ldb文件正常关闭时会自动删除。但如果软件异常退出、蓝屏、或者被任务管理器强杀这个锁文件就残留下来了。下次再打开同一个 DDB就会提示该文件正在被使用。解决办法先关掉所有 99 SE 进程然后在文件资源管理器里把文件扩展名显示打开删掉那个残留的.ldb再重新打开 DDB。再说只读属性。从别人那里拷来的库或者工程文件属性里可能带着只读标记。只读的库在挂载时有时不报错但添加后元件是灰的或者干脆加不进去。全选库目录右键属性把只读勾掉应用时选择应用到所有子文件。最后再强调一遍中文路径。99 SE 内部用的是 ANSI 编码遇到中文或者日文、韩文这样的多字节字符时会出现路径解析错误。表现可能是库加载失败也可能是加载成功但保存工程时报文件无法写入。最坑的是它有时不报错只是行为诡异。所以从安装目录到工程目录到库目录整条链路全部英文数字下划线一劳永逸。4.3 界面无响应与元件向导失效有几个 Win10 上特有的现象值得单独说。一是打开 DDB 时 Design Explorer 卡住或者闪退。这通常和 DEP 或者显卡驱动有关。先按 2.1 节把 DEP 例外加上如果还不行试试在兼容性设置里勾选禁用全屏优化。二是元件向导Component Wizard失效。99 SE 里那个可以帮你生成标准 DIP、SOP 封装的小工具在 Win10 上运行到一半经常会直接消失或者生成的封装尺寸完全不对。这是老版本调用的某个系统接口在新系统上行为变了导致的基本没有完美修复方案。我的建议是别指望它自己画或者找现成封装。元件向导生成的那点东西手动画一个也就五分钟还更可控。三是打印机和 PDF 输出异常。99 SE 生成打印预览时依赖系统打印驱动Win10 的通用驱动经常不兼容导致预览是空的。装一个老版本的系统打印驱动比如通用的 PS 驱动通常能缓解或者干脆用截图 / 虚拟 PDF 打印机的老版本。注意以上所有排查动作之前先做一件事——把你正在编辑的工程备份一份。老软件在异常状态下有可能把 DDB 写坏DDB 一旦损坏里面所有原理图和 PCB 文件一起完蛋。养成随时备份的习惯比任何排查技巧都值钱。5. 把库文件管理成一套自己的体系5.1 目录结构与命名规范只把库加进去能用是不够的工程做多了你会发现库文件散落在各处是一场灾难。我给自己定了一套规则用了很多年分享给你。目录上固定一个库仓库根目录比如D:\ProtelLib下面严格分Sch和Pcb。所有原理图库只进Sch所有封装库只进Pcb不允许混放。第三方下载的库先放到一个叫_Incoming的临时目录里验收合格后再改名进正式目录。命名上库文件名用来源_类别的格式比如Self_Power.lib、Vendor_TI.lib。这样一眼就知道这个库是谁维护的、里面大概是什么东西。千万不要用新建库1.lib111.lib这种名字过两个月你自己都不认识。封装命名上更要注意。99 SE 转 PCB 靠名字匹配所以同一个实物的封装在原理图库和 PCB 库里必须叫同一个名字。我统一用封装类型尺寸的格式比如SOP8_1.27、DIP8_2.54。这样既避免了重名也能一眼看出关键参数。5.2 备份、迁移与跨版本传递库管好了剩下的就是怎么让它活得久。备份上我的做法是库仓库每周打一次包压成一个带日期的 zip放两个地方一个是本机的另一个分区一个是移动硬盘。库文件本身不大一个完整的常用库仓库可能也就几十兆成本极低但关键时刻能救命。迁移上前面提过整个ProtelLib目录拷到新机器装好软件重新挂一次库就行。因为库的加载是随工程走的所以每个工程的 DDB 里都要重新挂一次库这一步没法跳过。我的习惯是在每个工程目录下放一个readme.txt写清楚这个工程用了哪些库、库在仓库里的具体路径。换台机器打开工程照着一挂就好。跨版本传递要特别注意方向。从 99 SE 往 Altium Designer 传是顺的AD 可以直接打开 DDB也能直接吃.lib。反过来从 AD 往 99 SE 传就要小心IntLib 用不了SchLib 和 PcbLib 倒是可以但 AD 新版加的某些元件属性在 99 SE 里会丢失。所以如果你是在用 AD 做新设计、又要给老设备维护做兼容最好在 AD 里把库另存成老版本格式再导出。最后分享一个我自己用了很多年的小习惯给每个经常复用的库做一份元件清单。就在库旁边放一个同名的 txt把里面所有元件的名字列一遍按字母排序。需要找某个元件的时候先在这个 txt 里搜确认在哪个库里再去 99 SE 里挂。这个方法比在 99 SE 那个慢吞吞的搜索框里一个个试效率高太多了。库这东西加进去只是开始真正省时间的是你对自己库里有什么、放在哪心里门儿清。
阅读完成 · 觉得有帮助?
咨询建站