Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 31 additions & 18 deletions GalilSup/Db/galil_Home_ForwLimit.dmc
Original file line number Diff line number Diff line change
@@ -1,53 +1,66 @@
NO*****************AXIS ${AXIS}********************

NO*******HOME - Forward Limit************
#HOME${AXIS}
IF ((home${AXIS}=1))
inhome${AXIS}=1
inhome${AXIS}=1
IF ((home${AXIS}=1) & (hjog${AXIS}=0))
slimfl${AXIS}=_FL${AXIS};FL${AXIS}=2147483647
slimfl${AXIS}=_FL${AXIS};FL${AXIS}=2147483647
slimbl${AXIS}=_BL${AXIS};BL${AXIS}=-2147483648
hjog${AXIS}=1
ENDIF
IF ((_LR${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1))
home${AXIS}=0;MG "home${AXIS}", home${AXIS};ENDIF
home${AXIS}=0;MG "home${AXIS}", home${AXIS}
ENDIF
IF ((hjog${AXIS}=1) & (_BG${AXIS}=1) & (home${AXIS}=1))
ST${AXIS};ENDIF
ST${AXIS}
ENDIF
IF ((hjog${AXIS}=1) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1))
oldecel${AXIS}=_DC${AXIS};speed${AXIS}=_SP${AXIS};
DC${AXIS}=@ABS[hjgdc${AXIS}]
JG${AXIS}=@ABS[hjgsp${AXIS}]*-1
SH${AXIS};WT50;BG${AXIS};hjog${AXIS}=2
IF (_MO${AXIS}=1);SH${AXIS};ENDIF
hjog${AXIS}=2
ENDIF
IF ((hjog${AXIS}=2) & (_MO${AXIS}=0) & (home${AXIS}=1))
BG${AXIS};hjog${AXIS}=3
ENDIF
IF ((hjog${AXIS}=1) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1))
hjog${AXIS}=3
hjog${AXIS}=4
ENDIF
IF ((hjog${AXIS}=2) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1))
ST${AXIS}
hjog${AXIS}=3
IF ((hjog${AXIS}=3) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1))
ST${AXIS};hjog${AXIS}=4
ENDIF
IF ((hjog${AXIS}=3) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1))
IF ((hjog${AXIS}=4) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1))
DC${AXIS}=@ABS[hjgdc${AXIS}]
JG${AXIS}=@ABS[hjgsp${AXIS}]
SH${AXIS};WT50;BG${AXIS};hjog${AXIS}=4
IF (_MO${AXIS}=1);SH${AXIS};ENDIF
hjog${AXIS}=5
ENDIF
IF ((hjog${AXIS}=5) & (_MO${AXIS}=0) & (home${AXIS}=1))
BG${AXIS};hjog${AXIS}=6
ENDIF
IF ((hjog${AXIS}=4) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1))
IF ((hjog${AXIS}=6) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1))
DC${AXIS}=@ABS[hjgdc${AXIS}]
JG${AXIS}=@ABS[hjgsp${AXIS}]/-10
SH${AXIS};WT50;BG${AXIS};hjog${AXIS}=5
IF (_MO${AXIS}=1);SH${AXIS};ENDIF
hjog${AXIS}=7
ENDIF
IF ((hjog${AXIS}=5) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1))
ST${AXIS}
hjog${AXIS}=6
IF ((hjog${AXIS}=7) & (_MO${AXIS}=0) & (home${AXIS}=1))
BG${AXIS};hjog${AXIS}=8
ENDIF
IF ((hjog${AXIS}=8) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1))
ST${AXIS};hjog${AXIS}=9
ENDIF
IF ((hjog${AXIS}=6) & (_BG${AXIS}=0) & (home${AXIS}=1))
IF ((hjog${AXIS}=9) & (_BG${AXIS}=0) & (home${AXIS}=1))
hjog${AXIS}=0;home${AXIS}=0;homed${AXIS}=1
MG "home${AXIS}", home${AXIS};MG "homed${AXIS}", homed${AXIS}
ENDIF
ELSE
hjog${AXIS}=0
ENDIF
IF ((home${AXIS}=0) & (inhome${AXIS}=1))
FL${AXIS}=slimfl${AXIS}
FL${AXIS}=slimfl${AXIS}
BL${AXIS}=slimbl${AXIS}
inhome${AXIS}=0
ENDIF
Expand Down
4 changes: 3 additions & 1 deletion GalilSup/src/GalilAxis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1999,6 +1999,8 @@ void GalilAxis::checkEncoder(void)
double sc_code = getGalilAxisVal("_SC");
// get axis moving state
double bg_code = getGalilAxisVal("_BG");
// in case we are homing record hjog
int hjog_code = getGalilAxisVal("hjog");
//Pass stall status to higher layers
setIntegerParam(pC_->motorStatusSlip_, 1);
//Set the stop reason so limit deceleration is applied during stop
Expand All @@ -2011,7 +2013,7 @@ void GalilAxis::checkEncoder(void)
sprintf(message, "Encoder stall stop motor %c", axisName_);
//Set controller error mesg monitor
pC_->setCtrlError(message);
std::cerr << "STALL: pestall_time=" << pestall_time << " (>" << estall_time << ") encoderMove_=" << encoderMove_ << " encDirOk_=" << encDirOk_ << " _SC" << axisName_ << "=" << sc_code << " [" << lookupStopCode((int)sc_code) << "] _BG" << axisName_ << "=" << bg_code << std::endl;
std::cerr << "STALL: pestall_time=" << pestall_time << " (>" << estall_time << ") encoderMove_=" << encoderMove_ << " encDirOk_=" << encDirOk_ << " _SC" << axisName_ << "=" << sc_code << " [" << lookupStopCode((int)sc_code) << "] _BG" << axisName_ << "=" << bg_code << " hjog" << axisName_ << "=" << hjog_code << std::endl;
}
}
}
Expand Down