<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/</id><updated>2020-02-28T17:31:39.061000Z</updated><subtitle>Recent posts to SysLibFile Problem</subtitle><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#b4b2" rel="alternate"/><published>2020-02-28T17:31:39.061000Z</published><updated>2020-02-28T17:31:39.061000Z</updated><author><name>S Hinck</name><uri>https://forge.codesys.com/u/s-hinck/</uri></author><id>https://forge.codesys.com8c4910a0454536169fe50551ee010cb555e05feb</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Obwohl es heute zur Gewohnheit werden zu scheint, muss ich mich noch einmal bedanken. &lt;/p&gt;
&lt;p&gt;Ich habe einige Testläufe gemacht, und seit ich die Aufrufe mit LEN() anstatt SIZEOF() mache, läuft alles ohne Problem.&lt;/p&gt;
&lt;p&gt;Das Forum hier ist wirklich sehr nützlich und eine gute Sache. &lt;/p&gt;
&lt;p&gt;Somit sind erstmal meine gröbsten Probleme alle gelöst. Danke.&lt;/p&gt;
&lt;p&gt;Grüße,&lt;/p&gt;
&lt;p&gt;Steffen Hinck&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#c5b7" rel="alternate"/><published>2020-02-28T17:31:30.889000Z</published><updated>2020-02-28T17:31:30.889000Z</updated><author><name>Uwe</name><uri>https://forge.codesys.com/u/uwe/</uri></author><id>https://forge.codesys.com6503609ddafd78448bced7895e54e490a5a64391</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Die Funktion SIZEOF() liefert die resevierte Speichergrösse einer Variablen.&lt;/p&gt;
&lt;p&gt;Also bei einem String normalerweise 80.&lt;/p&gt;
&lt;p&gt;Es wird also nicht die tatsächliche Stringlänge sondern der für einen String zur Verfügung stehende Speicherplatz geliefert.&lt;/p&gt;
&lt;p&gt;Wenn der String nur wenige Zeichen enthält, dann wird dieser mit einem Null-Byte terminiert und dahinter stehen noch "Altlasten" im Speicher.&lt;/p&gt;
&lt;p&gt;Probieren Sie statt SIZEOF(Header)  -&amp;gt; LEN(Header).&lt;/p&gt;
&lt;p&gt;LEN() liefert die tatsächliche Stringlänge.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#084d" rel="alternate"/><published>2020-02-28T17:31:28.096000Z</published><updated>2020-02-28T17:31:28.096000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.comf0227d1042748e01e25382c1f6d27c5d11212cb7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Er hängts einfach nicht dran...&lt;/p&gt;
&lt;p&gt;Dann eben als Ausschnitt:&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:19,125|StartScan&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:19,265|5 LP wurden von Trayloader abgeholt&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:19,359|Portal1 ScanReceived: CT0220000000010142207&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:23,000|Z-Achse Portal 2 auf Kollisionsschalter.&lt;/p&gt;
&lt;p&gt;vvv FEHLER vvv&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:23,000|04.10.2004|00:28:23,000|Z-Achse Portal 2 a04.10.2004|00:28:25,984|: Eingabelift Spur 1 WT an N+1 übergeben&lt;/p&gt;
&lt;p&gt;^^^FEHLER ^^&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:44,234|Initialisierungslauf gestartet&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:49,281|Starte Referenzlauf Z-Achse Portal 2.&lt;/p&gt;
&lt;p&gt;04.10.2004|00:28:49,453|Starte Referenzlauf Z-Achse Portal 1.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#be44" rel="alternate"/><published>2020-02-28T17:31:25.185000Z</published><updated>2020-02-28T17:31:25.185000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.combe49d3905fcdb73893fb8d4f07579bca9bed55fe</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hier nochmal das Log File.&lt;/p&gt;
&lt;p&gt;Mal sehen obs diesmal funktioniert.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#1616" rel="alternate"/><published>2020-02-28T17:31:17.231000Z</published><updated>2020-02-28T17:31:17.231000Z</updated><author><name>S Hinck</name><uri>https://forge.codesys.com/u/s-hinck/</uri></author><id>https://forge.codesys.comf5bc91281bc261c9ec5a0499e4224761d381ad38</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Danke für die Antwort, &lt;/p&gt;
&lt;p&gt;leider wird mir das weniger helfen. Ich greife aus unterschiedlichen Funktionen auf die Funktionen der SysLibFile Bibliothek zu. Leider wüsste ich nicht wie ich von diesen eine neue Instanz erstellen kann. &lt;/p&gt;
&lt;p&gt;Aber ich bin dankbar für die Hilfe und werde mein Glück mit Funktionsbausteinen und dann mehreren Instanzen versuchen. Allerdings müsste ich mein Programm dann an mehreren stellen entscheidend verändern. Ein Versuch ist es dennoch wert.&lt;/p&gt;
&lt;p&gt;An der Nachricht hing allerdings kein Log-File&lt;/p&gt;
&lt;p&gt;Ich bin auch weiterhin für andere Lösungsvorschläge offen, da es sich hier anscheinend um ein Grundlagenproblem zu handeln scheint. &lt;/p&gt;
&lt;p&gt;Grüße&lt;/p&gt;
&lt;p&gt;Steffen Hinck&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#26a3" rel="alternate"/><published>2020-02-28T17:31:14.284000Z</published><updated>2020-02-28T17:31:14.284000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.comdaec09380dcb74e5e6c020a4bcd1efbf7ce80025</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo&lt;/p&gt;
&lt;p&gt;Ich hatte vor geraumer Zeit ein ähnliches Problem.&lt;/p&gt;
&lt;p&gt;Aus deinem Text entnehme ich, dass du das ganze als FUNCTION erstellt hast. Ich habe einen FUNCTION_BLOCK benutzt und wenn ich von verschiedenen Stellen im Programm (oder auch aus verschiedenen Tasks) darauf zugreife, dann erstelle ich mir eine neue Instanz dieses Funktionsblocks.&lt;/p&gt;
&lt;p&gt;Seither ist das Problem gelöst.&lt;/p&gt;
&lt;p&gt;Anbei ein Ausschnitt aus einem Log File mit diesem Fehler.&lt;/p&gt;
&lt;p&gt;Der erste Fehler tritt in Zeile 10 mit dem doppelten Zeitstempel und diversen Verschiebungen auf.&lt;/p&gt;
&lt;p&gt;Ab zeile 41 wird das ganze dann extrem, weil eine Fehlermeldung zyklisch geschrieben wurde (das war aber ein Programmierfehler...).&lt;/p&gt;
&lt;p&gt;Hoffe das hilft dir weiter.&lt;/p&gt;
&lt;p&gt;Gruss&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>SysLibFile Problem</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/d1d64d3b03/?limit=25#7763" rel="alternate"/><published>2020-02-28T17:31:06.384000Z</published><updated>2020-02-28T17:31:06.384000Z</updated><author><name>S Hinck</name><uri>https://forge.codesys.com/u/s-hinck/</uri></author><id>https://forge.codesys.comb20b90e7ad710c094547f87fa511cd23e810bdc5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo, &lt;/p&gt;
&lt;p&gt;ich habe derzeit ein Problem mit den File-Funktionen der SysLibFile Bibliothek. &lt;/p&gt;
&lt;p&gt;In meinem mittlerweile recht umfangreichen Projekt nutze ich die Funktionen unter anderem um ein Konfigurationsfile auszulesen und Änderungen in diesem wieder abzuspeichern.&lt;/p&gt;
&lt;p&gt;Dieses klappt mittlerweile recht gut. &lt;/p&gt;
&lt;p&gt;Wenn ich allerdings in einer anderen Funktion eine völlig andere Textdatei öffne um in diese etwas völlig anderes zu schreiben, so wird ein Teilstring der vorher ausgelesenen Datei in diese Datei mit hineingeschrieben. &lt;/p&gt;
&lt;p&gt;Um das Problem einzugrenzen habe ich die Funktion soweit reduziert, dass ich nur noch das File öffne und einen leeren String hineinschreibe.&lt;/p&gt;
&lt;p&gt;Trotzdem enthält das File schliesslich einen bekannten Teilstring und Datenmüll. &lt;/p&gt;
&lt;p&gt;dataInfo:=SysFileOpen (fileName,mode);&lt;/p&gt;
&lt;p&gt;SysFileWrite (dataInfo, ADR(header),SIZEOF(header));&lt;/p&gt;
&lt;p&gt;SysFileClose (dataInfo) ;&lt;/p&gt;
&lt;p&gt;//der String header ist mit header:='';  initialisiert.&lt;/p&gt;
&lt;p&gt;// mode= 'w'&lt;/p&gt;
&lt;p&gt;Wenn ich nun den mode auf 'a' gesetzt habe, um noch etwas an das File anzuhängen, wurde dieser unerwünschte Teilstring noch einmal in das File geschrieben. &lt;/p&gt;
&lt;p&gt;Kann mir jemand die Ursache für dieses Problem nennen, und vielleicht Tips geben, wie ich es lösen kann?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>