RUS
  • RUS
  • ENG

API вспомогательных компонентов УСПД

Последние изменения: 26.08.2025

Описание API nbfi_sender

Описание api представлено в таблице 1.

Таблица 1.

Описание

URL

Метод

Запрос версии ПО

/nbfi_sender/api/version

GET

Запрос сохраненного списка ПУ в ini-файле

/nbfi_sender/api/uspd_meters

GET

Запрос версии ПО

В ответ на него придет json с версией ПО:

HTTP/1.1 200 OK Content-Type: application/json 
{
    "version": "1.1.0"
}

Запрос сохраненного списка устройств

При запросе сохраненного списка устройств в ответ на него придет ответ со списком устройств вида:

HTTP/1.1 200 OK Content-Type: application/json 
{
    "loaded_meters": [
        {
            "modem_id": "7898616",
            "port": 58616
},
        {
            "modem_id": "8008474",
            "port": 58474
},
        {
            "modem_id": "8424517",
            "port": 54517
}
    ] 
}

Описание API iec104

Данные запросы предназначены для настройки ПО iec_controller, которое осуществляет взаимодействие со SCADA-системой.

Описание api представлено в таблице 1.

Таблица 1.

Описание

URL

Метод

Запрос версии ПО

/iec104/api/version

GET

Запрос списка ПУ, данные которых отправляются в SCADA

/iec104/api/settings

GET

Установка списка ПУ, данные которых отправляются в SCADA (добавление, удаление, обновление параметров)

/iec104/api/settings

POST

Запрос версии ПО

На запрос версии ПО в ответ на него придет json с версией:

HTTP/1.1 200 OK Content-Type: application/json 
{
    "version": "0.0.1"
}

Запрос списка ПУ, данные которых отправляются в SCADA

Вариант GET-запроса «/iec104/api/settings» предназначен для запроса всех устройств и их параметров, отправляемых в SCADA-систему.

В ответ на запрос приходит json вида:

HTTP/1.1 200 OK Content-Type: application/json 
{
    "meters": {
        "7998610": {
            "asdu_ca": 91002,
            "meter_params": {
                "0100010700FF": {
                    "b": 1,
                    "delta": 0.1,
                    "ioa": 101,
                    "is_send": true,
                    "k": 1,
                    "percent": 11,
                    "zero_left": -0.001,
                    "zero_right": 0.001
},
                "0100010801FF": {
                    "b": 0,
                    "delta": 0,
                    "ioa": 188,
                    "is_send": false,
                    "k": 1,
                    "percent": 0,
                    "zero_left": -0.001,
                    "zero_right": 0.001
}
            }
        },
        "7898694": {
            "asdu_ca": 99142,
            "meter_params": {
                "0100010700FF": {
                    "b": 0,
                    "delta": 0,
                    "ioa": 101,
                    "is_send": true,
                    "k": 1,
                    "percent": 0,
                    "zero_left": -0.001,
                    "zero_right": 0.001
},
                "0100030700FF": {
                    "b": 0,
                    "delta": 0,
                    "ioa": 103,
                    "is_send": true,
                    "k": 1,
                    "percent": 0,
                    "zero_left": -0.005,
                    "zero_right": 0.005
},
                "0100090700FF": {
                    "b": 0,
                    "delta": 0,
                    "ioa": 109,
                    "is_send": true,
                    "k": 1.1,
                    "percent": 10,
                    "zero_left": -0.002,
                    "zero_right": 0.003
}
            }
        }
    } 
}

В котором находится список устройств со списком OBIS-кодов в hex-формате, которые отсылаются в SCADA-систему. Для каждого OBIS-кода существуют параметры, на основании которых OBIS-код отправляется в SCADA-систему.

Установка списка ПУ, данные которых отправляются в SCADA (добавление, удаление, обновление параметров)

Вариант POST-запроса «/iec104/api/settings» предназначен для настройки данных для отправки в SCADA-систему.

Content-Type запроса: application/json

В POST-запросе посылается json с параметрами.

Возможны пять вариантов настройки данных:

  1. Добавление устройства (с дефолтными параметрами или указанными параметрами);
  2. Удаление устройства;
  3. Удаление параметра;
  4. Изменение параметров существующего устройства;
  5. Изменение времени ожидания данных с ПУ.

Тип настройки задается в json в параметре «action_type».

Добавление устройства

Для добавления устройства с дефолтными параметрами в запросе нужно послать json вида:

POST http://10.1.108.8/iec104/api/settings Accept: application/json Cookie: WAVIOT_JWT="[JWT]" Content-Type: application/json; charset="UTF-8" 
{ "meters": { 
        "8424517": {"action_type": "append", "station_id": 10808, "timestamp": 1627401753, "asdu_ca": 100500} 
    } 
}

в разделе «meters» содержатся номера добавляемых устройств. В «action_type» должно быть «append». Перечислять OBIS-коды не нужно. В результате в SCADA-систему будут отправляться данные с указанных устройств - создается 24 дефолтных OBIS-кода.

Для добавления устройств с указанными параметрами в запросе нужно послать json вида:

