Tutorial 2¶
Information
In diesem Tutorial wird eine vorgefertigte CAD-Datei mit einer Sortieranlage in die 3D-Umgebung importiert. Anschließend wird die Anlage schrittweise mit verschiedenen Skills konfiguriert. Das zugehörige Steuerungsprogramm wird zunächst in C# entwickelt und parallel mit dem 3D-Modell getestet. Sobald das Zusammenspiel zwischen dem C#-Programm und dem 3D-Modell korrekt funktioniert, erfolgt ein Test mit PLCSIM im TIA Portal. Hierfür wird das zuvor in C# erstellte Steuerungsprogramm in die Programmiersprache SCL portiert.
Zielverhalten der Anlage:
Die Sortieranlage arbeitet mit einem Transportband (1). Durch Anklicken eines Vorlagewerkstücks (2) (Metall- oder Kunststoffwürfel) wird dieses vom Creator (3) erzeugt und auf das Band gelegt. Dabei unterbricht es die Lichtschranke (8), woraufhin das Transportband startet. Der Würfel wird zum Stopper (4) befördert. Zwei Sekunden nach dem Unterbrechen der Lichtschranke (8) schwenkt der Stopper gegen den Uhrzeigersinn und gibt den Würfel frei.
- Erkennt der induktive Sensor (5) einen Metallwürfel, wird dieser vom ersten Zylinder (6) auf die erste Ablage geschoben.
- Ein Kunststoffwürfel wird bis zur mittleren Lichtschranke (9) transportiert. Sobald diese wieder frei ist, schiebt ihn der zweite Zylinder (7) auf die zweite Ablage.
- Die rechte, dritte Ablage bleibt bei korrektem Verhalten leer.
- Das Transportband bleibt nach dem Einschalten dauerhaft eingeschaltet.
Schritt 1: Neuer Ordner¶
Legen Sie auf Ihrer Festplatte (z. B. Desktop oder Eigene Dateien) einen Ordner mit beliebigem Namen an. Darin werden alle Dateien des digitalen Zwillings gespeichert.
Schritt 2: CAD-Datei und Symbolikdatei kopieren¶
Laden Sie die folgenden Dateien herunter und kopieren Sie sie in den zuvor erstellten Ordner:
| Datei | Beschreibung | Download-Link |
|---|---|---|
| CAD-Datei | 3D-Modell des Tutorial 2 | CAD-Datei für Tutorial2 |
| Symbolikdatei | Enthält Ein-/Ausgänge für die Simulation | Symbolikdatei für Tutorial2 |
Hinweis
Achten Sie bei der Symbolikdatei darauf, dass der Dateiname beim Download nicht geändert wird, wenn beispielsweise eine Datei mit dem gleichen Namen im Downloadordner bereits existiert. Der Name der Symbolikdatei muss lauten: station0.symbols.csv
Schritt 3: CAD-Datei mit PLC-Lab 3D Studio öffnen¶
Klicken Sie oben in der Toolbar auf den Button CAD, um die CAD-Datei zu öffnen.
Schritt 4: Überblick und erster Test¶
Nach dem Öffnen richten Sie die Kamera so aus, dass das Modell mittig auf dem Bildschirm angezeigt wird.
Speichern Sie die Ansicht mit Shift + 1 auf Slot 1.
Im Bild sehen Sie, dass der Button Tags (1) aktiv ist und das Fenster Tags mit den Ein- und Ausgängen angezeigt wird (2).
Klicken Sie auf den Button Skill in der Toolbar, um den Skill-Manager zu öffnen.
Orange markierte 3D-Objekte verfügen bereits über einen Skill. Rot markierte Objekte müssen noch konfiguriert werden.

