Von TIA zu CoDeSys 3.5 (Datenhaltung und Arrays)

TIA_TESTER

Level-1
Beiträge
103
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

ich bin einige mal im Bereich TIA/Step7 teil dieses Forums aktiv gewesen, da ich aus der Ecke komme.

Sitze nun gerade vor CoDeSys (ohne Vorkenntnisse) und Frage mich wie dort die Datenhaltung funktioniert und wie man es ! richtig macht ! im Bereich Datenhaltung.

Ich wollte gerne für div. Dinge Standarad-FB schreiben (Ventil, Motor, DI, AI, ... ).

Neben den IN OUT Parametern in der Schnittstelle wollte ich noch einen Struktur als INOUT projektieren, welche alle Visualisierungs und Parameterdaten der Funktion enthält.

Visualisierungsdaten: alles für die Webvisu
Parameterdaten: instanzspezifische Einstellparameter

Die Visu/Parameter-Struktur hätte ich gern am liebsten in einem Array, sodass ich über einen Index die (nächstes Thema) Bildbausteine in der Visu versorgen kann.

Jetzt stelle ich mir einfache fragen wie:

- mit DB und Merker hab ich bei CoDeSys nix mehr zu tun oder. Variable deklarieren (mit Flags) -> Fertig?
- Wie kann ich ein Array beobachten und aus dem Engineering-Tool heraus bedienen um Einstellwerte einer Instanz zu verändern die nicht auf der VISU liegen.

Für eure Hilfe / Anregungen (gern auch zu einer Doku die ich mir zu dem Thema reinziehen kann) bin ich sehr dankbar,

schönen Sonntag noch.
 
Wenn du dich "einloggst", also unter Siemens die Brille aufsetzt, dann kannst du unter Codesys ebenfalls die Variablen beobachten und beschreiben.

Das ganze funktioniert genau so wie die Variablenliste unter Siemens. Auch Arrays und Strukturen kann man beobachten und mit Werten beschreiben aber nur dort wo diese angelegt sind.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke!

kann ich die Daten auch Offline bearbeiten also im Array sozusagen Initialisierungswerte, abweichend denen in der deklaration innerhalb der Struktur, eintragen?

Versuche gerade einen TON in ST zu verwenden (innerhalb eines FB).

Wenn ich in FUP den TON reinziehe deklariert er die Instanz im deklarationsteil des FB. Wenn ich das aber genau so händisch in ST mache sagt er beim kompilieren "TON Datentyp unbekannt". Kann mir da jemand kurz auf die Sprünge helfen?
 
Danke!
kann ich die Daten auch Offline bearbeiten also im Array sozusagen Initialisierungswerte, abweichend denen in der deklaration innerhalb der Struktur, eintragen?

Hierzu folgender Link:
Arrays (TwinCAT PLC Control: User Data Types)
https://infosys.beckhoff.com/index....031/tcplccontrol/html/TcPlcCtrl_ARRAY.htm&id=
[FONT=&quot]arr1 : ARRAY[1..3] OF STRUCT1:= [(p1:=1,p2:=10,p3:=4723), (p1:=2,p2:=0,p3:=299), (p1:=14,p2:=5,p3:=112)];[/FONT]
 
Wenn ich in FUP den TON reinziehe deklariert er die Instanz im deklarationsteil des FB. Wenn ich das aber genau so händisch in ST mache sagt er beim kompilieren "TON Datentyp unbekannt". Kann mir da jemand kurz auf die Sprünge helfen?

Kannst du mir das mal bitte zeigen, kann mir die Frage gerad nicht so bildlich vorstellen, möchte jetzt auch nicht raten ;)
 
AH_TON hast du angelegt, da meckert er nicht.
Aber WH_TON und WL_TON sehr wohl, denn diese hast du noch nicht angelegt ODER aber diese liegen außerhalb des FB's, vielleicht in einer GVL?
 
Ich hatte vorher alle 4 deklariert, ... da kam die Meldung C0077: Ungültiger Datentyp bei der Deklarierung (möglicherweise ein Syntaxtfehler)

Jetzt habe Sie nochmal deklariert dann kommt Meldung C0046: Es wird ein Bezeichner verwendet, der nicht deklariert ist.

Die Fehlermeldungen beziehen sich auf den Deklarationsteil, ... nicht den Code:Unbenannt.jpg

EDIT: gelöst,... ich hatte die StandardLib nicht eingebunden:S
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend,

ich komme nicht so richtig klar den Arrays muss ich zugeben. Ich bin zu verwöhnt oder versaut von Siemens glaub ich.

Ich würde gern die Daten meines Standardobjektes in einer Struktur ablegen und dieses Standardobjekt dann instanziieren.

Die Struktur liegt hierbei in einem Array of Struct ab, damit ich aus der VISU über eine Indexvariable aus einem Bild heraus alle Objekte aufrufen kann.

Ich habe hiermit folgendes Problem um die Einstellwerte welche bei jedem Objekt unterschiedlich sind fest ins Programm zu bekommen:

- Ich kann nicht innerhalb des Struct im Array einzelne Werte mit einer individuellen Initialisierung versehen (bzw. nur sehr Aufwendig und unübersichtlich).
- Ich kann nicht (oder weis nicht wie?) einzelne Werte als Persistent markieren, so dass zu mindest der Online Change nicht verloren geht.
- Ich kann nicht die aktualwerte als Initialisierungwerte für bestimmte Variablen übernehmen ( das wäre mir am liebsten).



Der Struct enthält einfache Signale zur Anzeige in Visu, diese möchte ich natürlich nicht als initialwert oder persistent haben. Andere wiederrum stellen eine Grundkonfiguration des Objektes dar, welche ich bestenfalls nur bei einer Anlage machen möchte und die WErte später für alle Folgenden "parat habe".

Für Anregungen bin ich sehr dankbar.
 
Hallo,

hast du zu dem Thema etwas interessantes gefunden mittlerweile?
Ich bin gerade bei einem ähnlichen Punkt. ( 15 Jahre Step7/ TIA -> wago codesys )
Gibt es dazu keine Beispielprogramme mal zum anschauen... :confused:
 
Hallo,

hast du zu dem Thema etwas interessantes gefunden mittlerweile?
Ich bin gerade bei einem ähnlichen Punkt. ( 15 Jahre Step7/ TIA -> wago codesys )
Gibt es dazu keine Beispielprogramme mal zum anschauen... :confused:

Moin,

nein nicht wirklich.

Habe mich mit dem Manual von Codesys (das native) eingearbeitet,... vieles ist anders. Einiges besser, einiges schlechter.

Am Wochenende mache ich weiter, hatte jetzt paar andere Dinge zu erledigen.

Bezüglich der "Einstellwerte" als Startwerte fällt mir nicht wirklich etwas ein außer die "eingestellten Werte" durch Usereingabe (Taste in VISU) in eine Struktur zu schieben welche Persistent ist und welche beim booten des Controllers wieder in die Struktur zurückkopiert wird.

Bei alternativen Ideen bitte um Rückmeldung. Kann kann gern das ein oder andere testen bzw. mit drüber nachdenken.
 
Zurück
Oben