I have the following problem:
I have my asynMotor record with the following lines in
motor.substitutions:
{P, N, M, DTYP, PORT, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
{PREFIX:, 1, "WL", "asynMotor", MyController, 0, "motor $(N)", nm, Pos, .0, .0, .0, 0, 1, .2, 1e-6, 6, 17, 2, "0"}
During the program run I would like to change the motor limits, which are now 2..17 with
the following code:
auto status1 = m_pAxes[0]->setDoubleParam(motorLowLimit_, newLowValue * 1e6);
auto status2 = m_pAxes[0]->setDoubleParam(motorHighLimit_, newHighValue * 1e6);
Both obtained status are asynSuccess. I have also checked the result by
calling
double lowLimit = 0, highLimit= 0;
getDoubleParam (
0, motorLowLimit_, &lowLimit);
getDoubleParam (
0, motorHighLimit_, &highLimit);
It was also correct. However, I would expect that the new low/high limits
should have impact on commands
caput PREFIX:WL.VAL someValue
However, the program behavior here is somehow strange.
Could you, please, explain me it.
With best wishes,
Boris