SINAMICS S120 Parameter für alle ändern

BADMAN

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

Es geht um die SINAMICS S120 Umrichter von Siemens.

Meine Frage:
Gibt es eine Möglichkeit Parameter von mehreren Antrieben gleichzeitig zu ändern.

Wenn ich einen Parameter ändern muss mach ich das meistens über die Expertenliste. Muss ich an einem Antrieb mehrere Parameter ändern erstelle ich mir ein Skript und lass dieses durchlaufen.

Für einen Antrieb schön und gut, aber wie siehts mit mehreren Antrieben aus.

Ich möchte nun einen Parameter bei z. B. 100 Antrieben ändern.

Bisher habe ich immer für jeden Antrieb die Expertenliste aufgerufen und den oder die entsprechenden Parameter geändert nur das dauert ewig geschweige dann das ganze noch ins PG zu laden.

Gibt es eine Möglichkeit z. B. mit Hilfe eines Skriptes in dem eine Schleife abläuft bei der dann der Parameter bei allen geändert wird ???

Und gibt es evtl. eine Möglichkeit die Aktionen "RAM to ROM" und "Laden ins PG" automatisch für alle Antriebe auszuführen ohne nun jede einzelne CU anzuklicken und zu bestätigen.

Bin für alle Hilfen dankbar


viele Grüße BADMAN
 
Hallo,

du kannst die Parameteränderungen auch per Script automatisieren, gar kein Problem.
Kleines Beispiel für eine Schleife mal angehängt.
Ein RAMtoROM kannst du an der CU via p977 für alle Antriebe auslösen oder via p971 bei jedem Antrieb seperat.

Beim Upload müsstest Du auf die ScriptCollection vom Scout/Starter zurückgreifen, welche von den beiden Tools verwendest du?

Gruß
Christoph
 

Anhänge

  • example.txt
    802 Bytes · Aufrufe: 235
Hi,

anbei ein Beispiel für den Upload.
Script setzt das Projekt online und lädt aller Geräte vom Typ SINAMICS hoch und speichert das Projekt.

Gruß
Christoph
 

Anhänge

  • Example02.txt
    203 Bytes · Aufrufe: 172
Hallo Christoph

ich blick da nicht so richtig durch mit den Befehlen, hab in der Hilfe wenige Beispiele gefunden. Gibt es nicht irgendwo eine Beschreibung der ganzen Befehle die ich im Skript verwenden kann. Selbst auf der Siemens Seite ist nichts über die Skripte zu finden.

Aber trotzdem vielen vielen Dank


Gruß Badman
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo nochmal !

Also ich verstehe das mit dem 2. Beispiel folgendermaßen

' Example02
PROJ.Online = True 'Projekt online setzen
For Each objDevice In PROJ.Devices 'Alle Objekte online setzen
lTypeName, 8) = "SINAMICS" Then 'Typ 8 ???
objDevice.Upload() 'objekte hochladen
End If '
Next '
APP.Workbench.WBProject.Save() 'Projekt speichern


1. Frage

Mit "PROJ.Online = True" und"For Each objDevice In PROJ.Devices wird das gesamt projekt online gesetzt ???
der Befehl setzt sich so zusammen ??? wieso der Punkt ???

Wie kann ich hier eine unterscheide machen wenn ich nur mit einer Auswahl online gehen möchte?
Wenn ich die Geräte die online gehen sollen manuell auswähle, könnte ich mir dann die ersten beiden Zeilen sparen ???

2. Frage

lTypeName, 8) = "SINAMICS" Then objDevice.Upload()
Was bedeutet hier der Typname 8 hat das was mit der Antriebsidentnummer zu tun ???

3. Frage
APP.Workbench.WBProject.Save()
Ich vermute das mit diesem Befehl alles gespeichert wird
was bedeutet APP.Workbench , die Workbech ist doch die Übersicht im STARTER was hat die damit zu tun


4. Frage
Ich überlege mir nun folgendes:

Ich habe ein Projekt bei dem 30 Cu320-2 DP angelegt sind, ich gehe immer mit 10 CUs gleichzeitig online und habe zuvor einen Skriptordner unter dem Projektnamen angelegt (oder wo kommt der Ordner hin ???
in diesem Ordner schreibe ich dann "nur" die beiden befehle für upload und save, also in etwa so

lTypeName, 8) = "SINAMICS" Then 'Typ 8 ???
objDevice.Upload() 'objekte hochladen
End If '
Next '
APP.Workbench.WBProject.Save() 'Projekt speichern

