DB Struct

redscorpion

Level-1
Beiträge
90
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Und zwar wollte ich messwerte mit einer Analogkarte Ausgeben.
Dazu wollte ich im DB1 ein Struct anlegen.

So meine Frage ist wieso kann ich keinen Namen für das Struct verwenden ? z.B. Messdaten Struct
Messwert_Pos1 INT
Messwert_Pos2 INT
End Struct
Vieleicht kann mir jemand helfen
Danke :D
 
Du kannst alle Namen die keine funktionale Bedeutung haben benutzen.

Gesperrt sind z.B.: "STRUCT", "BOOL", "WORD", ... .

Aber wenn Du die STRUCT z.B. "Messdaten_STRUCT" nennen möchstest, dann kannst Du das tun. Wichtig ist der Unterstrich beim verbinden der Wörter!

Warum legst Du keine "STRUCT" an mit dem Namen "Messdaten"?
Und dann "Wert 1" Typ INT, "Wert 2" Typ INT, ...

Wenn es mehrere Messwerte sind, dann könntest Du das Ganze auch mit einem ARRAY machen, das geht schneller!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK hab ich so gemacht. Aber das ganze muss ich ja dann in den FC Aufrufen und im OB1 auch oder wie wird das gemacht ? Leider habe ich mit einer Andersen Software als mit Simatic Manager geübt und dort funktionierte das anders

könntest du mir da bitte behilflich sein
Danke
 
Wenn Du eine andere Programmiersoftware für eine Siemens-CPU nimmst, dann sieht diese womöglich anders aus, ändert aber nichts am gundsätzlichen Aufbau Deines Steuerprogramms. Der Zyklische Programmablauf startet immer im OB1. Dein Programm sollte immer in funktionale Teile untergliedert werden.

Z. B. FB1 - Betriebsarten, FB5 - Förderband 1, FC20 - Analogwertverarbeitung, ...

In der Programmstruktur bist Du komplett frei. Sie sollte möglichst einer transparenten Logik, zugeschnitten auf Deine Anwendung, entsprechen.
 
Hi,

Wie ist es wenn ich im DB Werte Deklariere muss ich die nachher auch wider im FC Deklarieren ? Oder wie kann ich nachher im FC den DB aufrufen ?

Danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo redscorpion,

die Deklaration erfolgt nur im DB.

Du kannst deine Daten immer über die Adresse ansprechen.
Z.B. so:
Code:
L DB1.DBW0
Oder über Symbolische Namen.
Damit das funktioniert, muß der DB auch einen Namen besitzen!
(Rechtsklick auf den DB -> Objekteigenschaften -> Symbolischer Name | oder im Syboleditor)

Nun geht es z.B. so:
Code:
L "MeinDB1".Messdaten.Wert1
Versuche einfach die erste Variante. Nach Enter ersetzt der Editor automatisch mit den Symbolischen Namen.

Beste Grüße
Holger
 
Zurück
Oben