Download presentation
Presentation is loading. Please wait.
Published byLouisa Chapman Modified over 9 years ago
1
Marcel Grunder, EPICS Collaboration Meeting October 20081 Aerotech A3200 high precision rotation stage Windows based Epics IOC driver implementation
2
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 2 Aerotech components… ABR1000 Air-Bearing Rot. Stage ATS125 Linear Stage Ndrive + Npaq Amplifier A3200 motion software
3
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 3 Aerotech SMC controller ■ Motion control system and programming environment ■ Runs on a standard Windows PC ■ Maximum of 32 intelligent drives connected via IEEE 1394 ■ 20 kHz servo update rate for all axes ■ Integrated high-speed Position Synchronized Output (PSO) for position latching. ■ Utility Programs to configure, troubleshoot, and operate the controller ■ Programming interfaces include Aerotech’s own AEROBasic or RS274 G-code, C, C++, VisualBasic, Delphi and LabVIEW
4
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 4 A3200 Software Architecture Windows RTX Hardware Ndrive Npaq motors ■ Layer 4: Windows Apps ■ Layer 3: Programming Interface ■ Layer 2: Nmotion SMC engine ■ Layer 1: Drive Firmware IO C
5
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 5 At a beamline X-ray beam exposure box (filter) cryojet microscope
6
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 6 Measurement mode timing diagram Meas. time osc. angle time angle 1. calc Shutter Open Open delay PSO Open Accl delay Close delay PSO-Close M-Stop PSO Open Moving 2. move 3. Det. on 4. move M-Start Start
7
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 7 Epics driver requirements ■ Fast signal indicating "movement done" ■ A3200 PSO feature used to open/close fast beam shutter ■ Safe homing sequence for multiple axes stages ■ Measurement mode ► Define start + oscillation angle and oscillation time ► Use calc records to generate movement start + stop pos, shutter open + close pos and velocity. ■ Direct mode ► Absolute or incremental move of axis (axes) at defined speed
8
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 8 Software environment ■ Runs on Windows XP ■ EPICS base 3.14.8 ■ autosave and restore 4-2-1 ► store offset and velocities ■ state notation language (SNL) 2.0.1 ► homing sequence ■ A3200 v.2.19
9
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 9 A3200 programming models ■ Library Programming Model ► Simplest programming model used to initialize controller, to get controller and motor status info… ■ CNC Programming Model (G code) ► compiled and loaded as binary code, directly into the Nmotion SMC controller. ► Runs in RTX real time environment
10
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 10 A3200 programming models (cont.) ■ Mixed Programming Models ► There is no explicit synchronization between the CNC tasks and Windows threads. ► To synchronize use G-code global variables and CALLBACK statement. ■ In C: userCallback() ► Get the G-code Task number ► Set the correct moving flag ► scanIoRequest() ► epicsEventWaitWithTimeout()
11
Marcel Grunder, EPICS Collaboration Meeting October 2008 Aerotech Rotation Stage 11 Difficulties ■ Long time performance was limited by “automatic updates”. èUpdates done manually while no user operation. ■ McAfee Antivirus could disturb long time measurements when McShield service started. èMcShield will be restarted before user operation starts. ■ A3200 v. > 2.13 requires larger thread stack size static const unsigned stackSizeTable[epicsThreadStackBig+1] = {4000, 6000, 5000000}; ■ A3200 without hardware behaves differently. èAttention when testing limits, homing, errors…
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.