11. Список оборудования по каталогу CERN Store

advertisement
Федеральное государственное унитарное предприятие
РОССИЙСКИЙ ФЕДЕРАЛЬНЫЙ ЯДЕРНЫЙ ЦЕНТР
Всероссийский научно-исследовательский
институт экспериментальной физики
ФГУП «РФЯЦ-ВНИИЭФ»
Институт Ядерной и Радиационной Физики
(ИЯРФ)
УДК 539.122.074
УТВЕРЖДАЮ
Директор ИЯРФ
д-р физ.-мат. наук
__________________Н.В.Завьялов
«_____» _____________2011 г.
ОТЧЁТ
О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ
РЕЗУЛЬТАТЫ РАБОТ ПО ЗАПУСКУ РЕЗЕРВНОГО ХОЛОДИЛЬНОГО АГРЕГАТА
ДЛЯ СИСТЕМЫ ОХЛАЖДЕНИЯ СПЕКТРОМЕТРА PHOS ЭКСПЕРИМЕНТА ALICE
НА БОЛЬШОМ АДРОННОМ КОЛЛАЙДЕРЕ В CERN И ЕЁ СЕРВИСНОМУ
ОБСЛУЖИВАНИЮ
(промежуточный)
Тема «Большой Адронный Коллайдер – БАК»
заказ 70241
04.ОТН20-2011
Советник при дирекции – гл. науч. сотр.
д-р физ.-мат. наук
В.Т. Пунин
Начальник отдела 0413
С.Т. Назаренко
Начальник отдела 0404
канд. физ.-мат. наук
И.А. Иванин
Саров 2011
СПИСОК ИСПОЛНИТЕЛЕЙ
Ответственные исполнители:
А.В.Курякин
(Введение, раздел 2, 3, 4, 5,
Заключение)
СНС отд.0404
кандидат физ.-мат.наук
Начальник группы отдела 0413
Д.В.Будников
(Введение, раздел 1,
Заключение, Приложение)
Исполнители:
Начальник отдела 0413
С.Т.Назаренко
Начальник лаборатории 0404/1
доктор физ.-мат.наук
Ю.И.Виноградов
Ст. науч. сотр. отдела 0404
С.В. Фильчагин (разделы
4,18)
Мл. науч. сотр. отдела 0404
А.В. Мамонов (разделы 11,
19)
Мл. науч. сотр. отдела 0404
А.Д. Тумкин (раздел 18)
Науч. сотр. отдела 0404
А.Н. Вьюшин (раздел 11)
Инженер-исследователь 2 кат.
отдела 0404
О.П. Вихлянцев (раздел 12)
Мастер опытно-производственного участка отд.0485
Г.М.Назаров
Нормоконтролёр
Н.В.Ермакова
2
СОКРАЩЕНИЯ
ВНИИЭФ
–
Всероссийский НИИ экспериментальной физики, г. Саров
CERN
–
Европейский центр ядерных исследований, http://cern.ch
БАК
–
Большой Адронный Коллайдер, расположен в CERN
LHC
–
Large Hadron Collider
ALICE
–
A Large Ion Collider Experiment, http://aliceinfo.cern.ch
PHOS
–
PHOton Spectrometer, https://aliceinfo.cern.ch/PHOS
ТРВ
–
Терморегулирующий вентиль
ECV
–
Electric control valve
PWO
–
PbWO4 – вольфрамат свинца (lead tungstate)
AliPhosCool
–
ALICE PHOS cooling – программа управления системой охлаждения
спектрометра PHOS
CRW-DAQ
–
Инструментальный
программный
пакет
для
автоматизации
физических измерений, в среде которого реализована программа
AliPhosCool, сайт www.crw-daq.ru
ПК, PC
–
Персональный компьютер, personal computer
ПО
–
Программное обеспечение
3
ОГЛАВЛЕНИЕ
1.
ПОДКЛЮЧЕНИЕ ОХЛАЖДАЮЩИХ ВЕНТИЛЯТОРОВ .................................................................... 7
2.
ПОДКЛЮЧЕНИЕ И НАСТРОЙКА УПРАВЛЯЮЩЕГО КОМПЬЮТЕРА ....................................... 9
3.
ПОДКЛЮЧЕНИЕ ВОДЫ И ИМИТАТОРА ТЕПЛОВОЙ НАГРУЗКИ................................................ 9
4.
ПОДКЛЮЧЕНИЕ, ПРОВЕРКА И КАЛИБРОВКА ДАТЧИКОВ ДАВЛЕНИЯ................................. 11
5.
РЕЗУЛЬТАТЫ ОСМОТРА РЕЗЕРВНОГО ХОЛОДИЛЬНОГО АГРЕГАТА .................................... 14
6.
УСТРАНЕНИЕ ЗАМЕЧЕННЫХ НЕДОСТАТКОВ ................................................................................ 18
7.
ПОДКЛЮЧЕНИЕ И НАСТРОЙКА ТРВ .................................................................................................. 19
8.
РЕЗЕРВИРУЕМЫЙ ИСТОЧНИК ПИТАНИЯ ДЛЯ КОМПЬЮТЕРА ............................................... 21
9.
КАЛИБРОВКА ПРЕЦИЗИОННЫХ ДАТЧИКОВ PT-100 ..................................................................... 23
10.
РАБОТЫ ПО ПОДКЛЮЧЕНИЮ ДАТЧИКА ПОТОКА ТЕПЛОНОСИТЕЛЯ ........................... 25
11.
СПИСОК ОБОРУДОВАНИЯ ПО КАТАЛОГУ CERN STORE ....................................................... 29
ЗАКЛЮЧЕНИЕ ....................................................................................................................................................... 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .......................................................................................... 33
ПРИЛОЖЕНИЕ ....................................................................................................................................................... 35
4
РЕФЕРАТ
Отчёт содержит 48 с., 48 рис., 7 табл., 1 приложение, 4 источника.
СПЕКТРОМЕТР PHOS, СИСТЕМА ОХЛАЖДЕНИЯ, ПУСКОНАЛАДОЧНЫЕ
РАБОТЫ, ФРЕОН, ТЕПЛОНОСИТЕЛЬ, ХОЛОДИЛЬНЫЙ АГРЕГАТ, НАСОСНАЯ
СТАНЦИЯ, ТЕМПЕРАТУРА, ТЕМПЕРАТУРНАЯ СТАБИЛИЗАЦИЯ, ТЕМПЕРАТУРА
КИПЕНИЯ, ТЕМПЕРАТУРА КОНДЕНСАЦИИ, КОМПРЕССОР, ДАТЧИК ПОТОКА
ВОДЫ, МАГИСТРАЛЬНЫЕ ТРУБОПРОВОДЫ
В
отчёте
приведены
результаты
пусконаладочных
работ
по
резервному
холодильному агрегату в лаборатории 167 R-006, а также по сервисному обслуживанию и
настройке системы охлаждения спектрометра PHOS в шахте эксперимента ALICE на
Большом Адронном Коллайдере, проведенных с 7 ноября по 21 декабря 2011 года в
CERN. Приведён анализ состояния резервного холодильного агрегата, перечислены
обнаруженные недостатки. Дан перечень работ, которые необходимо выполнить по
резервному холодильному агрегату для запуска его в эксплуатацию.
5
ВВЕДЕНИЕ
В рамках проекта международного сотрудничества РФЯЦ-ВНИИЭФ участвует в
эксперименте ALICE (A Large Ion Collider Experiment) [1]. Этот эксперимент посвящен
изучению свойств кварк-глюонной плазмы на Большом Адронном Коллайдере (БАК)
LHC (Large Hadron Collider) в CERN [2]. Экспериментальная установка ALICE является
масштабным и технически сложным сооружением. Она расположена в шахте UX25 на
глубине более 50 метров и включает большое число детекторов, основанных на самых
передовых достижениях науки и технологии. ВНИИЭФ принял участие в создании и
обслуживании спектрометра фотонов высоких энергий PHOS [3,4].
Спектрометр PHOS сделан на основе кристаллов вольфрамата свинца (PWO). Эти
кристаллы имеют сильную зависимость светового выхода от температуры, составляющую
около 2 % на °С. Поэтому одной из существенных компонентов спектрометра PHOS
является система охлаждения и температурной стабилизации (СОТС) [5]. Задачей этой
системы является стабилизация рабочей температуры в матрице кристаллов PWO минус
25°C с высокой точностью не хуже ±0.1°C. Эта задача была успешно решена в сеансах
2009/2010 и 2011 г. В процессе эксплуатации СОТС было обнаружено, что потребляемая
мощность растет примерно на 10% в год [6] и составляет в настоящее время около 80% от
максимальной мощности. Вероятной причиной является постепенное ухудшение качества
теплоизоляции из-за влаги (конденсата). При сохранении указанного роста запаса
мощности должно хватить на 1.5-2 года работы основного холодильного агрегата.
Рисунок 1. Сравнительная таблица спиральных компрессоров производства Copaland.
Резервный холодильный агрегат (№2), привезенный в CERN в 2009 году, сделан для
замены основного холодильного агрегата (№1), работающего в шахте, в случае его выхода
6
из строя. Он имеет более мощные компрессоры «ZF 11K4E-TFD-556» с паспортной
производительностью по холоду 2.46 кВт. Для сравнения, основная машина имеет
компрессоры «ZF 09K4E-TFD» с паспортной производительностью 1.94 кВт. Данные
взяты с сайта производителя [7], сравнительная таблица показана на рисунке 1.
По причине роста тепловой нагрузки крайне желательно получить запас по
мощности введением в эксплуатацию более мощного резервного холодильного агрегата,
который находится в настоящее время в лаборатории 167 R-003. Предполагается, что этот
холодильный агрегат со временем заменит основной холодильный агрегат.
В отчете приведены результаты работы, проведенной с 7 ноября по 21 декабря по
запуску в эксплуатацию резервного холодильного агрегата в лаборатории 167 R-006, а
также работ по обслуживанию основного холодильного агрегата в шахте UX25.
1. ПОДКЛЮЧЕНИЕ ОХЛАЖДАЮЩИХ ВЕНТИЛЯТОРОВ
При анализе данных сеансов 2009/2010 года было отмечено, что температура
воздуха в холодильном агрегате доходит до 40°C вблизи электронного блока управления,
что создает неблагоприятные условия для электроники.
Для улучшения теплового
режима в холодильном агрегате и насосной станции было решено установить
охлаждающие вентиляторы (всего восемь штук), четыре в холодильном агрегате и четыре
в насосной станции, по два на вытяжку и на всасывание. Подключение вентиляторов на
основном холодильном агрегате и насосной станции в шахте было выполнено в феврале
2011 [6]. В резервном холодильном агрегате необходимо было также установить
аналогичные вентиляторы.
В связи с этим в резервном холодильном агрегате было установлено четыре
вентилятора мощностью 28 Вт каждый типа «06.61.91.930.2 –CLOS.RACK VENTIL.
EP.38mm 220V» по каталогу CERN Store. Для подключения вентиляторов используются
специальные разъемные соединения типа «06.61.91.970.4 - VENTILATOR CONN.CABLE
L 119», поставляемые с проводом длиной ~ 1 м. Для защиты вентиляторов используются
специальные защитные решетки типа «06.61.91.936.6 - PROT.FANS./CLOSED RACK
VENTIL».
Для подключения вентиляторов использовался силовой
кабель типа
«04.08.61.510.9 - FLEX.COPPERCABLE 3×0,75 mm2». Для подключения вентиляторов
между компрессорной и насосной станцией использовались вилки типа «09.00.09.018.2 MOVABLEPLUG 16A 220VIEC309» и розетки типа «09.00.09.118.9 - MOVABLESOCKET
16A 220VIEC309».
Поскольку вентиляторы расположены на съемных панелях, кабели для их
подключения сделаны с запасом (примерно 1 м), так что панели можно легко снимать и
7
отсоединять с помощью съемного разъема. Блок управления вентиляторами закреплен на
боковой стенке силового блока.
Для управления вентиляторами собран четырехканальный блок управления,
который собран на модуле I7043 (адрес $0B, COM1, 115200 bit/sec, 8 data bits, 1 stop bit, no
parity, with control sum). Схема блока управления показана на рисунке 2. Размеры и типы
кабелей и разъемов для подключения вентиляторов показаны на рисунке 3.
+24В
P11
Конт. Цепь
1
DO10
2
DO11
3
DO12
4
DO13
5
DO14
6
INIT*/DO15
7
(Y)DATA+
(G)DATA 8
9
(R)+Vs
10
(B)GND
DАТА+
DАТА +24В
Цепь
DO0
DO1
DO2
DO3
DO4
DO5
DO6
DO7
DO8
DO9
Конт.
1
2
3
4
11
12
13
14
15
16
17
18
19
20
1
A1
2
A1
3
A1
4
A1
K1
A2
K2
A2
K3
A2
K4
A2
~380/220, 750 W
L
N
FAN1 (a), FAN1 (b)
X1...X8
Конт. Цепь
1 F1 Brown
2 F1 Blue
Y1
F
F
W1
K2NO
Конт. Цепь
3 F2 Brown
4 F2 Blue
Y2
F
F
W2
FAN3 (a), FAN3 (b)
C3 6.3A
COM
L
N
K3NO
Конт. Цепь
5 F3 Brown
6 F3 Blue
F
F
W3
FAN4 (a), FAN4 (b)
C4 6.3A
L
N
~220В
COM
L
N
Обозначение
К1...К4
P1
S1
K1NO
FAN2 (a), FAN2 (b)
COM
L
N
S1
Y3
COM
C2 6.3A
I-7043, $0B, COM1
(L)
(N)
C1 6.3A
K4NO
Конт. Цепь
7 F4 Brown
8 F4 Blue
F
F
W4
Кол. Примечание
Наименование
X1...X8
C1...C4
Реле электромагнитное finder 34.51.7.024.0010 по каталогу фирмы "Чип индустрия"
Модуль ICP CON i-7043 по каталогу фирмы "Индустриальные компьютерные системы"
Включатель автоматический Legrand 3P С16 400V по каталогу фирмы «ELFA»
Клемма ST 2,5 по каталогу фирмы «Phoenix contact»
Клемма предохранительная 2,5 по каталогу фирмы «Phoenix contact» type ST 4-HESI (5x20)
4
1
1
8
4
FAN1…FAN4
W1...W4
Y1, Y2
Y3
Вентилятор 06.61.91.930.2, защитная решетка 06.61.91.936.6, разъем 06.61.91.970.4 по каталогу CERN Store
Кабель силовой 04.08.61.510.9, метров, по каталогу CERN Store
Розетка 09.00.09.118.9, вилка 09.00.09.018.2 по каталогу CERN Store
Розетка, вилка, европейского стандарта
8
23
2
1
24V, 250V, 6A
$0B, COM1, 115200+
6.3 A
Рисунок 2. Схема электрическая блока управления для охлаждающих вентиляторов.
250
150
Pump station
~220
300
Примечание:
Все
размеры
указаны
в
сантиметрах.
FAN 4 (a)
100
150
Compressor station
~220
150
~220
150
Compressor station
250
300
100
300
Pump station
FAN4 (b)
100
FAN3 (b)
100
FAN 3 (a)
FAN 2 (a) FAN2 (b)
100
300
100
~220
Refrigerating
unit
100
FAN 1 (a) FAN1 (b)
100
Compressor
station
04.08.61.510.9
06.61.91.970.4
09.00.09.118.9
09.00.09.018.2
Рисунок 3. Типы и размеры кабелей для подключения охлаждающих вентиляторов.
Выполненное на резервном холодильном агрегате подключение охлаждающих
вентиляторов полностью аналогично подключению, выполненному на основном
холодильном агрегате в феврале 2011 года и описанному в отчете [6], где подключение и
монтаж вентиляторов описан более подробно.
8
2. ПОДКЛЮЧЕНИЕ И НАСТРОЙКА УПРАВЛЯЮЩЕГО КОМПЬЮТЕРА
Для управления резервной системой охлаждения используется высоконадежный
безвентиляторный промышленный компьютер NEXCOM NISE 3100P2. Для выполнения
работ в лаборатории 167 R-006 этот компьютер был зарегистрирован в сети CERN под
именем ALIDCSCOM252-L.CERN.CH, чтобы подключить его к сети (через Outlet 0110/2)
и иметь возможность работать в режиме удаленного доступа. Компьютер имеет два
сетевых интерфейса, первый для удаленного доступа, второй для подключения ТРВ.
Сетевые настройки имеют следующий вид (результат выполнения команды ipconfig /all):
> ipconfig.exe /all
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : ALIDCSCOM252-L
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : одноранговый
IP-маршрутизация включена . . . . : нет
WINS-прокси включен . . . . . . . : нет
Порядок просмотра суффиксов DNS . : cern.ch
Подключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . : cern.ch
Описание . . . . . . . . . . . . : Intel(R) PRO/100 M Desktop Adapter
Физический адрес. . . . . . . . . : 00-10-F3-19-29-8A
Dhcp включен. . . . . . . . . . . : да
Автонастройка включена . . . . . : да
IP-адрес . . . . . . . . . . . . : 137.138.9.183
Маска подсети . . . . . . . . . . : 255.255.0.0
Основной шлюз . . . . . . . . . . : 137.138.1.1
DHCP-сервер . . . . . . . . . . . : 137.138.16.9
DNS-серверы . . . . . . . . . . . : 137.138.16.5
Основной WINS-сервер . . . . . . : 137.138.17.248
Дополнительный WINS-сервер. . . . : 137.138.16.248
Подключение по локальной сети 2 - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Intel(R) PRO/100 M Desktop Adapter #2
Физический адрес. . . . . . . . . : 00-10-F3-19-29-8B
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 192.168.0.1
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . :
Кроме настройки сети на компьютере были установлены необходимые критические
обновления операционной системы Windows, обновлен дистрибутив пакета CRW-DAQ, а
также выполнена настройка среды Windows для безопасной работы в удаленном режиме.
Для работы с ТРВ была также установлена библиотека Java Runtime Environment
версии 6u22. Эта библиотека необходима для доступа к настройкам ТРВ через Web.
3. ПОДКЛЮЧЕНИЕ ВОДЫ И ИМИТАТОРА ТЕПЛОВОЙ НАГРУЗКИ
Для проведения пусконаладочных работ с резервным холодильным агрегатом надо
обеспечить два условия. Необходимо снимать выделяемое тепло с нагнетательного
коллектора (конденсатора фреона), а также обеспечить циркуляцию теплоносителя и
тепловую нагрузку для холодильного агрегата.
9
Задача съема тепла с конденсатора решается с помощью водяного радиатора. Для
его работы необходимо выполнить подключение воды и обеспечить ее поток. В шахте
используется вода из замкнутого водяного контура, что обеспечивается службами CERN.
Вода в лаборатории 167 R-006 берется из общей водяной сети CERN и сливается в
канализацию. Для подключения воды были найдены длинные шланги из армированного
силикона и переходные фланцы с оливками для их подключения на хомуты, как показано
на рисунке 4. Регулирование потока осуществляется с помощью вентиля.
Рисунок 4. Фланцы для подключения воды и теплоносителя (слева). Подключение воды
для водяного радиатора и теплоносителя для имитатора тепловой нагрузки
(справа).
При подключении воды возникла следующая проблема. В водяной магистрали
стоит клапан на воду с регулируемым порогом по давлению фреона. Этот клапан
открывает подачу воды при давлении фреона выше порогового значения, которое задается
механически, пружиной с регулируемым с помощью винта усилием. К сожалению, при
отсутствии фреона давление в системе слишком мало и регулировкой пружины не удалось
добиться открытия клапана ни при каком регулировании. Поэтому, хотя вода подключена,
поток воды не идет из-за закрытого клапана. Эта проблема решится только после закачки
фреона в систему.
В качестве имитатора нагрузки была подключена старая система охлаждения,
использовавшаяся в пучковых тестах в 2000-2006 годах. Это решение было принято
потому, что там уже имеются насосы, ресивер для теплоносителя, трубопроводы и
нагреватель для создания тепловой нагрузки. Имитатор нагрузки может создавать
нагрузку не более 2 кВт, что, конечно, недостаточно для полномасштабного испытания
холодильного агрегата, но вполне пригодно для проведения пусконаладочных работ.
10
4. ПОДКЛЮЧЕНИЕ, ПРОВЕРКА И КАЛИБРОВКА ДАТЧИКОВ ДАВЛЕНИЯ
В системе управления холодильным агрегатом имеется 3 датчика давления. Их
внешний вид показан на рисунке 5.
Рисунок 5. Внешний вид датчиков давления P1, P2, P3 (слева направо).
Датчик P1 на нагнетательном коллекторе имеет маркировку PA-21G/30Bar/81388.11,
Range: 0…30 Bar, OUTPUT: 4…20 mA. Он измеряет избыточное давление, поэтому при
калибровке используется таблица { (4 mA, 1 Bar), (20 mA, 31 Bar) }, т.к. в программе
управления принято использовать абсолютное давление.
Для регистрации тока
используется вход In1 модуля I-7018 (адрес $04) с эталонным сопротивлением 99.87 Ω.
Датчик P2 давления на всасывающем коллекторе имеет маркировку
21G/0.5…8Bar/81388.11, Range: 0.5…8 Bar abs, OUTPUT: 4…20 mA.
Он
PAAизмеряет
абсолютное давление и имеет калибровку { (4 mA, 0.5 Bar), (20 mA, 8 Bar) }. Для
регистрации тока используется вход In2 модуля I-7018 (адрес $04)
с эталонным
сопротивлением 99.89 Ω.
Датчик P3 давления на магистральном трубопроводе теплоносителя имеет маркировку
WIKA AC-1, Range: 0…10 Bar, OUTPUT: 4…20 mA. Он измеряет избыточное давление,
поэтому при калибровке используется таблица { (4 mA, 1 Bar), (20 mA, 11 Bar) }, т.к. в
программе управления принято использовать абсолютное давление. Для регистрации тока
используется вход In3 модуля I-7018 (адрес $04) с эталонным сопротивлением 100.10 Ω.
11
Проверка работы датчиков и компрессоров осуществлялась путем временного
включения компрессоров и наблюдения динамики изменения давлений. Например, на
рисунке 6 показаны графики давлений P1, P2 при кратковременном включении
компрессоров.
P1
P2
1
Рисунок 6. Графики давлений P1, P2 при кратковременном включении компрессоров.
На графике видно, что в начале абсолютное давление было P1=P2=1.3 Бар. При
кратковременном включении компрессора №1 давление P1 в нагнетательном контуре
возросло до 2 Бар, а во всасывающем контуре – упало до 0.3 Бар, как и следовало
ожидать. После отключения компрессора давление вскоре выровнялось на уровне
P1=P2=1.4 Бар. Изменение уровня давления связано, по-видимому, с двумя факторами.
Во-первых, при работе компрессоров фреон, небольшое количество которого растворяется
в масле, начинает выходить из масла в свободный объем. Во-вторых, компрессоры
нагреваются, и давление газа возрастает от температуры. Оба эффекта ведут к
небольшому увеличению давления, что и наблюдается. При включении двух других
компрессоров №2 и №3 наблюдался тот же эффект возрастания давления P1 до 2.2 и 2.3
Бар, падения давления P2 до 0.2 Бар, а затем выравнивание и стабилизация давлений
P1=P2 на уровне 1.5 и 1.6 Бар, соответственно. Указанное поведение датчиков полностью
соответствует ожидаемому поведению системы, в которой нормально циркулирует газ,
поэтому эти графики можно считать подтверждением правильной работы датчиков
12
давления, компрессоров и газовых трубопроводов: если газ циркулирует нормально, все
вентили открыты.
Рисунок 7. График давления P3 теплоносителя при работе насосов имитатора нагрузки.
Для проверки датчика давления были включены насосы в контуре имитатора
нагрузки, обеспечивающие циркуляцию жидкости в контуре теплоносителя. При этом, как
видно из графиков, абсолютное давление теплоносителя при циркуляции возрастало с 1
Бар до 1.2÷1.3 Бар. После отключения насосов давление медленно падает до уровня 1 Бар.
Такое небольшое изменение давление при циркуляции связано, видимо, с малым
гидродинамическим сопротивлением контура из-за высокой текучести теплоносителя при
комнатной температуре и малой длины трубопроводов имитатора нагрузки. Поэтому для
проверки работы датчика давления был также кратковременно перекрыт шланг обратной
ветки теплоносителя. В результате этого давление по датчику возросло под действием
насосов до 1.7 Бар, что соответствует пику на графике давления на рисунке 7. Указанное
давление также совпадало с показаниями имеющегося в контуре имитатора нагрузки
стрелочного механического манометра (в пределах его точности). Это можно считать
подтверждением нормальной работы датчика давления P3.
Лишь после установки, проверки и калибровки датчиков, а также доработки
измерительной программы AliPhosCool, изображенной на рисунке 10, появилась
возможность сделать выводы относительно давлений в системе фреона.
13
5. РЕЗУЛЬТАТЫ ОСМОТРА РЕЗЕРВНОГО ХОЛОДИЛЬНОГО АГРЕГАТА
Первым мероприятием пусконаладочных работ по резервному холодильному агрегату
была инспекция (внешний осмотр) и анализ состояния машины. Инспекция включала в
себя контроль состояния вентилей, смотровых окон для контроля масла и фреона, а также
состояния трубопроводов, включая места пайки, сварки и фланцевых соединений.
В результате осмотра было установлено, что в местах пайки медных трубопроводов
наблюдается сильная коррозия и обильное образование рыхлых «лохмотьев» из окислов
белого или зеленого цвета, изображенных на рисунке 8.
Рисунок 8. Внешний вид мест пайки медных трубопроводов, поврежденных коррозией.
Вероятной причиной коррозии трубопроводов является нарушение технологии при
монтаже машины фирмой – изготовителем: пайка медных трубопроводов осуществлялась
с какой-то кислотой, которую не очистили после пайки. В результате остатки кислоты
спровоцировали коррозию.
14
Следует сказать, что найденные места коррозии представляют прямую угрозу с
точки зрения безопасности холодильного агрегата по двум причинам. Во-первых,
токопроводящие окислы, особенно при появлении неизбежного в холодильных машинах
конденсата, могут спровоцировать срабатывание УЗО (устройства защиты) и даже
короткое замыкание в цепи силового питания (~220 или ~380V). Во-вторых, коррозия
может привести к нарушению герметичности системы и потере фреона. Поэтому в
будущем необходимо провести мероприятия по устранению замеченных недостатков.
Индикатор
уровня масла
зеленый
Рисунок 9. Внешний вид смотровых окон для определения уровня масла.
Инспекция смотровых окон (см. рисунок 9) для определения уровня масла показала,
что

