Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Galil: begin not valid with motor off error during homing #8609

Open
FreddieAkeroyd opened this issue Dec 21, 2024 · 2 comments
Open

Galil: begin not valid with motor off error during homing #8609

FreddieAkeroyd opened this issue Dec 21, 2024 · 2 comments
Assignees

Comments

@FreddieAkeroyd
Copy link
Member

Reported from POLARIS during end of cycle homing on 20/12/2024

One axis - W1 - on reaching its home position at ~ +40mm seemed to stop there, rather than backing off a fraction of a mm like all the other axes do (it's "Home" button remained greyed out). I jogged it closed a few mm then hit the Home button again and everything seemed OK.

N3 only reached ~35mm when it hit its home position (I'd have expected it to reach 40mm) - perhaps parts of the encoder are failing so that it's not recording its movement properly (this has happened for a few other axes during the years).

More worrying was what happened during the resetting back to the standard beam size settings. As far as I could tell from the IBEX Device Screens graphics all the axes were moving. But one they had finished, all the horizontal gaps readback numbers remained at ~80mm, suggesting they hadn't moved. I moved E1 and W1 manually to their desired positions and they seemed to move, but left all the others because at this point I noticed there were error messages on the axis control screens in the Device Screens view:

Jaws sets 1 & 2: all 8 axes' screens read Error B Homing Timed
Jaws sets 3 & 4: all 8 axes' screens read Error (I can't remember the exact wording - might have been Motor Stall)

@FreddieAkeroyd
Copy link
Member Author

Error in log was

[2024-12-20 11:06:51] Home started axis B
[2024-12-20 11:07:04] Discarding unsolicited message: "CMDERR_error" axis=" " value="20.0000"
[2024-12-20 11:07:04] Discarding unsolicited message: "CMDERR_line" axis=" " value="107.0000"
[2024-12-20 11:07:04] Discarding unsolicited message: "CMDERR_thread" axis=" " value="1.0000"
[2024-12-20 11:07:07] sevr=major Homing timed out after 3.509584 seconds: _BGB=0 _SCB=2 [Decelerating or stopped by FWD limit switch or soft limit FL] hjogB=4 homedB=0
[2024-12-20 11:07:07] sevr=major B Homing timed out

when #CMDERR is run it kills the galil thread, hence later message

[2024-12-20 11:07:42] Thread 1 not running on model DMC2280 Rev 1.0o-CM, address 192.168.1.201
[2024-12-20 11:07:42] Galil home threads are not running. Attempting to restart homing threads.
[2024-12-20 11:07:42] Discarding unsolicited message: "Galil_Code_Execution_Time" axis=" " value="-1737622230.0000"
[2024-12-20 11:07:42] Galil homing threads restarted successfully.

A CMDERR_error or 20 is begin not valid with motor off - looking at galil code we did a SHB;WT50;BGB - given a second later home worked on the axis, it suggests that WT50 was not just not long enough this time?

There are issues with using WT, it is prone to this sort of thing if "not long enough" but also it is a Galil trippoint and holds up thread execution. If we had one thread per axis that would be less of an issue, but as we use a single thread across axes I think it would be better to recode this to not wait but instead test for the expected condition (we do this already for BG/ST where we have additional hjog states that monitor _BG befroe moving to the next operation)

@FreddieAkeroyd
Copy link
Member Author

The second case was

[2024-12-20 11:12:12] Home started axis D
[2024-12-20 11:12:26] STALL: pestall_time=1.21303 (>1.2sevr=major Encoder stall stop motor D
[2024-12-20 11:12:26] ) encoderMove_=0 encDirOk_=1 _SCD=0 [Motors are running, independent mode] _BGD=1
[2024-12-20 11:12:26] Poll services: STOP D
[2024-12-20 11:12:26] Motion Complete: _SCD=4 [Decelerating or stopped by Stop Command (ST)] fwdLimit=not engaged revLimit=not engaged

motor homed second time round.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant