21. Februar 2019, 18:54:59
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] Mehrere Bedingungen, Fehlermeldung "Operand oder Ausdruck erwartet"


normal_post Autor Thema: [offen] Mehrere Bedingungen, Fehlermeldung "Operand oder Ausdruck erwartet"  (Gelesen 1155 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

12. Juli 2018, 08:42:31
Gelesen 1155 mal
Offline

tamara


Guten Morgen,
kurze Info : ich bin Neuling in der Welt der Roboter, habe aber ein gutes programmiertechnisches Verständnis.
Ich bin jetzt bei der KRL Programmierung auf eine Merkwürdigkeit gestoßen. Und zwar bekomme ich es nicht hin, sei es bei STOP WHEN PATH [...] IF [...] oder bei INTERRUPT [...] WHEN [...] zwei Bedingungen abzufragen. WorkVisual sagt alles okay, aber am Panel lässt sich die Datei nicht anwählen "Operand oder Ausdruck erwartet..".
Wer kann mir sagen, was ich hier falsch mache?
INTERRUPT DECL 10 WHEN ((DI_MorOutDAST10==TRUE) AND (DI_MorOutDAST20==TRUE)) DO STOP_ROB()
Danke!
  • gefällt mir    Danke

Heute um 18:54:59
Antwort #1

Werbung

Gast

12. Juli 2018, 08:46:59
Antwort #1
Offline

Loipe


$CYCFLAG[10] = DI_MorOutDAST10 AND DI_MorOutDAST20INTERRUPT DECL 10 WHEN $CYCFLAG[10] DO STOP_ROB()
logisch verknüpfen geht bei der Interrupt deklarierung nicht.
das kannst du über ein zyklisches Flag machen.

Gruß Loipe
  • gefällt mir    Danke
wer das hier liest hat zuviel zeit oder einen viel zu großen bildschirm

12. Juli 2018, 09:00:32
Antwort #2
Offline

tamara



$CYCFLAG[10] = DI_MorOutDAST10 AND DI_MorOutDAST20
INTERRUPT DECL 10 WHEN $CYCFLAG[10] DO STOP_ROB()
Gilt dann vermutlich auch für STOP WHEN PATH? Laut Doku sollte in beiden Fällen "eine einfache logische Verknüpfung: NOT, OR, AND 
oder EXOR" möglich sein!?

Und wo deklariere ich dieses Flag am besten? In der main, wo ich auch den Interrupt deklariere?
  • gefällt mir    Danke

12. Juli 2018, 09:05:55
Antwort #3
Offline

Loipe


Ich weiß jetzt nicht wirklich was du mit "Stop when Path" meinst. 

Cycflag kannst beschreiben wie und wann du willst. 
Deklariert ist das schon einfach verwenden. Kannst auch im laufen die bedingung einfach ändern die den interrupt auslöst. Oder mal Cycflag[10]=true zum deaktivieren
wer das hier liest hat zuviel zeit oder einen viel zu großen bildschirm


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH