Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

Configure a runtime application

  • Last UpdatedDec 04, 2023
  • 2 minute read

Each XR runtime application needs to be configured for Message Bus for both network and data.

Network configuration

The network configuration is managed through different files, depending on the runtime application.

In most applications, the setting is part of the Application configuration file.

Each runtime application instance must define:

  • Message Role. Server, client (or plugin for XR Viewer and XR Instructor).

  • Message Name. A unique identifier on the Message Bus network. Not required for clients that use the dynamic name; required for the Server instance.

  • IP (only client). IP or DNS resolved name of the machine where the server is running.

  • Port. The port that is defined in the server configuration must match the port in the clients.

When using the Message Bus with the default embedded message communication system, the network should be configured so that all clients can reach the server. Local Networks, intranets, VPN, and cloud instances on public IPs are all supported.

Data configuration

Each runtime application is responsible for defining the list of data that is applicable to send and/or receive.

In most of the runtime applications, defining data is done by explicitly creating share and stream elements in the script code.

Dynamic clients

When Message.clientType is set to dynamic on a client instance, a unique name is provided by the server to the client after the connection is established. This allows for a more flexible networking configuration; however, can lead to some differences in the code that is needed to synch the instances:

  • The define Message.name will not contain the real client name. Therefore, it is not possible to create hard-coded behaviors and code branching based on that name. The client name can be retrieved (after received from the server) in the dedicated global node's field connections.

  • StateZero, the first packet containing all the necessary data to align the client with the server state, must be retrieved after receiving the client name from the server. To do so, it is possible to use the global node's dedicated field requestStateZero.

Implementation of applications using this kind of networking is more complex because it shifts the paradigm to runtime creation, rather than static definitions.

Note: Projects that use pre-built modules, such as ITS, do not implement the necessary logic to support dynamic client names.

In This Topic
TitleResults for “How to create a CRG?”Also Available in