OSCAT Forum

network.lib => Modulentwicklung => Thema gestartet von: rrbd am 13. November 2012, 07:36:34

Titel: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: rrbd am 13. November 2012, 07:36:34
Zitat
Moin,
zu Funktionstests mit PC WORX / Phoenix ILC  komme ich erst Ende der Woche. Doku habe ich schon mal angefangen zu lesen, mir fiel ein kleines Handhabungsproblem auf, "irgendwie" sind die Links des Inhaltsverzeichnisses "zerschossen", führen nicht zum Thema. Beispiele:

Click auf                   führt nach
---------------------------------------------------------------------------------------------------------
2.1. Ziele                  Inhaltsverzeichnis, es wird nur gescrollt, bis Ausgangslink am oberen Bildschirmrand
4.11. us_TN_MENU     Inhaltsverzeichnis, es wird nur gescrollt, bis Ausgangslink am oberen Bildschirmrand
5.1. ELEMENT_COUNT Inhaltsverzeichnis, es wird nur gescrollt, bis Ausgangslink am oberen Bildschirmrand
9.13. MD5_AUX          s.o.

Grüße

Rainer


Peewit:
Danke für deine Information
Die PDF-Datei habe ich neu generiert und die genannten Fehler sollten nicht mehr vorhanden sein
Dokumention.zip steht in aktualisierter Form wieder zum Download bereit
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: GES123 am 14. November 2012, 16:08:31
Bin gerade dabei die codesys_network.lib 1.30 zu testen. Zwei  Sachen sind mir aufgefallen:

1.   DLOG_STORE_FILE_CSV
Der Baustein DLOG_STORE_FILE_CSV hat jetzt eine zusätzliche IN_OUT_VAR namens Retain_Data vom Typ DLOG_RETAIN. Diese wird aber in der Dokumentation nicht beschrieben. In dem Demo-File ist das ganze enthalten. Dort wird die Variable so deklariert:
VAR RETAIN
   Retain_data: DLOG_RETAIN;
END_VAR;
Damit funktioniert es, was die Variable aber genau macht, kann ich noch nicht nachvollziehen.

2.   Allgemein
Ich bekomme folgenden Fehler:
Fehler 4121: FILE_SERVER(45): AUTO_CLOSE ist keine Komponente von FILE_SERVER_DATA.
Liegt das Problem in meinem Programm oder im Baustein?

@Peewit: Vielen Dank für das Tuning des DLOG_STORE_FILE_CSV

Peewit:
Danke für deine Information
Die Dokumentation habe ich neu generiert und die genannten Fehler sollten nicht mehr vorhanden sein
Alle Dateien stehen in aktualisierter Form wieder zum Download bereit
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: T.Hollenbeck am 15. November 2012, 09:24:26
Guten Morgen

Folgende Fehlermeldungen bekomme ich wenn ich die heute morgen geladene Network Lib einbinden möchte.
Ich habe noch keine der Bausteine im Programm eingebunden.

CoDeSys ver. 2.3.9.25
SPS Wago 750-881
Bei den Zielsystemeinstellungen habe ich die max. Bausteine hochgesetzt auf 1500.

Antwort von Peewit:
in der oscat_basic 3.33 wurde beim baustein REAL_TO_STRF der zusätzliche Parameter "D" hinzugefügt
da du aber die oscat_basic 3.32 eingefügt hast, fehlt dieser parameter

Lösung -> lade dir die codesys basic 3.33 herunter und binde diese ein



[gelöscht durch Administrator]
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: GES123 am 15. November 2012, 15:33:21
Hallo Miteinander,
ich hab den Datenlogger der codesys_network.lib 1.30 über Nacht getestet. Er hat brav mitgeloggt und die Zeilenumbrüche auch genau da gemacht, wo er sollte. Und das auch mit 142 zu loggenden Daten.
Dickes Dankeschön an PeeWit, auch für die super schnellen Reaktionszeiten.

Antwort von Peewit:
ich nehme an das deine probleme mit der network 1.21 durch die neue "Performanceschraube" in der v1.30 behoben wurden

Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: T.Hollenbeck am 18. November 2012, 12:40:47
Kurze Rückmeldung von mir

