An OPC Tag is an OPC server and address which drives values. The OPC server is typically a PLC or device, such as Ignition's OPC-UA server, or any third party OPC-UA server.
In the Tag Browser, double click on any existing OPC Tag, to see the the OPC Server name and Item Path.

The Memory Tags are simply values. The value is specified during configuration, and is stored when written (if the Tag allows writing).

The Expression Tags are driven by an expression, and its values are derived from a calculation. The expression syntax is the same as for property bindings, and allows mathematical operations, references to other Tags, logic operations, functions, and more. This expression example converts Celsius to Fahrenheit.

The SQL Query Tags execute a SQL Query, whose result provides the value for the Tag from the SQL database. Like an SQL binding in Vision, SQL Query Tags can reference other Tags to build dynamic queries. This SQL query example is getting the average of Ramp1 from the History table.

Complex Tags are created out of standard Tag types, but offer a variety of additional features. In simple terms, you can think of them as a way to create "data templates", where a particular structure of Tags is defined, and can then be created as if it were a single Tag. This UDT example shows two Motor instances, the data type Motor, and all the Tags that make up the structure (i.e., AMPS, HI SP, HOA, RUN_CMD, and STATUS).

The following feature is new in Ignition version
7.9.2
Click here to check out the other new features
A Derived Tag is an abstracted Tag that refers to another Tag. They are similar conceptually to Expressions Tags that reference another Tag, but Derived Tags have some additional functionality. Namely, they can write back to the referenced Tag.
The Source Tag Path property of a Derived Tag depicts which Tag the Derived Tag should reference. This is similar to the OPC Item Path on an OPC Tag, except it points to an Ignition Tag.
Aside from editing the Tag from the Designer, the Source Tag Path on a Derived Tag may be modified by writing directly to the SourceTagPath property on the Tag, or using a Tag Binding on a Vision component

Additionally, the SourceTagPath property may be changed through scripting:
#Example of writing to the SourceTagPath attribute via Python Script
system.tag.write("Derived Example/Derived Tag.SourceTagPath", "[.]Folder/New Source Tag")
Instead of a Numeric section, Derived Tags have a Value Derivation section accessible in the Tag Editor. This section allows you to leverage Expressions when reading from or writing to the source Tag, which provides a greater degree of customization than the traditional Numeric scaling settings available to OPC Tags.

Read Expression | Determines what value should appear on the Derived Tag. The current value of the source Tag may be referenced with the {source} reference. |
Write Expression | When writing to the Derived Tag, this expression determines what value should be written to the source Tag. The current value of the source Tag may be referenced with the {source} reference. The raw value passed to the Derived Tag may be referenced with the {value} reference. |
This interface provides an opportunity to scale the written and read value. For example, if the source Tag was in Fahrenheit, and the derived Tag should be Celsius, we could use the following expressions:
//Read Expression
({source}-32)*(5/9)
//Write Expression
{value}*(9/5) + 32
When added as a member of a UDT, Derived Tags may reference peer members. Additionally, UDT parameters may be used in the Source Tag Path.
