Счетчики серии СЭТ-4ТМ для работы в составе автоматизированных систем контроля и учета электроэнергии и в составе систем автоматизированного сбора диспетчерской информации, страница 14

3. Найти адрес первого заголовка августа месяца  2002 г, лето, время интегрирования 30 минут всем счетчикам сегмента сети (широковещательный запрос). Идентификатор широковещательного запроса, формируемый управляющей программой верхнего уровня BDh. Поиск начинать с логического начала памяти.

Запрос:           FEh 03h 28h BDh 00h FFh FFh FFh FFh 08h 02h 00h 1Eh КС(CRC)

Ответ:             Нет ответа на широковещательный запрос. Читать слово-состояние задачи поиска, как описано ниже.                              

2.1.4 Запись информации по физическим адресам физической памяти

Запись информации по физическим адресам физической памяти используется для записи и коррекции тарифного расписания и расписания праздничных дней. Формат запроса на запись информации по физическим адресам приведен на рисунке 7.

Сетевой адрес

Код  запроса

07h

памяти

02h

Старший байт адреса

Младший байт адреса

Число байт информации

Записываемая информация (1…16 байт)

КС

(CRC)

Рисунок 7 – Формат запроса на запись информации по физическим адреса физической памяти

            Допустимый диапазон адресов для записи: от 2000h до 3B40h включительно. При попытке обращения на запись в другие зоны адресов счетчик возвращает код 01h в байте состояния обмена

Пример:

1. Записать по адресу 2040h 4 байта в последовательности 11h 22h 33h 44h в счетчик с сетевым адресом 5.

Запрос:           05h 07h 02h 20h 40h 04h 11h 22h 33h 44h КС(CRC)

Ответ:             05h 00h КС(CRC)                  Все нормально                     

2.1.4.1 Запись расписания праздничных дней

Расписание праздничных дней составляется на каждый месяц текущего года. Месячное расписание праздничных дней содержит 4 байта (32 бита). Каждый бит соответствует календарной дате (левый бит 1-го байта - 1-е число месяца, правый бит 4-го байта - 32-е число месяца). Для задания праздничного дня необходимо установить бит в позиции, соответствующий дате праздничного дня.

Ниже приведена структура и распределение памяти массива расписания праздничных дней.

Месяц

Адрес массива

1-й байт

(числа 1...8)

2-й байт

(числа 9...16)

3-й байт

(числа 17...24)

4-й байт

(числа 25...32)

Январь

2000h

Февраль

2004h

Март

2008h

Апрель

200Ch

Май

2010h

Июнь

2014h

Июль

2018h

Август

201Ch

Сентябрь

2020h

Октябрь

2024h

Ноябрь

2028h

Декабрь

202Ch

КС

2030h

            Размер массива расписания праздничных дней составляет 48 байт. 49-м байтом записывается байт контрольной суммы массива. КС массива считается простым суммированием всех байт массива (без учета переноса из старшего разряда).

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

По одному запросу на запись по физическому адресу может быть записано максимум 16 байт. В ответ на запрос счетчик отвечает последовательностью из трех байт, как описано выше.

2.1.4.2 Запись тарифного расписания

            Тарифное расписание составляется на каждый день недели каждого месяца: понедельник, вторник, среда, четверг, пятница, суббота, воскресенье, праздничный день. Каждый день делится на 144 10-ти минутных суточных тарифных интервала. Это позволяет изменять тарифы с шагом 10 минут. Каждому суточному тарифному интервалу может быть поставлен в соответствие один из 8-и тарифов (в диапазоне чисел 0…7, где 0 – 1-й тариф…7 – 8-й тариф). Номер тарифа занимает размер один полубайт в массиве тарифного расписания. Суточное тарифное расписание занимает объем 72 байта. Месячное тарифное расписание занимает объем 576 байта. Тарифное расписание на год занимает объем 6912 байт. Массив тарифного расписания имеет контрольную сумму, определяемую простым суммированием всех байт массива, аналогично КС массива расписания праздничных дней.


На рисунке 8 приведен пример суточного тарифного расписания на два часа. В примере:

·  “А” - базовый адрес массива суточного тарифного расписания;

·  первому тарифу соответствует код 0, второму – код 1… восьмому – код 7;

·  в интервале времени от 00:00 до 00:30 действует тариф 1 (код 0);

·  в интервале времени от 00:30 до 00:50 действует тариф 3 (код 2);

·  в интервале времени от 00:50 до 01:00 действует тариф 6 (код 5);

·  в интервале времени от 01:00 до 01:50 действует тариф 2 (код 1);

·  в интервале времени от 01:50 до 02:00 действует тариф 8 (код 7).

Адрес

A+0

A+1

A+2

A+3

A+4

A+5

№ тарифа

0

0

0

2

2

5

1

1

1

1

1

7

Время

00:00

00:10

00:20

00:30

00:40

00:50

01:00

01:10

01:20

01:30

01:40

01:50

Рисунок 8 – Пример тарифного расписания на два часа (с 00:00 по 02:00)

Чтобы счетчик стал одно-тарифным, код требуемого тарифа нужно записать в каждый полубайт всего массива тарифного расписания.