MySQL Baustein macht nun seit zwei Tagen alle 15 Minuten was er soll.

(Kurze Funktionseinsatz
Temperatur als REAL + Temperaturfühler Ort als INT
zur Zeit werden zwei Temperaturfühler in einer Tabelle geloggt alles super)

@pewit: Danke, genau das was ich gesucht habe.
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: paraglider am 18. November 2012, 13:25:34
...auch von meiner Seite ein großes Dankeschön. Ich logge eine Reihe von Daten auf eine mysql-DB auf einem Synology NAS.

Alles klappt tadellos. Vielen Dank auch für das Demoprogramm!

Andreas
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 11. Februar 2013, 13:13:36
Ich habe mich auch mit dem DLOG_MYSQL Baustein befasst.
Ich bekomme allerdings folgenden Fehler zurückgeliefert (siehe auch Screenshot):

Fehler: 1156 SQLSTATE: 08S01 (ER_NET_PACKETS_OUT_OF_ORDER)

Meldung: Pakete nicht in der richtigen Reihenfolge empfangen

Daten zum mysql Server:

Server:
Software: MySQL
Software-Version: 5.1.66-0+squeeze1 - (Debian)
Protokoll-Version: 10
Server Zeichensatz: UTF-8 Unicode (utf8)

Webserver:
Apache/2.2.16 (Debian)
Datenbank-Client Version: libmysql - 5.1.66
PHP Erweiterung: mysqli

Eine Idee was es da haben könnte?

LG
Alex

[gelöscht durch Administrator]
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 11. Februar 2013, 14:13:00
hallo

das problem kenne ich ehrlich gesagt gar nicht , das hatte ich bisher noch nie !

1. welche steuerung verwendest du ?
2. hast du schon mal mit xampp probiert
3. geht es nie , oder bekommst du nur manchmal diesen fehler ?
4. hast du das DLOG_MYSQL_DEMO im ordner "DEMO" schon probiert, passiert es dort auch ?
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 11. Februar 2013, 14:25:00
Hello!

1. Ich verwende die Wago 750-881 als Steuerung, die du ja nicht hast.. ;-)
2. das ist eine Datenbank die von meinem Webhoster zur Verfügung gestellt wird. und xampp muss ich zugeben wüsste ich nicht, was ich damit probieren sollte...
3. es funktioniert nie
4. das ist das Demoprogramm nur auf meine bedürfnisse umgeschrieben.
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 12. Februar 2013, 20:09:09
Ich habe versucht Xampp bei mir laufen zu lassen, aber da dürfte sich die X-Home installation quer legen.
Dann habe ich versucht mysql auf meine NAS zu installieren, aber dafür sind die pakete noch nicht kompiliert worden - also auch fehlanzeige.

Ich könnte noch versuchen am Mac das ganze zum laufen zu bringen, aber da dürfte es auch noch keine aktuelle Version für OSX 10.8 zu geben...

eine Idee wo ich noch eine Datenbank testen kann?
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 13. Februar 2013, 12:45:05
es gibt ja auch noch die XAMPP Windows 1.8.1 (windows version des paketes)
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 13. Februar 2013, 12:49:37
ich weiß, das habe ich auch schon versucht, aber da ich auf meinem rechner die X-Home Visu laufen habe, und die auch apache und mysql verwendet dürfte sich die installation hier ein wenig spießen...

Ich muss mal schaun, wo ich eine andere datenbank herbekomme als die von meinem webhoster
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: ColdIce am 15. Februar 2013, 08:41:10
Wenn du die Datenbank bei einem Hoster liegen hast, hast du auch die Rechte um die Datenbank von aussen zu ändern ? Viele Hoster sperren das standartmäßig und du musst das separat erlauben.
Ich habe ddiesen Baustein in mehreren Projekten ohne Probleme am laufen.
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 15. Februar 2013, 09:29:38
naja.. ich bin jetzt leider nicht der Datenbankprofi, aber ich habe einen User mit dem ich per myphpadmin meine Datenbanken auf meinem Webspace angreifen kann.

Ich habe eine eigene Datenbank angelegt und sie mit dem User, den ich auch bei dem sql baustein angegeben habe, angepasst.
Lt. Bausteinbeschreibung sollte er die Tabellen auch selbst anlegen können, da das aber nicht funktioniert hat, habe ich die Tabellen mal selbst angelegt, aber ob ich das richtig gemacht hab, weiss ich nicht.

