Datei Bytes Schreiben

Antworten
hrathke
Beiträge: 157
Registriert: Montag 12. Dezember 2011, 21:10

Datei Bytes Schreiben

Beitrag von hrathke » Samstag 28. Januar 2017, 20:38

Hallo,

leider funktioniert bei mir das Leeren der Datei nicht. Vielleicht kann mir das jemand bestätigen? Datei ist im Anhang.

vielen Dank!
Gruß
HR
Dateianhänge
write.prj
(6.58 KiB) 275-mal heruntergeladen

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Datei Bytes Schreiben

Beitrag von IKT » Samstag 28. Januar 2017, 23:14

Ja, korrekt, funktioniert nicht, wie in Handbuch beschrieben.
++++++
Gruss/regards IKT

hrathke
Beiträge: 157
Registriert: Montag 12. Dezember 2011, 21:10

Re: Datei Bytes Schreiben

Beitrag von hrathke » Sonntag 29. Januar 2017, 10:50

Hallo IKT,

vielen Dank für die Mühe!

@abacom: Gibt es von Ihrer Seite einen Tip was falsch läuft?

Danke!
Gruß
HR

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

Re: Datei Bytes Schreiben

Beitrag von abacom » Montag 30. Januar 2017, 09:59

Bei mir funktioniert es. Ich habe die Datei allerdings auf meinem Desktop angelegt.

"C:\"-Root ist manchmal kritisch, weil manche Windows-Versionen Dateien und Ordner
hier als Eigentum betrachten und/oder die Dateien virtualisiert werden könnten.
Könnte auch an Ordner-Attributen liegen. Schwer zu sagen.
Daß die Datei nicht zeitgleich in einem Editor oder so geöffnet sein darf, versteht sich von selbst.
ABACOM support

schnee
Beiträge: 61
Registriert: Mittwoch 19. Oktober 2011, 13:40

Re: Datei Bytes Schreiben

Beitrag von schnee » Montag 30. Januar 2017, 10:34

Eventuell könnte ABACOM noch einen Blick auf die Löschfunktion werfen. Wird die Datei gelöscht und anschließend gelesen, hängt sich ProfiLab auf. Zumindest ist es so bei mir.

DANKE
schnee
Dateianhänge
DateiLesen.JPG
DateiLesen.JPG (38.85 KiB) 12634 mal betrachtet

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Datei Bytes Schreiben

Beitrag von IKT » Montag 30. Januar 2017, 14:37

Hallo,

das Problem liegt bei "Datei lese Linie" im Beispiel von: HR.
Dies entspricht in etwa:
abacom hat geschrieben:Daß die Datei nicht zeitgleich in einem Editor oder so geöffnet sein darf, versteht sich von selbst.
++++++
Gruss/regards IKT

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Datei Bytes Schreiben

Beitrag von IKT » Montag 30. Januar 2017, 18:55

Hallo,

Workaround:
  • Datei zuerst kopieren, Execute --> .cmd starten (in: $$$temp.txt, oder sowas in der Art)
  • danach, die neu erstellte Kopie einlesen (Verzögerung einbauen: ca. 0.3 Sek.)
Datei Management, in PL-E ist, schlicht und einfach: bescheiden!
++++++
Gruss/regards IKT

hrathke
Beiträge: 157
Registriert: Montag 12. Dezember 2011, 21:10

Re: Datei Bytes Schreiben

Beitrag von hrathke » Montag 30. Januar 2017, 19:09

Hallo,

schon einmal vielen Dank für die Bemühungen.

Da abacom natürlich Recht hat, das nichts weiter geöffnet sein darf (dem ich natürlich zustimme), stellt sich die Frage, warum in die Datei geschrieben werden kann, aber nichts gelöscht (wenn Read Line verwendet wird).

Entfernt man Read Line aus dem Programm, kann in die Datei geschrieben und der Inhalt der Datei gelöscht werden. ABER: Nach dem Schreiben kann der Inhalt per Text Editor gelesen werden. Nach dem Löschen aber nicht, da kommt dann der Hinweis, das die Datei von einem anderen Programm verwendet wird - also wird die Datei nach dem Löschen nicht richtig geschlossen???

Schon sehr merkwürdig, das von 3 möglichen Datei Operationen, bei Verwendung von 2 Dateioperationen, sich diese auch noch gegenseitig behindern!?

Gruß
HR

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Datei Bytes Schreiben

Beitrag von IKT » Montag 30. Januar 2017, 19:24

hrathke hat geschrieben:also wird die Datei nach dem Löschen nicht richtig geschlossen???
Anscheinend wird die Datei permanent offen gehalten, bis Program Ende.
++++++
Gruss/regards IKT

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

