Autor Thema: Beregnungsprogramm Tennisplätze  (Gelesen 6436 mal)

Offline schreatza

  • Newbie
  • *
  • Beiträge: 14
Beregnungsprogramm Tennisplätze
« am: Juli 13, 2021, 20:49:25 Nachmittag »
Hallo zusammen!

Ich bin Neueinsteiger in ST-Programmierung. Das Programm soll die Steuerung der Beregnung von 6 Tennisplätzen übernehmen. Programmiert ist bisher nur die "Handauslösung" der Öffnung der Magnetventile über den Eingang I17 (hier bisher natürlich nur die Öffnung EINES Magnetventils für einen Platz... I17...). Die Beregnung läuft für 10 Sekunden. Die Eingänge I23 und I31 sind Stopp-Taster (Öffner), um das Programm (eventuell) vorzeitig zu stoppen.
Die Beregnungsdauer wurde über den selbsterstellten Timer-Funktionsbaustein "Erfolg3" realisiert. Hier nun mein Problem: Der Start des Timerbausteins wird vom Hauptprogramm richtig an den Funktionsbaustein übergeben. Dieser läuft auch die 10 Sekunden durch. Er lässt sich auch (vorzeitig) mit den Stopp-Tastern (Öffner) beenden. Danach bleibt der Funktionsbaustein "stehen".
Mir ist es bisher nicht gelungen, entweder die Merker des Funktionsbausteines wieder zurückzusetzen und/oder die Bearbeitung vom Funktionsbaustein wieder an das Hauptprogramm zuruckzugeben, damit der Timerbaustein danach wieder "scharf" ist und auf die nächste "Auslösung" warten kann...
Hat da jemand eine Idee?
Programm ist als ZIP dabei.

FW: 1.30, easySoft: 7.30

Offline Eulhofer

  • Full Member
  • ***
  • Beiträge: 107
  • Man ist nie zu alt neue Dummheiten zu begehen...
Antw:Beregnungsprogramm Tennisplätze
« Antwort #1 am: Juli 14, 2021, 13:23:38 Nachmittag »
Hallo schreatza,

ich bin zwar auch nicht so fit in ST, aber mir ist was aufgefallen - und hoffe, es hat was mit Deinem Problem zu tun:

Du übergibst Deinem UF vier digitale Informationen (I1-4) und erwartest eine digitale Information zurück (Q1).
Im UF schreibst Du hinter Deinem Returnbefehl als Kommentar, dass Du die Werte von M2 und M3 zurückgibst.
Wohin gibst Du sie denn? Meines Wissens sind alle M, MB, MW, die in einem UF genutzt werden lokale Variablen und für das den UF aufrufende Programm nicht sichtbar. Die globalen M2 und M3 können also völlig andere Zustände haben.
Meines Erachtens musst Du Deinem UF noch so viele digitale Ausgänge spendieren, wie Du Informationen von ihm haben möchtest. Ggf. könnte man die Zustände von einigen der lokalen Merkern als Bitfolge in ein MB oder MW bündeln und entsprechend aus dem UF ins aufrufende Programm geben (und dann wieder extrahieren). Aber wenn es nur ein paar Zustände sind, dann geht das sicher einfacher mit eigenen UF-Ausgängen.

Wie gesagt - ich kenne mich in ST nicht aus, aber wenn ich die Abarbeitung in anderen Darstellungsarten (FUP, KOP) vergleiche, dann könnte das vielleicht die Ursache für Deine Fragestellung sein...

Viele Grüße,
Wolfgang
Erste Gehversuche mit der EasyE4 - nachdem ich jahrelang auf der Schneider/Telemecanique TSX-Micro programmiert habe....

Offline Juergen__R

  • Full Member
  • ***
  • Beiträge: 272
  • I love easy-Forum.net
Antw:Beregnungsprogramm Tennisplätze
« Antwort #2 am: Juli 18, 2021, 16:34:30 Nachmittag »
.... ich habe da mal ein vor Jahren angefertigtes Programm angehängt.

Vielleicht ist es für den Zweck brauchbar oder kann entsprechend abgeändert werden!

Schöne Grüße, Jürgen


Offline schreatza

  • Newbie
  • *
  • Beiträge: 14
Antw:Beregnungsprogramm Tennisplätze
« Antwort #3 am: Juli 18, 2021, 16:49:51 Nachmittag »
Hallo Jürgen, und Eulhofer für Eure Bemühungen!

Ich komme erst morgen Abend wieder dazu, an der Programmierung weiter zu machen. Dann schau ich mir auch das Programm von Jürgen an...

Nochmals: Vielen Dank Euch beiden!!!


Grüße schreatza