Aber der User sollte grundsätzlich alle rechte haben.
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 15. Februar 2013, 11:58:50
in der doku steht welche rechte der user haben soll

und wenn der baustein die tabelle anlegt und es nicht erlaubt ist, dann kommt doch eine fehlermeldung das es nicht geht, bzw es steht dort was warum ...

du wirst doch sehen können ob es einen fehlermeldung gibt oder nicht


Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 15. Februar 2013, 18:34:50
die Fehlermeldung habe ich doch schon geschrieben...

Fehler: 1156 SQLSTATE: 08S01
 (ER_NET_PACKETS_OUT_OF_ORDER)


Ich habe jetzt dem Support von meinem Webspace geschrieben:

Hallo liebes Supportteam!

 Ich habe zu meinem Account einen externen Zugriff auf eine
 mysql-Datenbank einrichten lassen.

 Ich bekomme aber leider keine funktionierende Verbindung zu
 der Datenbank.

 Ich bekomme als Fehlermeldung beim Connect:

 Fehler: 1156 SQLSTATE: 08S01
 (ER_NET_PACKETS_OUT_OF_ORDER)

 Meldung: Pakete nicht in der richtigen Reihenfolge empfangen

 Ich habe andere Datenbanken getestet, und dort klappt der
 Connect ohne Probleme. (z.b. freesqldatabase.com oder eine
 lokale xampp installation).

 Aber sobald ich mich auf ihre mysql Datenbank verbinden
 möchte bekomme ich die oben genannte Fehlermeldung.


Als Antwort kam dies zurück:

Sehr geehrte Kundin, sehr geehrter Kunde,

 vielen Dank für die Mitteilung.

 Wann passiert dies, bei uns ist der

 max_allowed_packet= 16M ist dies bei Ihrem Client auch so eingestellt.

 Wie können wird dies testen oder Produzieren ?


 Mit freundlichen Grüßen

 Ihr Team von ...
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 15. Februar 2013, 20:30:18
das muss ich mir erst mal in ruhe ansehen, was man da an parameter noch ändern kann

aber das ist meiner meinung nach eine einstellung die man auf der mysql-server machen kann, und nur festlegt welche maximale länge die datenpakete haben dürfen/können

wir schicken aber nur maximal 4000 bytes grosse datenpakete

also denke ich das dies kein lösungsweg ist !


(z.b. freesqldatabase.com oder eine lokale xampp installation).
hast du wirklich nun andere ausprobiert und dort kein problem gehabt



hast du schon mal die WagoLibMySQL_03.lib probiert
wäre interessant ob hier das gleiche problem bei dir besteht
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 18. Februar 2013, 07:17:26
hast du wirklich nun andere ausprobiert und dort kein problem gehabt
Ja, dort läuft es mehr oder weniger ohne Probleme.
Das einzige Problem, dass ich dort noch habe - wenn mein ADSL Anschluss seine 24h Zwangstrennung macht, dann bekomme ich am mysql Baustein einen Fehler und er baut die Verbindung nicht mehr auf und ich muss ihn manuell auf false und wieder true setzen, dann funktioniert er wieder. Ich habe gestern Abend mal das Timeout erhöht.. mal schaub ob das was gebracht hat.

hast du schon mal die WagoLibMySQL_03.lib probiert
wäre interessant ob hier das gleiche problem bei dir besteht


Nein, habe ich noch nicht versucht. Ich werde mir die lib aber mal ansehen und wenn ich es verstehe ausprobieren. ;-)

Ich könnte mir auch einen HUB besorgen und mal einen TCP-Dump machen... nur leider habe ich nur Switches daheim und komme daher im Moment noch nicht an die Kommunikation der SPS mit dem Internet.


edit: Ich habe gerade nachgesehen.. ich habe wieder einen Fehler bekommen heute Nacht:
error_t: 2
error_c: 4244635648

