Weitere Verbesserungsidee für Parent/Child

Wir nehmen gerne Ihre Ideen, Vorschläge, Meinungen entgegen. (Beiträge werden von uns gelesen, aber nicht beantwortet.)
Antworten
Henry M.
Beiträge: 16
Registriert: Freitag 2. Januar 2009, 00:01

Weitere Verbesserungsidee für Parent/Child

Beitrag von Henry M. » Montag 15. Februar 2010, 12:11

Hallo,

wäre es im Zuge eines der kommenden Updates möglich die Parent/Child dahingehend weiter zu optimieren, das man zuerst nur den Parent-Teil auf das Blatt zieht und dann über die rechte Maustaste sich die benötigten Child's aussuchen kann die man benötigt?

Das wäre z.B. hilfreich bei Schützen, bei denen nicht alle Kontakte in der Schaltung benötigt werden oder auch wenn Kontakte auf einem anderen Blatt hinzugefügt werden soll.
Ebenso sieht es bei Logikgattern aus, da werden häufig auch nicht alle Gatter benötigt oder auf unterschiedlichen Seiten.

Würde mich über ein kurzes Feedback des Abacom Teams freuen.
Danke schon einmal im Voraus.
mfG Henry M.

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von abacom » Montag 15. Februar 2010, 14:00

So ganz verstehe ich Ihren Wunsch nicht.
Sie können doch ein beliebiges Bauteil als Parent definieren. Anschließend können Sie jedes beliebige andere Bauteil (egal auf welchem Blatt es sich befindet) mit der rechten Maustaste als Child dieses Parents definieren.
ABACOM support

Henry M.
Beiträge: 16
Registriert: Freitag 2. Januar 2009, 00:01

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Henry M. » Montag 15. Februar 2010, 22:46

Hallo,

von dieser Seite aus habe ich das nicht betrachtet, stimmt.
Dabei muss man dann halt nur selber aufpassen das nicht auf einmal mehr Kontakte "verbaut" als das Schütz hat.
mfG Henry M.

King of scrabble
Beiträge: 3
Registriert: Mittwoch 3. März 2010, 08:51

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von King of scrabble » Mittwoch 3. März 2010, 08:53

auch wenn der Beitrag schon etwas älter ist, die Idee an sich ist super! So erspart man sich eine Menge Arbeit.
Man könnte im Schaltplan z.B. im Menü der rechten Maustaste den Punkt "Childs einfügen" haben. Dann kommen alle vorhandenen Parents und darauf alle noch nicht verwendeten Childs.
MfG Max

bigdie
Beiträge: 132
Registriert: Mittwoch 10. Dezember 2008, 21:51

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von bigdie » Mittwoch 3. März 2010, 18:36

Hallo
Mir würde es schon reichen, wenn man bei einem Kontakt in den Bauteileigenschaften einen Haken setzen könnte "Parent beim hereinziehen erfragen"

Dirk.Ulbrich
Beiträge: 30
Registriert: Donnerstag 11. März 2010, 21:56

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Dirk.Ulbrich » Samstag 13. März 2010, 17:10

Hallo an alle,

auch ich habe einige Anregungen zum Thema Parent-Child.

Ich weiß nicht, wie in sPlan die Objekte aufgebaut sind, d.h. ob es sich intern um echte Objekte im Sinne der objektorientierten Programmierung handelt. Ich könnte ich mir folgendes dabei vorstellen:

Jedes Bauteil bekommt zu den beiden Eigenschaften Bezeichner und Wert eine zusätzliche Eigenschaft Zusatzwerte, welche ähnlich den Anwendervariablen eine Liste aus Variablenname und Variablenwert ist. Diese speziellen Variablen sind nun aber nur mit dem Bauteil verknüpft, stellen also eine anwenderspezifische Eigenschaft dar. Die feste Variable <PARENT_VALUE> fungiert nun nicht mehr als Übermittler des Wertes der Eigenschaft Wert des Parents sondern als Übermittler des Wertes derselben Eigenschaft des Parents.

