|
<< Click to Display Table of Contents >> Navigation: API MasterSCADA 4D > Подключение к исполнительной системе по JSON > HTTP API MasterPLC > Получение данных |
Методы этого раздела создают подписку на значения проекта, добавляют в неё контролируемые параметры и выдают накопившиеся изменения клиенту.
•Все методы вызываются POST-запросом с JSON-объектом в теле.
•Для всех методов нужна действующая сессия. В примерах sessionId передаётся в JSON; FastCGI также сначала проверяет CGI-переменную HTTP_SESSION_ID, соответствующую HTTP-заголовку Session-Id.
•Прикладной результат возвращается с HTTP-статусом 200, в том числе при ненулевом code.
•Успешный ответ содержит code: 0 и serverTime — время сервера в миллисекундах с начала Unix-эпохи.
•Если ошибка возникла в обработчике метода, ответ содержит числовой code, строковый hex и локализованное codeDescription. Ошибки JSON или сессии, перехваченные раньше в mplc_fcgi, используют поле errorText и не содержат serverTime. Список кодов приведён в формате запросов и ответов.
•Ошибка отдельного элемента CreateMonitoredDataItems возвращается в items[].statusCode; общий code при этом может остаться равным 0.
•Во всех методах, кроме CreateDataSubscription, отсутствующий или неизвестный subscriptionId даёт OpcUa_BadSubscriptionIdInvalid.
Общие поля ответа:
Поле |
Когда присутствует |
Описание |
|---|---|---|
code |
всегда |
Числовой прикладной результат; 0 означает успех |
serverTime |
обработчик метода был вызван |
Время сервера, Unix time в миллисекундах |
hex |
ошибка сформирована обработчиком или шлюзом |
Тот же код в шестнадцатеричном виде |
codeDescription |
обработчик вернул ошибочный OPC UA status |
Локализованное описание кода |
errorText |
запрос отклонён шлюзом до вызова метода |
Текст ошибки JSON, сессии или другого раннего этапа обработки |
Рекомендуемый жизненный цикл:
1.Вызвать CreateDataSubscription.
2.Добавить параметры через CreateMonitoredDataItems.
3.Периодически вызывать PublishData, подтверждая последний принятый sequenceNumber.
4.Удалять ненужные параметры через DeleteMonitoredDataItems.
5.Перед отключением вызвать DeleteDataSubscription.