WebIF S7-1200: Wert mit Gira Homeserver lesen funktioniert, Wert setzen nicht...

Puki

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo erst einmal,

ich habe mich neu im Forum angemeldet, weil ich mir langsam keinen anderen Rat mehr weiß - und hier unter den SPS-Profis hoffentlich Hilfe finde ;o)

Ausgangssituation:

KNX Gira Homeserver mit Experte 4.4 (die Screenshots meiner HS-Konfig habe ich mal eingefügt)
SPS S7-1200 (auf die habe ich keinen Zugriff außer via Webinterface, dort die Seite "Variablenstatus")
Daten der SPS:

TIA Portal:​

V13.0​

Stationsname:​

SIMATIC 1200-Station_1​

Baugruppenname:​

PLC_1​

Baugruppentyp:​

CPU 1212C ACDCRly​


Es gelingt mir problemlos, mit "Web-Seiten/IP-Geräte abfragen und auswerten" Werte über die Seite "Variablenstatus" im Webinterface der SPS auszulesen:


Code:
                            /Portal/Portal.mwsl?PriNav=Varstate&v1=SOC&t1=GLEITPUNKT




fetch


fetch


fetch





Was jedoch nicht funktioniert, ist eine Variable zu setzen:


Code:
                            /VarStateRedirect.mwsl?PriNav=Varstate&v1=Entladegrenze&t1=GLEITPUNKT&modifyvalue_t1=30.33&gobutton_t1=Los&v2=Neue+Variable&t2=BIN




fetch




Obwohl das genau der String ist, den der Internet-Explorer nach Drücken der "Los"-Schaltfläche sendet (auch mit Wireshark überprüft).


fetch






ALLERDINGS: auch wenn ich genau diesen String manuell mit dem Internet-Explorer absetze, erfolgt KEIN Wertesetzen.

Hat jemand der SPS-Erfahrenen eventuell einen Tipp für mich?

Grüße

Puki
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Setzen von Werten ist nur möglich wenn du am Webserver angemeldet bist.


Hallo Thomas,

vielen Dank für deine Nachricht!

Es ist so, dass der Programmierer keine Zugangsbeschränkung für die Seite "Variablenstatus" eingerichtet hat. Auf dieser Seite kann ich ja auch die Variablen im IE ohne Probleme durch drücken des "Los"-Knopfes ändern.

Nur eben nicht durch ein manuelles Absetzen des Strings...

Grüße


Puki
 
Achso, ok. Ich habe nur eine alte Firmware bei der es nur mit Anmelden geht, das ist auch nicht umparametrierbar.

Dass bei deinen Links die IP-Adresse der Steuerung fehlt, und dass da ein paar Leerzeichen reingerutscht sind ist Absicht?

Nutzt du http oder https?
 
Ich hab's geändert - das war ein Kopierfehler, also keine Leerzeichen.

Die IP-Adresse ergänzt der Homeserver, und so weit ich weiß, macht der eine http-Abfrage.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei meiner Firmware kann ich die Werte ändern wenn ich direkt den Link so eingebe. Allerdings muss ich mich bei mir auch vorher anmelden.

MW100 auf den Wert 111 setzen geht dann so:
Code:
http://192.168.1.191/VarStateRedirect.mwsl?PriNav=Varstate&v1=MW100&t1=DEC&modifyvalue_t1=111&gobutton_t1=Go&v2=New+variable&t2=BIN
 
Sorry für die späte Antwort, ich bin gerade unterwegs ;o)

Das ist echt merkwürdig - das ist exakt der gleiche Befehl. Und den kannst du auch als Link direkt im Browser so absetzen, und dann wird die Variable gesetzt?
 
Ja, einfach in die Adresszeile eingefügt und Enter gedrückt.

Aber so wie es aussieht ist bei dir eine anwenderdefinierte Tabelle angelegt. Andernfalls könntest du glaube ich nicht per Symbol darauf zugreifen, zumindest funktioniert das bei meiner Steuerung noch nicht.
Oder woher hast du den Variablennamen "Entladegrenze"?
 
Mit dem Symbol funktioniert es bei mir ebenso, wenn man den Namen kennt.
Was zeigt denn deine Tabelle wenn du den Link eingegeben hast. Wird der zu schreibende Wert nur nicht übernommen und der Statuswert wird weiterhin angezeigt?
 
Genau. Es wird die Variable mit dem nicht geänderten Wert zurückgegeben.

Was genau meinst du mit Symbol? Die "Los"-Schaltflächen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau. Es wird die Variable mit dem nicht geänderten Wert zurückgegeben.

Was genau meinst du mit Symbol? Die "Los"-Schaltflächen?

Ob die Variable selber noch in der Variablentabelle angezeigt wird. Denn durch die URL mit den Parametern wird auch angegeben, welche Werte in der Variablentabelle eingefügt werden sollen. Wenn da etwas völlig falsch wäre (z.B. der Variablenname falsch), dann würde auch kein korrekter Status mehr angezeigt werden. Der Status ist bei dir aber dann wohl korrekt, d.h. nur etwas beim Schreiben funktioniert nicht. Du kannst ja mal probieren was passiert, wenn du den Variablennamen in der URL bewusst falsch schreibst.

Ich kann es bei mir leider nicht nachvollziehen, da sich meine Firmware anders verhält.
 
Wenn ich den Variablennamen falsch schreibe, dann wird der falsche Name zurückgegeben - natürlich ohne Wert und ohne Möglichkeit, einen Wert einzugeben.

Ich kapiere es echt nicht - eine Möglichkeit wäre noch, dass die SPS eine völlig falsche Uhrzeit und Datum hat.

Oder doch das mit dem angemeldeten User...

Dir VIELEN Dank!
 
Zurück
Oben