This one can be confusing at first glance, especially if you are also working with Systems Modeling Language (SysML^{®}) and SysML Extension for Physical Interaction and Signal Flow Simulation (SysPhS) where each Modelica Pin is represented by a SysML Port. Also, in microcontroller terminology, Port is often used as a functional description for behaviour controlled by connection to potentially multiple physical Pins.

Here's a typical definition of the Modelica `OnePort`

from Wolfram SystemModeler:

```
partial model OnePort "Component with two electrical pins p and n and current i from p to n"
SI.Voltage v "Voltage drop of the two pins (= p.v - n.v)";
SI.Current i "Current flowing from pin p to pin n";
PositivePin p "Positive electrical pin";
NegativePin n "Negative electrical pin";
equation
v = p.v - n.v;
0 = p.i + n.i;
i = p.i;
end OnePort;
```

Where:
```
connector PositivePin "Positive pin of an electrical component"
SI.ElectricPotential v "Potential at the pin";
flow SI.Current i "Current flowing into the pin";
end PositivePin;
```

```
connector NegativePin "Negative pin of an electrical component"
SI.ElectricPotential v "Potential at the pin";
flow SI.Current i "Current flowing into the pin";
end NegativePin;
```

Apart from `PositivePin`

and `NegativePin`

offering the opportunity to carry distinctive icons, there is nothing intrinsically "positive" and "negative" about them, that is just imposed by signs used in equations in a usage context, such as here for "voltage drop":
```
v = p.v - n.v;
```

The counting of "Ports" as used above is related to the number of current balancing equations:
```
0 = p.i + n.i;
```

Thus the simpler Modelica `TwoPin`

has no "Ports":
```
partial model TwoPin "Component with two electrical pins"
SI.Voltage v "Voltage drop of the two pins (= p.v - n.v)";
PositivePin p "Positive electrical pin";
NegativePin n "Negative electrical pin";
equation
v = p.v - n.v;
end TwoPin;
```

And the Modelica `TwoPorts`

has 2 current balancing equations:
```
partial model TwoPort "Component with two electrical ports, including current"
SI.Voltage v1 "Voltage drop of port 1 (= p1.v - n1.v)";
SI.Voltage v2 "Voltage drop of port 2 (= p2.v - n2.v)";
SI.Current i1 "Current flowing from pos. to neg. pin of port 1";
SI.Current i2 "Current flowing from pos. to neg. pin of port 2";
PositivePin p1 "Positive electrical pin of port 1";
NegativePin n1 "Negative electrical pin of port 1";
PositivePin p2 "Positive electrical pin of port 2";
NegativePin n2 "Negative electrical pin of port 2";
equation
v1 = p1.v - n1.v;
v2 = p2.v - n2.v;
0 = p1.i + n1.i;
0 = p2.i + n2.i;
i1 = p1.i;
i2 = p2.i;
end TwoPort;
```

The use of the name "OnePort" above is at odds with the concept of "physical port" referenced here https://en.wikipedia.org/wiki/Modelica:

Connectors describing physical interactionThe interaction of a component to other components is defined by physical ports, called connectors, e.g., an electrical pin is defined as:When drawing connection lines between ports, the meaning is that corresponding connector variables without the "flow" prefix are identical (here: "v") and that corresponding connector variables with the "flow" prefix (here: "i") are defined by a zero-sum equation (the sum of all corresponding "flow" variables is zero). The motivation is to automatically fulfill the relevant balance equations at the infinitesimally small connection point.`connector Pin "Electrical pin" Voltage v "Potential at the pin"; flow Current i "Current flowing into the component"; end Pin;`