ОРС-сервер Карат

Просмотр 2 сообщений - с 16 по 17 (из 17 всего)
  • Автор
    Сообщения
  • #17270
    Andrew174
    Участник

    Добрый день!
    Появилась необходимость опроса теплосчетчиков КАРАТ-306. По информации техподдержки НПП Уралтехнология, в теплосчетчиках реализован не только «фирменный» modbus- подобный протокол Карат, но и классический Modbus-RTU.
    Выдержку из документа «Протокол передачи данных ModBus307 для приборов Карат-306, Карат-307, Карат-308» привожу ниже:

    5 Регистры для считывания мгновенных значений по одному (с
    доступом к каждому отдельному регистру и к группам регистров).
    Для широкого круга ОРС серверов
    Регистры удобно использовать для работы с ОРС серверами
    сторонних производителей, для работы с любыми SCADA системами.
    Внимание, регистры доступны только для приборов начиная с 2016
    года выпуска.
    5.1 Текущие (мгновенные) значения объемного расхода с доступом
    к каждому значению по своему регистру (регистры 0х1100-0x110F)
    В этих регистрах содержатся 16 логических каналов прибора с
    текущими (мгновенными) значениями объемного расхода. С их помощью
    можно считать объем с каждого логического канала по отдельности, по
    одному. Так же возможно считывание каналов группами.
    Импульсный вход
    Название параметра
    Адрес регистра Размер, байт
    Канал f1 0х1100 4 (float)
    Канал f2 0х1102 4 (float)
    Канал f3 0х1104 4 (float)
    Канал f4 0х1106
    4 (float)
    Канал f5 0х1108
    4 (float)
    Канал f6 0х110A
    4 (float)
    Канал f7 0х110C
    4 (float)
    Канал f8 0х110E
    4 (float)
    Канал f9 0х1110
    4 (float) Канал f10 0х1112
    4 (float)
    Канал f11 0х1114
    4 (float)
    Канал f12 0х1116
    4 (float)
    Канал f13 0х1118
    4 (float)
    Канал f14 0х111A
    4 (float)
    Канал f15 0х111C
    4 (float)
    Канал f16 0х111E
    4 (float)
    Пояснение: допустим в приборе настроены два канала расхода V1 (на
    канале f1) и V2 (на канале f2), тогда необходимо опросить два регистра
    по отдельности, 0х1100 и 0х1102, чтобы считать значения текущего
    расхода по этим каналам. Либо можно, задав начальный адрес 0х1100 и
    необходимое количество регистров для чтения считать 2 и более
    регистра за один запрос.

    5.2 Текущие (мгновенные) значения температуры с доступом к
    каждому значению по своему регистру (регистры 0х1110-0x111F)
    В этих регистрах содержатся 16 логических каналов прибора с
    текущими (мгновенными) значениями температуры. С их помощью
    можно считать температуру с каждого логического канала по
    отдельности, по одному. Так же возможно считывание каналов группами.
    Температуры
    Название параметра
    Адрес регистра Размер, байт
    Канал t1 0х1120 4 (float)
    Канал t2 0х1122 4 (float)
    Канал t3 0х1124 4 (float) Канал t4 0х1126
    4 (float)
    Канал t5 0х1128
    4 (float)
    Канал t6 0х112A
    4 (float)
    Канал t7 0х112C
    4 (float)
    Канал t8 0х112E
    4 (float)
    Канал t9 0х1130
    4 (float)
    Канал t10 0х1132
    4 (float)
    Канал t11 0х1134
    4 (float)
    Канал t12 0х1136
    4 (float)
    Канал t13 0х1138
    4 (float)
    Канал t14 0х113A
    4 (float)
    Канал t15 0х113C
    4 (float)
    Канал t16 0х113E
    4 (float)

    5.3 Текущие (мгновенные) значения давлений с доступом к каждому
    значению по своему регистру (регистры 0х1120-0x112F)
    В этих регистрах содержатся 16 логических каналов прибора с
    текущими (мгновенными) значениями давления. С их помощью можно
    считать давления с каждого логического канала по отдельности, по
    одному. Так же возможно считывание каналов группами.
    Давления
    Название параметра
    Адрес регистра Размер, байт Канал p1 0х1140 4 (float)
    Канал p2 0х1142 4 (float)
    Канал p3 0х1144 4 (float)
    Канал p4 0х1146
    4 (float)
    Канал p5 0х1148
    4 (float)
    Канал p6 0х114A
    4 (float)
    Канал p7 0х114C
    4 (float)
    Канал p8 0х114E
    4 (float)
    Канал p9 0х1150
    4 (float)
    Канал p10 0х1152
    4 (float)
    Канал p11 0х1154
    4 (float)
    Канал p12 0х1156
    4 (float)
    Канал p13 0х1158
    4 (float)
    Канал p14 0х115A
    4 (float)
    Канал p15 0х115C
    4 (float)
    Канал p16 0х115E
    4 (float)

    5.4 Текущие (мгновенные) значения масс с доступом к каждому
    значению по своему регистру (регистры 0х1130-0x113F)
    В этих регистрах содержатся 16 логических каналов прибора с
    текущими (мгновенными) значениями массы. С их помощью можно считать массы с каждого логического канала по отдельности, по одному.
    Так же возможно считывание каналов группами.
    Массы
    Название параметра
    Адрес регистра Размер, байт
    Канал g1 0х1160 4 (float)
    Канал g2 0х1162 4 (float)
    Канал g3 0х1164 4 (float)
    Канал g4 0х1166
    4 (float)
    Канал g5 0х1168
    4 (float)
    Канал g6 0х116A
    4 (float)
    Канал g7 0х116C
    4 (float)
    Канал g8 0х116E
    4 (float)
    Канал g9 0х1170
    4 (float)
    Канал g10 0х1172
    4 (float)
    Канал g11 0х1174
    4 (float)
    Канал g12 0х1176
    4 (float)
    Канал g13 0х1178
    4 (float)
    Канал g14 0х117A
    4 (float)
    Канал g15 0х117C
    4 (float)
    Канал g16 0х117E
    4 (float)
    5.5 Текущие (мгновенные) значения тепловой энергии с доступом к
    каждому значению по своему регистру (регистры 0х1140-0x114F)
    В этих регистрах содержатся 16 логических каналов прибора с
    текущими (мгновенными) значениями тепловой энергии. С их помощью
    можно считать тепловую энергию с каждого логического канала по
    отдельности, по одному. Так же возможно считывание каналов группами.
    Тепловая энергия
    Название параметра
    Адрес регистра Размер, байт
    Канал q1 0х1180 4 (float)
    Канал q2 0х1182 4 (float)
    Канал q3 0х1184 4 (float)
    Канал q4 0х1186
    4 (float)
    Канал q5 0х1188
    4 (float)
    Канал q6 0х118A
    4 (float)
    Канал q7 0х118C
    4 (float)
    Канал q8 0х118E
    4 (float)
    Канал q9 0х1190
    4 (float)
    Канал q10 0х1192
    4 (float)
    Канал q11 0х1194
    4 (float)
    Канал q12 0х1196
    4 (float)
    Канал q13 0х1198
    4 (float)
    Канал q14 0х119A
    4 (float) Канал q15 0х119C
    4 (float)
    Канал q16 0х119E
    4 (float)

    6. Регистры для считывания интегральных значений по одному (с
    доступом к каждому отдельному регистру и к группам регистров).
    Для широкого круга ОРС серверов.
    Регистры удобно использовать для работы с ОРС серверами
    сторонних производителей, для работы с какими-либо SCADA
    системами.
    Интегральные значения, как и последние значения в интегральном
    архиве прибора обновляются раз в час. То же относится и ко всем
    остальным параметрам в этих регистрах.
    Структура регистров отличается от структуры регистров
    мгновенных значений. В регистрах содержатся до 55-ти 4-х байтных
    значений архивируемых параметров прибора. С их помощью можно
    считать параметры, находящиеся во всех подсистемах прибора.
    Параметры, не вошедшие в подсистемы прибора считать, используя эти
    регистры, невозможно.
    Кроме интегральных значений для V, G, Q в этих регистрах так же
    могут находиться архивируемые значения для Т и Р, а так же времена
    Тmin, Tmax, Tdt и прочие, + ошибки и наработка прибора.
    Значения V, G, Q, T, P идут во float.
    Значения Тmin, Tmax, Tdt и прочие, + ошибки и наработка прибора
    идут в long.
    Порядковый
    номер параметра
    Адрес регистра Размер, байт
    1 0х1300 4 (float)
    2 0х1302 4 (float либо long)
    3 0х1304 4 (float либо long)
    4 0х1306 4 (float либо long)
    5 0х1308 4 (float либо long)
    6 0х130A 4 (float либо long) 7 0х130C 4 (float либо long)
    8 0х130E 4 (float либо long)
    9 0х1310 4 (float либо long)
    10 0х1312 4 (float либо long)
    11 0х1314 4 (float либо long)
    12 0х1316 4 (float либо long)
    13 0х1318 4 (float либо long)
    14 0х131A 4 (float либо long)
    15 0х131C 4 (float либо long)
    16 0х131E 4 (float либо long)
    17 0х1320 4 (float либо long)
    18 0х1322 4 (float либо long)
    19 0х1324 4 (float либо long)
    20 0х1326 4 (float либо long)
    21 0х1328 4 (float либо long)
    22 0х132A 4 (float либо long)
    23 0х132C 4 (float либо long)
    24 0х132E 4 (float либо long)
    25 0х1330 4 (float либо long) 26 0х1332 4 (float либо long)
    27 0х1334 4 (float либо long)
    28 0х1336 4 (float либо long)
    29 0х1338 4 (float либо long)
    30 0х133A 4 (float либо long)
    31 0х133C 4 (float либо long)
    32 0х133E 4 (float либо long)
    33 0х1340 4 (float либо long)
    34 0х1342 4 (float либо long)
    35 0х1344 4 (float либо long)
    36 0х1346 4 (float либо long)
    37 0х1348 4 (float либо long)
    38 0х134A 4 (float либо long)
    39 0х134C 4 (float либо long)
    40 0х134E 4 (float либо long)
    41 0х1350 4 (float либо long)
    42 0х1352 4 (float либо long)
    43 0х1354 4 (float либо long)
    44 0х1356 4 (float либо long) 45 0х1358 4 (float либо long)
    46 0х135A 4 (float либо long)
    47 0х135C 4 (float либо long)
    48 0х135E 4 (float либо long)
    49 0х1360 4 (float либо long)
    50 0х1362 4 (float либо long)
    51 0х1364 4 (float либо long)
    52 0х1366 4 (float либо long)
    53 0х1368 4 (float либо long)
    54 0х136A 4 (float либо long)
    55 0х136C 4 (float либо long)
    Пояснение: допустим в приборе настроены для архивирования
    (добавлены в подсистему) только два канала расхода V1 и V2, тогда
    необходимо опросить два регистра по отдельности, 0х1300 и 0х1302,
    чтобы считать значения интегрального расхода по этим каналам. Либо
    можно, задав начальный адрес 0х1300 и необходимое количество
    регистров для чтения считать 2 и более регистра за один запрос.
    Описание конфигурации архивной записи можно более подробно
    найти в описании регистра 0x0106.

    Внимание, т.к. разные ОРС серверы и разные системы по разному
    воспринимают порядок байт во float, в приборах есть настройка порядка
    байт, пересылаемых по интерфейсу (актуально для раздела 5). Делается
    настройка путем подключения прибора к ПК, и его конфигурирования
    программой “Карат Конфигуратор”. Если работая по таблицам раздела 5
    вам не удается считать то значение, которое отображает прибор, то
    необходимо попробовать следующее.
    В программе Карат Конфигуратор нажать комбинацию клавиш
    “Alt” + “F” (раскладка клавиатуры должна быть английская). Должно
    появиться следующее окно (до этого конфигуратор и прибор должны
    быть настроены на одну и ту же скорость обмена, должен быть выбран
    СОМ порт, к которому подключен прибор, прибор должен быть
    переведен в режим ТЕСТ):

    После нажатия на клавишу “Да” будет представлен выбор из
    четырех вариантов:

    0123
    1032
    3210
    2301
    Необходимо установить подходящий вам вариант.
    Приложение 1. Пример организации чтения архивов (почасовой,
    посуточный, помесячный, помесячный интегральный) из приборов
    Карат-306, 307, 308.
    Возможный алгоритм чтения архивов из приборов: 1. Определение типа прибора — желательно. Регистр 0x708
    2. Чтение даты и времени из прибора — желательно. Регистр 0x0062
    3. Чтение заводского номера — желательно. Регистр 0x0101
    4. Чтение конфигурации архивов — обязательно, чтобы знать, где какой параметр лежит в
    архиве ! Регистр 0x0106
    5. Чтение необходимых архивов — обязательно ! (Набор регистров)
    Разберем этот алгоритм подробнее:
    1. Регистр 0x708
    // >> 01 03 07 08 00 01 04 BC Пример запрос
    // << 01 03 02 D5 00 E6 D4 Пример ответ
    (00D5 = 213, т.е. в данном примере прибор КАРАТ-Компакт 213)
    2. Регистр 0x0062
    // >> 01 03 00 62 00 01 2E 14 Пример запрос
    // << 01 03 08 26 1E 17 1E 06 09 E1 07 9B D9 Пример ответ
    3. Регистр 0x0101.
    // >> 00 03 01 01 00 04 15 e4
    // << 00 03 36 01 30 30 30 31 31 31 31 36 00 80 09 45 00 80 22 45 66 66 54 42 66 66 54 42 66 66
    54 42 66 66 54 42 66 66 54 42 66 66 54 42 01 f0 0b 36 13 0e 0b 10 05 04 04 d6 32 da 93
    (номер прибора 00011116)
    4. Регистр 0x0106, читаем этот регистр, затем разбираем, где какой параметр будет лежать
    при запросе архивов.
    // >> 00 03 01 06 00 01 64 26
    // << 00 03 38 01 10 11 12 13 14 30 31 32 33 34 35 40 41 42 43 d1 d2 d3 d4 d5 c0 b0 ff 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 b1
    Пример расшифровки: v1 v2 v3 v4 v5 t1 t2 t3 t4 t5 t6 p1 p2 p3 p4 Tmin Tmax Tdt
    Tf Tep Ошибки Наработки Конец всех подсистем
    5. Чтение архивов.
    Для чтения архива сначала необходимо записать в прибор дату время требуемого архива,
    регистр 0x0060:
    // >> 01 10 00 60 00 02 04 11 09 0B 10 26 45
    // << 01 10 00 60 00 02 41 D6 Далее читаем запись с этой датой временем, пример для почасового архива, регистр 0x0000:
    // >> 01 03 00 00 00 01 84 0A
    // << 01 03 F0 01 00 C7 00 08 00 00 00 00 00 02 00 01 3B 11 09 0B 10 FB FF 7F 40 F9 FF 3F 40
    00 00 A0 42 00 00 48 42 00 00 C0 40 00 00 80 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….
    Далее, если это нужно, читаем записи почасового архива с инкрементом от только что
    считанной записи, регистр 0x0005, повторяя этот запрос можно дойти до самой свежей
    записи в архиве.
    // >> 01 03 00 05 00 78 55 E9
    // << 01 03 F0 01 00 C8 00 08 00 00 00 00 00 02 00 01 3B 12 09 0B 10 FB FF 7F 40 F9 FF 3F 40
    00 00 A0 42 00 00 48 42 00 00 C0 40 00 00 80 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 …….
    Так можно считать любой необходимый архив: почасовой, посуточный, помесячный,
    помесячный интегральный (используя необходимые для их чтения регистры).

    #17274
    Mikhail
    Модератор

    Дублируется здесь

Просмотр 2 сообщений - с 16 по 17 (из 17 всего)
  • Вы должны авторизироваться для ответа в этой теме.