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).
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. Das Transportband läuft, da noch keine Konfiguration vorhanden ist.
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. Das Eigenschaften-Fenster erscheint am rechten Bildschirmrand. Hinweis: Im Stop-Modus muss die Strg-Taste nicht mehr gedrückt werden, um Objekte in der Szene auszuwählen (ab V1.4.7).
Stellen Sie folgende Werte ein:
- Axis →
Z(voreingestellt) - MoveForward →
Q0 - TextureSpeed →
0.55(passt die Bewegung der Textur an die reale Bandgeschwindigkeit an)
Im Tags-Fenster 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. 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¶
3D Studio befindet sich im Stopp-Modus. In der CAD-Datei fehlt der Skill {Collider} an den beiden Zylinderstangen. Deshalb werden diese jetzt hinzugefügt.
Klicken Sie die linke Zylinderstange (M2), um die Eigenschaften zu öffnen:
Im Titelbereich des Eigenschaften-Fensters klicken Sie auf den Link SkillManager (3). Der Skill-Manager öffnet sich und filtert die Zylinderstange M2. Fügen Sie jetzt den Skill {Collider} hinzu:
- 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 (siehe gelbes Rechteck), 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. 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, Tags-Fenster anzeigen lassen 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 bei gedrückter Strg-Taste 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.
Wir befinden uns im RUN-Modus, der Sensor B4 ist unsichtbar, weil der Skill-Manager nicht geöffnet ist. Bewegen Sie den Mauszeiger bei gedrückter Strg-Taste unter dem Sensor-Gehäuse B4. Der unsichtbare Sensor sollte jetzt aufleuchten. Drücken Sie die linke Maustaste, um die Einstellungen zu öffnen.
Stellen Sie SensorTriggerType auf Inductive
Information: Die Strg-Taste muss im RUN-Modus gedrückt werden, um die Eigenschaften eines Skills anzuzeigen. Im RUN-Modus werden z.B. Schalter mit der Maus betätigt. Daher ist die Strg-Taste notwendig, um stattdessen die Skill-Eigenschaften zu öffnen.
Nun erkennt B4 nur noch induktive Objekte. Jetzt muss auch der metallische Würfel korrekt konfiguriert werden:
- Strg + Klick auf den Vorlage-Metallwürfel (1)
- Im Eigenschaften-Fenster auf den Skill Collider klicken (2)
- 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¶
Im Video wird eine ältere Version von PLC-Lab 3D Studio verwendet. Das Grundprinzip ist jedoch identisch.
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).













