IF-Anweisung

  • Hallo liebes Forum,


    ich bin noch relativ neu in der Roboter-Welt und habe noch nicht so viel Erfahrung mit der Programmierung.
    Ich will in einem Programm zwei Werte abfragen und dann je nach Ergebnis auf verschiedene Stellen im Programm springen.

    Es sollen 2 Variablen abgefragt werden (V496! & V497! –> diese können nur 1 oder 0 sein)
    Wenn beide Variablen = 1 sind soll das Programm auf Satz Nr. 9 (Bewegung) springen.
    Wenn eine oder beide Variablen = 0 sind, soll das Programm auf Satz Nr. 18 (END) springen.
    Bisher sieht mein Programm so aus:


    IF V496! = 1
    IF V497! = 1
    JMP[9]
    ELSE
    JMP[18]
    ENDIF
    ENDIF


    Allerdings funktioniert das noch nicht so wie es soll.
    Hat jemand eine Idee wie man die Befehle schreiben muss/kann?


    PS: Aus Matlab, etc. kenne ich es, dass man auch in etwa so schreiben kann:
    IF V496!=1 && V497!=1
    Geht das bei Nachi auch irgendwie?



    Vielen Dank schon mal im Voraus
    scholl123

  • Moin Scholl,


    die Abfrage nach "ist gleich 1" wird in unterschiedlichen Programmiersprachen als "= 1" oder "== 1" geschrieben.
    Eine logische Abfragen wird in unterschiedlichen Programmiersprachen als "x & y", "x && y" bzw. "x AND y" geschrieben.


    Teste mal die verschiedenen Möglichkeiten, d.h. ...


    [size=1][font=verdana, sans-serif]IF (V496! = 1 & V497! = 1)[/font][/size]
    [size=1][font=verdana, sans-serif]IF (V496! = 1 && V497! = 1)[/font][/size]
    [size=1][font=verdana, sans-serif]IF (V496! = 1 AND V497! = 1)[/font][/size]


    ... bzw ...


    [size=1][font=verdana, sans-serif]IF (V496! == 1 & V497! == 1)[/font][/size]
    [size=1][font=verdana, sans-serif]IF (V496! == 1 && V497! == 1)[/font][/size]
    [size=1][font=verdana, sans-serif]IF (V496! == 1 AND V497! == 1)[/font][/size]


    Irgendeine Version davon sollte funktionieren. ;)


    Gruß
    Jörn

    In der Theorie sind Theorie und Praxis identisch. In der Praxis nicht.

  • Hallo Scholl,


    der richtige Befehl für die IF-Anweisung in deinem Fall ist
    IF ([size=1][font=verdana, sans-serif]V496! = 1 and [/font][/size][size=1][font=verdana, sans-serif]V497! = 1)
    [/font][/size][size=1][font=verdana, sans-serif]JMP(9)
    [/font][/size][size=1][font=verdana, sans-serif]ELSE
    [/font][/size][size=1][font=verdana, sans-serif]JMP(18)
    [/font][/size][size=1][font=verdana, sans-serif]ENDIF[/font][/size]
    [size=2][font=Arial, sans-serif]Björn Gentsch
    [/font][/size][size=2][font=Arial, sans-serif]NACHI EUROPE GmbH[/font][/size][size=2][font=Arial, sans-serif] | Bischofstr. 99 | DE-47809 Krefeld, Germany
    [/font][/size][size=2][font=Arial, sans-serif]Phone: +49 (0)2151 7843338 [/font][/size][size=2][font=Arial, sans-serif]|[/font][/size][size=2][font=Arial, sans-serif] Mobile: +49 (0)172 / 1775455 [/font][/size][size=2][font=Arial, sans-serif]|[/font][/size][size=2][font=Arial, sans-serif] Fax: +49 (0)2151-7843332
    [/font][/size][size=2][font=Arial, sans-serif]E-Mail: [/font][/size]gentsch@nachi.de[/font][/size][/email][size=2][font=Arial, sans-serif] | Internet: [/font][/size][size=2][font=Arial, sans-serif]www.nachi.de[/font][/size]

    Es ist nicht einfach Ich zu sein aber irgend jemand muss es ja tun.<br /><br /><br />Björn Gentsch <br />Robotics Division<br /><br />NACHI EUROPE GmbH | Bischofstr. 99 |&nbsp; DE-47809 Krefeld, Germany<br />Phone: +49 (0)2151 7843338 |&nbsp; Mobile: +49 (0)172 / 1775455&nbsp; | Fax: +49 (0)2151-7843332<br />E-Mail: gentsch@nachi.de |&nbsp; Internet: http://www.nachi.de