Maxwerte vergleichen und als iO oder niO ausgeben

Pinmaster

Level-1
Beiträge
68
Reaktionspunkte
0
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?
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Auswertung

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.
 
[.....] (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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
[.....] (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 :ROFLMAO:.
 
@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 :ROFLMAO:.

nur mal so am rande:

danke für die blumen! :D

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 ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab nie gesagt, dass ich ein Programmierer bin. Ich bin Elektriker.

Wenn du natürlich solche (relativ einfachen) Dinge programmieren willst, dann solltest du schon ein bißchen programmieren können. Ich bin kein Fan der Kommentare von Johnij, aber in diesem Fall hat er Recht ...

Zu deinem Problem :
Das Programm-Beispiel von Vierlagig ist eigentlich ziemlich einfach und aussagekräftig gehalten. Ich würde sogar soweit gehen, zu sagen, dass jedes weitere Beispiel mit sehr großer Wahrscheinlichkeit komplizierter ist wie das. Vielleicht setzt du dich mal damit auseinander. Ansonsten würde ich dir zunächst eine Schulung empfehlen ...

Gruß
LL
 
Naja die sache ist nur ich kann schon ein bisschen programmieren hab den Quellcode in FUP übersetzt und hab das auch so schon oft angewendet. In AWL ist das natürlich Prestige :)
Aber ich kann auch nur einfachen AWL code programmieren bis jetzt, solche AWL Quellen hab ich noch nie erstellt und sehe auch diese Befehle die in dem Quellcode kommen zum ersten mal in`Verbindung mit AWL kannte das so bzw so ähnlich nur von C++.
Ein bisschen mehr Einsicht bei manchen Usern des Forums, dass nicht alle schon so viel Ahnung haben können wie sie selbst, wäre angebracht . DANKE
 
Zurück
Oben