Service REST WinCC (REpresentational State Transfer)
Le service REST WinCC est un service auto-hébergé pour la surveillance du port. Le service utilise le kit Microsoft C++ SDK pour surveiller l'URL configurée et le port choisi.
WinCC prend en charge l'accès aux données runtime et aux données de configuration par le biais de la communication REST :
-
WinCC prend en charge une communication REST sécurisée via des mécanismes d'authentification souples, HTTPS par exemple.
-
Le WinCC REST-Service permet à des applications externes d'accéder à des données WinCC.
Les applications externes peuvent lire et écrire des données de configuration et des valeurs de variables WinCC par le biais de l'interface REST.
Les opérations suivantes sont prises en charge :
-
Interrogation de données
-
Modification de données
Vous utilisez pour l'accès les méthodes HTTP et la représentation de ressources JSON habituelles.
-
Restriction : types de données pris en charge
Lors de l'accès aux variables, les types de données suivants ne sont pas pris en charge :
-
Variable de données brutes
-
Référence de texte
Structure de l'API
WinCC utilise des requêtes HTTP et des réponses HTTP pour transférer les données runtime et les données de configuration WinCC.
Ces requêtes et ces réponses sont constituées des éléments suivants :
|
Header |
Métadonnées pour la requête |
|
Body |
|
|
Service Endpoint |
Point de terminaison de service : URL de base avec l'adresse réseau du service API WinCC |
Méthodes HTTP
|
Méthode |
Description |
|---|---|
|
GET |
Lit une ressource dans le serveur. Cette méthode est utilisée pour lire des valeurs runtime et des données de configuration du projet WinCC. |
|
POST |
Lit une ressource dans le serveur. Adresse les ressources dans Body. Cette méthode est utilisée pour envoyer plusieurs valeurs. |
|
PUT |
Accès en écriture Adresse une ressource par le biais de l'URL. Cette méthode est utilisée pour envoyer une valeur WinCC individuelle dans le cloud. |
Codage d'URL
L'URL de l'appel HTTP a une structure définie. La structure et la fonction d'une URL sont identifiées par les caractères réservés suivants dans l'expression.
! # $ & ' ( ) * + , / : ; = ? @ [ ]
Si ces caractères réservés ne doivent pas avoir une signification spéciale dans l'URL mais font p. ex. partie d'un nom, codez ces caractères.
Exemple
Vous souhaitez lire la valeur Runtime de l'élément de variable de structure "MyTag.[NewElement]".
Pour cela, vous devez coder les caractères "[" avec "%5B" et "]" avec "%5D" comme suit dans l'URL :
https://<Host>:<Port>/WinCCRestService/TagManagement/value/MyTag.%5BNewElement%5D
Vous trouverez plus d'informations et un tableau de codage sous Wikipedia : URL encoding.
Code d'erreur
|
Code de réponse |
Description |
Commentaire |
|---|---|---|
|
200 |
OK |
L'API WinCC a traité la requête avec succès. |
|
400 |
Bad Request |
Requête invalide |
|
401 |
Unauthorized |
Pas d'autorisation d'accès |
|
402 |
Payment Required |
Pas de licence valide trouvée pour l'option WinCC Connectivity Pack |
|
404 |
Not Found |
Ressource introuvable L'URL ne correspond pas au type de ressource de l'API WinCC. Corrigez le format de l'URL. |
|
416 |
RangeNotSatisfiable |
Requête invalide La structure de l'URL est incorrecte. La plage requise ne peut pas être satisfaite. Cela peut, par exemple, être dû au fait que le nom de la ressource adressée manque lors de l'appel de "GET". |
|
423 |
Locked |
La ressource est verrouillée. Cela peut, par exemple, être dû au fait que les données adressées sont en cours de chargement. Envoyez à nouveau la requête après un temps d'attente. |
|
500 |
InternalError |
Erreur interne Le serveur signale une erreur inattendue. |
|
501 |
NotImplemented |
Requête invalide Le serveur ne prend pas en charge la fonction demandée. |