Syntaxe des requêtes GET

Avec des requêtes GET, les zones mémoire à lire ou dans lesquelles des données vont être écrites peuvent être spécifiées dans l’URL.

Syntaxe des requêtes GET de base

Les requêtes GET commencent par l’adresse IP, le numéro de port et la commande plcget?, et incluent tous les paramètres requis dans l’URL.

Pour lire les données de l’automate, spécifiez la zone mémoire à lire, par ex. DT100. Pour écrire les données, spécifiez la zone mémoire et la valeur à écrire, par ex. DT100=122.

Pour envoyer la requête à l’interface de contrôle des services, définie dans l’interface web FP-I4C, utilisez simplement cette commande : http://IP_OF_DEVICE:API_PORT/plcget?DATA

Pour envoyer la requête à une autre interface, vous devez spécifier l’interface COM de l’automate et le numéro de station : http://IP_OF_DEVICE:API_PORT/plcget?DATA&I=INTERFACE&A=STATION NUMBER

Exemple

Lire DT100 via l’interface de contrôle des services :

http://192.168.100.155:2000/plcget?dt100

Lire DT100 via l’interface COM2 du numéro de station 2 :

http://192.168.100.155:2000/plcget?dt100&I=1&A=3

Lire LD100 et définir R1F sur TRUE via l’interface COM3 du numéro de station 0 :

http://192.168.100.155:2000/plcget?I=2&A=0&ld100&R1F=1

Paramètres

IP_OF_DEVICE

Adresse IP du FP-I4C

API_PORT

Port du serveur défini sur la page REST API/serveur HTTP

DATA

Données spécifiées dans la requête de lecture ou d’écriture, par ex. DT100 ou R1F=1.

Zones valides : DT, DDT, FL (pour FP2SH uniquement), DFL (pour FP2SH uniquement), LD, DLD, WR, WX, WY, WL, R, X, Y, L

INTERFACE (option)

Port COM de l’automate

  • 0 : COM1 (RS232)
  • 1 : COM2 (RS232/RS485)
  • 2 : COM3 (USB)
  • 3 : INTERNE (mémoire interne du FP-I4C)
  • 4 : COM4 (Ethernet)

Veillez à ce que l’interface spécifiée ait été activée sur la page Interface COM et qu’un port ait été ouvert pour cette interface sur la page Port.

Si le paramètre est omis, l’interface définie dans Interface COM > Interface de contrôle des services > Interface de communication avec API est utilisée. Indiquez à la fois INTERFACE et STATION NUMBER, car si un seul paramètre est spécifié, il sera ignoré.

STATION NUMBER (option)

Numéro de station : 0 à 99 (utilisez 0 pour des connexions 1:1 via COM1 ou COM3)

Si le paramètre est omis, le numéro de station défini dans Interface COM > Interface de contrôle des services > Interface de communication avec API > Numéro de station de l’API est utilisé. Indiquez à la fois INTERFACE et STATION NUMBER, car si un seul paramètre est spécifié, il sera ignoré.

Requête de lecture GET

Pour lire les données de l’automate, utilisez la syntaxe de base des requêtes GET avec la zone mémoire qui doit être lue (par ex. DT100, R1A, Y10).

Syntaxe

Pour lire plusieurs zones mémoire en une seule requête, reliez les zones mémoire avec "&".

http://IP_OF_DEVICE:API_PORT/plcget?MEMORY AREA(&MEMORY AREA...&MEMORY AREA)

Exemple

Lire DT100 :

http://192.168.100.155:2000/plcget?dt100

Lire DDT100, R10 et Y1B :

http://192.168.100.155:2000/plcget?ddt100&R10&Y1B

Paramètres

IP_OF_DEVICE

Adresse IP du FP-I4C

API_PORT

Port REST API défini sur la page REST API/serveur HTTP

MEMORY AREA

Zone mémoire de l’automate

Réponse à la requête de lecture GET

La réponse à une requête de lecture GET est une chaîne de caractères JSON qui contient les informations d’erreur et les données de la requête.

Chaque réponse comprend la propriété de err, err_msg et data. La propriété de err est TRUE, si une erreur est apparue, et FALSE s’il n’y a pas d’erreur. La propriété de err_msg est un message d’erreur si la propriété de err est TRUE ou elle est vide si err est FALSE. La propriété de data est un tableau (array) contenant les données dans le même ordre que dans la requête.

Exemple

Réponse à une requête de lecture pour DT100 :

{"err":false,"err_msg":"","data":[{"err":false,"err_code":0,"int":[100],"uint":[100],"udint":[],"dint":[],"hex":["0064"],"real":[],"string":"d\u0000","request":"DT100"}]}

Réponse à une requête de lecture pour DDT100, R10 et Y1B :