Bild: Übersicht Skills in der 3D-Anlage
Die meisten orangen Objekte enthalten bereits Collider-Skills. Auch die Zylinder-Meldeleuchten sowie der Creator mit den Vorlageobjekten sind bereits fertig konfiguriert.
Diese Objekte müssen noch konfiguriert werden:
| Nr | Objekt | Konfiguration notwendig für: |
|---|---|---|
| 1 | Transportband | Bewegung des Bandes |
| 2 | Stopper | Rotationsbewegung |
| 3 | Kapazitiver Sensor | Sensoreigenschaften |
| 4,5 | Zylinderstangen | Lineare Bewegung |
Information
Dank der vorbereiteten CAD-Datei sind bereits viele Skills korrekt zugewiesen und konfiguriert. Nur wenige Skills müssen noch manuell angepasst werden – das spart Zeit und erleichtert die Erstellung des digitalen Zwillings erheblich.
Erster Test ohne SPS-Programm:
Wählen Sie neben dem Run-Button das InternDevice aus und starten Sie die Simulation mit Run.
Klicken Sie auf den gelben und den metallischen Würfel (1) (2) – diese werden vom Creator erzeugt und auf das Transportband gelegt (3) (4).
Schritt 5: Transportband konfigurieren¶
Der Run-Modus ist noch aktiv. Entfernen Sie die beiden erzeugten Würfel per Mausklick.
Halten Sie Strg gedrückt und klicken Sie auf das Transportband. Im Skill-Manager erscheinen die Eigenschaften.
Stellen Sie folgende Werte ein:
- Axis →
Z(voreingestellt) - MoveForward →
Q0 - TextureSpeed →
0.065(passt die Bewegung der Textur an die reale Bandgeschwindigkeit an)
Machen Sie das Tags-Fenster sichtbar und forcen Sie den Ausgang Q0 auf true:
- Button „F“ anklicken (rot hinterlegt) (1)
- Auf
Q0klicken → das Band läuft (2)
Klicken Sie auf den gelben Würfel (3) – er wird auf das Band gelegt und fährt bis zum Stopper (4). Mit erneutem Mausklick kann er wieder entfernt werden.
Schritt 6: Stopper M1 konfigurieren¶
Beenden Sie den Run-Modus. Halten Sie Strg gedrückt und klicken Sie auf den Stopper (1) (horizontaler Zylinder), um dessen Eigenschaften zu öffnen.
Stellen Sie folgende Operanden ein:
- Axis →
Zn(voreingestellt) - ToMax →
M1_1 - ToMin →
M1_0 - IsAtMax →
B5 - IsAtMin →
B6
In den Einstellungen finden Sie auch den Schalter Demomode. Aktivieren Sie diesen, um die Bewegung zu testen (Run-Modus darf nicht aktiv sein). Die Rotation ist noch zu gering – stellen Sie daher zusätzlich ein:
- DurationInSeconds →
0.5 - MaxDegree →
75
DemoMode erneut ein- und ausschalten, falls die Bewegung stoppt.
Ist das Verhalten korrekt, schalten Sie den DemoMode wieder aus.
Schritt 7: Zylinderstangen M2 und M3¶
In der CAD-Datei fehlt der Skill {Collider} an den beiden Zylinderstangen. Deshalb werden diese jetzt hinzugefügt:
Klicken Sie bei gedrückter Strg-Taste auf die erste Zylinderstange (M2). Daraufhin wird die Stange ausgewählt. Mit den folgenden Schritten wird der Skill Collider hinzugefügt:
- Im Skill Filter 'col' eingeben
- Collider wird bei der Skill-Auswahl angezeigt
- Button Hinzufügen drücken
- Die Stange hat jetzt als zweiten Skill einen Collider, damit die Stange den Würfel verschieben kann. Die Eigenschaften des Colliders müssen nicht geändert werden.
Information
Die Zylinderstange wurde mit einem Box-Collider ausgestattet. In unserem Fall ist das in Ordnung, obwohl die Zylinderstange eine andere Kontur hat. Verwenden Sie nach Möglichkeit einen Box-Collider, da er am wenigsten Rechenleistung benötigt.
Fügen Sie nun auch bei der zweiten Zylinderstange (M3) einen Collider hinzu.
Bewegung von Zylinder M2 konfigurieren:
Klicken Sie auf die Zylinderstange M2 bei gedrückter Strg-Taste. Einstellungen für den Skill Drive-2-Point:
- Axis →
Z(voreingestellt) - ToMax →
M2_0 - ToMin →
M2_1 - IsAtMax →
B8 - IsAtMin →
B7 - DurationInSeconds →
0.5 - StrokeLength →
70
Bewegung von Zylinder M3 konfigurieren (ohne Bild):
- Axis →
Z(voreingestellt) - ToMax →
M3_0 - ToMin →
M3_1 - IsAtMax →
B10 - IsAtMin →
B9 - DurationInSeconds →
0.5 - StrokeLength →
70
Schritt 8: Kapazitiver Sensor B4¶
Simulation auf Run stellen und Q0 wieder auf TRUE forcen (falls er nicht mehr geforced wird).
Legen Sie einen gelben Würfel auf das Band → er wird am Stopper blockiert.
Damit wir den Sensor B4 einstellen können, muss der Stopper kurzzeitig durchlässig gemacht werden.
Klicken Sie auf die Schranke (1) am Stopper, deaktivieren Sie EnableCollision (2):
Erzeugen Sie nun abwechselnd gelbe und metallische Würfel.
Beobachten Sie die Meldeleuchte am Sensorgehäuse. Aktuell reagieren beide auf Sensor B4 – der Sensor soll aber nur den Metallwürfel erkennen. Das ändern wir jetzt:
- Lassen Sie die Eigenschaften des weißen Sensors unter dem Gehäuse (1) anzeigen
- Stellen Sie SensorTriggerType auf Inductive
- Optional: Fügen Sie den Skill {Hide} hinzu, um den Sensor im Run-Modus unsichtbar zu machen.
Nun erkennt B4 nur noch induktive Objekte. Jetzt muss auch der metallische Würfel korrekt konfiguriert werden:
- Strg + Klick auf den Vorlage-Metallwürfel
- Im Skill-Manager auf Collider klicken (2)
- Im Eigenschaftsfenster SensorTriggerType auf Inductive stellen (3)
Testen Sie die Sensorreaktion erneut. Nur Metallwürfel sollten B4 auslösen.
Aktivieren Sie zum Schluss EnableCollision am Stopper wieder.
Schalten Sie auch das Forcen von Q0 aus – klicken Sie dazu auf das rote F im Tags-Window.
Nun sind alle Skills gesetzt und die Anlage vollständig vorbereitet.
Schritt 9: C#-Skript erstellen und simulieren¶
Folgen Sie den Anweisungen unter C#-Scripting, um den kostenlosen Editor Visual Studio Code zu installieren.
Nachdem Visual Studio Code eingerichtet ist:
- Beenden Sie den Run-Zustand
- Wählen Sie im Device-Menü CSharpScript (1)
- Öffnen Sie die Einstellungen (2) und prüfen Sie den PathCodeEditor. Hier sollte der richtige Pfad für den Editor eingestellt sein. Im Feld SubFolder muss ein Verzeichnis angegeben werden. Geben Sie hier z.B. MyScript ein.
- Klicken Sie auf C# Projekt erstellen (4)
Visual Studio Code öffnet sich mit dem Projekt.
Starten Sie die Simulation durch Drücken des Run Buttons.
Fügen Sie im Modul Program.cs in der Funktion MainPrg() folgende Zeile hinzu:
Speichern Sie mit Strg + S → Das Band läuft.
Fügen Sie anschließend diese zwei Zeilen hinzu und speichern Sie erneut:
Nun sollten die Zylinder M2 und M3 ausfahren.
- (1) zeigt die neuen Codezeilen
- (2) Transportband läuft
- (3,4) Zylinder M2 und M3 sind ausgefahren
Schalten Sie die Anlage auf Stop, um die Grundstellung wiederherzustellen.
Jetzt laden Sie das komplette C#-Programm herunter: Download C# Programm Tutorial 2
Löschen Sie alle Zeilen der Datei Program.cs: Alle Zeilen mit Strg+A markieren und mit Del löschen. Anschließend fügen Sie mit Copy&Paste den neuen heruntergeladenen Inhalt hinzu.
Schalten Sie die Anlage auf Run. Jetzt sollte die Simulation wie im nächsten Video ablaufen:
Video: Ablauf der Simulation¶
Schritt 10: Simulation mit PLCSIM aus dem TIA Portal¶
Damit sich PLC-Lab 3D Studio mit PLCSIM-1200 verbinden kann, müssen Sie ein Tia Portal Vorlageprojekt verwenden. In diesem Vorlageprojekt sind die notwendigen Einstellungen für eine erfolgreiche Verbindung bereits vorhanden. Verwenden Sie in Abhängigkeit von Ihrer TIA Portal Version den entsprechenden Download:
| TIA Portal Version | Download | Bemerkung |
|---|---|---|
| V14-V19 | Tia Portal V14 Projekt | Bei Verwendung von V15-V19 wird das Projekt von dem Tia Portal automatisch hochgerüstet. |
| V20 oder höher | Tia Portal V20 Projekt | - |
Hier der Download für das fertige SCL-Programm mit Variablentabelle für Tutorial 2:
Erstellung des TIA Portal Projekts für die mechatronische Anlage:
- Download und Entpacken des TIA Portal Vorlageprojektes.
- Öffnen Sie das Vorlageprojekt.
- Speichern Sie das Vorlageprojekt unter dem Namen Tutorial2-PLC-Lab-3D-Studio (1) und ändern Sie im Projektbaum den Namen des Knoten in Tutorial2 (2)

