11-11Fibre-Optic Network
Network Programming
Trio Motion Technology
readkey:
WAIT UNTIL KEY#3
GET #3,VR(100)
IF VR(100)<>20 THEN GOTO readkey
PRINT #10,"G";
WAIT UNTIL VR(200)=999
moves: 'Main motion routine
initax: 'Initialisation routine
The program on the two axis node could be as follows:
readinit:
IF NOT(KEY#4) THEN GOTO readinit
GET #4, VR(100)
IF VR(100)<>73 THEN GOTO readinit
GOSUB initax
SEND(11,1,200,99)
readsp:
IF NOT(KEY#4) THEN GOTO readsp
SPEED=VR(1)
GET#4,VR(100)
IF VR(100)<>71 THEN GOTO readsp
SEND(11,1,200,999)
moves: 'Main motion routine
initax: 'Initialisation routine
The previous example highlights a couple of useful points:
1)
The Motion Coordinator that is not controlling the membrane keypad must not
transmit anything to or via the keypad until the keypad has been set into network
mode by issuing the
SEND
command to give its keypad offset. This example uses
a simple form of handshaking by setting variables and sending characters to pre-
vent this situation but another alternative is for the controlling Motion Coordina-
tor to issue the
SEND
command on the first line of its program and for all other
Motion Coordinators in the network to have a delay at the start of their program
to allow time for the membrane keypads to be initialised.
2)
When using the
GET
# command it is a good idea to test for the buffer being empty
with the
KEY
# command, especially if reading input from a keypad, because it is
possible for the buffer to overflow with unpredictable results if it is not emptied
by reading from it with the
GET
# command.