6
<title>RA plugin: BasicDevices</title>
8
@import url("../RA.css");
13
<h1>Плагин BasicDevices</h1>
17
The package includes abstract base classes for some common device types,
18
abstract base classes of consoles for common techniques, as well as
19
some classes that can be used instantly.
23
<section id="consoles">
25
<dl class="device_list">
26
<dt id="sGaugeDisplay"> sGaugeDisplay </dt>
28
<img src="GaugeDisplay.png" align="right">
29
Небольшое окошко, которое показывает физвеличину, получаемую
30
с подключённого к нему датчика. Показания обновляются по
31
мере поступления данных с датчика. В качестве датчика можно
32
подключить любое устройство класса, производного от
33
<a href="#sGauge">sGauge</a>. Единицы и точность
34
представления определяются тем, что приходит с датчика.
35
Цвет, размер и начертание шрифта можно задать свои для
36
каждого инсталлированного инструмента в его конфигурации.
37
Во время прогрева показывает <code>-----</code>.
39
<dt id="sGaugeLCD"> sGaugeLCD </dt>
41
<img src="LCD.png" align="right">
42
То же, что и <a href="#sGaugeDisplay">sGaugeDisplay</a>,
43
но изображение цифр имитирует жидко-кристаллический дисплей,
44
а размер цифр определяется размерами окна.
46
<dt id="sFixedUnitsLCD"> sFixedUnitsLCD </dt>
48
То же, что и <a href="#sGaugeLCD">sGaugeLCD</a>,
49
но единицы и точность представления фиксированы (задаются в
50
конфигурации). Значения, получаемые с датчика, преобразуются
51
к заданным единицам. Если единицы получаемой физвеличины не
52
сопоставимы с заданными или число знаков превышает разумное,
53
показывает <code>Error</code>.
55
<dt id="sEffectorConsole"> sEffectorConsole </dt>
58
<img src="EffectorConsole.png" align="right">
59
Консоль управления произвольным эффектором, т.е.
60
устройством класса производного от
61
<a href="#sEffector">sEffector</a>.
63
<a href="#sGaugeDisplay">sGaugeDisplay</a> и показывает
64
текущее реальное состояние контролируемой физвеличины
65
(если эффектор умеет не только устанавливать, но и
66
измерять то, что реально получилось). Ниже расположено
67
поле ввода желаемого значения. Надо изменить значение
68
и нажать <code>Enter</code> или покинуть поле, чтобы
69
отправить команду эффектору. Кроме этого, также как и в
70
других полях ввода, работают клавиши ↑ и ↓,
71
увеличивающие или уменьшающие цифру левее курсора и
72
сразу отправляющие изменённое значение эффектору.
75
Непосредственную отправку изменённого значения эффектору
76
можно отключить, изменив в конфигурации значение опции
77
<code>DoSetWithButton</code> на <code>true</code>.
78
В этом случае, справа от поля ввода появляется кнопка
79
►, и подключённый эффектор получает команду только
83
Некоторые эффекторы (например, установка длины волны
84
спектрометра с помощью шагового двигателя, см. рисунок)
85
отрабатывают не мгновенно. В таком случае, после ввода
86
желаемого значения текущее значение постепенно стремится
87
к заданному (именно этот момент изображён на рисунке), а
88
справа от поля ввода появляется кнопка, позволяющая
89
прервать этот процесс. Когда эффектор, с его точки
90
зрения, завершает установку нового значения, кнопка
94
Тем не менее, и после исполнения эффектором команды
95
изменения контролируемой физвеличины, её реальное
96
значение может отличаться (например, из-за дискретного
97
характера её значений) и даже плавать (например, для
98
контроллера температуры).
101
<dt id="sTunedEffectorConsole"> sTunedEffectorConsole </dt>
104
<dt id="sPeriodicGaugeRecorder"> sPeriodicGaugeRecorder </dt>
107
<dt id="sStepByStepScanner"> sStepByStepScanner </dt>
110
<dt id="sCCDScaner"> sCCDScaner </dt>
116
<section id="abstract">
117
<h2>Абстрактные базовые классы для программирования
118
консолей и драйверов устройств
120
<dl class="device_list">
121
<dt id="sGauge"> sGauge </dt>
123
Прототип датчика физвеличины.
125
<dt id="sEffector"> sEffector </dt>
127
Прототип эффектора – устройства, управляющего чем-то,
128
чьё состояние определяется главным образом одной
131
<dt id="sStepper"> sStepper </dt>
133
Прототип драйвера шагового двигателя.
135
<dt id="sTController"> sTController </dt>
137
Прототип контроллера термостата.
139
<dt id="sScanner"> sScanner </dt>
141
Прототип сканера – прибора, записывающего
142
экспериментальную кривую.
144
<dt id="sTeleCom"> sTeleCom </dt>
146
Прототип канала связи компьютера с периферийным устройством.
148
<dt id="sCCDDriver"> sCCDDriver </dt>
150
Прототип драйвера ПЗС-линейки.
152
<dt id="sTunableCCDDriver"> sTunableCCDDriver </dt>
154
Прототип драйвера ПЗС-линейки с перестройкой длины волны.
160
<p> Copyright (C) 2010,
161
<br/>Viktor E. Bursian,
162
<br/>St.Petersburg, Russia.
163
<br/>VBursian@gmail.com