-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - dast

#2
Zitat von: Tobias T. in 13. Juni 2016, 09:07:24
So, habe mir nun was eigenes gebaut. Werde das heute Abend noch ein wenig verfeinern und kann es bei Bedarf gerne zur Verfügung stellen.
Ansonsten kann dieser Fred geschlossen werden.
Kannst du deine Umsetzung vielleicht hier posten? Danke!
#3
Bestehende Module / Existing Modules / Bug in DIMM_I?
11. September 2015, 10:14:40
Kann es sein, dass sich im Funktionsblock DIMM_I ein kleiner Fehler eingeschlichen hat.

Wenn ich nach dem Kommentar gehe sollten die folgenden beiden Zeilen

...
(* set direction to up when value < 127 otherwise set dir down dir is reversed because next action will reverse again *)
dir := out > 127;
...
(* set the appropriate direction of dimmer dir is reversed because next action will reverse again *)
dir := out > 127;

wohl so

...
(* set direction to up when value < 127 otherwise set dir down dir is reversed because next action will reverse again *)
dir := out >= 127;
...
(* set the appropriate direction of dimmer dir is reversed because next action will reverse again *)
dir := out >= 127;

oder so lauten

...
(* set direction to up when value < 127 otherwise set dir down dir is reversed because next action will reverse again *)
dir := NOT(out < 127);
...
(* set the appropriate direction of dimmer dir is reversed because next action will reverse again *)
dir := NOT(out < 127);

, oder?

Weil, was wenn out genau 127 ist?!
Dann ist sowohl out > 127 als auch out < 127 FALSE.

Und sollte die Grenze vielleicht nicht sogar bei 128 liegen, damit das ganze schön symmetrisch ist?
#4
Hab mir gerade den Funktionsblock CLICK_MODE angesehen ...
Hat es einen Grund warum der Eingang hier nicht entprellt wird? Oder seh ich es einfach nicht?
#5
Liebe OSCAT-Gemeinde,

es scheint so als ob der SWITCH_I Funktionsblock aus der Building Library ein Problem hat, wenn der SPS-Timer überläuft:

Meines Erachtens sollten wie z.B. beim letzten IF
  IF Q AND T_on_max > t#0ms AND Tx >= T_on + T_on_max THEN
  Q := FALSE;
  END_IF;
der Vergleich der Zeitmerker folgendemaßen aussehn:
  IF Q AND T_on_max > t#0ms AND Tx - T_on >= T_on_max THEN
  Q := FALSE;
  END_IF;


Die Differenz von zwei Zeitwerten (Tx - T_on) sollte doch immer passen, egal ob es einen Überlauf gegeben hat oder nicht (siehe auch Timer Überlauf).
Oder liege ich da falsch?

LG Daniel.