- Öffnen Sie die Standard-Variablenliste und drücken Sie in der Variablenliste die rechte Maustaste, um das Kontextmenü zu öffnen. Wählen Sie den Befehl Importdatei und wählen Sie die Datei Tutorial2-variablen.xlsx aus der ZIP Datei tutorial2-tia-quellen.zip. Wählen Sie 'Nach Adressen synchronisieren' bei der Abfrage, wie die Variablen importiert werden sollen.

- Jetzt importieren wir die Bausteine für die mechatronische Anlage. In der ZIP Datei tutorial2-tia-quellen.zip befindet sich die Datei Tutorial2.scl. Hier sind mehrere Bausteine gespeichert im Quellen-Format. Diese können mit dem TIA Portal importiert werden. Öffnen Sie im Projektbaum den Knoten Externe Quellen. Klicken Sie auf "neue externe Datei hinzufügen". Wählen Sie die Datei Tutorial2.scl. Klicken Sie auf den neuen Eintrag Tutorial2.scl (1) mit der rechten Maustaste an und wählen Sie aus dem Kontextmenü "Bausteine aus Quelle generieren". Jetzt befinden sich drei neue Bausteine (2) im Knoten Programmbausteine: HiEdge, LoEdge und Tutorial2.

- Erzeugen Sie den Instanz-Datenbaustein für den FB Tutorial2: Wählen Sie im Projektbaum Neuen Baustein hinzufügen. Klicken Sie auf "Datenbaustein" und wählen Sie als Typ "Tutorial2". Für den Namen geben Sie ein Tutorial2_DB. Drücken Sie den OK-Button.

