DiamondLightSource / DiamondLightSource/sm-bluesky

Channel Access (ca://) read operation timed out in fast scan

Open
#368 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
0
Forks
0
Avg merge
2d 3m
Merged PRs (30d)
8

Description

A Bluesky scan (grid_fast_scan) aborted during execution because a Channel Access (ca://) read operation timed out when trying to query the motor position of device sample_stage-y.

ophyd_async timed out attempting to read BL99P-MO-STAGE-02:Y.VAL during a trigger_and_read call within a fly scan step. This caused the status object to fail with TimeoutError('ca://BL99P-MO-STAGE-02:Y.VAL'), throwing a bluesky.utils.FailedStatus exception and bringing the RunEngine back to the idle state.

## Expected Behavior

ophyd_async successfully reads the current position/value of the motor signal BL99P-MO-STAGE-02:Y.VAL via Channel Access within the defined timeout limit, allowing the fly scan (grid_fast_scan) to continue collecting data smoothly.

## Context & Environment

Scan Type: Fast grid scan (sm_bluesky.common.plans.grid_scan.grid_fast_scan)

Failing Component/Signal: sample_stage-y -> ca://BL99P-MO-STAGE-02:Y.VAL

Frameworks/Tools: Bluesky, Blueapi, Ophyd-Async, aioca (EPICS Channel Access)

Python Version: 3.11.15 (Linux x86_64)

## Steps To Reproduce

Run a fast scan with low speed e.g. speed < 0.4ms

Acceptance Criteria
[ ] Identify and resolve the root cause of the PV timeout.
[ ] The plan grid_fast_scan can read sample_stage-y reliably without throwing a TimeoutError.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the timeout in sm_bluesky.common.plans.grid_scan.grid_fast_scan with a low speed, focusing on the trigger_and_read of sample_stage-y and PV BL99P-MO-STAGE-02:Y.VAL. Trace the Bluesky, Blueapi, ophyd_async, and aioca status path to identify the root cause; done means the fast scan reads the signal reliably without TimeoutError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.