Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  RUPLAN
  AWT Daten einlesen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   AWT Daten einlesen (673 mal gelesen)
CAD2017
Mitglied


Sehen Sie sich das Profil von CAD2017 an!   Senden Sie eine Private Message an CAD2017  Schreiben Sie einen Gästebucheintrag für CAD2017

Beiträge: 9
Registriert: 21.03.2017

erstellt am: 21. Mrz. 2017 13:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich brauche Hilfe von den Profis unter euch zum Thema AWT:
Mein Ziel ist es, aus einer .csv Liste nur die Daten auszulesen die ich benötige und diese mit Symboleinträgen im Plansatz abzugleichen.
Grundsätzlich scheitert es schon an der Manipulation der Excel Liste. Diese ist grundsätzlich so aufgebaut, dass die ersten 4-8 Stellen die Werte erhalten, die ich benötige und danach kommt das erste Trennzeichen ( ; )
Die Liste lese ich folgendermaßen ein:
D A&OUTBRT 10

D A&INDAT 'C&CSV'
D A&INDEV 'C&PFAD'

O &1:10 'C&IDMF'

(im 4. Schritt lese ich mir die ersten 10 Zeichen der Liste aus um sie danach bis zum Trennzeichen in eine neue Benutzervariable zu exportieren:

G C&NOID 'C&IDMF(1:'C&SK'-1)'

(C&SK = Trennzeichen ; )

Anschließend möchte ich mir die Benutzervariable C&NOID in eine Textdatei auslesen, um den Inhalt derer mit den Einträgen im Symbol abzugleichen. So weit bin ich aber noch nicht, da beim Ausführen der AWT einfach die gesamten ersten 10 Zeichen (Durch A&BREITE definiert) meiner Excel Liste in die Textdatei ausgegeben werden. Die Benutzervariable C&NOID wird zwar richtig ausgewertet (danach steht genau das drin was ich haben möchte) wird aber nicht in die Textdatei geschrieben. Dieser Schritt wird einfach ignoriert:

D A&OUTDAT 'C&AUSG' 0 0 0

O C&NOID 1 10 0


Hat jemand eine Idee wieso der Inputbuffer einfach ausgegeben wird und mein OUTPUT Befehl der Variable ignoriert wird?


Edit: Es handelt sich hier um RUPLAN 481a Industry

------------------
Merci

[Diese Nachricht wurde von CAD2017 am 21. Mrz. 2017 editiert.]

[Diese Nachricht wurde von CAD2017 am 21. Mrz. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD2017
Mitglied


Sehen Sie sich das Profil von CAD2017 an!   Senden Sie eine Private Message an CAD2017  Schreiben Sie einen Gästebucheintrag für CAD2017

Beiträge: 9
Registriert: 21.03.2017

erstellt am: 22. Mrz. 2017 13:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,

habe das Problem behoben. Wer so ein Problem auch hat einfach melden, dann stelle ich meine Lösung rein.

Jetzt stehe ich aber vor dem nächsten Problem:
Wie kann ich die Schleifen der AWT beeinflussen?
Also zur Erklärung: Ich habe zwei Listen die ich miteinander vergleichen möchte. Eine Liste mit erlaubten Materialeinträgen und die andere Liste sind die exportierten Inhalte in den Materialeinträgen aus dem Projekt. Meine Idee war jetzt, immer ein Material in eine Benutzervariable auszugeben, diese dann in der nächsten AWT in der anderen Liste zu suchen, wenn der Eintrag nicht gefunden wird, wird ein Fehler ausgegeben, wenn der Eintrag gefunden wird, geht es wieder zurück zur anderen AWT und der nächste Eintrag wird in die Benutzervariable ausgegeben.
Hier kommt das Problem. Er nimmt immer die erste Zeile und gibt diese in die Benutzervariable aus. Er springt also nicht zur nächsten Zeile. Was muss ich in der AWT eintragen damit er die nächste Zeile in der Liste bearbeitet?
Jemand eine Idee? Wäre sehr dankbar!

------------------
Merci

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hochi
Mitglied



Sehen Sie sich das Profil von Hochi an!   Senden Sie eine Private Message an Hochi  Schreiben Sie einen Gästebucheintrag für Hochi

Beiträge: 90
Registriert: 15.05.2013

erstellt am: 24. Mrz. 2017 09:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CAD2017 10 Unities + Antwort hilfreich

Hallo CAD2017,
das Thema Schleifen in AWT ist etwas zu komplex um es hier zu behandeln. Dabei ist es wesentlich, in welchem Modus die AWT läuft.
In Deinem Fall würde ich mal mit A&AKTBUF experimentieren.

Zu Deinem Plan ein paar grundsätzliche Anmerkungen:
1. In AWT gelingt es recht gut, den Inhalt des AWT-Buffers mit dem Inhalt von Plänen/Symbolen/Gerätn zu vergleichen.
2. Ein Vergleich von zwei Tabellen oder Dateien ist komplex und nicht besonders schnell. (Laaangsam trifft es eher)
3. Zum Einlesen von csv Dateien würde ich mal im Programmierhandbuch M&FILE nachlesen.
4. Für Deinen Fall (erlaubtes Material) würde ich mir mal die Neuerungen der 4.81 ansehen (Datenselektion über Schleifenprogrammierung) Die Idee wäre, das erlaubte Material in C&-Größen mit einem Zähler einzulesen und dann sehr einfach zu selektieren.
5. Ganz generell würde ich Vergleiche von Dateien mit einer passenden Scriptsprache (VBS, Powershell, ...) programmieren.

Viel Erfolg
Hochi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad_hans
Mitglied
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 1463
Registriert: 25.08.2003

ruplan4.61
ruplan4.70
eplan5.x
P8 V1.9 HF1 Build 3297

erstellt am: 28. Mrz. 2017 08:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CAD2017 10 Unities + Antwort hilfreich

hallo,


was du machen möchtest geht eh ganz gut. ist aber etwas aufwändig.
die erste Datei von er du dir das material holst:
das machst du im update Modus.
die zeile von der das material geholte wird musst du anschließend rauslöschen.
dadurch wird die Datei immmer kürzer und hat irgnedwann keinen eintrag mehr. das muss man Programm mässig abfangen oder man ignoriert die Fehlermeldung.
die werte bleien eh in den variablen und du kannst in der 2. Datei super suchen.
ich hab das schon ein paarmal gemacht, es bringt aber nichts wenn ich die meine awts schick weils eben ziemlich speziell ist, aber prinzipiell kannst du dir mit A&GOAWT usw. gut abhelfen.

------------------
ruplan4.61
ruplan4.70
eplan5.x
P8 V1.9 HF1 Build 3297

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD2017
Mitglied


Sehen Sie sich das Profil von CAD2017 an!   Senden Sie eine Private Message an CAD2017  Schreiben Sie einen Gästebucheintrag für CAD2017

Beiträge: 9
Registriert: 21.03.2017

erstellt am: 09. Apr. 2017 14:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank für eure Antworten! Haben mir schonmal ziemlich weitergeholfen.

@cad_hans: Wie löscht du dann den Wert aus der Liste nachdem du ihn in eine Benutzervariable gelesen hast? Machst du das dann in der selben AWT und überschreibst ihn einfach mit Blanks? Kannst du mir mal ein kleines Beispiel schreiben wie du das machst und in welchem Modus etc.?

------------------
Merci

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD2017
Mitglied


Sehen Sie sich das Profil von CAD2017 an!   Senden Sie eine Private Message an CAD2017  Schreiben Sie einen Gästebucheintrag für CAD2017

Beiträge: 9
Registriert: 21.03.2017

erstellt am: 10. Apr. 2017 13:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So, ich glaube ich habs hinbekommen. Sehr gut 

Könnt ihr mir noch erklären wie man eine AWT-Schleife beendet? Welche Selektion wird erfüllt, wenn ich alle Werte abgearbeitet und damit die Liste geleert habe?

------------------
Merci

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hochi
Mitglied



Sehen Sie sich das Profil von Hochi an!   Senden Sie eine Private Message an Hochi  Schreiben Sie einen Gästebucheintrag für Hochi

Beiträge: 90
Registriert: 15.05.2013

erstellt am: 11. Apr. 2017 09:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CAD2017 10 Unities + Antwort hilfreich

Hängt von Deiner Schleife ab.
Wenn Du mit Einzel-AWTs arbeitest und den Buffer reduzierst bis er leer ist, wäre S A&ANFBUF "0" eine geeignete Selektion. (Beispiel im Programmierhandbuch)
Die nötige A&EXI... hängt ebenfalls von Deiner Schleife und den AWT-Modus ab.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



EMSR-Ingenieur (m/w/d) / EMSR-Techniker (m/w/d)
Neue Technologien. Vielfältige Projektfelder. In den unterschiedlichsten Bereichen der Technik in den unterschiedlichsten Branchen. Das alles finden Sie spannend? Das alles finden Sie bei uns. Denn FERCHAU steht für die ganze Welt des Engineerings - mit mehr als 8.400 Mitarbeitern an über 100 Niederlassungen und Standorten. Neben namhaften Kunden und anspruchsvollen Projekten bieten wir Ihnen als innovatives ...
Anzeige ansehenElektrotechnik, Elektronik
cad_hans
Mitglied
Techn. Angestellter


Sehen Sie sich das Profil von cad_hans an!   Senden Sie eine Private Message an cad_hans  Schreiben Sie einen Gästebucheintrag für cad_hans

Beiträge: 1463
Registriert: 25.08.2003

ruplan4.61
ruplan4.70
eplan5.x
P8 V1.9 HF1 Build 3297

erstellt am: 18. Apr. 2017 07:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CAD2017 10 Unities + Antwort hilfreich

hallo,
erst jetzt die antwort weil auf Urlaub.

bei der awt mit der ich den wert lese setze ich einer variable einen wert mit define.
solange die variable den wert hat lese ich die Datei.
sobald ich in der Datei eine zeile mit einem gültigen wert habe lese ich die zeile und verändere den Inhalt der variable.
die zeile wird im u-Modus mit Leerzeichen überschrieben.
rausspringen aus der awt mit a&exitaw bzw. evtl. auch noch eine a&goawt usw. da gibt es ein paar Möglichkeiten.
in der nächsten awt wird mit den gelesenen werten irgendwas gemacht und dann wieder zurückspringen in die lese awt.
bei der lese awt nicht vergessen wenn nichts mehr gefunden wird auf die letzte awt der sammel awt zu springen.
die ist bei mir immer eine ende awt welche einfach werte zurücksetzt.

------------------
ruplan4.61
ruplan4.70
eplan5.x
P8 V1.9 HF1 Build 3297

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2019 CAD.de | Impressum | Datenschutz