Autor Thema: Kontrolle vom Skript fehlerhaft  (Gelesen 1357 mal)

Offline DerE4Jan

  • Newbie
  • *
  • Beiträge: 16
Kontrolle vom Skript fehlerhaft
« am: März 14, 2025, 08:41:12 Vormittag »
Guten Morgen,

im Prinzip geht es um eine Bedingung, wenn Wert X zwischen 20-30 liegt, kommt ein Signal, alles über 30 natürlich nicht.

Das Programm fühlt sich nun durch den Ausdruck then gestört. If ... then...else müsste doch eine gängige Bezeichnung sein, oder übersehe ich hier eine Kleinigkeit?

Habe mal ein Screenshot beigefügt.

Andere Skripte oder Ergänzungen sind natürlich gerne gesehen und man trifft sich bei der richtigen Lösung :)

Vielen Dank : )

Offline ELWMS

  • Full Member
  • ***
  • Beiträge: 108
  • 400er...500...800...e4...Galileo
Antw:Kontrolle vom Skript fehlerhaft
« Antwort #1 am: März 14, 2025, 09:20:57 Vormittag »
Hallo!

Warum setzt du die Zuweisung nach THEN in Klammern? Lass sie weg! bringt nix.

Gruß,

ELWMS
C64...ABB ACS100 bis 880...ABB SAL...EPLan P8...STEP7...300/400 & TIA... EASY E4... GALILEO... EATON SWD... SEW...STÖBER...AUTOSEN...IT...PROFIBUS...PROFINET

Offline DerE4Jan

  • Newbie
  • *
  • Beiträge: 16
Antw:Kontrolle vom Skript fehlerhaft
« Antwort #2 am: März 14, 2025, 09:24:41 Vormittag »
Hallo ELWMS,

okay habe ich geändert, danke! Jetzt meldet er Zuweisung oder Funktionsaufruf erwartet für then. ???

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 826
  • Think easy!
    • mollgruppe
Antw:Kontrolle vom Skript fehlerhaft
« Antwort #3 am: März 14, 2025, 13:16:18 Nachmittag »
Bitte auf die Bindungsstärken der Operatoren achten. Dann hast du hinter then den Doppelpunkt der Zuweisung vergessen. Hast do evtl zwischen der ersten Zeile und dem then kein Leerzeichen? Kann sonst nicht erkennen warum der Compiler meckert.
Es muss hier nicht unbedingt eine IF Anweisung sein. Eine normale Zuweisung tut es auch und ist kürzer.
0.M049_M064[51] := (2.Istwert_Drehzahl_Pumpe1 >= 20) and (
2.Istwert_Drehzahl_Pumpe1 =< 30);
« Letzte Änderung: März 14, 2025, 13:25:51 Nachmittag von radar17892 »
Weil Einfach einfach Einfach ist!

Offline DerE4Jan

  • Newbie
  • *
  • Beiträge: 16
Antw:Kontrolle vom Skript fehlerhaft
« Antwort #4 am: März 17, 2025, 08:04:46 Vormittag »
Hallo,

also mit den korrigierten Zeilen meldet er trotzdem einen Fehler.

Habe jetzt die Zuweisung genommen, =< auf <= geändert und es klappt super.

Vielen Dank und einen guten Start in die Woche

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 826
  • Think easy!
    • mollgruppe
Antw:Kontrolle vom Skript fehlerhaft
« Antwort #5 am: März 18, 2025, 12:41:38 Nachmittag »
Also der korrekte Audruck mit einer IF wäre so:

if ((Istwert_Drehzahl_Pumpe1 >= 20) and (Istwert_Drehzahl_Pumpe1 <= 30))
   0.M049_M064[51] := true;   
else
   0.M049_M064[51] := false;
endif


Das 'THEN' braucht es in Galileo nicht. Ich muss da auch immer umdenken weil ich es von ST anders gewöhnt bin.
Weil Einfach einfach Einfach ist!