105 lines
3.2 KiB
Markdown
105 lines
3.2 KiB
Markdown
# Einführung in ST und PLC-Programmierung mit CODESYS
|
||
|
||
## Was ist ST (Structured Text)?
|
||
|
||
**Structured Text (ST)** ist eine der fünf standardisierten Programmiersprachen nach IEC 61131-3 zur Programmierung von speicherprogrammierbaren Steuerungen (SPS). Es ist eine textbasierte Hochsprache, die an Pascal oder Ada erinnert.
|
||
|
||
### Merkmale
|
||
|
||
- Klare, strukturierte Syntax
|
||
- Unterstützt Kontrollstrukturen wie `IF`, `CASE`, `FOR`, `WHILE`, `REPEAT`
|
||
- Unterstützt Funktionen, Funktionsbausteine und Prozeduren
|
||
- Ideal für komplexe Berechnungen und Algorithmen
|
||
- Bessere Lesbarkeit für Entwickler mit klassischem Programmierhintergrund
|
||
|
||
---
|
||
|
||
## Grundstruktur eines ST-Programms
|
||
|
||
```pascal
|
||
VAR
|
||
x: BOOL;
|
||
counter: INT := 0;
|
||
END_VAR
|
||
|
||
IF x THEN
|
||
counter := counter + 1;
|
||
END_IF;
|
||
```
|
||
|
||
---
|
||
|
||
## Was ist CODESYS?
|
||
|
||
**CODESYS** ist eine IEC-61131-3-konforme, herstellerunabhängige Entwicklungsumgebung zur Programmierung von SPS. Es unterstützt mehrere Programmiersprachen und viele Zielsysteme (Controller unterschiedlicher Hersteller).
|
||
|
||
### Hauptfunktionen
|
||
|
||
- Unterstützung aller IEC-61131-3-Sprachen inkl. ST
|
||
- Grafische und textbasierte Editoren
|
||
- Integrierter Simulator
|
||
- Visualisierung und Debugging-Werkzeuge
|
||
- Unterstützung für Industrieprotokolle (CAN, Modbus, EtherCAT usw.)
|
||
|
||
---
|
||
|
||
## Typische Elemente der ST-Programmierung in CODESYS
|
||
|
||
| Element | Beschreibung |
|
||
| --------------------------------------- | ---------------------------------------------------- |
|
||
| `VAR`/`VAR_INPUT` | Definition von Variablen und Eingängen |
|
||
| `PROGRAM`, `FUNCTION_BLOCK`, `FUNCTION` | Kapselung von Logik in wiederverwendbaren Bausteinen |
|
||
| `IF`, `CASE`, `FOR` | Kontrollstrukturen |
|
||
| `TON`, `TP`, `CTU` | Standard-Funktionsbausteine für Timer und Zähler |
|
||
| `PLC_PRG` | Hauptprogramm eines CODESYS-Projekts |
|
||
|
||
---
|
||
|
||
## Beispiel: Zähler mit ST in CODESYS
|
||
|
||
```pascal
|
||
PROGRAM PLC_PRG
|
||
VAR
|
||
btnStart: BOOL;
|
||
counter: INT := 0;
|
||
END_VAR
|
||
|
||
IF btnStart THEN
|
||
counter := counter + 1;
|
||
END_IF;
|
||
```
|
||
|
||
---
|
||
|
||
## Vorteile von ST in der Praxis
|
||
|
||
- **Modularität**: Komplexe Funktionen lassen sich leicht kapseln und wiederverwenden.
|
||
- **Lesbarkeit**: Insbesondere für Entwickler mit Hintergrund in klassischen Sprachen.
|
||
- **Flexibilität**: Kombination mit grafischen Sprachen (FBD, LD) im selben Projekt möglich.
|
||
|
||
---
|
||
|
||
## Typischer Ablauf bei der Entwicklung mit ST in CODESYS
|
||
|
||
1. **Projekt erstellen** (z. B. „Standardprojekt“)
|
||
2. **Zielgerät auswählen** (Controller oder CODESYS Control Win)
|
||
3. **Programmstruktur erstellen** (`PLC_PRG`, Funktionsbausteine, etc.)
|
||
4. **Variablen definieren**
|
||
5. **Logik in ST schreiben**
|
||
6. **Simulation oder Download auf Steuerung**
|
||
7. **Test und Debugging**
|
||
8. **Visualisierung (optional)**
|
||
|
||
---
|
||
|
||
## Literatur und Weiteres
|
||
|
||
- **IEC 61131-3 Norm**
|
||
- **Offizielle CODESYS-Dokumentation**
|
||
- **ST-Referenzhandbuch**
|
||
- **OpenPLC Projekt (freies ST-Lernumfeld)**
|
||
|
||
---
|
||
|
||
\newpage
|