TIA neue Webserver Api für 1200 und 1500er jsonrpc

blimaa

Well-known member
Beiträge
836
Punkte Reaktionen
70
Zuviel Werbung?
->Hier kostenlos registrieren
Hi
Seit V16 ist eine neue API für die 1500er, seit V17 auch für 1200er, auf der CPU.
Nun wollte ich das mal ein bisschen ausprobieren. Mit der Software Postman kann ich mich bei der PLC einloggen und den Token beziehen. Mit diesem kann ich mich dann auch zum schreiben und lesen von Variablen verbinden. Soweit klappt das mit Postman. Nun wollte ich dies auch mit Javascript (fetch) machen. Leider schaffe ich es dort nicht mal mich einzulogen. Kommt immer die Meldung, das die Authenzifizierung fehl schlug.
Hat da schon jemand Erfahrung?

Gruss blimaa
 
OP
B

blimaa

Well-known member
Beiträge
836
Punkte Reaktionen
70
Hi
Hab das Problem gelöst....
Für solche die das Problem auch haben--> Die Verbindung zur SPS wurde durch Chrome, sowie auch Firefox, als unsicher eingestuft. Nach dem ich IP/api/jsonrpc im explorer eingegeben hatte, konnte ich dem Browser sagen, das die Verbindung vertrauenswürdig ist. Wieder was gelernt...
Aber sonst schon nee coole Sache, die API könnte ja man auch aus einer C#applikation heraus ansteuern, etc.
 
OP
B

blimaa

Well-known member
Beiträge
836
Punkte Reaktionen
70
Hi
Ich habs mal mit einem ausleseintervall von 500ms versucht einen Integer auszulesen. Dies ging ohne Probleme. Mehr habe ich jetzt nicht versucht. Ich hab mal noch was gelesen, das aber die Performance massiv besser sei im Vergleich zur alten Methode (awp?)
 

_rob

Member
Beiträge
17
Punkte Reaktionen
1
Bei meinem Test kamen die Antworten innerhalb von 16ms zurück. Auch mit unterschiedlichen Variablen oder gar falsche Variablen, gab es kaum Verzögerungen. Das maximale was ich als Peak hatte, waren ca. 120ms.
Postman_transfer.png

Nun teste ich die Abfrage von einem "Array of Struct". Bin gespannt was für Auswirkungen es auf die Kommunikationslast hat. Mir ist keine grössere Last bei der Kommunikation aufgefallen, lauft allerdings Standalone auf einer CPU-1516F.

Bis jetzt bin ich positiv überrascht. Nur der Session-Token läuft mir ein bisschen zu schnell ab...

Bei uns stellt sich die Frage, ob wir den OPC UA Server oder die Web API für die Kommunikation zum ERP System nehmen wollen. Ist jemand den Web API produktiv am verwenden oder was für einen Anwendungsfall werdet ihr ihn gebrauchen?
 

_rob

Member
Beiträge
17
Punkte Reaktionen
1
Hab mir ein kleines Python geschrieben.

Hast du irgendwelche Einschränkungen beim Web API gefunden?

Die einzige Einschränkungen die mir bis jetzt bekannt sind, sind die 100 Web API Sessions. Dies sind für mich allerdings genug :)

Ist dir bekannt ob Subskription auch funktioniert? Würde gerne die Abfragen eventbasiert aufbauen.

Hier die Doku von Siemens:
 

Thomas_v2.1

Well-known member
Beiträge
8.016
Punkte Reaktionen
2.406
Wie ist denn das Verhalten wenn du mehrere Variablen liest?

Früher wars beim Webserver so, dass z.B. wenn das Lesen einer Variable 200ms gedauert hat, dann dauerten 10 Variablen 2s und hundert Variablen 20s. Dabei ist es auch egal ob diese Variable nur ein Bool oder ein ganzer String ist. Darum musste man dann im SPS-Programm alles in einen String wandeln und dann mit Javascript wieder zerlegen, wenn man einigermaßen Performance wollte.
 

KircMax

New member
Beiträge
3
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hi
Hab das Problem gelöst....
Für solche die das Problem auch haben--> Die Verbindung zur SPS wurde durch Chrome, sowie auch Firefox, als unsicher eingestuft. Nach dem ich IP/api/jsonrpc im explorer eingegeben hatte, konnte ich dem Browser sagen, das die Verbindung vertrauenswürdig ist. Wieder was gelernt...
Aber sonst schon nee coole Sache, die API könnte ja man auch aus einer C#applikation heraus ansteuern, etc.
Hi,

Es gibt auch eine von Siemens bereitgestellte C# Client Library:
Und generell: Mit Bulk Requests lassen sich "mehrere Requests auf einmal auslösen", das kann die Performance auch verbessern - das wird auch in der Komponente mit einem "PlcProgramReadStructByChildValuesAsync" so angegangen.

Viele Grüße
Max
 
Oben