Beckhoff
Beckhoff motor controllers are the most complex in use at ISIS and will be the standard going forward. A Beckhoff controller is basically a generic PLC that includes a number of useful functions out of the box for running motors. The generality of a Beckhoff means that it will most likely be used in the future for measuring and controlling other hardware outside of motion. A more detailed presentation has been given about Beckhoffs in a Code Chat entitled Layers, Onions and Ogres.
Current Beckhoff installations are:
Instrument |
Device |
---|---|
LARMOR |
Rotation Bench |
IMAT |
Large sample bench, controlling rotation and height |
SANS2D |
Guides (5 in total) - note apertures are still Galil-controlled |
CHIPIR |
Filter set |
SANDALS |
Jaws and Sample changer |
CRISP |
Jaws (running old firmware for now) |
MUONFE |
Barn doors (in progress) |
INTER |
Secondary flight path upgrade (INTER tank) |
SURF |
Critical axis (in progress) |
Code on the controller
Unlike most other devices (except the Galil) the computing group has some oversight over the PLC code written on the controller. It has been agreed that this code will mostly be written by IDD, with oversight from computing to guide good programming practices, assist in debugging etc. Code running on the PLC is kept in source control here.
The Axis and Controller Commissioning Guide document describing setting up a controller and TwinCAT solution for a new system and configuring real and virtual axes within TwinCAT environment.
Commissioning a new Beckhoff on a beamline
IOC
Note
we no longer use tcIOC for numerous reasons, the most important being the dependence on the unreliable .tpy
file format which was preventing us from integrating the new motion standard library code. We now use AdsDriver
in conjunction with TwincatMotor
.**
See Beckhoff IOC Architecture for more information.
Troubleshooting
Testing
See Beckhoff testing
Updating
Some discussion has been had on how we handle updates to the Beckhoff PLC code and twincatMotor
etc. this is documented here