POST http://10.1.108.8/iec104/api/settings Accept: application/json Cookie: WAVIOT_JWT="[JWT]" Content-Type: application/json; charset="UTF-8" 
{ 
    "meters": { 
        "7998610": { 
            "action_type": "append", 
            "station_id": 10808, 
            "timestamp": 1627401753, 
            "asdu_ca": 91002, 
            "meter_params": { 
                "0100010700FF": { 
                    "b": 1, 
                    "delta": 0.1, 
                    "ioa": 101, 
                    "is_send": true, 
                    "k": 1, 
                    "percent": 11, 
                    "zero_left": -0.001, 
                    "zero_right": 0.001
}, 
                "0100010801FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 188, 
                    "is_send": false, 
                    "k": 1, 
                    "percent": 0, 
                    "zero_left": -0.001, 
                    "zero_right": 0.001
} 
            } 
        }, 
        "7898694": { 
            "asdu_ca": 99142, 
            "meter_params": { 
                "0100010700FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 101, 
                    "is_send": true, 
                    "k": 1, 
                    "percent": 0, 
                    "zero_left": -0.001, 
                    "zero_right": 0.001
}, 
                "0100030700FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 103, 
                    "is_send": true, 
                    "k": 1, 
                    "percent": 0, 
                    "zero_left": -0.005, 
                    "zero_right": 0.005
}, 
                "0100090700FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 109, 
                    "is_send": true, 
                    "k": 1.1, 
                    "percent": 10, 
                    "zero_left": -0.002, 
                    "zero_right": 0.003
} 
            } 
        } 
    } 
}

в разделе «meters» содержатся номера добавляемых устройств. В «action_type» должно быть «append». В разделе «meter_params» указываются OBIS-коды в hex-формате и их параметры (ioa, is_send...). При наличии указанных OBIS-кодов недостающие дефолтные OBIS-коды не создаются.

Удаление устройства

Для удаления устройства из списка отсылаемых в SCADA-систему в POST-запросе нужно послать json вида:

POST http://10.1.108.8/iec104/api/settings Accept: application/json Cookie: WAVIOT_JWT="[JWT]" Content-Type: application/json; charset="UTF-8" 
{ 
    "meters": { 
        "8424517": { 
            "action_type": "remove_meter", 
            "station_id": 10808, 
            "timestamp": 1627401753, 
            "asdu_ca": 100500
} 
    } 
}

в разделе «meters» указан список устройств, которые нужно удалить. В разделе «action_type» должно быть указано «remove_meter».

Удаление параметра

Для удаления параметра в POST-запрос нужно передать json вида:

POST http://10.1.108.8/iec104/api/settings Accept: application/json Cookie: WAVIOT_JWT="[JWT]" Content-Type: application/json; charset="UTF-8" 
{ 
    "meters": { 
        "8424517": { 
            "action_type": "remove_setting", 
            "station_id": 10808, 
            "timestamp": 1627401753, 
            "asdu_ca": 100500, 
            "meter_params": { 
                "0100010700FF": {},
                "0100030700FF": {},
                "0100090700FF": {} 
            } 
        } 
    } 
}

В «action_type» должно быть указано «remove_setting». В разделе «meter_params» указываются OBIS-коды в hex-формате, которые должны быть удалены. Параметры условия для отправки (delta, is_send и т.д.) указывать необязательно.

Изменение параметра

Для изменения параметра нужно в POST-запросе послать json вида:

POST http://10.1.108.8/iec104/api/settings Accept: application/json Cookie: WAVIOT_JWT="[JWT]" Content-Type: application/json; charset="UTF-8" 
{ 
    "meters": { 
        "8424517": { 
            "action_type": "update", 
            "station_id": 10808, 
            "timestamp": 1627401753, 
            "asdu_ca": 100500, 
            "meter_params": { 
                "0100010700FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 101, 
                    "is_send": true, 
                    "k": 1, 
                    "percent": 0, 
                    "zero_left": -0.001, 
                    "zero_right": 0.001
}, 
                "0100030700FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 103, 
                    "is_send": true, 
                    "k": 1, 
                    "percent": 0, 
                    "zero_left": -0.005, 
                    "zero_right": 0.005
}, 
                "0100090700FF": { 
                    "b": 0, 
                    "delta": 0, 
                    "ioa": 109, 
                    "is_send": true, 
                    "k": 1.1, 
                    "percent": 10, 
                    "zero_left": -0.002, 
                    "zero_right": 0.003
} 
            } 
        } 
    } 
} 

В разделе «meters» указываются номера устройств, для которого нужно изменить параметр, в разделе «action_type» должно быть «update», в разделе «meter_params» должны находиться OBIS-коды в hex-формате с новыми параметрами.

Изменение времени ожидания данных с ПУ

Для изменения времени ожидания данных с ПУ нужно в POST-запросе послать json вида:

{
   "meter_timeout": 600 
} 

Время указывается в секундах.

Параметры OBIS-кода:

ioa - номер параметра в SCADA

is_send - признак того, передавать ли значение данного OBIS-кода в SCADA.

delta - параметр отправляется при абсолютном изменении на величину более заданной

percent - параметр отправляется при относительном изменении на величину более заданной

k и b - масштабные коэффициенты, результирующие значение параметра вычисляется по функции kx+b, где х - изначальное значение параметра

zero_left, zero_right - промежуток зануления параметра. Если, значение параметра находится в пределах от zerol_left до zero_right, то он равен 0.

Помогла ли вам статья?