OrCAD原理图中多个多part器件自动编号的方法

问题描述:在同一个原理中用到两个及以上同一种多part器件,在Annotation的时报错提示:

                “ Cannot perform annotation of heterogeneous part 'U7A(Value LTM4628EY#PBF) at                   location (101.60, 60.96) on page P13_VCC3V3 + VCC1V8', part has not been                                uniquely grouped (using a common User Property with differing Values) or the device                    designation has not been chosen INFO(ORCAP-1379): Done updating part                                    references”(原报错如下图:)

问题原因:整个原理图中使用了不止一个同种多part器件,我的报错是因为使用了2个LTM4628分别是U6A、U6B和U7A、U7B(如下图),软件在自动编号的过程中不知道U7A是和U7B一组还是和U6B一组,导致报错。所以我们就可以对是同一组的part做一个相同的标记,使得Orcad在重新编号时知道那两个part是一组的。

解决方法:

法一、行业普遍用的就是增加一个Package属性,并且设置同一组part的Package属性的值相等,Orcad就可以识别到那几个part为一组,操作如下:

打开对用Symbol库,双击Symbol打开User Properties,点击New新建一个属性Package(也可以为其他的名字,只是做一个标记而已),设定一个默认值,如下图:

然后在原理图中更新Symbol,并把每一组Part的Package值设值一样,就表示他们为一组;

在打开Annotate,在Physical Packagingz中增加“Package”属性,在重新编号时就会把Package值相等的识别为一组,报错救解除。

个人的懒惰方法(不推荐):我当时原理图中就使用了2个器件,并且他们实际上都有对应的标号U6和U7,因为在Annotate时,Physical Packaging中没有一个属性能让他们区分出来,我就随便找了一个属性(Reference)作为标记,区分这两个器件,也是可以的,但是这种方法不通用。

OrCAD Capture 17.2中使用层次化模块(Hierarchical Block)时,若模块内部包含多个部件(Multi-Part器件),自动编号的设置和操作需要特别注意,以确保每个模块内的部件器件能够独立编号,并保持设计的一致性和可读性。 ### 层次化模块中的部件器件自动编号方法 在层次化设计中,每一个模块可以看作是一个独立的设计单元。为了使不同模块内的部件器件能够分别进行自动编号,而不是在整个项目范围内统一编号,需要对模块进行适当的配置。 #### 1. 设置模块为独立设计单元 在将一个子电路定义为层次化模块时,需确保该模块具有独立的设计属性。打开模块原理图后,在菜单栏选择 **Design → Update Hierarchy**,确保模块被正确识别为独立单元[^1]。 #### 2. 启用“按模块重置参考编号”功能 为了实现模块内部件器件的独立编号,必须启用 **"Reset Part References for Each Sheet"** 功能。此设置可在 **Preferences → Miscellaneous** 中找到。勾选该项后,系统会在每个新的图纸(即每个模块)中重新开始编号流程,从而避免不同模块之间的编号冲突[^1]。 #### 3. 执行自动编号 完成上述设置后,可以通过 **Tools → Annotate** 来执行自动编号操作。在弹出的对话框中,选择以下关键选项: - **Action:** `Reset All Parts` - **Option:** `Incremental Reference Update` 或 `Batch Auto Reference Update` - 勾选 **"Include Hierarchical Blocks"** 和 **"Preserve References Across Sheets"**(如需保留特定编号) 点击 **OK** 后,系统将根据设置对所有模块内的部件器件进行独立编号。 #### 4. 验证与更新 完成编号后,建议通过 **Design Synchronization** 功能检查模块间的连接是否正常,并确认编号结果是否符合预期。如有必要,可再次运行Annotate工具进行调整。 --- ### 示例代码:批处理自动编号脚本(TCL/TK) 如果需要自动化或批量处理多个模块的编号任务,可以编写TCL脚本配合OrCAD的命令行工具进行操作。以下是一个简单的示例脚本: ```tcl # 批量自动编号 TCL 脚本示例 set project "your_project.opj" set design "your_design.dsn" # 打开项目 exec orcadpc -nograph -command "open $project" # 进入设计 exec orcadpc -nograph -command "edit $design" # 执行重置并更新参考编号 exec orcadpc -nograph -command "annotate -reset_all_parts -batch_auto_reference_update -include_hierarchical_blocks" # 保存并关闭 exec orcadpc -nograph -command "save" exec orcadpc -nograph -command "close" ``` 请根据实际项目路径修改脚本内容,并确保环境变量已正确配置。 --- ### 注意事项 - 在启用模块独立编号之前,务必备份当前设计文件,以防误操作导致数据丢失。 - 如果某些元器件需要手动指定编号,应在自动编号前将其锁定(Lock Reference Designator),以免被系统更改。 - 对于大型项目,建议分阶段进行编号操作,以减少错误排查难度。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值