{"err":false,"err_msg":"","data":[{"err":false,"err_code":0,"int":[100,23],"uint":[100,23],"udint":[1507428],"dint":[1507428],"hex":["0064","0017"],"real":[6.933650024851553e-39],"string":"d\u0000\u0017\u0000","request":"DDT100"},{"err":false,"err_code":0,"state":0,"request":"R10"},{"err":false,"err_code":0,"state":0,"request":"Y1B"}]}

Propriétés pour les zones mémoire 16 bits

Le tableau de la réponse contient les propriétés suivantes.

  • err (BOOL), TRUE si une erreur est apparue
  • err_code (valeur hexadécimale 16 bits au format chaîne de caractères), code d’erreur hex. (voir "Thèmes apparentés")
  • int (nombre entier, tableau du nombre)
  • uint (nombre entier non signé, tableau du nombre)
  • udint (double entier non signé, tableau du nombre), pour deux registres ou plus uniquement (par ex. DDT, DFL)
  • dint (double entier, tableau du nombre), pour deux registres ou plus uniquement (par ex. DDT, DFL)
  • hex (tableau de valeurs hex. 16 bits au format chaîne de caractères)
  • real (tableau du nombre à virgule flottante), pour deux registres ou plus uniquement (par ex. DDT, DFL)
  • string
  • request, contient l’adresse demandée

Propriétés pour les zones mémoire 1 bit

  • err (BOOL), TRUE si une erreur est apparue
  • err_code (valeur hexadécimale 16 bits au format chaîne de caractères), code d’erreur hex. (voir "Thèmes apparentés")
  • state, 0 = FALSE, 1 = TRUE
  • request, contient l’adresse demandée
Thèmes apparentés

Requête d’écriture GET

Pour écrire les données dans l’automate, utilisez la syntaxe de base des requêtes GET avec la zone mémoire dans laquelle les données vont être écrites (par ex. DT100, R1A, Y10).

Syntaxe

La valeur définie doit commencer par "=". Pour écrire dans plusieurs zones mémoire en une seule requête, reliez les zones mémoire avec "&".

La valeur définie doit être un nombre décimal. Veillez à ce que la valeur soit dans l’intervalle autorisé. Sinon, la valeur est coupée et une valeur incorrecte est définie.

http://IP_OF_DEVICE:API_PORT/plcget?MEMORY AREA=VALUE(&MEMORY AREA=VALUE...&MEMORY AREA=VALUE)

Exemple

Écrire 122 dans DT100 :

http://192.168.100.155:2000/plcget?dt100=122

Écrire 19202 dans DDT100, TRUE dans R10 et FALSE dans Y1B :

http://192.168.100.155:2000/plcget?ddt100=19202&R10=1&Y1B=0

Vous pouvez également combiner des requêtes de lecture et d’écriture :

Lire DT200 et écrire TRUE dans Y10 :

http://192.168.100.155:2000/plcget?dt200&Y10=1

Paramètres

IP_OF_DEVICE

Adresse IP du FP-I4C

API_PORT

Port REST API défini sur la page REST API/serveur HTTP

MEMORY AREA

Zone mémoire de l’automate

VALUE

Valeur paramétrée

Réponse à la requête d’écriture GET

La réponse à une requête d’écriture GET est une chaîne de caractères JSON qui contient les informations d’erreur et les données de la requête.

Chaque réponse comprend la propriété de err, err_msg et data. La propriété de err est TRUE, si une erreur est apparue, et FALSE s’il n’y a pas d’erreur. La propriété de err_msg est un message d’erreur si la propriété de err est TRUE ou elle est vide si err est FALSE. La propriété de data est un tableau (array) contenant les données dans le même ordre que dans la requête.

Exemple

Réponse à une requête d’écriture pour DT100 :

{"err":false,"err_msg":"","data":[{"err":false,"err_code":0,"request":"DT100"}]}

Réponse à une requête d’écriture pour DDT100, R10 et Y1B :

{"err":false,"err_msg":"","data":[{"err":false,"err_code":0,"request":"DDT100"},{"err":false,"err_code":0,"request":"R10"},{"err":false,"err_code":0,"request":"Y1B"}]}

Réponse à une requête de lecture pour DT200 et à une requête d’écriture pour Y10 :

{"err":false,"err_msg":"","data":[{"err":false,"err_code":0,"int":[0],"uint":[0],"udint":[],"dint":[],"hex":["0000"],"string":"\u0000\u0000","request":"DT200"},{"err":false,"err_code":0,"request":"Y10"}]}

Propriétés

Le tableau de la réponse contient les propriétés suivantes.

  • err (BOOL), TRUE si une erreur est apparue
  • err_code (valeur hexadécimale 16 bits au format chaîne de caractères), code d’erreur hex. (voir "Thèmes apparentés")
  • request, contient l’adresse demandée
Thèmes apparentés