<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/</id><updated>2020-02-28T10:47:16.715000Z</updated><subtitle>Recent posts to Variablenname erkennen</subtitle><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#c925" rel="alternate"/><published>2020-02-28T10:47:16.715000Z</published><updated>2020-02-28T10:47:16.715000Z</updated><author><name>hugo</name><uri>https://forge.codesys.com/u/hugo/</uri></author><id>https://forge.codesys.com5f8f15c0555768b08eeea4fedcf29bf2ada66d7f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;eine bessere möglichkeit kenne ich auch nicht&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#4755" rel="alternate"/><published>2020-02-28T10:47:14.132000Z</published><updated>2020-02-28T10:47:14.132000Z</updated><author><name>Andreas Stampa</name><uri>https://forge.codesys.com/u/andreas-stampa/</uri></author><id>https://forge.codesys.com19b51f79ab094561de4e727f4f7f43c26cf2667e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;zu hugos Beispiel:&lt;/p&gt;
&lt;p&gt;Nee, das ist nicht die Lösung.&lt;/p&gt;
&lt;p&gt;Dann habe ich ja 8 Variablen vom Typ Beispiel und jeder muss ich den Namen im Element .name extra vergeben.&lt;/p&gt;
&lt;p&gt;Das will ich ja gerade vermeiden, bei 2000 Variablen/Strukturen jeweils den Namen als String übergeben?! Das wäre ja Wahnsinn.&lt;/p&gt;
&lt;p&gt;Ich habe mir mal ein Speicherabbild der Wago-SPS erzeugt. Dort kann man sehen, das die Namen der Variablen im Speicher zur Laufzeit vorhanden sind (wahrscheinlich für Debug-Zwecke). Also muss es auch möglich sein, aus dem Speicherort einer Variablen (mit ADR rausfinden) den Namen abzuleiten.&lt;/p&gt;
&lt;p&gt;Nur wie???&lt;/p&gt;
&lt;p&gt;Der Support teilt mir nur mit, dass es sich um "interne" Funktionen handelt.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#04db" rel="alternate"/><published>2020-02-28T10:47:06.925000Z</published><updated>2020-02-28T10:47:06.925000Z</updated><author><name>hugo</name><uri>https://forge.codesys.com/u/hugo/</uri></author><id>https://forge.codesys.com59854ad93e74fd753e0c19946716dc023c3c45cf</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;falls du programmierbeispiele suchst schau dir mal unsere open source library oscat.lib an dort findest du hunderte von funktionen die du benutzen kannst aber auch deren souirce anschauen kannst.&lt;/p&gt;
&lt;p&gt;um den source zu sehen öffne die lib wie ein projekt mit file open und du kannst alles sehen und auch bearbeiten&lt;/p&gt;
&lt;p&gt;download unter  w &lt;a class="" href="http://www.oscat.de" rel="nofollow"&gt;www.oscat.de&lt;/a&gt; w &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#baa3" rel="alternate"/><published>2020-02-28T10:47:04.050000Z</published><updated>2020-02-28T10:47:04.050000Z</updated><author><name>hugo</name><uri>https://forge.codesys.com/u/hugo/</uri></author><id>https://forge.codesys.com3b3530c378dcfd0509cd46ef1a4d4f0d2cb9ecdd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;unter datentypen definiest du folgendes:&lt;/p&gt;
&lt;p&gt;TYPE beispiel :&lt;/p&gt;
&lt;p&gt;STRUCT&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;re&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;REAL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;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="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_STRUCT&lt;/p&gt;
&lt;p&gt;END_TYPE&lt;/p&gt;
&lt;p&gt;im programm definierst du folgendes:&lt;/p&gt;
&lt;p&gt;VAR CONSTANT&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="n"&gt;amax&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;p&gt;VAR&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="n"&gt;varx&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="n"&gt;amax&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="n"&gt;beispiel&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;end_var&lt;/p&gt;
&lt;p&gt;dann bekommt deine funktion den eingang IN vom typ beispiel&lt;/p&gt;
&lt;p&gt;in der funktion benutzt du&lt;/p&gt;
&lt;p&gt;datax := IN.re;&lt;/p&gt;
&lt;p&gt;dataname := IN.name;&lt;/p&gt;
&lt;p&gt;pointer sind nicht nötig wäre nur umständlich und gefährlich&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#0b26" rel="alternate"/><published>2020-02-28T10:46:56.966000Z</published><updated>2020-02-28T10:46:56.966000Z</updated><author><name>Andreas Stampa</name><uri>https://forge.codesys.com/u/andreas-stampa/</uri></author><id>https://forge.codesys.com9ec7a7f38364a478838d6a35bcf679d40b71cde1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo hugo&lt;/p&gt;
&lt;p&gt;"wenn du die variaben als strukturiertes array definierst kannst du auch gleich den namen per string auslesen"&lt;/p&gt;
&lt;p&gt;Das ist der Punkt: Wie geht das?&lt;/p&gt;
&lt;p&gt;Wie kann ich aus dem Pointer den Namen der "gepointerten" Variablen auslesen?&lt;/p&gt;
&lt;p&gt;Der Pointer zeigt ja nur auf eine Speicherzelle.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#e68b" rel="alternate"/><published>2020-02-28T10:46:54.497000Z</published><updated>2020-02-28T10:46:54.497000Z</updated><author><name>hugo</name><uri>https://forge.codesys.com/u/hugo/</uri></author><id>https://forge.codesys.com74052e9c89a7e6d87d6683f3576385fb17d51e20</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;du könntest den bausstein mit einem pointer input versehen,&lt;/p&gt;
&lt;p&gt;der liefert dir die adresse der variable.&lt;/p&gt;
&lt;p&gt;den wert kannst du ansprechen über X := input_var^&lt;/p&gt;
&lt;p&gt;die adresse der variable ist dein pointer input selbst.&lt;/p&gt;
&lt;p&gt;damit kann deine funktion beliebig oft mit verschiedenen pointern aufgerufen werden und trotzdem die variable als adresse erkennen.&lt;/p&gt;
&lt;p&gt;wenn du die variaben als strukturiertes array definierst kannst du auch gleich den namen per string auslesen&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#6e2f" rel="alternate"/><published>2020-02-28T10:46:47.125000Z</published><updated>2020-02-28T10:46:47.125000Z</updated><author><name>Andreas Stampa</name><uri>https://forge.codesys.com/u/andreas-stampa/</uri></author><id>https://forge.codesys.com67ce6e918dba96325f9fbabccfa651240db26861</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Grundsätzlich müsste das möglich sein:&lt;/p&gt;
&lt;p&gt;Es gibt einen Baustein der Bibliothek AnalyzationNew.lib, der etwas ähnliches kann (AnalyzeExpression). &lt;/p&gt;
&lt;p&gt;Dieser FB gibt einen String aus, der die Namen der verwendeten Variablen an seinem Eingang InputExp enthält.&lt;/p&gt;
&lt;p&gt;Hat jemand vielleicht den Quellcode dieser Bibliothek?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#a311" rel="alternate"/><published>2020-02-28T10:46:44.490000Z</published><updated>2020-02-28T10:46:44.490000Z</updated><author><name>Andreas Stampa</name><uri>https://forge.codesys.com/u/andreas-stampa/</uri></author><id>https://forge.codesys.com0667e0548ced8d8dfa8ae92016667bd7f86cd232</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In dem Namen der Variablen steckt eine Kennung, die an ein Alarmierungssystem übermittelt werden soll.&lt;/p&gt;
&lt;p&gt;Da es sich um eine große Anzahl von Bausteinen handelt (ca. 2000), will ich nicht an jeden Baustein die Kennung extra als zusätzliche Variable anknüpfen.&lt;/p&gt;
&lt;p&gt;Es wäre praktisch, wenn der Baustein aus dem Namen der Variablen die Kennung extrahiert und diese dann sendet.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#6054" rel="alternate"/><published>2020-02-28T10:46:41.947000Z</published><updated>2020-02-28T10:46:41.947000Z</updated><author><name>debug</name><uri>https://forge.codesys.com/u/debug/</uri></author><id>https://forge.codesys.com6d7760bb15f5553e90708b720f84cbb0ad67ac03</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Wofür brauchst Du den Namen der Variablen?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variablenname erkennen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/e9e3e05046/?limit=25#bb52" rel="alternate"/><published>2020-02-28T10:46:34.876000Z</published><updated>2020-02-28T10:46:34.876000Z</updated><author><name>Andreas Stampa</name><uri>https://forge.codesys.com/u/andreas-stampa/</uri></author><id>https://forge.codesys.com93d866e683f83736f59fa7a2ec0e46e8357b4a61</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo liebe Forum-Gemeinde,&lt;/p&gt;
&lt;p&gt;wer kann mir helfen?&lt;/p&gt;
&lt;p&gt;Ich habe einen Baustein (PRG) programmiert. Dieser hat einen Eingangsparameter xIn1 (VAR_INPUT). Diesen Baustein benutze ich mehrmals in meinem Programm mit verschiedenen Eingangsparametern.&lt;/p&gt;
&lt;p&gt;Nun möchte ich innerhalb des Bausteins wissen, welche Variable an den Eingang xIn1 verknüpft ist. Dazu müsste ich also den Namen der Variablen als String vorliegen haben.&lt;/p&gt;
&lt;p&gt;Wie geht das?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>