Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Климов_Д.С._320602.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

3.7 Циклический избыточный код (crc)

Контроль циклическим кодом применяется для повышения надежности передачи данных. Смысл контроля заключается в следующем. Запрос подвергается шифровке циклическим кодом. Полученный результат добавляется в конец запроса, и весь пакет отправляется подчиненному устройству. Подчиненное устройство выполняет те же действия над байтами запроса и сравнивает полученный результат с «CRC» принятого пакета, и в случае положительного результата выполняет требуемое действие. Затем оно формирует ответное сообщение, подвергает его той же процедуре шифровки, «прицепляет» полученный код в конец пакета и посылает его обратно главному устройству. Главное устройство выполняет ту же процедуру дешифровки, проверяя правильность принятого пакета. Вероятность обнаружения ошибки в одном разряде байта пакета равна 99,998%.

В качестве примера рассмотрим вычисление «CRC» в виде функции написанной на языке Java . Все возможные значения «CRC» помещены в два массива. Один массив содержит все возможные значения для старшего байта «CRC», а второй – для младшего.

Текст функции шифровки циклическим кодом «CRC» приведён в приложении В. Функции в качестве параметров принимает указатель на сообщение, используемое для формирования «CRC» (msg) и размер сообщения в байтах (len), а возвращает 16-ти битное значение «CRC».

3.8 Поиск счётчиков при использовании расширенной адресации

Поиск осуществляется путем последовательной разбивки адресного диапазона на 10 (и более) интервалов. Каждый подинтервал разбивается еще на 10 (и более) и так до тех пор, пока нужный нам счётчик не будет найден. Разбивка осуществляется при помощи маски.

Например, нам надо найти приборы с З/Н1 «12345678» и З/Н2 «1233999» поиск будет выглядеть следующим образом:

а) Стартовая маска (0???????);

б) 0??????? – нет ответа;

в) 1??????? – пришел ответ от счетчиков с З/Н1 и З/Н2 произошла коллизия;

г) 10?????? – нет ответа;

д) 11?????? – нет ответа;

е) 12?????? – пришел ответ от счетчиков с З/Н1 и З/Н2 произошла коллизия;

ж) 120????? – нет ответа;

з) 121????? – нет ответа;

и) 122????? – нет ответа;

к) 123????? – пришел ответ от счетчиков с З/Н1 и З/Н2 произошла коллизия;

л) 1230???? – нет ответа;

м) 1231???? – нет ответа;

н) 1232???? – нет ответа;

о) 1233???? – пришел ответ от счетчика с З/Н2 нет коллизии (нашли счетчик с З/Н2, записываем его в маску);

п) 1234???? – пришел ответ от счетчика с З/Н 1 нет коллизии (нашли счетчик с З/Н1).

Для обнаружения коллизий просто проверяем принятый ответ на правильность. Если ответ неправильный это означает что ответило сразу несколько приборов. Ответ считается неправильным если:

  • принятая «CRC» не совпала с расчетной;

  • произошла ошибка паритета;

  • принято байт меньше минимально возможной длинны пакета.

Блок-схема алгоритма поиска счётчиков при использовании расширенной адресации приведена в приложении Г.

3.9 Инструкция пользователя

Приведем решение основных задач, показанных в пункте 1.3. Решение любой задачи начинается с запуска приложения. При запуске приложения появляется окно, приведённое на рисунке 3.17.

Рисунок 3.17 – Стартовое окно приложения

В стартовом окне пользователь может:

  • по кнопке «Чтение» вручную считывать параметры счётчика;

  • по кнопке «Авто» автоматически считывать данные;

  • по кнопке «Запись» вносить изменения в параметры счётчика электроэнергии, такие как время, дата, пароль и другие;

  • производить чтение параметров по определённому сетевому адресу счётчика электроэнергии;

  • устанавливать параметры GSM-модема;

  • выбирать режимы чтения, записи и установки времени и даты на счётчике;

  • производить манипуляции с получателями;

  • просматривать таблицу, состоящую из основных параметров данных, полученных от счётчика электроэнергии.