Wenn ich das mit dem Umrechnen richtig verstanden habe, müsste das dann 0xfd00 und 0x0000 sein...
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 18. Februar 2013, 17:12:32
solange der baustein aktiv geschalten ist, bleibt auch die tcp-verbindung bestehen
wenn dann bei dir dein router einen reset durchführt, dann wird diese verbindung zerstört und es kommt zum fehler
und das behebt man durch einmaliges enable off/on

also genauso so wie du es gemacht hast
soweit ist alles normal !

---------------------------------------

error_t: 2
error_c: 4244635648

Wenn ich das mit dem Umrechnen richtig verstanden habe, müsste das dann 0xfd00 und 0x0000 sein...
0x fd00_0000 -> das hast du richtig interpretiert

-> die verbindung wurde von der remote seite getrennt bzw. von der gegenseite bewusst beendet

entweder hat dein router die verbindung beendet, oder der sql_server wegen inaktivität, oder netzwerkproblem

Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: linsenpago am 18. Februar 2013, 18:03:58
alles klar!

Hast du eine Ahnung wie ich das automatisiert disablen/enablen kann wenn es zum Fehler kommt?

Oder irgendjemand?

PS: jetzt Fehlen mir zu meinem Glück die oben genannte Überwachung und, dass ich auch die Kommawerte in die DB geschrieben bekomme...

Hast du eine Ahnung peewit?

wie man im Screenshot sehen kann übergebe ich den dlog Bausteinen die Kommastellen in der DB stehen aber nur ganze Werte...

[gelöscht durch Administrator]
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 18. Februar 2013, 22:10:10
error reset

gefällt mir zwar selber nicht, aber vielleicht hilft es dir (das beispiel ist nicht getestet, aber es wird schon passen ....)
damit man die chance hat einen fehler auch zu sehen bzw. zu verarbeiten habe ich den reset zeitverzögert !
erzeugt bei einen vorhandenen fehler , nach der eingestellter zeit eine negative flanke am enable

siehe bild im anhang


keine komma werte ?

baustein: dlog_real

Der Eingang D legt fest mit welchem Zeichen der Dezimalpunkt dargestellt wird. Wir bei Parameter D kein Zeichen übergeben, so wird automatisch ',' verwendet.
das heisst wenn du dort das zeichen "." übergibst , dann kann der sql_server dies eventuell besser interpretieren
dass kannst du ja mal probieren !


[gelöscht durch Administrator]
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: mbruck am 03. April 2013, 00:05:03
Any chance for english documentation ?   :-\

So far, I copy/paste to google translate and use... ;)

Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: skateman am 06. Juni 2013, 11:58:53
Hallo,

ich habe gerade den Modbus-Client getestet und dabei einen Fehler in der Doku gefunden:

Bei Verwendung von Functioncode 4 (Read Input Register) muss natürlich auch die Anzahl der zu lesenden Datenpunkte mit R_POINTS definiert werden!

Siehe Anhang - fehlender Eintrag in der Doku-Matrix!


[gelöscht durch Administrator]
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 06. Juni 2013, 16:00:07
hallo

stimmt, danke für den tip
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: amos am 27. November 2013, 22:58:40
Hallo peewit,

vielen Dank für Deine geniale Open Source Library. Habe DLOG_STORE_MYSQL erfolgreich mit einer Wago 750-881 getestet, läuft absolut performant (6 inserts per second) und CPU schonend. Ich werde nun versuchen die Messergebnisse eines Sick DS-60 perfomant in die Datenbank zu loggen.
Ich hoffe früher oder später wird auch noch postgresql den Weg in die  OSCAT-NETWORK-LIB finden.

Viele Grüße
amos
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: amos am 27. November 2013, 23:30:58
Hi, im Projekt NET_VAR darf ich nicht antworten, darum hier mein Vorschlag:

Bitte das Rad nicht neu erfinden, sondern bezüglich der Kommunikation von mehreren Steuerungen untereinander  besser auf bewährte Open Source Lösungen zurück greifen.

http://www.oscat.de/community/index.php/topic,2106.0.html

Der kostenfreie Message Broker:

http://activemq.apache.org/

kann in weniger als 10 Minuten installiert werden und kommt meiner Erfahrung nach auch mit Millionen von Nachrichten <1500 Byte pro Sekunde klar.
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: rrbd am 13. Oktober 2014, 11:13:05
Wann gibt's eigentlich mal ein Release? Die 1.21 war ja für mich jedenfalls eher unbrauchbar, während ich die 1.30 schon seit längerem erfolgreich nutze.

