<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Umwandlung STRUCT zu STRING</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/aaf55f7782/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/aaf55f7782/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/aaf55f7782/</id><updated>2021-10-27T07:05:46.727000Z</updated><subtitle>Recent posts to Umwandlung STRUCT zu STRING</subtitle><entry><title>Umwandlung STRUCT zu STRING</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/aaf55f7782/?limit=25#7bac" rel="alternate"/><published>2021-10-27T07:05:46.727000Z</published><updated>2021-10-27T07:05:46.727000Z</updated><author><name>jauer</name><uri>https://forge.codesys.com/u/jauer/</uri></author><id>https://forge.codesys.comd58f58979812f846944c8d3f88b03a1bb3273269</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hier noch der zugehörige Code:&lt;/p&gt;
&lt;p&gt;TYPE Struct_Error :&lt;br/&gt;
STRUCT&lt;br/&gt;
    ErrorCount  :   INT;&lt;br/&gt;
    ErrorName   :   STRING;&lt;br/&gt;
    ActiveTime  :   TIME;&lt;br/&gt;
    TimeStamp   :   TIME;&lt;/p&gt;
&lt;p&gt;END_STRUCT&lt;br/&gt;
END_TYPE&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;{attribute 'qualified_only'}&lt;br/&gt;
VAR_GLOBAL&lt;br/&gt;
    ec1_transmission_error  :   INT := 1;&lt;br/&gt;
    ec2_bit_op_error        :   INT := 2;&lt;br/&gt;
    ec3_integer_op_error    :   INT := 3;&lt;br/&gt;
    ec4_floating_op_error   :   INT := 4;&lt;br/&gt;
    ec5_RunTime_error       :   INT := 5;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;ec1_time&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;TIME&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;MS&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec2_time&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;TIME&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;MS&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec3_time&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;TIME&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;MS&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec4_time&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;TIME&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="n"&gt;MS&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec5_time&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;TIME&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="n"&gt;MS&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;active_time&lt;/span&gt;             &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;TIME&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;M1S1MS&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;ec1_name&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;STRING&lt;/span&gt;  &lt;span class="o"&gt;:=&lt;/span&gt;  &lt;span class="s1"&gt;'ec1_transmission_error'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec2_name&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;STRING&lt;/span&gt;  &lt;span class="o"&gt;:=&lt;/span&gt;  &lt;span class="s1"&gt;'ec2_bit_op_error'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec3_name&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;STRING&lt;/span&gt;  &lt;span class="o"&gt;:=&lt;/span&gt;  &lt;span class="s1"&gt;'ec3_integer_op_error'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec4_name&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;STRING&lt;/span&gt;  &lt;span class="o"&gt;:=&lt;/span&gt;  &lt;span class="s1"&gt;'ec1_floating_op_error'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ec5_name&lt;/span&gt;                &lt;span class="o"&gt;:&lt;/span&gt;   &lt;span class="n"&gt;STRING&lt;/span&gt;  &lt;span class="o"&gt;:=&lt;/span&gt;  &lt;span class="s1"&gt;'ec1_RunTime_error'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;FUNCTION_BLOCK FB_Struct_Error&lt;br/&gt;
VAR_INPUT&lt;br/&gt;
END_VAR&lt;br/&gt;
VAR_OUTPUT&lt;br/&gt;
END_VAR&lt;br/&gt;
VAR&lt;br/&gt;
    StructArray :   ARRAY&lt;span&gt;[0..4]&lt;/span&gt; OF Struct_Error;&lt;br/&gt;
END_VAR&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;//init&lt;br/&gt;
    StructArray&lt;span&gt;[0]&lt;/span&gt;.ErrorCount   :=  .GVL.ec1_transmission_error;&lt;br/&gt;
    StructArray&lt;span&gt;[0]&lt;/span&gt;.ErrorName    :=  .GVL.ec1_name;&lt;br/&gt;
    StructArray&lt;span&gt;[0]&lt;/span&gt;.ActiveTime   :=  .GVL.active_time;&lt;br/&gt;
    StructArray&lt;span&gt;[0]&lt;/span&gt;.TimeStamp    :=  .GVL.ec1_time;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorCount&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec2_bit_op_error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorName&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec2_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ActiveTime&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;active_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="k"&gt;TimeStamp&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec2_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorCount&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec3_integer_op_error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorName&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec3_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ActiveTime&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;active_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="k"&gt;TimeStamp&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec3_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorCount&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec4_floating_op_error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorName&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec4_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ActiveTime&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;active_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="k"&gt;TimeStamp&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec4_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorCount&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec5_RunTime_error&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ErrorName&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec5_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;ActiveTime&lt;/span&gt;   &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;active_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;StructArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="k"&gt;TimeStamp&lt;/span&gt;    &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GVL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ec5_time&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;_____________________________________________________________________________________&lt;/span&gt;

&lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Typ&lt;/span&gt; &lt;span class="s1"&gt;'ARRAY[0..4] OF Struct_Error'&lt;/span&gt; &lt;span class="n"&gt;kann&lt;/span&gt; &lt;span class="n"&gt;nicht&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Typ&lt;/span&gt; &lt;span class="s1"&gt;'STRING(255)'&lt;/span&gt; &lt;span class="n"&gt;konvertiert&lt;/span&gt; &lt;span class="n"&gt;werden&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Umwandlung STRUCT zu STRING</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/aaf55f7782/?limit=25#12d9" rel="alternate"/><published>2021-10-27T06:56:36.185000Z</published><updated>2021-10-27T06:56:36.185000Z</updated><author><name>jauer</name><uri>https://forge.codesys.com/u/jauer/</uri></author><id>https://forge.codesys.come14ce9c65eed7e973d188279ade0e4a8f36210ab</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo zusammen,&lt;/p&gt;
&lt;p&gt;ich habe folgendes Problem:&lt;/p&gt;
&lt;p&gt;Ich möchte mehrere Fehlerfälle in meinem Programm definieren, die, wenn sie auftreten, mit Häufigkeit, Bezeichnung und Zeitstempel. Dazu habe ich eine Struktur erzeugt (siehe Screenshot), in der diese definiert sind. Tritt der Fehler auf, werden die passenden Werte in die Bestandteile der Structure geschrieben und in einem Array gespeichert.&lt;br/&gt;
Allerdings habe ich das Problem, dass ich beim Schreiben des Arrays den Typ "Structure" nicht in einen String umwandeln kann, wenn ich es zusammengefügt über die CONCAT-Funktion, über die SysFile-Bibliothek in eine Textdatei speichern möchte.&lt;/p&gt;
&lt;p&gt;Vielleicht könnt ihr mir ja weiterhelfen. Danke für eure Antworten :)&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>