| | | Engineering Summit |
Autor(16237)
|
Thema: AWT-Schleife beeinflussen (2098 mal gelesen)
|
RuplanDai Mitglied Kontruktion
Beiträge: 28 Registriert: 23.04.2013 Ruplan 4.72 Ruplan 4.81- A Eplan P8 2.35
|
erstellt am: 18. Aug. 2014 15:49 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe mal wieder eine Frage, zu der euch bestimmt irgendeine A&-Größe einfällt, mit der man das Problem schnell aus der Welt schaffen kann. Ich möchte den IDENT eines Symbols auslesen und diesen mit einem IDENT eines anderen Symbols abgleichen. Das Problem ist, wenn ich mehrere der auszulesenden Symbole auf einer Seite habe und erst TAW für TAW über alle Symbole ausgeführt wird. Dann wird ja der letzte Text, der gefunden wird ausgelesen und verwendet, anstatt mit der nächsten TAW weiter zu machen, sobald die Selektion erfolgreich war. Ich habs mit A&EXIELE versucht, aber dann prüft er halt nur noch das erste Symbol ab, dass er findet und das will ich ja auch nicht. Die andren A&EXI Größen hab ich auch versucht, das hat auch nicht den gewünschten Effekt gebracht. Auf dem Bild findet ihr ein Beispiel: Die Zahlen oben im Kringel müssen im Symbol darunter wieder zu finden sein. Da es aber mehrere dieser Symbole gibt, gibt es immer einen Fehler. Ich hab das wahrscheinlich etwas zu kompliziert gemacht, weil ich über die X-Achse des Symbols selektiere und dass dazugehörige Zahlen-Symbol darüber suche. Ich hänge euch mal meine AWT mit dazu, dann könnt ihr euch selbst ein Bild machen. Jemand einen Vorschlag, wie ich die AWT-Schleife so beeinflusse, dass er mir alle Symbole mit der dazugehörigen Zahl abgleicht? RUPLAN 4.80 MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad_hans Ehrenmitglied V.I.P. h.c. Techn. Angestellter
Beiträge: 2110 Registriert: 25.08.2003 ruplan4.70 eplan5.x P8 V1.9 bis V2.7
|
erstellt am: 19. Aug. 2014 07:40 <-- editieren / zitieren --> Unities abgeben: Nur für RuplanDai
hallo, ausgabe der texte im kringel mir den x-Koordinaten in eine datei. in die selbe Datei kommen auch die Daten der Symbole mit den x-Koordinaten. Datei nach x-Koordinaten sortieren und innerhalb der x-Koordinate nach art (also text und Symbol) sortieren. dann nächste awt schnappt den text aus Datei und schreibt ihn ins Symbol mit der entsprechnenden x-korodinate. wenn die Bereiche der x-koordinate geschickt gewählt sind müsste das funktionieren. ------------------ ruplan4.61 ruplan4.70 eplan5.x P8 V1.9 HF1 Build 3297 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RuplanDai Mitglied Kontruktion
Beiträge: 28 Registriert: 23.04.2013 Ruplan 4.72 Ruplan 4.81- A Eplan P8 2.35
|
erstellt am: 19. Aug. 2014 12:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die Antwort. Das wäre schon auch eine Lösung. Es gibt also keine Möglichkeit, der AWT zu definieren, dass sie TAW für TAW über jedes Element durchführen soll und nicht, eine TAW über alle Elemente? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad_hans Ehrenmitglied V.I.P. h.c. Techn. Angestellter
Beiträge: 2110 Registriert: 25.08.2003 ruplan4.70 eplan5.x P8 V1.9 bis V2.7
|
erstellt am: 19. Aug. 2014 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für RuplanDai
hallo, ich werke seit über 26 jahren mit ruplan. die awt programmiererei hab ich seits ruplan in der 4er Version gibt gemacht. wenn ich solche awts programmiere versuch ichs immer zuerst mit einzel awts. zwischendateien am anfang sowieso. wenn dann alles funktioniert, dann versuch ich das zusammenfassen. in deinem fall kanns etwas schwieriger werden das ganze zusammenzufassen. zuerst erfolgt die ausgabe der Daten (im o modus) dann willst du die pläne verändern (im i Modus) das heisst wenn nur eine awt dann kann die nur im i Modus laufen. einige Optionen zur ausgabe funktionieren aber nur im o Modus.
------------------ ruplan4.61 ruplan4.70 eplan5.x P8 V1.9 HF1 Build 3297 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RuplanDai Mitglied Kontruktion
Beiträge: 28 Registriert: 23.04.2013 Ruplan 4.72 Ruplan 4.81- A Eplan P8 2.35
|
erstellt am: 19. Aug. 2014 13:03 <-- editieren / zitieren --> Unities abgeben:
Das ist richtig. Ich hab wohl vergessen zu erwähnen, dass die AWT grundsätzlich nur im O-Modus laufen soll. Am Ende soll nicht der Ident im Symbol angepasst werden, sondern eine Fehler in eine Textdatei geschrieben werden, mit dem Informationen, wo er nicht übereinstimmt. Darum dachte ich, das müsste ja auch irgendwie in einer AWT gehen. Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hochi Mitglied
Beiträge: 111 Registriert: 15.05.2013
|
erstellt am: 19. Aug. 2014 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für RuplanDai
Hallo RuplanDai, um diese Frage
Zitat: Original erstellt von RuplanDai: Es gibt also keine Möglichkeit, der AWT zu definieren, dass sie TAW für TAW über jedes Element durchführen soll und nicht, eine TAW über alle Elemente?
nochmal eindeutig zu beantworten: Richtig, es gibt keine Möglichkeit. Das von cad_hans genannte Verfahren ist das Richtige! Die Schleifenschachtelung ist übrigens im Programmierhandbuch unter 4.4.1 beschrieben. "Natürlich" kann man die Schleifen auch selbst bauen (A&POSELE u.ä.), aber das ist deutlich komplexer als der Vorschlag von cad_hans mit dem AWT-Buffer. (Ob man diesen dann als Datei zwischenspeichert - Geschmackssache.) Man könnte es schon fast als Standardverfahren bezeichnen, in einer ersten AWT die relevanten Daten in den Buffer zu schreiben, am Ende zu sortieren (das vergleicht dann die Texte und das Vergleichsergebnis wird per Zählnummer wieder in den Buffer geschrieben) und in einer zweiten AWT das Ergebnis auszuwerten und entsprechende Meldungen zu bringen. MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RuplanDai Mitglied Kontruktion
Beiträge: 28 Registriert: 23.04.2013 Ruplan 4.72 Ruplan 4.81- A Eplan P8 2.35
|
erstellt am: 19. Aug. 2014 15:09 <-- editieren / zitieren --> Unities abgeben:
Alles klar. Das war eindeutig genug. Dann versuch ichs mal auf die Weise, die cad_hans mir gesagt hat. Wenn ichs nicht zum Laufen bringe, dann muss ich mich nochmal an euch wenden. Aber schonmal vielen Dank! Ihr habt mein Verständnis für AWTs schon sehr verbessert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RuplanDai Mitglied Kontruktion
Beiträge: 28 Registriert: 23.04.2013 Ruplan 4.72 Ruplan 4.81- A Eplan P8 2.35
|
erstellt am: 20. Aug. 2014 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, habt ihr vielleicht ein kurzes Beispiel, wie man das umsetzen kann, wenn man erst die Kriterien ausliest und sie dann prüft? Ist es möglich, die Texte alle in eine Zeile zu spalten, auch wenn ich mit verschiedenen TAWs arbeite? In meinem Fall muss ich ja erst die Zahl aus dem einem Symbol auslesen, sie in den Buffer oder in eine Datei schreiben, dann die Zahl aus dem Kringel auslesen, um sie dann gegeneinander zu prüfen. Ich will aber die Zahl aus dem Symbol und aus dem Kringel in eine Zeile schreiben, um sie einander zuzuordnen. Habt ihr da einen Lösungsvorschlag für mich? Grüße und vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hochi Mitglied
Beiträge: 111 Registriert: 15.05.2013
|
erstellt am: 20. Aug. 2014 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für RuplanDai
Hallo RuplanDai, ein kurzes Beispiel kann ich auch nicht aus dem Hut zaubern, aber vielleicht hilft Dir ein (längerer) Blick auf eine der Prüf-AWTs. Ich hätte dazu im Standard die A&PPL (Potenzial Prüflauf) im Angebot. Sieht man in die Sammel-AWT, kommt zuerst die ganze Einstellungs- und Parameter-Masken Behandlung, dann wird es interessant: PPL50_Ausgab selektiert die nötigen Symbole etc. und gibt deren Daten aus. Die Daten werden in eine Datei abgelegt, da über die gleiche Datei 2 unterschiedliche Prüfungen laufen sollen. PPL80_Pruef1 ist weniger interessant, hier wird die Existenz von Daten geprüft. PPLB0_PRUEF2 ist interessanter, aber vorher unbedingt auf PPLA0_Reduz schauen. Hier ist eine der angesprochenen Sortierungen mit Zählnummer angewandt. Insbesondere die 3. TAW realisiert eine Prüfung auf die Gleichheit einer Spalte in 2 Zeilen. C&NETNA wird in der letzten Teil-AWT belegt und für eine nächste Zeile gegen den Inhalt in dieser Zeile geprüft, wenn dies eine 2. Zeile ist ("2" in der Zählnummernspalte). Beide laufen übrigens im Update-Modus, was für die Schleifenstruktur wichtig ist. Jede Bufferzeile wird erstmal von allen Teil-AWTs verarbeitet, bevor die nächste Zeile kommt. Deshalb kann man hier gut die Daten einer Zeile in der letzten Teil-AWT in C& schreiben um sie dann mit der nächsten Zeile zu vergleichen. (C&K sind übrigens Konstante, C&K1 also die "1" etc.) In der praktischen Anwendung heißt das, dass es bei der Ausgabe egal ist, in welcher Reihenfolge man die Daten ausgibt. Man kann die Zeilen mit gleichen Zahlen und Koordinaten ja wunderbar zusammensortieren. Wenn man dann für die einzelnen Symbole noch Kennziffern vergibt, bekommt man auch innerhalb der Blöcke eine saubere Reihenfolge. Um auch noch etwas genauer auf die Frage einzugehen: Im Output-Modus werden innerhalb einer Teil-AWT alle Ausgaben zu einem Element in eine Zeile geschrieben. Kommt ein neues Element an die Reihe - oder eine neue Teil-AWT - wird mit einer neuen Bufferzeile begonnen. Hoffe das hilft etwas weiter Hochi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|