|
<< 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 |
code ≠ 0 |
Код в шестнадцатеричном виде |
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 }; пустые значения, если смены нет |