Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Ableitung eines zeitlich veränderlichen Wertes bilden

  1. #1
    Registriert seit
    16.10.2012
    Beiträge
    754
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    gegeben sei ein zeitlich veränderlicher Wert, von welchem ich eine d/dx Funktion zur Weiterverarbeitung in einer SPS bilden muss. Wie würde man hier vorgehen, ist es überhaupt möglich, die SPS z.B. mittels Data Tables solche Sachen ausrechnen zu lassen ?

    Danke im Voraus
    Zitieren Zitieren Ableitung eines zeitlich veränderlichen Wertes bilden  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    kannst du dein Vorhaben auch etwas präzisieren ? Vielleicht auch mit welcher SPS du das zu realisiern gedenkst (wenn es denn geht) ?

    Gruß
    Larry

  3. #3
    Avatar von Draco Malfoy
    Draco Malfoy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.10.2012
    Beiträge
    754
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard

    Ja, also es ist folgendes: die SPS ist eine von diesen hier: http://www.unitronics.com/Series.aspx?page=Vision350 und mir geht es darum, daß während ein Schrittmotor bestimmte Bahn abfährt, ein analoger Eingang zyklisch abgefragt werden soll und dabei bestimmte werte entstehen. Ganz grob gesagt, ein Motorschritt - eine Abfrage - ein Wert in der Tabelle. Worauf es ankommt, ist zu verstehen, ob die Werte wachsen oder sinken, und letztenendes, ein Minimum zu finden.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Also ... bei der von dir gewählten SPS muss ich passen. Die kenne ich nicht und kann auch so nichts dazu sagen.

    Ganz grundsätzlich allerdings :
    Deine SPS muß eine relativ kleine Zykluszeit realisieren können.
    Ferner sollte sie eine inderekte Adressierung von Speicherstellen (und hier in für dich ausreichender Menge) zulassen.
    Letztlich würdest du dann die eingelesenen Daten prüfen/auswerten.

    In dem Teil der SPS-Welt in dem ich mich bewege (also Siemens-SPS) wäre so etwas durchaus machbar ...

    Gruß
    Larry

  5. #5
    Avatar von Draco Malfoy
    Draco Malfoy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.10.2012
    Beiträge
    754
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard

    Ok, danke schon mal. Welche Zykluszeiten wären hier angebracht ? Letztenendes durchfährt mein Schrittmotor die Bahn mit einer Geschwindigkeit von etwa 200°/Sek und jeder Schritt sind 0,9°, also allzu schnell müssen diese Daten wiederum auch nicht fließen. Wenn wir hier von einer S7-314 reden würden, wie würdest Du dann vorgehen ? Vielleicht, ist es ja sogar einfacher, die richtige SPS zu kaufen, anstatt die bestehende anzupassen...

  6. #6
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Also fangen wir mal an:
    200°/Sek = 5ms / Grad
    0,9° entsprechen dann also 4,5ms

    Nach gängiger Logik sollte für eine gewisse Reaktionsgarantie die Abtastzeit ungefähr doppelt so schnell sein,
    also wäre die absolut maximale Zykluszeit so bei ~2,5 ms, was schon eine gewisse Hausnummer darstellt.

    Das ist jetzt aber noch nur die halbe Wahrheit, industrielle Analogeingänge und auch Ausgäng haben im Regelfall,
    genaueres verrät das Datenblatt, eine Wandlungszeit von 20ms Aufwärts,
    das heißt im Gegenzug das du nur alle ~ 4° überhaupt einen neuen Wert erhältst, auf den du dann irgendwie reagieren kannst.

    Desweiteren haben auch die Analogausgäng noch eine gewisse Wandlungszeit, z.B. 5ms, d.h. nochmal ~ 1° Verzögerung NACH der Berechnung.

    Also ist die allererste Aufgabe erst mal, Hardware zu finden, welche schnell genug Werte liefern bzw. ausgeben kann.
    Wenn du hier mal was gefunden hast, kannst du dir dann noch mal über den Rest Gedanken machen.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  7. #7
    Avatar von Draco Malfoy
    Draco Malfoy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.10.2012
    Beiträge
    754
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard

    Jo... also bei weitem nicht trivial das Ganze. Die Analogeingänge laufen über ein über MODBUS angekoppeltes IO also ist es wahrscheinlich noch ärger. Alternativ, könnte man natürlich auch regelungstechnisch ganz anders vorgehen, und eine ganz andere Erfassungsmethode wählen, wie z.B. ein anlaloger Differenzierer der einfach Signale wie "Positiv" oder "negativ" an digitale Eingänge der SPS legt.

    Wie schnell kann denn eine SPS mit, sagen wir mal, 20mS Zykluszeit auf eine Änderung der über MODBUS von einem externen I/O übermittelten Analogwerte reagieren ? Muss ich hier gar 100mS sicherheitshalber ansetzen ??

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Es ist immer noch die Frage nach dem Sinn und der Notwendigkeit.
    Wenn du schon bereit bist z.B. in Richtung Siemens zu gehen, so gibt es dort natürlich auch Equipment, dass dir da keine Steine in den Weg legt. Zu der Modbus-Geschichte kann ich dir aber gar nichts sagen. Siemens hat aber auch A/D-Wandler, die dir im Millisekundentakt (wenn nötig) Werte liefern können. Aber ... was misst du denn Analog ? Vielleicht einen Abstand ?

    Du kannst aber auch noch anders vorgehen :
    Du misst einfach zyklisch (z.B. alle 5 ms) und liest dann den Weg und den Analogwert zusammengehörig ein.

    In jedem Fall - bei der Sache solltest du schon zusehen, dass dein Einlesezyklus (ggf. mit Hilfe eines Zeit-OB's) im einstelligen ms-Bereich bleibt.
    Eine CPU 314 wäre für die Aufgabenstellung auch nicht unbedingt meine Wahl (ich denke hier auch an die spätere Auswertung). Für mich fängt das gedanklich mit einer 317 an ...

    Gruß
    Larry

  9. #9
    Avatar von Draco Malfoy
    Draco Malfoy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.10.2012
    Beiträge
    754
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard

    Hm. Ja, sehr speziell das ganze, und v.a. teuer. CPU-317 ist gegenüber der visio schon eine ordentliche Ecke weiter, und v.a. für die eigentliche Aufgabe leicht überdimensioniert. Die Sachlage entspannt sich ein wenig dadurch, daß man über eine Vergrößerung der Messabstände bzw. der Bahngeschwindigkeit auf vertretbare Werte nachdenken könnte, wenn es nicht anders geht. Natürlich, 20 Sek/Umdrehung ist dann immer noch nicht tragbar, aber man kann das eventuell auf 1S/100° runterdrücken, und auch eventuell jeden zweiten Step auswerten. Das ergäbe dann schon vertretbare Zykluszeiten von 16-20mS. Die Frage ist halt, ob der MODBUS da mitmacht. Aber das kann man ggf. experimentell rausfinden.

    Indirekte Adressierung indes unterstützt meine SPS, und auch so 20-30 Steps kann man da ruhig abspeichern. Wie würde man denn jetzt vorgehen, wenn man diese letzten z.B. 30 Schritte differenziell auswerten will ? Und, hauptsache, das Minimum nicht überfährt bzw. lokalisieren kann ? Letztenendes wäre das Wunschergebnis ein Algorithmus zur Minimumsfindung.

    P.S: ähm, nein, es geht hier nicht um Abstand sondern um eine nur sehr schwer zu erfassende physikalische Größe, die durch eine Phasendifferenz dargestellt werden kann. Diese Phasendifferenz geht in Form von einem analogen Wert in die SPS rein. Ich habe weiter unten das Phasen-Gain Verhalten von dem Detektor angehängt.
    Angehängte Grafiken Angehängte Grafiken

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Den Bezug von Minimum zu dem dargestellten Diagramm kann ich gerade nicht herstellen ...
    Aber ganz grundsätzlich :
    Du initialisierst deine "Wert_gefunden"-Variable mit einen Wert deiner Aufzeichnung.
    Nun gehst du alle Werte deiner Aufzeichnung nacheinander durch und vergleichst sie mit "Wert_gefunden". Ist ein Wert kleiner dann trägst du ihn an der Stelle ein. Am Ende hast du dann den kleinsten Wert da drin stehen.

    Gruß
    Larry

Ähnliche Themen

  1. In Abhängigkeit eines Wertes Datenwort benutzen
    Von Programmierknecht im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 02.10.2012, 19:17
  2. Integer Wertänderung zeitlich erfassen
    Von klauserl im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 10.09.2012, 22:57
  3. Momentanes speichern eines verändernden wertes
    Von dr.hareg im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 14.02.2009, 09:58
  4. Betrag eines Wertes errechnen
    Von Flo im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 17.09.2006, 15:57
  5. Antworten: 2
    Letzter Beitrag: 21.06.2006, 11:59

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •