Good morning,
I am asking you for support in solving the problem we encountered while
modifying our project. We've noticed an error reading data in Epics
Controls and I need help fixing it.
The modification of the project consisted in reducing the number of
supported stepper motors and did not include changes in the mechanics of
the program's operation. When testing on the first two controllers, the
same problem was obtained with reading the encoder counts. The encoder
count reading is correct only in one direction, while in the opposite
direction, when the measured displacement goes through "0", it
immediately changes to a number corresponding to -2^31. Phymotion
"Phylogic" software was used to test the functionality of the hardware:
a stepper motor and an incremental encoder - the tests were successful.
PV type: motor
file "db/Phytron_motor.db"
{
patterns
{P, N, M, DTYP, PORT, ADDR, DESC, INIT, EGU, DIR, VELO, VBAS, HVEL,
VMAX, ACCL, BDST, BVEL, BACC, MRES, ERES, RDBD, RCNT, PREC, DHLM, DLLM ,
UEIP}
{PHYIOC:, 1, "m$(N)", "asynMotor", phyMotionPort, 11, "motor $(N)", "",
urad, Pos, 50, 60, 60, 160 .4, 0, 100 , .2, 0.05, 0.010, 0.100, 10, 3,
8100, -8100, 1 }
}
file "db/Phytron_I1AM01.db"
{
patterns
{P, N, M, PORT, ADDR, SCAN, TIMEOUT, INIT, INIT_TIME, POS_TIME, HOMING,
MODE, POS_OFFSET, NEG_OFFSET, SWITCH_TYP, PWR_STAGE, ENC_TYP, ENC_SFI,
ENC_DIR, STOP_CURR, RUN_CURR, BOOST_CURR, BOOST, CURRENT_DELAY, HOPR ,
HIGH, HIHI, STEP_RES, PS_MON, MRES }
{PHYIOC, 1,":m$(N)", phyMotionPort, 11, "1 second", 3, YES, 20, 20, 2,
1, 0, 0, 4, 1, 1, 0, 0, 50 , 1200, 1200, 0, 20, 1210, 1210, 1210, 1, 1,
0.05 }
}
Thank you in advance for taking the time to consider my request.
Kind regards,
*Grzegorz Lak*
**