Autor Thema: Verkettung von zeitlichen Abfolgen  (Gelesen 2166 mal)

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Verkettung von zeitlichen Abfolgen
« am: Juli 11, 2024, 07:54:07 Vormittag »
Guten Morgen zusammen

Meine letzten Tätigkieten mit der easysoft sind leider schon echt lange her und ich tappse ein wenig auf der Stelle.
Daher würde ich michs ehr darüber freuen wenn mir jemand helfen könnte.


Im Prinzip benötige ich eine Abfolge von 3 Zeiten zur Betätigung von zwei Aktoren.

Die Abfolge besteht aus:

•Zeit 1: Schalte Aktor 1
•Zeit 2: Schalte Aktor 1 und Aktor 2
•Zeit 3: Schalte Aktor 1

Beispiel:

•200 ms Aktor 1, anschließend
•500 ms Aktor 1 und Aktor 2 gleichzeitig, anschließend
•300 ms Aktor 1

Die Gesamtzeit beträgt also 1000 ms.

Diese Zeiten (Timerkonstanten) möchte ich später über das Display einstellen können. Habt ihr zufällig ein Beispielprogramm zur Hand? Ich bin nach der langen Zeit leider nicht mehr so vertraut mit der Thematik. Ich denke das wird über T-Glieder mit Timerkonstatnten auf I1 realisiert. Mit fällt es nur etwas schwer die Verkettung auf die Reihe zu bekommen.

Ich priorisiere FUP!

Ich bedanke mich schonmal vorab und wünsche einen guten Start in den Tag!

Grüße
« Letzte Änderung: Juli 11, 2024, 09:10:35 Vormittag von Kahmui »

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #1 am: Juli 11, 2024, 08:21:40 Vormittag »
Hi Kahmui,

bleibt noch die Frage in welcher easySoft Version?

Gruß

Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #2 am: Juli 11, 2024, 08:55:29 Vormittag »
Guten Morgen

Ich habe gerade eben auf easysoft 8.11 aktualisiert. Als Firmware nutze ich 1.10

Grüße
« Letzte Änderung: Juli 11, 2024, 11:45:16 Vormittag von Kahmui »

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #3 am: Juli 11, 2024, 10:18:51 Vormittag »
Ich habe es jetzt aktuell über einen Merker mit negativer Flanke nach dem Zeitrelais gelöst (siehe Anhang). Gibt es auch eine etwas "charmantere" Lösung?

Ist es jetzt ohne großen Aufwand möglich die 3 eingestellten Zeiten zu addieren und somit den Gesamttakt auszugeben? Ich bekomme es nur über Umwege hin.
« Letzte Änderung: Juli 11, 2024, 11:45:51 Vormittag von Kahmui »

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #4 am: Juli 11, 2024, 13:04:43 Nachmittag »
Hi Kahumi, ich hätte es so gelöst, mit einer UF in der folgendes steht:

//Gesamtzeit ermitteln
MW2:= IA1 + IA2 + IA3;
//Timeransteuerung, wird resettet wenn Timer abgelaufen
M01 := M01 OR I01;
IF T01Q1 THEN M01:= false; END_IF;
T01 (
   EN := M01,
   RE := ,
   ST := ,
   I1 := MW2,
   I2 := ,
   Q1 => ,
   QV => );
//Q01 ein Wenn Timer läuft   
Q01:= T01QV > 0;
//Q02 dazuschalten wenn Zeit2 läuft
Q02:= Q1 and (T01QV > IA1) and (T01QV < (IA1 + IA2));

UF mit einem Digitaleingang und 3 analogen für die Zeit

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #5 am: Juli 12, 2024, 10:00:39 Vormittag »
Hi Kahumi, ich hätte es so gelöst, mit einer UF in der folgendes steht:

//Gesamtzeit ermitteln
MW2:= IA1 + IA2 + IA3;
//Timeransteuerung, wird resettet wenn Timer abgelaufen
M01 := M01 OR I01;
IF T01Q1 THEN M01:= false; END_IF;
T01 (
   EN := M01,
   RE := ,
   ST := ,
   I1 := MW2,
   I2 := ,
   Q1 => ,
   QV => );