Man kann also beim Parent eine ganze Reihe von Informationen ablegen. Im Bauteileditor kann man dann diese zusätzlichen Eigenschaften mit ihrem Namen aufrufen z.B. die Variable Baugröße mit <BAUGROESSE> und anzeigen lassen. Existiert nun ein Child, der genau dieselben Variablennamen in der Eigenschaft Zusatzwerte aufweist wie der Parent und werden die Variablenwerte mit der festen Variable <PARENT_VALUE> vom Parent übertragen, so können beliebige Werte vom Parent an den Child übertragen und dort angezeigt werden.

Code: Alles auswählen

Eigenschaften des Parents:
=========================
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /<PAGENO>
Zusatzwert[BAUGROESSE] = BG1
Zusatzwert[SPANNUNG] = 230V AC
Zusatzwert[STROM] = 0,23 A
Zusatzwert[UNBENUTZT] = Lorem ipsum ...

Eigenschaften des Child:
=========================
Bezeichner = <PARENT_VALUE>
Wert = <PARENT_VALUE>
Zusatzwert[POSITIONPARENT] = <PARENT_VALUE>
Zusatzwert[BAUGROESSE] = <PARENT_VALUE>
Zusatzwert[SPANNUNG] = <PARENT_VALUE>
Zusatzwert[STROM] = <PARENT_VALUE>
Die feste Variable <PARENT_VALUE> überträgt nun alle Eigenschaftswerte vom Parent an die passenden Eigenschaften des Childs. Wenn ein Variablenname der Eigenschaft Zusatzwerte beim Child nicht vorhanden ist, wohl aber beim Parent, dann wird dieser wert auch nicht übertragen (siehe im Beispiel die Variable UNBENUTZT). Die Anzeigedatenkonstzellation würde dann wie folgt ausschauen, wenn sich der Parent auf Schaltplanseite 15 befindet:

anzeigbare Eigenschaften des Parents:
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /15
Zusatzwert[BAUGROESSE] = BG1
Zusatzwert[SPANNUNG] = 230V AC
Zusatzwert[STROM] = 0,23 A
Zusatzwert[UNBENUTZT] = Lorem ipsum ...

anzeigbare Eigenschaften des Child:
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /15
Zusatzwert[BAUGROESSE] = BG1
Zusatzwert[SPANNUNG] = 230V AC
Zusatzwert[STROM] = 0,23 A

Dasselbe Szenario könnte ich mir mit einer festen Variable <CHILD_VALUE> vorstellen, die ihrerseits Werte(sätze) von den Childs an den Parent überträgt. Existieren mehrere Childs zu einem Parent, so müssten die Werte dann gesammelt und als kommaseparierte Liste in einer Zeile oder untereinanderstehend angezeigt werden können.

Code: Alles auswählen

Eigenschaften des Parents:
=========================
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /<PAGENO>
Zusatzwert[POSITIONCHILD] = <CHILD_VALUE>

Eigenschaften des Child1:
=========================
Bezeichner = <PARENT_VALUE>
Wert = <PARENT_VALUE>
Zusatzwert[POSITIONPARENT] = <PARENT_VALUE>
Zusatzwert[POSITIONCHILD] = /<PAGENO>

Eigenschaften des Child2:
=========================
Bezeichner = <PARENT_VALUE>
Wert = <PARENT_VALUE>
Zusatzwert[POSITIONPARENT] = <PARENT_VALUE>
Zusatzwert[POSITIONCHILD] = /<PAGENO>

Eigenschaften des Child3:
=========================
Bezeichner = <PARENT_VALUE>
Wert = <PARENT_VALUE>
Zusatzwert[POSITIONPARENT] = <PARENT_VALUE>
Zusatzwert[POSITIONCHILD] = /<PAGENO>
Auf diese Weise wäre es sehr leicht Querverweise zwischen Parents und Childs aufzubauen und anzuzeigen (Parent auf Seite 15, die Childs auf den Seiten 2, 3 und 11):

anzeigbare Eigenschaften des Parents:
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /15
Zusatzwert[POSITIONCHILD] = /2, /3, /11 <== Parent sammelt die Werte seiner Childs

anzeigbare Eigenschaften des Child 1:
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /15
Zusatzwert[POSITIONCHILD] = /2

