1.3 Programmieren in TIA-Portal

Website: xplore-dna.net > Die DNA des digitalen Lernens!
Kurs: T1-Car Sensors by Lauritz, Max & Torben
Buch: 1.3 Programmieren in TIA-Portal
Gedruckt von: Gast
Datum: Dienstag, 6. Mai 2025, 12:26

1. Erstellen des Funktionsbausteins

In diesem Kapitel geht es mit der Programmierung im TIA-Portal weiter, welche im Kapitel 0 mit der Hardwarekonfiguration schon begonnen wurde. Die Datei mit dem Beispiel liegt im Dateien-Ordner zum Download bereit. Hierfür klicken Sie im Bereich der PLC auf der linken Seite auf "Neuen Baustein hinzufügen". Es öffnet sich ein Fenster wie in Abbildung 1 zu sehen. Dort wählen Sie die Option Funktionsbaustein aus und geben diesem Baustein einen Namen, in diesem Beispiel heißt der Baustein "ArduinoMB". Anschließend bestätigen Sie das ganze mit dem Button "OK".



Abbildung 1 Funktionsbaustein hinzufügen, Quelle BBS2 Wolfsburg


Nachdem der Funktionsbaustein erstellt wurde, wird dieser nun gefüllt. Hierzu wird der "MB_Client" verwendet. Dieser ist auf der rechten Seite im Reiter Anweisungen unter dem Punkt Kommunikation --> Weitere --> Modbus TCP --> MB_Client zu finden (siehe Abbildung 2). Ziehen Sie diese Anweisung einfach per Drag & Drop in das erste Netzwerk des Funktionsbausteins. Wichtig ist hierbei, dass sie diese Anweisung als Multiinstanz einbinden.



Abbildung 2 Anweisung MB_Client, Quelle BBS2 Wolfsburg


Bevor mit dem Ausfüllen der Anschlüsse des MB_Client begonnen werden kann, muss hierfür ein Datenbaustein erstellt werden. Dies geschieht im nächsten Kapitel.

2. Erstellen des Datenbausteins

Zum Einfügen eines Datenbausteins gehen Sie wieder auf "Neuen Baustein hinzufügen" unterhalb der PLC. Dieses mal wählen Sie aber den Datenbaustein aus und geben diesem einen Namen, in diesem Beispiel heißt der Baustein " ArduinoDATA". Das ganze ist in Abbildung 1 zu sehen.



Abbildung 1 Hinzufügen eines Datenbausteins, Quelle BBS2 Wolfsburg


Nachdem der Datenbaustein erstellt wurde, muss für diesen noch der optimierte Bausteinzugriff deaktiviert werden. Hierfür machen Sie einen Rechtsklick auf den Baustein links in der Liste und gehen dann auf Eigenschaften. Es öffnet sich ein Fenster wie in Abbildung 2 zu sehen. Dort gehen Sie auf den Punkt Attribute und deaktivieren den optimierten Bausteinzugriff. Das Ganze bestätigen Sie mit dem Button "OK".



Abbildung 2 Optimierten Bausteinzugriff deaktivieren, Quelle BBS2 Wolfsburg


Als nächstes tragen Sie in die Tabelle des Datenbausteins das Gleiche ein wie in Abbildung 3 zu sehen. Die Daten in der Spalte "Startwert" können dabei variieren. Zunächst bestimmen sie die Hardware-Adresse Ihrer PLC. Hierfür gehen Sie auf die Gerätekonfiguration, dann einen Doppelklick auf den Netzwerk-Port und dann können Sie unter dem letzten Punkt diese auslesen und in den Datenbaustein eintragen. In den meisten Fällen beträgt dieser Wert 64. Zeile 5 und 7 werden so übernommen wie in der Abbildung. In die Zeilen 10 - 13 tragen Sie die IP-Adresse des Arduino UNOs ein, welche Sie im Kapitel mit der Programmierung des Arduinos festgelegt haben. Die Zeilen 14 und 15 werden wieder übernommen. In der Zeile 16 wurde ein Array von 0 bis 5 erstellt, also 6 Werte. Dies liegt daran, dass in diesem Beispiel 6 Datenpunkte an die SPS übertragen werden. Sollten Sie z.B. nur 4 haben, müssen Sie das Array auf 0 bis 3 ändern. In dieser Zeile müssen Sie somit selber schauen, was Sie dort eintragen.



Abbildung 3 Ausgefüllter Datenbaustein, Quelle BBS2 Wolfsburg

3. MB_Client ausfüllen

Nachdem der Datenbaustein nun erstellt und komplett ausgefüllt wurde kann damit begonnen werden die Anschlüsse des MB_Clients zu ergänzen. Hierbei wird dieser wie in Abbildung 1 ausgefüllt. Die Anschlüsse "REQ", "DISCONNECT", und "MB_MODE" sind so zu übernehmen. Bei dem Anschluss "MB_DATA_ADDR" wird es etwas flexibler. Hierfür müssen Sie die Registernummer des ersten Datenpunktes aus dem Arduino-Code mit dem Wert 30001 addieren, da das Ireg-Register erst bei 30001 beginnt. In diesem Beispiel wird also 30001 + 100 = 30101 gerechnet und dort eingetragen. An dem Anschluss "MB_DATA_LEN" wird die Länge der zu übertragenen Daten festgelegt. Da in diesem Beispiel 6 Datenpunkte (auch erkennbar an dem Array im Datenbaustein) übertragen werden, steht dort die Zahl 6. Beim nächsten Anschluss wählen Sie das Array aus dem Datenbaustein aus, sodass ankommende Daten in dieses Array geschrieben werden. Wichtig ist hierbei, dass die eckigen Klammern des Arrays weggelassen werden, weil es sonst nicht funktioniert. An den "CONNECT" Anschluss wird die Konfiguration des Arduinos aus dem Datenbaustein gepackt. Der MB_Client ist jetzt fertig und bereit für den Einsatz. 


Abbildung 1 Ausgefüllter MB_Client, Quelle BBS2 Wolfsburg


Als letzten Schritt müssen Sie den Funktionsbaustein noch in die Main ziehen und das Ganze auf die SPS hochladen. Laufen sowohl die SPS als auch der Arduino mit den fertigen Programmen und sind über ein Netzwerkkabel miteinander verbunden, sollten Daten übertragen werden. Hierfür kann man im Datenbaustein der SPS über die "Brille" die aktuellen Werte überwachen und sollte in den Zeilen 17 - 22 die ankommenden Daten des Arduinos sehen.