Andy Roid
USA
Asked
— Edited
Resolved by DJ Sures!
I cannot get a variable range function to work.
[:loop sleep(1000) #get compass value print($CompassHeading) sleep(1000)
if ($CompassHeading = 145)
Print("Left") # this will actually be a GoTo to allow a motor speed trim value
# to be added or subtracted to the correct motor to get back on
#heading
endif
Goto(loop)]
I don't see any range examples in the If function list.
My actual script trims the heading. I will compare the current heading to an allowable value. if the value is within the limit it goes straight. If the deviation is more than or less than the acceptable limit values, it will add or subtract speed to the correct motor to return to the heading.
In the future, it will be easier to read if you place your code within [ code ] and [/ code ] tags (without the spaces)
Here's a screenshot of the UBB Code legend that's exactly to the right of the input form where you typed the message.
As for what i think you're asking, is to determine if a number is between two values? If so, the EZ-Script manual is the RIGHT of the code editor. The IF condition manual states this...
Here is an example that applies to your question...
You may wish to try Blockly (by pressing F9 or selecting the Blockly WORKSPACE from the TOP MENU). Blockly will help you create conditions and learn programming logic.
Here's a snapshot of the same code done in BLOCKLY
Here is a Blockly workspace example that you can load and try for yourself:CompassDirection.ezblockly
Load the example into Blockly by pressing the LOAD WORKSPACE button.
That answers the question. In PLC logic was a simplified Range function which I used a lot.
The new Blockly will help me get on track.
Yeah I screwed up loading the code example, but your reminder jogged the memory.
Thanks for the help.
Ron