26

(10 replies, posted in Scripts)

I tried your script.
However, it didn't work to write information directly to the QET file.
Unfortunately, I find your version very confusing.
I have now taken my PLC manager and modified it functionally so that it has the same function.
This gives you a page-by-page breakdown of the components, and I have added the missing variables.
My German version is attached.

27

(7 replies, posted in Scripts)

i dont know how this works.
But maybe i could add a Drop down for different Languages? Maybe English, German, French?

28

(7 replies, posted in Scripts)

You're Welcome

29

(7 replies, posted in Scripts)

Project and Video is attached

30

(7 replies, posted in Scripts)

i will do it the next days

31

(7 replies, posted in Scripts)

Da es mir zu aufwändig war alle Datenpunkte händisch einzeln in die Elemente zu schreiben, habe ich mir dafür ein Skript geschrieben.
Das Vorgehen ist wie folgt:
Zuerst werden alle IO-Module angelegt.
Hierbei muss direkt die Seitennummern vergeben werden.
Dann kann man das Skript starten und die qet Datei auswählen. Danach werden die entsprechenden Seiten eingegeben und geladen.
Hierbei müssen meine Bauteile verwendet werden bzw. die Variablen die ich in meinen Bauteilen nutze.
Danach kann man die Informationen wie Funktion, Adresse etc direkt aus der xlsx Datei in den Manager kopieren. Diese werden mit einem klick auf Übernehmen in die QET datei geschrieben.

Since it was too time-consuming for me to write all the data points into the elements manually, I wrote a script for this purpose.
The procedure is as follows:
First, all IO modules are created.
The page numbers must be assigned directly.
Then you can start the script and select the qet file. After that, the corresponding pages are entered and loaded.
My components must be used here, or rather the variables that I use in my components.
Then you can copy information such as function, address, etc. directly from the xlsx file into the manager. These are written to the QET file by clicking on Apply.

Translated with DeepL.com (free version)

32

(10 replies, posted in Scripts)

very nice i was thinking about the same. thank u
I will translate it into german and share it with u

So what's your Problem?

Yes, that's the wrong way to do it.
The connection is not automatically broken and reconnected when you place the cross.
You first have to place the cross, then connect the cross to the opener, then connect the cross to the motor, etc.
Or delete the existing connection and then reconnect. The automatic connection feature is also very helpful here.

Guten Tag zusammen,
Mich stört schon lange, dass man bei Qelectrotech ein Masterelement mit unendlich vielen Slaveelementen verbinden kann.
Jetzt hatte ich eine Idee, wie man dies ändern könnte ohne die bisherige Logik großartig zu ändern.
Im Bauteileditor wird unter Bauteileigenschaften in dem Reiter Typ eine Checkbox hinzugefügt. Diese heißt z.B. "max Anzahl Slaveelemente definieren".
Wenn diese nicht angeklickt ist, bleibt alles wie es ist.
Sollte diese angeklickt sein, wird dann eine Textbox darunter freigeschaltet in der man die Anzahl defnieren kann.
Als nächstes wird das bisherige Auswahlfenster um einen Reiter z.B. "volle Masterelemente" erweitert.
Nun wird geprüft ob bei den Masterelementen, bei denen die maximale Anzahl definiert ist, die Verbindungen mit Slaveelementen kleiner als die maximale Anzahl ist.
Ist dies der Fall bleibt alles wie es ist.
Wenn die Anzahl der Verbindungen gleich der maximalen Anzahl ist, wird das Masterelement in den neuen Reiter verschoben und eine Verbindung damit ist nicht mehr möglich. Dies wäre sehr hilfreich, um ein Masterelement nicht mit mehr Slaveelementen zu verbinden als dies in der Wirklichkeit möglich ist und das Auswahlfenster wird bereinigter, da dort nicht mehr so viele Einträge sind, was das Arbeiten leichter macht.

Was haltet ihr von der Idee? Wenn ihr sagt, dass diese sinnvoll und gut ist, würde ich versuchen diese in den nächsten Monaten so wie ich Zeit habe mithilfe von Chatgpt umzusetzen.

