> For the complete documentation index, see [llms.txt](https://docs.videc.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.videc.de/acron-9.3/anlagenkonfiguration/prozessanbindung/provider/providerid/treiberauswahl/universeller-odbc-treiber-fuer-alarme.md).

# Universeller ODBC-Treiber für Alarme

#### Hintergrund

Meldungen und Alarme werden von dem ACRON Provider über die ODBC-Schnittstelle übernommen und in der ACRON Datenbank abgespeichert.

Das SQL-Statement zum Lesen der Daten ist frei konfigurierbar. ACRON merkt sich, ab welchem Zeitpunkt Daten übernommen wurden und setzt bei der nächsten Übernahme dort wieder auf.

Der Treiber entnimmt den SQL-Abfragebefehl einer ASCII-Textdatei. Die Datei muss in dem Anlagendatenpfad auf dem Server abgelegt werden (nicht im Plantcache!). Das ist der Pfad, der beim Anlegen der Anlage angegeben wurde und der auch in ACRON Admin angezeigt wird.

Der Treiber sucht zunächst eine Datei mit der Bezeichnung `ODBC_UNI_STATEMENT.TXT`.

Wenn diese Datei nicht vorhanden ist, sucht der Treiber nach der Datei `ODBC_UNI_AL_STATEMENT_X.TXT`, wobei das "X" durch die Identifikation (Providernummer) ersetzt wird.

Für Provider 1 wird also nach Datei `ODBC_UNI_AL_STATEMENT_1.TXT` gesucht.

Wenn auch diese Datei nicht vorhanden ist, wird folgendes SQL-Statement ausgeführt:

`SELECT Timestamp, Milliseconds, Tagname, Group, Description, Event, Eventtype, Operator, Priority, Text, Value, Limit`

`FROM Messages`

`WHERE (Timestamp > {ts '%s'}`

`AND Timestamp < {ts '%s'})`

`ORDER BY Timestamp`

Dort, wo im Statement das erste "%s" steht, wird zur Laufzeit das letzte erfolgreiche Übernahmedatum eingesetzt.

Dort, wo im Statement das zweite "%s" steht, wird zur Laufzeit die aktuelle Uhrzeit vor 30 Sekunden eingesetzt.

Es kann jedes beliebige, auch komplexe Statement, z.B. Joins, definiert werden. Einzige Bedingung ist jedoch, dass folgende 12 Spalten im Ergebnis der Abfrage auftauchen:

| Feldname         | Feldtyp       | Länge | K / M                       | Bedeutung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------- | ------------- | ----- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **TIMESTAMP**    | SQL-Timestamp | 19    | M                           | Hier wird Zeit und Datum in folgendem Format eingestellt: `YYYY-MM-TT HH:MM:SS`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **MILLISECONDS** | Num           |       | K                           | Millisekunden 0-999, wenn leer, dann wird 0 genommen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **TAGNAME**      | Char          | 199   | K                           | Die Variablenbezeichnung, wenn leer, dann wird "System" verwendet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **GROUP**        | Char          | 63    | K                           | Die Alarmgruppe, wenn leer, dann wird "Standard" eingestellt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **DESCRIPTION**  | Char          | 65    | K                           | Optional die Beschreibung des Alarms                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **EVENT**        | Num           |       | K                           | Das Alarmereignis, wenn leer, dann wird 4 angenommen. Zulässig sind: 1 KMT: Alarm beginnt 2 GHT: Alarm beendet 3 QIT: Anstehender Alarm wurde quittiert 4 NEU: Neuwertalarm, Meldung 5 RST: System wurde neu gestartet (Alle offenen Alarme werden beendet, anstehende Alarme müssen neu gemeldet werden.)                                                                                                                                                                                                                                                                                                  |
| **EVENTTYPE**    | Char          | 5     | K                           | Der Alarmtyp, wenn leer, dann wird DISK angenommen. Zulässige Werte sind: [Grenzwertalarme](https://github.com/Dataforum-Software/gitbook/blob/master/acron/9.3/de/designer/glossar/grenzwertalarm.md): HIHI, HI, LO, LOLO [Abweichungsalarme](https://github.com/Dataforum-Software/gitbook/blob/master/acron/9.3/de/designer/glossar/abweichungsalarm.md): ABW1, ABW2 [Änderungsalarme](https://github.com/Dataforum-Software/gitbook/blob/master/acron/9.3/de/designer/glossar/aenderungsalarm.md): AEND Binäralarme 1: DISK Binäralarme 2: OPR Binäralarme 3: LGK Binäralarme 4: DDE Binäralarme 5: SYS |
| **OPERATOR**     | Char          | 17    | K                           | Der Name des eingeloggten Benutzers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **PRIORITY**     | Num           |       |                             | Die Priorität des Alarms, wenn leer, wird 0 angenommen. Zulässig ist 0-999                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **TEXT**         | Char          | 159   | K                           | Der Alarmtext                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **VALUE**        | Char          | 29    | K                           | Der aktuelle Wert, der zum Auslösen des Alarms geführt hat.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **LIMIT**        | Char          | 29    | K                           | Der Wert der Alarmgrenze, die überschritten wurde.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                  |               |       | *K= Kannfeld / M= Mussfeld* |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

Hinweis

Wenn die angegebene Länge überschritten wird, dann wird der Inhalt automatisch auf die angegebene Länge gekürzt.

{% hint style="info" %}
Achtung

Wenn die gleichen Daten mehrfach übernommen werden, können diese mehrfach in der Datenbank auftauchen.
{% endhint %}

## Treiber <a href="#treiber" id="treiber"></a>

### Treiberdatei

Anzeige der Bezeichnung des ausgewählten Treibers und Auswahl eines Treibers aus der Liste der installierten Treiber

### Version

Version der Treiberdatei

### Schnittstellentyp

Anzeige des Schnittstellentyps des Treibers

### Datenübergabetyp

Beschreibung des Datenübergabetyps

## Treiberparameter <a href="#treiberparameter" id="treiberparameter"></a>

### Name der ODBC-Datenquelle

Name, der vom ODBC-Administrator angelegt wurde.

### ODBC Benutzer

Der Benutzername zum Zugriff auf die Datenbank ist optional.

### ODBC-Password

Das ODBC-Passwort zum Zugriff auf die Datenbank ist optional.

### Zeitstempel in UTC

Zeitstempel in lokaler Zeit oder in UTC-Zeit

0 = Nein

1 = Ja

## Einstellungen <a href="#einstellungen" id="einstellungen"></a>

### Messintervall

In diesem Intervall werden das SQL-Statement ausgeführt und die Daten übernommen.

### Abfrageverzögerung nach Start

Beginn der Datenprotokollierung in Sekunden nach erfolgreichem Aufbau der Prozesskommunikation der ACRON Provider. Das ist z.B. sinnvoll, wenn der Kommunikationspartner nach einem Neustart einige Zeit benötigt, um alle Variablen zu initialisieren.

Empfohlener Eintrag: 0 Sek.

### Providerfenster immer im Vordergrund anzeigen

Providerfenster werden immer im Vordergrund angezeigt

### Testmodus aktivieren

Anzeige eines Fensters mit Diagnosemeldungen

Der ACRON Provider öffnet beim Start ein Fenster mit Diagnosemeldungen. Das Log-File wird unter dem jeweiligen Providernamen im ACRON Installationspfad, Verzeichnis `Log`, abgespeichert.

Hinweis

Da der Diagnosemodus die Performance der Anwendung stark beeinflusst und die aufgezeichneten Meldungen in der Regel nur durch den technischen Support ausgewertet werden können, sollte eine Aktivierung nur erfolgen, wenn eine entsprechende Aufforderung durch den Support vorliegt.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.videc.de/acron-9.3/anlagenkonfiguration/prozessanbindung/provider/providerid/treiberauswahl/universeller-odbc-treiber-fuer-alarme.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.
