Automation controller

The automation controller runs on a standard PC, making use of modern technology and connectivity to control an unlimited number of axes. In a traditional automation system, this function would typically be performed by a PLC, but this technology can be severely limiting. We have taken the PLC model, duplicated functions, and re-imagined it to use modern hardware. Our automation controller can accept triggers from multiple sources, integrate with safety controllers, run effects on numerous axes with thousands of datapoints, trigger repeating effects and run custom scripts for fine-grained functional integration.

The controller runs on a dedicated industrial Linux PC which has been equipped with a suitable number of network interfaces. Internally, a database is used to store both system configuration and effect details. Snapshots are automatically taken of the entire database regularly, but it can also be exported for backup purposes. The controller makes use of modern Ethernet-based control protocols both for motion and for triggering. In addition, triggers can be sourced from other automation systems, timecode or manually from an operator. The controller also features a powerful scripting engine, allowing customised Javascript programs to be run automatically when a trigger arrives, or on a timer interval. These programs can be used to implement interlocking functionality, amongst many other applications.

Supported control protocols:

  • EtherCAT: industry standard protocol for control of industrial devices. The controller supports motor drives from any manufacturer, and also GPIO which can be used for system triggers, or to display visual feedback. EtherCAT supports up to 65,535 devices per bus, and the controller supports unlimited buses
  • ABB Mint API: for native control of ABB Microflex drives that don’t support EtherCAT, or where an alternative to EtherCAT is required
  • Modbus/TCP: for control of various devices including motor drives and GPIO
  • Other protocols: additional protocols can be integrated on request

An effect is essentially a list of parameters for each axis, which can be executed at a time offset. For motion axes, these parameters would typically be target position, acceleration, speed and deceleration. The automation controller automatically sends these parameters to the axis drive at the correct time to achieve the desired motion. A simple move may only require a single set of parameters, whereas a more complicated move may vary these several times a second.

The effect can be triggered using several different mechanisms:

  • Manual: operator uses the console or web interface to arm the effect, which turns on drive current and releases the brake. The operator would then start the effect at the appropriate time using the same interface
  • Timecode: operator uses the console or web interface to arm the effect, which prevents accidental activation. The effect is then triggered automatically when the specified timecode is reached. This allows for accurate synchronisation with other audio and visual elements
  • GPIO: operator uses the console or web interface to arm the effect, which prevents accidental activation. The effect is then triggered on a rising or falling transition of the nominated GPIO input
  • DMX value: operator uses the console or web interface to arm the effect, which prevents accidental activation. The effect is then triggered when a DMX channel (via Art-Net) reaches a configured value. This allows for simple synchronisation with lighting systems
  • Position: effect is triggered automatically when an axis reaches the specified position. This can be very useful for chaining effects together
  • Looping: effect is automatically re-triggered when complete, with an optional delay
  • Chaining: second effect is started automatically when the first effect completes, with an optional delay
  • Stopping: second effect is stopped when first effect is triggered. This is useful for terminating repeating effects
  • Third-party automation: effects can be armed and run from a different automation system, allowing that system to have full control over effects. This is useful if the show has a single automation operator, allowing control over all effects from a single console. Third-party automation systems can be integrated using a Modbus/TCP command/response protocol, or via GPIO