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

blimaa

Level-2
Beiträge
964
Reaktionspunkte
105
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
 
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
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?)
 
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?
 
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:
 
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.
 
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
 
Hi,
weiß vielleicht jemand, ob die Web-API auch beim OpenController einsetzbar ist?

BG
tric

Edit:
Hab mit einen Controller geschnappt - ja, ist sie.
 
Zuletzt bearbeitet:
Hi
Ich wurde um Hilfestellung per Private Nachricht gefragt. Das Problem war, kein Token zu beziehen können. Leider haber ich micht seither auch nicht mehr weiter darum gekümmert. Folgendes habe ich mir damalig noch notiert (Ich kann keine Bilder in der Unterhaltung senden, nur URL angeben... warum auch immer und im Zuge des Forumsmoto von Wissen teilen etc. poste ich dies nun hier)

Dies habe ich noch vom Postman:Postman.jpg


Und dies war die kleine Seite mit JavaScript (TXT löschen, dass nur noch html. steht)
 

Anhänge

  • TestSeite.html.txt
    4,7 KB · Aufrufe: 20
Zurück
Oben