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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Maxwerte vergleichen und als iO oder niO ausgeben

  1. #1
    Registriert seit
    03.09.2008
    Beiträge
    68
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi habe 8 Analogwerte, welche ich skaliere und die Höchstwerte dieser Analogwerte schreibe ich in einen DB. Jetzt habe ich noch einen DB indem ich für jeden dieser Analogwerte einen oberen und unteren Grenzwert reinschreibe. Nun müssen diese Analogen Messhöchstwerte in diesen Grenzwertbereichen liegen - dürfen also nicht größer oder kleiner als die vorgegeben Werte sein für "grenze niedrigstzulässiger wert" und "grenze höchstzulässiger wert". Wenn diese 8 Messwerte in den i.O. Bereichen liegen muss ich in einen DB schreiben TEIL i.O. und wenn darunter oder darüber Teil n.i.O.. Aber wichtig ist dass alle 8 Messwerte i.O. sein müssen damit ich sagen kann TEIL i.O.!!
    Ich hab im mom große Probleme dies auf eine einfache Art und Weise zu progarmmieren ohne dass ich 20000 Zeilen AWL schreiben muss.
    Hat jemand vielleicht ne Idee?
    Zitieren Zitieren Maxwerte vergleichen und als iO oder niO ausgeben  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Pinmaster Beitrag anzeigen
    Hat jemand vielleicht ne Idee?
    ja, einen FC mit den eingangsvariablen:

    wert
    obergrenze
    untergrenze

    und dem ausgang:

    i.o.

    ... so brauchst du die auswertung nur einmal programmieren und rufst die für deine acht werte acht mal auf ...

    die auswertung an sich ist einfach:

    ist eingang < kleiner als untergrenze oder eingang > obergrenze dann rücksetze ausgang i.o. ansonsten ausgang i.o. true

    das müßte mit, öhm, einem bruchteil von 20000 umzusetzen sein
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    03.09.2008
    Beiträge
    68
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe aber keine Ausgänge sondern muss in einen DB speichern den ich über Software auslese ob teil io oder nio
    Für jeden Analogwert gibt es eine extra Obere Grenze und Untere Grenze
    also insgesamt 16 Messwerte.

  4. #4
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Zitat Zitat von Pinmaster Beitrag anzeigen
    Ich habe aber keine Ausgänge sondern muss in einen DB speichern den ich über Software auslese ob teil io oder nio
    Für jeden Analogwert gibt es eine extra Obere Grenze und Untere Grenze
    also insgesamt 16 Messwerte.
    Der "Ausgang" kann auch ein Wert in einem DB sein, der so oder so gespeichert wird..
    Ausgang bedeutet nicht unbedingt A0.0 oder so.

    Gruss:
    V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Auswertung  

  5. #5
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    [.....] (da stand grad, wie sehr ich mich darüber aufrege, wer alles eine steuerung in die hände nehmen darf)

    ich meinte das so, und am ende sind es 20000/1538tel zeilen geworden:

    Code:
    *
    FUNCTION FC 5 : VOID
    TITLE =
    VERSION : 0.1
    
    
    VAR_INPUT
      rValue : REAL ;    
      rHighLimit : REAL ;    
      rLowLimit : REAL ;    
    END_VAR
    VAR_OUTPUT
      xLimitOk : BOOL ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =Output reset
    
          SET   ; 
          R     #xLimitOk; 
    NETWORK
    TITLE =Check value
    
          U(    ; 
          L     #rValue; // if (value 
          L     #rLowLimit; // >= low)
          >=R   ; 
          )     ; 
          U(    ; // and
          L     #rValue; // (value
          L     #rHighLimit; // <= high)
          <=R   ; 
          )     ; // then
          =     #xLimitOk; // limitOk := True
    END_FUNCTION
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Pinmaster (11.09.2008)

  7. #6
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    [.....] (da stand grad, wie sehr ich mich darüber aufrege, wer alles eine steuerung in die hände nehmen darf)
    @Vierlagig

    Hör mal, in Deinem Alter hatte ich um die Zeit andere Sachen im Kopf.
    Dein Code ist zwar schön, aber ich Denke... im Bezug auf die Qualität der Fragestellung irgendwie "Perlen vor die Säue geschmißen".

    Nur mal so am Rande .

  8. #7
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von jabba Beitrag anzeigen
    @Vierlagig

    Hör mal, in Deinem Alter hatte ich um die Zeit andere Sachen im Kopf.
    Dein Code ist zwar schön, aber ich Denke... im Bezug auf die Qualität der Fragestellung irgendwie "Perlen vor die Säue geschmißen".

    Nur mal so am Rande .
    nur mal so am rande:

    danke für die blumen!

    im kopf hab ich grad: wie halt ich die acht stunden durch ohne beim sensorwechsel einzuschlafen oder wegen müdigkeit den motor falsch anzuklemmen oder beim fehler suchen mit geschlossenen augen durch die anlage und programme zu irren ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #8
    Registriert seit
    03.09.2008
    Beiträge
    68
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Tut mir leid, dass ich noch keine 20 Jahre berufserfahrung habe, sondern nur 2.

  10. #9
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Pinmaster Beitrag anzeigen
    Tut mir leid, dass ich noch keine 20 Jahre berufserfahrung habe, sondern nur 2.
    biete 3 (offiziell )
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  11. #10
    Registriert seit
    03.09.2008
    Beiträge
    68
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Außerdem wie kann ich diesen Code jetzt anwenden ? Wo schreib ich den rein?

Ähnliche Themen

  1. Achsbewegung (REAL oder INT) in BOOL ausgeben
    Von MunoRodriguez im Forum CODESYS und IEC61131
    Antworten: 22
    Letzter Beitrag: 26.09.2011, 20:44
  2. Byte vergleichen oder alternative?
    Von Max-Schulz im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.05.2009, 12:58
  3. OP 3 Flanke ausgeben
    Von vecoplaner im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 07.12.2007, 15:13
  4. Werte in BCD ausgeben
    Von SPS-Linksfuß im Forum Simatic
    Antworten: 40
    Letzter Beitrag: 22.08.2006, 11:04
  5. 1-10 ausgeben
    Von IchwillspsKönnerwerden im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.01.2006, 15:33

Lesezeichen

Berechtigungen

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