codesys-st-handbuch/manuscript/0050_Einleitung.md

105 lines
3.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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