2007-04-03
2016-01-15
СОДЕРЖАНИЕ
1 ОБЩАЯ СТРУКТУРА ПАКЕТА ДАННЫХ .......................................................3
2 КОМАНДЫ УСТАНОВЛЕНИЯ СВЯЗИ ...........................................................4
2.1 Идентификация устройства ......................................................................4
3 КОМАНДЫ ЧТЕНИЯ ИЗ ПАМЯТИ .................................................................5
3.1 Чтение памяти таймера 128 байт .............................................................5
3.2 Чтение памяти таймера 2К байт...............................................................5
3.3 Чтение памяти Flash 512К байт ................................................................6
3.4 Чтение оперативной памяти .....................................................................7
4 СТРУКТУРА ДАННЫХ, ХРАНЯЩИХСЯ В ПАМЯТИ ТЕПЛОСЧЕТЧИКА .....8
4.1 Память таймера 2К байт ...........................................................................8
4.2 Память таймера 128 байт ....................................................................... 10
4.3 Оперативная память ............................................................................... 11
4.4 Память Flash ............................................................................................ 11
5 ЗАМЕЧАНИЯ ПО РАСШИФРОВКЕ АРХИВА .............................................. 12
5.1 Определение конфигурации прибора .................................................... 12
5.2 Расшифровка текущих показаний теплосчетчика .................................13
5.3 Расшифровка архива .............................................................................. 13
2
Теплосчетчик ТЭМ-104, Описание протокола обмена
1 ОБЩАЯ СТРУКТУРА ПАКЕТА ДАННЫХ
Посылка «ведущего» устройства (ПК, АПД и т.д.)
Байт
0
Обозначение
SIG
Пример
55
1
ADDR
01
2
!ADDR
FE
3
CGRP
0F
4
5
…
5+LEN
CMD
LEN
02
02
CS
Описание
Признак начала пакета
Сетевой адрес ведомого устройства, которому адресуется пакет
Инверсное значение сетевого адреса
Группа команд:
00 – команды установления связи;
0F – команды чтения памяти;
Идентификатор команды
Число байт посылаемых данных (0..40)
Данные (если таковые есть)
Контрольная сумма (дополнение до нуля)*
Примечание: все значения чисел шестнадцатеричные.
Ответ «ведомого» устройства (теплосчетчик, АПД)
Байт
0
1
2
3
4
5
6
…
5+LEN
Обозначение
SIG
ADDR
!ADDR
CGRP
CMD
LEN
DATA
CS
Пример
AA
01
FE
0F
02
02
04
Описание
Признак начала пакета
Сетевой адрес устройства
Инверсное значение сетевого адреса
Группа команд
Идентификатор команды
Число байт посылаемых данных
Контрольная сумма (дополнение до нуля)
* Контрольная сумма посылаемого/принимаемого пакета рассчитывается как CS =
NOT (B1+B2+B3+…+BN), где B1…BN - последовательность байт пакета, исключая
байт контрольной суммы, NOT – операция побитного логического «НЕ».
Теплосчетчик ТЭМ-104, Описание протокола обмена
3
2 КОМАНДЫ УСТАНОВЛЕНИЯ СВЯЗИ
2.1 Идентификация устройства
Посылка «ведущего» устройства
Байт
0
Обозначение
SIG
Пример
55
1
ADDR
01
2
3
4
5
6
!ADDR
CGRP
CMD
LEN
CS
FE
00
00
00
54
Описание
Признак начала пакета
Сетевой адрес ведомого устройства, которому адресуется пакет
Инверсное значение сетевого адреса
Группа команд
Идентификация устройства
Число байт посылаемых данных (0)
Контрольная сумма (дополнение до нуля)
Ответ «ведомого» устройства
Байт
0
1
2
3
4
5
6
7
8
9
A
B
C
D
4
Обозначение
SIG
ADDR
!ADDR
CGRP
CMD
LEN
DATA
DATA
DATA
DATA
DATA
DATA
DATA
CS
Пример
AA
01
FE
00
00
07
Описание
Признак начала пакета
Сетевой адрес устройства
Инверсное значение сетевого адреса
Группа команд
Идентификатор команды
Число байт посылаемых данных
‘T’
‘E’
‘M’
‘-‘
‘1’
‘0‘
‘4’
Контрольная сумма (дополнение до нуля)
Теплосчетчик ТЭМ-104, Описание протокола обмена
3 КОМАНДЫ ЧТЕНИЯ ИЗ ПАМЯТИ
3.1 Чтение памяти таймера 128 байт
Посылка «ведущего» устройства
Байт
0
Обозначение
SIG
Пример
55
1
ADDR
01
2
3
4
5
6
!ADDR
CGRP
CMD
LEN
TADDR
FE
0F
02
02
00
7
TLEN
10
8
CS
Описание
Признак начала пакета
Сетевой адрес ведомого устройства, которому адресуется пакет
Инверсное значение сетевого адреса
Группа команд
Чтение памяти таймера 128
Число байт посылаемых данных (2)
Начальный адрес в памяти таймера 128
Длина считываемого блока данных (1..64
байт)
Контрольная сумма (дополнение до нуля)
Ответ «ведомого» устройства
Байт
0
1
2
3
4
5
Обозначение
SIG
ADDR
!ADDR
CGRP
CMD
LEN
6
…
5+LEN
DATA
DATA
CS
Пример
AA
01
FE
0F
02
10
Описание
Признак начала пакета
Сетевой адрес устройства
Инверсное значение сетевого адреса
Группа команд
Чтение памяти таймера 128
Число байт посылаемых данных (равно полю
TLEN в посылке ведущего)
Данные
Контрольная сумма (дополнение до нуля)
3.2 Чтение памяти таймера 2К байт
Посылка «ведущего» устройства
Байт
0
Обозначение
SIG
Пример
55
1
ADDR
01
2
3
4
5
!ADDR
CGRP
CMD
LEN
FE
0F
01
03
6
TADRH
01
7
TADRL
80
8
TLEN
40
9
CS
Описание
Признак начала пакета
Сетевой адрес ведомого устройства, которому адресуется пакет
Инверсное значение сетевого адреса
Группа команд
Чтение памяти таймера 2К
Число байт посылаемых данных (3)
Начальный адрес в памяти таймера 2K
(старший байт)
Начальный адрес в памяти таймера 2K
(младший байт)
Длина считываемого блока данных (1..64
байт)
Контрольная сумма (дополнение до нуля)
Теплосчетчик ТЭМ-104, Описание протокола обмена
5
Ответ «ведомого» устройства
Байт
0
1
2
3
4
Обозначение
SIG
ADDR
!ADDR
CGRP
CMD
Пример
AA
01
FE
0F
01
5
LEN
40
6
…
5+LEN
DATA
DATA
CS
Описание
Признак начала пакета
Сетевой адрес устройства
Инверсное значение сетевого адреса
Группа команд
Чтение памяти таймера 2К
Число байт посылаемых данных (равно полю
TLEN в посылке ведущего)
Данные
Контрольная сумма (дополнение до нуля)
3.3 Чтение памяти Flash 512К байт
Посылка «ведущего» устройства
Байт
0
Обозначение
SIG
Пример
55
1
ADDR
01
2
3
4
5
!ADDR
CGRP
CMD
LEN
FE
0F
03
05
6
TLEN
40
7
FADR3
00
8
9
FADR2
FADR1
00
01
A
FADR0
80
B
CS
Описание
Признак начала пакета
Сетевой адрес ведомого устройства, которому адресуется пакет
Инверсное значение сетевого адреса
Группа команд
Идентификация устройства
Число байт посылаемых данных (5)
Длина считываемого блока данных (1..64
байт)
Начальный адрес в памяти Flash (старший
байт)
…
…
Начальный адрес в памяти Flash (младший
байт)
Контрольная сумма (дополнение до нуля)
Ответ «ведомого» устройства
Байт
0
1
2
3
4
Обозначение
SIG
ADDR
!ADDR
CGRP
CMD
Пример
AA
01
FE
0F
03
5
LEN
40
6
…
5+LEN
DATA
DATA
CS
6
Описание
Признак начала пакета
Сетевой адрес устройства
Инверсное значение сетевого адреса
Группа команд
Идентификатор команды
Число байт посылаемых данных (равно полю
TLEN в посылке ведущего)
Данные
Контрольная сумма (дополнение до нуля)
Теплосчетчик ТЭМ-104, Описание протокола обмена
3.4 Чтение оперативной памяти
Посылка «ведущего» устройства
Байт
0
Обозначение
SIG
Пример
55
1
ADDR
01
2
3
4
5
!ADDR
CGRP
CMD
LEN
FE
0С
01
03
6
TADRH
01
7
TADRL
80
8
TLEN
40
9
CS
Описание
Признак начала пакета
Сетевой адрес ведомого устройства, которому адресуется пакет
Инверсное значение сетевого адреса
Группа команд
Чтение оперативной памяти
Число байт посылаемых данных (3)
Начальный адрес в оперативной памяти
(старший байт)
Начальный адрес в оперативной памяти
(младший байт)
Длина считываемого блока данных (1..64
байт)
Контрольная сумма (дополнение до нуля)
Ответ «ведомого» устройства
Байт
0
1
2
3
4
Обозначение
SIG
ADDR
!ADDR
CGRP
CMD
Пример
AA
01
FE
0С
01
5
LEN
40
6
…
5+LEN
DATA
DATA
CS
Описание
Признак начала пакета
Сетевой адрес устройства
Инверсное значение сетевого адреса
Группа команд
Чтение оперативной памяти
Число байт посылаемых данных (равно полю
TLEN в посылке ведущего)
Данные
Контрольная сумма (дополнение до нуля)
Теплосчетчик ТЭМ-104, Описание протокола обмена
7
4 СТРУКТУРА ДАННЫХ, ХРАНЯЩИХСЯ В ПАМЯТИ
ТЕПЛОСЧЕТЧИКА
4.1 Память таймера 2К байт
Адрес
(HEX)
0000
0001
Имя
Тип
systems
type_g
C
C
0007
type_q
C
000C
type_t
C
0078
007C
00С4
net_num
number
diam
L
L
I[4]
00СС
g_max
F[4]
00DC
g_pcnt_max
C[4]
00E0
g_pcnt_min
C[4]
00E4
0074
00F4
00F8
00FС
f_max
weight
next_hour
next_day
next_month
F[2]
F[2]
L
L
L
00200
SysInt_copy1
**
Описание
число систем
тип датчиков расхода:
0 - частотные
1 - импульсные
тип единиц энергии:
0 - Вт*ч
1 - Кал
2 - Джоули
тип температур в статистике:
0 - среднеарифметические
1 - средневзвешенные
номер прибора в сети
заводской номер прибора
Диаметр условного прохода по каналам
Максимальное значение расхода по
системам(Gmax1)*
Установленное значение Gуmax в
процентах от (*).
Значение Gmax рассчитывается как
Gmax = Gmax1 * Gуmax * 0.01
Установленное значение Gуmin в процентах от (*).
Значение Gmin рассчитывается как
Gmin = Gmax1 * Gуmin * 0.005
Максимальная частота
Вес импульса
Адрес следующей часовой записи
Адрес следующей суточной записи
Адрес следующей записи на отчетную дату
Структуры интеграторов по системам (см.ниже)
Копия интеграторов по системам
Конфигурация систем (см.ниже)
Единицы
измерения
мм
т/ч
т/ч
т/ч
Гц
л/имп.
00300
SysInt_copy2
**
00600
SysCon
***[4]
Примечания:
а) Все числа, занимающие более 1 байта, хранятся в памяти теплосчетчика в формате
Motorola (MSB->LSB), то есть для преобразования этих чисел в формат Intel, применяемый в PC-совместимых компьютерах, необходимо поменять порядок байт на обратный;
б) Типы данных: F – float (4 байта); L – long (4 байта); I – Int (2 байта); C – Char (1 байт);
BCD – число в двоично-десятичном коде.
в) Для получения адреса записи (часовой, суточной или на отчетную дату) в памяти
Flash, которая будет записана следующей, необходимо вычесть из соответствующего
значения адреса (next_hour, next_day или next_month) 200000h(шестнадцатиричное!!!)
8
Теплосчетчик ТЭМ-104, Описание протокола обмена
**Структура SysInt (интеграторы)
Смещение
(HEX)
Имя
Тип
+0000
tek_dat
BCD[4]
+0004
prev_dat
BCD[4]
+0008
l_IntV
F[4]
+0018
l_IntM
F[4]
+0028
l_IntQ
F[4]
+0038
h_IntV
L[4]
+0048
h_IntM
L[4]
+0058
h_IntQ
L[4]
+0068
TRab
L
+006С
TNar
L[4]
+007C
+008C
Tmin
Tmax
L[4]
L[4]
+009C
Tdt
L[4]
+00AC
+00BC
+00C0
+00C8
+00E0
Ttn
tekerr
teherr
t
p
+00EC
rshv
+00FF
check
L[4]
C[4]
I[4]
I[4][3]
C[4][3]
F[4]
C
Описание
Время и дата записи (ЧЧ ДД ММ
ГГ)
Время и дата предыдущей записи (ЧЧ ДД ММ ГГ)
Дробная часть интеграторов
объема по каналам
Дробная часть интеграторов
массы по каналам
Дробная часть интеграторов энергии по каналам
Целая часть интеграторов объема по каналам
Целая часть интеграторов массы
по каналам
Целая часть интеграторов энергии
по каналам
время работы прибора при поданном питании
время работы систем без ошибок
расход меньше минимального
расход больше максимального
разность температур меньше
минимальной
техническая неисправность
Ошибки по системам
Ошибки по системам
Температура по системам
Давление по системам
Интеграторы объемного расхода
по каналам
Контрольная сумма *
Единицы
измерения
м3
т
МВт
м3
Т
МВт
сек
сек
сек
сек
сек
сек
C/100
МПа/100
м3/ч
* Контрольная сумма записи статистики (она же структура SysInt) ТЭМ-104 рассчитывается как простая сумма всех байт записи, кроме байта контрольной суммы.
Теплосчетчик ТЭМ-104, Описание протокола обмена
9
*** Структура SysCon (конфигурация систем, массив из 4 структур
SysCon, соответствующих каждой из 4 систем теплосчетчика, хранится в памяти таймера 2К по адресу 0600)
Смещение
(HEX)
Имя
Тип
+0000
SysType
C
+0001
Gprog
C[4]
+0005
Gchan
C[4]
+0009
Tprog
C[4]
+000D
Tchan
C[4]
+0011
Pprog
C[4]
+0015
Pchan
C[4]
Описание
Единицы
измерения
тип системы (01…0C)
возможные значения типов систем:
00 - Расходомер V
01 - Расходомер M
02 - Магистраль
03 - Подача
04 - Обратка
05 - Тупиковая ГВС
06 - Подпитка НСО
07 - Подпитка источника
08 - Подача + Р
0A - Открытая
0B - ГВС с рециркуляцией
0C - Источник
Расход по каналам:
0 – измеряемый;
1 …100 – программируемый в%
от Gmax
Используемые каналы расхода
Температура по каналам:
0 – измеряемая;
1 …150 – программируемая в C
Используемые каналы температуры
Давление по каналам:
0 – измеряемое;
1 …16 – программируемая в
МПа/10
Используемые каналы давления
4.2 Память таймера 128 байт
Адрес
(HEX)
0010
0012
0014
0017
0018
0019
10
Имя
Тип
t_ss
t_mm
t_hh
t_dm
t_my
t_yy
BCD
BCD
BCD
BCD
BCD
BCD
Описание
Текущее время (секунды)
Текущее время (минуты)
Текущее время (часы)
Текущая дата (день)
Текущая дата (месяц)
Текущая дата (год)
Теплосчетчик ТЭМ-104, Описание протокола обмена
Единицы
измерения
4.3 Оперативная память
В оперативной памяти хранится ряд текущих параметров по системам, начиная с адреса 2200h (4 структуры SysPar, описанных
ниже).
Структура SysPar
Смещение
(HEX)
Имя
Тип
+00
tmp
F[4]
+10
prs
F[4]
+20
ro
F[4]
+30
hent
F[4]
+40
rshv
F[4]
+50
rshm
F[4]
+60
+70
+72
+74
pwr
tekerr
teherr
зарезервировано
F[4]
C
I
C[31]
Описание
Единицы
измерения
Текущие значения температуры по каналам
Текущие значения давления
по каналам
Текущие значения плотности
теплоносителя
Текущие значения энтальпии
Текущие значения объемного расхода
Текущие значения массового расхода
Текущие значения энергии
Ошибки
Ошибки
C
МПа
м3/ч
т/ч
МВт
Размер структуры SysPar - 92h байт.
4.4 Память Flash
В памяти Flash 512К байт хранится архив статистики, состоящий из однотипных структур SysInt (см. выше).
Записи распределены в адресном пространстве памяти следующим образом:
№ записи
0-1535
1536-1903
1904-2047
Адресное пространство
00000000 – 0005FFFF
00060000 – 00076FFF
00078000 – 0007FFFF
Описание
Часовые записи (1536)
Суточные записи (368)
Записи на отчетную дату (144)
Теплосчетчик ТЭМ-104, Описание протокола обмена
11
5 ЗАМЕЧАНИЯ ПО РАСШИФРОВКЕ АРХИВА
5.1 Определение конфигурации прибора
5.1.1 Число систем – байт systems по адресу 0000 из памяти
таймера 2К байт (далее – Т2К), может принимать значения от 1
до 4;
5.1.2 Тип каждой из систем определяется при помощи значений system_t из структур SysCon (хранятся в Т2К по адресу 0600),
расшифровка значений дана в таблице;
5.1.3 Используемые в каждой из систем каналы расхода, давления и температуры определяются путем анализа соответствующих элементов массива структур SysCon (массивы Gchan, Tchan и
Pchan). Количество каналов расхода (G), давления (P) и температуры (T) для различных типов систем приведено в таблице:
Тип системы (HEX)
0
1
2
3
4
5
6
7
8
A
B
C
G
1
1
1
1
1
1
1
1
2
2
2
3
P
0
1
1
2
2
2
2
2
2
3
3
3
T
0
1
1
2
2
2
2
2
2
3
3
3
Пример: значения массива Gchan 00 01 XX XX (XX - любое значение)
для системы «Открытая» (код 0Ah) означают, что используются 1-й и
2-й каналы расхода;
5.1.4 Значения Gmax (метрологические) хранятся поканально,
т.е. в качестве индекса массива g_max необходимо брать не номер
системы, а номер соответствующего канала расхода в системе;
5.1.5 Установленные в приборе значения Gmin.уст. и Gmax уст. вычисляются следующим образом:
Gmax.уст. = Gmax * G%max * 0.01, где G%max – значение элемента массива g_pcnt_max для соответствующего канала расхода
и
Gmin.уст. = Gmax * G%min * 0.0005, где G%min – значение элемента массива g_pcnt_min для соответствующего канала расхода;
5.1.6 Значения диаметра условного прохода dу по каналам
хранятся в массиве diam; для импульсных каналов 3 и 4 значения
dу берутся напрямую из элементов массива diam; для частотных
каналов 1 и 2 значения определяются следующим образом:
12
Теплосчетчик ТЭМ-104, Описание протокола обмена
Значение соответствующего элемента массива diam
0
1
2
3
4
5
6
7
Фактическое значение dу, мм
15
25
32
40
50
80
100
150
5.2 Расшифровка текущих показаний теплосчетчика
5.2.1 Дата и время хранятся в памяти таймера 128 в двоичнодесятичном коде, начиная с адреса 010 (секунды) и заканчивая
адресом 019 (год):
Пример: цепочка шестнадцатеричных значений 33 15 14 02 03 04
расшифровывается как 14 ч. 15 мин. 33 сек. 2 марта 2004 года;
5.2.2 Значения интеграторов накопленной энергии Q берутся
из массива pwr из оперативной памяти теплосчетчика;
5.2.3 Значения интеграторов массы и объема рассчитываются
как:
M = MH + ML, где MH и ML - значения элементов массивов h_intM и
l_intM структуры SysInt для соответствующего канала;
V = VH + VL, где VH и VL - значения элементов массивов h_intV и l_intV
структуры SysInt для соответствующего канала;
5.2.4 Значения температур и давлений для соответствующих
каналов по системам берутся из структур SysPar из оперативной
памяти.
5.2.5 Интеграторы времени наработки (в секундах), а также
времен работы прибора в нештатном режиме хранятся по системам
в массивах TNar, Tmin, Tmax, Tdt, Ttn структуры SysInt; интегратор общего времени работы прибора при включенном питании
хранится в переменной TRab.
5.3 Расшифровка архива
5.3.1 Дата и время создания записи хранятся в двоичнодесятичном коде, начиная со смещения 0000 (час) и заканчивая
смещением 0003 (год)
Пример: 08 20 03 04 – 20 марта 2004г. 08:00;
5.3.2 Дата и время, за которые производится запись, хранятся
в двоично-десятичном коде, начиная со смещения 0004 (час) и
заканчивая смещением 0007 (год).
Пример: 07 20 03 04 – 20 марта 2004г. 07:00;
Теплосчетчик ТЭМ-104, Описание протокола обмена
13
5.3.3 Значения интеграторов накопленной энергии Q рассчитываются следующим образом:
Q = QH + QL,
где QH и QL - значения элементов массивов
h_intQ и l_intQ для соответствующего канала.;
5.3.4 Значения интеграторов массы и объема вычисляются
аналогично п. 5.2.3;
5.3.5 Значения температур и давлений для соответствующих
каналов берутся из массивов t и p соответственно;
5.3.6 Значения интеграторов времен получают аналогично п.
5.2.5;
5.3.7 Ошибки по системам за текущий час получают путем
анализа значений tekerr и teherr (расшифровка значений отдельных битов приведена в таблице).
tekerr
Бит
0
1
2
3
4
5
6
7
Ошибка
G1 < min
G2 < min
G3 < min
G1 > max
G2 > max
G3 > max
dt1 < min
dt2 < min
teherr
Бит
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
14
Ошибка
тех. неиспр канала расхода 1
тех. неиспр канала расхода 2
тех. неиспр канала расхода 3
тех. неиспр канала температуры 1
тех. неиспр канала температуры 2
тех. неиспр канала температуры 3
тех. неиспр канала давления 1
тех. неиспр канала давления 2
тех. неиспр канала давления 3
реверс в первом канале
реверс во втором канале
выключение питания
Теплосчетчик ТЭМ-104, Описание протокола обмена
Теплосчетчик ТЭМ-104, Описание протокола обмена
15
Скачать

3 команды чтения из памяти - ТЭМ