Glossary

Glossary#

audience:all

Archiving#

In Tango archiving refers to storing Attributes in a Database. See HDB++. For more details please see the archiving section.

AtkPanel#

AtkPanel is a generic control panel application. It can be used to control any Tango device. It supports most of Tango features and data types. Using AtkPanel you can view and set attribute values, execute commands, test the device and access diagnostic data. For more details please see the atkpanel section.

Attribute#

An attribute represents a process value (or values) in the system. It may have different formats or dimensions like scalar(0D), spectrum(1D) or image(2D). The attribute allows to read and/or write these values depending on programmer-defined access. The values may have different data types. In addition, an attribute provides some metadata like attribute quality, timestamp or configuration properties. For a complete list please refer to the manual. A list of attributes available for a certain device is defined by its device class. For more details please see the attribute section.

attribute quality#

A value returned by an attribute has a runtime quality factor which is an enumeration describing the state of the read value (one of VALID, INVALID, ALARM, CHANGING, WARNING).

Attribute quality#

Another name for Attribute quality factor. For more details please see the attribute section.

Attribute quality factor#

A value returned by an Attribute has a runtime quality factor which is an enumeration describing the state of the read value (one of VALID, INVALID, ALARM, CHANGING, WARNING). For more details please see the attribute section.

AttributeProxy#

The AttributeProxy is a placeholder on the client side with exactly the same interface that a real Attribute exposes. Only when an operation on an AttributeProxy is performed, a connection to the Attribute of a real Device is attempted and on success the operation is performed. In case the Attribute of the real Device cannot be reached, a client-side Tango exception is raised. For more details please see the device-server-model section.

client#

In Tango a client is either a DeviceProxy or an AttributeProxy instance created by a program. For more details please see the device-server-model section.

command#

A command is an operation a user may invoke on a device (eg. SwitchOn, SwitchOff). It also relates to a specific method in OOP (Object-Oriented Programming). Tango Controls allows a command to get input argument (argin) and to return a value (argout). List of available commands for a certain device is defined by its device class. See the command section of this documentation for more details. For more details please see the command section.

CORBA#

The underlying technology for network operations is CORBA. This software package allows Tango to work with multiple programming languages as the network interface itself is defined in a markup language from which the code is generated from. For Tango the interface is defined in the tango-idl repository.

Databaseds#

The Tango device server of the TangoDB. For more details please see the tangodb section.

device#

A device is a key concept of Tango Controls. It is an object providing access to its attributes, pipes and commands. The list of attributes, pipes and commands available for a certain device is defined by its class. The device may be related to a hardware device it interfaces with or it may be a kind of a logical device providing some functionalities not directly related to hardware. For more details please see the device section.

device class#

A Device Class is an abstraction of a device’s interface. It defines attributes, pipes, commands and properties which a device of the class provides to users and to other components of a Tango system. A device class ofter relates to a specific kind of equipment it allows to interface with like a SerialLine class defines interface to communicate with serial line equipment. For more details please see the device section.

device pattern#

Provides programmers with a framework on which they can develop new control objects. For more details please see the device-server-writing section.

device server#

A Device Server is a program (executable) which is able to create devices of certain classes. A Device Server may implement one or multiple classes and instantiate one or more devices. A running device server is called a device server instance. For more details please see the device section.

device server instance#

A running device server is called a device server instance. So it means, it is a process. Every device server instance has an unique name in Tango Controls by which it can be referenced. The name is built as {DeviceServerName}/{instanceName}. For each running device server the system creates a special device of DServer device class: dserver/{DeviceServerName}/{instanceName}. This device provides a management facility for the corresponding device server instance (see DServer class device commands ). For more details please see the device section.

device state#

A device may be in a certain state which is determined at runtime. The state of a device may reflect the state of a piece of equipment it interfaces with or be determined in another way. The behaviour is defined by the device class which implements a state machine. The state may define attributes’, commands’ and pipes’ operations available at that moment. Tango Controls has a set of allowed states the device may be in; these are: ON, OFF, CLOSE, OPEN, INSERT, EXTRACT, MOVING, STANDBY, FAULT, INIT, RUNNING, ALARM, DISABLE, and UNKNOWN.

DeviceProxy#

The DeviceProxy is a placeholder on the client side with exactly the same interface that a real Device exposes. Only when an operation on a DeviceProxy is performed, a connection to the real Device is attempted and on success the operation performed. In case the real Device cannot be reached, a client-side Tango exception is raised. For more details please see the device-server-model section.