anzeigbare Eigenschaften des Child 2:
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /15
Zusatzwert[POSITIONCHILD] = /3

anzeigbare Eigenschaften des Child 3:
Bezeichner = K1
Wert = Pumpe
Zusatzwert[POSITIONPARENT] = /15
Zusatzwert[POSITIONCHILD] = /11

Das war nun eine ganze Menge und ich hoffe, ich habe meine Idee verdeutlichen können. Sollte es möglich sein z.B. sPlan 8.0 mit einer derartigen Übertragungsmöglichkeit von Daten zwischen Parents und Childs auszurüsten, dann wären sicher kaum noch wünsche offen :)

So, nun bitte ich um rege Diskussion über Sinn oder Unsinn meiner Idee hier :mrgreen:

Gruß Dirk :roll:
Dirk Ulbrich
NEW LIFT Steuerungsbau GmbH
EPLAN E21 4.30.3, EPLAN Electric P8 2.1, sPlan 7.0

Dirk.Ulbrich
Beiträge: 30
Registriert: Donnerstag 11. März 2010, 21:56

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Dirk.Ulbrich » Mittwoch 28. Juli 2010, 17:20

Dirk.Ulbrich hat geschrieben:So, nun bitte ich um rege Diskussion über Sinn oder Unsinn meiner Idee hier :mrgreen:

