Topic: Wie erstellt man am besten eine Netzliste?

Hallo zusammen,

aktuell arbeite ich mich bei QET ein, um das bei uns in der Firma auch für neue Pläne zu verwenden.
Ich komme eigentlich aus der Embedded-Ecke, bin daher eher bei Altium und KiCAD statt bei QET und EPLAN zu Hause :-)
Falls ich also etwas nicht so mache oder denke, wie man es "eigentlich macht", liegt es an purem Unwissen - ich lerne aber gerne dazu!

Ich habe aktuell einen EPLAN-Schaltplan vor mir, den ich umzeichne, allerdings auch gleich ein Problem mit einer essenziellen Anforderung:
Wir müssen für jeden Schaltplan auch eine Netzliste beilegen (sprich: welche Klemmen/Stecker werden mit welchem Gegenstück verbunden). Finde ich für unsere Produktion auch gut zu haben, dann wissen die gleich, wie die Verdrahtung anzupassen ist.

Da es keine direkte Funktion dafür zu geben scheint (oder?), habe ich mich mal durch die .qet-Datei gelesen. Für jedes <element> gibt es ja ein <terminal> mit einer uuid, womit ich die <conductors> absuchen kann. Das erledigt aktuell ein kleines Programm, das mir die Datei durchliest.
Hier mal ein Beispiel:

 <dynamic_text Valignment="AlignTop" Halignment="AlignLeft" rotation="0" keep_visual_rotation="false" frame="false" text_width="-1" uuid="{34fbbcdf-f66f-47e9-b976-912365181dc0}" text_from="UserText" y="-13" x="58" z="27" font="Sans Serif,5,-1,5,0,0,0,0,0,0,normal">
     <text>4</text>
</dynamic_text>
<terminal uuid="{f27c1ce3-ef89-4baa-a974-284edf487ed7}" orientation="n" y="-30" type="Generic" x="40" name=""/>
<terminal uuid="{f2f28d97-518d-4f71-97f4-51ef317cdf80}" orientation="n" y="-30" type="Generic" x="0" name=""/>

Ich habe zwar die dynamischen Texte meiner Bezeichner, aber wie ich sehe keinen Bezug zu den <terminals>.
Die Felder "name" sind bei meinen Komponenten leer (verständlich, weil alles was man so eingibt ja lediglich dynamische Texte sind). Ich kann zwar von Hand neue Bauteile erstellen, aber dann habe ich ja zig Varianten (Schließer, Öffner, Hauptkontakte, Hilfskontakte, Nothalt mit mehreren Ebenen, puh!), weil diese Felder ja fix sind.
Kann man diese Felder irgendwie auch bei der Schaltplaneingabe ändern?
"name" wird ja bestimmt nicht umsonst mitgeschleppt. Wenn das ginge, wäre mir das bereits schon recht!

Oder gibt es gar eine komplett andere Lösung, die "out of the box" funktioniert?
Wie macht ihr das so? Vielleicht sehe ich gerade einfach den Wald vor lauter Bäumen nicht :-)

Grüße aus der Nähe von Hongkong
Stephan

Re: Wie erstellt man am besten eine Netzliste?

Hallo Stephan,

maybe see Ronny videos?

https://qelectrotech.org/forum/viewtopic.php?id=2183


Best regards,
Laurent

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Wie erstellt man am besten eine Netzliste?

Hallo Stefan,

So wie ich das sehe, wird das schwierig ... zumindest im Moment.

Ja, bei den Anschlüssen der Elemente sind bei neueren Dateiversionen Namen und UUIDs vorhanden. Die UUIDs werden beim Erstellen des Elements automatisch vergeben, aber für die Eingabe der Namen ist der Ersteller des Elements verantwortlich.
Von daher hast Du es auf jeden Fall (bei Benutzen von vorhandenen Elementen) nicht leicht, die herauszufinden, wo Namen und UUIDs vorhanden sind.
Zusätzlich:
Die Eigenschaften "Name" und "UUID" bei den Anschlüssen mögen zwar bei den von dir benutzten Elementen vorhanden sein, aber soweit ich das verstehe, sind diese Angaben im Moment noch "for future use"!  nomicons/sad
Joshua (der Haupt-Entwickler von QET) hat diese Eigenschaften vor einiger Zeit für die Elemente eingeführt, die werden aber im Schaltplan-Modul noch nicht weiter verwendet. Ich habe zum Testen einfach mal zwei Bauteile, von denen ich weiß, dass sie Namen und UUIDs haben, miteinander in einem Plan verbunden, finde aber in der *.qet-Datei keinen Hinweis darauf, dass die Klemmstellen irgendetwas miteinander zu tun haben.
Leider haben die beiden Entwickler von QET im Moment aus persönlichen Gründen wenig Gelegenheit, aktiv an QET zu entwickeln, sodass wahrscheinlich noch Zeit ins Land geht, bevor die Namen der Anschlüsse im Schaltplan Verwendung finden ... leider!
Es sei denn, Du kennst jemanden, der die Entwickler aktiv unterstützen kann!  nomicons/wink
(Das gilt selbstredend auch für die anderen Leser!)

