Autor Thema: Datenübertragung auf Speicherkarte  (Gelesen 19130 mal)

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Datenübertragung auf Speicherkarte
« Antwort #15 am: Februar 01, 2007, 17:53:46 Nachmittag »
Hallo,

nein, diese Möglichkeit besteht nicht. (siehe Pauls antwort)

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #16 am: Februar 09, 2007, 15:07:18 Nachmittag »
Hallo
Ich schreibe auf eine Datei. dieses FUnktioniert auch bzw. ich erhalte entsprechende Rückmeldungen.
Nun willich diese Datei schliessen. Hierbei gibt es Problme mit dem Handle.
Ich bekomme ide Fehlermeldung "File Invalid File Handle". Leider ist mein File Hanlde "0".
Ich habe zunächst vermutet, dass dieses das Problem ist. Und den Handle mit Werten beschrieben.
Diese werden jedoch mit 0 wieder überschrieben.
Und bekomme weiterhin diese Fehlermeldung.
Wenn ich das Programm beende und die Datei auslesen möchte bekomme ich die Mitteilung, dass ein Befehl nicht korrekt ausgeführt wurde. Entsprechend vermute ich hier ein Problem mit den Schliessen der Datei.
Kann mir hierbei jemand weiterhelfen?

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: Datenübertragung auf Speicherkarte
« Antwort #17 am: Februar 09, 2007, 17:21:19 Nachmittag »
Hallo OK,

beim Öffnen der Datei erhälst du ein Filehandle. Dies ist <> 0. Dieses Filehandle musst du dann anschließend für alle weiteren Zugriffe verwenden, auch für das FileClose !!!

 :) ;) :D
Gruß Paul

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #18 am: Februar 12, 2007, 11:22:15 Vormittag »
Das ist mir bewusst. Dies verwende ich auch.
Habe mittlerweile ein weiteres Projekt erstellt mit welchem ich die Funktionen zum Schreiben und Lesen einer Datei teste.
Hirebei wird beim Lesen eine Datei geöffnet (Diese wurde zuvor auf das System übertragen) leider bekomme ich nun die Fehlermeldung, dass diese Datei nicht existiert, wenn ich jedoch so wie ich die Datei reingeschrieben habe ich sie auch herrauslese funktioniert es. Also muss die Datei auf der Steuerung sein.
Wenn ich nun eine neue Datei öffne um in diese zu schreiben, wird mir ein Handle geliefert.
Ich gebe den Strobe für jedes Bauteil manuell.
Hierbei erhalte ich dann ein kurzes Signal am Activ-Ausgang jedoch der immer "true" führende Finish-Ausgang ändert sich nicht.
Dieses kann man zum einen optisch sehen und zum anderen habe ich dieses durch einen Zähler (CTU) nachgewiesen.
Wenn ich nun in den Stop-Modus wechsle und möchte diese Datei öffnen, dann wird mir mitgeteilt, dass der letzte Onlinebefehl nicht ordnungsgemäs durchgeführt wurde.

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Datenübertragung auf Speicherkarte
« Antwort #19 am: Februar 12, 2007, 12:56:38 Nachmittag »
Hallo OK,

gib mir doch mal das Programm, ich seh's mir dann mal an.
Welche Betriebssystem-Version hat deine EC4P ?

Gruß
Dieter

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #20 am: Februar 12, 2007, 13:25:17 Nachmittag »
Hallo Dieter

Die Betriebsversion ist die :V02.01.
Mit dem Link kannst du dir die ZIP-Datei runterladen welche das Testprojekt enthält.

Gruß
Oliver

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Datenübertragung auf Speicherkarte
« Antwort #21 am: Februar 12, 2007, 15:28:15 Nachmittag »
Hallo Oliver,

ich hab mir dein Programm angesehen und folgendes festgestellt:

1. Problem beim Schließen der Datei
Für beide Dateien wurde die gleiche Instanz des "FileClose" Bausteins verwendet. Soll z.B. die Datei "name" geschlossen werden, wird der FB für diese Datei mit Strobe = TRUE aufgerufen, hierbei wird die Datei auch korrekt geschlossen. Weiter unten im Zyklus wird der gleiche FB für die 2. Datei mit Strobe = FALSE aufgerufen, es passiert zunächst mal nichts. Die Strobe -Eingänge der Bausteine sind Flanken-gesteuert, d.h der Baustein wird nur bei einer steigenden Flanke am Strobe Eingang ausgeführt. Um ihn das nächste mal auszuführen, muss zuerst ein FALSE am Eingang erkant werden. Dieses False wurde aber bei dem Versuch die 2. Datei zu schliessen erkannt, da die gleiche FB-Instanz (File_Close_1) für beide Files verwendet wurde. Im nächsten Zyklus wird der Baustein für die Datei "name" wieder mit Strobe = TRUE aufgerufen, und da der Baustein wieder eine steigende Flanke erkennt, erneut ausgeführt. Da die Datei aber bereits beim ersten Aufruf geschlossen wurde, gibt's die Fehlermeldung "File Invalid File Handle".
Abhilfe: fur beide Dateien eigene Baustein-Instanzen anlegen, wie bei open, read und write auch.