Translate:
Hello everyone,
It has long bothered me that Qelectrotech allows you to connect one master element to an infinite number of slave elements.
Now I have an idea how this could be changed without significantly altering the existing logic.
A checkbox is added to the Component Properties tab in the Component Editor. This is called, for example, “Define max number of slave elements.”
If this is not checked, everything remains as it is.
If it is checked, a text box is activated below where you can define the number.
Next, the existing selection window is expanded to include a tab, e.g., “Full master elements.”
Now, the system checks whether the connections to slave elements are less than the maximum number for the master elements for which the maximum number is defined.
If this is the case, everything remains as it is.
If the number of connections is equal to the maximum number, the master element is moved to the new tab and a connection with it is no longer possible. This would be very helpful in order to prevent a master element from being connected to more slave elements than is actually possible, and the selection window would be tidier as there would no longer be so many entries, which would make working easier.

What do you think of the idea? If you say it makes sense and is good, I would try to implement it in the next few months as I have time with the help of ChatGPT.

Translated with DeepL.com (free version)

%F müsste eigentlich die richtige Variable sein, also ohne die Klammern.

37

(5 replies, posted in Scripts)

Ich habe meine Zusatzfunktionen geupdated.
funktionelle Updates:
1. Änderung: Ich habe den Verdrahtungsplan von hier https://qelectrotech.org/forum/viewtopic.php?id=3096 direkt integriert.

2. Änderung: Die Kabelliste findet als Ziel nun auch Slave-Elemente.

optische Updates:
Klemmenplan und Kabelliste sehen nun optisch ansprechender aus.
Bilder sind angehangen.

Für die Überschrift in der Spalte oben, muss in den Projekteigenschaften unter Benutzer-Eigenschaften die Rubrik projekt angelegt sein.
Für den Klemmenplan habe ich die Variablen Bestellnummer und Lieferant benutzt um diese automatisiert einzutragen.

Eine Beispielseite ist angehangen.

English:
I have updated my additional functions.
Functional updates:
1st change: I have directly integrated the wiring diagram from here https://qelectrotech.org/forum/viewtopic.php?id=3096.

2. Change: The cable list now also finds slave elements as targets.

Visual updates:
The terminal diagram and cable list now look more visually appealing.
Images are attached.

For the heading in the column at the top, the project category must be created in the project properties under user properties.
For the terminal diagram, I used the variables Order Number and Supplier to enter these automatically.

A sample page is attached.

Translated with DeepL.com (free version)

38

(4 replies, posted in Scripts)

Xander wrote:

Hallo Kellermorph,

ich habe die scripte ausprobiert, sie sollten zusammengefasst werden.

Auserdem musste ich feststellen, das das Einfügen der Seite nur funktioniert, wenn der gleiche Zeichnungskopf eingestellt ist.
Andernfalls wurde meine Test-Kopie total zerschossen!

Bitte beachten, wer das ausprobieren will.

Das zusammenfassen sollte kein Problem sein. Allerdings arbeite ich generell nicht mehr mit dem Programm. Ich versuche gerade einen anderen Weg aus.

Du meinst, dass der gleiche Zeichnungskopf der beim erstellen des Makros im Projekt eingestellt war und wenn dann in dem Projekt ein anderer eingestellt ist?
Das sollte generell auch behebar sein.

39

(4 replies, posted in Scripts)

Mahlzeit.
Entschuldige, ich habe deine Nachricht bisher übersehen.
Ich habe mir schon ein kleines Pythonskript geschrieben, dass ich zum extrahieren verwende. So kann man eindeutig komfortabler die Seiten extrahieren. Ist im Anhang.

Das mit dem generellen Config ist eine gute Idee. Dann muss man dies nicht immer neu machen.
Ich habe im Moment noch einiges anderes zu machen.
Wenn ich dafür mal Zeit überhabe, kann ich das mal machen.

40

(0 replies, posted in Scripts)

Ich habe ein Python-Skript geschrieben, welches aus der .qet Datei die Verbindung, den Anschluss und deren Eigenschaften extrahiert.
Dies funktioniert auch Seiten übergreifend.
Man muss hier nur darauf achten, dass die Verbindungen so gezogen sind, wie sie nachher im Schaltschrank angeschlossen werden.
Als Beispiel:
Man kommt von einem Querverweis. Dieser geht auf das erste Bauteil. Von dem ersten Bauteil geht man dann zum zweiten Bauteil. Vom zweiten Bauteil geht man dann zum dritten Bauteil und vom dritten Bauteil zum Querverweis zur nächsten Seite. Dies ist nötig, damit die Verbindungen in die .qet Datei richtig geschrieben werden.

Optional kann man aktivieren, dass man eine CSV als Debugausgabe sowie eine CSV bekommt, die angibt, welche Verbindungen rausgefiltert wurden, da diese als doppelt erkannt wurden.