уровень масла во всех 4-х компрессорах высокий. На это указывает то, что горит
зеленый индикатор на электронном блоке контроля уровня масла. Всё смотровое
окошко, по-видимому, заполнено маслом. Масло в окошке бесцветно (прозрачно),
поэтому уровень масла плохо виден на фотографии, он находится в самом верху
смотрового окошка и с трудом заметен даже глазами. При включении компрессора
уровень масла снижается до примерно ¾ смотрового окна.

уровень масла в масляном ресивере низкий по обоим датчикам.
По информации фирмы – изготовителя, в каждом компрессоре должно быть 1.5 литра
масла, плюс 1 ÷ 1.5 литра в масляном фильтре и масляном ресивере. То есть суммарный
объем масла в системе (1.5×4+1÷1.5) составляет 7÷7.5 литров. Судя по показаниям
датчиков уровня масла и смотровых окон, масло в компрессорах есть, поэтому следует
15
долить 1÷1.5 литра в масляный ресивер, до появления уровня в нижнем окне масляного
ресивера. Маркировка масляного ресивера показана на рисунке 11.
Вопрос с объемом заливаемого масла остается вполне не ясным, так как паспортный
объем масляного ресивера 7.5 литров, а компрессоров – 1.45 литров, то есть суммарный
объем масляной системы как минимум 1.45×4+7.5=13.3 литров. Насколько она должна
быть заполнена?
Инспекция вентилей на фреон показала, что на момент инспекции

