2 Analogwerte und den höchsten anzeigen

ottopaul

Level-1
Beiträge
160
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
hat jemand eine Idee? ich hab 2 analog werte , die permanernt verglichen werden sollen. der höchste wert soll aber nur auf eine anzeige gegeben werden.
wie mache ich das?

danke im voraus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >=I   
      SPB   M01
      L     MW    12                    // Analogwert 2
      T     MW    14                    // Anzeigewert
      SPA   M02
M01:  L     MW    10                    // Analogwert 1
      T     MW    14                    // Anzeigewert
M02:  NOP   0

Gruß Kai
 
Oder noch etwas kürzer: :rolleyes:

Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >=I   
      SPB   M01
      L     MW    12                    // Analogwert 2
      SPA   M02
M01:  L     MW    10                    // Analogwert 1
M02:  T     MW    14                    // Anzeigewert

Gruß Kai
 
Oder noch etwas kürzer: :rolleyes:

Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >=I   
      SPB   M03
      SPA   M04
M03:  L     MW    10                    // Analogwert 1
M04:  T     MW    14                    // Anzeigewert

Gruß Kai
 
Zuviel Werbung?
-> Hier kostenlos registrieren
und wenn du es schick haben willst und in KOP/FUP programmierst, nimmst du den FC25 aus den IEC-Funktionen in der STandard-Library

Code:
Die Funktion FC 25 wählt aus drei numerischen Variablenwerten den größten
aus. Als Eingangswerte sind Variable vom Datentyp INT, DINT und REAL
zugelassen. Alle parametrierten Variablen müssen vom gleichen Datentyp
sein. Die Art der Variable wird über den ANY-Pointer erkannt.
Der Ausgangswert bleibt unverändert und das BIE*Bit wird auf ”0" gesetzt,
wenn:

·    eine parametrierte Variable einen unzulässigen Datentyp hat,

·    alle parametrierten Variablen untereinander nicht den gleichen Datentyp
haben,

·    eine REAL*Variable keine gültige Gleitpunktzahl darstellt.

Parameter    Deklaration    Datentyp    Speicherbereich    Beschreibung
IN1    INPUT    ANY     E, A, M, D, L    erster Eingangswert
IN2    INPUT    ANY    E, A, M, D, L    zweiter Eingangswert
IN3    INPUT    ANY    E, A, M, D, L    dritter Eingangswert
RET_VAL    OUTPUT    ANY    E, A, M, D, L    größter der Eingangswerte

CALL FC 25
    IN1            := P#M 10.0 DINT 1
    IN2            := MD20
    IN3            := P#DB1.DBX 0.0 DINT 1
    RET_VAL        := P#M 40.0 DINT 1

Beachten Sie:
Die zugelassenen Datentypen INT, DINT und REAL müssen im ANY-Pointer
angegeben werden. Paramter wie “MD20“ sind ebenfalls zulässig; dazu muß
“MD20“ aber in “Symbol“ mit dem entsprechenden Datentyp definiert
werden.
 
für Cracks...

Oder noch etwas kürzer: :rolleyes:

Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >=I   
      SPB   M03
      SPA   M04
M03:  L     MW    10                    // Analogwert 1
M04:  T     MW    14                    // Anzeigewert

Gruß Kai

oder noch etwas "AWL-mäßiger":
Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >=I   
      SPB   M03
      SPA   M04
M03:  [B]TAK[/B]                        // Analogwert 1 [B]aus akku2 zurückholen[/B]
M04:  T     MW    14                    // Anzeigewert
 
Und Hardcore

oder noch etwas "AWL-mäßiger":
Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >=I   
      SPB   M03
      SPA   M04
M03:  [B]TAK[/B]                        // Analogwert 1 [B]aus akku2 zurückholen[/B]
M04:  T     MW    14                    // Anzeigewert

Code:
      L     MW    10                    // Analogwert 1
      L     MW    12                    // Analogwert 2
      >I   
      SPBN M04
      [B]TAK[/B]                        // Analogwert 1 [B]aus akku2 zurückholen[/B]
M04:  T     MW    14                    // Anzeigewert

Wieso soll ich die Akkus tauschen wenn die Werte gleich sind?
 
Zurück
Oben