Gruß

Rainer
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: arsh0r am 31. März 2015, 14:23:45
Hi,

wir nutzen einige Funktionen der network.lib 1.30RC1 auf der PC WORX SRT Soft-SPS.

Da die Soft-SPS auf Windows läuft ergeben sich zusätzliche Probleme, die für eine normale SPS höchstwahrscheinlich nicht relevant sind (z.B, können andere Prozesse Dateien locken). Trotzdem stelle ich hier meine Patches mal rein.

FILE_SERVER:
Falls eine Datei nicht existiert brincht FILE_REMOVE mit einem Fehler ab, siehe: http://www.oscat.de/community/index.php/topic,2248.0.html
@@ -528,6 +561,11 @@
 IF command = BYTE#7 THEN
  IF FILE_REMOVE.Done THEN
  error := FILE_REMOVE.Error;
+ IF FSD.MODE = BYTE#3 AND FILE_REMOVE.ErrorID = UINT#21 THEN
+ error := FALSE; (*Wenn die Datei nicht existiert kommt bei SRT ein Fehler*)
+ END_IF;
  command := BYTE#0;
  error_code := SEL_BYTE(error,BYTE#00,UINT_TO_BYTE(FILE_REMOVE.ErrorID + UINT#140)); (* Errorcode basis verschieben *)
  (* ---------------------- Debug-Message ----------------------------*)

Nur zur vorsicht, es gibt nämlich funktionen, die Error=TRUE setzen aber am crror_code "0" schreiben. Im Handbuch steht hier: "Keine Fehlerinformation vorhanden."
@@ -327,6 +355,11 @@
 
 30000: (* Befehl fertig *)
  FSD.MODE := BYTE#0;
+ IF error AND error_code = BYTE#0 THEN (*Keine Fehlerinformation vorhanden?!*)
+ error_code := BYTE#1;
+ END_IF;
  FSD.ERROR := error_code;
  step := 0;
  (* ---------------------- Debug-Message ----------------------------*)

Eher suboptimal, aber ich weiss mir aktuell nicht anders zu helfen. Ich hatte den Fehler, dass Dateien trotz  FSD.OFFSET = UDINT#4294967294 trotzdem überschrieben wurden anstatt am Ende anzuhängen. Die genaue Ursache konnte ich noch nicht eingrenzen. Ich gehe einfach nochmal sicher, dass der Zeigen am Dateiende sitzt.
@@ -238,6 +238,11 @@
IF FSD.OFFSET = UDINT#4294967294 THEN (* 16#FFFF_FFFE -> Zeiger auf Dateiende stellen *)
command := BYTE#5; (* File-Seek *)
  seek_position := FSD.FILE_SIZE;
  seek_mode := UINT#0; (* Positionierung relativ zum Dateianfang *)
  step := 210;
+ seek_mode := UINT#2;  (* Positionierung relativ zum Dateiende *)
+ seek_position := UDINT#0;
+ step := 201;
  ELSIF FSD.OFFSET > FSD.FILE_SIZE THEN (* prüfe auf gültige offset-vorgabe *)
  error_code := BYTE#255;
  step := 30000; (* Beenden *)
@@ -249,7 +254,30 @@
  ELSE
  step := 300;
  END_IF;
+201: (* File Seek *)
+ IF command = BYTE#0 THEN
+ IF Error THEN
+ step := 30000; (* Beenden *)
+ ELSE
+ step := 202;
+ END_IF;
+ END_IF;
 
+202: (* File Tell - Position des Schreib/Lesezeiger auslesen *)
+ command := BYTE#6; (* File Tell *)
+ step := 203;
+
+203: (* File Tell *)
+ IF command = BYTE#0 THEN
+ IF Error THEN
+ step := 30000; (* Beenden *)
+ ELSE
+ seek_position := tell_position;
+ step := 210;
+ END_IF;
+ END_IF;
 210: (* File Seek *)
  IF command = BYTE#0 THEN
  file_position := seek_position;

DLOG_STORE_FILE_CSV

Ich will auf keinen Fall das irgendwelche Logfiles überschrieben werden (nur anhängen) und ich will ein Logfile pro Tag mit 1-Minuten Werten. Ich nehme dafür in Kauf, dass bei einem Neustart der Soft-SPS die Kopfzeile noch einmal geschrieben wird. Ohne das Patch (retry on error) landen alle neuen Zeilen im Nirvana, falls die CSV von einem anderen Prozess (in meinem Fall WinSCP) gelockt ist. Kann der Puffer nicht ins CSV geschrieben werden, dann probiert er es im 5 Sekunden Abstand erneut. Läuft der Puffer (4096 Zeichen) über gibt es eine unschöne Zeile und alle zusätzlichen Daten sind fort. Die CSV wir bei mir aber nur einmal pro Stunde für ca. 20 Sekunden gelockt (ungünstigerweise wollte er genau da eine neue Zeile schreiben)...
@@ -68,6 +68,7 @@
  total_bytes : UDINT;
  buf_totalsize : INT := 4096;
  workaround : WORD;
+ err_retry : TON;
 END_VAR
 
 @@ -217,6 +221,10 @@
 
  FSD.MODE := WORD_TO_BYTE(workaround); (* 0X00 -> 000X = 3 create + write / 2 open + write *)
  FSD.OFFSET := UDINT#0; (* Start bei Dateianfang *)
+ FSD.MODE := BYTE#2; (* File_Open_Exist + File_Write *)
+ FSD.OFFSET := UDINT#4294967294; (* 16#FFFF_FFFE ->Spezialcode: Daten automatisch an Dateiende anhängen *)
  FSD.FILENAME := X.UCB.D_STRING; (* Dateiname *)
  PT.SIZE := UINT#0;
  SAVE_DATA.FN_REM := FSD.FILENAME; (* aktuellen Dateinamen remanent sichern *)

@@ -297,7 +305,15 @@
  END_IF;
  step_2 := 20;
 
-20: IF FSD.MODE = BYTE#0 THEN
+20:
+ IF err_retry.Q THEN (*Falls ein Fehler aufgetreten ist, nach 5s noch einmal probieren*)
+ FSD.ERROR := BYTE#0;
+ FSD.MODE := BYTE#2; (* File_Open_Exist + File_Write *)
+ FSD.OFFSET := UDINT#4294967294; (* 16#FFFF_FFFE ->Spezialcode: Daten automatisch an Dateiende anhängen *)
+ END_IF;
+ IF FSD.MODE = BYTE#0 AND FSD.ERROR = BYTE#0 THEN
  total_bytes := FSD.FILE_SIZE;
  X.NEW_FILE_SIZE := total_bytes + INT_TO_UDINT(idx);
  IF log_stop OR aw_aktiv THEN

@@ -333,6 +349,9 @@
 ERROR_T := SEL(FSD.ERROR > BYTE#0,BYTE#0,BYTE#1);
 
 trig_m_last := TRIG_M;
+err_retry(IN:=FSD.ERROR > BYTE#0,PT:=t#5s);
 
 (* revision history
 ks 01. jan. 2011 rev 1.0

Wenn der Puffer einmal überläuft kommt er nie wieder in die Spur zurück, wenn hier nicht initialisiert wurde.
@@ -201,6 +202,9 @@
  ELSE
  wd_ton(IN:= FALSE, PT:= wd_time);
  wd_ton(IN:= TRUE);
+ n := USINT#0; (*falls UCB mal voll war.*)
  WHILE X.UCB.BUF_COUNT > 0 AND step_2 = 0 AND wd_ton.Q = FALSE DO
  X.UCB.D_MODE := 10;
  UCB(DATA:=X.UCB); (* Element lesen , aber noch nicht entfernen *)
Titel: Re: OSCAT-NETWORK-LIB 1.30 Release Candidate 1
Beitrag von: peewit am 01. April 2015, 13:29:04
hallo arsh0r

ich danke dir für den guten konstruktiven input

leider gibt es bei den verschiedenen plattformen immer wieder "extrawürste" zu berücksichtigen

da ich aber genau das eingeplant und den file_server gemacht habe , kann man nun relativ einfach für jede plattform einen angepassten file_server machen und der rest der bausteine ist nicht betroffen.