TIA Servo-Treiber migrieren und auf 1500er lauffähig machen

Swissfighter88

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Zur Ansteuerung eines Servoverstärkers verwende ich einen auf S7-Classic getesteten und voll funktionsfähigen Treiber.
Nun habe ich den Treiber migriert, damit er auch im TIA verwendbar ist.

Der Test auf einer 300er Steuerung, programmiert mit TIA, verlief einwandfrei.

Beim Übersetzen mit einer 1500er Steuerung ein Fehler auf:

attachment.php


Folglich wollte ich den Bausteinparameter anpassen, da die Funktion einen anderen Datentyp erwartetet.

attachment.php


Der Treiber hat nun keinen Fehler mehr beim Übersetzen. Jedoch ist da noch eine Warnung vorhanden:

attachment.php


Nun bin ich mir zum einen nicht sicher ob ich den Fehler richtig korrigiert habe und zum Anderen kann ich nichts mit dieser Warnung anfangen.
Kann mir einer sagen ob das mit dem DPRD funktionieren sollte? Oder was diese Warnung zu bedeuten hat?
Fakt ist, die 1500er kommuniziert nicht mit dem Servoregler!

Besten Dank für eure Unterstützung!
 

Anhänge

  • Fehler.png
    Fehler.png
    3,5 KB · Aufrufe: 68
  • Angepasst.png
    Angepasst.png
    3,4 KB · Aufrufe: 69
  • Warnung.png
    Warnung.png
    5,4 KB · Aufrufe: 70
Bei einer S7-1500 würde ich zu einer Anbindung eines Antriebs über Technologieobjekt raten.
Man braucht dazu nur einen Antrieb der "Profidrive" spricht (z.B. Telegramm 5) und dann ist der Antrieb direkt im Technologieobjekt anbindbar, ohne dass man sich da große Gedanken über Adressen / Hardware ID´s, Strukturierung von Datenbereichen etc. machen muss. Programmierung erfolgt dann über PLC Open Bausteinen (falls der derzeitige Funktionsumfang des TO´s ausreicht - z.B. derzeit keine Kurvenscheiben etc., aber sehr wohl relativer Gleichlauf, Positionierachsen, Drehzahlachsen).

Ansonsten schau mal, wie die HWID deines Telegramm´s / Kommunikationsslot ist (nicht dass Du eine EA- Adresse eingetragen hast).
Ggf. mal bei SIEMENS nachschauen, da gibt es auch Beispiele wie Antriebe über GSD/GSDML an einer S7-1500 einzubinden sind (eben für SINAMICS beschrieben). Da gibt es dann auch für jedes Standardtelegramm einen eigenen UDT´s, den man gleich als Struktur für einen Datenbaustein hernehmen kann (SEND/RECEIVE).
 
Zuletzt bearbeitet:
Der Test auf einer 300er Steuerung, programmiert mit TIA, verlief einwandfrei.
Das muß nichts heißen, hast Du gründlich genug getestet? ;)


Der Treiber hat nun keinen Fehler mehr beim Übersetzen.
Vielleicht funktioniert das Programm nun aber nur noch zufällig?
Aus dem nun bei DPRD_DAT.RECORD angegebenen TEMP-Speicherbereich LB32..LB39 wird nur gelesen, wenn zuvor im selben Programmdurchlauf DPRD_DAT.RET_VAL = 0 liefert?

Jedoch ist da noch eine Warnung vorhanden:

attachment.php


Nun bin ich mir zum einen nicht sicher ob ich den Fehler richtig korrigiert habe und zum Anderen kann ich nichts mit dieser Warnung anfangen.
In dem angewarnten Code
Code:
L   DINO
T   #Instanz_DB_Nummer
[COLOR="#FF0000"]AUF DI [ #Instanz_DB_Nummer][/COLOR]
bewirkt das "AUF DI ..." nichts - ob das wohl so gewollt war???

Was ist das für ein Baustein? FC oder FB? Als "multiinstanzfähig" markiert?

Der angewarnte Codeteil und das "P#DIX132.0 BYTE 8" an DPRD_DAT.RECORD gibt mir irgendwie das Gefühl, daß in dem ursprünglichen Programm wohl noch weitere Programmstellen vorhanden sind, welche nicht ganz "optimal" programmiert sind und eventuell einer Überarbeitung bedürfen.

Harald
 
Zurück
Oben