1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jiashisoft-hj-t212-parser

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 18:30 0ab8111

HJ/T212 Parser

Описание:

Экологический отдел 212, протокол передачи данных.

Стандарт:

  • Стандарт передачи данных для системы автоматического мониторинга и контроля источников загрязнения в режиме онлайн (HJ/T 212-2005).
  • Стандарт передачи данных для систем мониторинга и контроля загрязняющих веществ в режиме онлайн (заменяет HJ/T 212–2005) (HJ 212-2017).

Поддерживаемые функции:

  • Совместимость с протоколами обеих версий (2005 и 2017);
  • Разбор протокола в объекты Java и Map;
  • Генерация пакетов протокола в обратном направлении;
  • Проверка структуры, CRC, типа поля;
  • Включение и отключение проверки, настройка параметров обработки ошибок;
  • Перечисление таблиц кодов.

Использование:

Для использования необходимо импортировать jar-пакет, управляемый через jitpack, с помощью Gradle:

repositories {
    maven{
        url 'https://jitpack.io'
    }
}
dependencies {
    compile 'com.github.xiaoyao9184.hj-t212-parser:hj-t212-parser:master-SNAPSHOT'
    compile 'com.github.xiaoyao9184.hj-t212-parser:hj-t212-translator:master-SNAPSHOT'
}

Затем создать объект T212Mapper для получения функций чтения и записи информации T212:

String h212 = "##0136ST=32;CN=2011;PW=123456;MN=LD130133000015;CP=&&DataTime=20160824003817;B01-Rtd=36.91;011-Rtd=231.0,011-Flag=N;060-Rtd=1.803,060-Flag=N&&4980\r\n";

T212Mapper mapper = new T212Mapper()
                .enableDefaultVerifyFeatures()
                .enableDefaultParserFeatures();

// Чтение объекта Data из строки T212
Data data = mapper.readData(h212);

// ... использование данных

// Создание данных и их установка
data.setPw("000000");
// Запись объекта Data в строку T212
String result = mapper.writeDataAsString(data);

Дополнительные возможности доступны в модульных тестах.

API, похожее на Jackson:

Если вы использовали Jackson, то обнаружите сходство между следующими классами:

Класс Jackson Класс T212
ObjectMapper T212Mapper
JsonParser T212Parser
JsonGenerator T212Generator
Deserializers T212Deserializer
Serializers T212Serializer

Сегментная грамматика:

Если вам знакома структура определения данных в сегменте, вы легко поймёте эту абстрактную грамматику, которую мы называем Segment:

<object> ::= <entry> [;...n]
<entry> ::= key = <value> | key - sub_key = value [,...n]
<value> ::= value | && <object> &&
  • key — строка;
  • value — строка.

Исправления ошибок протокола:

Версия Страница Тип ошибки Описание ошибки Решение
2017 28, 29 Конфликт кодирования загрязняющего вещества e701xx «насосная система для подъёма сточных вод» и «количество добавляемого вещества» Использовать e711xx для «количества добавляемого вещества».
2017 30 Конфликт кодирования загрязняющего вещества g119xx «степень десульфуризации» и «входящий диоксид серы SO2» Использовать g200xx для «степени десульфуризации».

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jiashisoft-hj-t212-parser.git
git@api.gitlife.ru:oschina-mirror/jiashisoft-hj-t212-parser.git
oschina-mirror
jiashisoft-hj-t212-parser
jiashisoft-hj-t212-parser
master