Tama: Real-time Programming

Tama
  • 10kHz real-time in the Servo Drives
  • Powerful, type-safe standard language

The Triamec servo drives, I/O controllers and adapters are freely programmable for customer-specific applications. Two tasks are available for this purpose:

  • Isochronous task at 10kHz
  • Asynchronous Task
Tama programming on Triamec products - real-time environments can also be used on the host PC instead of the .NET framework
Tama programming on Triamec products - real-time environments can also be used on the host PC instead of the .NET framework

Development is done with C# in Microsoft Visual Studio, which translates the code into the intermediate language CIL. A virtual machine (TamaVM) is installed on the Triamec devices, which interprets this standardized language and executes it in real time.

A Tama program can be loaded into the devices at runtime and then executed. For stand-alone applications without PC connection Tama programs can be stored persistently in the devices. Tama programs have access to all registers of the executing device and to cyclically transmitted coupling data of other devices.

 

Features of Tama Programs

  • Robust runtime environment: Virtual machine inside the device ("crash-proof")
  • Two tasks: One 10kHz real-time and one asynchronous task
  • Hard real-time in 10kHz
  • Strict type safety
  • Data types: int, float, bool, enum, struct, object, array
  • Access to device registers with IntelliSense function of Visual Studio
  • Mathematical functions
  • Interaction with PC application or Tama programs on other devices
  • New programs can be loaded and executed at runtime
  • Persistence allows autonomous operation without PC

Typical applications

  • Homing sequences, touch detection
  • Axis couplings (e.g. gantries)
  • Kinematics calculations (e.g. parallel kinematics of a delta robot)
  • Sequence controls for simple stand-alone applications (e.g. force guided press)
  • Dual Loop Control (also together with other Servo Drives)
  • Parameter adaptation (for control, gain scheduling)
  • Monitoring functions and other real-time machine reactions

Further information: Examples, Programming, Download