<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/</id><updated>2020-02-28T11:55:42.462000Z</updated><subtitle>Recent posts to Netzvariablen</subtitle><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#9029" rel="alternate"/><published>2020-02-28T11:55:42.462000Z</published><updated>2020-02-28T11:55:42.462000Z</updated><author><name>Oberchefe</name><uri>https://forge.codesys.com/u/oberchefe/</uri></author><id>https://forge.codesys.com4cffcaa7d6168707d2b48c5d7af5a9e2f927cb51</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;und anbei eine dieser 3 Dateien als Beispiel im Anhang&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum-de.codesys.com//download/file.php?id=207" rel="nofollow"&gt;Wago EG.zip &lt;span&gt;&lt;span&gt;[236 Bytes]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#bce3" rel="alternate"/><published>2020-02-28T11:55:39.777000Z</published><updated>2020-02-28T11:55:39.777000Z</updated><author><name>Oberchefe</name><uri>https://forge.codesys.com/u/oberchefe/</uri></author><id>https://forge.codesys.comc331416a1ccf218c26cd9a274bf812b51ad1fd8f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;für jeden sendenden Controller (also 3 in meinem Fall) gibt's eine Datei zur Variablenkonfiguration. Sollen neue ergänzt werden mache ich dies erst direkt in der Datei mit Notepad. Danach das Programm erst öffnen (alternativ übersetzen), jetzt stehen die Variablen als globale zur Verfügung.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#1def" rel="alternate"/><published>2020-02-28T11:55:37.137000Z</published><updated>2020-02-28T11:55:37.137000Z</updated><author><name>Oberchefe</name><uri>https://forge.codesys.com/u/oberchefe/</uri></author><id>https://forge.codesys.combdf85ae176357b14223073d291bf5711062ca2cc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;also hier als Beispiel ein Screenshot vom EG Controller:&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: Netzwerkvariablen.gif" rel="nofollow" src="https://forum-de.codesys.com//download/file.php?id=206"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#2474" rel="alternate"/><published>2020-02-28T11:55:29.673000Z</published><updated>2020-02-28T11:55:29.673000Z</updated><author><name>mwatermann</name><uri>https://forge.codesys.com/u/mwatermann/</uri></author><id>https://forge.codesys.com0bc74faf73916d9b33e5b1abc30c170f166a9cab</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;@pappy:&lt;/p&gt;
&lt;p&gt;nennt sich MOBA (mobile automation). machen steuerungen und automatisierung für baumaschinen. im genannten konkreten fall setzen wir einen main controller ein, der sensoren über can liest und berechnungen ausführt und diese über einen 2ten can an das hmi (ebenfall ein eigenständiger controller) schickt. ist also eine codesys applikation pro controller; und hier arbeiten wir halt eben auch mit den netzwerklisten... &lt;/p&gt;
&lt;p&gt;hatten aber auch schon einige stolpersteine in verbindung mit can und codesys... leider ist die canopen einbindung von 3s auch noch alles andere als optimal; sobald wir die libraries einbinden, steigt die zykluszeit um ca. 10ms  &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#fffa" rel="alternate"/><published>2020-02-28T11:55:27.108000Z</published><updated>2020-02-28T11:55:27.108000Z</updated><author><name>e-pappy</name><uri>https://forge.codesys.com/u/e-pappy/</uri></author><id>https://forge.codesys.com057610c67c3133c02c0db69e1de712e776b30656</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;@ Oberchefe&lt;/p&gt;
&lt;p&gt;Das mit dem eigenen Programm teil ist eine sehr gute Idee!&lt;/p&gt;
&lt;p&gt;Und da Du soeben erwähnt hast, dass Du drei Controller miteinander gekoppelt hast... Dürfte ich wohl fragen, ob ich mir einmal Deine Programme anschauen darf? Es geht mir dabei auch nicht um den Inhalt, sondern rein um die Kommunikation. also Werte auslesen und anzeigen und Werte verändern...&lt;/p&gt;
&lt;p&gt;&lt;a class="user-mention" href="/u/mwatermann/"&gt;@mwatermann&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Eigene HMI's? Wie heißt denn die Firma, bei der Du tätig bist?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#5699" rel="alternate"/><published>2020-02-28T11:55:19.973000Z</published><updated>2020-02-28T11:55:19.973000Z</updated><author><name>mwatermann</name><uri>https://forge.codesys.com/u/mwatermann/</uri></author><id>https://forge.codesys.com68254df70608a41aaa1c56f3908346529be27986</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;a class="user-mention" href="/u/e-pappy/"&gt;@e-pappy&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;haben eigene SPSen auf basis des XC167, ebenso wie eigene HMIs, ebenfalls mit eigenenm controller. der eigentliche controller, der die rechenoperationen übernimmt ist halt über CAN mit dem HMI verbunden. hierzu nutzen wir die netzwerkvariablen.&lt;/p&gt;
&lt;p&gt;wenn du im nachhinein umstellst, müsstest du, da die netzvars global sind, dein "PLC_PRG." vor den betroffenen variablen zuordnungen entfernen.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#fa5d" rel="alternate"/><published>2020-02-28T11:55:17.198000Z</published><updated>2020-02-28T11:55:17.198000Z</updated><author><name>Oberchefe</name><uri>https://forge.codesys.com/u/oberchefe/</uri></author><id>https://forge.codesys.comb7ac8822e3ad5ca87bd1a3b2b117850f55f47c3f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Wenn die Variable nur in eine Richtung geht kannst Du sie ja ggf. wieder in einem extra Programmteil einer anderen zuweisen, wenn also beispielsweise eine Variable über's Netzwerk gelesen wird und demzufolge im Controller als Globale angelegt werden muß, dann kannst Du im Programm wieder sagen:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;LokaleVariable1&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;GlobaleVariable1&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Ich bevorzuge für die Kommunikation mit Bedienpanels (egal bei welcher SPS) einen eigenen Datenbereich. Dieser bekommt dann den Präfix "HMI" im Namen, dann weiß ich jederzeit im Programm ob eine Variable auch vom Bedienpanel aus geändert werden kann oder nicht ohne lange in irgendwelchen Listen nachzuschauen.&lt;/p&gt;
&lt;p&gt;Ich mache mit drei 750-841 Querkommunikation, das Bedienpanel hat nur Zugriff auf einen davon (leider nur eine serielle Schnittstelle). Eingabewerte werden deshalb von diesem Controller auf die beiden anderen verteilt, Anzeigewerte gehen in die andere Richtung. Auch ich habe den Netzwervariablen den Controllernamen (abgekürzt) als Präfix für die jeweiligen Netzwervariablen vorangestellt, so weiß ich jederzeit woher die Werte stammen.&lt;/p&gt;
&lt;p&gt;Empfehlenswert ist auch eine extra Routine für Zuordnungen zu den Netzwerkvariablen, so lassen sich die Verbindungen zu den anderen Controllern später leichter nachvollziehen, also in der Art:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;Variable1&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;Controller2_Variable1&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;Controller1_Variable1&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;VariableXY&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;(wobei der eigene Controller natürlich die Nummer 1 hat)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#dcc7" rel="alternate"/><published>2020-02-28T11:55:09.599000Z</published><updated>2020-02-28T11:55:09.599000Z</updated><author><name>e-pappy</name><uri>https://forge.codesys.com/u/e-pappy/</uri></author><id>https://forge.codesys.com8d3a96ee38f4dfe1a7b85897c58bfa4313eb2121</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
da diese netzwerkvariablen listen aber, wie du schon sagtest, global sind, sollten dir diese natürlich auch in deinem normalen programm zur verfügung stehen;&lt;br/&gt;
Zitat:&lt;br/&gt;
Habe nämlich gerade festgestellt, dass wenn ich jetzt nachträglich einige Variablen in eine Globale_Netzvariablenliste einfüge, mir die Variable ja im eigentlichen Programmteil fehlt.&lt;br/&gt;
das verstehe ich deshalb nicht...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Die Variable an sich ist ja auch noch verfügbar, halt nur unter einem anderen Präfix! Sprich, hatte ich vorher eine Variable var1 im PLC_PRG oder einem Unterprogramm. Wenn ich diese Variable jetzt in die Globale Variablenliste verschiebe, dann kan ich aber mit meinem Panel nicht mehr darauf zugreifen. Das Panel wird über ein sogenanntes Symbolfile, dass man aus der Codesys erstellen kann, konfiguriert. Hier steht dann beispielsweise drin PLC_PRG.var1 - demnach befindet sich die var1 im PLC_PRG. Nachdem ich die Variable verschoben habe, befindet sich die Variable aber nicht mehr dort und deshalb kann ich diese dann nicht mehr bedienen.&lt;/p&gt;
&lt;p&gt;Wenn ich jetzt also alle Variablen Netzfähig machen möchte, muss ich zwangsweise auch alle Variablen im Panel ändern.&lt;/p&gt;
&lt;p&gt;Darf man fragen was ihr für Bediengeräte für die WAGO Controller benutzt? Also damit der Endkunde die Anlagen bedienen kann?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#3faf" rel="alternate"/><published>2020-02-28T11:55:06.824000Z</published><updated>2020-02-28T11:55:06.824000Z</updated><author><name>mwatermann</name><uri>https://forge.codesys.com/u/mwatermann/</uri></author><id>https://forge.codesys.com53beca759bab3a6d61e5be583196ef8e24954ee9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;das wäre dann der fall, wenn häkchen bei lesen UND schreiben wären. dies haben wir aber versucht zu vermeiden. kann also nicht sagen, ob und wie das klappt.&lt;/p&gt;
&lt;p&gt;du musst auf jeden fall sicherstellen, dass immer nur ein controller "bevollmächtigt" ist, die variablen zu ändern. dies könnte durch ein zusätzliches flag in der variablenliste geschehen, welches auf FALSE sein muss, wenn zugriff/änderung der variablen erlaubt ist. dies setzt voraus, dass du für funktionen, die mit diesen variablen ändern, genaue abfragen abarbeitest. hierzu wird sicherlich die funktion (der haken) "transmit only on change" auch hilfreich sein. so kannst du ausserdem deine buslast auf ein minimum reduzieren, wenn du keine zyklische übertragung benötigst.&lt;/p&gt;
&lt;p&gt;da diese netzwerkvariablen listen aber, wie du schon sagtest, global sind, sollten dir diese natürlich auch in deinem normalen programm zur verfügung stehen; &amp;gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Habe nämlich gerade festgestellt, dass wenn ich jetzt nachträglich einige Variablen in eine Globale_Netzvariablenliste einfüge, mir die Variable ja im eigentlichen Programmteil fehlt.&lt;/p&gt;
&lt;p&gt;das verstehe ich deshalb nicht...&lt;/p&gt;
&lt;p&gt;edit (glaube jetz hab ich deine letzte frage verstanden):&lt;/p&gt;
&lt;p&gt;doppel-deklaration geht natürlich nicht.&lt;/p&gt;
&lt;p&gt;nehm doch einfach deine im normalen prog deklarierten variablen und schreib die benötigten in die globale netzwerk liste.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Netzvariablen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/242540f2b6/?limit=25#9f13" rel="alternate"/><published>2020-02-28T11:54:59.353000Z</published><updated>2020-02-28T11:54:59.353000Z</updated><author><name>e-pappy</name><uri>https://forge.codesys.com/u/e-pappy/</uri></author><id>https://forge.codesys.comc8a2c6120ed7ebaa55a411a58a1ce652e8b6d865</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Aber ihr richtet eure Programme doch sicherlich auch von vorn herein auf diese Netzvariablen ein, oder? Habe nämlich gerade festgestellt, dass wenn ich jetzt nachträglich einige Variablen in eine Globale_Netzvariablenliste einfüge, mir die Variable ja im eigentlichen Programmteil fehlt. Demnach fehlt mir diese Variable auch auf meinem Panel, da hier mit Hilfe dieses Symbolfiles angegeben ist, von wo die Variable gelesen werden soll.&lt;/p&gt;
&lt;p&gt;Also auf dem Controller wo ich Werte lesen möchte, mache ich logischer Weise eine Variablenliste mit dem Haken bei "Lesen". Und auf dem Controller von wo aus ich Werte senden möchte einen Haken bei "Schreiben".&lt;/p&gt;
&lt;p&gt;Sprich, wenn ich auf Controller A jetzt Werte von Controller B einlese, kann ich diese Werte dann auch auf Controller A verändern, so dass sie in Controller B geschrieben werden?&lt;/p&gt;
&lt;p&gt;Und wie verhält sich das denn mit gleichen Variablennamen?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>