EEVblog Electronics Community Forum

EDA => Proteus => Topic started by: taydin on April 06, 2019, 08:20:49 pm

Title: Subcircuits work unexpectedly, hopefully this isn't by design
Post by: taydin on April 06, 2019, 08:20:49 pm
Ok, I'm using Proteus 8.8 SP1 and I have created a subcircuit, which is basically a linear power supply. Then I have made two copies of this subcircuit.

First strange thing: The subcircuit copies haven't received a new reference, and are still showing up as SUB1. When I copy a single component, like a cap, Proteus gives it a new reference, but this isn't happening with a subcircuit.

Oh well, so I went ahead and changed the references of the copies to SUB2 and SUB3. Then I entered the schematic of SUB1 and made a modification.

Second MAJOR strange thing: The change I have made was not reflected in SUB2 and SUB3!!! This doesn't make any sense to me at all. This completely defeats the purpose of having subcircuits.

I hope I'm doing something wrong and this isn't by design. But if it is by design, then I don't know how this feature can be effectively used. Imagine using subcircuits to build a stereo amp. If you have made 10 mods to the LEFT subcircuit, you have to make the same modifications to the RIGHT channel.
Title: Re: Subcircuits work unexpectedly, hopefully this isn't by design
Post by: taydin on April 06, 2019, 10:29:54 pm
Did more testing on this ...

If I add new components to SUB1, they are automatically added to SUB2 as well. But if I change the value of a resistor in SUB1, that same resistor still has the old value in SUB2.
Title: Re: Subcircuits work unexpectedly, hopefully this isn't by design
Post by: taydin on April 09, 2019, 07:06:28 am
Contacted Proteus support. Their response was that this is by design and that it's sometimes useful for subcircuits to have slightly different component values ...

I think instead of keeping component values totally separate as it is today, it would be much better to keep same and synchronize the component values BY DEFAULT, and allow on a case by case basis to separate the values. Right now, there is no easy way to ascertain that all subcircuits have the same component values.