RTD Server

Data for live values is provided through an in-process RTD server module for Microsoft Excel that accepts a variety of formulas to address data. The “ProgID” identifier of the RTD server is “Rensen.RTD”, which needs to be included in each formula.

Live Value Formula

RTD formulas for live values are in the form:

=RTD("Rensen.RTD",, "<Connector Name>", "<Topic Name>", "<Tag Name>")

The double comma after “Rensen.RTD” indicates that the RTD server to talk to is on the local computer; this is always the case because the RTD server is implemented as an “in-process” module.

The connector name is the name of the connector sending the data, for example “OPC UA”.

The topic name is the topic that contains the live value tags, for example “Boilers”.

The tag name identifies the live value.

Live Value Formula for Arrays

The RTD server supports linking to one-dimensional array values. Referenced array tags require additional information to address elements within the array. This additional information is not provided through the “Copy Live…” function but can be added manually. To address a specific array element use RTD server formula:

=RTD("Rensen.RTD",, "<Connector Name>", "<Topic Name>", "<Tag Name>", "Value", <ValueIndex>)

Where <ValueIndex> is a place holder for the index of the array element. Example:

=RTD("Rensen.RTD",, "OPC UA", "Boilers", "TempArray", "Value", 0)

This will access the first element (index zero) of the TempArray array tag. A quick way to generate formulas for many array elements is to fill RTD formula cells using a reference to a separate index cell containing index values, for example:

=RTD("Rensen.RTD",, "OPC UA", "Boilers", "TempArray", "Value", A1)
=RTD("Rensen.RTD",, "OPC UA", "Boilers", "TempArray", "Value", A2)
...
=RTD("Rensen.RTD",, "OPC UA", "Boilers", "TempArray", "Value", A10)

with cells A1 to A10 filled with index values 0 to 9.

Extended Formula

The RTD formula may be extended to select specific properties of the live value:

  • Timestamp (local time)
=RTD("Rensen.RTD",, "<Connector Name>", "<Topic Name>", "<Tag Name>", "Timestamp")
  • Timestamp (UTC)
=RTD("Rensen.RTD",, "<Connector Name>", "<Topic Name>", "<Tag Name>", "TimestampUTC")
  • Status
=RTD("Rensen.RTD",, "<Connector Name>", "<Topic Name>", "<Tag Name>", "Status")
  • Status Text
=RTD("Rensen.RTD",, "<Connector Name>", "<Topic Name>", "<Tag Name>", "StatusText")