Speaker
Description
Modern beamlines need a flexible way to run everything from simple motor moves to multi-dimensional, hardware-triggered acquisitions - often orchestrated through web-based user interfaces rather than bespoke scripts. At the Australian Synchrotron (ANSTO), we have implemented a Generic Scan library on top of Bluesky, making Bluesky declarative: it specifies what should be measured, not how the scan should be executed, enabling an almost generic web GUI to drive experiments while the framework generates executable Bluesky plans. Scans are described as a hierarchy of nested step levels, each containing one or more positioners and supporting absolute or relative trajectories. Data collection is encapsulated in reusable measurement blocks that standardise detector configuration, triggers, exposure settings, and acquisition modes with multiple stopping conditions. Pre- and post-plan hooks at both step-level and measurement level enable insertion of alignment, calibration, metadata injection, and safe cleanup logic without modifying core scan code. This talk outlines the schema, execution plan generation, and practical beamline use cases.