Die ausgegebene Datei wird an dem Ort, an dem die QET Datei liegt gespeichert.

Sollte der Wunsch bestehen, diese Funktion direkt in QET zu implementieren, kann ich versuchen hieraus eine C++ Datei zu erstellen.

English:
I wrote a Python script that extracts the connection, port, and their properties from the .qet file.
This also works across pages.
You just have to make sure that the connections are drawn the way they will be connected in the control cabinet.
For example:
You come from a cross-reference. This goes to the first component. From the first component, you then go to the second component. From the second component, you then go to the third component and from the third component to the cross-reference to the next page. This is necessary so that the connections are written correctly in the .qet file.

Optionally, you can enable the option to receive a CSV as debug output and a CSV that specifies which connections have been filtered out because they were recognized as duplicates.

The output file is saved in the location where the QET file is located.

If you would like to implement this function directly in QET, I can try to create a C++ file from this.

Translated with DeepL.com (free version)

ah good to know, that left and right helps too. i just moved up and down. Thanks a lot!

Thank you for your reply, but I don't find your solution very appealing visually.
However, I have found a solution.
You have to move the lines up or down a little so that they have the same grid and therefore look identical. Image attached.

Guten Tag zusammen,

ich arbeite gerade an einem Skript für QET.
Hierfür muss ich jeden Leiter so ziehen, wie dieser nachher auch verdrahtet wird.
Allerdings gibt es hier ein Problem. Vorher habe ich das Problem so gelöst, dass ich alle Leitungen von einem Startpunkt aus gezogen habe. So würde aber das Skript nicht funktionieren.
Jetzt möchte ich, vom Querverweis zum 1. Bauteil eine Linie ziehen, dann vom 1. Bauteil zum 2. und vom 2.Bauteil zum dritten.
Im angehängten Bild bin ich also vom Querverweis zu 101P1, von 101P1 zu 101P2 und von 102P2 zu 101P3 gegangen.
Sobald ich die Linien allerdings als gestrichelt oder Strich-Punkt Linie einstelle, wird daraus eine "durchgehende" Linie.
Die Abstände sind hier einfach nicht identisch, dass dort wo vorher eine Lücke war diese von der 2 Linien überdeckt werden und es wie eine durchgehende Linie aussieht.
Gibt es hierfür eine Lösung, außer dass man jede Linie vom Querverweis zum Bauteil zieht? Dann wird das richtige Format beibehalten.

Please post a few Pics of your Problems. Maybe then i could help you.

45

(160 replies, posted in Code)

Do i understand it correctly that the Problem with Wayland

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

is gone with QT6?

Ich hatte so ein ähnliches Problem. Ich habe es so gelöst, dass ich eine Klemme erstellt habe, welche unten und oben keinen Anschluss haben.
Danach habe ich einfach nur separat als Bauteil ein Anschluss erstellt. Diesen setze ich auf die Klemme. Dadurch kann ich beidseitig alles definieren wie ich will und die Potentiale und Definitionen werden nicht von der jeweiligen anderen Seite beeinflusst.

Die Funktiondeklarierung der Klemmen kann ich dir nicht erklären, da ich bisher damit nicht gearbeitet habe.

47

(1 replies, posted in Elements)

Bei Etagenklemmen wird immer jeder Klemmpunkt als eigene Klemme dargestellt. So hat man z.B. für eine Etagenklemme L/L/PE oder L/N/PE im Schaltplan 3 Klemmen gezeichnet.

Dein Anhang fehlt aber ich habe dir mal was angehangen.
Das Kabel habe ich als eigenes Bauteil erstellt.
Die Klemmen, die du dort siehst sind dann in echt im Schrank 2 Etagenklemmen.
Dies ist einmal eine L/L Etagenklemme und einmal L/L/PE

48

(160 replies, posted in Code)

You're welcome. Merry Christmas to you too.

49

(160 replies, posted in Code)

are u fine with this?

walter wrote:

Gibt es projektbezogene Einstellungen die dieses Verhalten erklären können?

ich habe rein geguckt und erstmal nichts gefunden.

moin Walter,

achim wrote:

in deinem Master-Element ( io_links.elmt ) hat der Label-Text nur die Göße 1,
aber noch viel wichtiger: er ist weiß.

Das habe ich mit Absicht so gebaut, damit dieser in der DDC-Übersicht nicht stört.