Zum Hauptinhalt springen

CSV-Massen-Upload (/ui/connect/csv)

Bildschirm zur Registrierung mehrerer OPC + Tags auf einmal. Ein in Excel oder externen Werkzeugen definierter Tag-Katalog lässt sich unverändert importieren. Bei Standorten mit 50+ Tags die schnellste Methode.

Startseite → Protokollverbindung herstellen → oben rechts 📥 CSV-Massen-Upload, oder direkt /ui/connect/csv.


1. Aufbau des Bildschirms

📥 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 Stück)

ReihenfolgeSpalteBedeutungBeispiel
1OPC_IDEindeutige Kennung (Buchstaben/Ziffern/_)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 PLC192.168.100.50
5OPC_AGENT_PORTTCP-Port2004
6TIMECYCLEErfassungsintervall (ms)1000
7ASYNCAsynchroner Readtrue / false
8AUTO_COLLECTAutomatischer Erfassungsstart nach dem Bootentrue / false
9DESCRIPTIONFreie Notiz라인1 메인 PLC

Die Tabelle der Ports/IPs je OPC_TYPE finden Sie im Vergleich des Leitfadens nach PLC-Typ.


3. TAG-CSV-Spalten (9 Stück)

ReihenfolgeSpalteBedeutungBeispiel
1OPC_IDZuordnung zu OPC_ID aus der obigen OPC-TabelleOPC_LS_LINE1
2TAG_IDEindeutige ID (Buchstaben/Ziffern/_)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
6FORMATFormatzusatz (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
9DESCRIPTIONFreie Notiz라인1 메인 펌프 온도(℃)

Zur korrekten Eingabe von PLC_ADDRESS und FORMAT siehe PLC-Adresseingabe (vollständiger Leitfaden zu 44 Treibern).


4. Beispiele (Praxis)

4.1 2 OPC + 5 TAG

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 Erstellung in Excel

  1. Obige Tabelle unverändert in Excel einfügen (1 Kopfzeile + Daten)
  2. Speichern unter → Format CSV UTF-8 (durch Trennzeichen getrennt) (Achtung: bei default cp949 werden Umlaute/koreanische Zeichen zerstört)
  3. CSV-Datei in einem Texteditor öffnen und prüfen, ob Kommata innerhalb einer Zelle automatisch in Anführungszeichen ("...") gesetzt wurden
  4. CSV-Inhalt unverändert in den Bereich OPC bzw. TAG einfügen

5. Upload-Ablauf

SchrittAktion
1. Klick auf 💾 UploadPOST /connect/csv-upload (Body: die beiden Texte {opcs, tags})
2. Serverseitige PrüfungPrüfung von Kopfzeile / Spaltenanzahl / Typ / OPC_ID-Zuordnung
3. DB-Registrierungpe.app_opc + pe.app_tag Upsert (bereits vorhandene TAG_ID wird nicht aktualisiert — skip)
4. Toast„Nach einem Neustart des Servers beginnt der Aufbau der registrierten OPC-Verbindungen und die Tag-Erzeugung."

Nach dem Upload — damit der Gateway-Cache (OPCAndTagsCache) die neuen OPC/Tags einliest, wird ein Neustart empfohlen (bin/restart.sh, ~6 Sekunden). Mit Autostart (AUTO_COLLECT=true) registrierte OPC beginnen unmittelbar nach dem Neustart mit der Erfassung.


6. Häufige Stolperfallen

SymptomUrsache / Lösung
Nach dem Upload 0 EinträgeFehlende Kopfzeile / abweichende Spaltenanzahl / Kodierung (UTF-8 BOM)
Zeichen werden falsch dargestelltExcel speichert mit default cp949. UTF-8 erzwingen — Speichern unter → CSV UTF-8
Gleiche TAG_ID wird nicht aktualisiertNormales Verhalten — doppelte TAG_ID wird übersprungen. Für Änderungen den Bildschirm 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 der OPC-CSV überein. Groß-/Kleinschreibung / Leerzeichen
ASYNC, AUTO_COLLECT werden als false verarbeitetTrue / TRUE sind beide zulässig, bei leerer Zelle jedoch false. Explizit true eintragen
Spalte PLC_ADDRESS wird leer registriertEin Komma innerhalb einer Zelle der CSV teilt die Zeile. Bei Kommata in der Zelle mit "..." quotieren
Leerzeichen am Zeilenende (trailing space) → Spalten-MismatchBei der Konvertierung Excel → CSV können trailing spaces entstehen. Im Texteditor pauschal trimmen
Upload erfolgreich, aber keine Werte im DiagrammOPC wurde mit AUTO_COLLECT=false registriert, nach dem Neustart aber Start nicht gedrückt. ▶ Start in /ui/connect/list

7. Weiterführende Informationen