Bugfix for movTimeoutWatchdog

Update of README.md
This commit is contained in:
2025-02-14 16:17:11 +01:00
parent c06cf8e76c
commit e92a867189
9 changed files with 948 additions and 480 deletions

View File

@ -1,4 +1,4 @@
record(asyn,"$(P)$(NAME)")
record(asyn,"$(P)")
{
field(DTYP,"asynRecordDevice")
field(PORT,"$(PORT)")

View File

@ -10,6 +10,20 @@
# - MRES: Motor record resolution. See the README.md for a detailed discussion
# - EGU: Engineering units. In case of a rotary axis, this is "degree", in
# case of a linear axis this is "mm".
# - RTRY: The maximum number of times the motor record will try again to move to
# the desired position. When the retry limit is reached, the motor record will
# declare the motion finished. If the desired position was not reached, the
# field MISS will be set to 1 and NICOS will emit a warning "Did not reach
# target position". If this value is set to 0, the retry deadband is never
# applied and therefore MISS will always be 0. The error message "Did not reach
# target position" will therefore never appear.
# - RDBD: Retry deadband: When the motor has finished a complete motion,
# possibly including backlash takeout, the motor record will compare its current
# position with the desired position. If the magnitude of the difference is
# greater than RDBD, the motor will try again, as if the user had requested a
# move from the now current position to the desired position. Only a limited
# number of retries will be performed (see RTRY). If the given value is smaller
# than MRES, it is set to MRES.
record(motor,"$(INSTR)$(M)")
{
field(DESC,"$(DESC=$(M))")
@ -19,9 +33,29 @@ record(motor,"$(INSTR)$(M)")
field(MRES,"$(MRES)")
field(EGU,"$(EGU)")
field(INIT,"")
field(PINI, "NO")
field(PINI,"NO")
field(TWV,"1")
field(RTRY, "0")
field(RTRY,"0")
field(RDBD,"0")
field(BDST,"0")
field(RMOD,"3") # Retry mode 3 ("In-Position"): This suppresses any retries from the motor record.
}
# This PV allows force-stopping the motor record from within the driver by setting
# the motorForceStop_ value in the parameter library to 1. It should be reset to 0 by the driver afterwards.
# The implementation strategy is taken from https://epics.anl.gov/tech-talk/2022/msg00464.php.
# This record is coupled to the parameter library via motorForceStop_ -> MOTOR_FORCE_STOP.
record(longin, "$(INSTR)$(M):STOP_RBV")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(CONTROLLER),$(AXIS)) MOTOR_FORCE_STOP")
field(SCAN, "I/O Intr")
field(FLNK, "$(INSTR)$(M):Stop2Field")
}
record(longout, "$(INSTR)$(M):Stop2Field") {
field(DOL, "$(INSTR)$(M):STOP_RBV CP")
field(OUT, "$(INSTR)$(M).STOP")
field(OMSL, "closed_loop")
}
# This record forwards the motor record resolution MRES to the parameter library
@ -236,4 +270,4 @@ record(waveform, "$(INSTR)$(M):EncoderType") {
field(FTVL, "CHAR")
field(NELM, "80")
field(SCAN, "I/O Intr")
}
}