From e4c54128a2487ed0b14c9a7d33123bf47c7a058b Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Tue, 8 Sep 2026 16:09:43 +0100 Subject: [PATCH 1/2] document new TC macros --- .../motors/beckhoff/Beckhoff-commissioning.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md b/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md index d9cce9d9a1..f0dd6c35f1 100644 --- a/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md +++ b/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md @@ -30,19 +30,24 @@ Macros: - `ADS_PORT` - the port to use for communication with the Beckhoff - `MTRCTRL` - this is the controller number as shown on the table of motors. - `PLC_VERSION` should be specified as a macro, this may be removed in future releases, more information on this is available below however it should be set to `1` for instruments running the latest code. + +Additionally, these should all be `1` if the project has been commissioned by IDD, but are optional for backwards compatibility as loading variables which do not exist causes `adsDriver` to crash: - `FORWARD_DESC` - whether to forward the axis description from the controller. This forwards the value from `stDescription.sAxisName` to the motor record's `.DESC` field. Should be disabled if not filled in. +- `FORWARD_VELO` - whether to forward velocities from the controller. This forwards `stControl.fVelocity` to `.VELO` and `.VMAX`, and forwards `stControl.fJogVelocity` to `.JVEL`. +- `FORWARD_UNITS` - whether to forward units from the controller. This relies on `stDescription.sUnits` to be filled out for every axis. - `ALLOW_FROZEN_OFFSETS` - whether to allow setting frozen offsets on the device. This relies on `stControl.fSetPosition` existing and should be turned off if it doesn't. +- `ENABLE_AUTO_ON_OFF` - Whether to allow monitoring and enabling/disabling the auto-energise functionality on the beckhoff. This relies on `stControl.bAutoEnableDisable` to be present. +- `ENABLE_HOMING_PVS` - Whether to load values from `stHomingConfig` for reading and setting things like homing position values, homing sequence numbers. {#beckhoff_manual_commission_step} #### Fields that aren't automatically populated Although commissioning a Beckhoff is far simpler than a Galil from an IBEX perspective, there are some fields that need to be set manually for each axis. These are: -- Engineering units (`.EGU`) - [ticket to automatically populate](https://github.com/ISISComputingGroup/IBEX/issues/6855) +- Engineering units (`.EGU`) (if not using the `FORWARD_UNITS` macro) - Axis description (`.DESC`) (if not using the `FORWARD_DESC` macro) - - Note, if `stDescription` is filled out on a Beckhoff you can use the `FORWARD_DESC` macro set to `1` which will forward the PLC description to the corresponding motor record's `.DESC` field. - Soft limits - [ticket to automatically populate](https://github.com/ISISComputingGroup/IBEX/issues/8763) -- Velocities (`.VELO`, `.JVEL`, `.VMAX` and others) +- Velocities (`.VELO`, `.JVEL`, `.VMAX` and others) if not using the `FORWARD_VELO` macro. These can be set via a `caput` and will be autosaved thereafter. @@ -56,7 +61,7 @@ This is currently done in the same way as any other motion controller where IBEX #### If a controller has more than 8 axes -If a controller with more than 8 axes is going to be used, the TC IOC will alias records to the next controller number so they are shown in the GUI. For this to work you need to make sure that the next available controller number is not (and never will be, so long as the TC IOC uses it) used. +If a controller with more than 8 axes is going to be used, the `TC` IOC will alias records to the next controller number so they are shown in the GUI. For this to work you need to make sure that the next available controller number is not (and never will be, so long as the `TC` IOC uses it) used. {#beckhoff_arbitrary_fields} #### Arbitrary fields From bd0866662c2a8fb53e986f5cdb2786d135eb6e4b Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Thu, 10 Sep 2026 16:48:47 +0100 Subject: [PATCH 2/2] xfsdgskhnjldkamc --- doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md b/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md index f0dd6c35f1..f7d2a72206 100644 --- a/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md +++ b/doc/specific_iocs/motors/beckhoff/Beckhoff-commissioning.md @@ -36,7 +36,7 @@ Additionally, these should all be `1` if the project has been commissioned by ID - `FORWARD_VELO` - whether to forward velocities from the controller. This forwards `stControl.fVelocity` to `.VELO` and `.VMAX`, and forwards `stControl.fJogVelocity` to `.JVEL`. - `FORWARD_UNITS` - whether to forward units from the controller. This relies on `stDescription.sUnits` to be filled out for every axis. - `ALLOW_FROZEN_OFFSETS` - whether to allow setting frozen offsets on the device. This relies on `stControl.fSetPosition` existing and should be turned off if it doesn't. -- `ENABLE_AUTO_ON_OFF` - Whether to allow monitoring and enabling/disabling the auto-energise functionality on the beckhoff. This relies on `stControl.bAutoEnableDisable` to be present. +- `ENABLE_AUTO_ON_OFF` - Whether to allow monitoring and enabling/disabling the auto-energise functionality on the Beckhoff. This relies on `stControl.bAutoEnableDisable` to be present. - `ENABLE_HOMING_PVS` - Whether to load values from `stHomingConfig` for reading and setting things like homing position values, homing sequence numbers. {#beckhoff_manual_commission_step}