DDF-Handbuch / Anhang

Quick Spec für KI-Agenten

Kompakte, normative Regeln zum Erzeugen einer DDF. MUSS = zwingend, SOLL = dringend empfohlen.

Dateiformat

  1. MUSS: CSV, Trenner ;, Kodierung wie die Quelldateien (die Beispiele verwenden ANSI/Windows-1252 für Umlaute und °; zu klären, ob UTF-8 akzeptiert wird).
  2. MUSS: Blockzeilen beginnen mit *NAME;SPALTE;…. Datenzeilen beginnen mit ; (erste Spalte leer).
  3. MUSS: Felder mit ;, Zeilenumbrüchen oder Formeln in "…" einschließen. Im Feld niemals ein nacktes " verwenden: "" wird zu ', """ wird zu ".
  4. MUSS: SVG in Feldern verwendet für Attribute einfache Hochkommas.
  5. MUSS: logische Zeile ≤ 10000 Zeichen.
  6. SOLL: Kommentare in eigenen Zeilen mit #, in Formeln /* … */.
  7. MUSS: Argumentzeilen mit dem Kopf ;*ARGS;METHOD;ALIAS;TYPE;NAME;VALUE;ITEM;FORMAT;. Die Spalte nach ARGS ist der Funktions-Alias.

Pflichtinhalt *GENERAL

*GENERAL
;DEVICE;<Name>
;MANUFACTURER;<Hersteller>
;TYPE;<Kategorie>
;PROTOCOL;<MODBUS TCP (DDF)|MODBUS RTU (DDF)|REST-API (DDF)|MQTT (DDF)|OCPP (DDF)|SERCOM|DMX512|SVG (DDF)|LIBRARY>
;VERSION_NR;1
;MODEL_NR;<n>
;ID;0x<PP><HHHHHH><MMMM><VVVV>
;MIN_CONTROL_VERSION;V<xxxxx>-<yy>

Protokollregeln (Kurzform)

Protokoll Funktionskopf Pflichtparameter Zugriff
MODBUS TCP *READ;ALIAS;FUNCTION;ADDRESS;COUNT;POLLING;FORMULA PORT, WORDORDER, BYTEORDER A.<idx>.<TYP>, COUNT ≤ 200
MODBUS RTU wie TCP BAUDRATE, DATABITS, STOPBITS, PARITY, SLAVE wie TCP
REST *READ;ALIAS;METHOD;URL;DATATYPE;POLLING;FORMULA CONNECTION;DOMAIN, DOMAIN A.HTTP_CODE, A.VALUE.<pfad>
MQTT *READ;ALIAS;METHOD;TOPIC;POLLING;FORMULA DOMAIN;tcp://host:port A.VALUE.<pfad>, A.EXIST.<pfad>
OCPP *LISTENER;ALIAS;METHOD;FORMULA + *FUNCTION;ALIAS;FORMULA LISTENER_PORT, HEARTBEAT_INTERVAL, SLAVESMAX CP.*. AUTHORIZE MUSS CP.AUTHORIZE_STATE setzen.
SERCOM *READ;ALIAS;SEND;RECEIVE_LEN;DATATYPE;DELIMITER_START;DELIMITER_END;POLLING;FORMULA serielle Parameter A.<start>.<len>.<TYP>
DMX512 *PREPROCESS;ALIAS;SEND;RECEIVE_LEN;DATATYPE;DELIMITER_START;DELIMITER_END;POLLING;FORMULA mit ;SEND;;;;;;30; DMXTYPE, SLAVESMAX, ggf. CONFIGFILE;ENABLED SETVALUES('SEND','',START-1,n,r,g,b,w);
WS – – nicht verwenden (nicht verdrahtet)

Formelregeln

GUI-Regeln

Vorlage (Geräte-DDF, MODBUS TCP)

*GENERAL
;DEVICE;<DEVICE>
;MANUFACTURER;<MANUFACTURER>
;TYPE;<TYPE>
;PROTOCOL;MODBUS TCP (DDF)
;VERSION_NR;1
;MODEL_NR;1
;ID;0x0A<HHHHHH><MMMM>0100
;MIN_CONTROL_VERSION;<Vxxxxx-yy>
;CONNECTION;IPADDRESS
;PORT;502
;SLAVE;1
;TIMEOUT;5000;ms
;WAIT_AFTER_CONNECT;2;s
;MIN_PAUSE;50;ms
;WORDORDER;BIG_ENDIAN
;BYTEORDER;BIG_ENDIAN
;ERROR_HANDLING;FLUSH_OR_RECONNECT_ON_ERROR
*READ;ALIAS;FUNCTION;ADDRESS;COUNT;POLLING;FORMULA
;R1;FC3;<ADDR>;<COUNT>;1000;"IF R1.Q THEN
  ITEM.<ALIAS1>:=R1.0.FLOAT;
ENDIF;"
*WRITE;ALIAS;FUNCTION;ADDRESS;COUNT;POLLING;FORMULA
;W1;FC16;<ADDR>;2;0;
*GROUP;ID;ALIAS;NAME
;0;MAIN;Main
*ITEM;GROUP;ALIAS;NAME;VISIBILITY;ID;UNIT;TYPE;DIR;DEFAULT;WFORMULA;RFORMULA;POLLING
;0;<ALIAS1>;<Name1>;;0;<Unit>;real;IN
;0;<ALIAS2>;<Name2>;;1;<Unit>;real;OUT;0;"W1.0.FLOAT:=x;
W1.F:=1;"

Selbstprüfung vor Ausgabe