wäre das nun korrekt das nur die geräte hochgeladen werden und gespeichert die online sind

muss ich hier keine unterscheidung von Antriebsnummern machen

oder kommt die unterscheidung von = "SINAMICS" ???

Ich hoffe meine Fragen erschlagen dich nicht!!!



Vielen Dank und schönen Gruß

Badman
 
Ich nochmal

hab jetzt nur mal mit dem Befehl "PROJ.Online = True" und dort blinkt dann unten rechts online verbindung wird aufgebaut

ich bin morgen wieder auf der baustelle dann versuche ich mich mal langsam ran zu tasten.

echt coole sache vielen vielen dank Christoph

ich glaube ich muss muss dich noch etwas länger nerven hoffe das geht in ordnung


gruß Badman
 
Hi,

in der Online Hilfe gibt es eine Übersicht zu dem Objektmodell, dort werden auch die zur Verfügung stehenden Funktionen für jedes Objekt erklärt.

zu den Fragen:

nur "Project.online=true" setzt das ganze Projekt online bzw. alle Geräte die in der Zielgeräteauswahl markiert sind.
"For Each objDevice In PROJ.Devices" geht erstmal über alle Geräte die im Projekt vorhanden sind
und
"If Left(objDevice.ExternalTypeName, 8 ) " schaut anhand der ersten 8 Zeichen des Typnamen ob es sich um ein SINAMICS Gerät handelt
und
"objDevice.Upload()" lädt die Geräteparametrierung ins PG
abschließend
"APP.Workbench.WBProject.Save()" das Projekt zu speichern und die hochgeladenen Daten in der Offline Datenhaltung zu sichern.

Workbench ist nicht nur die Übersicht sondern steht auch für den kompletten Prozeß (u7wwbfax.exe/u7wdrfax.exe im taskmanager) der alle Akionen an der Oberfläche bedient.

Die Beispielscripte sollten am Projekt abgelegt werden, das hast du richtig erkannt .
Du kannst auch die Eigenschaft "Online" des Gerätes abfragen, die signalisiert ob das Gerät online verbunden ist oder nicht.
Die Abfrage wäre dann:
If Left(objDevice.ExternalTypeName, 8 )= "SINAMICS" and objDevice.online=true Then
 
Hallo

wo finde ich denn den Typnamen steht der im Antrieb oder in der CU ???


ehh brauche ich überhaupt die Typabfrage? denn im Projekt habe ich immer nur SINAMICS.

Hab mir jetzt folgendes überlegt Frage an dich ob das so funktionieren Könnte

PROJ.Online = True 'Ausgewählte Antriebe Online Setzen
objDevice.Upload() 'Ausgewählte Antriebe hochladen ins PG

APP.Workbench.WBProject.Save() 'Daten in der Offline Datenhaltung sichern

Viele Grüße Badman
 
Hi,

der Typname ist eine Eigenschaft jedes Objektes in Starter.
Im vorliegenden Script frage ich den TypNamen des gerätes ab, also ob
es sich um ein Gerät der Familie SINAMICS handelt oder um was anderes (MICROMASTER; ET200 etc.), im Projekt wäre das Objekt unter welchem sich ControlUnit und Antriebe etc. befinden.
Dein Script braucht noch ne for Schleife um über alle Geräte zu gehen, also müsste es so aussehen:

PROJ.Online = True 'Ausgewählte Antriebe Online Setzen
for each objDevice in PROJ.Devices
objDevice.Upload() 'Ausgewählte Antriebe hochladen ins PG
next

APP.Workbench.WBProject.Save()

Das Beispiel was ich abgelegt hatte war Teil eines größeren was ich immer verwende wenn ich zum Service an einer Anlage bin und die ganzen Parameter aus der Anlage ausgelesen werden müssen, das sin Teilweise über 100 Geräte verschiedenster Art dewegen ist es etwas allgemein gehalten.

Gruß
Christoph
 
