IDCS
Introduction
The Control Hardware
The Control Software
IDCS - The Insertion Device Control System of BESSY II
Preface
A Brief introduction to Insertion Devices
Overview over major components of IDCS
Hardware-Components
The ID-IOC
The MOCON
The UniDrive
Software-Components
IDCP
MOSERV
MOSIM (a Test-Program)
UNISERV
UNISIM
External Interfaces
The MC-IOC Interface
The Machine Control System Interface
The Motor-Interface
The Measurement System Interfaces
Internal Interfaces
Existing Software-Components used by IDCS
Programming Languages
Operating Systems
Drivers
VCAN
Libraries
SCI
GPS
LowCAL
SDO
GPS Device Support
EPICS
CALMVP
Design-Outline of the IDCS software components
Outline of MOSIM
Outline of MOSERV
Outline of UNISERV
Outline of IDCP
The insertion device control program (IDCP)
How to build and install IDCP
Prerequisites
RTEMS
Linux
Prepare your $HOME/.hgrc file
Create a directory where to build the application
Method 1: Repository checkout
Method 2: Recreate repository with MQ Patches from installed version
Configure IDCP
Build IDCP
Troubleshooting
Distribute a version
Activate a version
Edit configuration files in an installed version
Step One, make a backup
Step Two, edit the files
Step Three, activate the changes on the IOC
Reload the configuration file idcpnn_config.tab
Reload with caput (preferred)
Alternatively reload on the IOC console
Reload the current correction tables idcpnn_gap2ccmm.tab
Reload with caput (preferred)
Alternatively reload on the IOC console
Complete example
IDCP User Interface
Preface
Naming conventions for process variables (“PVs”)
Basic components of the undulator
Normal operation
How to detect the end of a movement
List of Process variables
Undulator State
State
Error
Position
Calculated Position
Controls
Destination
Command
Exec
Stop
Drive mode
Local/Remote
couple gap/shift
Dynamic Speed
Energy Table support
Topdir
Subdir
File
Energy column selectors
Gap column selectors
Shift column selectors
Select columns
Set energy
Energy speed
autostart
speed_control
Panels
User Panel
Energy Panel
Advanced concepts
Dynamic speed
Activating Dynamic Speed
Setting Dynamic Speed via Channel Access
Setting Dynamic Speed via the CAN Bus
Energy Table Support
How to load an energy table
How to select table columns
How to select an energy
How to move with constant energy speed
IDCP Status and Error Codes
Main panel
Status Codes
Error Codes
UniDrive undulators, UNIDRV Panel
Status codes
Error codes
Warning codes
UniDrive undulators, DIAG Panel
Status codes
Error codes
MOCON undulators, MOCON Panel
Status codes
Error codes
Warning codes
HW Error codes
CAN Object ID conventions at the HZB
Preface
Two ways to construct COBs
Node channel scheme
Node subobject scheme
The Monochromator CAN bus interface specification
Preface
Node-ID
CONFMESSAGE
PARAMETER
Dynamic Speed
FASTMESSAGE
IDCP correction coil control (ACS)
Introduction
Tables
One-dimensional tables
Two-dimensional tables
The configuration file
Calculated axle definition
Changing the configuration
The idcp-dist-info tool
Original documentation
Examples
Simple report for a single insertion device
Get fallback information for an insertion device
Show all active software versions for all insertion devices
Show the 5 most recently used software versions for all insertion devices
Show the 5 most recently used software versions for a single insertion device
Report ordered by version names
Format of the report
Show all versions ordered by version names
Report versions that are active on at least one insertion device
Show which !IOCs use or used a specific version
Report with additional information for a software version
Format of the report
Example
Report on version lifetimes
Format of the report
Report IOC boot times
Format of the report
Change IDCP versions used by IOCs (rsync-dist)
Introduction
Using idcp-dist-info to generate reports
Checking out the source with idcp-get-source
Examples for for getting IDCP sources
Display information with idcp-get-source
how to activate a version
The IDCP parameter database
Parameter database locations
Globally installed file
From working copy of the id-db repository
XML-RPC
Database queries with the iddb tool
Installing iddb
Installing with bii_scripts
Direct install
From the internal network at the BESSY II site
From anywhere else
iddb Usage
Using an editor to view the data
Using SDview to query the data
Starting SDview
SDview basics
Organization of the data
A first overview
Showing all parameter groups of a single undulator
Showing a single parameter group of an undulator
Showing a single parameter group of an undulator
Searching for a given parameter name
Searching for a value
Using SDpyshell to query the data
Starting SDpyshell
SDpyshell basics
Organization of the data
Simple queries
Parameter metadata
Parameter metadata: parameter-info
Parameter metadata: id-path-info
Finding a parameter if the exact name is not known
Comparing a parameter for all insertion devices
Querying a group of parameters
Find parameters that have a certain value
A complex query
Programming
Query the data with xmlrpc
List of IOC Bootparameters
List of IOCs
List of bootparameters:
eis3g.blc03.bessy.de
eis5g.blc05.bessy.de
eis6g.blc06.bessy.de
eis7g.blc07.bessy.de
eis8g.blc08.bessy.de
eis9g.blc09.bessy.de
eis10g.blc10.bessy.de
eis11g.blc11.bessy.de
ei1s11g.blc11.bessy.de
eis12g.blc12.bessy.de
ei1s12g.blc12.bessy.de
eis13g.blc13.bessy.de
eis15g.blc15.bessy.de
eis4gp.mlscs.bessy.de (MLS)
10.3.4.199 (SESAME)
How to set up the IOC hardware
Linux PC
HTTP Proxy settings
Basic setup
Create bootable image
Install
http proxy
ssh setup
apt-file setup
Packages
NTP setup
ioc user setup
idadm user setup
Access to remote file system
Set up console server
Install EPICS Base
Set up caRepeater service
Set up idcp script directory
Set up CAN bus initialization service
Set up idcp IOC as a service
Console access
VME Bus CPU with RTEMS
Set up NVRAM
Preparations
Set up real-time clock
Set up boot information
Set up auto boot
Monitor the boot process
Configure boot parameters
UniDrive device
SM-Application and SM CAN-Open
Prerequisites
Setup of a new device
SI-Application and SI CAN-Open
Prerequisites
Setup of a new device
The UniDrive Motor control system
The uniserv application
Finding the source code that is in use at an insertion device
Rebuilding the source directory for an installed version
Get and install uniserv
Get a working copy from the central repository
Configure the application
Create a local build
Install on the version server
Install the DPL files on the UniDrive devices
First time installation
Normal installation
Troubleshooting
The uniserv CAN bus interface specification
uniserv CAN Bus Protocol
Node-ID
CANOpen sync object
CANOpen PDO variables
CANOpen SDO variables
How to move an axle
Initialization of PDO objects on a UniDrive device
Setting the mode
The PDO and SYNC COB initialization
Definition of the SYNC COB
Initialize Tx3 PDO, CAN_STATUS
Initialize Tx5 PDO, CAN_CURR_POS
Initialize Tx6 PDO, CAN_TABLE_DELTA
Initialize Rx1 PDO, CAN_SPEED_VAR
Initialize Rx3 PDO, CAN_BROADCAST
Initialize Rx5 PDO, CAN_MAX_TIME
Initialize Rx6 PDO, CAN_DATA_ITEM
The unisim application
Download the application
Configure and build
Set up of your environment variables
Configure the virtual CAN Bus
Start the application
The MOCON motor control
Get and install MOSERV on the MOCON device
Checkout the moserv application
If you access as user “rcsadm” to our repository server
In all other cases (read-only access)
Location of the files
Install APOS and the MOSERV program code on a windows PC
Setup you PC
Use”APOS” to transfer the MOSERV application to the MOCON device
Connect the MOCON with your PC with a serial cable
Start dosbox
Configure MOSERV
Start APOS
Load MOSERV
Store MOSERV on the MOCON
Mark the program executable
Save the program
Test if the program is loaded
Exit APOS
The MOSIM application
Checkout the mosim application
Installing mosim
How to simulate IDCP on a Linux PC
Overview
Prerequisites (incomplete)
unisim
idcp
Configure virtual CAN Bus
Start unisim
Start idcp
Initialize undulator
Start DM2K
Use
CAN Bus Specifications and Troubleshooting
Cabling
Topology
Termination
VME-CAN4 Interface card
Manual
VME-CAN4 diagnostic LEDs
CAN Cable lengths
Troubleshooting
Termination
Connectors
Ports
Diagnose with a Linux Notebook
CAN line to the monochromator
Diagnose with LED
Diagnose with channel access
Diagnose with Linux notebook
Check if the Undulator IOC has a problem
Check if the cable prevents the sending of CAN objects
Check if one of the monochromator IOCs causes the problem
Insertion Device Cryo control program
The source
How to compile
How to put the software on the server
How to restart the server
IP Address translation
IP Addresses and DNS names
IOCs
Lantronics terminalserver (Unidrive Remote Access)
Lantronics Terminalserver configuration on hosts vmi1c.blc.bessy.de and vmi2c.blc.bessy.de
Unidrive IP access
Power supply addresses
Sites
BESSY II Storage ring
Metrology Light Source
SESAME
The Source Code
The idcp documentation project
The Insertion Device Control Program (idcp)
IDCP, uniserv, moserv and mosim license
IDCS
Index
Index
A
|
B
|
C
|
E
|
H
|
I
|
L
|
M
|
P
|
R
|
S
|
U
|
V
A
activate
B
bootparameters
IOC
build
idcp
C
CAN Bus
monochromator
uniserv
CAN Bus initialization
unidrive
CAN-Bus
configuration
idcp
correction-coils
idcp
cryo
idcp
cryo control
E
errorcodes
idcp
errors
idcp
H
hardware
idcp
UniDrive
I
idcp
build
configuration
correction-coils
cryo
errorcodes
errors
hardware
interface
parameters
status
statuscodes
StructuredData
user-interface
versions
,
[1]
idcp-dist-info
idcp-versions
IDCS
idcs
interface
idcp
Introduction
IOC
bootparameters
IP Addresses
VME; mvme2100
IP Addresses
IOC
L
License
M
MOCON
MOSERV
MOSIM
mocon
monochromator
CAN Bus
MOSERV
MOCON
moserv
MOSIM
MOCON
mosim
P
parameters
idcp
R
rsync-dist
rsync-dist.pl
S
sites
source
sources
sphinx
status
idcp
statuscodes
idcp
StructuredData
idcp
U
UniDrive
hardware
unidrive
CAN Bus initialization
uniserv
CAN Bus
unisim
user-interface
idcp
V
versions
idcp
,
[1]