Aerotech A 3200 high precision rotation stage Windows

  • Slides: 11
Download presentation
Aerotech A 3200 high precision rotation stage Windows based Epics IOC driver implementation 1

Aerotech A 3200 high precision rotation stage Windows based Epics IOC driver implementation 1 Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage Aerotech components… ABR 1000 Air-Bearing Rot. Stage ATS 125 Linear Stage

Aerotech Rotation Stage Aerotech components… ABR 1000 Air-Bearing Rot. Stage ATS 125 Linear Stage A 3200 motion software Ndrive + Npaq Amplifier 2 Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage Aerotech SMC controller ■ Motion control system and programming environment ■

Aerotech Rotation Stage 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 k. Hz 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 3 Grunder, EPICS Collaboration Meeting October 2008 AEROBasic or RS 274 Marcel G-code, C, C++,

Aerotech Rotation Stage A 3200 Software Architecture ■ Layer 4: Windows Apps IO C

Aerotech Rotation Stage A 3200 Software Architecture ■ Layer 4: Windows Apps IO C ■ Layer 3: Programming Interface ■ Layer 2: Nmotion SMC engine ■ Layer 1: Drive Firmware 4 Windows RTX Hardware Ndrive Npaq motors Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage At a beamline cryojet exposure box (filter) X-ray beam microscope 5

Aerotech Rotation Stage At a beamline cryojet exposure box (filter) X-ray beam microscope 5 Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage PSO Open Accl delay 1. calc 2. move Close delay Open

Aerotech Rotation Stage PSO Open Accl delay 1. calc 2. move Close delay Open delay M-Stop Shutter Open PSO Open M-Start osc. angle Measurement mode timing diagram PSO-Close Start 3. Det. on 4. move Meas. time Moving 6 time Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage Epics driver requirements ■ Fast signal indicating "movement done" ■ A

Aerotech Rotation Stage Epics driver requirements ■ Fast signal indicating "movement done" ■ A 3200 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 7 ► Absolute or incremental move of axis (axes) at defined speed Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage Software environment ■ Runs on Windows XP ■ EPICS base 3.

Aerotech Rotation Stage 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 ■ A 3200 v. 2. 19 8 Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage A 3200 programming models ■ Library Programming Model ► Simplest programming

Aerotech Rotation Stage A 3200 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 9 Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage A 3200 programming models (cont. ) ■ Mixed Programming Models ►

Aerotech Rotation Stage A 3200 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: user. Callback() ► Get the G-code Task number ► Set the correct moving flag ► scan. Io. Request() ► epics. Event. Wait. With. Timeout() 10 Marcel Grunder, EPICS Collaboration Meeting October 2008

Aerotech Rotation Stage Difficulties ■ Long time performance was limited by “automatic updates”. èUpdates

Aerotech Rotation Stage Difficulties ■ Long time performance was limited by “automatic updates”. èUpdates done manually while no user operation. ■ Mc. Afee Antivirus could disturb long time measurements when Mc. Shield service started. èMc. Shield will be restarted before user operation starts. ■ A 3200 v. > 2. 13 requires larger thread stack size static const unsigned stack. Size. Table[epics. Thread. Stack. Big+1] = {4000, 6000, 5000000}; ■ A 3200 without hardware behaves differently. èAttention when testing limits, homing, errors… 11 Marcel Grunder, EPICS Collaboration Meeting October 2008