Protel 99SE Error: Net already exist问题分析和解决方案
2009-11-07 16:23
627 查看
提前声明一下:Protel 99SE存在bug,接下来详细解释:
大家在使用Protel 99SE导入网表(Load Nets)时,是不是经常出现Error: Net already exist的错误
Protel层次原理图在生成报表(Create Netlist)时,Net identifier Scope一般选用Sheet Symbol / Port Connections
当出现Error: Net alreay exist时,我们要看错误提示对应的左边Action是什么
我们根据左边Action的提示分情况讨论:
一、如果是Power port
例如是:Add new net +5(或者是:Add new net GND)
这时候我们不要急于去想是不是原理图画错了,难道Protel 99SE有bug也要怪我们吗?!
把生成的网表(.NET)打开,按ctrl+f,查找+5
我们会发现有下面的情况出现:
(
+5
D505-A
)
(
+5
C602-1
C603-1
J101-1
J101-4
J103-13
)
+5有两套连接,难怪在Load Nets时Protel会报错呢
大家如果细心的话,会知道Power port的作用域(scope)是整个项目(project)。
Protel在生成报表时,却把Power port根据Sheet而分开了!这不是自己跟自己过不去吗?!
这就是bug的所在!
解决方法便是,手工修改.NET文件,将这些分开的电路整合在一起,修改后应该是:
(
+5
D505-A
C602-1
C603-1
J101-1
J101-4
J103-13
)
二、如果是自定义的Netlabel
例如是:Add net net Key1
我们依然打开网表,会发现:
(
KEY1
J101-17
U101-33
)
(
KEY1
J701-17
S700-2
)
可以看出,Protel依然是按sheet将KEY1分成了两块电路。
我认为这也是Protel的一个bug,因为采用Sheet Symbol / Port Connections生成网表时,自定义的Netlabel的作用范围应该是local的,只在本sheet内有效,所以即使再执行一次 Add new label KEY1也不应该发生Error: Net already exist的错误。
解决方法:1、如果你本身就不想让这两块电路相连(例如有些人想在一块PCB板中生成两块互不关联的电路板,这两块电路板将来采用排线相连),唯一的方法就是:修改Netlabel,在同一个项目中,自定义的Netlabel在一个sheet中出现,就不能在别的sheet中再次出现。可以在Netlabel前加上sheet的编号,例如修改后变成:
(
KEY1
J101-17
U101-33
)
(
7_KEY1
J701-17
S700-2
)
2、如果你想让这两块电路相连,即自定义的Netlabel的作用域是全局的,解决方法就简单多了
那就是在生成网表时,Net identifier scope选择Net labels and Ports global,这样所有问题都OK了
采用这种方法的缺点是:削弱了层次原理图设计的层次性
上面费了那么半天话,实际上就是一句话:
Net identifier scope选择Net labels and Ports global,自成一体的独立电路中的所有Net identifier(包括Power port,Netlabel等等)采用不同的命名即可
大家在使用Protel 99SE导入网表(Load Nets)时,是不是经常出现Error: Net already exist的错误
Protel层次原理图在生成报表(Create Netlist)时,Net identifier Scope一般选用Sheet Symbol / Port Connections
当出现Error: Net alreay exist时,我们要看错误提示对应的左边Action是什么
我们根据左边Action的提示分情况讨论:
一、如果是Power port
例如是:Add new net +5(或者是:Add new net GND)
这时候我们不要急于去想是不是原理图画错了,难道Protel 99SE有bug也要怪我们吗?!
把生成的网表(.NET)打开,按ctrl+f,查找+5
我们会发现有下面的情况出现:
(
+5
D505-A
)
(
+5
C602-1
C603-1
J101-1
J101-4
J103-13
)
+5有两套连接,难怪在Load Nets时Protel会报错呢
大家如果细心的话,会知道Power port的作用域(scope)是整个项目(project)。
Protel在生成报表时,却把Power port根据Sheet而分开了!这不是自己跟自己过不去吗?!
这就是bug的所在!
解决方法便是,手工修改.NET文件,将这些分开的电路整合在一起,修改后应该是:
(
+5
D505-A
C602-1
C603-1
J101-1
J101-4
J103-13
)
二、如果是自定义的Netlabel
例如是:Add net net Key1
我们依然打开网表,会发现:
(
KEY1
J101-17
U101-33
)
(
KEY1
J701-17
S700-2
)
可以看出,Protel依然是按sheet将KEY1分成了两块电路。
我认为这也是Protel的一个bug,因为采用Sheet Symbol / Port Connections生成网表时,自定义的Netlabel的作用范围应该是local的,只在本sheet内有效,所以即使再执行一次 Add new label KEY1也不应该发生Error: Net already exist的错误。
解决方法:1、如果你本身就不想让这两块电路相连(例如有些人想在一块PCB板中生成两块互不关联的电路板,这两块电路板将来采用排线相连),唯一的方法就是:修改Netlabel,在同一个项目中,自定义的Netlabel在一个sheet中出现,就不能在别的sheet中再次出现。可以在Netlabel前加上sheet的编号,例如修改后变成:
(
KEY1
J101-17
U101-33
)
(
7_KEY1
J701-17
S700-2
)
2、如果你想让这两块电路相连,即自定义的Netlabel的作用域是全局的,解决方法就简单多了
那就是在生成网表时,Net identifier scope选择Net labels and Ports global,这样所有问题都OK了
采用这种方法的缺点是:削弱了层次原理图设计的层次性
上面费了那么半天话,实际上就是一句话:
Net identifier scope选择Net labels and Ports global,自成一体的独立电路中的所有Net identifier(包括Power port,Netlabel等等)采用不同的命名即可
相关文章推荐
- 关于Address already in use: connect问题分析及解决方案
- java.net.SocketException: Too many open files问题分析及解决方案
- java.net.SocketException: Too many open files问题分析及解决方案
- java.net.SocketException: Too many open files问题分析及解决方案
- Ext.Net/ExtJs:关于TextField控件内size、maxLength控制文本框输入字符长度属性失效问题分析以及解决方案
- myeclipse启动TomCat 出现java.net.BindException:Address already in use:JVM_Bind 问题的解决方案
- Linux下Socket编程的端口问题( Bind error: Address already in use )
- atitit.提升备份文件复制速度(1) -----分析统计问题and解决方案
- 执行脚本提示shell-init: error retrieving current directory:getcwd问题分析
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- 棘手问题java.net.SocketException: Connection reset by peer: socket write error未解决
- ASP.NET Core 2.0 本地文件操作问题及解决方案
- Linux下Socket编程的端口问题( Bind error: Address already in use )
- socket 关闭但端口占用问题 Bind: Address Already in Use Or How to Avoid this Error when Closing TCP Connections
- asp.net使用office遇到的权限问题解决方案
- Error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile '.../ins_net_client.mk'--68%问题
- 关于vista win7安装Infragistics NetAdvantage,报Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方案
- asp.net MVC 常见安全问题及解决方案
- ASP.NET Session丢失问题原因及解决方案
- java.net.SocketException: No buffer space available (maximum connections reached?): connect 问题分析