Es geht auch ein wenig einfacher, wenn du Parameter direkt schreiben willst.
Ein Script anlegen und die Parameter dort eintragen:


Code:
Parent.Parent.TOs("Slave").Symbols("p1155[0]") = "21560:0:3"
Parent.Parent.TOs("Slave").Symbols("p1160[0]") = "21625:0:3"


'auf DCC-Plan Variable
Parent.Parent.Units("GetrGL4_2RK").Symbols("p21511") = "1170:0:2"


Dabei ist bei mit "Slave" ein angelegter Antrieb unter "Antriebe"
Symbols sind dann die Parameterbezeichnungen.
Man kann sich eine Liste mit den gewünschten Parametern unter Control_Unit/Scripte anlegen, das Script öffnen und dann über einen Button oben im Menü ausführen.

Legt man das Script direkt unter dem betreffenden Antrieb an geht auch Folgendes:

Code:
' Teller


Parameters(10, 0)  = 4                 ' IBN Geber 
Parameters(418, 0) = 2                 ' Feinauflösung 2*2 x 1024
Parameters(10, 0)  = 0 


Parameters(1082, 0)  = 3500             'N_Begrenzung




REM -------------------------------------------------------
REM     Page : Com_DP
REM -------------------------------------------------------
REM ----- Parameter -----


REM ----- BinectConect -----


Symbols("p2051[2]") = "2089:2:."
Symbols("p2082[8]") = "21592:0:."

Vielleicht kann man die Schreibweise in den ersten Zeilen auch von der Control_Unit aus anwenden?
Hab ich noch nicht so oft genutzt, ist aber schon praktisch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke schon mal.

Werd wohl etwas Zeit brauchen um mich in diese Thematik richtig einzulesen....
Ich hab das Thema, dass ich eben mittels einem externen Script ein im S7 integriertes Starter Projekt öffnen will, und dann ein Laden ins PG realisiere.
Um sicher zu gehen, dass auch wirklich der Letztstand im S7 Projekt enthalten ist. Hab aber bis Dato dieses "Siemens" Scripting noch nie probiert/gebraucht.
Für weitere Vorschläge bin sofort zu haben, bzw. bei Bedarf melde ich mich wieder.
:s12:
 
Zuletzt bearbeitet:
Hmmm irgendwie raff ich gerade den Übergang von Case 7 (external script.zip) zu deinem Beispiel Projekt online und eben auslesen nicht
Wie muss ich PROJ definieren um PROJ.Online = True usw. zu realisieren?

Freitag Nachmittag ist einfach keine gute Zeit mehr.....:confused::confused::confused:

mfg
UweT
 
Hi ChristophD

Tja, hatte bis Dato auch nicht wirklich Zeit mich einzulesen, sry.
Ich stehe quasi immer noch am Anfang.

1.) Du hast mir die exaples hochgeladen und da frage ich mich wo, wie der default Pfad definiert ist?
Z.B. ExternalScriptDemo1
Wenn ich das starte und dann 1 für "Auflisten der Projekte "wähle, werden mir offensichtlich alle Beispielprojekte vom Starter aufgelistet.
Jedoch nicht z.B. das von mir zuletzt geöffnete.
Ich nehme an, da gibt es noch eine vordefinierte "Syntax" die ich noch nicht gefunden habe (installiere auch gerade den Starter neu, weil die Hilfe nicht funktioniert)


2.) Dann heißt es in der Beispielfunktion ".... ab hier wie internes Script"
Dazu schwebt mir ein Beispiel vor das ich glaub ich auch hier gefunden habe...
' Example02
PROJ.Online = True
For Each objDevice In PROJ.Devices
If Left(objDevice.ExternalTypeName, 8) = "SINAMICS" Then
objDevice.Upload()
End If
Next
APP.Workbench.WBProject.Save()

Nur bekomme ich das gerade in der kombination nicht hin...... objDevice.Upload wird wohl zu definieren sein?!?

Wie bereits Eingangs erwähnt ich bin in diesem Bereich ein Newbe

Werd mich mal mit dem zuordnen meines Projektpfades beschäftigen.... kommt ja im Beispiel auch vor, bräcute aber noch nen Tipp zwecks 2tens
 
Zuletzt bearbeitet:
Zurück
Oben