База знаний Waviot

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

ID статьи: 89
Последнее обновление: 06 Sep, 2021

Описание 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"
}

 

Вариант 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-систему.

Вариант 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.

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 89
Последнее обновление: 06 Sep, 2021
Ревизия: 18
Просмотры: 0
Комментарии: 0