оба вентиля (входной и выходной) на всех компрессорах были открыты

оба вентиля (входной и выходной) на масляном ресивере были открыты

возвратный вентиль в ресивере фреона был открыт

прямой вентиль подачи в ресивере фреона был закрыт
После установления текущего положения всех вентилей, был открыт вентиль подачи
фреона на ресивере, после чего все вентили в контуре фреона оказались открыты.
Дальнейшие опыты по включению компрессоров показали, что циркуляция газа в системе
идет свободно. Это видно по графикам давления при включении и отключении
компрессоров, показанных на рисунке 6.
Анализ состояния газовой системы по фреону, который удалось произвести только
после подключения компьютера и калибровки датчиков давления, показал отсутствие
фреона в системе. На это указывают следующие признаки:

Абсолютное давление по откалиброванному датчику P1 в нагнетательном
коллекторе и датчику P2 во всасывающем коллекторе составляло 1.3 Бар. После
кратковременного включения компрессоров давление поднялось до 1.6 Бар
(рисунок 6), что связано, видимо, с выходом растворенного в масле остатка фреона
в систему. Для справки, абсолютное насыщенное давление фреона R404A при
температуре +20°С составляет 10.8 Бар.

Все 5 реле низкого давления (по одному на 4-х компрессорах Comp1…4 и один на
соленоидном клапане Y1) активны. На это указывает желтый цвет индикаторов
LPR (low pressure relay) на рисунке 10.

Датчик давления ТРВ также показывает низкое давление фреона (рисунок 15).

