Argonne National Laboratory

Advanced Photon Source
Beamline Controls and Data Acquisition (BCDA)

Argonne Home > Advanced Photon Source >

* About
* synApps
* SPEC
* Data Visualization
* Data Acquisition
* ebrick
* Hardware
* Software
* Group Info
* Sector Contacts
* Knowledge Base
* Meetings
* Mailing list
* APS PV Information
* Air Handling
* APS status
* Bunch clock
* DI water
* Front end
* ID information
* Source information
* PSS information
* EPICS Naming Convention

Print this page

ID Controls Information

Version 4.0 (as of July 30, 2001), Mohan Ramanathan.

Introduction

This document gives a brief introduction to the Insertion Device (ID) and its associated control system.

Most of the devices installed in the storage ring are the 2.4 m long Undulator A (UA) style.  The vacuum chamber is typically a 5 m long chamber with an inside vertical aperture of 8 mm.  The minimum gap of the Undulator is 10.5 mm.  The devices are normally located in the downstream half of the 5 m long straight section.

At this time, a lower limit of 11.0 mm is imposed on most devices and the fully open gap is approximately 180.0 mm.

Most of the devices are controlled by stepping motors which move the ends of the device independently.  The motors at either end give us the ability to taper the device to broaden the harmonics.  The device has both a rotary and a linear encoder at each end.

During normal operation the linear encoder is used to position the device to the correct gap.  The rotary encoder is used as a backup.

Under normal operation the device is issued a command to move the two ends together.  However, when taper is needed a command can be issued for the amount of taper.

The taper angle cannot be more than 2 mrad, which translates to about 5 mm difference in gap between the two ends.

Operation Issues

When beam is lost or during injection, the ID control is changed from User mode to Operator mode and all the devices are fully opened.  After restoration of beam the devices are instructed to move to their previous user values which was set prior to the beam loss/ injection.  At this time the access of the device control is changed from Operator mode to User mode.

The beamline coordinator can request the Floor Coordinator to set a beamline limit on the minimum gap of the device.  This can be used by the beamline staff for their equipment protection. However, this limit value cannot be guaranteed to remain the same from run to run, and possibly even following an id control ioc reboot.

During operation of the device, any problems encountered by the users related to the device should be brought to the immediate attention of the floor coordinator on shift.  Also if one of the listed error message appears, the device control will be switched from User mode to System Manager mode.  Please notify the floor coordinator to expedite resolution of the problems.

The next section will discuss in greater detail the controls aspect of the devices.

Controls

The devices are controlled by EPICS.  Each sector has a VME crate (IOC) to control the Insertion Device for that sector.  The control system for the device is set up in a manner that a user can request a specific gap in mm for the Undulator or a specific energy in keV for a harmonic range of 1 to 7of the device.  The control system uses a calculation algorithm for conversion of gap to energy and vice versa based on stored files of the measured magnetic profile of the particular device and the finite beam emittance.  In the case of the wiggler all calculation for energy reflects the critical energy for the specific gap.  The control system commands the motors to move to a specific value, while it monitors the encoders.

The control of the device is accomplished with 10 process variables.  An additional 5 process variables are used for synchronous Scanning mode.  There are only 8 relevant process variables which need to be monitored at any time.  In addition there are other process variable which are useful to monitor.  In addition there are more process variables which are not relevant for normal operation.  If anyone is interested in these process variables please contact your floor coordinator.

Later in this document are some example MEDM screen images.  Also copies of the MEDM control displays can be downloaded for your use.

At the end of this document, is a table displaying the process variables and their functionality.  All process variables conforms to EPICS standard database conventions.  Unless specified all process variable fields referred below are to the VAL field.

Listed below is a concise description of all the relevant process variables, some for controlling and others for monitoring.

Control Process Variables

CAT's can only have write permission to these field when device access control is set to USER mode

Replace the $(xx) with your 2 digit (01-35) sector number AND (us or ds) for upstream and downstream devices. 

   Example: ID01ds:EnergySet

