Kommunikationsmethoden

  • LISTENER
    Kommunikationsmethoden welche bei Socketverbindungen ausgeführt werden.
  • PREPROCESS (READ)
    Kommunikationsmethoden welche bei im Intervall ausgeführt werden.
  • ONCHANGE (WRITE)
    Kommunikationsmethoden welche bei Änderung/Force ausgeführt werden. Ohne Polling intervall.

Der Aufbau ist für alle identisch je nach Protokoll. Spaltennamen unterscheiden sich teilweise.

Protokoll Sercom

  • ALIAS: Eindeutiger ALIAS für Zugriff auf die Variablen
  • SEND: Sendetelegramm
  • SEND_DELIMITER_START: Startkennung als Text oder Hex-Code ( /000203)
  • SEND_DELIMITER_END: Endkennung als Text oder Hex-Code ( /000203)
  • RECEIVE_LEN: Länge Empfangs-/oder Antworttelegramm
  • DELIMITER_START: Startkennung als Text oder Hex-Code ( /000203)
  • DELIMITER_END: Endkennung als Text oder Hex-Code ( /000203)
  • POLLING: Abfragezyklus in ms


Protokoll Modbus

  • ALIAS: Eindeutiger ALIAS für Zugriff auf die Variablen
  • FUNCTION: FC3,FC4,… FC1..16 (Modbusfunktionen)
  • SLAVE: Slaveadresse (Zahl oder Variable) (optional)
  • ADDRESS: Startadresse COUNT Anzahl Register
  • POLLING: Abfragezyklus in ms


Protokoll Rest

  • ALIAS: Eindeutiger ALIAS für Zugriff auf die Variablen
  • METHOD: GET/POST/LISTEN
  • URL: Url
    Zusammengesetzte Url für Abfrage= Url + DOMAIN
  • DATATYPE: JSON/XML
  • POLLING: Abfragezyklus in ms

Zusatzargumente für REST/SERCOM

  • *ARGS: Kennzeichner (ARG)
  • METHOD: ALIAS der zuzuweisenden Funktion , *ALL für Alle
  • ALIAS: ALIAS des Argumentes: Ist der Alias leer wird der Namen verwendet.
  • TYPE: data, Nur bei REST zusätzlich ( url,arg)
  • NAME:
    • Bei SER: Formatierung zb. %02lldTR1
    • Bei REST: Name des Eintrages.
  • FORMAT: Formatierung (STRING,DEZIMAL, DOUBLE, T_YYYYMMDDHHMM)
    • DAY: Zeitangabe als Tag. 2025-01-30
    • ISO8601: Zeitangabe auf Basis einer time_t Values
    • T_YYYYMMDDHHMM: Zeitangabe auf Basis einer YYYYMMDDHHMMSS DINT WERTES.
    • STRING: in NAME %s
    • DEZIMAL: in NAME %lld
    • DOUBLE: in Name %d
    • ENUM: val1=CODE1,val2=CODE2,valx=CODEx
      • Wandelt Int in Text. Zb. ENUM:0=STANDARD,2=AT,3=ENGLAND,4=ANYWHERE
    • Freie Eingabe: mit „%lld“ oder „%s“ oder „%g“. zb. „S_%lldkW”


    • Nur bei REST:
      BLOCK_START: Gliederung der Daten bei XML und JSON
      BLOCK_END: Gliederung der Daten bei XML und JSON

    • Zb.

    • ARGS

      FULL

      NAME

      data

      NAME

      TEST

      HELLO_%s

      ARGS

      FULL

      INHABER

      data

      INHABER

      BLOCK_START

      ARGS

      FULL

      NAME

      data

      NAME

      TEST2

      STRING

      ARGS

      FULL

      WERT

      data

      WERT

      12

      DEZIMAL

      ARGS

      FULL

      INHABER

      data

      INHABER

      BLOCK_END

    • Beispiel in JSON:

    • "INHABER": { 
        "NAME": "TEST2", 
        "WERT": 12 
      } 
      
    • Beispiel in XML:

    • <INHABER>
          <NAME>TEST2</NAME> 
          <WERT>12</WERT> 
      </INHABER>
      
  • VALUE: Default-Wert
  • ITEM: zugewiesenes Item ohne Formel ($..= Zugriff auf GENERALParameter)
    Zb. $SLAVE

Die Reihenfolge der Args bestimmt den Telegrammaufbau (bei SERCOM und REST)
zB.

*PREPROCESS

ALIAS

METHOD

URL

DATATYPE

POLLING

FULL

GET

http://

JSON

1000

*ARGS

METHOD

ALIAS

TYPE

NAME

VALUE

ITEM

FORMAT

ARGS

FULL

URL

url

/api/v1/trend/meteo/
trend%lld/status

0

DEZIMAL

ARGS

FULL

TSTART

arg

tstart=%s

2017-02-19

T15:00:00+01:00

X.10

T_YYYYMM

DDHHMM

ARGS

FULL

TEND

arg

tend=%s

2017-03-19

T15:00:00+01:00

X.11

T_YYYYMM

DDHHMM

ARGS

FULL

DATACOUNT

arg

datacount=%lld

96

X.12

DEZIMAL