dynamic attribute#

A device may create attributes for which the configuration is determined during device initialization or even at runtime. This kind of attributes is called dynamic.

Dynamic Attribute#

A device can create Attributes that have their configuration determined during device initialization or even later when the Device is already running. This kind of Attribute is called Dynamic Attribute. For more details please see the attribute section.

Enumerated Attribute#

Attributes with a scalar data format can be enumerated allowing a set of defined label+value pairs. For more details please see the attribute section.

File Database#

The File Database is a lightweight, file-based alternative for the Tango Database for testing purposes and single device server setups. or more details please see the filedatabase section.

Forwarded Attribute#

A forwarded attribute is one that gets its configuration from another attribute, which is known as the root attribute. It will forward requests, configuration changes, event subscriptions and locking behaviour to the root attribute. For more details please see the attribute section.

HDB++#

Historical Database++ (HDB++) is the successor of HDB, Tango’s Attribute ariving solution. For more details please see the archiving section.

Interoperable Tango Reference#

Unique identifier for referencing remote device servers, based on the CORBA IOR

Memorized Attribute#

The last written value for this type of attribute will automatically be stored in the database so that on startup this value is fetched and written to the attribute. For more details please see the attribute section.

pipe#

A pipe allows to read and/or write structured data from and/or to a device. The data consists of one or more basic Tango data types. The structure of the data is defined by a device class but is not static. It can be changed at runtime by the device itself or modified upon request by a client according to the set_pipe_config operation provided by pipe. The list of available pipes in a device is defined by the device’s device class. For more details please see the pipe section.

Pogo#

Java tool for generating boiler plate code for C++/Java Tango Device servers. For more details please see the pogo section.

property#

A configuration parameter stored in the Tango Database. Properties can be assigned to a device class, device or elements of device interface (attributes, commands, pipes). Properties can be also not related to device - such properties are called free properties. Property values are often used by elements of Tango Controls system during its startup. These usually provides information required to configure things like connections to hardware or to adjust to user preferences. For more details please see the property section.

Property files#

Text format to store device classes and device servers including their properties. or more details please see the property-file section.

SCADA#

It is an abbreviation standing for Supervisory Control and Data Acquisition.

state machine#

A state machine for a device class defines the operations (commands’, attributes’ and pipes’ access) available in different states of a device.

Tango Access Control#

A device server that manages user’s rights to perform read/write requests on a particular device. For more details please see the access-control section.

Tango Controls#

Tango Controls is an object-oriented, distributed control system framework which defines a communication protocol, an Application Programmers Interface (API) and provides a set of tools and libraries to build software for control systems, especially SCADA. For more details please see the overview section.

Tango Core#

Tango Core is a set of main tools, libraries and specifications of the Tango Controls framework. It consists of libraries and API definitions for C++, Java and Python as well as tools to manage the system: Astor, Jive, etc.

Tango Database#

A combination of the Tango device server Databaseds and a MariaDB backend. It provides static and runtime configuration information about Tango Controls components in a Tango Controls system. It is used by the Databaseds device server and constitutes the Tango Host. For more details please see the tangodb section.

Tango Host#

Each Tango Controls system/deployment has to have at least one running DataBaseds device server. The machine on which DataBaseds device server is running has the role of a so called Tango Host. DataBaseds is a device server providing configuration information to all other components of the system as well as a runtime catalog of the components/devices. It allows (among other things) client applications to find devices in distributed environment.

Tango Resource Locator#

Schema used to identify tango objects, similiar to URLs. The Tango Resource Locator is defined in Tango’s RFC 16 For more details please see the naming section.

tango_admin#

Command line utility for administrative tasks related to the TangoDB For more details please see the tango-admin section.

TANGO_HOST#

An environment variable that specifies on which host and port a Databaseds device server is running. The host part and port are separated by a colon :. Commonly this is also referred to as the TangoDB. See also how to user multiple database servers. For more details please see the tangodb section.

TangoDB#

A shorter way to say Tango Databaseds device server and its MariaDB backend. For more details please see the tangodb section.

tangorc#

Tango configuration file holding various settings in the format key=value. This can be created globally in /etc/tangorc for unix-like OSes and in ${TANGO_ROOT}/tangorc for Windows. Or for the current user only in ~/.tangorc for unix-like OSes (not available for Windows). Environment variables with the same name override the entries from the files and the per-user file overrides the gobal one.

TDSOM#

The Tango device server object model. Abstract model how Tango devices and client interact. For more details please see the device-server-model section.