CSV-Datei für OPC-Drittgeräte
Bevor Sie Daten von OPC-Items importieren können, müssen Sie manuell die Konfigurationsdaten in einer CSV-Datei bearbeiten (eine Textdatei mit kommagetrennten Werten).
Vorlage für die CSV-Datei für OPC-Geräte
Eine Vorlage für die CSV-Datei (OPC_ConfigurationData_Ver1_1.csv) ist in folgendem Pfad verfügbar: GmsMainProject\profiles\OPCDataTemplate. Basierend auf dieser Vorlage können Sie eine eigene OPC-Konfigurationsdatei erstellen.
OPC CSV Dateiabschnitte
Abschnitt | Beschreibung |
[KOPFZEILE] | Enthält folgende Trennzeichen:
Zur leichteren Identifizierung werden die Trennzeichen in den nachfolgenden Zeilen in doppelten Anführungszeichen („ “) gesetzt. |
[DATEIVERSION] | Zeigt die aktuelle Version der CSV-Datei an. Sie entspricht der Desigo CC-Softwareversion. |
[BIBLIOTHEK] | Gibt den Namen der Objektmodellbibliothek an, die zum Erstellen der OPC-Elemente verwendet werden soll, die in dieser Konfigurationsdatei enthalten sind. Hinweis: Dieses Tag ist obligatorisch. Wenn dieses Tag leer gelassen wird oder die Bibliothek nicht vorhanden ist, wird eine Fehlermeldung angezeigt. |
[STATE_TEXTS] | Enthält folgende Daten:
Hinweis: StateTexts sind nur für Multistate-Punkte und Binärpunkte anwendbar (Gleitkommawerte haben keine integralen Zustände). Wenn eine CSV-Datei jedoch StateText für Punkte mit dem Datentyp Float/Double enthält, wird der Zustandstext für diesen Punkt während des Imports übersprungen. |
[SERVERS] | Umfasst Serverdaten (siehe OPC-Serverdaten unten). |
[GROUPS] | Schliesst Gruppendaten ein (siehe OPC-Gruppendatenweiter unten). |
[ITEMS] | Schliesst Artikeldaten ein (siehe OPC-Artikeldatenunten). |
Daten in „OPC Servers“
Der Abschnitt [SERVERS] ist wie folgt zusammengesetzt:
Daten in # Servers: [Name] [Description] [ProgId] [Alias] [Function Name] [Discipline ID] [Subdiscipline ID] [Type ID] [Subtype ID]
Zum Beispiel:
Server_Matrikon; Server OPC;Matrikon.OPC.Simulation.1;0;1;200;201
Data | Verwendung | Beschreibung |
[Name] | Notwendig | Name des Drittanbieter-OPC-Server-Ordners wie er im System Browser angezeigt wird. |
[Description] | Notwendig | Beschreibung des Drittanbieter-OPC-Item-Ordners so wie sie im System Browser angezeigt wird (in Klammern neben dem Namen). |
[ProgId] | Notwendig | Programm-Identifikation für die Registry des OPC-Servers. |
[Alias] | Optional | Aliasname, der dem OPC-Server zugewiesen ist. |
[Function Name] | Optional | Name der Funktion, die dem OPC-Server zugewiesen ist. |
[Discipline ID] | Optional | ID der Disziplin, die dem OPC-Server zugewiesen ist. |
[Subdiscipline ID] | Optional | ID der Subdisziplin, die dem OPC-Server zugewiesen ist. |
[Type ID] | Optional | ID des Typs, der dem OPC-Server zugewiesen ist. |
[Subtype ID] | Optional | ID des Subtyps, der dem OPC-Server zugewiesen ist. |
OPC-Gruppendaten
Der Abschnitt [GROUPS] ist wie folgt zusammengesetzt:
# Groups Data: [Parent Server Name] [Name] [Description] [Alias] [Function Name] [Discipline ID] [Subdiscipline ID] [Type ID] [Subtype ID]
Zum Beispiel:
Server_Matrikon;Group_1;Group_1;0;1;200;201
Daten | Verwendung | Beschreibung |
[Parent Server Name] | Notwendig | Name des übergeordneten OPC-Servers für die OPC-Gruppe. |
[Name] | Notwendig | Name des OPC-Gruppenordners wie er im System Browser angezeigt wird. Hinweis: Im Gruppennamen darf kein Dollarzeichen ($) vorkommen. Dies ist ein Sonderzeichen, das in der Definition der Peripherieadresse verwendet wird. |
[Description] | Notwendig | Beschreibung des OPC-Gruppenordners so wie sie im System Browser angezeigt wird (in Klammern neben dem Namen). |
[Alias] | Optional | Aliasname, der der OPC-Gruppe zugewiesen ist. |
[Function Name] | Optional | Name der Funktion, die dem OPC-Gruppe zugewiesen ist. |
[Discipline ID] | Optional | ID der Disziplin, die dem OPC-Gruppe zugewiesen ist. |
[Subdiscipline ID] | Optional | ID der Subdisziplin, die dem OPC-Gruppe zugewiesen ist. |
[Type ID] | Optional | ID des Typs, der der OPC-Gruppe zugewiesen ist. |
[Subtype ID] | Optional | ID des Subtyps, der der OPC-Gruppe zugewiesen ist. |
OPC-Items-Daten
Der Abschnitt [ITEMS] ist wie folgt zusammengesetzt:
# Items Data: [Parent Group Name] [Name] [Description] [Item Address] [Data Type] [Direction (Access Level)] [Object Model] [Object Model Property] [Alias] [Function Name] [Discipline ID] [Subdiscipline ID] [Type ID] [Subtype ID] [Min] [Max] [MinRaw] [MaxRaw] [MinEng] [MaxEng] [Resolution] [Eng Unit] [StateText] [Alarm Class] [Alarm Type] [Alarm Value] [Event Text] [Normal Text] [Upper Hysteresis] [Lower Hysteresis] [NoAlarmOn][Logical Hierarchy] [User Hierarchy]
Zum Beispiel:
Group1;IntInput1;Int Input1;Group1.Int1 VT_I4;IO;IntegerInput1;0;1;200;201;0;100;5;60;10;100;Alarm;EQ;50;Event Text;NormalText; \Bldg1\Flr1\R1\;\MyUser1\Room1\
Daten | Verwendung | Beschreibung |
[Parent Group Name] | Notwendig | Name der übergeordneten OPC-Gruppe für das OPC-Item. |
[Name] | Notwendig | Name des OPC-Item-Ordners wie er im System Browser angezeigt wird. |
[Description] | Notwendig | Beschreibung des OPC-Item-Ordners so wie sie im System Browser angezeigt wird (in Klammern neben dem Namen). |
[Item Address] | Notwendig | Name des Tags, der in der Peripherieadresse verwendet wird. Hinweis: Die Peripherieadresse besteht aus den folgenden Einträgen, die bei Servernamen, Gruppennamen und Item-Namen jeweils durch "$" getrennt werden. |
[Data Type] | Notwendig | Siehe Datentypen von OPC-Items. |
[Direction (Access Level)] | Notwendig | Gibt an, ob ein OPC-Item ein Eingang, ein Ausgang oder ein kombinierter Ein-/Ausgang ist (siehe OPC-Items-Richtung). |
[Object Model] | Optional | Name des Objektmodells des zu erstellenden OPC-Item-Punkts. Hinweis: Dieses Feld kann erst nach dem Import eines Objektmodells verwendet werden. Der Eintrag wird verworfen, wenn er ungültig ist. Das Feld kann jedoch leer gelassen werden. |
[Object ModelProperty] | Optional | Der Name der mit dem OPC-Item verknüpften Objektmodelleigenschaft, wenn das Feld [Object Model] in der Datei angegeben ist. |
[Alias] | Optional | Aliasname, der dem OPC-Item zugewiesen ist. |
[Function Name] | Optional | Name der Funktion, die dem OPC-Item zugewiesen ist. |
[Discipline ID] | Optional | ID der Disziplin, die dem OPC-Item zugewiesen ist. |
[Subdiscipline ID] | Optional | ID der Subdisziplin, die dem OPC-Item zugewiesen ist. |
[Type ID] | Optional | ID des Typs, der dem OPC-Item zugewiesen ist. |
[Subtype ID] | Optional | ID des Subtyps, der dem OPC-Item zugewiesen ist. |
[Min] | Optional | Minimalwert eines Punkts (falls verfügbar). |
[Max] | Optional | Maximalwert eines Punkts (falls verfügbar). |
[MinRaw] | Optional | Untergrenze der Rohwerteskala. |
[MaxRaw] | Optional | Obergrenze der Rohwerteskala. |
[MinEng] | Optional | Untergrenze der Konfigurationswerteskala. |
[MaxEng] | Optional | Obergrenze der Konfigurationswerteskala. |
[Resolution] | Optional | Für reale Zahlen (Gleitkomma) die Anzahl der Ziffern, die nach dem Dezimaltrennzeichen (Komma) angezeigt werden. |
[EngUnit] | Optional | Text, der die Konfigurationseinheit angibt. |
[StateText] | Optional | Name der Textgruppe, die zur Darstellung des Werts eines OPC-Items verwendet wird. Hinweis: Zustandstexte können nur mit den Eigenschaften GmsEnum und GmsBool verknüpft werden. |
[Alarm Class] | Optional | Alarmklasse, die für einen Alarm aktiviert wird (z.B. Alarm, Systemhinweis, Blocked$Fault) Beispiel: Alarm$Fault$Anomaly |
[Alarm Type] | Optional | Bedingung für das Auslösen eines Alarms (siehe Alarmkonfiguration für OPC). Syntax: Hinweis: Fehlt diese Angabe, wird der Punkt ohne Alarmkonfiguration importiert. |
[Alarm Value] | Optional | Wert oder Wertebereich, für den ein Alarm ausgegeben wird. Der Bereich wird durch das Dollarzeichen ($) gekennzeichnet. Wenn beispielsweise der Alarmwert 40$50 lautet, liegen die Alarmwerte zwischen 40 und 50. Syntax: Die Operatoren BET (zwischen) und NBET (nicht zwischen) haben folgende Syntax: Hinweis: Wenn das Feld [StateText] definiert ist, wird es vom Feld [AlarmValue] verwendet. Fehlt diese Angabe, wird der Punkt ohne Alarmierung importiert. |
[Event Text] | Optional | Text, der bei off-normalen Bedingungen (eingehenden Alarmen) angezeigt wird. Für mehrere Alarme können mehrere off-normale Bedingungstexte definiert werden. Syntax: Beispiele: "Error", "Error$Warning", "Error$Warning$DangerLevel" … |
[Normal Text] | Optional | Text, der bei normalen Bedingungen (ausgehenden Alarmen) angezeigt wird. Für mehrere Alarme können mehrere normale Bedingungstexte definiert werden. Syntax: Beispiele: "Normal", "OK$Normal", "Normal$OK$Normal" … |
[Upper Hysteresis] | Optional | Oberer Bereich für den Alarmwert, über dem ein Alarm ausgelöst wird. Wenn zum Beispiel der Alarmwert grösser als 50 und die obere Hysterese gleich 2 ist, wird der Alarm ausgelöst, sobald ein Alarmwert von über 52 erreicht ist. |
[Lower Hysteresis] | Optional | Unterer Bereich für den Alarmwert, unter dem ein Alarm ausgelöst wird. Dieser Wert ist immer negativ. |
NoAlarmOn | Optional | Um zu verhindern, dass bei einem Verbindungsausfall zum Gerät bei einem Standardwert ein Alarm ausgelöst wird, muss dieses Feld auf Hinweis: Der Standardwert für die OPC-Suche ist nicht gesetzt. |
[Logical Hierarchy] | Optional | Pfad der technischen Sicht, unter dem der Punkt für das OPC-Item erstellt wird, vorausgesetzt ein Ordner der technischen Sicht wurde als Basisordner für die technische Hierarchie festgelegt. Syntax: Beispiel: \BuildingA\Floor3\room403\ Hinweis: Ein umgekehrter Schrägstrich (\) wird als Ebenentrennzeichen sowie am Anfang und Ende des Pfads verwendet. |
[User Hierarchy] | Optional | Pfad der benutzerdefinierten Sicht, unter dem der Punkt für das OPC-Item erstellt wird, vorausgesetzt ein Ordner der Betreibersicht wurde als Basisordner für die Betreiberhierarchie festgelegt. Syntax: Beispiel: \BuildingA\Floor3\room403\ Hinweis: Ein umgekehrter Schrägstrich (\) wird als Ebenentrennzeichen sowie am Anfang und Ende des Pfads verwendet. |
Hinweise zum Bearbeiten der CSV-Datei
- Wenn Sie eine Datei in Microsoft Excel bearbeiten, trennen Sie die Felder durch Strichpunkte (Semikolon).
- Jede Kommentarzeile beginnt mit einer Raute (#). Diese Zeilen werden während des Imports ignoriert.
- Die Elemente einer OPC-Konfigurationsdatei müssen in der folgenden Reihenfolge hinzugefügt werden: Server, Gruppen und Items. Eine Änderung dieser Reihenfolge kann dazu führen, dass Daten während des Imports abgelehnt werden.
- Wenn Sie in der CSV-Datei keinen Funktionsnamen (Function Name) eintragen, werden Standardwerte aus der Konfiguration des Objektmodells übernommen.
- Wenn eines der Alarmfelder einen Fehler enthält, wird der Datenpunkt zwar importiert, aber kein Alarm konfiguriert.
- Wenn in einem der Felder mehrere Alarmkonfigurationen aufgeführt werden, muss das Dollarzeichen ($) als Trennzeichen verwendet werden.
Sonderzeichen
- Ein Semikolon (;) wird als Feldtrenner verwendet. Verwenden Sie kein Semikolon (;) in den Strings.
- Verwenden Sie kein Dollarzeichen ($) in den Namen von Servern oder Gruppen. Dieses Sonderzeichen wird bereits in der Definition der Peripherieadresse verwendet (siehe Daten von OPC-Items).
- Im Feld [Name] der Elemente (Server, Gruppen und Items) werden die Zeichen aus der folgenden Tabelle durch Unterstriche ersetzt:
Glyphe | Beschreibung |
| Whitespace |
/ | Schrägstrich |
\\ | Doppelter umgekehrter Schrägstrich |
- | Minuszeichen |
? | (Fragezeichen) |
. | Punkt |
! | Ausrufezeichen |
@ | At-Zeichen |
# | Raute |
% | Prozentzeichen |
^ | Zirkumflex |
$ | Dollarzeichen |
, | Komma |
; | Semikolon |
[ | Linke eckige Klammer |
] | Rechte eckige Klammer |
{ | Linke geschweifte Klammer |
} | Rechte geschweifte Klammer |
( | Linke Klammer |
) | Rechte Klammer |
\t | Tabulator |
* | Stern |
§ | Paragraphenzeichen |