2. ) Datei kann nicht geschrieben, bzw. gelesen werden.
Die Bausteine "FileRead" und "FileWrite" besitzen als Eingang den Parameter "dwSize". Hier muss angegeben werden, wie viele Bytes geschrieben, bzw. maximal gelesen werden sollen. In deinem Programm waren die Eingänge beim Schreiben und beim Lesen nicht beschaltet.
Die Bausteine besitzen ausserdem den Ausgang "dwWriteSize" bzw. "dwReadSize". Hier kann nach Beendigung der Aktion festgestellt werden, wieviele Bytes wirklich übertragen worden sind.

Abhilfe: Eingänge mit gewünschter Länge belegen

3.) Datei wird nach der Übertragung durch die Oberfläche nicht gefunden.
Dieser Effekt entsteht durch einen Fehler im Betriebssystem der EC4. Die Dateien sollen beim Transfer in einem bestimmten Unterverzeichnis auf der Speicherkarte abgelegt werden. Durch den Fehler werden sie aber irrtümlich im Root-Verzeichnis abgelegt. (Ist in der nächsten Version behoben !)

Abhilfe:
1. MMC in Kartenleser stecken und Datei dort in das Unterverzeichnis "PROJECT" kopieren. (Kompatibel mit nächster Version)

oder: Datei über Oberflächce auf Speicherkarte laden und im Dateinamen den Pfad "A:\Dateiname" angeben.

Das geänderte Testprojekt habe ich wieder angehängt.

Viele Grüße
Dieter

 

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #22 am: Februar 12, 2007, 15:55:13 Nachmittag »
Danke für deine Mühe....
Das mit dem Baustein-Instanzen scheint wohl ein dummer "Copy and Paste" Fehelr zu sein.
Ich  nahm an, dass bei keiner Angabe der Länge der komtlette Inhalt der variablen auf welche die Adresse zeigt geschrieben wird. Dumme Annahme...
Ok, das mit dem Speicherort, hätte ich wohl auch irgendwie herrausbekommen.
Denke, dass ich einfach zu oft mir das angeschaut habe und so die Eigentlichen Fehlerquellen übersehen habe...
Danke ;)

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #23 am: Februar 13, 2007, 14:01:55 Nachmittag »
Das Lesen aus einer Datei funktioniert nicht.
Die Länge welche angegeben werden kann, wird nicht eingehalten.
Es wird immer ein Zeichen eingelesen...
Kann mir jemand helfen?

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #24 am: Februar 13, 2007, 14:51:35 Nachmittag »
Hier mal das Beispiel.
Mit der entsprechenden Datei.

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Datenübertragung auf Speicherkarte
« Antwort #25 am: Februar 13, 2007, 16:40:13 Nachmittag »
Hallo Oliver,

wie kommst Du zu  der Erkenntniss, daß das Lesen nicht richtig funktioniert ?
Kannst Da das etwas näher erklären ?

Dieter

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #26 am: Februar 14, 2007, 08:28:47 Vormittag »
Hallo Dieter
Ich erhalte in meinen String immer nur ein Zeichen. bzw. der Erste gelesene String ist etwas Seltsam.
wenn ich nun die Anzahl der zu lesenden Zeichen auf z.B. 6 setze sollte dieser String dann auch 6 zeichen beinhalten.
Was nicht der Fall ist.
Das unten dargestellte Bild zeigt ein entsprechendes beispiel. Wobei in der Datei folgendes stehet.
t#00h00m00s   t#13h00m00s   t#15h00m00s   t#17h30m00s   t#17h30m00s

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Datenübertragung auf Speicherkarte
« Antwort #27 am: Februar 14, 2007, 08:57:49 Vormittag »
Hallo Oliver,

kannst Du nochmal das Programm einstellen, anhand der Screenshots ist das Problem schwer zu finden, da die nicht gut lesbar sind. Bitte auch die Datei dazugeben.

Dieter

Offline OK

  • Jr. Member
  • **
  • Beiträge: 45
Re: Datenübertragung auf Speicherkarte
« Antwort #28 am: Februar 14, 2007, 10:09:47 Vormittag »
ja klar.
Hier die entsprechende Projektdatei sowie die zu lesende Datei

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: Datenübertragung auf Speicherkarte
« Antwort #29 am: Februar 14, 2007, 10:55:30 Vormittag »
Hallo Oliver,
das Problem liegt nicht beim Lesen der Datei, sondern in der Datei, die Du lesen möchtest, bzw im Datentyp der Variablen, in der die gelesenen Daten abgelegt werden. In deinem Fall ist das eine Variable mit dem Datentyp "STRING". Da aber die Datei keine reine ASCII-Datei ist, sondern auch Zeichen enthält, die in Strings nicht vorkommen gibt's die Probleme. (siehe Screenshot)

Du solltest den Datentyp der Variablen "value_read" von String in ARRAY[1..n] OF BYTE (n bestimmt die größe des Arrays) umändern. 

Dieter