proteus v7.8 器件名称被软件篡改bug 的解决方案
BUG描述
在做单片机实验时,发现从某一个时间保存的设计图文件开始,在添加新的电子元件时会出现部分旧元件的名称被捆绑替换为新元件的名称,导致元件名称出现重复,无法模拟运行。而且手动修改后会被再次替换为重复名。
在尝试了网上提供的使用"全局标注Global Anotator"自动命名方法后未能解决,在尝试时发现proteus软件长时间占用30%的CPU资源,但是状态是未响应,等待20分钟后没有新的进展。自行尝试使用软件安装程序的修复功能,修复后也未能解决。

图1.名称被捆绑了的旧元件们

图2.发生捆绑的新元件
解决方法
使用proteus的选区导出(Export Section)功能,将设计图各模块进行导出备份后,在新设计图中重新导入模块。导出的模块是附带电路标签的,因此只需要使用"全局标注"功能为元件全局命名就能直接开始模拟运行。
具体步骤
- 打开设计图,框选出一个模块。

- 在 "文件File" 文件菜单项里点击 "选区导出Export Section" 选项。

-
在保存窗口中选择好模块存放路径,输入存放的文件名后点击保存。
-
重复以上步骤,将所有模块导出备份。
-
完成备份后,新建一个设计图。
-
在 "文件File" 文件菜单项里点击 "选区导入import Section" 选项。
-
在导入窗口中进入模块存放路径,点击选区文件后,将选区模块放置在合适位置。


- 重复以上步骤即可将所有模块导入。导入完成后,在"工具Tools"菜单项里使用"全局标注Global Anotator"功能为元件们命名,在弹出的选项窗口里选择"整个文件Whole Design"和"全局Total"项。

- 点击确定后,软件不到1秒就完成了命名工作。点击运行,可看到整体工作逻辑和先前无误。


- 添加新的元件时也没有发生先前的BUG。

原因推测
设计图文件并不是新建的,而是从先前的旧设计图文件上修改而来,旧设计图是将普中开发板原理图复现了三分之二模块的文件。猜测可能旧的元件状态元数据是留存在文件里,和新元件的名称地址产生了冲突?