Общие методы

<< Click to Display Table of Contents >>

Navigation:  API MasterSCADA 4D > Подключение к исполнительной системе по JSON > HTTP API MasterPLC >

Общие методы

Методы входа, выхода, состояния сервера и журналирования действий оператора.

Общий контракт

Все методы вызываются POST-запросом с JSON-объектом в теле.

Сессия для GetState, GetLoginData, Login, Logout задаётся полем sessionId в теле запроса. LoginTest сессию не использует; ReportAction определяет пользователя по HTTP-заголовку Session-Id.

Прикладной результат возвращается с HTTP-статусом 200, в том числе при ненулевом code.

Успешный ответ содержит code: 0. При ошибке метод возвращает соответствующий OPC UA код, а оболочка core/mplcshare добавляет hex и codeDescription; текст ошибки — в errorText.

serverTime (время сервера, Unix time в мс) присутствует в ответах Login, ReportAction, а в GetLoginData — внутри блока session. В GetState, Logout, LoginTest его нет.

Общие поля ответа:

Поле

Когда присутствует

Описание

code

всегда

Числовой результат; 0 — успех

errorText

ошибка входа/выхода или ошибка старта проекта

Текст ошибки

hex

code0

Код в шестнадцатеричном виде

codeDescription

code — ошибочный OPC UA status

Локализованное описание кода

Блок состояния сервера (WriteStateInfo) добавляется в ответы GetState, GetLoginData, Login:

Поле

Тип

Описание

projectId

string

Идентификатор текущей версии проекта; меняется при каждой загрузке проекта

projectVersion

integer

Номер версии проекта

projectSessionId

integer

Идентификатор запущенной сессии проекта; меняется при перезапуске

isMaster

bool

Сервер в режиме MASTER

status

integer

Биты состояния (LED_FAULT 0x1, LED_ACTIVE_OUT 0x4, LED_ERROR 0x8, LED_RUNNING 0x10)

features

integer

Битовая маска доступных функций

errorText

string

Текст ошибки старта, если он есть

Блок сессии (WriteSessionInfo) добавляется, когда есть действующая сессия:

Поле

Тип

Описание

sessionId

integer

Идентификатор сессии

user

string

Логин оператора сессии

fullName

string

Полное имя оператора

clientAddress

string

Адрес клиента

hostName

string

Имя хоста клиента

sessionExpireTime

integer

Время истечения сессии, Unix time в мс

sessionIdleTime

integer

Тайм-аут бездействия, мс

currentShift

object

{ ShiftName, WorkDays, StartTime, EndTime }; пустые значения, если смены нет