Re: Wie erstellt man am besten eine Netzliste?

Um einen eindeutige Verdrahtungsvorschrift zu erstellen, muss aus dem Schaltplan natürlich auch eindeutig hervorgehen, welcher Draht von wo nach wo gezogen werden sollI

Im Bild (Anhang) siehst Du die Schwierigkeit:
Im oberen Teil ist nicht ersichtlich, welche Verbindung von wo nach wo geht. Jedenfalls nicht auf den ersten Blick.
Für die eindeutige Verdrahtungsvorschrift müssten die Verbindungen, wie im unteren Teil zu sehen, mit Abzweigen erstellt werden. Dann kann man sehen, wie die Leitungsführung ist. Das solte im Idealfall automatisch vom Schaltplan-Editor erledigt werden und nicht wie hier mit den Elementen "Abzweig".

An den vielen "müßte" und "sollte" kannst Du vielleicht ablesen, dass diese Funktion so noch nicht vorhanden ist.

Du wirst also wahrscheinlich selber etwas "stricken" müssen, das sich durch die conductor-Einträge der qet-Datei hangelt und mit den UUIDs der Bauteile und Anschlüsse die Verdrahtung herauspuzzelt. Bedingung für eine "saubere" Verdrahtungsvorschrift ist aber auch die persönliche Disziplin des Schaltplan-Erstellers, die Verbindungen so zu ziehen, wie es später verdrahtet werden soll.  nomicons/wink

Post's attachments

Bildschirmfoto_Verdrahtung.png, 33.78 kb, 1069 x 634
Bildschirmfoto_Verdrahtung.png 33.78 kb, 9 downloads since 2024-03-29 

Re: Wie erstellt man am besten eine Netzliste?

https://qelectrotech.org/forum/viewtopi … 079#p17079

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Wie erstellt man am besten eine Netzliste?

Das Klemmenplan-Plugin oder der Klemmleisten-Manager deckt auch die Verbindungen zwischen Bauteilen ab?
Ich glaube das ist der Anwendungsfall, den Stefan für die Produktion beschreibt...

Re: Wie erstellt man am besten eine Netzliste?

Hello Laurent,

excuse me, here in English in case my descriptions were not so clear.
What I want to do is very simple:
Every element has a number of terminals that are connected with another element's terminals via conductors.
What I need to make is a human-readable list of these connections in that shape that later anybody can take this list and see
things like "Start: K1 (Terminal 3), End: XMAIN (Terminal 5), Color: Green, Diameter: 1mm²".
Therefore I want to find an elegant solution to set the terminal names without creating a new part each time that name is different.
Can you get my meaning? nomicons/smile

Hallo plc-user,

verstanden, ich dachte mir schon, dass das nicht ganz so einfach ist - Du hast aber erkannt, was ich gerne möchte nomicons/smile
Das mit den Verbindungen wäre weniger ein Problem, weil es bei uns alle gewohnt sind, Spleiße zu verwenden, um die Leiter zu verbinden.
Ich bin zwar auch in Qt "drin", bin aber letztens an irgendwelchen Abhängigkeiten gescheitert, sonst hätte ich mal schnell versucht, mich in das Projekt einzuarbeiten und ggf. einen kleinen "Hack" einzubauen. Probiere ich mal bei Gelegenheit nochmal aus...


Have a great weekend,
Stephan

Re: Wie erstellt man am besten eine Netzliste?

Hello Stephan,

Compiling Qet with its dependencies can be very easy on an OS like linux Debian like Ubuntu, etc., and very complicated on Windows.

Example on Debian like distrib

Build-Depends: debhelper (>= 11),
               libqt5svg5-dev,
               qt5-qmake,
               qtbase5-dev,
               libkf5widgetsaddons-dev,
               libkf5coreaddons-dev,
               libsqlite3-dev,
               pkgconf