There is one exception to the above:

  • Sector 4 where the the CPU is installed, in which case:
    xx=04ds for the downstream ID and xx=04b for the CPU

  • ID$(xx):GapSet
    Record Type : Analog Input              Operating Range : 11.0 - 180.0              Unit : mm

    This process variable sets the average desired gap position of the insertion device. Upon issuing the start command (ID$(xx):Start), the device moves to the desired set point.  (This process variable is used for normal operation.)

  • ID$(xx):TaperGapSet
    Record Type : Analog Input              Operating Range : 0.000 - 5.000              Unit : mm

    This process variable sets desired Taper amount about the average gap.  For normal Operation this value should be set to zero.   Upon issuing the start command (ID$(xx):Start) the device moves to the average gap and moves the upstream and downstream to obtain the required taper.  (This process variable is used in conjunction with ID$(xx):GapSet for taper operation.

  • ID$(xx):ScanGap
    Record Type : Analog Input              Operating Range : 11.0 - 180.0              Unit : mm

    This process variable is for scanning of the device in terms of average gap. The device starts to move upon entering a value in this field. This performs a semi-synchronous move on both the upstream and downstream motors of the device.  (This process variable is used for scanning operation.)

  • ID$(xx):ScanEnergy
    Record Type : Analog Input              Operating Range : 2.7 - 100.0              Unit : keV

    This process variable is for scanning the device in terms of the energy for the specified harmonic. The harmonic value is used for the energy to gap conversion.  The device starts the move upon entering a value in this field.  (This process variable is used for scanning operation.)

  • ID$(xx):EnergySet
    Record Type : Analog Input              Operating Range : 2.7 - 100.0              Unit : keV

    This process variable sets the ID gap by entering the desired energy for the specified harmonic. The gap position is calculated based on the selected energy. Upon issuing the start command (ID$(xx):Start), the device moves to the desired set point.  (This process variable is used for normal operation.)

  • ID$(xx):TaperEnergySet
    Record Type : Analog Input              Operating Range : variable              Unit : keV

    This process variable sets the desired amount of energy spread about the average energy for the specified harmonic.  Upon issuing the move command (ID$(xx):Start), the device moves to the desired set point.  (This process variable is used in conjunction with ID$(xx):EnergySet for taper operation.)

  • ID$(xx):DeadbandGap
    Record Type : Analog Output              Operating Range : 0 - 1000              Unit : microns

    This process variable is used to set a deadband in microns for the motion of the device.  When a command to move the device is issued, a check is made between the current and requested positions.  If the difference value is greater than the specified deadband value the device will execute the move.  Also once the gap of the device is within the deadband value of the desired position, the device will stop.  A deadband value of 0 will result in the device moving to the exact desired gap.

  • ID$(xx):HarmonicValue
    Record Type : Analog Output              Operating Range : 1 - 7              Unit : number

    This process variable sets the harmonic of interest for gap to energy conversions.  Setting this process variable to a certain value will influence all energy conversions.  The energy readbacks now will reflect the energy corresponding to the harmonic value selected.  The default is 1.

  • ID$(xx):Start
    Record Type : Binary Input

    Set this record to 1 to start moving the device.

  • ID$(xx):Stop
    Record Type : Binary Input

    Set this record to 1 to stop all motion of the device.

  • ID$(xx):SyncScanMode
    Record Type : Binary Input

    Set this record to 1 to start operating the device in Synchronous scanning mode.

  • ID$(xx):SSStartGap
    Record Type : Analog Input              Operating Range : 11.0 - 180.0              Unit : mm

    This process variable is used to set the starting gap for Synchronous Scanning.   (This process variable is used for Synchronous scanning operation.)

  • ID$(xx):SSEndGap
    Record Type : Analog Input              Operating Range : 11.0 - 180.0              Unit : mm

    This process variable is used to set the ending gap for Synchronous Scanning.   (This process variable is used for Synchronous scanning operation.)

  • ID$(xx):SSTime
    Record Type : Analog Input              Operating Range : variable              Unit : seconds

    This process variable is used to set the duration for Synchronous Scanning.   This sets the time to travel between the starting gap to ending gap.   (This process variable is used for Synchronous scanning operation.)

  • ID$(xx):SSStart
    Record Type : Binary Input

    Set this record to 1 to start the Synchronous Scanning after setting up the profile.

Monitor Process Variables

The following records are for monitoring purposes.

  • ID$(xx):Gap
    Record Type : Analog Output              Unit : mm

    Monitor this record for the current average gap position.

  • ID$(xx):TaperGap
    Record Type : Analog Output              Unit : mm

    Monitor this record for the current taper amount of gap.

  • ID$(xx):Energy
    Record Type : Analog Output              Unit : keV

    Monitor this record for the current average energy for the specified harmonic.

  • ID$(xx):TaperEnergy
    Record Type : Analog Output              Unit : keV

    Monitor this record for the current amount of tapered energy for the specified harmonic.

  • ID$(xx):Busy
    Record Type : Binary Output

    Monitor this record to determine whether the device is moving.  It is set to 0 when not in motion, 1 when in motion.

  • ID$(xx):Message1
    Record Type : String Output

    Monitor this record for all status and error messages.

  • ID$(xx):Message2
    Record Type : String Output

    Monitor this record for  status message related to gap - energy conversions and all global information.

  • ID$(xx):Message3
    Record Type : String Output

    Monitor this record for status message related to Auto Open of ID when front end shutters are closed.

  • ID$(xx):SSBusy
    Record Type : Binary Out

    This value is set when the device while moving is within the required gap range.   (This process variable is used during Synchronous Scanning mode.)

  • ID$(xx):OldGapSet
    Record Type : Calc

    The record saves the previous gap set value.

  • ID$(xx):Taper
    Record Type : Binary Out

    This displays ON/OFF depending on whether the device is in a tapered condition.

  • ID$(xx):EncoderSelect
    Record Type : Binary In

    This displays wheather LINEAR or ROTARY encoder is used.

  • ID$(xx):PositionAccuracy
    Record Type : Calc

    The record has the value of the positioning accuracy used by the device.

  • ID$(xx):Location
    Record Type : String Output

    This record displays the sector number where the device is located and its position (upstream or downstream).

  • ID$(xx):Device
    Record Type : String Output

    This record has device serial number and the period of the device.

  • ID$(xx):Version
    Record Type : String Output

    This record is for the version number of the ID Control Software.

  • ID$(xx):SSState
    Record Type : Multi Bit Binary Output

    Monitor this record for the current state while in Synchronous Scanning mode. The following values are:
    0 Waiting
    1 PreMove
    2 Scanning
    3 Finishing

  • ID$(xx):ShClosedTime
    Record Type : Calcout              Unit : Seconds

    The record is the count down timer and displays the time left before ID will be opened automatically.

  • ID$(xx):MotorSpeed
    Record Type : Analog Output              Unit : rps

    Monitor this record for the current speed of the device.

  • ID$(xx):GapReturn
    Record Type : Analog Input              Unit : mm

    This record is used to save the user average gap prior to a full open command during injection.

  • ID$(xx):TaperGapReturn
    Record Type : Analog Input              Unit : mm

    This record is used to save the user taper gap prior to a full open command during injection.

  • ID$(xx):TotalPower
    Record Type : Calc              Unit : Watts

    This record calculates the total power from the device normalized to 100 ma for the current gap.

  • ID$(xx):ExpectedPower
    Record Type : Calc              Unit : Watts

    This record calculates the total power from the device normalized to 100 ma for the desired gap entered.

  • ID$(xx):AccessSecurity
    Record Type : Multi Bit Binary Input

    Monitor this record for the current access mode. When in User the control has been transferred to user.
    The following modes and their values are:
    0 User
    1 Operator
    2 Machine Physics
    3 System Manager

  • ID$(xx):DeviceLimit
    Record Type : Analog Output              Operating Range : 11.0 - 180.0              Unit : mm

    Monitor this record to determine the beamline limit for the device. This is an administrative limit set by Floor Coordinator upon request from beamline coordinator. This tells the minimum gap allowed for this device.  The DRVL and DRVH fields of this devices has the absolute minimum and maximum gaps allowed.

  • ID$(xx):FullOpenGap
    Record Type : Analog Input              Unit : mm

    This record has the gap value to open to for a full open command during injection.

Status/Error Messages

The following messages are displayed via the process variable (ID$(xx):Message1).

  • Requested Position OK
    Requested device gap value is within operating range.
  • Requested Taper OK
    Requested device taper gap value is within operating range.
  • Requested Gap/Taper OK
    Requested device gap and taper gap value is within operating range.
  • Gap/Taper Out of Range
    Either/or gap and taper is outside the operating range.
  • Taper Too Large
    Requested taper gap value is outside the operating range.
  • Beamline Limit Value OK
    Requested Beamline Operating Limit is within operating range.
  • Beamline Limit Out of Range
    Requested Beamline Operating Limit is outside operating range.
  • Device Started
    Device has been requested to move.
  • Device Stopped!!
    Device has been commanded to stop.
  • Device At Destination
    Reached the requested destination gap.
  • Device out of Bounds!
    Device is outside the operating range.   Will switch access to System Manager.
  • Device Recovered!
    Problem with the device has been rectified.
  • Device Stalled !
    Sensed a device stalling of the motors.  Will stop the motion.  A start command follwoing will restart the device.
  • Detected Motor Error!
    Motor controller has sensed a limit hit.  Will switch access to System Manager.
  • All Encoders Failed !
    Sensed failure of all encoders.  Will switch access to System Manager.
The following messages are displayed via the process variable (ID$(xx):Message2 ).

  • Energy <=> Gap Conversion OK
    Energy - gap conversion was successful.
  • SMALL for Energy <=> Gap Conversion !!
    Energy - gap conversion was not performed due to either energy or gap being out of range.
  • LARGE for Energy <=> Gap Conversion!!
    Energy - gap conversion was not performed due to either energy or gap being out of range.
  • Energy/Taper Out of Range!!
    Energy and taper combination is outside the operating range.
  • Call System Manager!!
    Problem with the device requiring the ID System Manager to intervene.
  • No Return without Full Open - IGNORED
    A Return to User previous Gap was issued without a global Full Open command.
  • FULL OPEN COMMAND!! Opening to xxx mm
    A Full Open command is issued prior to injection.
  • "OPEN WHILE CLOSING!! Opening to xxx mm
    A Full Open command was issued while the device was returning to User previous gap.
  • Returning to User Gap of xxx.xxx mm
    A global return to user gap command was issued.
  • STOPPED before User gap of xxx.xxx mm
    The device was stopped while it was executing the return to user previous gap.
  • Returning to previous gap of xxx.xxx mm
    A global return command was issued and the was in Machine Physics access mode.
  • STOPPED before previous gap of xxx.xxx mm
    The device was stopped while it was executing the return to previous gap command and the device was in Machine Physics access mode.
  • System Manager - FULL OPEN IGNORED!
    A global full open command was issued while the device was in System Manager access mode.
  • System Manager - Return Gap IGNORED!!
    A global return to user previous gap was issued while the device was in System Manager access mode.
The following messages are displayed via the process variable (ID$(xx):Message3 ).

  • Gap Auto Openeed at ........
    Time stamp of event when gap was auto opened.
  • Gap Open Aborted at ........
    Time stamp of event when Auto Gap open is aborted due to shutter openning.
  • Gap Timer Started at ........
    Time stamp of event when the countdown timer starts counting down.

How to Access

Please refer to the Data from APS Control System doucument for a detailed approach on accessing the data from the APS control system.

However to control and write into the controllable process variable your computer name and the user name must be one from the list provided to ASD Controls group.  In addition the access control for the specific device must be in USER mode.

Other Information

For your convenience we have provided medm adl files.  Sample screen can be viewed by clicking on the links below.

For the new version (3.0x and beyond) of Undulator Control Software it is recommended that you retrieve these new adl files.
You can get a copy of these adl files by using the link below.

On these adl files replace $(xx) by your sector number in the range 01-35.

If you feel you need any other additional information feel free to contact ASD Controls.

Table of Process Variables

Listed below is a table of all process variables.  The record type for each process variable is also listed.  The functionality of all the records is listed. In addition a brief description of each record is listed.

Process Variable Type Functionality Description
ID$(xx):GapSet AI User Control Set the Average Gap in mm.
ID$(xx):TaperGapSet AI User Control Set the Taper Gap amount in mm.
ID$(xx):ScanGap AI User Control Average Gap for Scanning in mm.
ID$(xx):ScanEnergy AI User Control Average Energy for Scanning in keV.
ID$(xx):EnergySet AI User Control Set the Average Energy in keV for the set Harmonic.
ID$(xx):TaperEnergySet AI User Control Set the Taper Energy amount in keV for the set Harmonic.
ID$(xx):DeadbandGap AI User Control Set the Deadband Value for the Gap in microns.
ID$(xx):HarmonicValue AO User Control Set the Harmonic Value for proper Energy conversions.
ID$(xx):Start BI User Control Set flag to start the device motion.
ID$(xx):Stop BI User Control Set flag to stop all motion of the device.
ID$(xx):SyncScanMode BI User Control Set the device up for performing Synchronous Scanning.
ID$(xx):SSStartGap AI User Control Set the Starting Gap for performing Synchronous Scanning in mm .
ID$(xx):SSEndGap AI User Control Set the Ending Gap for performing Synchronous Scanning in mm .
ID$(xx):SSTime AI User Control Set the Time Duration for performing Synchronous Scanning in seconds .
ID$(xx):SSStart BI User Control Set flag to start the Synchronous Scanning.
ID$(xx):TaperGap AO User Readback Readback of amount of Taper Gap in mm.
ID$(xx):Energy AO User Readback Readback of the Average Energy in keV for the set Harmonic.
ID$(xx):TaperEnergy AO User Readback Readback of the amount of Taper Energy in keV for the set Harmonic.
ID$(xx):Busy BO User Readback Busy flag readback to indicate device in motion.
ID$(xx):Message1 STRINGOUT User Readback Status and Error messages
ID$(xx):Message2 STRINGOUT User Readback Energy Conversion and global operation messages
ID$(xx):Message3 STRINGOUT User Readback Infromation about Auto Open-Close
ID$(xx):SSBusy BO User Readback Flag is set during the desired time for Synchronous Scanning.
ID$(xx):OldGapSet CALC User Readback Readback of Previous value of Average Gap Set in mm.
ID$(xx):Taper BO User Readback Indicates whether the device is in Tapered condition.
ID$(xx):EncoderSelect BI User Readback Readback of Encoder Selected
ID$(xx):PositionAccuracy CALC User Readback Current Operating Accuracy of the Device in mm.
ID$(xx):Location STRINGOUT Useful Readback Location Identifier String for the device.
ID$(xx):Device STRINGOUT Useful Readback Device Identifier String.
ID$(xx):Version STRINGOUT Useful Readback Software Version Number
ID$(xx):SSState MBBO Useful Readback Useful Status information during Synchronous Scanning.
ID$(xx):MotorSpeed AO Useful Readback Current Motor Speed in rev/sec
ID$(xx):ReturnGap AI Useful Readback Average User Gap saved for Global Return in mm.
ID$(xx):TaperReturnGap AI Useful Readback Taper Amount saved for Global Return in mm.
ID$(xx):ShClosedTime CALCOUT Useful Readback Time left before Auto Open of Device in seconds .
ID$(xx):TotalPower CALC Useful Readback Total Power output from the device normalized to 100 mA in Watts .
ID$(xx):ExpectedPower CALC Useful Readback Total Power for the Desired gap normalized to 100 mA in Watts .
ID$(xx):AccessSecurity MBBI Floor Coordinator Control Value of the current Access Security Mode.
ID$(xx):DeviceLimit AO Floor Coordinator Control Set the Small Gap limit for Beamline Operations in mm.
ID$(xx):DeviceLimit.DRVL AO System Manager Control Set the Lower Limit Gap for the device
ID$(xx):DeviceLimit.DRVH AO System Manager Control Set the Upper Limit Gap for the device.
ID$(xx):FullOpenGap AI System Manager Control Full Open Gap in mm.

Valid HTML 4.01! · About · synApps · SPEC · Data Visualization · Data Acquisition · ebrick · Hardware · Software · Group Info · Sector Contacts · Knowledge Base · Meetings ·
· Mailing list · APS PV Information · EPICS Naming Convention ·

JFM, 03 Feb 2009
U.S. Department of Energy UChicago Argonne LLC Office of Science - Department of EnergyOffice of Basic Energy Sciences - Department of Energy
Privacy & Security Notice | Contact Us | Site Map