
kamaroman68
USA
Asked
— Edited

Can someone look at this script and tell me what is missing? Ive tried several elseif, endif, combinations and can not make work? Thanks
:MonitorDistances
$leftsensor = getadc(adc5)
$topsensor = getadc(adc7)
$rightsensor = getadc(adc6)
if ($leftsensor 60)
ControlCommand("Script Manager ", ScriptStop, "forward_3_Seconds")
ElseIf
goto(MonitorDistances)
$leftsensor = getadc(adc5)
$topsensor = getadc(adc7)
$rightsensor = getadc(adc6)
if ($leftsensor <60)And ($rightsensor <60)
ControlCommand("Script Manager ", ScriptStop, "forward_3_Seconds")
ElseIf
if ($leftsensor >60)
ControlCommand("Script Manager ", ScriptStop, "forward_3_Seconds")
ElseIf
goto(MonitorDistances)
However in your script if either of the conditions are met the controlcommad executes the same forward_3_seconds Cheat Sheet command
Code:
Code:
or
Code:
With that.............
I am missing a very easy and fundamental part of programming with ez script...
I actually program allen Bradley, Schneider electric, and direct logic PLCs for a living in a factory environment. When there is a line of code that is not correct it will tell me exactly which line or lines are at fault. My error when doing "check syntax" kept giving me an error of missing end statements or something like that. I wasn't sure how to determine which line was causing the error. Is there such a function in ez script? I see the little orange lines in the script editor to the left of each line but what do those mean? Thanks again!
This is one of the main reasons that I like to make each script do one thing and only one thing as yours is doing. its when they get long and are doing many things that finding the missing (endif/endrepeat/endrepeatuntil/repeatwhile/endrepeatwhile/etc) becomes difficult.
Every if statement must have an endif even if there is an elseif between them
Code:
you can nest if statements like this
Code:
Code:
if you put this into the script, notice that there is a + sign next to the if statement.
there is a line down to the end if
there is a little line going right to the end if.
This lets you know which endif is going with which if. This will let you see that this is a complete block. if the line just keeps going, it isnt a complete block of code.
This will let you know that the endif is where you expect it to be.