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

Ergebnis 1 bis 10 von 10

Thema: Sollwerte anhand Klimakurve ermitteln

  1. #1
    Registriert seit
    05.06.2011
    Beiträge
    19
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!
    Anhand einer Klimakurve soll in Abhängigkeit vom Gewicht der Tiere ein Sollwert für die Temperaturregelung ermittelt werden.

    Es handelt sich in diesem Fall um einen Schweinemaststall.
    Beispielkurve:
    Die Kurve wird in einer DB angelegt

    20 Kg - 30 Grad
    30 Kg - 26 Grad
    40 Kg - 23 Grad
    50 kg - 22 Grad
    60 kg - 21 Grad
    70 kg - 20 Grad
    140 kg - 18 Grad

    Ich brauche also ein Funktion, die mir die beiden nächsten Eckwerte nach Vorgabe des aktuellen Gewichts nimmt, und mir den entsprechenden Wert ausrechnet.


    Das Nächste:
    Wie erhalte ich einen Integer Wert zwischen zwei Datumsangaben?
    Konkret
    Einstalldatum 1.Juni.2011
    Heutiges Datum: 19.Juni.2011
    Ergebnis: Masttag 19


    Ich bin mir sicher, das in den Tiefen der angebotenen Funktionen irgendwo etwas passendes dabei ist, aber ich hab keine Ahnung, welche...

    Sorry, aber ich bin es gewohnt, in Hochsprachen wie VB oder Pascal zu scripten.
    Da gibts dann so schöne Funktionen wie "DateToInt"oder ähnliches...
    Deswegen ist der Umstieg auf Step 7 nicht ganz so einfach


    Siemens S7-300
    Step7

    Ansonsten... Schönen Sonntag
    Der Lange
    Zitieren Zitieren Sollwerte anhand Klimakurve ermitteln  

  2. #2
    Registriert seit
    11.08.2009
    Ort
    Bei Hamburg
    Beiträge
    100
    Danke
    19
    Erhielt 30 Danke für 18 Beiträge

    Standard

    Zitat Zitat von langer711 Beitrag anzeigen

    Wie erhalte ich einen Integer Wert zwischen zwei Datumsangaben?
    Konkret
    Einstalldatum 1.Juni.2011
    Heutiges Datum: 19.Juni.2011
    Ergebnis: Masttag 19

    Der Lange
    Wenn ich mich nicht täusche ist in der OSCAT-Bibliothek eine Funktion enthalten die Dir genau dieses errechnet.

    Die OSCAT-Bibliothek ist frei erhältlich und Open Source, vielleicht findest Du dort auch noch etwas passendes für die Temperaturkurve.

  3. #3
    langer711 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.06.2011
    Beiträge
    19
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hmm.... ich wollt eigentlich nicht die OSCAT Bibliothek auch noch studieren, aber ok, ich schau mir das mal an, danke

  4. #4
    Registriert seit
    11.08.2009
    Ort
    Bei Hamburg
    Beiträge
    100
    Danke
    19
    Erhielt 30 Danke für 18 Beiträge

    Standard

    Schau erst einmal die Doku durch.
    Die Funktionen der OSCAT-Lib sind sehr gut Dokumentiert, da braucht man sich nicht erst durch den Code durcharbeiten.

  5. #5
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von langer711 Beitrag anzeigen
    Hmm.... ich wollt eigentlich nicht die OSCAT Bibliothek auch noch studieren, aber ok, ich schau mir das mal an, danke
    Musst du doch nicht.
    Ein fertiges Programm willst du?
    Gibt es hier.
    Viele hier verdienen ihr damit. Musst nur noch den Betrag angeben den du ausgeben willst.

    Helfen tun hier viele, doch sollte zumindest Eigeninitiative vorhanden sein.
    Versuche es und wenn du nicht weiterkommst, dann nachfragen.


    bike

  6. #6
    langer711 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.06.2011
    Beiträge
    19
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    hey Bike, nicht gleich aus der Haut fahren
    Ich hab nicht erwartet, das man mir direkt ein fertiges Programm unterjubelt, keine Angst.

    Ich finde nur die passenden Funktionen noch nicht, mit denen ich dann weitermachen kann, das ist alles.

    Aber danke für den Hinweis... Tschulligunk

  7. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von langer711 Beitrag anzeigen
    hey Bike, nicht gleich aus der Haut fahren
    Ich hab nicht erwartet, das man mir direkt ein fertiges Programm unterjubelt, keine Angst.

    Ich finde nur die passenden Funktionen noch nicht, mit denen ich dann weitermachen kann, das ist alles.

    Aber danke für den Hinweis... Tschulligunk
    Ich fahre nie aus der Haut.
    Ich rege mich auch nie auf, warum auch? Bringt nichts und verkürzt das Leben.

    Wenn du die Frage so stellst, dass du keinen Ansatz hast, dann kann dir geholfen werden.

    Wenn ich dich recht verstanden habe, dann gibt es eine Tabelle mit den Werten.
    Diese Werte würde ich in einem Datenbaustein ablegen.
    Im Programm den Wert einlesen, diesen dann auf Grenzen abfragen, das heißt ab wann willst du auf bzw abrunden?
    Mit Hilfe dieser Werte kannst du dann aus dem DB die Werte holen.
    Schön wäre es wenn du eine Formel aus den Werten machen könntest.


    bike

  8. #8
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Ich gehe mal davon aus, dass du die Daten irgendwie in einen DB bekommst.
    Zitat Zitat von langer711 Beitrag anzeigen
    Beispielkurve:

    20 Kg - 30 Grad
    30 Kg - 26 Grad
    40 Kg - 23 Grad
    50 kg - 22 Grad
    60 kg - 21 Grad
    70 kg - 20 Grad
    140 kg - 18 Grad

    Ich brauche also ein Funktion, die mir die beiden nächsten Eckwerte nach Vorgabe des aktuellen Gewichts nimmt, und mir den entsprechenden Wert ausrechnet.
    Du mußt also erstmal durch vergleichen herausfinden zwischen welchen beiden Eckwerten du dich befindest. Hast du das, dann kannst du dir aus der Gewichts-Differenz und der Temperatur-Differenz die Steigung (Grad/kg) berechnen und die dann auf deinen aktuellen Wert beziehen.


    Zitat Zitat von langer711 Beitrag anzeigen
    Wie erhalte ich einen Integer Wert zwischen zwei Datumsangaben?
    Konkret
    Einstalldatum 1.Juni.2011
    Heutiges Datum: 19.Juni.2011
    Ergebnis: Masttag 19
    Zum Thema "Systemuhr auslesen" (SFC1) und "Datum aus der Systemzeit" gibt es in der Suche sicherlich etwas passendes zu lesen.
    Wenn du das so machst dann erhälst du ein Format DATE, dass in Tagen formatiert ist. Wenn du die als Einstall-Datum speicherst dann kannst du durch subtrahieren ganz einfach eine Differenz bilden - und die ist dann auch schon in Tagen formatiert.

    Viel Erfolg !

  9. #9
    langer711 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.06.2011
    Beiträge
    19
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja ganz richtig, aufregen bringt nix, dafür werden wir nicht bezahlt, und die die dafür bezahlt werden mit Steuergeldern, lachen sich tot

    Zum Thema.
    Genau so hatte ich das Gedacht

    DB anlegen mit den entsprechenden Werten
    Per Schleife die beiden angrenzenden Knickpunkte ermitteln.
    Dazwischen eine "Linie" berechnen, und anteilig den Mittelwert berechnen.

    Also unter Excel-VBA wäre ich damit schon fertig...

    Ich versuch mich grad darin, eine Funktion in SCL zu bauen.

    Wie gesagt, ich war davon ausgegangen, das irgendwo eine solche Funktion oder Baustein bereits in Step7 existiert.
    Ich mach dann mal weiter...


    Achso: zu Sache mit dem Datum und dem Integerwert in Tagen:

    Oscat-> Days_Delta

    Liefert die Tage zwischen zwei Datum-Vorgaben in Form von INT
    Danke dafür

    Der Lange

  10. #10
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von langer711 Beitrag anzeigen
    Ich versuch mich grad darin, eine Funktion in SCL zu bauen.
    Kommst du aus der Welt der Hochsprachen?

    Sonst würde ich den Wert nehmen, mit CMP prüfen zwischen welchen Werten dein Wert ist.
    Mit dieser Information den Baustein durchsuchen.

    L Wert
    L 25 // Eckwert plus Toleranz
    <= I
    = M 0.0 // Wert ist Minimum


    L Wert
    L 35
    <=I
    UN M0.0
    = M0.1

    Wegen Date / Time ist SFC1 dein Freund

    So ein kleiner Tipp


    bike

Ähnliche Themen

  1. Twincat NCI Sollwerte in Datei schreiben
    Von odonata im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 29.09.2011, 10:44
  2. Sollwerte ausgeben lassen von Twincat NCI
    Von odonata im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 17.05.2011, 16:07
  3. Sollwerte bei PC 477B gehen auf 0!
    Von TSI09 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 21.04.2011, 18:48
  4. Antworten: 26
    Letzter Beitrag: 01.07.2010, 17:22
  5. WinCC Sollwerte schreiben
    Von Keeper im Forum HMI
    Antworten: 0
    Letzter Beitrag: 31.05.2010, 16:29

Lesezeichen

Berechtigungen

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