Zum Hauptinhalt springen

CSV-Massenimport

Ein Bildschirm zum gleichzeitigen Registrieren mehrerer OPC- und Tag-Objekte. Importiert den in Excel oder externen Tools definierten Tag-Katalog direkt. Die schnellste Methode für Standorte mit über 50 Tags.

Start → Protokollverbindung herstellen → oben rechts 📥 CSV-Massenimport oder direkt /ui/connect/csv.


1. Bildschirmaufbau​

📥 CSV 일괄 업로드 [← 뒤로] [💾 업로드]

⚠ 주의사항 패널 (빨강)
- CSV 형식 [,로 구분]
- 빈 공백 금지
- 1행 = 헤더 (절대 삭제 금지)
- OPC: 드라이버명/IP/포트 정확히
- TAG: PLC_ADDRESS 정확히 (잘못 입력 시 수집 실패)
- 이미 등록된 TAG_ID → 업데이트 안 함 (중복 무시)

📊 OPC
────────────────
[CodeMirror 에디터 — 150px]
헤더: OPC_ID,OPC_NAME,OPC_TYPE,OPC_AGENT_IP,OPC_AGENT_PORT,TIMECYCLE,ASYNC,AUTO_COLLECT,DESCRIPTION

🏷 TAG
────────────────
[CodeMirror 에디터 — 400px]
헤더: OPC_ID,TAG_ID,TAG_NAME,DATA_TYPE,PLC_ADDRESS,FORMAT,LINKED_ASSET_ID,ALIAS_NAME,DESCRIPTION

2. OPC-CSV-Spalten (9)​

ReihenfolgeSpalteBedeutungBeispiel
1OPC_IDEindeutige Kennung (Englisch/Zahl/_)OPC_LS_LINE1
2OPC_NAMEAnzeigename für Benutzer라인1 LS PLC
3OPC_TYPEGateway-Code (LS / MELSEC / S7 / MODBUS / OPCUA / EIP / LOGIX / HTTP usw.)LS
4OPC_AGENT_IPIP der SPS192.168.100.50
5OPC_AGENT_PORTTCP-Port2004
6TIMECYCLEErfassungszyklus (ms)1000
7ASYNCAsynchrones Lesentrue / false
8AUTO_COLLECTAutomatische Erfassung nach Boottrue / false
9DESCRIPTIONFreier Kommentar라인1 메인 PLC

Die Tabelle für Ports/IPs je OPC_TYPE finden Sie in Leitfaden nach SPS-Typ unter Vergleichstabelle.


3. TAG-CSV-Spalten (9)​

ReihenfolgeSpalteBedeutungBeispiel
1OPC_IDAbgleich mit OPC_ID aus obiger OPC-TabelleOPC_LS_LINE1
2TAG_IDEindeutige ID (Englisch/Zahl/_)TAG_LINE1_TEMP
3TAG_NAMEAnzeigename für Benutzer라인1 온도
4DATA_TYPEInteger / Long / Float / Double / String / BooleanInteger
5PLC_ADDRESSAdresse je Treiber (z. B. D00309 LS, DB1.DBW0 S7, holding-register:1 Modbus)D00309
6FORMATFormatbehelf (DW / REAL / STR[10] / BIN[3] usw.)DW
7LINKED_ASSET_ID(Optional) Asset-ZuordnungASSET_PUMP_01
8ALIAS_NAME(Optional) Alias für externe Systemetemp_01
9DESCRIPTIONFreier Kommentar라인1 메인 펌프 온도(℃)

Die korrekte Eingabe von PLC_ADDRESS und FORMAT ist in PLC-Adresseingabe (vollständiger Leitfaden für 44 Treiber) beschrieben.


4. Schreibbeispiel (Praxis)​

4.1 2 OPC + 5 Tags​

OPC-Bereich (Kopfzeile + 2 Zeilen):

OPC_ID,OPC_NAME,OPC_TYPE,OPC_AGENT_IP,OPC_AGENT_PORT,TIMECYCLE,ASYNC,AUTO_COLLECT,DESCRIPTION
OPC_LS_LINE1,라인1 LS PLC,LS,192.168.100.50,2004,1000,false,true,라인1 메인 PLC
OPC_S7_LINE2,라인2 S7 PLC,S7,192.168.100.60,102,1000,false,true,라인2 메인 PLC

