jab ich hatte es ja auch schon bei der xc101 schon wunderbar hinbekommen lief alles wunderbar. bloß jetzt muß ich halt das selbe für die xc201 machen
und die hat ja nur die syslibfile.lib (sicher es gibt bestimmt noch mehrere)aber ich würde die gern benutzen.
aber es geht ja schon los wenn ich 'sysfileopen' als baustein einfüge und mein filename dran stetze und die sps auf "RUN" setze kommt dann immer eine fehlermeldung irgendwie was mit "watchdog".man kann ja auch die zykluszeit manuell höher sezten,aber wenn ich das mache komme ich garnicht mehr auf die sps,kann sie auch nicht mehr stoppen,usw.aber die sps schreibt aber in der zeit die datei..(Bei einer WATCHDOG-zykluszeit von 100ms werden 10 einträge pro s geschrieben).jetzt wollte ich die ganze schreibfunktion in ein eigenen FB packen und nur den überwachen lassen. das doofe ist nur es können nur ganze programme überwacht werden...
der letzte thread hat mir schon sehr weiter geholfen...
aber jetzt ist halt schon wieder ein neues prob da
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Warum noch andere Libs als die SysLibFile ??? Was hast du bei der xc101 genommen ???
Wenn die SPS bei SysFileOpen hängenbleibt, hast du vielleicht den Rückgabewert nicht abgefangen ?
Du musst SysFileOpen genau 1* aufrufen. Nicht zyklisch !!!
Wenn die z.B. Datei auf Grund eines falschen Pfades nicht geöffnet, bzw. erstellt werden kann, dann kriegst du als Rückgabewert eine 0, bei der RTE eine -1 zurück. Wenns geklappt hat, ein Filehandle > 0.
Wenn du das hast, gibts keinen Grund mehr SysFileOpen nochmal aufzurufen.
Die Watchdog Zeit hat nichts mit der Zykluszeit der SPS zu tun, sondern nur mit der Dauer bis die Fehlermeldung kommt.
Dann mach doch ein PRG in dem nur eine Instanz deines FB aufgerufen wird.
Gruss
Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
also zu 1. ich hatte die xc100_File.lib verwendet und es lief ganz gut dazu muß ich noch dazu sagen das ich ein beispiel-prog bekommen haben von jemanden der bei moeller gearbeitet hat.
Aber die reihenfolge ist doch SysFileOpen --> SysFileWrite --> SysFileClose
Oder lieg ich da schon verkehrt?
danke erstmal für die antwort!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ich hatte deine examples auch schon ausprobiert aber leidewr auch ohne erfolg..
bin jetzt schon soweit das ich eine leere txt-datei auf der mmc-karte speichern kann.. also wenn keine da ist legt er sie an aber dann kommt auch schon wieder die fehlermeldung "Watchdog expired task = default task"
wie oben von erik schon beschrieben kommt diese fehlermeldung weil ich schon bei SYSFILEOPEN keinen Rückgabewert bekomme.
aber wieso nicht hab als Pfadangabe:'\disk_mmc\log_file.txt'
müßte doch eigentlich passen. weil schreiben tut er ja auf die karte(zumindest eine leere datei)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
große auswahl an konfigurationsmöglichkeiten hab ich auch nicht.
das einzige was ich gemacht hab ist ein häckchen rausgenommen bei der web-visuallisierung weil ich sonst immer ein fehler bekommen hab. ansonsten ist es eigentlich die grundeinstellung geblieben
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
noch komischer finde ich ja das wenn ich in den mode r umschalte wird mir eine handle-nummer angegeben aber kurz danach kommt wieder die fehlermeldung..
gut das kann ja sein weil danach gleich sysfilewrite kommt
auf jedenfall werd ich da nicht schlau drauß
hab mal eine beschreibung meines probs direkt an moeller geschickt mal sehen was die so sagen..
aber danke für dein bemühen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo
ich suche jetzt mal ein kleines Beispiel Programm für die Beschreibung einer MMC-Karte einer XC 201 mit den Bibliothek SYSLIBFILE.lib.
Bitte um schnelle Hilfe!!!
Danke schon mal!
Hallo
Über die Funktionen der SysLibFile gibts schon diverse Threads im Forum und auch die CoDeSys Hilfe ist da recht hilfreich.
Vielleicht mal die Suchfunktion bemühen.
Bei Hardwarespezifischen Fragen (z.B. den Pfad zu der Karte) wendest du dich evtl. besser an den Hersteller der SPS. (Klöckner Möller ?)
Oder hast du ein genauer spezifiziertes Problem ?
Gruss
Erik
Hi
Was hälts du von diesem Link ?
l viewtopic.php?t=557 l
Mahlzeit
@gravieren:
Prinzipiell wäre der Link ja die richtige Antwort, aber hast du schon mal nachgekuckt wer den Thread angefangen hat ???
jab ich hatte es ja auch schon bei der xc101 schon wunderbar hinbekommen lief alles wunderbar. bloß jetzt muß ich halt das selbe für die xc201 machen
und die hat ja nur die syslibfile.lib (sicher es gibt bestimmt noch mehrere)aber ich würde die gern benutzen.
aber es geht ja schon los wenn ich 'sysfileopen' als baustein einfüge und mein filename dran stetze und die sps auf "RUN" setze kommt dann immer eine fehlermeldung irgendwie was mit "watchdog".man kann ja auch die zykluszeit manuell höher sezten,aber wenn ich das mache komme ich garnicht mehr auf die sps,kann sie auch nicht mehr stoppen,usw.aber die sps schreibt aber in der zeit die datei..(Bei einer WATCHDOG-zykluszeit von 100ms werden 10 einträge pro s geschrieben).jetzt wollte ich die ganze schreibfunktion in ein eigenen FB packen und nur den überwachen lassen. das doofe ist nur es können nur ganze programme überwacht werden...
der letzte thread hat mir schon sehr weiter geholfen...
aber jetzt ist halt schon wieder ein neues prob da
Hallo
Warum noch andere Libs als die SysLibFile ??? Was hast du bei der xc101 genommen ???
Wenn die SPS bei SysFileOpen hängenbleibt, hast du vielleicht den Rückgabewert nicht abgefangen ?
Du musst SysFileOpen genau 1* aufrufen. Nicht zyklisch !!!
Wenn die z.B. Datei auf Grund eines falschen Pfades nicht geöffnet, bzw. erstellt werden kann, dann kriegst du als Rückgabewert eine 0, bei der RTE eine -1 zurück. Wenns geklappt hat, ein Filehandle > 0.
Wenn du das hast, gibts keinen Grund mehr SysFileOpen nochmal aufzurufen.
Die Watchdog Zeit hat nichts mit der Zykluszeit der SPS zu tun, sondern nur mit der Dauer bis die Fehlermeldung kommt.
Dann mach doch ein PRG in dem nur eine Instanz deines FB aufgerufen wird.
Gruss
Erik
moin
also zu 1. ich hatte die xc100_File.lib verwendet und es lief ganz gut dazu muß ich noch dazu sagen das ich ein beispiel-prog bekommen haben von jemanden der bei moeller gearbeitet hat.
Aber die reihenfolge ist doch SysFileOpen --> SysFileWrite --> SysFileClose
Oder lieg ich da schon verkehrt?
danke erstmal für die antwort!
Nein, die Reihenfolge ist schon korrekt, aber die einzelnen Funktionen müssen auch korrekte Rückgabewerte geliefert haben, bevors weitergeht.
Der Rückgabewert von SysFileOpen ist ja das Filehandle, das an die weiteren SysFilexxx Bausteine weitergegeben werden muss.
Also muss mindestens diese Rückgabe ausgewertet werden.
Hi
Ja, das ist eigentlich immer die groesste Huerde dabei.
Lade dir doch mal die Examples von meiner Homepage runter.
Diese sind alle mit Source.
Als Orientierung denke ich sehr brauchbar.
ich hatte deine examples auch schon ausprobiert aber leidewr auch ohne erfolg..
bin jetzt schon soweit das ich eine leere txt-datei auf der mmc-karte speichern kann.. also wenn keine da ist legt er sie an aber dann kommt auch schon wieder die fehlermeldung "Watchdog expired task = default task"
wie oben von erik schon beschrieben kommt diese fehlermeldung weil ich schon bei SYSFILEOPEN keinen Rückgabewert bekomme.
aber wieso nicht hab als Pfadangabe:'\disk_mmc\log_file.txt'
müßte doch eigentlich passen. weil schreiben tut er ja auf die karte(zumindest eine leere datei)
Was sagt denn der Hersteller dazu ?
Hört sich für mich nach nem Firmware Fehler an.
also in der beschreibung für die xc 200 steht auch ein beispiel drin für SYSLIBFILE:
OpenFile1 := SysFileOpen('\disk_mmc\project\File1','r');
aber den hersteller hab ich noch nicht direkt gefragt aber werd ich glaub ich mal machen.. weil ich komm hier überhaupt nicht weiter
Du weisst aber schon was das 'r' am Ende bedeutet ?
ja das steht für read das weiß ich
bei mir im code hab ich schon 'a' dran gesetzt weil ja alle 5 min ein string geschrieben werden soll
hab die zeile einfach nur aus der doku kopiert und hier eingefügt..
Häng doch mal kurz dein projekt mit dran, dann kuck ich mal
ok hier ist es.
Kühlturm_Aktuell.rar [194.86 KiB]
Was passiert denn, wenn die Rückgabe von SysFileOpen eine 0, also eine Fehlermeldung, ist ?
Dann wird SysFileWrite ohne gültiges Handle ausgeführt. Was dann vermutlich deinen Watchdog aus der Hütte lockt.
das kann sein aber wieso bekomm ich denn schon bei sysfileopen eine 0?
der baustein schaut doch nur ob eine file existiert oder nicht und wenn nicht erstellt er sie,oder?
Ja, so sollte das eigentlich sein.
Das ist dann der Punkt an dem ich ein Konfigurations- oder Firmware Problem vermute.
aber der code von mein projekt haut doch so eigentlich hin oder?
große auswahl an konfigurationsmöglichkeiten hab ich auch nicht.
das einzige was ich gemacht hab ist ein häckchen rausgenommen bei der web-visuallisierung weil ich sonst immer ein fehler bekommen hab. ansonsten ist es eigentlich die grundeinstellung geblieben
ich habe jetzt mal geschaut und zwar hab ich eine firmenware 1.04.01 drauf.
aber in CoDeSys-Firmenware ordner ist die letzte firmenware 1.03.03.
könnte es daran liegen?
Da kann ich dir jetzt leider nicht weiterhelfen. Das musst du mit dem Hersteller klären. Da gibts doch sicher auch ne Hotline.
noch komischer finde ich ja das wenn ich in den mode r umschalte wird mir eine handle-nummer angegeben aber kurz danach kommt wieder die fehlermeldung..
gut das kann ja sein weil danach gleich sysfilewrite kommt
auf jedenfall werd ich da nicht schlau drauß
hab mal eine beschreibung meines probs direkt an moeller geschickt mal sehen was die so sagen..
aber danke für dein bemühen
Hi
So komisch ist das nicht...
Wenn du einen SysFileOpen mit Read machst, und danach einen SysFileWrite, dann kann das nicht besonders günstig sein...
Gruss Erik