> 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-10.2/acron_systemprogramme-tools/acron_provider_allgemein.md).

# acron Provider

Der acron Provider ist für das Lesen der Messdaten aus dem Leitsystem/SPS und Speichern in den externen Variablen zuständig.

Für jede Anlage können im [acron Designer](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider.md) maximal 98 Provider konfiguriert werden.

Da jeder Provider nur von einer Schnittstelle Daten aufzeichnen kann, muss für jedes Leitsystem der Anlage, aus dem Daten übernommen werden sollen, ein eigener Provider angelegt werden. Hierzu ist eine Vielzahl von [Anbindungstreibern](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider/treiberauswahl.md) zu unterschiedlichen Leit- und Visualisierungssystemen sowie Speicherprogrammierbaren Steuerungen (SPS) verfügbar. Die Zuordnung [Externe Variable](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider/variablengruppe.md#extvar) - Leitsystemvariable erfolgt über die [Identifikation](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider/variablengruppe/extvar-id.md) der externen Variablen. Diese muss mit dem Namen der Leitsystemvariablen übereinstimmen. Bei bestimmten Kommunikationstreibern ist eine vorgegebene Syntax zu beachten. Alternativ zum manuellen Anlegen der externen Variablen können diese auch aus dem Leitsystem importiert werden. Die zu protokollierenden Variablen können im laufenden Betrieb geändert werden.

Der Provider muss während der Betriebszeit einer Anlage unbedingt jederzeit aktiv sein, da sonst keine Daten protokolliert werden.

Zu jeder im Admin erstellten Anlage können im Designer mehrere Provider konfiguriert und jedem Provider kann eine Identifikation (Providernummer) zugeordnet werden.

Da jeder Provider nur von einer Schnittstelle Daten aufzeichnen kann, muss für jedes Leitsystem der Anlage, aus dem Daten übernommen werden sollen, ein eigener Provider angelegt werden. Hierzu ist eine Vielzahl von [Anbindungstreibern](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider/treiberauswahl.md) zu unterschiedlichen Leit- und Visualisierungssystemen sowie Speicherprogrammierbaren Steuerungen (SPS) verfügbar. Die Zuordnung [Externe Variable](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider/variablengruppe.md#extvar) - Leitsystemvariable erfolgt über die [Identifikation](/acron-10.2/acron_module/ac_designer/anlagenkonfiguration/prozessanbindung/provider/variablengruppe/extvar-id.md) der externen Variablen. Diese muss mit dem Namen der Leitsystemvariablen übereinstimmen. Bei bestimmten Kommunikationstreibern ist eine vorgegebene Syntax zu beachten. Alternativ zum manuellen Anlegen der externen Variablen können diese auch aus dem Leitsystem importiert werden. Die zu protokollierenden Variablen können im laufenden Betrieb geändert werden.

Der Provider muss während der Betriebszeit einer Anlage unbedingt jederzeit aktiv sein, da sonst keine Daten protokolliert werden.

Für jeden aktiven Provider wird auf dem Desktop ein [entsprechendes Symbol](#status) angezeigt, das auch Auskunft über den aktuellen Status gibt. Die zugehörige Identifikation (Providernummer) wird als Tooltipp über dem Providersymbol eingeblendet.

Die Infofunktion des Providers ermöglicht:

* den aktuellen Wert der Variablen einzusehen,
* den Kommunikationsstatus zu betrachten und zu überwachen,
* Systemmeldungen der letzten Tage einzusehen.

## Startoptionen des Providers <a href="#parameter" id="parameter"></a>

Wird der Provider im [acron Admin](/acron-10.2/acron_module/ac_admin/anlagenuebersicht/anlage/dienste_und_anwendungen/provider.md) ohne Parameter gestartet, verwendet er die dort eingestellte Standardanlage. Ist keine Anlage als Standard definiert, so verwendet der Provider eine beliebige Anlage.

Sollen **mehrere Provider** auf einem Rechner laufen, um z.B. aus mehreren Kanälen Daten zu übernehmen oder um mehrere acron Anlagen zu protokollieren, müssen die erforderlichen Parameter beim Start übergeben werden.

Hierbei gilt folgende Aufrufsyntax:

|                                                                              |                                  |
| ---------------------------------------------------------------------------- | -------------------------------- |
| `ACPROV.EXE` Anlagen-Identifikation Provider-Identifikation (Providernummer) | Beispiel: `acprov.exe DEMOSTD 1` |

Die *Anlagen-Identifikation* gibt die Anlage an, die der Provider protokollieren soll.

Die *Provider-Identifikation (Providernummer)* muss nur dann angeben werden, wenn mehrere Provider auf **einer** Anlage laufen sollen. Diese Nummer gibt von eins beginnend an, als welcher der projektierten Provider dieser Provider laufen soll.

Wenn auf **einer** Anlage mehrere Provider mit gleicher Nummer laufen (das kann auch auf unterschiedlichen Rechnern im Netz der Fall sein), kann ein Redundanzkonzept realisiert werden. Solange der erste Provider erfolgreich Daten sammelt, bleibt der zweite Provider inaktiv. Erst wenn es dem ersten Provider nicht mehr gelingt, Daten zu sammeln, versucht der zweite Provider diese Aufgabe zu übernehmen.

{% hint style="info" %}
In der Anlagenverwaltung des Designers kann unter [Optionen](/acron-10.2/acron_module/ac_designer/anlagenverwaltung/optionen.md) optional ein [Passwort](/acron-10.2/acron_module/ac_designer/anlagenverwaltung/optionen.md#passwort) vergeben werden, das beim Beenden des Programms abgefragt wird, um z.B. ein versehentliches Schließen zu vermeiden. Das Passwort berücksichtigt die Groß- und Kleinschreibung.
{% endhint %}

### acron Provider als Dienst betreiben

Alternativ kann der Provider als Dienst eingerichtet werden. Das ist immer dann möglich, wenn der entsprechende Kommunikationsserver in der Lage ist, mit einem Dienst zu kommunizieren.

Falls die Daten über Netz auf einen anderen Rechner geschrieben werden, muss in der Anlagenverwaltung der Pfad unbedingt in UNC-Notation (\Rechnername\Freigabename\Pfad) angegeben werden, da Laufwerke erst beim Benutzer-Login gemappt werden. Um die erforderlichen Berechtigungen für den Zugriff auf dem entfernten Rechner als Dienst zu erhalten, muss ggf. ein Benutzerkonto eingerichtet werden, das auf dem anderen Rechner vorhanden ist. Windows lässt es jedoch dann nicht mehr zu, dass das Programm als Fenster auf dem lokalen Desktop zu sehen ist. Dazu ist unter Systemsteuerung/Verwaltung/Dienste die Eigenschaften des Dienstes zu aktivieren und dort unter "Anmelden" ein entsprechendes Konto einzutragen.

### Entfernen des Dienstes von der Kommandozeile aus:

ACProvService Anlagen-Identifikation Provider-Identifikation (Providernummer) /U

## Symbole des Providers <a href="#status" id="status"></a>

<table><thead><tr><th width="90"></th><th></th></tr></thead><tbody><tr><td>Symbol</td><td>Erklärung</td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-86c269aa4ad99ec88d28e534dce0cbccba34b54f%2F01_provider_startdelay_57x60.png?alt=media" alt=""></td><td><p><strong>Anzeige von Sekunden</strong></p><p>Für den Provider wurde eine Startverzögerung konfiguriert. Die Protokollierung beginnt erst, wenn die Sekunden den Wert Null erreicht haben.</p></td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-002cf7f3d0c1d284170ce5d08b7741377f68fffa%2F02_provider_nodata_57x60.png?alt=media" alt=""></td><td><p><strong>Sinus</strong></p><p>Der Provider hat Verbindung zum Leitsystem und arbeitet korrekt.</p></td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-0ceb3fb2c483f0689104e9d26b3376e14981dd93%2F03_provider_data_57x60.png?alt=media" alt=""></td><td><p><strong>Blaues Quadrat im Sinus</strong></p><p>Der Provider hat Verbindung zum Leitsystem und arbeitet korrekt. Es wurden Daten aufgezeichnet (Messintervall).</p></td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-65b1a436a9706b3e4e80e104023d99fdc7b4db98%2F04_provider_alarm_57x60.png?alt=media" alt=""></td><td><p><strong>Rotes Quadrat im Kopfteil</strong></p><p>Der Provider hat soeben einen Alarm aufgezeichnet.</p></td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-da414896105eb440a43b5a8ea73a497e9cef079c%2F05_provider_problem_57x60.png?alt=media" alt=""></td><td><p><strong>Schwarzer Hintergrund</strong></p><p>Der Provider kann in dem angegebenen Anlagenpfad keine Daten schreiben oder es liegt ein Kommunikationsfehler vor.</p></td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-251369c8d2f076d9dc034646a9c4e410b7a6b5a0%2F06_provider_close.png?alt=media" alt=""></td><td>Beendet den Provider.</td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-d824ac7f8b964e72137ad7dc0efe307a732e1348%2F07_provider_info.png?alt=media" alt=""></td><td>Zeigt die <a href="#providerinfo">Providerinfo</a>.</td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-2895f5214d77cc780971296fca40e967e01d993f%2F08_provider_diskused_14x60.png?alt=media" alt=""></td><td>Zeigt den benutzten Festplattenspeicherplatz (zwischen 0% und 100%).</td></tr><tr><td><img src="https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-34c0372d86788adf92a7999a7a6bd1fd5efb0003%2F09_provider_id_32x21.png?alt=media" alt=""></td><td>Konfigurierte ID des Providers.</td></tr></tbody></table>

{% hint style="info" %}
Wenn das Providersymbol blinkt, dann hat der Provider keine Verbindung zum Leitsystem und kann keine Daten protokollieren.
{% endhint %}

## Providerinfo <a href="#providerinfo" id="providerinfo"></a>

Über die Schaltfläche "i" wird eine Übersicht mit Informationen geöffnet. Es werden alle externen Variablen mit ihren Werten angezeigt. Über das Feld "Search" kann gezielt nach bestimmten Bezeichnungen gesucht werden. Die erste Übereinstimmung wird farblich (in diesem Beispiel ist es blau) hervorgehoben. Des Weiteren informiert der Dialog über Lesefehler einer Variablen und den Kommunikationsstatus. Die Schaltfläche "View logfile" öffnet eine Protokolldatei, die z.B. Einträge über Start, Beenden und Fehler des Providers enthält. Mit "OK" kann die Providerinfo verlassen werden.

![](https://1151762701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjSU3GHHJanKd147YiS4f%2Fuploads%2Fgit-blob-4068f67137feea992f9afe43cbda878fe9392ac9%2Fproviderinfo.png?alt=media)


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.videc.de/acron-10.2/acron_systemprogramme-tools/acron_provider_allgemein.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
