{\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern\fprq1 Swiss;}{\f3\fmodern\fprq1 Courier New;}{\f4\fswiss\fprq2 System;}} {\colortbl\red0\green0\blue0;\red0\green240\blue240;\red0\green0\blue255;\red0\green128\blue128;} \deflang1033\pard\plain\f3\fs20\cf2 'Example home subroutine that homes to a limit switch and backs off to the index pulse \par 'Setting Up port D as an Input Port: \par UDI \par '----------------------- \par GOSUB0\tab 'go to home subroutine \par '------------------------------------------------------------------ \par END\tab 'END OF PROGRAM \par '--------------------------------------------------------- \par C0 'HOME ROUTINE \par r=1 \par 'Make r a -1 to reverse home direction \par \par v=500000\tab 'Home speed \par \par PRINT("Homing motor",#13) \par MV \par V=-100000*r\tab 'Home speed corrected for direction \par A=1000\tab 'Home ACCEL \par G\tab 'start a velocity mode move \par i=I\tab 'Assigning the index marker to i \par 'The following line looks at Port D as a TTL level Input. \par \plain\f3\fs20\cf3 WHILE\plain\f3\fs20\cf2 UDI==1 \par i=I\tab 'Assigning the index marker to i \par \plain\f3\fs20\cf3 LOOP\plain\f3\fs20\cf2 \par 'When Port D gets pulled to ground it drops out of the loop. \par PRINT("Hit Limit Switch on Port D",#13) \par X \par P=i \par PRINT("Moving to Index Pulse",#13) \par G \par TWAIT \par WAIT=1000\tab \par O=0\tab \tab 'Setting present position to HOME \par PRINT("Motor is at Home",#13) \par RETURN \par \plain\f2\fs24\cf2 \par \par \plain\f3\fs20\cf2 \par \plain\f2\fs26\cf2 \par }