Обзор смотрового окна для фреона не показал наличия фреона в системе.
16
Рисунок 10. Внешний вид управляющей программы резервного холодильного агрегата.
Таким образом, фреон в системе отсутствует. По словам представителя фирмы –
производителя Ю.Челнинцева, ресивер фреоном не наполняли. В систему перед
отправкой в ЦЕРН была закачана смесь азота и фреона под давлением около 4 Бар вместо
фреона. Это было связано, по его словам, с таможенными ограничениями и требованиями
авиаперевозчика,
ограничивающего
допустимое
давление
фреона.
По
словам
Ю.Челнинцева для запуска холодильного агрегата следует произвести опрессовку газовой
системы, вакуумирование и заправку холодильного агрегата фреоном. Эти работы
требуют закупки фреона, а также наличие специализированного оборудования, приборов
и специалистов по холодильной технике. Отсутствие этих условий не позволило
продолжить пусконаладочные работы, поэтому дальнейшие усилия были направлены на
разработку программного обеспечения и документации.
Рисунок 11. Маркировка ресиверов фреона (слева) и масла (справа) в резервном
холодильном агрегате.
17
Количество заливаемого в систему фреона, по сведениям фирмы – производителя,
составляет 15 кг, или около 15 литров при паспортной плотности фреона R404A в
1.01 г/см3 [10]. Их необходимо заправить в ресивер после проведения опрессовки и
вакуумирования системы. Маркировка ресивера фреона показана на рисунке 11.
Вопрос с объемом заливаемого фреона остается не вполне ясным, так как ресивер
имеет емкость 25 литров. Насколько он должен быть заполнен? Достаточно ли будет 15
литров? Нужны консультации специалистов.
Рисунок 12. Маркировка ресивера масла в основном холодильном агрегате.
Для сравнения и информации на рисунке 12 приводится маркировка масляного
ресивера в основном холодильном агрегате.
6. УСТРАНЕНИЕ ЗАМЕЧЕННЫХ НЕДОСТАТКОВ
Для устранения замеченных недостатков в резервном холодильном агрегате были
выполнены следующие работы.
Рисунок 13. Места в резервном холодильном агрегате, поврежденные окислами, после
очистки.
18
С помощью дрели со специальной абразивной насадкой были очищены
окислившиеся места вокруг мест пайки медных трубопроводов системы циркуляции
фреона. Результат очистки показан на рисунке 13 (сравните с рисунком 8).
С целью устранения пробелов в документации были сделаны снимки маркировок
всех доступных для съемки узлов системы охлаждения, как основной, так и резервной.
Эти снимки (рисунки 5,11,12,16,22) вошедшие в отчет, будут служить справочным
материалом при планировании работ, заказе оборудования, написании статей и т.д.
7. ПОДКЛЮЧЕНИЕ И НАСТРОЙКА ТРВ
Для подключения и настройки контроллера терморегулирующего вентиля в резервном
холодильном агрегате были выполнены следующие работы.
Рисунок 14. Прокладка кабеля связи ТРВ резервного холодильного агрегата.
Заказан, получен и проложен кросс – кабель (VIDEC PATCH LEAD, CAT 5E UTP,
CROSS, 3M, код для заказа FARNELL 1525835) для подключения ТРВ к управляющему
компьютеру. При прокладке кабеля в корпусе силового щита пришлось установить еще
один кабельный ввод, как показано на рисунке 14.
Выполнена настройка сетевых параметров управляющего компьютера, как описано в
разделе 2. Для связи с ТРВ используется «Подключение по локальной сети 2» с
фиксированным адресом “192.168.0.1” и маской “255.255.255.0”. Сам ТРВ при этом имеет
постоянный адрес “192.168.0.101”.
19
Рисунок 15. Внешний вид программы настройки ТРВ резервного холодильного агрегата.
Выполнена настройка физических, сервисных и сетевых параметров, необходимых
для подключения ТРВ к управляющему компьютеру, как показано на рисунке 15.
20
В настоящее время дальнейшая настройка параметров ТРВ невозможна из-за
отсутствия фреона в системе.
8. РЕЗЕРВИРУЕМЫЙ ИСТОЧНИК ПИТАНИЯ ДЛЯ КОМПЬЮТЕРА
22 сентября 2011 года в шахте произошел инцидент, связанный с выходом из строя
источника питания типа FSP120-AAB, AC/DC Adapter 19V, 6.32A для управляющего
компьютера NEXCOM NISE 3100P2. К счастью, запасной источник питания в запасе
имелся (на резервной машине в лаборатории 167 R-006), однако замена источника заняла
длительное время (более суток), что во многом связано с ограничениями доступа в шахту.
За это время матрица кристаллов PWO успела нагреться от рабочей температуры минус
25°С до температуры минус 6°С. Если бы замена заняла чуть больше времени (более 2
суток), то возникла бы опасность выпадения конденсата внутри модуля, что нежелательно
с точки зрения безопасности электроники.
При анализе этой нештатной ситуации было принято решение установить в
холодильном агрегате высоконадежный, отказоустойчивый, резервируемый источник
питания (ОИП) для управляющего компьютера.
Датчик потока воды
Burkert 8012, 4÷20mA
см. страницу
LLS+WaterFlowRate.ru
R24=R26=48кОм
R25=R27=4.7кОм
THF120LS24
G2
THF120LS24
G3
Цепь Конт.
+24В
+V
-24B
-V
+24В
+V
-24В
-V
Общ
~220В
L
~220В
N
3
5
P9
i-7018R
+24B
1
4
Конт. Цепь
In0+
1
In02
In1+
3
In14
In2+
5
In26
In3+
7
In38
In4+
9
In410
In5+
11
In512
In6+
13
In614
In7+
15
In716
Data+
17
Data18
+24B
19
-24B
20
R23
R24 R25
UPS_Power
R26 R27
Цепь Конт.
+24В
+V
-24B
-V
+24В
+V
-24В
-V
Общ
~220В
L
~220В
N
Data +
Data +24B
UPS_Power
Quint Diode 2320157
Phoenix Contact
Конт.
+IN1
+IN2
-IN1
-IN2
UPS-POWER
Цепь
+24B
+24B
-24B
-24B
NICE3100
UPS_Power
Цепь
+24B
+24B
-24B
-24B
Конт.
+OUT
+OUT
-OUT
-OUT
белый
черный
Цепь
+24B
-24B
Конт.
1, 2
3, 4
белый
черный
2
4
1
3
Рисунок 16. Схема электрическая и внешний вид отказоустойчивого источника питания.
Отказоустойчивый источник питания, схема и внешний вид которого показан на
рисунке 16, состоит из двух промышленных высоконадежных источников питания (XP
POWER THF120LS24, 24V, 120W), диодной развязки (Phoenix Contact Diode Module, 1221
24V, 40A) и двух делителей (48 kΩ и 4.7 kΩ) для контроля напряжения этих источников.
При настройке источники питания с помощью встроенного регулятора настраиваются на
выходное напряжение около 24.5 В для основного и 23.5 В для резервного источника. В
нормальном состоянии первый источник питания работает как основной, а второй
работает как «горячий резерв», который мгновенно включается в работу в случае выхода
основного источника из строя. Диодная развязка обеспечивает при этом необходимую
коммутацию тока. Делители, подключенные к входам In2,In3 модуля I-7018R с адресом
$09, служат для отображения питающих напряжений и организации автоматического
оповещения в случае выхода одного из источников питания из строя.
Отказоустойчивый источник питания должен резко снизить риск потери управления
по причине выхода из строя источника питания и тем самым повысить надежность работы
системы управления охлаждением и температурной стабилизацией детектора PHOS.
Было изготовлено два экземпляра отказоустойчивых источников питания, для
установки в основной системе охлаждения в шахте UX25 и резервной системе
охлаждении в лаборатории 167 R-006.
22
Рисунок 17. Место установки отказоустойчивого источника питания для управляющего
компьютера на резервном холодильном агрегате.
Для установки отказоустойчивых источников, закрепляемых на DIN рейку, была
изготовлена и смонтирована крепежная панель, изображенная на рисунке 17. Панель
изготовлена из дюралюминиевой пластинки шириной около 15 см и толщиной около 2мм,
крепление на шасси выполнено на винты – саморезы.
Следует иметь в виду, что согласно схеме, делители отказоустойчивого источника
питания подключены к входам 2,3 модуля I-7018R, вход 1 которого подключен к +24V
питания электронного блока управления и модулей I-7000. Это возможно потому, что
управляющий компьютер NISE 3100P2 гальванически развязан по питанию и шине
данных от модулей I-7000. Если в будущем появится какая-либо гальваническая связь
между землей компьютера и землей электронного блока управления и модулей I-7000, то
на входах модуля I-7018R появится большое синфазное напряжение (24V) и его показания
по всем каналам (как датчика потока, так
и делителей контроля напряжения
отказоустойчивого источника питания) будут неверными.
9. КАЛИБРОВКА ПРЕЦИЗИОННЫХ ДАТЧИКОВ PT-100
Для калибровки прецизионных резистивных датчиков Pt-100 был собран специальный
стенд, изображенный на рисунке 18. Он включает морозильную камеру Bosсh, массивный
алюминиевый цилиндр в пенопластовом теплоизолирующем кожухе с пеналом для
23
установки датчиков, и систему регистрации на двух модулях I-7018, подключенную к ПК.
Схема подключения калибруемых датчиков показана на рисунке 19.
Рисунок 18. Внешний вид стенда для калибровки прецизионных датчиков Pt-100.
+24В
Х1...X16
Rt1
Rt2
Rt3
Rt4
Цепь Конт.
R(t)1+
1
R(t)1+
2
R(t)13
R(t)14
R(t)2+
5
R(t)2+
6
7
R(t)28
R(t)29
R(t)3+
R(t)3+ 10
11
R(t)312
R(t)3R(t)4+ 13
R(t)4+ 14
15
R(t)416
R(t)4-
+24В
P1
i-7018
R1
R9…R13
R2
R3
R4
R1=99.88
R2=99.96
R3=100.11
R4=100.16
DАТА+
DАТА +24В
Конт.
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
P3
i-7018
Цепь
In0+
In0In1+
In1In2+
In2In3+
In3In4+
In4In5+
In5In6+
In6In7+
In7Data+
Data+24B
GND
Цепь Конт.
In0+
11
In012
In1+
13
In114
In2+
15
In216
In3+
17
In318
In4+
19
In420
In5+
1
In52
In6+
3
In64
In7+
5
In76
Data+
7
Data8
+24B
9
GND
10
+24В
Rt5
Rt6
Rt7
Rt8
Цепь Конт.
R(t)1+ 17
R(t)1+ 18
R(t)119
R(t)120
R(t)2+ 21
R(t)2+ 22
R(t)223
24
R(t)2R(t)3+ 25
R(t)3+ 26
27
R(t)328
R(t)3R(t)4+ 29
R(t)4+ 30
31
R(t)432
R(t)4-
R14…R17
R5
R6
R7
R8
R5=100.05
R6=99.83
R7=100.05
R8=100.05
DАТА+
DАТА +24В
R22
R23
R24
R25
Цепь
R(t)1+
R(t)1+
R(t)1R(t)1R(t)2+
R(t)2+
R(t)2R(t)2R(t)3+
R(t)3+
R(t)3R(t)3R(t)4+
R(t)4+
R(t)4R(t)4-
Rt9
Rt10
Rt11
Rt12
R22=99.89
R23=100.08
R24=99.92
R25=99.92
DАТА+
DАТА +24В
R9...R21=40кОм
P2
i-7018
Конт.
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
P4
Цепь
In0+
In0In1+
In1In2+
In2In3+
In3In4+
In4In5+
In5In6+
In6In7+
In7Data+
Data+24B
GND
RS232
Конт.
2
3
5
Цепь
Data+
DataGND
Цепь Конт.
(Y)DATA+
1
(G)DATA 2
(R)+Vs
9
(B)GND
10
DАТА+
DАТА +24В
I-7520
G1
БП24В
Х17...X32
Х33...X48
Конт.
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
R18…R21
Цепь Конт.
+24В
24V
-24В COM
Общ
L
~220В
N
~220В
+24В
~220В
Рисунок 19. Схема электрическая стенда для калибровки прецизионных датчиков Pt-100.
24
Рисунок 20. График температуры в процессе калибровки прецизионных датчиков Pt-100.
В результате проведенной работы было откалибровано 10 прецизионных датчиков
температуры Pt-100. Полученные калибровки позволят в будущем оперативно решать
вопросы подключения датчиков температуры, когда в этом возникнет необходимость.
10. РАБОТЫ ПО ПОДКЛЮЧЕНИЮ ДАТЧИКА ПОТОКА ТЕПЛОНОСИТЕЛЯ
Для измерения скорости потока теплоносителя в охлаждающей магистрали детектора
был закуплен датчик потока. Перед установкой датчика в шахте на месте проведения
эксперимента его необходимо протестировать, откалибровать, написать драйверы и
программное обеспечение для интеграции в общую систему регистрации и управления.
Эта предварительная работа выполнялась в лаборатории 167 R-006.
Датчик потока имеет маркировку ТПР15-3-1 №0050294. К нему прилагается
«Вычислитель расхода электронный ВР-1», РСТ №004103, 2010 г. Для питания датчика и
вычислителя расхода был заказан источник питания 6V, 1A типа ST.POW.SP.SE.7W.56/1,0A, SCEM 07.61.33.010.7.
Для тестирования датчика был собран стенд, изображенный на рисунке 21. Для
эмуляции потока жидкости за отсутствием необходимых трубопроводов и фланцев
применялся фен, создающий сильный поток воздуха.
25
Датчик потока
ТПР15-3-1
Источник
питания 6 V
Фен - эмулятор
потока
Вычислитель
расхода ВР-1
Управляющий
компьютер
Преобразователь
USB – RS-485
Рисунок 21. Стенд для тестирования датчика потока теплоносителя ТПР15-3-1.
Питание вычислителя расхода РВ-1 осуществляется от внешнего источника питания с
рабочим напряжением +6 В (зеленый провод +6 В, белый общий) при потребляемом токе
порядка 200 мА.
Согласно как документации, так и опыту тестирования, после каждого включения
питания вычислителя расхода ВР-1 он находится в режиме настройки, при котором
измерения не идут, а связь с компьютером отсутствует. Для установления связи и начала
регистрации данных его необходимо вручную, с помощью кнопок, перевести в рабочий
режим «РЕ1» (см. приложение К в РЭ), введя пароль (по умолчанию 000023), после чего
расходомер готов к работе. Следует отметить, что это неприемлемо по двум причинам.
Во-первых, такой порядок работы не позволяет включить расходомер при отсутствии
доступа в шахту, поскольку требует ручного (кнопочного) набора команд и пароля. Вовторых, процедура включения и настройки сложна и невнятна: с помощью двух кнопок
приходиться вводить длинную (более 10) последовательность нажатий, в которой легко
ошибиться и которую трудно запомнить. В реальных условиях в шахте эту процедуру
выполнить будет достаточно трудно.
Работа с вычислителем расхода ВР-1 выполняется по протоколу обмена данных RS232 на скорости 1200 бит/с, четность не используется, используется 8 бит данных, 1
стартовый бит и 2 стоповых бита. Адрес устройства: $00.
26
Рисунок 22. Внешний вид интерфейса драйвера вычислителя расхода ВР-1.
Для подключения датчика потока был разработан программный драйвер, исходный
код которого на языке DAQ Pascal приводится в Приложении. Внешний вид его
графического интерфейса показан на рисунке 22.
27
Рисунок 23. График расхода Q при периодическом включении фена – эмулятора потока.
Для тестирования работы датчика с помощью включения и отключения фена –
эмулятора потока создавались чередующиеся периоды наличия и отсутствия потока.
График потока показан на рисунке 23. Из графика видно, что датчик достаточно хорошо
воспроизводит уровень потока (около 190 литров в минуту) при включении фена. Однако
по графику видно, что при отключении фена (при нулевом потоке) показания датчика не
возвращаются в ноль, как следовало ожидать, а фиксируются на произвольном уровне,
который варьируется от 0 до 35 литров в минуту. По всей видимости, это недоработка
программного
обеспечения
вычислителя
расхода,
недостаточно
корректно
обрабатывающего данные на спадающем участке графика датчика потока. Обнаруженное
свойство датчика не позволяет использовать его в системе регулирования для реализации
программной блокировки по отсутствию потока теплоносителя, так как при низких
уровнях потока (менее 40 литров в минуту) его показания становятся недостоверными: не
надежного способа узнать, действительно ли регистрируется низкий поток, или это просто
фиксация показаний при нулевом потоке.
В связи с двумя указанными недостатками следует признать, что в существующем
виде датчик потока не может быть использован в АСУ СОТС. Этот вопрос требует
решения в будущем с привлечением фирмы – производителя.
28
11. СПИСОК ОБОРУДОВАНИЯ ПО КАТАЛОГУ CERN STORE
Данный список материалов и оборудования, заказанного в процессе выполнения
работ, может служить справочным материалом при заказе оборудования в каталоге CERN
STORE согласно приведённому коду заказа SCEM.
Таблица 6
SCEM
Наименование
Описание
Источник питания датчика потока 6V, 1A
07.61.33.010.7 ST.POW.SP.SE.7W.56/1,0A
FARNELL
PATCH LEAD, CAT 5E Кросс-кабель
1525835
UTP, CROSS, 3M
подключения
by VIDEC
управляющему компьютеру
(Ethernet,RJ45)
контроллера
ТРВ
FARNELL
PSU, DIN RAIL 120W 24V Блок питания +24В, 5А для питания PC
1551018
- THF120LS24
by XP POWER
29
для
к
Radiospares
Diode Module, DIN rail, 12- Диодная
7397890
24Vdc, 40A
развязка
для
резервируемого
источника питания
by Phoenix Contact
2320157
80.02.09.001.9 ADAPTATEUR USB-RS232 Преобразователь интерфейса USB - RS232
LogiLink AU0002B
Хомут металлический 25-40 мм
BOSSARD
BN 949 - DIN 3017
1053671
Hose clamps with worm gear
drive for medium pressure
В следующей таблице приведен список запасных модулей, находящихся в CERN в
лаборатории 167-R-006 на декабрь 2011 года:
30
№п.п
Наименование
Количество, шт.
1
I-7520
3
2
I-7050
2
3
I-7018
3
4
I-7065B
1
5
I-7188XA
2
7
I-7080
1
8
I-7024
1
9
БП +24В 5А
2
10
RM48 (relay)
10
11
Finder 34.51.7.024.0010 (relay)
3
12
Quint Diode
1
ЗАКЛЮЧЕНИЕ
В результате предпринятых мер по запуску и настройке резервного холодильного
агрегата, а также сервисному обслуживанию системы охлаждения спектрометра PHOS,
расположенной в зале UX25 эксперимента ALICE, с 7 ноября по 21 декабря 2011 года
выполнены следующие работы:
1. Выполнено подключение охлаждающих вентиляторов резервного холодильного
агрегата.
2. Подключены,
проверены
и
откалиброваны
датчики
давления
фреона
и
теплоносителя в резервной системе охлаждения.
3. Выполнен осмотр и диагностика состояния трубопроводов и газовой системы
фреона резервного холодильного агрегата. По результатам осмотра найдены
недостатки и даны рекомендации по их исправлению. Часть недостатков
устранена.
4. Выполнено подключение трубопроводов воды и теплоносителя имитатора
тепловой нагрузки.
5. Для проверки работы резервного холодильного агрегата произведен пробный пуск
компрессоров, соленоидных вентилей и вентиляторов.
6. Создано программное обеспечение (драйвер) для подключения датчика потока
теплоносителя ТПР15-3-1. Проведено тестирование работы датчика. Найдены
серьезные недостатки в его работе, которые не позволяют использовать его в шахте
в составе АСУ в существующем виде. Устранение этих недостатков потребует
переговоров с производителем для получения дополнительной информации.
31
В заключении хочется выразить благодарность ген.директору ООО «КХД КАРНО»,
г.Москва Ю.В. Челнинцеву за консультативную помощь при проведении осмотра
холодильного агрегата.
32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. The ALICE Collaboration. The ALICE experiment at the CERN LHC. // 2008 JINST 3
S08002.
2. Lyndon Evans. The Large Hadron Collider. // 2007 New J. Phys. 9 335.
3. Technical Design Report of the Photon Spectrometer (PHOS), CERN/LHCC 99-4,
ALICE TDR 2, 5 March 1999.
4. A high resolution electromagnetic calorimeter based on lead-tungstate crystals. D.V.
Aleksandrov, …,Y.I.Vinogradov, A.V. Kuryakin et al. Nucl.Instrum.Meth.A550:169-184, 2005.
5.
Д.В.
Будников,
А.В.
охлаждения/термостабилизации
Курякин.
фотонного
Исследование
спектрометра
характеристик
и
подготовка
системы
её
к
испытательным и комиссионному запускам в эксперименте ALICE на Большом Адронном
коллайдере в CERN. // Отчёт о НИР (заключительный). ФГУП «РФЯЦ-ВНИИЭФ». инв.
№4/12624. 2008. 104 с.
6. А.В. Курякин, Д.В.Будников и др. Результаты работ по сервисному обслуживанию и
последующей настройке системы охлаждения спектрометра PHOS эксперимента ALICE
на Большом Адронном Коллайдере в CERN. // Отчёт о НИР (промежуточный), инв.
№4/13181 от 08.07.2011. 51 с.
7. http://www.emersonclimate.com/europe/ProductDocuments/CopelandLiterature/C060220_0310_1111_R_AGL_RefScroll_FULL_0.pdf
8. А.В. Курякин, Ю.И. Виноградов. Программа для автоматизации физических измерений
и экспериментальных установок (CRW-DAQ). // Свидетельство РФ об официальной
регистрации программы для ЭВМ № 2006612848 от 10.08.2006 г., сайт www.crw-daq.ru.
9. А.В. Курякин, Ю.И. Виноградов. Программное обеспечение автоматизированных
измерительных систем в области тритиевых технологий. // ВАНТ, серия «Термоядерный
синтез», 2008 г., выпуск 2, стр. 80-90.
10. http://www.freobel.su/refrigerants/hfc/freon-404A
11. D.C. Zhou et al. PHOS, the ALICE-PHOton spectrometer. // 2007 J. Phys. G: Nucl. Part.
Phys. 34 S719-S723, www.iop.org/EJ/abstract/0954-3899/34/8/S81.
12. A.Morsch, B.Pastircak. Radiation in ALICE Detectors and Electronic Racks. // 2004,
ALICE-INT-2002-28 version 1.0.
13. M. Ippolitov, …, V.Punin, Y.Vinogradov, A.Kuryakin et al. Studies of lead tungstate crystals
for the ALICE electromagnetic calorimeter PHOS. Nucl.Instrum.Meth.A486:121-125, 2002.
14. M. Ippolitov, …, Y.Vinogradov, A.Kuryakin et al. Lead tungstate crystals for the
ALICE/CERN experiment. // Nucl.Instrum.Meth.A537:353-356, 2005.
33
15. Д.В.Александров, В.Ф. Басманов, Ю.И. Виноградов, А.В. Курякин и др. Изучение
свойств прототипов фотонного спектрометра PHOS для эксперимента ALICE. ВАНТ,
Серия: Физика ядерных реакторов, Вып. ½, 2002, С.20; Труды ВНИИЭФ, 2005, вып.7,
с.162-169.
16. В.Ф. Басманов, Ю.И. Виноградов, А.В. Курякин и др. Испытания 64-канального
прототипа фотонного спектрометра для эксперимента ALICE. ВАНТ, Серия: Физика
ядерных реакторов, Вып. ½, 2002, С.204-207.
17. А.В. Курякин, Ю.А. Кучеряев, Ю.Г. Сибиряк. Исследование
временного
и
амплитудного разрешения фотонного спектрометра PHOS с помощью моделирования.
// Препринт РНЦ “Курчатовский Институт” ИАЭ-6417/2, Москва, 2006 г.
18. P. Nomokonov, M.Ippolitov, A. Kuryakin et al. Time of Flight resolution of the prototype of
the electromagnetic calorimeter PHOS. // Nucl.Instrum.Meth.A598:702-709, 2009.
19.
Д.В.Будников,
А.В.Курякин.
охлаждения/термостабилизации
Исследование
фотонного
спектрометра
характеристик
и
подготовка
системы
её
к
испытательным и комиссионному запускам в эксперименте ALICE на Большом
адронномколлайдере в CERN. - Отчёт о НИР, итоговый. Инв. №4/12624, - 2008 – 104 с.
20. Кухлинг Х. Справочник по физике. Перевод с немецкого под редакцией Е.М.Лейкина.
// М.: Мир, 1983.
21.
Электронасос
центробежный
герметичный
3КЕ.909.118ПС. - 2003, АО «Молдовахидромаш».
34
ЦГ
6,3/32-2,2-2(5).
Паспорт
ПРИЛОЖЕНИЕ
1. Исходный код драйвера датчика потока BP1_DRV.PAS.
{
***********************************************************************
Driver & simulator for BP-1 controller for flow rate sensor PCT 15-3-1.
Last release:
20111123: kouriakine@mail.ru
Command example:
@00E *00A5<CRLF>
40 30 30 45 20 2A 30 30 41 35 0D 0A
Answer example:
@Q ë/ñåê *03DB<CRLF>
40 51 20 20 AB 2F E1 A5 AA 20 2A 30 33 44 42 0D
@ 0000000,100 *026D<CRLF> 40 20 30 30 30 30 30 30 30 2C 31 30 30 20 2A 30 32 36 44 0D 0A
@END *0117<CRLF>
40 45 4E 44 20 2A 30 31 31 37 0D 0A
***********************************************************************
Next text uses by @Help command. Do not remove it.
***********************************************************************
[@Help]
|Command list: StdIn "@cmd=arg" or "@cmd arg"
|******************************************************
| @Help
- This help.
| @DebugFlags=n - Set DebugFlags,1/2/4/8=!/:/>/< view
| @SendCmd cm
- Send command cm to device (COM port)
|******************************************************
[]
}
program BP1_DRV;
{
[Compiler.Options]
; Set max.number of:
Compiler.itabmax = 1280*2
; - Identifiers
Compiler.btabmax = 60*4
; - Procedures and functions
Compiler.atabmax = 60*1
; - Arrays and records
Compiler.rtabmax = 100*1
; - Real constants
Compiler.ctabmax = 8192*2
; - Code segment
Compiler.dtabmax = 8192*2
; - Data segment
Compiler.stabmax = 1024*2
; - String table
Compiler.dtabmin = 256*2
; Min stack space at start
Compiler.stabmin = 256*2
; Min string space at start
[]
}
const
{-------------------------------- Standard library constants
}
{$I _con_StdErrors}
{ Standard constants for Errors
}
{$I _con_StdStrings}
{ Standard constants for Strings
}
{$I _con_StdConsole}
{ Standard constants for Console
}
{$I _con_StdDevices}
{ Standard constants for Devices
}
{$I _con_StdCurves}
{ Standard constants for Curves
}
{$I _con_StdSounds}
{ Standard constants for Sounds
}
{$I _con_StdTags}
{ Standard constants for Tags
}
{$I _con_StdTimes}
{ Standard constants for Times
}
{$I _con_StdTexts}
{ Standard constants for Texts
}
{$I _con_StdTools}
{ Standard constants for Tools
}
{$I _con_StdTasks}
{ Standard constants for Tasks
}
{$I _con_StdPipes}
{ Standard constants for Pipes
}
{$I _con_StdEdits}
{ Standard constants for Edits
}
{$I _con_StdDims}
{ Standard constants for Dims
}
{$I _con_StdWebs}
{ Standard constants for Webs
}
{$I _con_StdDLLs}
{ Standard constants for DLLs
}
{$I _con_StdUtils}
{ Standard constants for Utils
}
{-------------------------------- User defined constants:
}
PollingMin
= 100;
{ Minimal polling period, ms
}
PollingMax
= 60000;
{ Maximal polling period, ms
}
PollingDef
= 1000;
{ Default polling period, ms
}
MaxComLeng
= 255;
{ Maximal data length for ComRead }
rs_Success
= 0;
{ Message format & checksumm is Ok }
rs_NoStartMarker = 1;
{ Start marker @ not found
}
rs_NoCheckMarker = 2;
{ Check sum marker * not found
}
rs_EmptyMessage
= 3;
{ Message is empty, zero length
}
rs_ZeroCheckSumm = 4;
{ Zero or invalid checksum found
}
rs_FailCheckSumm = 5;
{ Fail, wrong check summ found
}
var
{-------------------------------{$I _var_StdErrors}
{
{$I _var_StdStrings}
{
{$I _var_StdConsole}
{
{$I _var_StdDevices}
{
{$I _var_StdCurves}
{
{$I _var_StdSounds}
{
{$I _var_StdTags}
{
{$I _var_StdTimes}
{
{$I _var_StdTexts}
{
{$I _var_StdTools}
{
{$I _var_StdTasks}
{
{$I _var_StdPipes}
{
{$I _var_StdEdits}
{
{$I _var_StdDims}
{
{$I _var_StdWebs}
{
{$I _var_StdDLLs}
{
{$I _var_StdUtils}
{
{-------------------------------Address
ComPort
Polling
CmndNum
Simulator
ComIn_Line
ComIn_Buff
:
:
:
:
:
:
:
Integer;
Integer;
Integer;
Integer;
Boolean;
String;
String;
{
{
{
{
{
{
{
Standard library variables
Standard variables for Errors
Standard variables for Strings
Standard variables for Console
Standard variables for Devices
Standard variables for Curves
Standard variables for Sounds
Standard variables for Tags
Standard variables for Times
Standard variables for Texts
Standard variables for Tools
Standard variables for Tasks
Standard variables for Pipes
Standard variables for Edits
Standard variables for Dims
Standard variables for Webs
Standard variables for DLLs
Standard variables for Utils
User defined variables:
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Com port address
Com port number
Com port polling period
Com port command number
T/F=Simulation/Driver mode
Com port input line
Com port input buffer
}
}
}
}
}
}
}
35
ComPolling
ComWatchdog
CurrentReply
QFactor
:
:
:
:
Real;
Real;
String;
Real;
{
{
{
{
Time to make polling
}
To detect timeout
}
Current reply command in progress}
To convert flow rate to L/min
}
{-------------------------------- Standard library functions:
}
{$I _fun_StdErrors}
{ Standard functions for Errors
}
{$I _fun_StdStrings}
{ Standard functions for Strings
}
{$I _fun_StdConsole}
{ Standard functions for Console
}
{$I _fun_StdDevices}
{ Standard functions for Devices
}
{$I _fun_StdCurves}
{ Standard functions for Curves
}
{$I _fun_StdSounds}
{ Standard functions for Sounds
}
{$I _fun_StdTags}
{ Standard functions for Tags
}
{$I _fun_StdTimes}
{ Standard functions for Times
}
{$I _fun_StdTexts}
{ Standard functions for Texts
}
{$I _fun_StdTools}
{ Standard functions for Tools
}
{$I _fun_StdTasks}
{ Standard functions for Tasks
}
{$I _fun_StdPipes}
{ Standard functions for Pipes
}
{$I _fun_StdEdits}
{ Standard functions for Edits
}
{$I _fun_StdDims}
{ Standard functions for Dims
}
{$I _fun_StdWebs}
{ Standard functions for Webs
}
{$I _fun_StdDLLs}
{ Standard functions for DLLs
}
{$I _fun_StdUtils}
{ Standard functions for Utils
}
{------------------------------- User defined functions:
}
{
Calculate check sum as Integer.
}
function CalcCheckSumInt(data:String):Integer;
var i,cs:Integer;
begin
cs:=0;
for i:=1 to Length(data) do cs:=cs+Ord(data[i]);
CalcCheckSumInt:=iAnd(cs,65535);
end;
{
Calculate check sum as String.
}
function CalcCheckSumStr(data:String):String;
var cs:Integer;
begin
cs:=CalcCheckSumInt(data);
CalcCheckSumStr:=HexW(cs);
end;
{
Compose command Cmd for device with address addr.
}
function ComposeCommand(addr:Integer; Cmd:String):String;
begin
Cmd:=HexB(addr)+Cmd;
ComposeCommand:='@'+Cmd+' *'+CalcCheckSumStr(Cmd);
end;
{
Compose reply Rep for device with address addr.
}
function ComposeReply(Rep:String):String;
begin
Rep:='@'+Rep;
ComposeReply:=Rep+' *'+CalcCheckSumStr(Rep);
end;
{
Extract command with format and summ check.
}
function ExtractCommand(data:String; var Address:Integer; var Command:String):Integer;
var p,q,cs:Integer;
begin
Address:=0;
Command:='';
p:=Pos('@',data);
if p=0 then ExtractCommand:=rs_NoStartMarker else begin
q:=Pos(' *',data);
if q=0 then ExtractCommand:=rs_NoCheckMarker else
if q<=p then ExtractCommand:=rs_EmptyMessage else begin
cs:=Val('$'+Copy(data,q+2,4));
if cs=0 then ExtractCommand:=rs_ZeroCheckSumm else
if cs<>CalcCheckSumInt(Copy(data,p+1,q-p-1)) then ExtractCommand:=rs_FailCheckSumm else begin
Address:=Val('$'+Copy(data,p+1,2));
Command:=Copy(data,p+3,q-p-3);
ExtractCommand:=rs_Success;
end;
end;
end;
end;
{
Extract reply with format and summ check.
}
function ExtractReply(data:String; var Reply,Cmd,Arg:String):Integer;
var p,q,cs:Integer;
begin
Arg:='';
Cmd:='';
Reply:='';
p:=Pos('@',data);
if p=0 then ExtractReply:=rs_NoStartMarker else begin
q:=Pos(' *',data);
if q=0 then ExtractReply:=rs_NoCheckMarker else
if q<=p then ExtractReply:=rs_EmptyMessage else begin
cs:=Val('$'+Copy(data,q+2,4));
if cs=0 then ExtractReply:=rs_ZeroCheckSumm else
if cs<>CalcCheckSumInt(Copy(data,p,q-p)) then ExtractReply:=rs_FailCheckSumm else begin
Reply:=Copy(data,p,q-p);
Cmd:=ExtractWord(1,Reply);
Arg:=Trim(SkipWords(1,Reply));
ExtractReply:=rs_Success;
end;
end;
end;
36
end;
{
Hex dump of data string as aa bb cc etc
}
function HexDump(data:String):String;
var s:String; i:Integer;
begin
s:='';
for i:=1 to Length(data) do s:=s+HexB(Ord(data[i]))+' ';
HexDump:=s;
s:='';
end;
{
Convert DOS(866) to Win(1251).
}
function DosToWin(s:String):String;
begin
DosToWin:=StrConv('oem2ansi',s);
end;
{
Convert Win(1251) to DOS(866).
}
function WinToDos(s:String):String;
begin
WinToDos:=StrConv('ansi2oem',s);
end;
{
Initialization...
}
procedure USER_Init;
begin
{
Read parameters
}
Simulator:=Val(ReadIni('Simulator'))>0;
Success('Simulator = '+Str(Ord(Simulator)));
ComPort:=Val(ReadIni('ComPort'));
if ComPort<=0 then ComPort:=0;
Success('ComPort = '+Str(ComPort));
Address:=iAnd(255,Val(ReadIni('Address')));
Success('Address = $'+HexB(Address));
Polling:=Val(ReadIni('Polling'));
if Polling<=0 then Polling:=PollingDef;
Polling:=Round(Max(Polling,Min(PollingMax,Polling)));
Success('Polling = '+Str(Polling));
{
Open ComPort
}
if ComPort>0 then begin
if ComOpen('[SerialPort-COM'+Str(ComPort)+']') then begin
Success('Port COM'+Str(ComPort)+' opened');
end else begin
Trouble('Could not open port COM'+Str(ComPort));
ComPort:=0;
end;
end else begin
Trouble('Invalid ComPort='+Str(ComPort));
ComPort:=0;
end;
CurrentReply:='';
ComIn_Line:='';
ComIn_Buff:='';
ComWatchdog:=0;
ComPolling:=0;
QFactor:=60;
CmndNum:=0;
end;
{
Finalization...
}
procedure USER_Free;
var b:Boolean;
begin
if ComPort<>0 then begin
if ComClose
then Success('Port COM'+Str(ComPort)+' closed')
else Success('Could not close port COM'+Str(ComPort));
ComPort:=0;
end;
end;
{
Polling...
}
procedure USER_Poll;
var Reply,Cmd,Arg:String; Status,Addr:Integer;
begin
Reply:=''; Cmd:=''; Arg:='';
{
Process Com port input for driver mode...
}
if not Simulator then
if ComPort>0 then begin
while Com_Readln(ComIn_Line,ComIn_Buff) do begin
ComWatchdog:=0;
Status:=ExtractReply(ComIn_Line,Reply,Cmd,Arg);
ViewImp('COM: '+HexDump(ComIn_Line)+' ('+DosToWin(ComIn_Line)+')');
if Status=rs_NoStartMarker then Trouble('No start marker found (@)') else
if Status=rs_NoCheckMarker then Trouble('No checksumm marker found (*)') else
if Status=rs_EmptyMessage then Trouble('Empty message error found') else
if Status=rs_ZeroCheckSumm then Trouble('Zero checksumm error found') else
if Status=rs_FailCheckSumm then Trouble('Fail checksumm error found') else
if Status=rs_Success then begin
ViewImp('COM: OK Reply="'+DosToWin(Reply)+'", Cmd="'+DosToWin(Cmd)+'", Arg="'+DosToWin(Arg)+'"');
if IsSameText(Cmd,'@Q') then begin
if IsSameText(DosToWin(Arg),'ë/ñåê') then QFactor:=60
else
if IsSameText(DosToWin(Arg),'ë/ìèí') then QFactor:=1
else
37
if IsSameText(DosToWin(Arg),'ë/÷àñ') then QFactor:=1/60 else
begin QFactor:=0; Trouble('Invalid Q units: '+DosToWin(Arg)); end;
CurrentReply:=Cmd;
end else
if IsSameText(Cmd,'@V') then begin
UpdateAo(1,time,Val(Arg));
CurrentReply:=Cmd;
end else
if IsSameText(Cmd,Dump('@')) then begin
if IsSameText(CurrentReply,'@Q')
then UpdateAo(0,time,QFactor*rVal(StrReplace(Arg,Dump(','),Dump('.'),0)));
end else
if IsSameText(DosToWin(Cmd),'@ðàçì') then begin
if IsSameText(DosToWin(ExtractWord(2,Arg)),'ë/ñåê') then QFactor:=60
else
if IsSameText(DosToWin(ExtractWord(2,Arg)),'ë/ìèí') then QFactor:=1
else
if IsSameText(DosToWin(ExtractWord(2,Arg)),'ë/÷àñ') then QFactor:=1/60 else
begin QFactor:=0; Trouble('Invalid Q units: '+DosToWin(Arg)); end;
CurrentReply:=Cmd;
end else
if IsSameText(Cmd,'@END') then begin
CurrentReply:='';
end else
Trouble('Unrecognized command: '+Cmd);
end else Trouble('Format or checksum error found');
end;
if ComWatchdog>0 then
if mSecNow>ComWatchDog then begin
Trouble('COM: TIMEOUT detected');
ComWatchdog:=0;
end;
if mSecNow>ComPolling then begin
ComPolling:=mSecNow+Polling;
if not ComClear then Trouble('Could not clear Com port');
if CmndNum=0 then Com_Writeln(ComposeCommand(Address,Dump('E')));
if CmndNum=1 then Com_Writeln(ComposeCommand(Address,Dump('D')));
if CmndNum=2 then Com_Writeln(ComposeCommand(Address,'H02'));
CmndNum:=(CmndNum+1) mod (2+Ord(QFactor<>1));
ComWatchdog:=ComPolling;
end;
end;
{
Process Com port input for simulator mode...
}
if Simulator then
if ComPort>0 then begin
while Com_Readln(ComIn_Line,ComIn_Buff) do begin
Status:=ExtractCommand(ComIn_Line,Addr,Cmd);
ViewImp('COM: '+HexDump(ComIn_Line)+' ('+ComIn_Line+')');
if Addr=Address then
if Status=rs_NoStartMarker then Trouble('No start marker found (@)') else
if Status=rs_NoCheckMarker then Trouble('No checksumm marker found (*)') else
if Status=rs_EmptyMessage then Trouble('Empty message error found') else
if Status=rs_ZeroCheckSumm then Trouble('Zero checksumm error found') else
if Status=rs_FailCheckSumm then Trouble('Fail checksumm error found') else
if Status=rs_Success then begin
ViewImp('COM: OK Address=$'+HexB(Addr)+', Command="'+Cmd+'"');
if IsSameText(Cmd,Dump('E')) then begin
if QFactor>1 then Com_Writeln(ComposeReply(WinToDos('Q ë/ñåê')));
if QFactor=1 then Com_Writeln(ComposeReply(WinToDos('Q ë/ìèí')));
if QFactor<1 then Com_Writeln(ComposeReply(WinToDos('Q ë/÷àñ')));
Arg:=StrFix(GetAi_Yn(0)/QFactor,1,3);
while (Length(Arg)<8) do Arg:='0'+Arg;
Com_Writeln(ComposeReply(' '+Arg));
Com_Writeln(ComposeReply('END'));
end else
if IsSameText(Cmd,Dump('D')) then begin
Arg:=StrFix(GetAi_Yn(1),1,0);
while (Length(Arg)<8) do Arg:='0'+Arg;
Com_Writeln(ComposeReply('V '+Arg));
Com_Writeln(ComposeReply('END'));
end else
if IsSameText(Cmd,'H01') then begin
QFactor:=60;
Com_Writeln(ComposeReply(WinToDos('ðàçì 01 ë/ñåê')));
Com_Writeln(ComposeReply('END'));
end else
if IsSameText(Cmd,'H02') then begin
QFactor:=1;
Com_Writeln(ComposeReply(WinToDos('ðàçì 02 ë/ìèí')));
Com_Writeln(ComposeReply('END'));
end else
if IsSameText(Cmd,'H03') then begin
QFactor:=1/60;
Com_Writeln(ComposeReply(WinToDos('ðàçì 03 ë/÷àñ')));
Com_Writeln(ComposeReply('END'));
end else
Trouble('Unrecognized command: '+Cmd);
end else Trouble('Format or checksum error found');
end;
end;
Reply:=''; Cmd:=''; Arg:='';
end;
{
Clear all strings
}
procedure ClearStrings;
begin
StdIn_Line:='';
ComIn_Line:='';
ComIn_Buff:='';
CurrentReply:='';
if RunCount=1 then FixMaxAvail:=MaxAvail;
if IsInf(RunCount) then
if MaxAvail<>FixMaxAvail then Trouble('String Manager Leak = '+Str(FixMaxAvail-MaxAvail));
end;
{
38
Analyse data coming from standard input.
}
procedure StdIn_Process(Data:String);
var cmd,arg:String; b:Boolean;
begin
if iAnd(DebugFlags,dfViewImp)<>0 then ViewImp('CON: '+Data);
{
"@cmd=arg" or "@cmd args" commands:
}
cmd:='';
arg:='';
if GotCommand(Data,cmd,arg) then begin
{
@SendCmd H02
}
if IsSameText(cmd,'@SendCmd') then begin
if Length(arg)>0 then Com_Writeln(ComposeCommand(Address,Arg));
Success(cmd+'='+arg);
Data:='';
end else
{
@DebugFlags=3
}
if IsSameText(cmd,'@DebugFlags') then begin
DebugFlags:=iValDef(arg,DebugFlags);
Success(cmd+'='+Str(DebugFlags));
Data:='';
end else
{
@Help
}
if IsSameText(cmd,'@Help') then begin
ShowHelp(true);
Data:='';
end else
{
All other strings
}
if Length(Data)>0 then begin
Trouble(' Unrecognized command "'+Data+'".');
Data:='';
end;
end;
cmd:='';
arg:='';
end;
{
Main
}
begin
{
Initialization actions on Start...
}
if RunCount=1 then begin
{
Initialize standard library...
}
InitStdErrors;
InitStdStrings;
InitStdConsole;
InitStdDevices;
InitStdCurves;
InitStdSounds;
InitStdTags;
InitStdTimes;
InitStdTexts;
InitStdTools;
InitStdTasks;
InitStdPipes;
InitStdEdits;
InitStdDims;
InitStdWebs;
InitStdDLLs;
InitStdUtils;
{
Clear and initialize variables...
}
ClearStrings;
USER_Init;
{
Is it Ok?
}
if CheckStdErrors
then Success('Start Ok.')
else Trouble('Start Fails.');
end else
{
Finalization actions on Stop...
}
if IsInf(RunCount) then begin
USER_Free;
ClearStrings;
{
Finalize standard library
}
FreeStdUtils;
FreeStdDLLs;
FreeStdWebs;
FreeStdDims;
FreeStdEdits;
FreeStdPipes;
FreeStdTasks;
FreeStdTools;
FreeStdTexts;
FreeStdTimes;
FreeStdTags;
39
FreeStdSounds;
FreeStdCurves;
FreeStdDevices;
FreeStdConsole;
FreeStdStrings;
FreeStdErrors;
end else
{
Actions on Poll...
}
if Ok then begin
{
Process standard input...
}
while StdIn_Readln(StdIn_Line) do StdIn_Process(StdIn_Line);
{
Polling actions...
}
USER_Poll;
end;
end.
2. Пример конфигурации драйвера для вычислителя расхода ВР-1.
[SerialPort-COM7]
Port
= COM7
BaudRate = 1200
Parity
= NONE
DataBits = 8
StopBits = 2
[]
[DeviceList]
&BP1.DRV = device software program
[&BP1.DRV]
Comment
= Hardware driver for flow control sensor PCT 15-3-1 BP-1
InquiryPeriod = 1
DevicePolling = 10, tpTimeCritical
ProgramSource = ..\DaqPas\bp1_drv.pas
AnalogOutputs = 2
Link AnalogOutput 0 with curve BP1.Q history 10000 ; Flow rate, L/s
Link AnalogOutput 1 with curve BP1.V history 10000 ; Volume, Liters
Simulator
= 0
; Must be 0 for driver
ComPort
= 7
; COM port number
Address
= $00
; Hardware address
Polling
= 1000
; Polling period, ms
DebugFlags
= 15
OpenConsole
= 1
[]
[&CronSrv.StartupScript]
@DevSend &BP1.DRV @SendCmd H02
[]
3. Пример консольного протокола сеанса работы драйвера:
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
:
:
:
:
:
:
:
:
:
:
:
:
<
>
:
>
<
<
<
<
<
<
>
<
<
<
<
>
<
<
<
<
<
<
>
<
<
<
<
>
<
<
<
<
<
Started at 2011.12.04-20:57:29
MaxAvail=1670, StackAvail=16300
Initialized device: &BP1.DRV
Initialized device: &DatSrv
Initialized device: &CronSrv
Initialized device: &SpeakSrv
Simulator = 0
ComPort = 7
Address = $00
Polling = 1000
Port COM7 opened
Start Ok.
CON: @SendCmd H02
COM: @00H02 *010A
@SendCmd=H02
COM: @00E *00A5
COM: 40 51 20 20 AB 2F AC A8 AD 20 2A 30 33 41 43
(@Q ë/ìèí *03AC)
COM: OK Reply="@Q ë/ìèí", Cmd="@Q", Arg="ë/ìèí"
COM: 40 20 30 30 30 30 30 33 30 2C 32 34 30 20 2A 30 32 37 35
(@ 0000030,240 *0275)
COM: OK Reply="@ 0000030,240", Cmd="@", Arg="0000030,240"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00D *00A4
COM: 40 56 20 20 30 30 30 30 31 35 39 31 20 2A 30 32 36 36
(@V 00001591 *0266)
COM: OK Reply="@V 00001591", Cmd="@V", Arg="00001591"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00E *00A5
COM: 40 51 20 20 AB 2F AC A8 AD 20 2A 30 33 41 43
(@Q ë/ìèí *03AC)
COM: OK Reply="@Q ë/ìèí", Cmd="@Q", Arg="ë/ìèí"
COM: 40 20 30 30 30 30 30 33 30 2C 32 34 30 20 2A 30 32 37 35
(@ 0000030,240 *0275)
COM: OK Reply="@ 0000030,240", Cmd="@", Arg="0000030,240"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00D *00A4
COM: 40 56 20 20 30 30 30 30 31 35 39 32 20 2A 30 32 36 37
(@V 00001592 *0267)
COM: OK Reply="@V 00001592", Cmd="@V", Arg="00001592"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00E *00A5
COM: 40 51 20 20 AB 2F AC A8 AD 20 2A 30 33 41 43
(@Q ë/ìèí *03AC)
COM: OK Reply="@Q ë/ìèí", Cmd="@Q", Arg="ë/ìèí"
COM: 40 20 30 30 30 30 30 31 39 2C 30 34 30 20 2A 30 32 37 41
(@ 0000019,040 *027A)
COM: OK Reply="@ 0000019,040", Cmd="@", Arg="0000019,040"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
40
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
&BP1.DRV
<
>
<
<
<
<
>
<
<
<
<
<
<
>
:
:
:
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00D *00A4
COM: 40 56 20 20 30 30 30 30 31 35 39 36 20 2A 30 32 36 42
(@V 00001596 *026B)
COM: OK Reply="@V 00001596", Cmd="@V", Arg="00001596"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00E *00A5
COM: 40 51 20 20 AB 2F AC A8 AD 20 2A 30 33 41 43
(@Q ë/ìèí *03AC)
COM: OK Reply="@Q ë/ìèí", Cmd="@Q", Arg="ë/ìèí"
COM: 40 20 30 30 30 30 31 31 37 2C 31 36 36 20 2A 30 32 38 32
(@ 0000117,166 *0282)
COM: OK Reply="@ 0000117,166", Cmd="@", Arg="0000117,166"
COM: 40 45 4E 44 20 2A 30 31 31 37
(@END *0117)
COM: OK Reply="@END", Cmd="@END", Arg=""
COM: @00D *00A4
Port COM7 closed
Stopped at 2011.12.04-20:57:38
MaxAvail=1647, StackAvail=16300
41
Download