|
<< Clique para Mostrar o Sumário >>
Requisição ao Web Service |
As requisições HTTP ao Web Service são do tipo POST e devem conter os parâmetros obrigatórios Operation, Entity e Data. O parâmetro Data deve estar no formato XML ou JSON, conforme a especificação a seguir.
Exceto para a operação UPDATE TAG, os parâmetros da requisição são encapsulados em um Tag Bloco reservado chamado OperationBlock. Para requisições com a operação UPDATE TAG, o Tag Bloco OperationBlock não é utilizado, pois esta operação é destinada à atualização de Tags PLC ou Tags Bloco específicos. Neste caso, o parâmetro Entity representa a propriedade Item do Tag a ser atualizado e o parâmetro Data deve seguir os formatos descritos a seguir.
Para Atualização de Tags PLC
Formato XML:
<TagData>
<Value>XXX</Value>
<Quality>XXX</Quality>
<Time>XXX</Time>
</TagData>
Formato JSON:
{
"Value": "XXX",
"Quality": XXX,
"Time": "XXX"
}
Para Atualização de Tags Bloco
Formato XML:
<TagData>
<Values>
<Value>XXX</Value>
<Value>XXX</Value>
<Value>XXX</Value>
</Values>
<Quality>XXX</Quality>
<Time>XXX</Time>
</TagData>
NOTA |
A seção <Values> pode conter tantos elementos <Value> quantos sejam necessários. |
Formato JSON:
{
"Value": ["XXX", "XXX", "XXX"],
"Quality": XXX,
"Time": "XXX"
}
NOTA |
O array Value pode conter tantos valores quantos sejam necessários. |
•Value: Os valores enviados são interpretados pela aplicação como Strings, valores inteiros ou de ponto flutuante, conforme o formato mais adequado
•Quality: Deve ser um valor inteiro que representa a qualidade do Tag, como por exemplo 192 para qualidade boa
•Time: Deve ser uma String no formato ISO 8601, no padrão YYYY-MM-DDTHH:MM:SS, como por exemplo "2025-06-13T17:26:06"
Se uma requisição POST para atualização de um Tag Bloco é enviada, mas o parâmetro Entity referencia um Tag PLC na aplicação, apenas o primeiro valor do array ou lista de valores é considerado para a atualização deste Tag Bloco.
curl -X POST http://localhost:5050/ \
-H "Content-Type: application/json" \
-H "Operation: XXX" \
-H "Entity: XXX" \
-d "XXX"
O valor do cabeçalho Content-Type deve ser ajustado de acordo com o formato dos dados enviados no corpo, ou seja, o parâmetro -d. Use "application/json" se os dados estão no formato JSON e "application/xml" se os dados estão no formato XML.
O retorno da requisição é uma String no formato JSON com o campo Err, um inteiro que representa o código do erro, e o campo ErrMsg, uma String com a descrição do erro.
{"Err":3,"ErrMsg":"Invalid XML or JSON data"}