В приложении имеется возможность перейти на вкладку «Настройки – Настройка основного порта», выбирать порт, по которому будет происходить обмен данными со счётчиком, и установить соответствующие параметры. Окно редактирования текущего подключения представлено на рисунке 3.18.

Рисунок 3.18 – Настройка порта

В данном окне пользователь имеет возможность:

  • указать имя подключения;

  • сетевой адрес устройства;

  • количество повторов при ошибках;

  • выбрать необходимый порт связи управляющего устройства (персонального компьютера) со счётчиком электроэнергии.

Выбрав необходимый порт для связи, пользователю предоставляется возможность расширенных настроек текущего порта, в которых пользователь может установить:

а) номер порта;

б) скорость обмена данными со счётчиком;

в) число стоповых бит;

г) управление потоком.

Также на вкладке индикация, представленной на рисунке 3.19, можно устанавливать отображаемые параметры счётчика электроэнергии при чтении в ручном и автоматическом режиме.

Рисунок 3.19 – Настройка индикатора

По нажатию кнопки «Чтение» программа автоматически считывает данные показания электросчётчика. Переходя по различным вкладкам программы, мы можем контролировать полученные данные со счётчика электроэнергии. На рисунках 3.20 – 3.27. приведены результаты выполнения программы.

Рисунок 3.20 – Основные

На вкладке «основные» пользователю предоставляются текущие параметры электросчётчика, в которых можно наблюдать за диаграммой токов и напряжений, протекающих через прибор. Также здесь указываются собственно напряжение, ток, мощность, частота тока, дата и время снятия показаний, а также тариф и сезон.

Рисунок 3.21 – Энергия

На вкладке «энергия» пользователь имеет возможность наблюдать за показателями активной и реактивной мощностями по одному или нескольким тарифам, которые удобно сведены в таблицу. Формат единиц измерения и число знаков после запятой устанавливается в соответствии с установленными настройками. Если же данный параметр не установлен, то формат и число знаков после запятой берутся напрямую из показаний, полученных от счётчика электронной энергии, которые устанавливаются на предприятии-производителе счётчиков.

Рисунок 3.22 – Мощность

На вкладке «мощность» пользователю представляются данные об активной и реактивной мощностях за некоторые периоды времени, так называемые «получасовки» (периоды с интервалом в 30 минут), представленные в виде таблицы. Также счётчик электрической энергии предоставляет возможность просматривать максимальные получасовые значения по каждой из видов мощности в отдельности.

Рисунок 3.23 – Срезы

Срезы энергии позволяют следить за количеством потребляемой энергии разных видов (активной/реактивной) в заданные периоды времени. Также приложение позволяет выбирать направление энергии, единицы измерения энергии и количество знаков после запятой, либо использовать формат электросчётчика, установленный на предприятии-производителе.

Рисунок 3.24 – Тарифы

На вкладке «тарифы» имеется возможность просматривать тарифы и тарифные зоны, устанавливать сезоны по месяцам года, а также при необходимости всё обнулять.

Рисунок 3.25 – Лимиты

На вкладке «лимиты» имеется возможность устанавливать тип тарификации по тарифам или лимитам. Если переключатель установлен в положение «использовать тарифы», то оплата за электроэнергию производится в соответствии с тарифами, установленными по месяцам. Если же переключатель установлен в положение «использовать лимиты», то пользователь имеет возможность задать предельно допустимые лимиты использования электроэнергии конкретным счётчиком. При превышении данного показателя счётчик сообщает о превышении установленного лимита потребления электроэнергии соответствующим счётчиком.

Рисунок 3.26 – Календарь

На вкладке «календарь» пользователь имеет возможность задавать выходные и праздничные дни, а также режим записи в сезонах, изменять время и дату начала сезонов, либо и вовсе запрещать смену сезонов.

Рисунок 3.27 – Конфигурация

На вкладке «конфигурация» пользователю выводятся основные данные по проверяемому счётчику электроэнергии:

  • тип, заводской номер, дата выпуска, сетевой, тип интерфейса и версия программного обеспечения счётчика;

  • идентификатор пользователя;

  • скорость обмена данными со счётчиком;

  • вид паритета;

  • число стоп-бит;

  • формат числа и единицы измерения энергии, мощности, напряжения и тока.