Re: Datei Bytes Schreiben

Beitrag von abacom » Donnerstag 2. Februar 2017, 10:17

1.) Mir ist nicht klar was obiges Projekt überhaupt bezwecken soll. Einerseits wird byteweise in eine Datei geschrieben und evtl. manuell geleert. Na gut.
Anderseits wird versucht "zeilenweises" aus der Datei zu lesen? Das setzt aber schon voraus, daß in der Datei auch "Zeilen"
(abgeschlossen mit Zeilenende 13h 10h) vorhanden sind, was hier scheinbar nicht der Fall ist.
2.) Es sollte in den Beiträgen deutlich zwischen "Löschen" und "Leeren" der Datei unterschieden werden. Sonst wird es schnell unverständlich.

Vielleicht kommen wir weiter, wenn klar ist, was das Projekt leisten soll...
ABACOM support

schnee
Beiträge: 61
Registriert: Mittwoch 19. Oktober 2011, 13:40

Re: Datei Bytes Schreiben

Beitrag von schnee » Donnerstag 2. Februar 2017, 11:43

Hallo
zu den Fragen, sofern ich gemeint bin:
Die Datei enthält bei mir nur Bytes und nur eine Zeile ohne LF und wird der Einfachheit halber mit der Funktion "Datei-ReadLine" gelesen.
In der Anleitung zum Modul "Datei-Bytes schreiben" ist von leeren die Rede, soweit klar.

Vorteilhat wäre nur, wenn nach dem Leeren der Datei ein Lesezugriff über die Funktion "Datei-ReadLine" nicht zum Absturz von PL führen würde.

Gruß
schnee

hrathke
Beiträge: 157
Registriert: Montag 12. Dezember 2011, 21:10

Re: Datei Bytes Schreiben

Beitrag von hrathke » Donnerstag 2. Februar 2017, 22:05

Hallo abacom Support,

was soll das Programm leisten:

z.b. als Betriebsstundenzähler die Zwischenstände speichern (also einfach die h, min, sec hintereinander wegschreiben) und wie schon Schnee beschrieben hat, der Einfachheit halber mit Read Line wieder ausgelesen werden (und mit z.B. $part wieder getrennt werden), aber wenn das funktionieren würde - wie beschrieben - auch als universeller Dateispeicher für alles Mögliche an Werten...

Danke!
Gruß
HR

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

Re: Datei Bytes Schreiben

Beitrag von abacom » Freitag 3. Februar 2017, 11:09

Hier drei verschiedene Möglichkeiten, die alle den gewünschten Zweck erfüllen...
FILE_RW.zip
(203.51 KiB) 315-mal heruntergeladen
ABACOM support

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Datei Bytes Schreiben

Beitrag von Mike D » Freitag 3. Februar 2017, 11:53

Moin,
hatte da vor etlichen Jahren nicht mal jemand eine DLL für geschrieben, die das absturzsicher erledigte?

Mike
Zuletzt geändert von Mike D am Freitag 3. Februar 2017, 15:42, insgesamt 1-mal geändert.

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Datei Bytes Schreiben

Beitrag von Mike D » Freitag 3. Februar 2017, 11:58

hier der archivierte Thread aus dem alten Forum
viewtopic.php?f=31&t=675&p=677&hilit=Be ... unden#p677

gucke nach expertprofi und kpaul

EDIT: Oh, sehe grade die ist im zip-file von abacom schon drin.

schnee
Beiträge: 61
Registriert: Mittwoch 19. Oktober 2011, 13:40

Re: Datei Bytes Schreiben

Beitrag von schnee » Freitag 3. Februar 2017, 13:02

Danke für die Lösungen, ich verwende jetzt den batch-Vorschlag, da dort auch Text möglich ist.

Gruß
schnee

hrathke
Beiträge: 157
Registriert: Montag 12. Dezember 2011, 21:10

Re: Datei Bytes Schreiben

Beitrag von hrathke » Freitag 3. Februar 2017, 18:37

Hallo abacom,

vielen Dank für die Vorschläge - das mit der DLL funktioniert gut (verwende ich schon seit Jahren), aber ich wollte es eigentlich einmal komplett mit PL tun (eigentlich auch ohne Batch Datei).

Ich finde die Lösung mit dem MWR sehr schön :D (da hätte ich eigentlich auch selbst drauf kommen können, da ich diesen intensiv einsetze ... :roll: )

Gruß
HR

Antworten

Zurück zu „Thema: Schaltung und Bauteile“