The logic for the overall control of the system goes something like this:
First we created a bank of integer memory for use
in sending actuation commands, named N16.
According to the bits in that memory bank that were turned either high
or low, the ladder program would be sent to the appropriate subroutine
dictated by the master control program.
Inside of each of these subroutines was the logic
for each station to complete its job according to the sensor and actuator
status read from the devicenet components. As far as the specific
logic steps to run each station, the file has been included on this page
and is very well commented for easy reading. All stations contain
complete logic except for the vision station (#7) and the kickoff station
(#8). The best example of robot/mill station is the first (for the
tic/tac/toe game), and the others just need a few lines changed before
they will run in the same manner. Also for the milling station, the
feedback of the ascii characters over the rs-232 line is not quite finished,
it requires some kind of comparison in order for there to be a "mill finished"
signal, which was temporarily bridged by a random bit of binary memory
that was manually changed when the game was finished.
Also in each subroutine are several status bits
for feedback to the master control program, an occupied station bit, a
busy bit, and a station finished bit, these allow the master program
to monitor the system and dictate what should happen next.