Hi Caleb,
I don't see any obvious problem. Please add the following lines just before iocInit. Then try to move a motor a few times and send the complete output.
asynSetTraceIOMask("L0", 0, 2)
asynSetTraceMask("L0", 0, 9)
asynSetTraceIOMask("MCB4B1", 0, 2)
asynSetTraceMask("MCB4B1", 0, 255)
Also send the output of asynReport again after trying to move the motor.
In your original message you reported:
> 2017/02/08 10:53:40.203 asynMotorController:writeInt32 error, status=3 axis=0, function=4, value=0
function=4 means this is a "stop" command, which calls this function in the MCB4B driver:
asynStatus MCB4BAxis::stop(double acceleration )
{
asynStatus status;
//static const char *functionName = "MCB4BAxis::stop";
sprintf(pC_->outString_, "#%02dQ", axisNo_);
status = pC_->writeReadController();
return status;
}
So writeReadController must be returning 3 which is asynError. I'm not sure why this would be happening but hopefully the asyn trace will tell us.
Mark
________________________________
From: Caleb Marshall [[email protected]]
Sent: Thursday, February 09, 2017 11:47 AM
To: Mark Rivers; [email protected]
Subject: Re: MCB-4B Motor WriteInt32 Errors
Here it comes...
epics> asynReport 10 MCB4B1
MCB4B1 multiDevice:Yes canBlock:Yes autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 4 nQueued 0 blocked:No
asynManagerLock:No synchronousLock:No
exceptionActive:No exceptionUsers 0 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
interposeInterfaceList
asynOctet pinterface 0x7f98f18521c0 drvPvt 0x22d2510
interfaceList
asynCommon pinterface 0x7f98f18528d0 drvPvt 0x22d6310
asynDrvUser pinterface 0x7f98f18526c0 drvPvt 0x22d6310
asynOctet pinterface 0x7f98f18527e0 drvPvt 0x22d6310
asynInt32 pinterface 0x7f98f18528a0 drvPvt 0x22d6310
asynFloat64 pinterface 0x7f98f1852840 drvPvt 0x22d6310
asynFloat64Array pinterface 0x7f98f1852740 drvPvt 0x22d6310
asynGenericPointer pinterface 0x7f98f1852720 drvPvt 0x22d6310
addr 0 autoConnect Yes enabled Yes connected Yes exceptionActive No
exceptionActive No exceptionUsers 0 exceptionNotifys 0
blocked No
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
addr 1 autoConnect Yes enabled Yes connected Yes exceptionActive No
exceptionActive No exceptionUsers 0 exceptionNotifys 0
blocked No
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
addr 2 autoConnect Yes enabled Yes connected Yes exceptionActive No
exceptionActive No exceptionUsers 0 exceptionNotifys 0
blocked No
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
addr 3 autoConnect Yes enabled Yes connected Yes exceptionActive No
exceptionActive No exceptionUsers 0 exceptionNotifys 0
blocked No
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
MCB-4B motor driver MCB4B1, numAxes=4, moving poll period=0.100000, idle poll period=5.000000
axis 0
axis 1
axis 2
axis 3
Port: MCB4B1
Timestamp: <undefined>
Input EOS[0]:
Output EOS[0]:
Parameter list 0
Number of parameters is: 70
Parameter 0 type=asynFloat64, name=MOTOR_MOVE_REL, value is undefined
Parameter 1 type=asynFloat64, name=MOTOR_MOVE_ABS, value is undefined
Parameter 2 type=asynFloat64, name=MOTOR_MOVE_VEL, value is undefined
Parameter 3 type=asynFloat64, name=MOTOR_HOME, value is undefined
Parameter 4 type=asynInt32, name=MOTOR_STOP_AXIS, value is undefined
Parameter 5 type=asynFloat64, name=MOTOR_VELOCITY, value is undefined
Parameter 6 type=asynFloat64, name=MOTOR_VEL_BASE, value is undefined
Parameter 7 type=asynFloat64, name=MOTOR_ACCEL, value is undefined
Parameter 8 type=asynFloat64, name=MOTOR_POSITION, value=-121.000000, status=0
Parameter 9 type=asynFloat64, name=MOTOR_ENCODER_POSITION, value is undefined
Parameter 10 type=asynInt32, name=MOTOR_DEFER_MOVES, value is undefined
Parameter 11 type=asynInt32, name=MOTOR_MOVE_HOME, value is undefined
Parameter 12 type=asynFloat64, name=MOTOR_RESOLUTION, value is undefined
Parameter 13 type=asynFloat64, name=MOTOR_ENCODER_RATIO, value=-inf, status=0
Parameter 14 type=asynFloat64, name=MOTOR_PGAIN, value is undefined
Parameter 15 type=asynFloat64, name=MOTOR_IGAIN, value is undefined
Parameter 16 type=asynFloat64, name=MOTOR_DGAIN, value is undefined
Parameter 17 type=asynFloat64, name=MOTOR_HIGH_LIMIT, value=-0.000000, status=0
Parameter 18 type=asynFloat64, name=MOTOR_LOW_LIMIT, value=-16000.000000, status=0
Parameter 19 type=asynInt32, name=MOTOR_CLOSED_LOOP, value is undefined
Parameter 20 type=asynInt32, name=MOTOR_STATUS, value=514, status=0
Parameter 21 type=asynInt32, name=MOTOR_UPDATE_STATUS, value is undefined
Parameter 22 type=asynInt32, name=MOTOR_STATUS_DIRECTION, value is undefined
Parameter 23 type=asynInt32, name=MOTOR_STATUS_DONE, value=1, status=0
Parameter 24 type=asynInt32, name=MOTOR_STATUS_HIGH_LIMIT, value is undefined
Parameter 25 type=asynInt32, name=MOTOR_STATUS_AT_HOME, value is undefined
Parameter 26 type=asynInt32, name=MOTOR_STATUS_SLIP, value is undefined
Parameter 27 type=asynInt32, name=MOTOR_STATUS_POWERED, value is undefined
Parameter 28 type=asynInt32, name=MOTOR_STATUS_FOLLOWING_ERROR, value is undefined
Parameter 29 type=asynInt32, name=MOTOR_STATUS_HOME, value is undefined
Parameter 30 type=asynInt32, name=MOTOR_STATUS_HAS_ENCODER, value is undefined
Parameter 31 type=asynInt32, name=MOTOR_STATUS_PROBLEM, value=1, status=0
Parameter 32 type=asynInt32, name=MOTOR_STATUS_MOVING, value is undefined
Parameter 33 type=asynInt32, name=MOTOR_STATUS_GAIN_SUPPORT, value is undefined
Parameter 34 type=asynInt32, name=MOTOR_STATUS_COMMS_ERROR, value is undefined
Parameter 35 type=asynInt32, name=MOTOR_STATUS_LOW_LIMIT, value is undefined
Parameter 36 type=asynInt32, name=MOTOR_STATUS_HOMED, value is undefined
Parameter 37 type=asynInt32, name=PROFILE_NUM_AXES, value is undefined
Parameter 38 type=asynInt32, name=PROFILE_NUM_POINTS, value is undefined
Parameter 39 type=asynInt32, name=PROFILE_CURRENT_POINT, value is undefined
Parameter 40 type=asynInt32, name=PROFILE_NUM_PULSES, value is undefined
Parameter 41 type=asynInt32, name=PROFILE_START_PULSES, value is undefined
Parameter 42 type=asynInt32, name=PROFILE_END_PULSES, value is undefined
Parameter 43 type=asynInt32, name=PROFILE_ACTUAL_PULSES, value is undefined
Parameter 44 type=asynInt32, name=PROFILE_NUM_READBACKS, value is undefined
Parameter 45 type=asynInt32, name=PROFILE_TIME_MODE, value is undefined
Parameter 46 type=asynFloat64, name=PROFILE_FIXED_TIME, value is undefined
Parameter 47 type=asynFloat64Array, name=PROFILE_TIME_ARRAY, value is undefined
Parameter 48 type=asynFloat64, name=PROFILE_ACCELERATION, value is undefined
Parameter 49 type=asynInt32, name=PROFILE_MOVE_MODE, value is undefined
Parameter 50 type=asynInt32, name=PROFILE_BUILD, value is undefined
Parameter 51 type=asynInt32, name=PROFILE_BUILD_STATE, value is undefined
Parameter 52 type=asynInt32, name=PROFILE_BUILD_STATUS, value is undefined
Parameter 53 type=string, name=PROFILE_BUILD_MESSAGE, value is undefined
Parameter 54 type=asynInt32, name=PROFILE_EXECUTE, value is undefined
Parameter 55 type=asynInt32, name=PROFILE_EXECUTE_STATE, value=0, status=0
Parameter 56 type=asynInt32, name=PROFILE_EXECUTE_STATUS, value is undefined
Parameter 57 type=string, name=PROFILE_EXECUTE_MESSAGE, value is undefined
Parameter 58 type=asynInt32, name=PROFILE_ABORT, value is undefined
Parameter 59 type=asynInt32, name=PROFILE_READBACK, value is undefined
Parameter 60 type=asynInt32, name=PROFILE_READBACK_STATE, value is undefined
Parameter 61 type=asynInt32, name=PROFILE_READBACK_STATUS, value is undefined
Parameter 62 type=string, name=PROFILE_READBACK_MESSAGE, value is undefined
Parameter 63 type=asynInt32, name=PROFILE_USE_AXIS, value is undefined
Parameter 64 type=asynFloat64Array, name=PROFILE_POSITIONS, value is undefined
Parameter 65 type=asynFloat64Array, name=PROFILE_READBACKS, value is undefined
Parameter 66 type=asynFloat64Array, name=PROFILE_FOLLOWING_ERRORS, value is undefined
Parameter 67 type=asynFloat64, name=PROFILE_MOTOR_RESOLUTION, value is undefined
Parameter 68 type=asynInt32, name=PROFILE_MOTOR_DIRECTION, value is undefined
Parameter 69 type=asynFloat64, name=PROFILE_MOTOR_OFFSET, value is undefined
Parameter list 1
Number of parameters is: 70
Parameter 0 type=asynFloat64, name=MOTOR_MOVE_REL, value is undefined
Parameter 1 type=asynFloat64, name=MOTOR_MOVE_ABS, value is undefined
Parameter 2 type=asynFloat64, name=MOTOR_MOVE_VEL, value is undefined
Parameter 3 type=asynFloat64, name=MOTOR_HOME, value is undefined
Parameter 4 type=asynInt32, name=MOTOR_STOP_AXIS, value is undefined
Parameter 5 type=asynFloat64, name=MOTOR_VELOCITY, value is undefined
Parameter 6 type=asynFloat64, name=MOTOR_VEL_BASE, value is undefined
Parameter 7 type=asynFloat64, name=MOTOR_ACCEL, value is undefined
Parameter 8 type=asynFloat64, name=MOTOR_POSITION, value is undefined
Parameter 9 type=asynFloat64, name=MOTOR_ENCODER_POSITION, value is undefined
Parameter 10 type=asynInt32, name=MOTOR_DEFER_MOVES, value is undefined
Parameter 11 type=asynInt32, name=MOTOR_MOVE_HOME, value is undefined
Parameter 12 type=asynFloat64, name=MOTOR_RESOLUTION, value is undefined
Parameter 13 type=asynFloat64, name=MOTOR_ENCODER_RATIO, value=-inf, status=0
Parameter 14 type=asynFloat64, name=MOTOR_PGAIN, value is undefined
Parameter 15 type=asynFloat64, name=MOTOR_IGAIN, value is undefined
Parameter 16 type=asynFloat64, name=MOTOR_DGAIN, value is undefined
Parameter 17 type=asynFloat64, name=MOTOR_HIGH_LIMIT, value=-0.000000, status=0
Parameter 18 type=asynFloat64, name=MOTOR_LOW_LIMIT, value=-16000.000000, status=0
Parameter 19 type=asynInt32, name=MOTOR_CLOSED_LOOP, value is undefined
Parameter 20 type=asynInt32, name=MOTOR_STATUS, value=512, status=0
Parameter 21 type=asynInt32, name=MOTOR_UPDATE_STATUS, value is undefined
Parameter 22 type=asynInt32, name=MOTOR_STATUS_DIRECTION, value is undefined
Parameter 23 type=asynInt32, name=MOTOR_STATUS_DONE, value is undefined
Parameter 24 type=asynInt32, name=MOTOR_STATUS_HIGH_LIMIT, value is undefined
Parameter 25 type=asynInt32, name=MOTOR_STATUS_AT_HOME, value is undefined
Parameter 26 type=asynInt32, name=MOTOR_STATUS_SLIP, value is undefined
Parameter 27 type=asynInt32, name=MOTOR_STATUS_POWERED, value is undefined
Parameter 28 type=asynInt32, name=MOTOR_STATUS_FOLLOWING_ERROR, value is undefined
Parameter 29 type=asynInt32, name=MOTOR_STATUS_HOME, value is undefined
Parameter 30 type=asynInt32, name=MOTOR_STATUS_HAS_ENCODER, value is undefined
Parameter 31 type=asynInt32, name=MOTOR_STATUS_PROBLEM, value=1, status=0
Parameter 32 type=asynInt32, name=MOTOR_STATUS_MOVING, value is undefined
Parameter 33 type=asynInt32, name=MOTOR_STATUS_GAIN_SUPPORT, value is undefined
Parameter 34 type=asynInt32, name=MOTOR_STATUS_COMMS_ERROR, value is undefined
Parameter 35 type=asynInt32, name=MOTOR_STATUS_LOW_LIMIT, value is undefined
Parameter 36 type=asynInt32, name=MOTOR_STATUS_HOMED, value is undefined
Parameter 37 type=asynInt32, name=PROFILE_NUM_AXES, value is undefined
Parameter 38 type=asynInt32, name=PROFILE_NUM_POINTS, value is undefined
Parameter 39 type=asynInt32, name=PROFILE_CURRENT_POINT, value is undefined
Parameter 40 type=asynInt32, name=PROFILE_NUM_PULSES, value is undefined
Parameter 41 type=asynInt32, name=PROFILE_START_PULSES, value is undefined
Parameter 42 type=asynInt32, name=PROFILE_END_PULSES, value is undefined
Parameter 43 type=asynInt32, name=PROFILE_ACTUAL_PULSES, value is undefined
Parameter 44 type=asynInt32, name=PROFILE_NUM_READBACKS, value is undefined
Parameter 45 type=asynInt32, name=PROFILE_TIME_MODE, value is undefined
Parameter 46 type=asynFloat64, name=PROFILE_FIXED_TIME, value is undefined
Parameter 47 type=asynFloat64Array, name=PROFILE_TIME_ARRAY, value is undefined
Parameter 48 type=asynFloat64, name=PROFILE_ACCELERATION, value is undefined
Parameter 49 type=asynInt32, name=PROFILE_MOVE_MODE, value is undefined
Parameter 50 type=asynInt32, name=PROFILE_BUILD, value is undefined
Parameter 51 type=asynInt32, name=PROFILE_BUILD_STATE, value is undefined
Parameter 52 type=asynInt32, name=PROFILE_BUILD_STATUS, value is undefined
Parameter 53 type=string, name=PROFILE_BUILD_MESSAGE, value is undefined
Parameter 54 type=asynInt32, name=PROFILE_EXECUTE, value is undefined
Parameter 55 type=asynInt32, name=PROFILE_EXECUTE_STATE, value is undefined
Parameter 56 type=asynInt32, name=PROFILE_EXECUTE_STATUS, value is undefined
Parameter 57 type=string, name=PROFILE_EXECUTE_MESSAGE, value is undefined
Parameter 58 type=asynInt32, name=PROFILE_ABORT, value is undefined
Parameter 59 type=asynInt32, name=PROFILE_READBACK, value is undefined
Parameter 60 type=asynInt32, name=PROFILE_READBACK_STATE, value is undefined
Parameter 61 type=asynInt32, name=PROFILE_READBACK_STATUS, value is undefined
Parameter 62 type=string, name=PROFILE_READBACK_MESSAGE, value is undefined
Parameter 63 type=asynInt32, name=PROFILE_USE_AXIS, value is undefined
Parameter 64 type=asynFloat64Array, name=PROFILE_POSITIONS, value is undefined
Parameter 65 type=asynFloat64Array, name=PROFILE_READBACKS, value is undefined
Parameter 66 type=asynFloat64Array, name=PROFILE_FOLLOWING_ERRORS, value is undefined
Parameter 67 type=asynFloat64, name=PROFILE_MOTOR_RESOLUTION, value is undefined
Parameter 68 type=asynInt32, name=PROFILE_MOTOR_DIRECTION, value is undefined
Parameter 69 type=asynFloat64, name=PROFILE_MOTOR_OFFSET, value is undefined
Parameter list 2
Number of parameters is: 70
Parameter 0 type=asynFloat64, name=MOTOR_MOVE_REL, value is undefined
Parameter 1 type=asynFloat64, name=MOTOR_MOVE_ABS, value is undefined
Parameter 2 type=asynFloat64, name=MOTOR_MOVE_VEL, value is undefined
Parameter 3 type=asynFloat64, name=MOTOR_HOME, value is undefined
Parameter 4 type=asynInt32, name=MOTOR_STOP_AXIS, value is undefined
Parameter 5 type=asynFloat64, name=MOTOR_VELOCITY, value is undefined
Parameter 6 type=asynFloat64, name=MOTOR_VEL_BASE, value is undefined
Parameter 7 type=asynFloat64, name=MOTOR_ACCEL, value is undefined
Parameter 8 type=asynFloat64, name=MOTOR_POSITION, value is undefined
Parameter 9 type=asynFloat64, name=MOTOR_ENCODER_POSITION, value is undefined
Parameter 10 type=asynInt32, name=MOTOR_DEFER_MOVES, value is undefined
Parameter 11 type=asynInt32, name=MOTOR_MOVE_HOME, value is undefined
Parameter 12 type=asynFloat64, name=MOTOR_RESOLUTION, value is undefined
Parameter 13 type=asynFloat64, name=MOTOR_ENCODER_RATIO, value=-inf, status=0
Parameter 14 type=asynFloat64, name=MOTOR_PGAIN, value is undefined
Parameter 15 type=asynFloat64, name=MOTOR_IGAIN, value is undefined
Parameter 16 type=asynFloat64, name=MOTOR_DGAIN, value is undefined
Parameter 17 type=asynFloat64, name=MOTOR_HIGH_LIMIT, value=-0.000000, status=0
Parameter 18 type=asynFloat64, name=MOTOR_LOW_LIMIT, value=-16000.000000, status=0
Parameter 19 type=asynInt32, name=MOTOR_CLOSED_LOOP, value is undefined
Parameter 20 type=asynInt32, name=MOTOR_STATUS, value=512, status=0
Parameter 21 type=asynInt32, name=MOTOR_UPDATE_STATUS, value is undefined
Parameter 22 type=asynInt32, name=MOTOR_STATUS_DIRECTION, value is undefined
Parameter 23 type=asynInt32, name=MOTOR_STATUS_DONE, value is undefined
Parameter 24 type=asynInt32, name=MOTOR_STATUS_HIGH_LIMIT, value is undefined
Parameter 25 type=asynInt32, name=MOTOR_STATUS_AT_HOME, value is undefined
Parameter 26 type=asynInt32, name=MOTOR_STATUS_SLIP, value is undefined
Parameter 27 type=asynInt32, name=MOTOR_STATUS_POWERED, value is undefined
Parameter 28 type=asynInt32, name=MOTOR_STATUS_FOLLOWING_ERROR, value is undefined
Parameter 29 type=asynInt32, name=MOTOR_STATUS_HOME, value is undefined
Parameter 30 type=asynInt32, name=MOTOR_STATUS_HAS_ENCODER, value is undefined
Parameter 31 type=asynInt32, name=MOTOR_STATUS_PROBLEM, value=1, status=0
Parameter 32 type=asynInt32, name=MOTOR_STATUS_MOVING, value is undefined
Parameter 33 type=asynInt32, name=MOTOR_STATUS_GAIN_SUPPORT, value is undefined
Parameter 34 type=asynInt32, name=MOTOR_STATUS_COMMS_ERROR, value is undefined
Parameter 35 type=asynInt32, name=MOTOR_STATUS_LOW_LIMIT, value is undefined
Parameter 36 type=asynInt32, name=MOTOR_STATUS_HOMED, value is undefined
Parameter 37 type=asynInt32, name=PROFILE_NUM_AXES, value is undefined
Parameter 38 type=asynInt32, name=PROFILE_NUM_POINTS, value is undefined
Parameter 39 type=asynInt32, name=PROFILE_CURRENT_POINT, value is undefined
Parameter 40 type=asynInt32, name=PROFILE_NUM_PULSES, value is undefined
Parameter 41 type=asynInt32, name=PROFILE_START_PULSES, value is undefined
Parameter 42 type=asynInt32, name=PROFILE_END_PULSES, value is undefined
Parameter 43 type=asynInt32, name=PROFILE_ACTUAL_PULSES, value is undefined
Parameter 44 type=asynInt32, name=PROFILE_NUM_READBACKS, value is undefined
Parameter 45 type=asynInt32, name=PROFILE_TIME_MODE, value is undefined
Parameter 46 type=asynFloat64, name=PROFILE_FIXED_TIME, value is undefined
Parameter 47 type=asynFloat64Array, name=PROFILE_TIME_ARRAY, value is undefined
Parameter 48 type=asynFloat64, name=PROFILE_ACCELERATION, value is undefined
Parameter 49 type=asynInt32, name=PROFILE_MOVE_MODE, value is undefined
Parameter 50 type=asynInt32, name=PROFILE_BUILD, value is undefined
Parameter 51 type=asynInt32, name=PROFILE_BUILD_STATE, value is undefined
Parameter 52 type=asynInt32, name=PROFILE_BUILD_STATUS, value is undefined
Parameter 53 type=string, name=PROFILE_BUILD_MESSAGE, value is undefined
Parameter 54 type=asynInt32, name=PROFILE_EXECUTE, value is undefined
Parameter 55 type=asynInt32, name=PROFILE_EXECUTE_STATE, value is undefined
Parameter 56 type=asynInt32, name=PROFILE_EXECUTE_STATUS, value is undefined
Parameter 57 type=string, name=PROFILE_EXECUTE_MESSAGE, value is undefined
Parameter 58 type=asynInt32, name=PROFILE_ABORT, value is undefined
Parameter 59 type=asynInt32, name=PROFILE_READBACK, value is undefined
Parameter 60 type=asynInt32, name=PROFILE_READBACK_STATE, value is undefined
Parameter 61 type=asynInt32, name=PROFILE_READBACK_STATUS, value is undefined
Parameter 62 type=string, name=PROFILE_READBACK_MESSAGE, value is undefined
Parameter 63 type=asynInt32, name=PROFILE_USE_AXIS, value is undefined
Parameter 64 type=asynFloat64Array, name=PROFILE_POSITIONS, value is undefined
Parameter 65 type=asynFloat64Array, name=PROFILE_READBACKS, value is undefined
Parameter 66 type=asynFloat64Array, name=PROFILE_FOLLOWING_ERRORS, value is undefined
Parameter 67 type=asynFloat64, name=PROFILE_MOTOR_RESOLUTION, value is undefined
Parameter 68 type=asynInt32, name=PROFILE_MOTOR_DIRECTION, value is undefined
Parameter 69 type=asynFloat64, name=PROFILE_MOTOR_OFFSET, value is undefined
Parameter list 3
Number of parameters is: 70
Parameter 0 type=asynFloat64, name=MOTOR_MOVE_REL, value is undefined
Parameter 1 type=asynFloat64, name=MOTOR_MOVE_ABS, value is undefined
Parameter 2 type=asynFloat64, name=MOTOR_MOVE_VEL, value is undefined
Parameter 3 type=asynFloat64, name=MOTOR_HOME, value is undefined
Parameter 4 type=asynInt32, name=MOTOR_STOP_AXIS, value is undefined
Parameter 5 type=asynFloat64, name=MOTOR_VELOCITY, value is undefined
Parameter 6 type=asynFloat64, name=MOTOR_VEL_BASE, value is undefined
Parameter 7 type=asynFloat64, name=MOTOR_ACCEL, value is undefined
Parameter 8 type=asynFloat64, name=MOTOR_POSITION, value is undefined
Parameter 9 type=asynFloat64, name=MOTOR_ENCODER_POSITION, value is undefined
Parameter 10 type=asynInt32, name=MOTOR_DEFER_MOVES, value is undefined
Parameter 11 type=asynInt32, name=MOTOR_MOVE_HOME, value is undefined
Parameter 12 type=asynFloat64, name=MOTOR_RESOLUTION, value is undefined
Parameter 13 type=asynFloat64, name=MOTOR_ENCODER_RATIO, value=-inf, status=0
Parameter 14 type=asynFloat64, name=MOTOR_PGAIN, value is undefined
Parameter 15 type=asynFloat64, name=MOTOR_IGAIN, value is undefined
Parameter 16 type=asynFloat64, name=MOTOR_DGAIN, value is undefined
Parameter 17 type=asynFloat64, name=MOTOR_HIGH_LIMIT, value=-0.000000, status=0
Parameter 18 type=asynFloat64, name=MOTOR_LOW_LIMIT, value=-16000.000000, status=0
Parameter 19 type=asynInt32, name=MOTOR_CLOSED_LOOP, value is undefined
Parameter 20 type=asynInt32, name=MOTOR_STATUS, value=512, status=0
Parameter 21 type=asynInt32, name=MOTOR_UPDATE_STATUS, value is undefined
Parameter 22 type=asynInt32, name=MOTOR_STATUS_DIRECTION, value is undefined
Parameter 23 type=asynInt32, name=MOTOR_STATUS_DONE, value is undefined
Parameter 24 type=asynInt32, name=MOTOR_STATUS_HIGH_LIMIT, value is undefined
Parameter 25 type=asynInt32, name=MOTOR_STATUS_AT_HOME, value is undefined
Parameter 26 type=asynInt32, name=MOTOR_STATUS_SLIP, value is undefined
Parameter 27 type=asynInt32, name=MOTOR_STATUS_POWERED, value is undefined
Parameter 28 type=asynInt32, name=MOTOR_STATUS_FOLLOWING_ERROR, value is undefined
Parameter 29 type=asynInt32, name=MOTOR_STATUS_HOME, value is undefined
Parameter 30 type=asynInt32, name=MOTOR_STATUS_HAS_ENCODER, value is undefined
Parameter 31 type=asynInt32, name=MOTOR_STATUS_PROBLEM, value=1, status=0
Parameter 32 type=asynInt32, name=MOTOR_STATUS_MOVING, value is undefined
Parameter 33 type=asynInt32, name=MOTOR_STATUS_GAIN_SUPPORT, value is undefined
Parameter 34 type=asynInt32, name=MOTOR_STATUS_COMMS_ERROR, value is undefined
Parameter 35 type=asynInt32, name=MOTOR_STATUS_LOW_LIMIT, value is undefined
Parameter 36 type=asynInt32, name=MOTOR_STATUS_HOMED, value is undefined
Parameter 37 type=asynInt32, name=PROFILE_NUM_AXES, value is undefined
Parameter 38 type=asynInt32, name=PROFILE_NUM_POINTS, value is undefined
Parameter 39 type=asynInt32, name=PROFILE_CURRENT_POINT, value is undefined
Parameter 40 type=asynInt32, name=PROFILE_NUM_PULSES, value is undefined
Parameter 41 type=asynInt32, name=PROFILE_START_PULSES, value is undefined
Parameter 42 type=asynInt32, name=PROFILE_END_PULSES, value is undefined
Parameter 43 type=asynInt32, name=PROFILE_ACTUAL_PULSES, value is undefined
Parameter 44 type=asynInt32, name=PROFILE_NUM_READBACKS, value is undefined
Parameter 45 type=asynInt32, name=PROFILE_TIME_MODE, value is undefined
Parameter 46 type=asynFloat64, name=PROFILE_FIXED_TIME, value is undefined
Parameter 47 type=asynFloat64Array, name=PROFILE_TIME_ARRAY, value is undefined
Parameter 48 type=asynFloat64, name=PROFILE_ACCELERATION, value is undefined
Parameter 49 type=asynInt32, name=PROFILE_MOVE_MODE, value is undefined
Parameter 50 type=asynInt32, name=PROFILE_BUILD, value is undefined
Parameter 51 type=asynInt32, name=PROFILE_BUILD_STATE, value is undefined
Parameter 52 type=asynInt32, name=PROFILE_BUILD_STATUS, value is undefined
Parameter 53 type=string, name=PROFILE_BUILD_MESSAGE, value is undefined
Parameter 54 type=asynInt32, name=PROFILE_EXECUTE, value is undefined
Parameter 55 type=asynInt32, name=PROFILE_EXECUTE_STATE, value is undefined
Parameter 56 type=asynInt32, name=PROFILE_EXECUTE_STATUS, value is undefined
Parameter 57 type=string, name=PROFILE_EXECUTE_MESSAGE, value is undefined
Parameter 58 type=asynInt32, name=PROFILE_ABORT, value is undefined
Parameter 59 type=asynInt32, name=PROFILE_READBACK, value is undefined
Parameter 60 type=asynInt32, name=PROFILE_READBACK_STATE, value is undefined
Parameter 61 type=asynInt32, name=PROFILE_READBACK_STATUS, value is undefined
Parameter 62 type=string, name=PROFILE_READBACK_MESSAGE, value is undefined
Parameter 63 type=asynInt32, name=PROFILE_USE_AXIS, value is undefined
Parameter 64 type=asynFloat64Array, name=PROFILE_POSITIONS, value is undefined
Parameter 65 type=asynFloat64Array, name=PROFILE_READBACKS, value is undefined
Parameter 66 type=asynFloat64Array, name=PROFILE_FOLLOWING_ERRORS, value is undefined
Parameter 67 type=asynFloat64, name=PROFILE_MOTOR_RESOLUTION, value is undefined
Parameter 68 type=asynInt32, name=PROFILE_MOTOR_DIRECTION, value is undefined
Parameter 69 type=asynFloat64, name=PROFILE_MOTOR_OFFSET, value is undefined
genericPointer callback client address=0x7f98f1868bf0, addr=0, reason=20, userPvt=0x22edf90
genericPointer callback client address=0x7f98f1868bf0, addr=1, reason=20, userPvt=0x22ee860
genericPointer callback client address=0x7f98f1868bf0, addr=2, reason=20, userPvt=0x22ef2d0
genericPointer callback client address=0x7f98f1868bf0, addr=3, reason=20, userPvt=0x22efe80
And the other bit:
epics> dbpr Enge:m1 10
ACCL: 0.2 ACKS: MAJOR ACKT: YES ADEL: 0
ALST: 0 ASG: ASP: (nil) ATHM: 0
BACC: 0.2 BDST: 0 BKPT: 00 BVEL: 1
CARD: 0 CBAK: 0x1b400a0 CDIR: 0 CNEN: Disable
DCOF: 0 DESC: Bottom DHLM: 16 DIFF: 0
DINP:CONSTANT DIR: Pos DISA: 0 DISP: 0
DISS: NO_ALARM DISV: 1 DLLM: 0 DLY: 0
DMOV: 1 DOL:CONSTANT DPVT: 0x1b400d0 DRBV: 0.121
DSET: 0x7fb41c84c5a0 DTYP: asynMotor DVAL: 0.121
EGU: mm ERES: -1.0e-03 EVNT: FLNK:CONSTANT 0
FOF: 0 FOFF: Variable FRAC: 1 HHSV: NO_ALARM
HIGH: 0 HIHI: 0 HLM: 16 HLS: 0
HLSV: NO_ALARM HOMF: 0 HOMR: 0 HOPR: 0
HSV: NO_ALARM HVEL: 0.1 ICOF: 0 INIT:
JAR: 10 JOGF: 0 JOGR: 0 JVEL: 2
LCNT: 0 LDVL: 0.121 LLM: 0 LLS: 0
LLSV: NO_ALARM LOCK: NO LOLO: 0 LOPR: 0
LOW: 0 LRLV: 0 LRVL: -121 LSET: 0x1b3ce40
LSPG: Go LSV: NO_ALARM LVAL: 0.121 LVIO: 0
MDEL: 0 MIP: 0 MISS: 0
MLIS: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
MLOK: 50 f1 b3 01 00 00 00 00 MLST: 0 MMAP: 0
MOVN: 0 MRES: -1.0e-03 MSTA: 512 NAME: Enge:m1
NMAP: 0 NSEV: NO_ALARM NSTA: NO_ALARM NTM: YES
NTMF: 2 OFF: 0 OMSL: supervisory
OUT:INST_IO @asyn(MCB4B1,0) PACT: 0 PCOF: 0
PHAS: 0 PINI: NO POST: PP: 0
PPN: (nil) PPNR: (nil) PREC: 3 PREM:
PRIO: LOW PROC: 0 PUTF: 0 RBV: 0.121
RCNT: 0 RDBD: 1.0e-03 RDBL:CONSTANT RDES: 0x1afae10
RDIF: 0 REP: 0 RHLS: 0 RINP:CONSTANT
RLLS: 0 RLNK:CONSTANT RLV: 0 RMOD: Default
RMP: -121 RPRO: 0 RRBV: -121 RRES: 0
RSET: 0x7fb41c84c3c0 RTRY: 10 RVAL: -121
RVEL: 0 S: 10 SBAK: 5 SBAS: 0.5
SCAN: Passive SDIS:DB_LINK Enge:m1_able.VAL NPP NMS SET: Use
SEVR: MAJOR SMAX: 0 SPMG: Go SPVT: (nil)
SREV: 200 SSET: 0 STAT: STATE STOO:CONSTANT
STOP: 0 STUP: OFF SUSE: 0 SYNC: 0
TDIR: 0 TIME: 2017-02-09 12:35:39.985633712 TPRO: 0
TSE: 0 TSEL:CONSTANT TWF: 0 TWR: 0
TWV: 0.1 UDF: 0 UDFS: INVALID UEIP: No
UREV: -0.2 URIP: No VAL: 0.121 VBAS: 0.1
VELO: 2 VERS: 6.9 VMAX: 0 VOF: 0
The motor substitutions are mostly unchanged except for the IOC name:
file "$(TOP)/db/asyn_motor.db"
{
pattern
{P, N, M, DTYP, PORT, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
{Enge:, 1, "m$(N)", "asynMotor", MCB4B1, 0, "Bottom", mm, Pos, 2.0, 0.1, .2, 0, 1, .2, -.001, 3, 16, 0, ""}
{Enge:, 2, "m$(N)", "asynMotor", MCB4B1, 1, "Top", mm, Pos, 2.0, 0.1, .2, 0, 1, .2, -.001, 3, 16, 0, ""}
{Enge:, 3, "m$(N)", "asynMotor", MCB4B1, 2, "Inboard", mm, Pos, 2.0, 0.1, .2, 0, 1, .2, -.001, 3, 16, 0, ""}
{Enge:, 4, "m$(N)", "asynMotor", MCB4B1, 3, "Outboard", mm, Pos, 2.0, 0.1, .2, 0, 1, .2, -.001, 3, 16, 0, ""}
}
-Caleb
On Thu, Feb 9, 2017 at 12:22 PM, Mark Rivers <[email protected]<mailto:[email protected]>> wrote:
Hi Caleb,
I understand one point of confusion. The motor/motorApp/AcsSrc contains files for 2 different drivers:
These files are for the old model 1 driver.
-rw-rw-r-- 1 epics domain users 669 Oct 16 2015 drvMCB4B.h
-rw-rw-r-- 1 epics domain users 9427 Oct 16 2015 devMCB4B.cc
-rw-r--r-- 1 epics domain users 16068 Jan 21 18:27 drvMCB4B.cc
These files are for the new model 3 driver.
-rw-rw-r-- 1 epics domain users 1611 Oct 16 2015 MCB4BDriver.h
-rw-rw-r-- 1 epics domain users 11797 Oct 16 2015 MCB4BDriver.cpp
Your startup script contains these 2 commands:
MCB4BCreateController("MCB4B1", "L0", 4, 100, 5000)
MCB4BSetup(1, 10)
MCB4BConfig(0, "L0")
The first command is OK, that configures the new model 3 controller with 4 axes.
The next 2 commands should be removed from your startup script, they are for the old model 1 driver.
> epics> asynReport 10 L0
That is not the output I wanted to see, That is a report on the underlying drvAsynSerial port, not the MCB4B motor controller port. Please send the output of this command:
asynReport 10 MCB4B1
Also send the output of
dbpr Enge:m1 10
and the contents of motor.substitutions.mcb4b
Mark
________________________________
From: Caleb Marshall [[email protected]<mailto:[email protected]>]
Sent: Thursday, February 09, 2017 8:55 AM
To: Mark Rivers
Cc: [email protected]<mailto:[email protected]>
Subject: Re: MCB-4B Motor WriteInt32 Errors
Here is the ioc boot:
#!../../bin/linux-x86_64/WithAsyn
#errlogInit(5000)
< envPaths
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","iocWithAsyn")
epicsEnvSet("TOP","/home/caleb/engemotor")
epicsEnvSet("SUPPORT","/home/caleb/epics/synApps/support")
epicsEnvSet("ASYN","/home/caleb/epics/synApps/support/asyn-4-26")
epicsEnvSet("SNCSEQ","/home/caleb/epics/synApps/support/seq-2-2-1")
epicsEnvSet("BUSY","/home/caleb/epics/synApps/support/busy-1-6-1")
epicsEnvSet("EPICS_BASE","/home/caleb/epics/base")
epicsEnvSet("IPAC","/home/caleb/epics/synApps/support/ipac-2-13")
epicsEnvSet("MOTOR","/home/caleb/engemotor")
# Tell EPICS all about the record types, device-support modules, drivers,
# etc. in this build from CARS
dbLoadDatabase("../../dbd/WithAsyn.dbd")
dbLoadDatabase("../../dbd/devAcsMotor.dbd")
WithAsyn_registerRecordDeviceDriver(pdbbase)
drvAsynSerialPortConfigure("L0", "/dev/ttyUSB0",0,0,0)
asynOctetSetInputEos("L0",0,"\r")
asynOctetSetOutputEos("L0",0,"\r")
asynSetOption("L0",0,"baud","9600")
asynSetOption("L0",0,"bits","8")
asynSetOption("L0",0,"parity","none")
asynSetOption("L0",0,"stop","1")
asynSetOption("L0",0,"clocal","Y")
asynSetOption("L0",0,"crtscts","N")
# asynSetTraceIOMask("L0", 0, 0x2)
# asynSetTraceMask("L0", 0, 0x9)
### Motors
dbLoadTemplate "motor.substitutions.mcb4b"
dbLoadRecords("/home/caleb/epics/synApps/support/asyn-4-26/db/asynRecord.db","P=Enge:,R=L0,PORT=L0,ADDR=0,OMAX=100,IMAX=100")
#Our Control System
MCB4BCreateController("MCB4B1", "L0", 4, 100, 5000)
MCB4BSetup(1, 10)
MCB4BConfig(0, "L0")
iocInit
Starting iocInit
############################################################################
## EPICS R3.15.2 $Date: Thu 2015-05-14 14:09:28 +0200$
## EPICS Base built Sep 11 2015
############################################################################
iocRun: All initialization complete
# This IOC does not use save/restore, so set values of some PVs
dbpf("Enge:m1.TWV", "0.1")
DBR_DOUBLE: 0.1
dbpf("Enge:m2.RTRY", "0")
DBR_SHORT: 0 0x0
dbpf("Enge:m2.TWV", "0.1")
DBR_DOUBLE: 0.1
dbpf("Enge:m3.RTRY", "0")
DBR_SHORT: 0 0x0
dbpf("Enge:m3.TWV", "0.1")
DBR_DOUBLE: 0.1
dbpf("Enge:m4.RTRY", "0")
DBR_SHORT: 0 0x0
dbpf("Enge:m4.TWV", "0.1")
DBR_DOUBLE: 0.1
And here is the command output:
epics> asynReport 10 L0
L0 multiDevice:No canBlock:Yes autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 0 nQueued 0 blocked:No
asynManagerLock:No synchronousLock:Yes
exceptionActive:No exceptionUsers 2 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
interposeInterfaceList
asynOctet pinterface 0x7f3a55f83560 drvPvt 0x1e8dde0
interfaceList
asynCommon pinterface 0x7f3a55f807d0 drvPvt 0x1e8ae70
asynOption pinterface 0x7f3a55f807f0 drvPvt 0x1e8ae70
asynOctet pinterface 0x7f3a55f82d00 drvPvt 0x1e8ae70
Serial line /dev/ttyUSB0: Connected
fd: 4
Characters written: 585
Characters read: 195
-Caleb
On Wed, Feb 8, 2017 at 12:38 PM, Mark Rivers <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>> wrote:
Please send the following:
- Complete output when the IOC boots and runs for 10 seconds or so after iocInit.
- Output of the command
asynReport 10 myPort
where myPort is the name you assigned to the motor controller port you created.
Mark
Sent from my iPhone
> On Feb 8, 2017, at 7:28 AM, Caleb Marshall <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>> wrote:
>
> Hello all,
>
> I have been trying to develop a stepper motor control system using the Base release R3.15.2 and SynApps_5_8. I have followed the documentation in the motor record to setup the IOC for the MCB-4B controller board. Using the IO traces I can tell that communication with the board is happening (there is a constant polling of position and responses from the board, etc.), but whenever I try to change a value for a motion field I get the following:
>
> 2017/02/08 10:53:40.203 devMotorAsyn::asynCallback: Enge:m1 pasyn{Float64,Int32}->write returned
> 2017/02/08 10:53:40.203 asynMotorController:writeInt32 error, status=3 axis=0, function=4, value=0
> 2017/02/08 10:53:40.203 devMotorAsyn::asynCallback: Enge:m1 pasyn{Float64,Int32}->write returned
>
> And the move command is never sent. I can update fields that do not require communication with the board however.
>
> Any ideas what could be going wrong?
>
> -Caleb Marshall
> NCSU/TUNL
>
- References:
- MCB-4B Motor WriteInt32 Errors Caleb Marshall
- Re: MCB-4B Motor WriteInt32 Errors Mark Rivers
- Re: MCB-4B Motor WriteInt32 Errors Caleb Marshall
- RE: MCB-4B Motor WriteInt32 Errors Mark Rivers
- Re: MCB-4B Motor WriteInt32 Errors Caleb Marshall
- Navigate by Date:
- Prev:
RE: How to support a new stepper motor controller? Mark Rivers
- Next:
Re: [epics-modules/asyn] Throw exception if we can't register interfaces (#43) Ralph Lange
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: MCB-4B Motor WriteInt32 Errors Caleb Marshall
- Next:
Re: [epics-modules/asyn] Throw exception if we can't register interfaces (#43) Eric Norum
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
|