Interface REST dans WinCC (RT Professional) - WinCC

Visualisation de processus (Basic Panels, Panels, Comfort Panels, RT Advanced, RT Professional)

ft:publication_title
Visualisation de processus (Basic Panels, Panels, Comfort Panels, RT Advanced, RT Professional)
Product
WinCC
Version
V20
Publication date
11/2024
Language
fr-FR
Interface REST dans WinCC

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

  • Données transmises à l'API WinCC comme texte de requête

  • Données transmises de l'API WinCC comme texte de réponse

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.