TAG-Bereich (Kopfzeile + 5 Zeilen):

OPC_ID,TAG_ID,TAG_NAME,DATA_TYPE,PLC_ADDRESS,FORMAT,LINKED_ASSET_ID,ALIAS_NAME,DESCRIPTION
OPC_LS_LINE1,TAG_LINE1_TEMP,라인1 온도,Float,D00450,REAL,,,라인1 메인 펌프 온도(℃)
OPC_LS_LINE1,TAG_LINE1_QTY,라인1 누적생산량,Integer,D00600,DW,,,32-bit 누적
OPC_LS_LINE1,TAG_LINE1_RUN,라인1 가동상태,Boolean,M02704,,,,
OPC_S7_LINE2,TAG_LINE2_PRESS,라인2 압력,Float,DB1.DBD0,REAL,,,bar
OPC_S7_LINE2,TAG_LINE2_FAULT,라인2 알람,Boolean,DB1.DBX2.0,,,,

,,, ist eine leere Spalte — LINKED_ASSET_ID, ALIAS_NAME nicht verwendet.

4.2 In Excel erstellen​

  1. Fügen Sie die oben gezeigte Tabelle direkt in Excel ein (1 Kopfzeile + Daten)
  2. Speichern unter → CSV UTF-8 (Kommagetrennt)-Format (Standard cp949 führt zu koreanischen Zeichensatzproblemen)
  3. Öffnen Sie die CSV-Datei in einem Texteditor und prüfen Sie, ob Kommas innerhalb von Zellen automatisch in Anführungszeichen gesetzt ("...") wurden
  4. Fügen Sie den CSV-Inhalt unverändert in den OPC-Bereich oder TAG-Bereich ein

5. Upload-Ablauf​

SchrittAktion
1. 💾 Upload klickenPOST /connect/csv-upload (body: {opcs, tags} zwei Texte)
2. ServerprüfungPrüfung von Kopfzeile / Spaltenanzahl / Typ / OPC_ID-Abgleich
3. DB-Registrierungpe.app_opc + pe.app_tag Upsert (vorhandene TAG_ID wird nicht aktualisiert — übersprungen)
4. Toast"Nach einem Server-Neustart beginnen die erfassten OPC-Verbindungen und Tags mit der Erfassung."

Nach dem Upload — Neustart empfohlen, damit der Gateway-Cache (OPCAndTagsCache) die neuen OPC-Objekte/Tags liest (bin/restart-app.sh, 30–90 Sekunden). OPC-Objekte, die mit automatischem Start (AUTO_COLLECT=true) registriert wurden, beginnen nach dem Neustart sofort mit der Erfassung.


6. Häufige Stolperfallen​

SymptomUrsache / Lösung
Nach Upload 0 EinträgeKopfzeile fehlt / unterschiedliche Spaltenanzahl / Kodierung (UTF-8 BOM)
Koreanische Zeichen defektExcel-Standard cp949 speichern. UTF-8 erzwingen — Speichern unter → CSV UTF-8
Gleiche TAG_ID wird nicht aktualisiertNormales Verhalten — doppelte TAG_ID wird übersprungen. Für Änderungen zunächst Tag-Registrierung oder REST PUT /api/v1/tag/{tagId} verwenden
OPC registriert, aber Tag nicht sichtbarOPC_ID in der TAG-CSV stimmt nicht exakt mit OPC_ID in der OPC-CSV überein. Groß-/Kleinschreibung / Leerzeichen
ASYNC, AUTO_COLLECT werden als false behandeltTrue / TRUE sind ok, aber bei leerer Zelle wird false. Explizit true eingeben
PLC_ADDRESS-Spalte bleibt leerKommas in Zellen haben die Zeile geteilt. Bei Kommas in Zellen mit "..." in Anführungszeichen setzen
Leerzeichen am Zeilenende (trailing space) → SpaltenmismatchExcel→CSV kann trailing space hinzufügen. In Texteditor trimmen
Upload erfolgreich, aber keine Werte im DiagrammMit OPC AUTO_COLLECT=false registriert, aber nach Neustart Start nicht gedrückt. ▶ Start unter /ui/connect/list

7. Weitere Informationen​