-
Notifications
You must be signed in to change notification settings - Fork 114
KLC: Relay naming convention #418
Comments
I would follow the switch naming convention as close as feasible. We might also think about a standardized naming for pins (contacts and coils) to allow for the use of generic symbols. (similar to what we did with audio connectors) My suggestion would be to follow EN 5000 (overview found in https://www.finder-relais.net/en/Finder-general-technical-information-en.pdf#page=2) Edit: I would still ask for specific symbols but still use generic pin numbering. Meaning similar solution to the transistors. (The generic symbol allows the user to easily use a relay not yet added to the lib or it also allows for a more flexible design flow. The fully specified alternative symbol allows for usecases where this is benefitial and also to document important information in the symbol description. We might also want to standardize it.) |
Current switch convention: New relay proposal: |
Thanks for starting this, @antoniovazquezblanco ! I believe the root question was regarding footprints, so I'll add in my thoughts just for footprints below. In my experience the The switch footprint naming from KiCad/kicad-symbols#580 (comment) is That means the type and Let's take the Panasonic JW series as an example. Manufacturer at the end means that the Panasonic JW footprints are split all over the place, grouped by the contact configuration. To me, grouping by series is more important than the contact configuration. While switches are perhaps more compatible than relays, relays often have rather unique characteristics. Contact construction can vary greatly between relays which have the same body size and ratings on paper. I've been bitten by this before and so to me, knowing the vendor of the relay is important. I can't accept supply chain folks adding on other sources because there's too many criteria to evaluate just from a datasheet. Contact configuration and current certainly don't tell the whole story. My experience is with some small signal relays and many power relays. And I also think body size is an important piece of info when selecting a relay, and that's not in the switch footprint name at all. If the relay footprint name is based off the switch one, where is body size? Or am I unusual and body size isn't so important? So from what I see the discussion is about the placement of the manufacturer info. Which is best to have at the front of the footprint name?
I described my thoughts about why I prefer the manufacturer at the front. To summarize:
Naturally, there are downsides as well. Nothing is perfect. That's just my feeling. And if the FP filters are clever then CvPcb probably only shows matching footprints anyway so to KiCad users it may not matter. Wow. That was a lot. Sorry if I went overboard. I was just typing what came to mind. I'm on board with those relay pin names and used on generic and specific symbols. Good reference link. |
I do not know why we have manufacturers at the start for other libs. In IC package libs it can make sense as it then clearly differentiates generic from manufacturer specific footprints. For switches (and relays) all footprints are manufacturer specific. Meaning i strongly vote for having at least the contact configuration and coil type at the start as it will allow us to be more flexible in the future (It allows having generic symbols in some future. Possibly with aliases for specific parts assuming the v6 format allows for having aliases with different footprints.) Edit: In general i would not want to have another massive renaming at the start of v6. Things like where to put the manufacturer name are highly subjective and i think we can have differences here between libs as we can have different goals for them. (Relays and switches are quite different to IC packages. So are connectors.) |
From the last comments I get that the manufacturer should be kept at the end for the moment. Have we reached an agreement about naming or is there anything else that should be discussed? Thank you guys! |
It is not true that relays are all manufacturer-specific. At least not for power relays I'm familiar with. As I showed above, because the FP filter wildcards catch the manufacturer and series name in any position it does not matter where in the footprint name they are located. If if making this easy is the most important option (and also assuming your first point about all relays being manufacturer-specific), why not just use the manufacturer and series and dispense with any other fields? No matter what footprint name format is selected, there will be lots of non-adhering footprints. Possibly all of them. So if matching the format is desired for v6, many libraries will need a massive renaming to adhere. @antoniovazquezblanco But I still have a couple of questions, taking the format you proposed at #418 (comment):
|
Some manufacturers provide sockets for relays so they can be replaced easely. |
It should not matter physically I agree
I think this could help the user but we should advance what to do with non-standard shaped relays. Do we omit this information or do we use an axis aligned bounding box?
Maybe do the same as in the converters and add that info at the end. Current standard summary: |
Thanks for starting and continuing this discussion! 2 Got it. Thank you. I would suggest this goes into the 5 Yes, I would say an overall bounding box for odd-shaped relays. And that's only if size is accepted. |
Current standard options:
Do you agree with size positioning in the name? I think that the rest mainly depends on what Rene considers more adecuate. I personally am more familiar withe the xPyT notation but XFormY is more common around the relay world. Thanks! |
To answer your questions adressed at me:
For connecting the correct generic symbol to the correct footprints. How else would you filter it? (Same as with the switches) Unless kicad adds additional things we can filter for such things need to be encoded in the footprint name. (Or do you really want to keep the lib fully atomic? Fine by me but i still feel we paint us into a corner that way.) |
Additionally: Why is there both FormX and the pole/throw nomenclature in there. This seems silly. Lets keep it as pole/throw only as it is intuitively understandable (FormX means one needs to learn what the letters stand for. Poly/Throw tells you on the tin what to expect.) |
I mentioned above that relays seem generally manufacturer-specific. So I understand your point about latching vs non-latching and NO vs NC in the footprint name would apply when generic symbols were used with a specific footprint. Right? Is there another case to consider? Intuitiveness depends on if one is familiar with the XFormY nomenclature or the pole/throw nomenclature. Intuitive to one person doesn't mean intuitive to everyone, especially when there are regional differences around the world. |
The nomenclature would be quite clear if we write out the words throw and pole instead of shortening them to a single letter. Maybe this would be the way to go? (pole and throw should be understandable by every electrical engineer with at least a bit of understanding of the english language. And we kind of assume the later to be true as we do not provide translated libraries anyways.) |
I would vote to keep the P and T nomeclature as it is very well known and writing down the full word would make FP names much longer...
Should we include height in dimensions? |
Discussion originated in KiCad/kicad-footprints#1638
There seems to be multiple THT relay conventions for naming. In the relays folder I can see the following examples:
It would be desirable to reach a consensus about relay naming and if necessary document it afterwards.
For the time being @evanshultz has given the following input:
I am also thinking about the
1P1T
vs1FormC
notations. I personally prefer to see the number of poles an throws but relay notation includes more information (normally open/closed) so maybe we should drop the usage of both notations in favour of the form notation?Current proposal based on that input:
Relay_[Manufacturer]_[Model]_[poles]Form[A|B|C]_[Options]
RelaySocket_[Manufacturer]_[Model]_[poles]Form[A|B|C]_[Options]
The text was updated successfully, but these errors were encountered: