easy-forum
Downloadbereich => easySoft => Anwenderbausteine - Beispiele => Thema gestartet von: Juergen am Januar 16, 2020, 23:55:05 Nachmittag
-
Hallo zusammen, :)
ich habe ein Programm in FUP mit einen UF in ST geschrieben.
Einem Timer werden mit 6 Merkern verschiedene Zeiten zugewiesen.
Der UF ist nicht nur für Timer zu verweden.
Ist erst mein 2 Versuch in ST, also Baustein Prüfen.
Anders als in FUP mit DB Übergabe, kann hier die Zeit als Timer Konstante angegeben werden.
Erspart das Rechnen.
-
… schönes Beispiel, den letzten CASE Block könnte man IMHO mit
Q1 := MB01 > 0;
ersetzen.
-
Danke für die Rückmeldung, :)
ja da könnt es noch Optimiert werden.
Da der Baustein auch für andere Anwendungen wie Timer ist, hatte ich zuerst 0 auch als gültigen Wert
Eingebaut. Da habe ich es so gelassen, damit nicht so viel zu ändern ist falls 0 gültig ist.
Auch wenn 2 Merker eingeschaltet sind, ist zum Beispiel 3 kein gültiger Wert obwohl > 0
Das ist ein Unterschied mit Bit Merker zu einer Version mit Byte Merker zur Ansteuerung von einem anderen Wert.
Ich wollte mir einen 2 Baustein zur Umrechnung Bit in Byte Sparen.
-
… ist ein Argument!
Q1 := TRUE;
CASE MB01 OF // Zahlenwerte im MB 1 für die Auswertung
1: QA1 :=IA1; //Bei Zahlenwert 1, Wert von IA1 an den Ausgang zuweisen.
;
;
32: QA1 :=IA6; //Bei Zahlenwert 32, Wert von IA6 an den Ausgang zuweisen.
ELSE
QA1 := 0; // Wenn kein Eingang exklusive gültig vorliegt Wert 0 dem Ausgang zuweisen.
Q1 := FALSE;
END_CASE;
-
Hallo,
danke für die Antwort,
ich hatte auch Verscheidene Wege mit einer Anweisung in Case und Else versucht.
Ich hatte es nicht Geschaft
Ist Q1:= FALSE;
die einzige Änderung von dir?
Hatte ich auch schon. Geht irgendwie nicht.
Anderes Thema
Wie fühgst du aus Easy-Soft den Code ein.?
Bei mir Kopiert Easy-Soft nur innerhalb vom Baustein und nicht hier ins Forum oder in ein Dokument ..
-
...
-
… vor der 1. Case Anweisung Q1 auf TRUE setzen
PS: Der MX ist auch eine Möglichkeit ...
-
Danke für den Hinweis. :)
Jetzt geht es. Hier die neue Version
PS: Der MX ist auch eine möglichkeit ...
Habe den MX in FUP Versucht. Der Akzeptiert keine Timer Konstante.
Da ist dann wieder zu Rechnen auf die Kleinere Zeitbasis ...
Bei Timer Werten nicht so Übersichtlich.
Edit, es geht doch mit dem Mx das macht es viel einfacher.
Wichtig den MX in einem UF packen und über einen IA den Wert zuweisen.
Anders direkt im Hauptprogramm habe ich nur eine Fehlermeldung
War dann nur eine Übung mit ST