I am using a CRB 15000 with a omnicore controller. I’m running a code to pulsedo to a motor controller with a waittime. It looks like:
PROC main()
FOR i FROM 1 TO 1000 DO
PulseDO DO10;
waittime 500;
ENDFOR
ENDPROC
ENDMODULE
Every time it hits waittime it ask if I want to simulate the waittime on the controller and stop the program until I click ok. How do I get it to stop doing this?
For IRC5 there is a simulate parameter under the controller topic which can be set to 0 to disable the simulate dialog box. Poke around and see if it is still available on the omnicore.
Go to topic Controller, General Rapid and set SimulateMenu to No.
But sometimes you might want to keep the SimulateMenu for robot task, in that case you can do multiple smaller waittimes and the menu won’t show.
FOR i FROM 1 TO 5000 DO
waittime 0.1;
ENDFOR
Or you could use timer interrupt instead of locking the task in a waittime for 500 seconds.
MODULE Module1
VAR intnum inPulseSignal;
PROC main()
!Setup timer-trap
CONNECT inPulseSignal WITH trapSignalPulse;
ITimer 500,inPulseSignal;
!Timer will now run once every 500s without locking the task
WHILE TRUE DO
!Do different stuff
waittime 0.01;
ENDWHILE
ENDPROC
TRAP trapSignalPulse
PulseDO DO10;
ENDTRAP
ENDMODULE