<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/</id><updated>2020-02-28T05:00:15.434000Z</updated><subtitle>Recent posts to Stringverabeitung nicht THREAD-SAFE</subtitle><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#d77d" rel="alternate"/><published>2020-02-28T05:00:15.434000Z</published><updated>2020-02-28T05:00:15.434000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comefe00b1c5852be11cd4b135f4e271614d7447fa6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; 61131&lt;/p&gt;
&lt;p&gt;Hallo,&lt;/p&gt;
&lt;h2 id="falls-es-noch-jemanden-interessiert-hier-die-aussge-der-fa-wago-zum-thema"&gt;falls es noch jemanden interessiert, hier die Aussge der Fa. Wago zum Thema:&lt;/h2&gt;
&lt;p&gt;a) Die Stringfunkionen in CoDeSys V2.3 sind ab Werk nicht „Threadsafe“ -&amp;gt; Deswegen erhält man auch in der CoDeSys-Hilfe den Warnhinweis.  Die Wago-Dokumentation hält sich an den Vorgaben von 3S -&amp;gt; also nicht Threatsafe.&lt;br/&gt;
Dies liegt daran, dass wir bei dem IPC das originale Laufzeitsystem von 3S benutzen.&lt;/p&gt;
&lt;p&gt;b) Bei den 32Bit Nucleus-Kontrollern wurde die Stringverarbeitung abgeändert und ist bis in die 10. Ebene Threadsafe.&lt;br/&gt;
     Nutzen Sie bitte folgende Anweisung sString3:= CONCAT(STR1:=sString1, STR2:=sString2); sIch_bin_Retain:=sString3; &lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;P.S. Woran liegt es, dass ich keine Email-Benachrichtigung bei Antworten auf Forumsbeiträge erhalte, wenn ich Dieses doch per Häckchen aktiviert habe?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#62b4" rel="alternate"/><published>2020-02-28T05:00:09.711000Z</published><updated>2020-02-28T05:00:09.711000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com7c1821a70c2e173e9a990a8258fa687bdb30e65e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Servus&lt;/p&gt;
