Tama: Real-time Programming
- 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
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