Datenaustausch Digitalstrom -> Siemens S7-1200 - Gröbel

Lupe, Suchfunktion auf der HP
MENÜ
Suchfunktion in der StickyBox
Direkt zum Seiteninhalt

Datenaustausch Digitalstrom -> Siemens S7-1200

Ein Datenaustausch von der Digitalstrom Steuerung zur S7-1200 ist über das Netzwerk relativ einfach möglich. Dazu kann man einen HTTP-Request nutzen. Im DS-System wird über den Scene Responder als Aktivität eine URL aufgerufen, welche die zu steuernden Variablen in der S7-1200 und dessen Steuerwert beinhaltet. In der S7-1200 können diese Variablen zur Ereignissteuerung ausgewertet werden.
Folgende Vorgehensweise soll hier als Beispiel dienen:
Alle Beispiel wurden mit TIA V15 erstellt, Abweichungen zu anderen Versionen sind möglich.

Als erstes werden in der Steuerung die benötigten Variablen angelegt. Der Datentyp ist hier Bool, kann aber auch Int oder anderes sein. Zur Übersichtlichkeit habe ich die Variablen in einem Datenbaustein namens DSdata abgelegt. Zusätzlich ist noch eine Error Variable www_Return vom Typ Int angelegt, die wir später benötigen.

Die Liste kann beliebig erweitert werden.
DS_S7-1200
Danach schreiben wir eine einfache HTML-Seite für die S7-1200, welche die Variablen beinhaltet. Es genügt schon der reine Header in <!>. Weitere HTML-Tags sind nicht nötig.
Zur Syntax: Die Variablen sind in ‘ eingeschlossen, der Datenbaustein in “. Beim Übersetzen erstellt das TIA Portal daraus die nötige Variablenanbindung.
Diese drei Textzeilen z.B: als index.html speichern.
<!-- AWP_In_Variable Name='"DSdata".DS_Fernsehen' -->
<!-- AWP_In_Variable Name='"DSdata".DS_Kino' -->
<!-- AWP_In_Variable Name='"DSdata".DS_WZ_Licht_Aus' -->
Unter Gerätekonfiguration -> Eigenschaften -> Allgemein -> Webserver aufrufen.

  1. Webserver aktivieren
  2. Zugriffsrechte für Jeder festlegen (Der Benutzer ist autorisiert, Variablen zu Schreiben).
  3. HTML Verzeichnis angeben mit der zuvor erstellten index.html und einen Applikationsnamen angeben.
  4. Danach wird über Bausteine erzeugen der HTML Code übersetzt und automatisch in den Datenbausteinen DB333 / DB334 abgelegt.
DS_S7-1200
Vor dem Compilieren der CPU benötigen wir zur Anbindung der Steuerung an die HTML-Seite noch den WWW Baustein. Der Anschluss CTRL_DB verweist in der Regel immer auf den DB333, unter RET_VAL geben wir die zuvor erstellte Integer Error-Variable an.

Zum Schluss alles übersetzten und in die S7-1200 laden.

Anmerkung:
Im Netzwerk 2 werden übrigens die gelesenen Variablen bei Wert TRUE nach einem Zyklus auf FALSE zurückgesetzt. Zu Testzwecken sollte man aber jegliche weitere Verarbeitung erst mal unterlassen, damit man einen Signalwechsel auch mitbekommt.
DS_S7-1200
Test:
Dazu mit der S7-1200 Online gehen und den Datenbaustein mit den Variablen auf beobachten schalten. In einem Browser die IP Adresse der S7-1200, gefolgt von /awp/ und dem definierten Applikationsnamen eingeben. Nach dem ? die zu Steuernde Variable angeben und dessen Übergabewert. Die Syntax entspricht dem Beispiel mit einem Datenbaustein, welcher in “ gesetzt ist und sieht wie folgt aus:

http://192.192.17.192/awp/Startseite/index.html?"DSdata”.DS_Kino=1

Damit wird nun die Variable DS_Kino auf 1 (=true) gesetzt. Bei Int-Variablen sind natürlich auch andere Zahlenwerte möglich. Sollen Variablen direkt aus der Standard-Variablentabelle genommen werden, dann sind diese in “ anzugeben, also:

http://192.192.17.192/awp/Startseite/index.html?"DS_Bool"=1

Sollte das Beispiel nicht funktionieren, dann die korrekte Schreibweise nochmal prüfen und gegebenenfalls durch Eingabe der IP Adresse direkt die Webside der CPU aufrufen. Dort die Benutzerrechte testen. Ebenfalls kann hierüber auch die Variable getestet werden.
DS_S7-1200
Hat der Test geklappt, dann kommen wir zur Programmierung in Digitalstrom.

Mit Hilfe des Scene Responder läßt sich das Eintreten eines Ereignisses überwachen und dadurch als Aktivität eine URL aufrufen. Die URL entspricht dabei unser zuvor getesteten Browser Eingabe.
In diesem Beispiel werden alle drei Variablen mittels definiertem DS Auslöser auf 1 (true) gesetzt. Das Rücksetzen übernimmt bei mir die S7-1200.
Hinweis zur Schreibweise:

Es ist zu beachten, Sonderzeichen nach URL-Encoding (URL-Kodierung, auch Prozentkodierung genannt) zu benennen. Somit wird aus den “ die Kodierung %22.
DS setzt hier automatisch in UTF-8 Kodierung um, was dann der Zeichenfolge &quot; entspricht. Dies versteht aber die S7-1200 nicht und würde dadurch die Variable nicht setzen. Daher bei der Eingabe der URL anstelle der “ direkt die Zeichenfolge %22 angeben.
DS_S7-1200
Viel Erfolg beim Testen!
Zurück zum Seiteninhalt