/Methods/GetBacnetSchedules

<< Click to Display Table of Contents >>

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

/Methods/GetBacnetSchedules

Выполняет поиск экземпляров функциональных блоков с типом ScheduleBACnet в указанном объекте или во всём проекте. В ответ возвращаются ссылки (ID и пути) на переменные внутри найденных расписаний (например, настройки недельного расписания и исключений).

HTTP: POST /Methods/GetBacnetSchedules

Запрос

{
  "sessionId": 1234,
  "itemId": 111,
  "path": ""
}

Поля запроса

Поле

Тип

Обязат.

По умолчанию

Описание

sessionId

int

Нет

 

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

itemId

int64

Нет

0

Идентификатор узла (объекта), внутри которого нужно искать расписания. Если 0, поиск начнется от корня проекта (или по пути path).

path

string

Нет

""

Строковый путь внутри объекта (или от корня, если itemId равен 0).

Ответ

{
  "schedules": [
    {
      "name": "Расписание 1",
      "id": "333",
      "EnumTypeRef": "MyCustomEnum",
      "WeeklyScheduleInput": {
        "itemId": 222,
        "path": "WeeklyScheduleInput",
        "taskId": 0
      },
      "WeeklyScheduleOutput": {
        "itemId": 333,
        "path": "WeeklyScheduleOutput",
        "taskId": 0
      },
      "ExceptionInput": {
        "itemId": 2221,
        "path": "ExceptionInput",
        "taskId": 0
      },
      "ExceptionOutput": {
        "itemId": 3331,
        "path": "ExceptionOutput",
        "taskId": 0
      }
    }
  ],
  "serverTime": 1710000000123,
  "code": 0
}

Поля ответа

Поле

Тип

Условие

Описание

schedules

array

Всегда

Массив найденных функциональных блоков расписаний.

schedules[].name

string

Всегда

Имя функционального блока ScheduleBACnet (например, для отображения в HMI).

schedules[].id

string

Всегда

Строковый идентификатор расписания (может быть в формате ID или ID.Path).

schedules[].EnumTypeRef

string

При наличии

Имя ST-типа (перечисления), если внутри расписания задан параметр EnumTypeRef.

schedules[].<ИмяПараметра>

object

Для каждой переменной ФБ

Объект-ссылка на переменную внутри расписания (например: WeeklyScheduleInput, ExceptionOutput и др.). Исключает параметр EnumTypeRef. (В старой справке ошибочно упоминались имена `readItemSchedule`, `writeItemSchedule` — фактически используются реальные имена параметров блока).

...itemId

int64

Всегда

Базовый itemId переменной.

...path

string

Если ФБ имеет путь

Полный строковый путь к параметру. Если функциональный блок имеет свой путь, то он объединяется с именем параметра через точку. Если базовый path пуст, то поле path не возвращается.

...taskId

int64

Всегда

Индекс задачи, в которой исполняется данное расписание.

Поведение и ограничения

Поиск выполняется рекурсивно по всем дочерним узлам (объектам, папкам). В список попадают только функциональные блоки с системным именем типа ScheduleBACnet.

Если объект с указанным itemId или path не найден в дереве проекта, возвращается код ошибки 2151546880 (OpcUa_BadNotFound), массив schedules не формируется.