Strukturen
Während ein Array Daten vom gleichen Typ zusammenfasst, lassen sich unterschiedliche Daten als Strukturen zusammenfassen. Nimmt man zum Beispiel eine Maschine oder Anlage (Einpacker von Flaschen, Klimabahnen einer Käserei, Transportbänder, Palettenmagazin…) kann der Programmierer in diesen Einrichtungen eine Anzahl Aktoren und Sensoren sehen, die in verschiedenen Betriebsarten durch Logik verknüpft werden. Eine moderne Programmierung wird in den Funktionseinheiten eine einzige Struktur sehen und wenn mehrere, gleiche Funktionseinheiten vorhanden sind (z.B. eine Vielzahl von Transportbändern oder Klimabahnen), definiert der Anwender ein Array von Strukturen (jedes Feld eines Arrays ist eine Struktur, z.B. ein Förderband). Aber auch ein Timer oder ein Zähler kann als Funktionsbaustein (üblich) oder als Struktur gesehen werden. Nimmt man den Zähler, so wird bei jedem Zählimpuls der Istwert der Struktur \’Zähler\‘ um den vorgegebenen Wert erhöht, ein Vergleich Istwert => Sollwert durchgeführt und entsprechend das Ergebnis-Bit in der Struktur gesetzt.
Beispiel für ein Transportband als Struktur (Beispiel Codesys):
TYPE str_FoederbMotor: (* Abbild aller Daten eines Förderbandes als SDT – Hier der allgemeine \“Bauplan\“ für das Datenmodell *)
STRUCT
int_NOTAUS : INT ; (* Anzahl der NOT-Abschaltungen*)
int_STROM : INT ; (* Stromaufnahme *)
b_BetriebsStatus : BYTE ; (* Betriebszust.(Automatik,Hand,Wartung)*)
t_LaufzeitAktuell : TIME ; (* Laufzeit *)
t_LaufzeitGesamt : TIME ; (* Laufzeit gesamt *)
x_Status : BOOL ; (* Ein oder Aus *)
x_AnfordEin : BOOL ; (* Anforderung Fördereinrichtung Ein *)
END_STRUCT
END_TYPE
Array von Strukturen unter Codesys:
(* 5 Förderbänder werden unter str_Foerderbaender als Struktur erzeugt *)
str_Foerderbaender : ARRAY [1..5] OF str_FoederbMotor ;
Befehle der Datenverwaltung
Die Speicherung von Daten größerer Datenmengen erfordern Organisationseinheiten, in denen diese Daten gespeichert werden und für weitere Steuerungszwecke, Visualisierungen, Kommunikation und Datenlogging zur Verfügung stehen.
Tabellenbefehle
Auch die S7 200 verfügt über Möglichkeiten Tabellen aufzubauen, sie zu verwalten, Daten abzulegen, aufzurufen, zu suchen und zu lösen. Aber diese Befehle waren sehr speziell und auf die Hardware der S7 200 bezogen. SCL bietet universelle Möglichkeiten, die jedem, der einmal in der Ausbildung Basic oder C kennengelernt hat, verständlich sind.