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 }
}