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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: S5 Sättigungsdruck in Sättigungstemperatur Umrechnen

  1. #11
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.268
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von UnRockStar Beitrag anzeigen
    Ok Dann werde ich es mit einer Wertetabelle machen wie vorgeschlagen.
    hatte es anfangs auch mit einer wertetabelle versucht nur leider hab ich es falsch angegangen.

    ich werd es in der woche mal an der Anlage testen und melde mich zurück obs klappt oder probleme gibt.
    Hast du nicht erstmal irgendeine S5 zum testen?
    Wenn was falsch läuft, ist die SPS schnell mal im STOP oder Daten werden überschrieben.
    Erst danach an die Anlage, wäre mein Vorschlag.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  2. #12
    Registriert seit
    10.06.2009
    Beiträge
    64
    Danke
    36
    Erhielt 24 Danke für 13 Beiträge

    Standard

    a) Für die PT100 einzulesen gibt es festeingebaute FBs, ( FB250 ?, lange her die die Skalierung vornehmen. Ist in 115U- Handbuch.

    b) die 943 kann nur 16-Bit-Zahlen, und zwar addieren und Subtrahieren, selbst zur Multiplikation und Division brauchst Du einen FB ( eingebaut, -> Handbuch ).

    aus a) und b) -> Skaliere deine Werte so, daß Du möglicht viel von der 16-Bit-Zahl ausnutzt. ( Uberschreitung berücksichtigen, also maximal 16383).
    Für z.B. 0 .. 100 Grad würde ich 0..10000 [0.01 Grad] nehmen.

    Teile durch 100 -> Grad, Nachkommastellen

    Baue eine Tabelle (DB),
    nur die Y -Werte eintragen, X kannst Du vergessen, denn X ( Grad, Ganzzahlig ) gibt den Pointer.

    im DW 0 = Wert für 0 Grad ... DW 100 = Wert für 100 Grad .. lieber noch ei paar Zahlen, denn FB 250 (?) begrenzt nicht auf OGR !

    Also : Analogwert einlesen
    FB250
    in PW 128
    OGR KF+10000
    UGR KF+0
    AUSG MW 100 // MW 100 [ 0.01 Grad]

    Teile MW 100 durch 100 ( FB, s.o.)
    -> MW 102 Grad Ganzzahl
    -> MW 104 Grad Rest

    // Jetzt die Interpolation:
    //
    A DB "Tabelle"
    B MW 102
    L DW 0
    T MW 200 -> Wert für Grad [Ganzzahl]
    L MW 102
    l kf 1
    +F
    T MW 102 -> Ptr auf Grad +1

    B MW 102
    L DW 0
    T MW 202 -> Wert für Grad + 1[Ganzzahl]

    Wäre z.B. Grad = 25.35

    Dann hätte MW 200 den Wert für 25 Grad und MW 202 den Wert für 26 Grad

    Dazwischen interpolieren:
    wir wissen: Schrittweite sind 100 * [0.01 Grad]

    Also
    L MW 202 // Grad +1
    L MW 200 // Grad
    -F
    T MW 210 // Diffferenz bei 100 [0.01 Grad] an der Stelle 25 Grad s.o.

    Da wir aber nur MW 104 = 35 ( gedachte 0.35) haben:

    FB ( Multiplikation) ..
    MW 210 // Differenz bei 100 [0.01 Grad]
    MW 104 // Rest des Messwerts

    -> MW 220 ( Multiplikationsergebnis)

    Noch durch die stillschweigenden 100, weil 0.01 Grad in MW 104, teilen:

    FB ( Division) ..
    MW 220 ( Multiplikationsergebnis)
    KF +100
    -> MW230 Dies ist das Interpolationsergebnis für .35 Grad, von 25 Grad
    aus betrachtet,

    noch zusammenbauen

    L MW 200 // Wert für Grad [Ganzzahl]
    L MW 230 // Interpolationsergebnis
    +F

    .. et voila
    Sollte recht genau sein, wenn die Tabelle genau war.

    Kommt ohne Schleife aus, indir. adressierung geht schneller.

    Gruss
    Werner

  3. #13
    UnRockStar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.07.2008
    Beiträge
    28
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke =)

    ja das netzteil und die CPU943 Steht neben mir am pc hab sie mir extra aus der anlage zum testen mitgenommen damit ich ein bisschen versuchen kann wie ichs löse.

    vielleicht sollte ich erwähnen das ich die temperaturen bei PT100 von -190 bis +120 nur benötige

    dabei benötige ich keine 0,1°C schritte sondern es reicht mir auf 1-2°C genau

    Aber Trotzdem ein Danke an heisch ist auch mal interresant zu sehen wie man es genau machen könnte =)


    @ Ralle:

    Wenn die CPU mal an der Anlage in Stop geht ist dies garnicht weiter schlimm, dann steht halt alles wieder, auserdem kann ich es testen ohne das eine gefahr aufkommt da die anlage so ausgelegt ist das bei stromausfall alles sicher stehen bleibt ein CPU Stop ist in dem fall so Ziemlich das selbe.


    Ich Verlink jetzt mal in ein Anderes Forum wo man mal sehen kann was es für eine anlage überhaupt ist.


    http://www.extremecooling.de/forum/k...nrockstar.html

    Nehmts mit der nicht zu genau ich bin kein gelernter schaltanlagenbauer sondern jegendlich Azubi für "Mechatroniker für Kältetechnik" im 3 lehrjahr..
    Geändert von UnRockStar (03.11.2009 um 15:17 Uhr)

  4. #14
    UnRockStar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.07.2008
    Beiträge
    28
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    ENDE: BE[/CODE]Besser wäre allerdings, das Ganze in einer Schleife abzuarbeiten (falls die Zykluszeit nicht zu kritisch wird) und mittels indirekter Adressierung und dem Bearbeite-Befehl zu arbeiten.

    Etwa so:

    Code:
    A DB50
    
    //Vorbelegen mit 0
    L KF+0
    T MW200
    T MW2
    
    //Wiedereinsprung für die Schleife
    T003:B MW200
    L DW0
    T MW202
    
    //Eingelesener Wert noch kleiner als Tabellenwert?
    L PW192
    L MW202
    >=F (  < auf >= abgeändert da es andersrum nicht funktioniert hatte)
    SPB=T002  //wenn ja, dann prüfen, ob Anzahl der Schleifendurchläufe erreicht ist 
    
    L MW200 //wenn nein, dann den zugehörigen Temperaturwert ind. auslesen
    L KF+1
    +F
    T MW200
    B MW200
    L DW0
    T MW2
    T MW4 (MW 4 ist das ausgangswort wenn ich MW2 benutze steht zu oft 0 im ergebnis)
    SPA=ENDE //Wert ermittelt, fertig und ans Ende
    
    //prüfen, ob Anzahl der Schleifendurchläufe erreicht ist 
    T002: L MW200
    L KF+321  //Anzahl der Wertepaare (0-322)
    >=F
    SPB=ENDE //wenn ja, dann ohne Ergebnis zum Ende, in MW2 steht Null
    L MW200  //wenn nein, dann Zählmerker um 2 erhöhen und hoch springen zur Schleife
    L KF+2
    +F
    T MW200
    SPA=T003
    
    ENDE: BE

    Ich hab Die werte oben mal abgeändert das es bei mir Funktioniert.

    Danke Nochmal an dieser stelle =)


    ich steh grad vor dem problem das ich nicht höher komme als -73

    das liegt daran das ich den tempbereich von -200 bis +120 auflösen will und somit 640 DW´s brauche.

    bei >DW255 kann ich nur noch mit den befehlen Lir und Tir arbeiten.

    ich hab versucht es in die schleife reinzuarbeiten bekomm aber immer ein quitierungsverzug.

    hat jemand eine Lösung oder ein ansatz dafür?


    ist es eigentlich auch möglich mit LIR auf die Datenwörter 0-255 zuzugreifen das würde es einfacher machen.

    sonst müsste ich ab 255 irgendwie auf lir umschalten?

Ähnliche Themen

  1. Gewicht umrechnen...
    Von anne im Forum Simatic
    Antworten: 43
    Letzter Beitrag: 08.06.2010, 10:58
  2. BCD Stückzahlvorgabe in der sPs umrechnen
    Von Maverrickf14 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.11.2008, 21:16
  3. Gleitpunktzahl umrechnen
    Von alonely01 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.10.2008, 09:53
  4. Geberwerte in U/min Umrechnen
    Von Thomed im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.06.2007, 08:52
  5. Adresse umrechnen
    Von Limbo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.11.2004, 17:37

Lesezeichen

Berechtigungen

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