easy-forum
Deutsch - Software => easySoft => Thema gestartet von: Heiko09 am September 22, 2019, 20:35:35 Nachmittag
-
Hallo,
Nach vielen Jahren versuche ich in einem Programm eine bedingte Arithmetik einzubauen.
Ziel: Analogeingang1 soll um 10 veringert werden, wenn Analogeingang2 < 200 ist.
val1=A1
val1=(val1-10) if A2<200
Folgende Testschaltung habe ich probiert:
- testar1
-----------------
| |
I01 A01Q1
| |
| M1
| |
| AR01CY
| |
M1 D01
----------------
Aber AR01 wird immer ausgeführt, unabh.
ob M1 ein oder aus ist.
Hat jemand ein Lösungsvorschlag?
Bsp. wenn mögl. als e40.
Danke Heiko
Easy819-DC-RCX
Easy-soft5
-
Hallo Heiko,
so wie ich die Alten Steuerungen kenne, wird der Baustein AR ohne Bedingung ausgeführt.
Bei der neuen Easy E4 kann das anders eingestellt werden.
Mein Lösungsansatz .
Im Baustein AR als Wert zum Subtrahieren statt einer Konstante ein MW / MB auswählen.
Zwei Vergeblicher Verwenden
Wenn Analogeingang2 < 200 dann mit einem Datenbaustein 10 als Wert zum MW oder MB senden.
Wenn Analogeingang2 > 199 dann mit einem Datenbaustein 0 als als Wert zum MW oder MB senden.
Berücksichtigen solltes du, das bei einem Wert von 9 Analogeingang1 -10 ,ein negativer Wert möglich ist (Geht jedoch nicht mit einem MW nur ein MD kann das.)
Da wäre möglicherweise eine Zusätzliche Bedingung nötig.
-
Hallo,
es geht auch mit einem Vergleicher.
Siehe PDF Anlage.
Bei Win 10 geht die Easy Soft 5 nicht.
Das kleine Programm kannst du von Hand eingeben.
Sorry, gerade gesehen das ich die falsche Easy genommen habe.
Hat auf die Funktion keinen Einfluss
-
Vielen Dank!
Das Bsp. in "Analogwerte berechnen Forum.pdf" hat dann funktioniert.
Man muss nur drauf achten, dass die DB wechselseitig arbeiten.
Dazu muss DB01Q1 als Öffner beschalten werden.
Nochmals Danke!
Heiko