Install also Git, qtcreator, g++ etc

git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git

OSX: https://qelectrotech.org/wiki_new/doc/macosx
Debian script packaging : https://qelectrotech.org/wiki_new/doc/packaging_debian
Windows: https://qelectrotech.org/wiki_new/doc/qt_pour_windows


See also:
https://qelectrotech.org/forum/viewforum.php?id=17


BTW, on 0.100.0 you can add a label name for each terminal in element editor, for now only show in qet project XML and element editor.

Best regards,
Laurent

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

9 (edited by plc-user 2024-03-30 12:36:59)

Re: Wie erstellt man am besten eine Netzliste?

Hallo Stefan,

für konkrete Hilfe zum Aufsetzen eines Build-Systems wäre es hilfreich zu wissen, auf welchem System Du QET (mit-)entwickeln willst.

Da ich normalerweise ein sehr schlankes Xfce4 auf Debian unstable nutze, wollte ich das an dieser Stelle "sauber" getrennt halten und habe deswegen eine separate VM mit Debian stable mit LXQT als Fenstermanager aufgesetzt. Da ist dann schon eine ordentliche QT-Umgebung vorhanden, in die sich qtcreator und die anderen Pakete "schlanker" einfügen lassen als bei einer GTK-Umgebung.
Trotz des "Zusatzaufwandes" der VM war das insgesamt recht überschaubar, bis dann erstmalig das Kompilieren von QET geklappt hat. nomicons/smile

Re: Wie erstellt man am besten eine Netzliste?

Just a suggestion:
https://qelectrotech.org/forum/viewtopic.php?id=2716

Re: Wie erstellt man am besten eine Netzliste?

With Windows I have my bittersweet experience... Better don't touch Qt there once it runs nomicons/wink
Usually I do it like plc-user suggests, one VM for similar setups... With Debian mostly, just works without problems.
Let me do the set-up, I'll be back in two or three days - it's a bit busy in the office right now.

Best regards
Stephan

Re: Wie erstellt man am besten eine Netzliste?

Maybe see Xmlstarlet scripts:

https://qelectrotech.org/forum/viewtopi … 6040#p6040
https://qelectrotech.org/forum/viewtopi … 4579#p4579

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Wie erstellt man am besten eine Netzliste?

Sorry, it took a bit longer than I expected, the day job is busy recently...
I have set up a Debian VM with lxqt and Qt5, so far everything up and running.
When compiling the project I still get a message about KwidgetAddons and KcoreAddons, the rest seems fine.
I remember faintly that something has to be built from the sources after reading that a while ago,
could you point me to this again kindly? nomicons/smile

Best regards
Stephan

Re: Wie erstellt man am besten eine Netzliste?

Hallo Stephan,

ich habe noch diese beiden installiert:

apt install libkf5coreaddons-dev
apt install libkf5widgetsaddons-dev

Re: Wie erstellt man am besten eine Netzliste?

Die hatte ich schon in der aktuellen Version drauf, trotzdem kommt diese Meldung:
https://up.picr.de/47381074pk.png

Re: Wie erstellt man am besten eine Netzliste?

sudo apt install libqt5svg5-dev pkgconf libsqlite3-dev g++ qtcreator  libkf5widgetsaddons-dev libkf5coreaddons-dev git 

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Wie erstellt man am besten eine Netzliste?

Vielleicht helfen dir meine Einstellungen bei der Fehlersuche?
Ich fand das jedenfalls alles ziemlich hakelig, bis das lief...

Post's attachments

Bildschirmfoto - qtcreator - kits.png, 125.02 kb, 1209 x 789
Bildschirmfoto - qtcreator - kits.png 125.02 kb, 6 downloads since 2024-04-07 

Bildschirmfoto - qtcreator - qtversion.png, 60.33 kb, 1201 x 462
Bildschirmfoto - qtcreator - qtversion.png 60.33 kb, 7 downloads since 2024-04-07 

Re: Wie erstellt man am besten eine Netzliste?

Unfortunately also this didn't help nomicons/sad
As a last idea for today I switched from Debian Bookworm to Xubuntu 20.04, look and behold:
the build process has started. Something must have been broken in that Debian - I have checked all the dependencies, though...
Tomorrow I'll have a closer look in the build output, not it's 1am here already, time for some sleep nomicons/tongue

Re: Wie erstellt man am besten eine Netzliste?

See André Colomb program:
https://qelectrotech.org/forum/viewtopic.php?id=2511
https://github.com/acolomb/qet_terminal_tables

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."