Why we use Lua

To deliver maximum flexibility and long-term reliability, our controller is powered by Lua — a lightweight scripting language trusted worldwide in professional systems.

Lua allows users to customize behavior, automate processes, and adapt control logic quickly and safely. Instead of changing firmware or waiting for software updates, adjustments can be made directly through clear and easy-to-understand scripts. This means faster implementation, easier maintenance, and greater independence.

Simple and Easy to Use

Lua was designed with simplicity in mind. Its clean and readable structure makes it easy to understand — even for users without programming experience.

With Lua, you can:

  • Define custom control sequences
  • React automatically to sensor values
  • Create time-based actions and schedules
  • Trigger alarms or notifications
  • Add special calculation rules and combine results from different camera stations
  • Adapt behavior for different products or machine variants

This flexibility allows the controller to adapt precisely to your application.

Fast and Efficient

Lua is extremely compact and efficient. It runs smoothly on our embedded hardware, ensuring fast response times and stable operation. Its small footprint means no unnecessary system load — just reliable performance where it matters.

Robust and Reliable

Stability is critical in professional environments. Lua has been developed and refined for decades with a strong focus on reliability. It features automatic memory management and a secure runtime environment, helping to ensure consistent and predictable behavior.

This makes Lua ideal for industrial, technical, and mission-critical applications.

Proven Worldwide

Lua is used across many demanding industries and platforms:

  • Major game platforms like Roblox and World of Warcraft
  • Professional software such as Adobe Lightroom
  • High-performance internet infrastructure at companies like Cloudflare
  • Large-scale technology providers including Tencent
  • Industrial automation, robotics, automotive systems, and embedded devices worldwide

Its global adoption demonstrates its maturity, performance, and dependability.

A short example

while true do   iTrigger0:Wait(true, 0)                  -- Wait for trigger from machine
   ShaftCam:GrabImage(ImageShaft)           -- Grab image from camera 'ShaftCam'
   valid, value = ImageShaft:GetResult()    -- Wait for image-processing result
   if value ~= true then:                   -- If the result is not ok
      oError:Set(true)                      -- Set digital output 'oError' to stop machine 
      break
   end
end

The Result

With Lua inside, our controller combines ease of use, high performance, and proven reliability. It is flexible for today’s requirements and robust for tomorrow’s challenges — powered by a technology trusted worldwide.