| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Array in Text-Datei schreiben (1891 mal gelesen)
|
aerosimul Mitglied Masterand
Beiträge: 18 Registriert: 10.11.2017 ANSYS Classic 18.2 Autodesk Inventor CREO Parametric 2.0
|
erstellt am: 30. Nov. 2017 09:18 <-- editieren / zitieren --> Unities abgeben:
Hallo liebes Forum, ich beschäftige mich gerade mit der Simulation eines elektromagnetischen Feldes. Meine Konstruktion besteht aus zwei Spulen, die übereinander geordnet liegen. Die eine Spule ist felderzeugend und die andere als Messpule angebracht. Ich habe nun mein Programm soweit gebracht, dass ich die induzierte Spannung durch die Primärspule messen kann und für verschiedene Frequenzen einen mehrfachen Durchlauf durchführen kann. Dabei werden 4 berechnete Werte in einem Array in der *do Schleife gespeichert. Nun möchte ich dies in eine Text Datei übertragen. Ich habe jeden Beitrag zum Thema Exportieren gelesen, einfach jeden Beitrag. Jedoch erscheint bei mir der Fehler: 'The program is unable to open the file...' Folgendermaßen sieht der letzte Teil meines Programmes aus: !-----mehrfacher Durchlauf----- *do,i,1,anz f=f+10e3 !neuer Wert parsav,all,daten,dat !Parameter abspeichern finish /clear,start parres,new,daten,dat !Parameter einlesen schleife,mac ergebnis(i,1)=f ergebnis(i,2)=impedanz ergebnis(i,3)=u_betrag ergebnis(i,4)=s *enddo /axlab,y,Spannung/Strom /axlab,x,Frequenz *vplot,ergebnis(1,1),ergebnis(1,2) !---Datei erstellen--- *create,ausgabe,txt *cfopen,C:\Users\10407393\Desktop\Yildirim, Recep\Simulation\Ausführung\ausgabe,txt *vwrite,'Frequenz','Spannung/Strom','Spannung','Schirmdämpfungsfaktor' (a10,';',a10,';',a10,';',a10) *vwrite,ergebnis(1,1),ergebnis(1,2),ergebnis(1,3),ergebnis(1,4) (f10.6,';',f10.6,';',f10.6,';',f10.6) *cfclose !Datei schließen *end !Makro beenden *use,ausgabe,txt Wodurch kann ich das Problem beheben? Und ist ein Fehler im Programm enthalten? Bin für jede Hilfe dankbar!
Viele Grüße aerosimul
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
einfachTobi Mitglied Ingenieur
Beiträge: 146 Registriert: 22.03.2017 Ansys Workbench
|
erstellt am: 30. Nov. 2017 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für aerosimul
Mit APDL kenne ich mich wenig aus. Ich kann mir jedoch vorstellen, dass das Komma im Ordnernamen zu einem Problem führt. Dieses könnte als Trennzeichen zwischen Pfad und Dateierweiterung gesehen werden. Versuche doch mal einen Pfad ohne Leer- und Sonderzeichen zu verwenden. Sowas wie: Code:
*create,ausgabe,txt *cfopen,C:\Users\10407393\Desktop\Yildirim_Recep\Simulation\Ausfuehrung\ausgabe,txt
Ich weiß nicht ob es daran liegt, aber einen Versuch ist es sicher wert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
aerosimul Mitglied Masterand
Beiträge: 18 Registriert: 10.11.2017
|
erstellt am: 30. Nov. 2017 09:52 <-- editieren / zitieren --> Unities abgeben:
|
einfachTobi Mitglied Ingenieur
Beiträge: 146 Registriert: 22.03.2017 Ansys Workbench
|
erstellt am: 30. Nov. 2017 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für aerosimul
Die Fehlermeldung besagt ja, dass Ansys die Datei nicht öffnen kann. Liegt denn unter dem Pfad eine Datei mit dem korrekten Namen? Das *create dürfte doch nur eine Datei im aktuellen "Workspace" erstellen, also im Projektordner. Oder irre ich mich? Lösung wäre also: Eine entsprechende Datei im angegebenen Ordner erstellen oder den Pfad bei *create anpassen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
aerosimul Mitglied Masterand
Beiträge: 18 Registriert: 10.11.2017
|
erstellt am: 30. Nov. 2017 10:53 <-- editieren / zitieren --> Unities abgeben:
Also durch *create wird bei mir im richtigen Ordner eine Datei erstellt. Ich kann sie auch öffnen, jedoch sind dann in der Datei nur die Befehle zu sehen, die ich nach dem *create eingegeben habe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
aerosimul Mitglied Masterand
Beiträge: 18 Registriert: 10.11.2017 ANSYS Classic 18.2 Autodesk Inventor CREO Parametric 2.0
|
erstellt am: 30. Nov. 2017 15:31 <-- editieren / zitieren --> Unities abgeben:
kurzes Update: Der Fehler taucht auf, wenn ich den Befehl *use ausführen möchte. Ich kann wie gesagt eine txt-Datei erstellen, sie öffnen, jedoch wird darin anstatt des Arrays der Befehl *vwrite reingeschrieben. Hat da jemand vielleicht einen Hinweis?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
aerosimul Mitglied Masterand
Beiträge: 18 Registriert: 10.11.2017
|
erstellt am: 01. Dez. 2017 09:54 <-- editieren / zitieren --> Unities abgeben:
noch ein update... Leider sitze ich immer noch seit 3 Tagen an diesem Problem. Durch *create wird eine txt Datei erstellt, die ich genau in diesem Pfad finde und auch öffnen kann. In der Datei steht lediglich das, was ich in den Command Zeilen stehen hab, drin. *cfopen,ausgabe,txt,,C:\Users\10407393\Desktop\YildirimRecep\Simulation\Ausfuehrung *vwrite,'Frequenz','Impedanz','Spannung','Schirmdämpfungsfaktor' (a25,5x,a25,5x,a25,5x,a25) *vwrite,ergebnis(1,1),ergebnis(1,2),ergebnis(1,3),ergebnis(1,4) (f15.6,5x,f15.6,5x,f15.6,5x,f15.6) *cfclose ...Das wird mir lediglich in der Datei ausgegeben. Ich habe vieles versucht, eine do Schleife nach *cfopen, ändern der Formatierung, einen "kürzeren" Pfad ausgesucht, Sonderzeichen behoben.... Leider sitze ich seit 3 Tagen 10Stunden am Tag an diesem Problem und wäre sehr dankbar für weitere Hinweise, die ich übersehe... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Simulation Engineer (m/w/d) | Die Porsche eBike Performance GmbH entwickelt und produziert am Firmenstandort in Ottobrunn bei Mu?nchen wegweisende Antriebssysteme unter zwei Marken: kompakte Leichtgewichte von FAZUA für agile E-Bikes, die ein außergewo?hnlich natu?rliches Fahrgefu?hl schaffen, sowie zukünftig auch besonders leistungsfähige Antriebssysteme unter dem Markennamen Porsche. FAZUA ist eine junge, ambitionierte Marke, ... | Anzeige ansehen | Fahrzeugtechnik |
|
aerosimul Mitglied Masterand
Beiträge: 18 Registriert: 10.11.2017 ANSYS Classic 18.2 Autodesk Inventor CREO Parametric 2.0
|
erstellt am: 01. Dez. 2017 10:31 <-- editieren / zitieren --> Unities abgeben:
Habe das Problem nun gelöst. Für die, die es vielleicht interessieren könnte: Einfachmal *create weglassen...(peinlich) Quasi einfach "nur" den Fehler gemacht ein Macro zu erstellen in dem drin steht was ich gerne ausführen würde, anstatt das einfach nur auszuführen, ohne ein Macro zu erstellen. Viele Grüße aerosimul Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|