History of motor home
Why this project ?
This project is an evolution of the homing PLC generator motorhome.py from Diamond Light Source’s pmacUtil module.
The rationale for a new approach was:
To provide a terse and simple approach to defining a PLC
More readable
Easier to create and maintain for non-developers
To provide a mechanism for easily creating custom homing sequences
To implement a more structured approach (using jinja) in order that:
the library code is more readable and maintainable
it is far easier to extend
PLC code output
The original design of the PLCs that motorhome.py outputs was deemed to be legible and efficient so this has been preserved in the new project.
Hence the generated homing plcs should use same API as those generated by motorhome.py, and the standard homeing sequences generate exactly the same PLC code
For the standard homing sequences supported by the original motorhome.py this module will create exactly the same PLC code.
This is to the extent that existing homing PLCs have been imported into this project’s test area and used for system tests that generate the same code.