# Diagnostics

Diagnostic variables are available for device operation diagnostics. They are represented as OPC UA items and described below.

Only diagnostic variables that are common for all types of devices are described here

![](/files/O2xzxTP5hNR27kFnQWGB)

* **GoodResponses** (cyclic driver only): contains the total number of successful responses from the data source.
* **LastGoodResponseUtcTime** (cyclic driver only): contains the time of the last successful response from the data source in the UTC format.
* **BadResponses** (cyclic driver only): contains the total number of unsuccessful or unreceived (during loss of connection) responses from the data source.
* **LastBadResponseUtcTime** (cyclic driver only): contains the time of the last unsuccessful or unreceived response from the data source in the UTC format.
* **CommunicationEstablished:** contains that communication channel between the device and the data source has been established (True or False).
* **CommunicationLost:** inverted value of \_CommunicationEstablished.
* **DemoIsExpired:** contains that demonstration period for the device is expired.
* **MaxPollingDuration** (cyclic driver only): contains the longest reading time for a group of blocks in the device.
* **MaxScanDuration** (event-oriented driver only): specifies the maximum time (in milliseconds) it takes to parse data when listening to the channel.

The values of the diagnostic variables can be overwritten by the user. This requires that the user has the rights to write diagnostic parameters. Read more about this [<mark style="color:blue;">here</mark>](/basics/users-and-roles.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.monokot.io/tags-and-devices/devices/diagnostics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