&lt;p&gt;Nun, ich kann dich beruhigen. Du bist nicht der erste. (Falls dich das wirklich beruhigt...)&lt;br/&gt;
Ist mir genauso passiert. Das war aber bei der RTE.&lt;br/&gt;
Ich hab mich dann beschwert, dass das ja wohl nicht wahr sein kann und auch nicht so schwer.&lt;br/&gt;
Dann gabs erst ne Beta zum testen und beim nächsten Release wars fest drin.&lt;/p&gt;
&lt;p&gt;Wenn WAGO jetzt auch so reagieren würde, wär dein Problem gelöst.&lt;/p&gt;
&lt;p&gt;Ich hab mir damals kurzfristig mit einem eigenen CONCAT beholfen. Den kannst du haben wenn du willst.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Kann ich mir schwer vorstellen. Woher soll man wissen, welcher FB aus welcher Lib die Concat aus der StandarLib verwenden?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Nun, man könnte den fragen der die lib geschrieben hat.&lt;/p&gt;
&lt;p&gt;Ansonsten kannst du nur die verdächtigen FB's vorher auf dieses Verhalten testen oder eben aus dem selben Task aufrufen.&lt;br/&gt;
Wann du welchen FB aufrufst musst du ja selbst wissen.&lt;br/&gt;
Das ist aber zugegebenermassen ein ziemlicher Sch...&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#320d" rel="alternate"/><published>2020-02-28T05:00:07.642000Z</published><updated>2020-02-28T05:00:07.642000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.coma5b507c05f55e11d838aa900bc9a58e653d9d45c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; 61131&lt;/p&gt;
&lt;p&gt;Hallo,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Erik Böhm hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Servus&lt;br/&gt;
Hast du denn wirklich schon Probleme damit gehabt oder fragst du nur weil es in der Doku so steht ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Gute Frage! Ja, es gab einmal ein Problem. Mein Mailhandler (eigener Hintergrundtask) verschickt regelmäßig bzw. nach bestimmten Ereignissen Mails an div .Adressen. Hat mehrer Monate gut funktioniert. Als ich die Funktion ""Concat" für eine Funktionserweiterung verwendet habe, waren plötzlich meine in einem Array gespeicherten Strings (From:, To:, Passwort, etc.) zerschossen. Stand nur noch Müll drinn.&lt;br/&gt;
Ich hab mich auch schon gefragt, ob ich der Einzige bin, der Probleme damit hat (schön, wenn es so wäre). Da aber auf jeder Seite der Doku das "...Achtung ... nicht Thread-safe steht, kann ich mir das nicht vorstellen. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Erik Böhm hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Wenns wirklich nicht geht, gibts nur 2 Auswege:&lt;br/&gt;
1. Alles was Strings verarbeitet im selben Thread aufrufen&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kann ich mir schwer vorstellen. Woher soll man wissen, welcher FB aus welcher Lib die Concat aus der StandarLib verwenden? &lt;br/&gt;
Grüße,&lt;br/&gt;
Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#ef21" rel="alternate"/><published>2020-02-28T05:00:01.938000Z</published><updated>2020-02-28T05:00:01.938000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com6aafca71c07ae5241320747def56df7efde8ba49</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Es gibt auch noch einen 3. und evtl sogar 4. Ausweg:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Eine Steuerung benutzen die das kann...&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Wobei die Aussage von Wago natürlich auch nur die halbe Wahrheit ist.&lt;br/&gt;
Es liegt natürlich nicht an CoDeSys (dem Entwicklungssystem), sondern am Laufzeitsystem (das aber auch von 3S kommt).&lt;br/&gt;
4. Da es bei anderen LZS auch geht, könnte dieses Feature ja auch in eine zukünftige neue Firmware einfliessen.&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#4c44" rel="alternate"/><published>2020-02-28T04:59:59.891000Z</published><updated>2020-02-28T04:59:59.891000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.comad40867515e4feb5918a2f49b60e6ee013198b32</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Servus&lt;/p&gt;
&lt;p&gt;Hast du denn wirklich schon Probleme damit gehabt oder fragst du nur weil es in der Doku so steht ?&lt;br/&gt;
Denn es gibt ja diverse Laufzeitsysteme, die das entgegen der Doku auch threadübergreifend richtig machen.&lt;/p&gt;
&lt;p&gt;Wenns wirklich nicht geht, gibts nur 2 Auswege:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Alles was Strings verarbeitet im selben Thread aufrufen&lt;/li&gt;
&lt;li&gt;Selbstgeschriebene Stringfunktionen benutzen (was bei fertigen libs allerdings schwierig wird).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#5028" rel="alternate"/><published>2020-02-28T04:59:53.972000Z</published><updated>2020-02-28T04:59:53.972000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com2a2e6c0afcaee8a90a1d01cc93f3e412934c30a3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; 61131&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;D.Hauer hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Hallo,&lt;br/&gt;
Das Steuerungssystem hat sehr viel damit zu tun.&lt;br/&gt;
Der Steuerungshersteller setzt ja die string funktionen in seinem system um.&lt;br/&gt;
Bei Berghof und Beckhoff (da weiß ich es, weil ich die einsetze) sind die string funktionen grundsätzlich thread safe.&lt;br/&gt;
Dein Steuerungshersteller kann dir da mehr sagen.&lt;br/&gt;
cheers&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Endlich hatte ich Zeit mit Wago zu telefonieren.&lt;br/&gt;
Hmh, die sachten, dass liegt an Codesys, weil das ja auch in der Original-Doku von Codesys so drinne steht. Es seien 2 Funktionen betroffen, "concat" und "?" (die 2te wird noch gesucht).&lt;br/&gt;
Hmh, war ein nettes Gespräch, Ergebnis war, man könne sich ja für Concat eine eigene Funktion zusammenbauen (Pointer und so was wie memcpy).&lt;/p&gt;
&lt;p&gt;Tja, jetzt steh' ich hier und freue mich..&lt;/p&gt;
&lt;p&gt;Grüße,&lt;br/&gt;
Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#8d1e" rel="alternate"/><published>2020-02-28T04:59:51.935000Z</published><updated>2020-02-28T04:59:51.935000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com4d2a7180b59243080f7fe6c0b089055fb363eab6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Moin&lt;/p&gt;
&lt;p&gt;Ob die Standard.lib was damit zu tun hat weiss ich nicht.&lt;br/&gt;
Aber das Laufzeitsystem. Das hat wohl was mit der Stack-Reservierung zu tun.&lt;br/&gt;
Bei der RTE z.B. sind Stringfunktionen ThreadSafe.&lt;br/&gt;
In diesem Fall musst du dich wohl an den Wago-Support wenden.&lt;/p&gt;
&lt;p&gt;Gruß Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#4115" rel="alternate"/><published>2020-02-28T04:59:46.193000Z</published><updated>2020-02-28T04:59:46.193000Z</updated><author><name>D.Hauer</name><uri>https://forge.codesys.com/u/d-hauer/</uri></author><id>https://forge.codesys.comc1fe47ca0c2d06d1a730b558456fb3f62159227a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;Das Steuerungssystem hat sehr viel damit zu tun.&lt;br/&gt;
Der Steuerungshersteller setzt ja die string funktionen in seinem system um.&lt;/p&gt;
&lt;p&gt;Bei Berghof und Beckhoff (da weiß ich es, weil ich die einsetze) sind die string funktionen grundsätzlich thread safe.&lt;/p&gt;
&lt;p&gt;Dein Steuerungshersteller kann dir da mehr sagen.&lt;/p&gt;
&lt;p&gt;cheers&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#bb87" rel="alternate"/><published>2020-02-28T04:59:44.123000Z</published><updated>2020-02-28T04:59:44.123000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com6142a9186b0dbb183b0abb69dd575e10aba60455</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; 61131&lt;/p&gt;
&lt;p&gt;Hmh, gern:&lt;br/&gt;
WAGO 750-880!&lt;/p&gt;
&lt;p&gt;Hat die Standard.lib etwas mit dem Steuerungssystem zu tun?&lt;/p&gt;
&lt;p&gt;Grüße,&lt;br/&gt;
Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Stringverabeitung nicht THREAD-SAFE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/97704a001f/?limit=25#ac9e" rel="alternate"/><published>2020-02-28T04:59:42.061000Z</published><updated>2020-02-28T04:59:42.061000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.comb4501ffff309b70f6afaa996a62841e4108d10c9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Moin&lt;br/&gt;
Wär nett wenn du den Steuerungstyp angeben würdest.&lt;br/&gt;
Gruß Erik&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>