- Im OB1 muss jetzt der FB Tutorial2 über den erzeugten Instanzdatenbaustein aufgerufen werden. Öffnen Sie den OB1 und klicken Sie das Netzwerk1 mit der rechten Maustaste an, um das Kontextmenü zu öffnen. Wählen Sie den Befehl "SCL-Netzwerk einfügen". Geben Sie den Code unten ein.
IF #Initial_Call THEN //bei erstmaligem Aufruf den FB initialisieren
"Tutorial2_DB"(Init := TRUE);
RETURN;
END_IF;
"Tutorial2_DB"(Init := FALSE); //zyklischer Aufruf
Das Programm ist jetzt vollständig. Jetzt wird PLCSIM gestartet:
- Button Simulation starten drücken.

- Dialog Erweitertes Laden erscheint. (Eventuell ist dieses Fenster verdeckt von dem PLCSIM Fenster.). Bei (1) PLCSIM auswählen. Bei (2) sollte CPU-1200 Simulation erscheinen, Drücken Sie den Laden Button.

- Dialog Vorschau Laden. Wählen Sie Alle Überschreiben (1). Drücken Sie Laden (2).

- Im Dialog Ergebnisse des Ladevorgangs, wählen Sie Baugruppe starten. Dadurch wird PLCSIM in den RUN Modus geschaltet.

- Kontrollieren Sie im PLCSIM Fenster, ob PLCSIM im Run-Modus ist.

Jetzt wird die Simulation in PLC-Lab 3D Studio gestartet:
Stellen Sie als Device TiaPortalPlcSim1200 (1) ein, drücken Sie das Icon Einstellungen (2), stellen Sie in den Einstellungen Ihre TIA Portal Version ein (3).












