1
\$\begingroup\$

Edit: The question is answered in a such way that I am happy now, however for the interested ones, the mystery of the question is still on.

enter image description here

enter image description here

These two are the parts from my circuit, related to the question.

enter image description here

Now, I want to be able to plot V(pnp_c), however it does not allow me to choose it. You can see from the above list that there is not such quantity as V(pnp_c). If I remove -9v label, then it allows me to select it. You may say that "they are essentialy the same point, they are at equal potentials, why bother?". My answer to that is, while simulating the power of the pnp by ALT + left click, Ltspice formulates it so that it will depend the value of -9v label as follows:

enter image description here

Please note that npn power expression is independent from V(+9v) instead it is related to npn_c which is nice.

The problem starts here, If I want to change the power rail to another value, by directly connecting a voltage source, or by changing it with another label, then I also have to replot the power on the pnp. However, if it were be using V(pnp_c) instead of V(-9v) then this problem would have been eliminated.

I wanted to think that it just don't accept two nodes with different names and it chooses the constant voltage one, however as you can see from the above picture, for npn, the arrangement is the same but it does not create a problem and recognises npn_c as a node. Things get more confusing at that point.

So, why I am able to choose npn_c as a node but cannot choose pnp_c ?

\$\endgroup\$

4 Answers 4

2
\$\begingroup\$

Like Michael Karas already answered and LTspice also states in its help file:

Each node in the circuit requires a unique name.

Still, playing around with labels on the same node seems to reveal that

  • LTspice prefers the bottom labels above the top labels in a schematic (first rule)
  • next, LTspice prefers right side labels above left side labels (second rule)
  • LTspice picks the label that fits above rules best and uses that name as node name
  • order of placement or alphanumerical order of naming is not relevant
  • (what OP also already discovered) you can still use the other (less preferred) label name to refer to its node (in the waveform viewer as well as in behavioral sources, etc)

So, in your case -9v is lower than pnp_c, so -9v 'wins' becoming the final node name.

And npn_c is lower than +9v (first rule, despite it is more to the right side (second rule)) , so npn_c 'wins' becoming the final node name.

The ugly way to solve your issue is swapping -9v and pnp_c in vertical order.
A better way is not connecting several labels to the same node, but insert a component between the labels instead.
I found that inserting a jumper will not show 2 different node names (despite the description suggests).
Inserting an e.g. 1mΩ resistor between the labels -9v and pnp_c would work (same applies to other labels on the same net).

\$\endgroup\$
2
  • \$\begingroup\$ Thanks, I made some edits which I think you made some typing errors, please see it. I also don't understand the despite part. If your listing of rules correct, I think there is some mismatch between your examples and the rules. Or, just I don't get it. Anyway if the rules are correct, then the answer is enough. \$\endgroup\$
    – muyustan
    Dec 4, 2019 at 3:07
  • 1
    \$\begingroup\$ @muyustan Your corrections are correct. I wrongly copied/pasted that sentence. \$\endgroup\$
    – Huisman
    Dec 4, 2019 at 7:37
1
\$\begingroup\$

It may very well be due to the fact that you have labeled nodes with two different labels. LTSpice probably refers internally to one of the two labels with priority. It is hard to predict what determines the priority but it could be the order in which the labels were created.

There is a clean solution to this problem.

  1. Do not use multiple names per node
  2. When you need to interconnect two nodes that have separate names then use the JUMPER component that can be found in the [misc] folder of the component symbol selector.
\$\endgroup\$
3
  • \$\begingroup\$ Don't quote me on this, but IIRC the last label is considered, unless it's GND (and maybe COM?). \$\endgroup\$ Dec 3, 2019 at 18:34
  • \$\begingroup\$ jumper does not work.... I have been trying but it is not giving me capability of naming 2 labels at a point \$\endgroup\$
    – muyustan
    Dec 5, 2019 at 23:39
  • 1
    \$\begingroup\$ @muyustan - Yes, obviously the JUMPER component is not working properly. I will look into filing a bug report to the LTSpice folks and letting them know that they need to make JUMPER work properly. In the mean time go ahead and use the a 0.001 ohm resistor in place of JUMPER as suggested by Huisman. \$\endgroup\$ Dec 6, 2019 at 2:56
1
\$\begingroup\$

I have posted a bug report to the LTSpice folks via the email link in the About Box on the Help Menu. Below is the text of the mail sent. I will try to update this when a response comes back from the folks at www.analog.com (formerly of www.linear.com).

From: mkaras@carousel-design.com

To: LTspice@analog.com

JUMPER Component Not Working

Please reference this question/answer thread on the Electronics Stack Exchange Site:

LTspice, plotting a node voltage problem

It turns out that the JUMPER component does not work correctly. In fact placing the component into a schematic is no different than using a direct wire to connect two differently named nodes.

Please correct this as there is a true need for a JUMPER component. In real life when a jumper (i.e. two header pins on a circuit board connected together through a push on shunt) is used it represents a small series resistance to the circuit. Because of this it would be an acceptable fix if the JUMPER component was modeled as a very small valued resistor such as 0.001 ohms.

A separate model of JUMPER that had a control parameter to selectively make the jumper look open or closed would be handy as well. I know that such behavior can already be modeled with the SWITCH component but the proposed controlled JUMPER could be simpler without the need to specify the open and closed impedances.

Michael Karas

Carousel Design Solutions

\$\endgroup\$
5
  • \$\begingroup\$ is there any news? \$\endgroup\$
    – muyustan
    Dec 10, 2019 at 17:35
  • 1
    \$\begingroup\$ @muyustan - Nope. It is not uncommon to wait weeks for an answer to a query like this. Sometimes you never hear back!! \$\endgroup\$ Dec 10, 2019 at 17:44
  • \$\begingroup\$ @jonk here, maybe you have an idea about situation. \$\endgroup\$
    – muyustan
    Dec 15, 2019 at 10:25
  • \$\begingroup\$ @muyustan - You should not put your life and project on hold waiting for a resolution of this LTSpice problem. Move on and use the 0.001Ω resistor idea. \$\endgroup\$ Dec 15, 2019 at 16:02
  • \$\begingroup\$ I am doing it already. We had a conversation under another answer, so I tagged him here. \$\endgroup\$
    – muyustan
    Dec 15, 2019 at 16:14
0
\$\begingroup\$

A quick work around for those who want to continue to use the jumper symbol:

  1. Navigate to the jumper symbol in \LTspiceXVII\lib\sym\Misc
  2. Copy and paste it into your working directory under a new name
  3. Place the modified jumper into your schematic
  4. CNTR: + right click the modified symbol in the schematic
  5. Change the 'prefix' attribute to 'R'
  6. Change the value to something that will not interfere with you circuit

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.