Was ist genauer: Cyclic Interrupt oder Runtime Laufzeitmessung (CPU1513)

St3v3a3

Level-2
Beiträge
27
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Eckdaten:
V14SP1
CPU 1513
ET200SP(IM155-6 PN/ST)
AI 4xu/I 2-Wire

4-20mA Signal vom Wegmessystem




Hallo,

ich muss eine Geschwindigkeit ermitteln.

Dazu schreibe ich in einem Zeitabstand von einem Sensor für Wegmessung den Wert weg.
Die Differenz von dem neuen - alten Wert ergibt = Den zurückgelegten Weg

Soweit so gut. Jetzt muss ich natürlich auch die Zeit ermitteln die zwischen den beiden Abständen vergangen ist und das so genau wie möglichst.
Dazu hatte ich 2 Ideen:

Idee 1:
Cyclic Interrupt auf 5ms oder so einstellen
und dort immer neuen Wert von der Wegmessung wegschreiben und die Geschwindigkeit ermitteln.

Idee 2:
Im Main OB mit jedem Zyklus einen neuen Wert von der Wegmessung wegschreiben und direkt im nächsten Netzwerk den Befehl "Runtime" ausführen.
Und so die Geschwindigkeit ermitteln


Gefühlt würde ich sagen, Idee 2 wird genauer!
Aber vielleicht hat ja auch jemand Erfahrungen?
 
Vorsicht vor RUNTIME: die Anweisung hat irgendwann einen Überlauf und ist von Siemens so schlampig dokumentiert, daß man den Überlauf nicht genau herausrechnen kann. Außerdem gibt es da möglicherweise auch Firmware-Fehler, wo RUNTIME nicht richtig funktioniert.
Zu RUNTIME befrage mal besser den Siemens Support (und berichte hier).

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oder du nimmst ein Technologieobjekt.
Dein Analogeingang wird im OB_PreServo am Baustein SimpleEnc verwurstet und dem TO mittels Anbindung über Datenbaustein aufbereitet.
Siehe hier: https://support.industry.siemens.co...e-mc-preservo-und-mc-postservo?dti=0&lc=de-AT

Unter "TO".ActualVelocity gibt es dann die Ist Geschwindigkeit in deiner konfigurierten Maßeinheit ermittelt im OB_Servo Takt.

LG
Peter
 
Das mit dem Technologieobjekt "TO_PositioningAxis" hört sich echt gut an!
Das man so auch einen Analogeingang damit verschalten kann, ist mir neu!
Deshalb hatte ich mich leider auch vorher noch nie damit beschäftigt.

Habe mir das Beispielprojekt und die Dokumentation mal heruntergeladen und werde es Schritt für Schritt mal durchgehen.
Es ist eigentlich 1 zu 1 meine Aufgabenstellung:

Hydraulikpumpe
Propventil (analog angesteuert)
Hydraulikzylinder
Geber über Wegmessung (analog Signal)


screenshot.119.jpg


Über TO_PositioningAxis kann ich dann doch auch direkt meine Geschwindigkeits-Regelung realisieren (und auch optimieren)?
Hatte dieses sonst über PID_3Step vorgehabt.
 
Zurück
Oben