Overview

The Runtime Diagnostics is enabled when the Designer (configuration tool) is connected with a Runtime (Solution in Execution).  That page shows some status information on the execution modules, and tracks if the Solution configuration matches (if is synchronized) with the Solution in Execution.

This section explain the features on that Page, and introduce additional Platform diagnostics, named PropertyWatch, TraceWindow and Module Information. 

On this page:


Runtime Diagnostics User Interface

The User Interface is composes by 3 main elements:

Modules Status: Just use the command buttons, in order to Start, Stop or Pause the execution of any Module.

Run Tools: Start the additional Diagnostics tools

Runtime Connection State and Synchronization Status table: Shows if the Runtime is connected, and the configuration in the Designer is synchronized with the  Runtime configuration running in memory. 



Understanding Configuration-Runtime Synchronization 

Offline Configuration

When creating or modifying a solution, sometimes it’s better to not immediately modify the runtime state. In Offline Configuration mode, the saved changes will only be updated to the runtime project if the Hot Update is used, otherwise, the changes will take effect the next time the solution is started.

Online Configuration

Another way to work is to have the Designer connected with a Runtime, and the online configuration enabled. In this scenario all modifications are applied immediately to the Runtime, as you edit tables, or save documents. 

Not all operations are possible to be applied online, for instance, you can't modify the type of a tag, or Client-Server domain of the scripts, as those changes implies to larger compiling and changes on the system that is running. In this case, those changes will take effect the next time the system is initialized. 

Designer-Runtime synchronization Status

When you connect the Designer with a Runtime, the synchronization is updated showing if any of the configuration on your file are not the same as the running solution.

There are various scenarios where you can connect with a Solution that mismatch the configuration file. Here are some examples:

  • You were doing offline configuration, but the running application is older than what you have in the file. 
  • Someone else, from other computer, modified the Runtime, so your specific file may be older that the current solution in execution.
  • A solution file backup was recovered, but the running solution still uses the previous one.

When the Configuration and the Execution are not synchronized, there are two options.

  • You can shutdown the running solution, and start it again with the current configuration.
  • You can connect with the running solution, and perform a HotReload command. 

HotReload Command

The HotReload operation will apply the updated Configuration to the Runtime, without having to shutdown the running Solution and without losing the values of Tags of objects in memory. 

The way it operates is by identifying all the objects that have been modified, those listed in the Synchronization table. For each affected module, it briefly pauses the execution of the module and applies the changes to the loaded module.


Using the Diagnostic Tools

There are three ways to open the diagnostics tool. The first and most common is from Startup window, on server side. After starting the project, the Startup window displays the status (running or not running) of each module in your application. In addition, it allows you to open any or all of the following diagnostic tools: PropertyWatch (Watch), TraceWindow (Trace), and ModuleInformation (Info).

The tools you select will begin running in separate windows as long as your application is running. If you do not see these windows, you may find them minimized at the bottom of your screen.

In addition from the Runtime Diagnostics page, those tools can be started also from the TStartupWindow, which is generated when running a Solution in Windows, and not using Windows Services.

 

Another way is from the runtime environment, on the project editor through the Runtime → Diagnostics.

Finally, it is possible to run them on the client side.


Property Watch

Property Watch is a tool designed to access and modify the system's tags and internal properties. With an Intellisense feature, it also provides a list of available objects related to a specific object type.

Property Watch is a diagnostic tool used to access the system's tags and internal properties for reading or writing. Also, this tool is separated in two sides, on the left side is possible to select the object to visualize its properties on the right side.

Index

Description

1

Check to overlay other windows.

2

The Browser tab is used to select any object to show info on the right side.

3

It is possible to build a personalized list of objects that you are interested in monitoring.

4

Display the logged-in username.

5

Select to show all properties from selected object.

6

Name of selected object that you want to show details.

7

Show a control panel to turn modules ON/OFF.

On the left side, when selected any list tab, it's possible to type the name of the property in the Object column, and its value will be displayed in the Value column on the Object properties tab. When you type the name of an object type (e.g. "tag") followed by a dot, IntelliSense will provide a list of all the available objects. You may select any object from this list, (e.g. "tag.index"), or you may select the type itself (e.g. "tag"). In each case, the value will be provided and all applicable properties and their values will appear in the right hand panel on the "Object Properties" tab.

If you select the "Modules Status" tab, you will see the original status panel. While the project is running, you can start or stop individual modules at any time.

You can also change the object and property values from the Property Watch screen as long as the changes are permitted. 


Trace Window