//Q01 ein Wenn Timer läuft   
Q01:= T01QV > 0;
//Q02 dazuschalten wenn Zeit2 läuft
Q02:= Q1 and (T01QV > IA1) and (T01QV < (IA1 + IA2));

UF mit einem Digitaleingang und 3 analogen für die Zeit

Gruß Thomas

Okay, danke für den Lösungsansatz. Da muss ich gestehen es nicht wirklich zu verstehen. Gibt es keine Lösung mittels FUP?

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #6 am: Juli 12, 2024, 11:26:28 Vormittag »
Du solltest den Code in einer UF verwenden. Leg dir doch einfach einen eigenen Baustein an und füge den Code ein.
Diese UF kannst du wie einen Herstellerbaustein in deinem FUP Hauptprogramm einfügen.
Aber OK, ich versuche es mal in FUP.
Wenn du Keine UF verwendest, musst du die entsprechenden Merker/TimerNr anpassen.
Weil Einfach einfach Einfach ist!

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #7 am: Juli 12, 2024, 11:31:27 Vormittag »
Ich habe nun denke ich verstanden was du meinst.

Zitat
UF mit einem Digitaleingang und 3 analogen für die Zeit

Den Teil hatte ich nicht nachvollziehen können. Um den UF zu verwenden müssen ja Ein-/Ausgänge deklariert werden. Die gedankliche Brücke hatte mir gefehlt :)
Ich habe allerdings noch irgendwo einen Fehler. Wie kann ich den Gesatmwert nun abgreifen?

Edit: Hab es mal selbst versucht.
MW2:= IA1 + IA2 + IA3; geändert in QA1:= IA1 + IA2 + IA3;

« Letzte Änderung: Juli 12, 2024, 11:48:56 Vormittag von Kahmui »

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #8 am: Juli 12, 2024, 12:24:50 Nachmittag »
Nein, es braucht keinen Analogausgang. Das MW2 wird nur innerhalb der UF verwendet.
Zitat
Wenn du Keine UF verwendest, musst du die entsprechenden Merker/TimerNr anpassen.

Hab dir mal eine FUP Schrittkette gebastelt.
Weil Einfach einfach Einfach ist!

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #9 am: Juli 12, 2024, 12:30:23 Nachmittag »
Wenn du die Gesamtzeit nach außen geben willst schon. Lege am UF noch einen QA an.
Dann ergänze einfach:
//Gesamtzeit ermitteln
MW2:= IA1 + IA2 + IA3;
QA1:= MW2;
...
Weil Einfach einfach Einfach ist!

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #10 am: Juli 12, 2024, 13:02:51 Nachmittag »
Vielen Dank für die Hilfe. Es klappt nun alles wie es soll. Siehe Anhang!

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #11 am: Juli 12, 2024, 13:43:37 Nachmittag »
Das ist doch doppelt gemoppelt. probier es mal so:
Weil Einfach einfach Einfach ist!

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #12 am: Juli 15, 2024, 08:14:57 Vormittag »
Wow. das ist natürlich sehr übersichtlich. Vielen Dank Radar :)
Habe noch einen Merker als Initiator ergänzt der dafür sorgt, dass der Vorgang nur bei negativer Flanke von I1 oder Taste-Del startet.

I1 oder DEL ----> N M01

Abschließend noch eine Frage. Bei deinem Beispiel ist ja kein Wert vorgegeben. Wie kann ich einen Defaultwert von z.B. 200 / 500 / 200 ms in die MW setzen?
« Letzte Änderung: Juli 15, 2024, 09:24:29 Vormittag von Kahmui »

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #13 am: Juli 15, 2024, 10:36:20 Vormittag »
Die Merkerworte sind remanent eingestellt. Du musst nur einmal die Werte in der E4 einstellen. Dazu ist die Textanzeige da, oder du machst es online direkt in die MW 510-512.

Gruß Thomas
« Letzte Änderung: Juli 15, 2024, 10:48:09 Vormittag von radar17892 »
Weil Einfach einfach Einfach ist!

Offline Kahmui

  • Jr. Member
  • **
  • Beiträge: 40
Antw:Verkettung von zeitlichen Abfolgen
« Antwort #14 am: Juli 15, 2024, 10:40:37 Vormittag »
Alles klar und besten Dank! Dann mache ich mich jetzt mal an die Hardware  ;)