Gruß Dirk :roll:
... nun, das war ja dann wohl nix mit reger Diskussion :(

Gruß Dirk :roll:
Dirk Ulbrich
NEW LIFT Steuerungsbau GmbH
EPLAN E21 4.30.3, EPLAN Electric P8 2.1, sPlan 7.0

Hardy
Beiträge: 262
Registriert: Sonntag 13. September 2009, 10:19

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Hardy » Donnerstag 29. Juli 2010, 08:27

abacom hat geschrieben:So ganz verstehe ich Ihren Wunsch nicht.
Sie können doch ein beliebiges Bauteil als Parent definieren. Anschließend können Sie jedes beliebige andere Bauteil (egal auf welchem Blatt es sich befindet) mit der rechten Maustaste als Child dieses Parents definieren.
Hallo,

ich habe zufällig diesen Thread gefunden und antworte daher auch erst jetzt darauf:

Die von Ihnen (siehe oben) genannte Variante benutze ich auch. Nämlich dann, wenn ich noch kein passendes Parent-Child-Bauteil in meiner Bibliothek habe. Aber das, was Henry M. meint, bezieht sich darauf, dass ein bereits erstelltes und sich in der Bibliothek befindliches Bauteil verwendet werden soll.

Wenn ich nur den von Ihnen vorgeschlagenen Ablauf nehmen kann/soll, brauche ich zukünftig keine Parent-Child-Bauteile mehr in (m)einer Bibliothek, da ich sie von dort aus nicht in der von mir gewünschten Anwendungform (Einsetzen der verschiedenen Childs auf verschiedene Seiten) einsetzen kann. Es sei denn, ich ziehe mir das Bauteil auf die Seite, auf der ich den Parent benötige, und verschiebe die einzelnen Childs mit "Ausschneiden" und "Einfügen" auf die entsprechenden Seiten bzw. lösche die, die ich nicht benötige. Aber gerade diesen Aufwand würde ich mir mit mit einem separierten Aufruf, wie ihn Henry M. vorschlägt, ersparen.
Zuletzt geändert von Hardy am Donnerstag 29. Juli 2010, 09:47, insgesamt 1-mal geändert.
Mit freundlichen Grüßen
Hardy

Windows10 Home/V. 22H2
sPlan 8.0

Hardy
Beiträge: 262
Registriert: Sonntag 13. September 2009, 10:19

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Hardy » Donnerstag 29. Juli 2010, 09:40

Dirk.Ulbrich hat geschrieben:So, nun bitte ich um rege Diskussion über Sinn oder Unsinn meiner Idee hier :mrgreen:
Gruß Dirk :roll:
Hallo Dirk,

ich finde die Idee grundsätzlich gut. Allerdings hat sie einen Nachteil: Ich kann die einzelnen vom Parent gesammelten Informationen über die zugehörigen Childs nicht weiter verwenden. Ich denke dabei an eine Schützschaltung, in der ich unter dem Relaissymbol (Parent) noch eine Kontaktbelegung hinzufügen will, an deren jeweiligen Kontaktenden die zugehörigen Seitenzahlen angegeben werden.

Über diese Problematik hatte ich schon vor ein paar Monaten geschrieben und einen entsprechenden Vorschlag macht (siehe den Thread "Querverweise"):
Hardy hat geschrieben:Leider kann ich kein weiteres Parent-Child-Konstrukt in eine bereits vorhandene Parent-Child-Zeichnung integrieren. Sonst würde ich bei den Kontakten noch eine Kontaktbelegung (z.B. einen Schließer- oder Öffnerkontakt) einzeichnen, an deren Enden die Lage des Kontaktes angegeben werden. Dabei würde der Kontakt dann der Parent und die Kontaktbelegung das Child werden. So könnte ich dann die Kontaktbelegung wieder zurück unter die Schützspule ziehen und die Positionsangaben der einzelnen Kontakte würden automatisch die Lageveränderungen des zugehörigen Kontaktes übernehmen.
Dies setzt aber voraus, dass ich mehrere Bezeichner in einer Bauteilzeichnung benötige, die differenziert vom Programm verarbeitet werden müssen (z.B. Bez1, Bez2, usw.).
Es mus also eine Verschachtelung in der Parent/Child-Funktion möglich sein, sodass ein Child (Kontakt), untergeordnet unter die Primärfunktion, wiederum zum Parent und die Kontaktbelegungen dann zu deren entsprechenden Childs werden. Beispiel Schütz:

Funktionsebene 1:
Schützspule = Parent A
Kontakte 1-4 = Childs 1-4 (Wert gibt Seitenzahl der Relaispule an)

Funktionsebene 2:
Kontakt 1 = Parent A1 [=> Child 1 von Parent A (=Schützspule)]
Kontaktbelegung 1 = Child 1a (Wert gibt Seitenzahl von Kontakt 1 an)
Kontakt 2 = Parent A2 [=> Child 2 von Parent A (=Schützspule)]
Kontaktbelegung 2 = Child 2a (Wert gibt Seitenzahl von Kontakt 2 an)
Kontakt 3 = Parent A3 [=> Child 3 von Parent A (=Schützspule)]
Kontaktbelegung 3 = Child 3a (Wert gibt Seitenzahl von Kontakt 3 an)
Kontakt 4 = Parent A4 [=> Child 4 von Parent A (=Schützspule)]
Kontaktbelegung 4 = Child 4a (Wert gibt Seitenzahl von Kontakt 4 an)

Zusätzlich sollten die Werte-Textfelder dann auch noch duplizierbar sein, damit ich sie jeweils an der Eingangs- und Ausgangsseite eines Kontaktes platzieren kann.

Ich glaube aber nicht, dass das mal schnell mit einem Update gemacht werden kann, da hierbei der Programmieraufwand doch erheblich sein würde. Also eher was für die nächste Version. Oder?
Mit freundlichen Grüßen
Hardy

Windows10 Home/V. 22H2
sPlan 8.0

bigdie
Beiträge: 132
Registriert: Mittwoch 10. Dezember 2008, 21:51

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von bigdie » Donnerstag 29. Juli 2010, 17:01

Hallo
Wenn ich mir am Beispiel eines Hilfsschützes überlege, komplette Parent/Child Bauteile zu erstellen, ist mir das zu aufwändig. Da brauche ich allein beim Hilfsschütz 13 verschiedene Versionen und da sind Schütze mit vor-und nacheilenden Kontakten noch nicht dabei. So brauche ich eine Schützspule, einen Schließer und einen Öffner. Schön wäre halt nur, wenn ich bei dem Schließer und Öffner, ein Häkchen im Bauteildialog setzen könnte "Parent beim Reinziehen nachfragen". Dann müsste ich nicht erst per Rechtsklick das Auswahlfeld öffnen.

Hardy
Beiträge: 262
Registriert: Sonntag 13. September 2009, 10:19

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Hardy » Donnerstag 29. Juli 2010, 18:56

bigdie hat geschrieben:Hallo
Wenn ich mir am Beispiel eines Hilfsschützes überlege, komplette Parent/Child Bauteile zu erstellen, ist mir das zu aufwändig. Da brauche ich allein beim Hilfsschütz 13 verschiedene Versionen und da sind Schütze mit vor-und nacheilenden Kontakten noch nicht dabei. So brauche ich eine Schützspule, einen Schließer und einen Öffner. Schön wäre halt nur, wenn ich bei dem Schließer und Öffner, ein Häkchen im Bauteildialog setzen könnte "Parent beim Reinziehen nachfragen". Dann müsste ich nicht erst per Rechtsklick das Auswahlfeld öffnen.
Dann doch die Variante, die ABACOM vorschlug:
1. Die Zeichnung erstellen mit allen Kontakten und Spulen.
2. Die Spulen jeweils als "Parent" deklarienen (Bauteileigenschaften => den Haken bei "Parent (akzeptiere Child)" unter Optionen setzen).
3. Jeden einzelnen Kontakt anwählen und mit der rechten Maustaste das Kontextmenü aufrufen. Unter "Setze Parent" den zugehörigen Parent (Spule) auswählen.
Fertig.

So können individuell einzelne Parent/Child-Verbindungen hergestellt werden.
Mit freundlichen Grüßen
Hardy

Windows10 Home/V. 22H2
sPlan 8.0

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von abacom » Freitag 30. Juli 2010, 09:27

Genauso ist es auch gedacht.
Und die Kontakte können auch alle zusammen markiert werden (wenn diese auf einem Blatt liegen), und dann dem Schütz in einem Rutsch zugewiesen werden.
ABACOM support

bigdie
Beiträge: 132
Registriert: Mittwoch 10. Dezember 2008, 21:51

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von bigdie » Freitag 30. Juli 2010, 10:48

Hallo
Wie gesagt, es wäre halt nicht schlecht, wenn beim hereinziehen eines vorher definierten Childs der Parent erfragt wird evtl. auch noch die Kontaktbezeichnung.

Hardy
Beiträge: 262
Registriert: Sonntag 13. September 2009, 10:19

Re: Weitere Verbesserungsidee für Parent/Child

Beitrag von Hardy » Freitag 30. Juli 2010, 12:27

bigdie hat geschrieben:Hallo
Wie gesagt, es wäre halt nicht schlecht, wenn beim hereinziehen eines vorher definierten Childs der Parent erfragt wird evtl. auch noch die Kontaktbezeichnung.
Dies setzt aber voraus, dass das/die Parent(s) zuvor schon im Schaltplan gezeichnet und als Parent definiert wurden.

Andererseits stellt sich mir die Frage, wie das funktionieren soll? Woher soll das Bauteil aus der Bibliothek wissen, dass es ein Child sein soll. Das müsste vorher einzeln definiert und in der Bibliothek als solches gespeichert werden. Denn letztendlich ist jedes Bauteil nur ein Konstrukt aus Strichen und Kreisen. Egal, ob es sich um ein Schaltkontakt, Widerstand, Kondesator, Lampensymbol, Verbindungspunkt u.s.w. handelt. Doch dann habe ich jedes "Child" doppelt in der Bibliothek: einmal als Child (= vordefiniert) und das andere Mal als alleinstehendes Bauteil.
Die Zuordnung zum entsprechenden Parent kann ich dem Bauteil aber erst geben, wenn es auf die Zeichnung gezogen wird. Insofern wäre eine Möglichkeit, dass sich, wie auch schon bei "Wert", nach dem Reinziehen des Bauteils ein Fenster öffnet, in dem auch nachgefragt wird, ob das Bauteil ein Child sein soll und, wenn ja, von welchem sich bereits auf in der Zeichnung befindlichen und als Parent gekennzeichneten Bauteils. Und die Nachfrage sollte dann auch, wie ebenfalls bei "Wert", über die Bauteileigenschaften aktivierbar bzw. deaktivierbar sein.
Mit freundlichen Grüßen
Hardy

Windows10 Home/V. 22H2
sPlan 8.0

Antworten

Zurück zu „Thema: Anregungen zu sPlan“