The Trace Window is a system message display tool that provides status information about various system operations. It allows you to enable or disable the display of error, info, and warning messages and displays invalid addresses in configurations for devices.

The Trace Window is a tool that displays system messages in a data grid interface.

Index

Description

1

Data Header, to apply filters and identify the information.

2

Specific information about the notification.

3

Automatically scroll the sidebar to show the latest information.

4

Check to overlay other screens.

5

Open the settings window.

6

Clear all the info notifications (if not stop, the notifications still coming).

7

Stop showing the most recent notifications.

8

To export/save the view data (XML or CSV).

9

Close this window.

10*

Text message that contains information about the error code.

Its common use the trace to find information about the Devices, in this case, the messages contain status information (based on Devices → Channels → Settings column) about reads, writes, unsolicited, TX frames (sent), and RX (received).


Trace Window: Settings

In the Trace Window, click the Settings to select the options for the message types, modules, data formats, or to save to file. You can also configure a tag in the Object Name field and click Add to select that object to include in the monitoring.


When selecting the Devices check box in the Settings, we suggest you to enable only the error, info, and warning information. Do not enable the debug information or you will create too much data. For ControlLogix devices, it is important to use this tool, as the system will display the invalid addresses in the configuration.


Index

Description

1

It is possible to select any configuration property, be it tag, device or any system property to monitor its changes at runtime.

To do it, fill the field 1 with the specific name, select the property from the list that will be shown and click "Add",

then when the property changes, the trace will show a message.

To remove a property from the monitoring list, select any and click "Remove" or click "Clear" to remove all.

2

3

4

5

It's possible to select the type of messages that we will follow.

  • Info: notices that can be added by users.

  • Error: something is not working, probably timed out waiting for a response.

  • Debug: used by developer team.

  • Warning:

6

It's possible to choose one or more modules to monitor.

7

Here you can select if you want to see the logs in the Trace Window (Grid option) or to export it to a file (File option).

8

To choose this window theme.

9

To close this window.

Module Information

Module Information provides detailed information about the operation of the modules in your application. It offers insights into the functionality of the communication channel, status of the virtual reading groups, quantities of readings, error reports, and more.

Module Information contains information about the operation of the modules. Next to the name of the modules we have the IP address where the module is running. When click on module name, the specific information will be loaded into the whiteboard on the right.

Index

Description

1

Alarm: show specific information about the alarm module.

2

TCPServer: show all modules, clients and devices connected on server. 

3

ScriptTaskClient: show some statistics information about the Expressions and Tasks from the client's domain.

4

Device Module: This item will be explained in more detail in the next section.

5

Dataset: show all configured database accesses on project.

6

Script Task Server: show some statistics information about the Expressions and Tasks from the server's domain.

7

Settings: only to change the display theme.

8

Pause: pause the update the data shown on whiteboard on the right.

9

Close: to close Module Information display.


An important use to this tool is to check any device operation by index 4.

Select the Devices Module and a specific channel to get information about the functioning of the communication channel. 

The Read Groups Information provides information about the virtual reading groups, runtime of each item, quantities of readings, readings that have failed, reports on the code, and date/time of the last error. 

To use the Module Information:

  • Go to Read Groups Information to look at the number of Successful and Failed communications and to quickly identify the communication blocks.

  • If you have systematic errors in every block or status code that has a negative value, it means you cannot access the remote device. Check if the node address is correct.

  • If you have a block with systematic errors, verify the tags and addresses connected with the block. Use the Trace Window with Device information to collect information about the communication errors.

  • For some protocols, such as OPC, the discarded items will show the wrong addresses in the configuration.

When running the Enterprise version in test mode, the system only reads from the field devices, even if there is a configuration to write to a field.

The online configuration can be enabled when the application is running. This means you do not need to start and stop the application when modifying the configuration. You can modify PLC addresses, access types, and most of the application. You can see the real-time results on your running application. You can use the Startup window or the PropertyWatch "Module Status" tab to start and stop one module, like Devices, instead of restarting the whole runtime system.


Runtime Diagnostics Columns

Runtime Diagnostics Properties

Module

Lists the specific module within the solution being monitored.

TableType

Specifies the type of table used to display the diagnostic information.

DesignerVersionID

Identifies the version of the module as defined by the designer.

RuntimeVersionID

Shows the version of the module currently executing in the runtime.

Designer Modified

Records the last date and time when the designer modified the module configuration.

Runtime Modified

Logs the last date and time when the runtime application was modified.

Description

Summarizes the purpose of the module and any relevant details about its configuration or status.


In this section:

  • No labels