IEC60870

0

Описание

Реализация протокола ГОСТ Р МЭК 60870-5-104 и ГОСТ Р МЭК 60870-5-101 плюс некоторых утилит для его тестирования

Языки

  • C97,6%
  • CMake1,4%
  • Makefile1%
README.md

README lib60870-C {#mainpage}

lib60870 библиотека для ГОСТ Р МЭК 60870-5 протоколов на языке C

Текушая реализация содержит код для спецификаций: ГОСТ Р МЭК 60870-5-101 (уровень приложения и уровень связи) и ГОСТ Р МЭК 60870-5-104 (протокол через TCP/IP).

Возможности:

  • поддержка всех типов сообщений уровня приложения
  • master и slave
  • Балансный и Небалансный обмен (для CS 101 последовательных соединений)
  • клиент/сервер для CS 104 TCP/IP соединений
  • Поддержка группы резервирования CS 104
  • CS101 slave/CS104 server: поддержка файловых операций
  • Поддержка большинства TLS функций, требуемых по IEC 62351-3 (требуется код третьей стороны mbedtls)
  • прортативный C99 код

Также ознакомьтесь с руководством пользователя и справочной документацией API. (https://support.mz-automation.de/doc/lib60870/latest/)

Компиляция и запуск примеров:

В папке lib60870-C создайте библиотеку с помощью

make

Перейдите в папку examples и создайте примеры с помощью

make

в каталоге каждого примера.

Библиотеку и примеры также можно собрать с помощью CMake.

Чтобы собрать библиотеку в отдельной папке, создайте новую папку в качестве подкаталога в папке проекта и запустите cmake, чтобы создать файлы сборки:

mkdir build

cd build

cmake ..

Сборка без общего кода и HAL

Библиотека содержит некоторый общий код и уровень абстракции платформы (HAL), который используется совместно с другими библиотеками протоколов MZ Automation (например, libiec61850). Чтобы упростить использование этих библиотек протоколов вместе, можно скомпилировать библиотеку без общих частей.

Это можно сделать с помощью определений WITHOUT_HAL и WITHOUT_COMMON при вызове make:

make WITHOUT_HAL=1 WITHOUT_COMMON=1

Сборка с поддержкой TLS

Библиотеку можно собрать с поддержкой TLS. Для этого вам необходимо скачать mbedtls версии 2.28.x.

Распакуйте архив mbedtls в папку зависимостей, чтобы папка была такой:

dependencies/mbedtls-2.28

Система сборки cmake автоматически обнаружит источник mbedtls и создаст библиотеку с поддержкой TLS и включенным mbedtls.

При использовании make вам необходимо вызвать make с WITH_MBEDTLS=1.

make WITH_MBEDTLS=1

Конфигурация библиотеки

Существуют различные параметры конфигурации времени выполнения и компиляции.

Параметры конфигурации времени компиляции можно использовать для сокращения библиотеки для небольших встроенных систем. Конфигурацию времени компиляции можно изменить, изменив файл config/lib60870_config.h.

Выделение памяти

Библиотека использует динамическое распределение памяти (malloc/calloc, обернутое собственными функциями, которые при необходимости можно заменить).

Ведомое устройство CS104 использует динамическое распределение памяти только во время установки при вызове функций CS104_Slave_create и CS104_Slave_start/CS104_Slave_startThreadless.

Для получения подробной информации, пожалуйста, ознакомьтесь с User Guide.

Контактная информация:

Библиотека разработана Майклом Зиллгитом и поддерживается MZ Automation GmbH.

Для сообщений об ошибках, подсказок или поддержки обращайтесь по адресу info@mz-automation.de.

Лицензирование

Это программное обеспечение может иметь двойную лицензию GPLv3 (https://www.gnu.org/licenses/gpl-3.0.en.html) и коммерческое лицензионное соглашение.

При использовании библиотеки в коммерческих приложениях и приложениях без лицензии GPL вам следует приобрести коммерческую лицензию.

Коммерческие лицензии и поддержка

Поддержка и варианты коммерческой лицензии предоставляются MZ Automation GmbH. Пожалуйста, свяжитесь с info@mz-automation.de для получения более подробной информации.

Сотрудничество

Если вы хотите внести свой вклад в улучшение и развитие библиотеки, присылайте мне комментарии, запросы функций, отчеты об ошибках или исправления.

Для более чем тривиальных вкладов я требую, чтобы вы подписали Лицензионное соглашение участника. Пожалуйста, свяжитесь с info@libiec61850.ccom.