easy-forum

Downloadbereich => easySoft => Anwenderbausteine - Beispiele => Thema gestartet von: Juergen am Januar 16, 2020, 23:55:05 Nachmittag

Titel: Verschiedene Zeitwerte einem Timer zuweisen
Beitrag 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.
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: weiss_nix am Januar 17, 2020, 00:12:22 Vormittag
… schönes Beispiel, den letzten CASE Block könnte man IMHO mit Q1 := MB01 >  0;ersetzen.
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: Juergen am Januar 17, 2020, 00:21:03 Vormittag
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.
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: weiss_nix am Januar 17, 2020, 00:57:04 Vormittag
… 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;
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: Juergen am Januar 17, 2020, 01:11:55 Vormittag
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 ..
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: weiss_nix am Januar 17, 2020, 01:22:31 Vormittag
...
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: weiss_nix am Januar 17, 2020, 01:27:10 Vormittag
… vor der 1. Case Anweisung Q1 auf TRUE setzen

PS: Der MX ist auch eine Möglichkeit ...
Titel: Antw:Verschiedene Zeitwerte einem Timer zuweisen
Beitrag von: Juergen am Januar 17, 2020, 02:01:31 Vormittag
Danke für den Hinweis. :)
Jetzt geht es. Hier die neue Version

Zitat
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