» E2000 - PLUS
» Profibereich
» HTTP-Schnittstelle



Die HTTP-Schnittstelle bieten die Möglichkeit Ports zu setzten oder einen Status auszulesen. Außerdem kann über diese Schnittstelle die Logik verwaltet werden. Die Schnittstelle ist genauso wie das Webinterface mit einem Benutzer und einem Passwort gesichert. Alle Benutzer die angelegt werden können auch auf diese Schnittstelle zugreifen.
 

Protokoll Aufbau

Für jeden Befehl der ausgeführt werden soll wird eine neue Verbindung zur E2000-PLUS MCU aufgebaut. Da es sich um HTTP handelt ist der HTTP Standard einzuhalten. Es ist immer ein Header zu senden in dem der Aufruf der Funktion als Parameterliste hinterlegt ist. Der Body der HTTP Nachricht hat im Normalfall leer zu sein. Als Antwort bekommt man ein HTTP Telegramm in dessen Body alle Daten übermittelt werden.


Mini-Parameter

Da es sich bei der Schnittstelle um eine Abwandlung des Webinterfaces handelt muss ein zusätzlicher Parameter übermittelt werden. Dieser Parameter nennt sich "mini". Wenn dieser Parameter mit übermittelt wird werden die Antworten so vorbereitet, dass sie von Programmen schnell und einfach ausgewertet werden können.


Beispiel von User Login

http://192.168.0.180/?action=login&mini=1&username=admin&password=admin


Login und Cookies

Als erstes muss immer ein User-Login gemacht werden. Dieser User-Login sorgt dafür, dass die Webschnittstelle freigegeben wird. Als Antwort auf den User-Login wird ein Cookie gesetzt welcher den User identifiziert. Dieser Cookie ist dann bei jedem Aufruf mit zu senden.


Befehle

In diesem Abschnitt werden kurz die bekannten Befehle behandelt.


User-Login

Login in die E2000-PLUS MCU.

http://{IP}/?action=login&mini=1&username={username}&password={password}
  • username = Loginname in die MCU
  • password = Passwort des Benutzers
Antworten:
  • OK = Login war erfolgreich
  • ERROR:{MSG} = Login nicht erfolgreich


Logik Starten/Stoppen

Die Logik kann von außerhalb gestartet und gestoppt werden. Dazu werden folgende Befehle verwendet.

http://{IP}/admin.html?action=simulation&mini=1&start=1
http://{IP}/admin.html?action=simulation&mini=1&stop=1


Achtung: Nur als Admin möglich!

Antworten:
  • OK = Simulation gestartet
  • STOP = Simulation gestoppt
  • ERROR = Fehler beim Starten / Stoppen der Simulation


Ports setzten

Um Ports auf einen Wert zu setzten kann folgender Befehl benutzt werden.

http://{IP}/admin.html?action=control&set={LOGIK_MODUL}&port={PORT}&value={VALUE}&{TIME}
  • LOGIK_MODUL = Name des Logik-Moduls z.B. IN1
  • PORT = Ausgang (im normalfall immer 0)
  • VALUE = Wert auf den der Ausgang gesetzt werden soll
  • TIME = Aktuelle Uhrzeit als UnixTimeStamp

Achtung: Zur Zeit nur als Admin möglich!

Antworten:

{LOGIK_MODUL}| {PORT}|{WERT}

  • LOGIK_MODUL = Name des Logik-Modules z.B. IN1
  • PORT = Ausgang dessen Wert gesetzt wurde
  • WERT = Wert des Ausgangs. Wird als Floating Point übermittelt d.H. 1.0000 ist ein TRUE wert und 0.0000 ist ein FALSE Wert


Ports auslesen

Ports können ausgelesen werden mit folgendem Befehl.

http://{IP}/admin.html?action=control&update=yes&{TIME}
  • TIME = Aktuelle Uhrzeit als UnitTimeStamp

Achtung: Zur Zeit nur als Admin möglich!

Antworten:

ID={LOGIK_MODUL}&TYPE={TYPE}&OUT{X}_TYPE={DIGI_ANA}&OUT{X}_CA={CAN_CHANGE}&OUT{X}_LAST={LAST}&OUT{X}_STATUS={STATE}&VAR{X}_NAME={NAME}&VAR{X}_VALUE={VALUE}&|

Es werden alle Daten übermittelt die normalerweise auch im Bedienpanel angezeigt werden. Diese Liste setzt sich so weiter fort. Alle Einträge sind mit einem "|" Zeichen getrennt. Es werden alle Eingäng als IN{X} übermittelt und alle Ausgänge als OUT{X} übermittelt. Mit VAR{X} werden die Variablen des Logik Modules übermittelt.
Alle Inputs, Outputs und Variablen können beliebig oft vorkommen in der Antwort

  • LOGIK_MODUL = Name des Logik Modules z.B. IN1
  • TYPE = Type des Logik Modules z.B. DEBUGIN
  • DIGI_ANA = Ist D wenn es ein digitaler Wert ist und A wenn es ein analoger Wert ist
  • CAN_CHANGE = Dieser Wert kann gesetzt werden von außerhalb
  • LAST = Datum und Uhrzeit des letzten Schaltvorgangs
  • STATE = Aktueller Status dieses Ports
  • NAME = Name der Variable
  • VALUE = Wert der Variable
Zuletzt geändert 22.05.2017 - 22:16:26