/Methods/GetPLCErrors

<< Click to Display Table of Contents >>

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

/Methods/GetPLCErrors

Извлекает информацию об ошибках (и их стектрейсы), возникших при выполнении Lua-скриптов. Ошибки буферизуются во внутренних мапах addins/mplc_data.

HTTP: POST /Methods/GetPLCErrors

Запрос

{
  "sessionId": "1234",
  "getAll": false,
  "maxCount": 5
}

Поля запроса

Поле

Тип

Обязат.

По умолчанию

Описание

sessionId

string/int

Нет

 

Нужен, если сессия не передана заголовком.

getAll

bool

Нет

false

Если true — вернуть вообще все известные на данный момент ошибки. Если false — вернуть только новые/непрочитанные.

maxCount

int

Нет

10

Ограничение максимального количества возвращаемых ошибок за один ответ.

Ответ

{
  "recs": [
    {
      "taskIndex": 0,
      "count": 3,
      "message": "attempt to call a nil value",
      "stackTrace": "stack traceback:\n\t[string \"user_script\"]:15: in function 'main'"
    }
  ],
  "hasMore": false,
  "serverTime": 1657301389524,
  "code": 0
}

Поля ответа

Поле

Тип

Условие

Описание

recs

array

Всегда

Массив записей об ошибках (может быть пустым). Переданные в ответе новые ошибки удаляются из очереди непрочитанных.

recs[].taskIndex

int

Всегда

Внутренний индекс задачи ПЛК, в которой произошла ошибка (или -1, если не определено).

recs[].count

int

Всегда

Количество раз, сколько данная ошибка повторилась.

recs[].message

string

Всегда

Текстовое сообщение об ошибке Lua (например, от lua_tostring при падении).

recs[].stackTrace

string

Вызван traceback

Строка стека вызовов, возвращенная debug.traceback().

hasMore

bool

Всегда

true, если в очереди остались непрочитанные ошибки (из-за лимита maxCount).