Skip to content
Jack Harper edited this page Feb 8, 2023 · 93 revisions

Wiki > The Backend System > IOCs > Motor IOCs > 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.

Documentation

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. The ISIS first version of this code is stored here however this is now not used and going forward the code is written in collaboration with the ESS and stored here.

Troubleshooting

see Beckhoff troubleshooting

Testing

See Beckhoff testing

Commissioning a new Beckhoff on a beamline

see Beckhoff Commissioning

IOC

Beckhoff config area

The config area contains a directory used for storing .cmd files for use with the TC IOC (in the same way as a galil or other motor controller). On an instrument it should look like this: \instrument\settings\config\<instname>\configurations\twincat\.

Updating

Some discussion has been had on how we handle updates to the Beckhoff PLC code and twincatMotor etc. this is documented here

Clone this wiki locally