Библиотека графических элементов GostLib для интерпретатора Painter(v)


Библиотека графических элементов GostLib включает в себя набор графических элементов интерпретатора Painter, которые создавались в соответствии со стандартами ГОСТ, ЕСКД и имеют прямую ссылку на эти стандарты. Эта библиотека используется совместно с библиотекой общепринятых графических элементов (GuiLib), а также библиотекой (DaqLib) специально разработанных для элементов DAQ-системы. Надо напомнить, что различные элементы одной или разных библиотек могут использоваться совместно, например элемент [Painter(v).GuiLib.SimpleBorder] используется для изображения рамки вокруг других элементов. При использовании графических элементов используются также описанные здесь договоренности, правила и рекомендации. В следующей таблице перечислены имеющиеся в библиотеке графические элементы. В скобках после описания аргументов указаны значения по умолчанию, принятые для данного элемента.

Таблица 1. Состав графической библиотеки GostLib

Вид, Название, Аргументы Описание, Примеры, Комментарии
        
           

[Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive]
где:
ValveType - тип вентиля: ThruWayHor, ThruWayVer, AngUpLeft, AngUpRight, AngDownLeft, AngDownRight, 3WayUp, 3WayDown, 3WayLeft, 3WayRight, VlvGateHor, VlvGateVer, RotGateHor, RotGateVer
LimitSwitch - тип концевых выключателей: LimSwNone, LimSwOpen, LimSwClose, LimSwBoth
ValveDrive - тип привода вентиля: NoneOp, ManualOp, SolenoidOp, MotorOp, PneumaticOp

Аргументы:

glButtonBit - номер бита состояния кнопки включения (0)
glValveOpenBit - номер бита концевика "открыт" (1)
glValveCloseBit - номер бита концевика "закрыт" (2)
Знак Valve (вентиль).

Valve рисует вентили различного вида с любым типом привода. Имя секции содержит описание вентиля и его параметров: ValveType - ориентация и тип вентиля, LimitSwitch - использование концевых выключателей, ValveDrive - тип привода вентиля.

Пример (в качестве примера приведен проходной горизонтальный вентиль без концевиков с пневматическим приводом):
[SensorList]
Sensor = PneumoValve
[PneumoValve]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.ThruWayHor.LimSwNone.PneumaticOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo pneumatic valve
[]

Подробное описание смотри в разделе Вентили и пример.
        
     

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: RotSingle, RotDouble, Turbomol, Roots, Diffusion, SputIon, Sublimation
Orientation - ориентация: None, Up, Down, Left, Right

Аргументы:

glButtonBit - номер бита состояния кнопки включения (0)
glPumpSpeedBit - номер бита "скорость" (0)
glPumpErrorBit - номер бита "ошибка" (0)
glPumpEdgeBevel - отступ рамки от края изображения (3)
Знак Pump (насос).

Pump рисует различные виды вакуумных насосов. Имя секции содержит описание насоса и его параметров: PumpType - тип насоса, Orientation - направление указателя выхлопа.

Пример (в качестве примера приведен насос турбомолекулярный с направлением выхлопа влево):
[SensorList]
Sensor = TurbomolPump
[TurbomolPump]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.Turbomol.Left]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo turbomolecular pump
[]

Подробное описание смотри в разделе Насосы и пример.
     

[Painter(v).GostLib.Vacuometer.VacuometerType.Orientation]
где:
VacuometerType - тип вакуумметра: Penning, Ionization, Thermal
Orientation - ориентация: Up, Down, Left, Right, None

Аргументы:

glVacuometerBevel - отступ от края изображения (4)
glVacuometerFillColor - цвет заполнения (clGray)
glVacuometerLineColor - цвет линий контура (clBlack)
Знак Vacuometer (вакуумметр).

Vacuometer рисует различные виды вакуумметров. Имя секции содержит описание вакуумметра и его параметров: VacuometerType - тип вакуумметра, Orientation - ориентация вакуумметра.

Пример (в качестве примера приведен вакуумметр магнитный электроразрядный с холодным катодом (вакуумметр Пеннинга)):
[SensorList]
Sensor = PenningVacuometer
[PenningVacuometer]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Vacuometer.Penning.Left]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_24_silver.bmp
Hint = Demo Penning vacuometer
[]

Подробное описание смотри в разделе Вакуумметры и пример.


[Painter(v).GostLib.LeakDetector]

Аргументы:

glLeakDetBevel - отступ от края изображения (3)
glLeakDetFillColor - цвет заполнения (clGray)
glLeakDetLineColor - цвет линий контура (clBlack)
Знак LeakDetector (течеискатель).

LeakDetector рисует изображение течеискателя.

Пример:
[SensorList]
Sensor = LeakDetector
[LeakDetector]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.LeakDetector]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Leak detector
[]

Подробное описание смотри в разделе Течеискатель и пример.


[Painter(v).GostLib.Compressor.Orientation]
где:
Orientation - ориентация: Up, Down, Left, Right

Аргументы:

glCompressorBevel - отступ от края изображения (4)
glCompressorFillColor - цвет заполнения (clGray)
glCompressorLineColor - цвет линий контура (clBlack)
Знак Compressor (компрессор).

Compressor рисует изображение компрессора. Имя секции содержит описание компрессора и его параметров: Orientation - ориентация выхлопа компрессора.

Пример:
[SensorList]
Sensor = Compressor
[Compressor]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Compressor]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Compressor
[]

Подробное описание смотри в разделе Компрессор и пример.


Вентили (клапаны)


Библиотечный сценарий Valve, секция [Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive], рисует элементы трубопроводной арматуры (например, вентили) в различной ориентации, и с разными типами привода (ручной, электромагнитный и прочие). Имя секции содержит описание вентиля и его параметров.
ValveType - ориентация и тип вентиля:
ThruWayHor (Through-Way valve, Horizontal - вентиль проходной горизонтальный);
ThruWayVer (Through-Way valve, Vertical - вентиль проходной вертикальный);
AngUpLeft (Angle valve, Up-Left - вентиль угловой, повернут вверх-влево);
AngUpRight (Angle valve, Up-Right - вентиль угловой, вверх-вправо);
AngDownLeft (Angle valve, Down-Left - вентиль угловой, вниз-влево);
AngDownRight (Angle valve, Down-Right - вентиль угловой, вниз-вправо);
3WayUp (Three-Way valve, Up - вентиль трехходовой, повернут вверх);
3WayDown (Three-Way valve, Down - вентиль трехходовой, вниз);
3WayLeft (Three-Way valve, Left - вентиль трехходовой, влево);
3WayRight (Three-Way valve, Right - вентиль трехходовой, вправо);
VlvGateHor (Valve gate, Horizontal - Задвижка горизонтальная);
VlvGateVer (Valve gate, Vertical - Задвижка вертикальная);
RotGateHor (Rotary gate, Horizontal - Затвор поворотный горизонтальный);
RotGateVer (Rotary gate, Vertical - Затвор поворотный вертикальный).
LimitSwitch - использование концевых выключателей. В зависимости от наличия концевиков, LimitSwitch может быть:
LimSwNone (нет концевиков);
LimSwOpen (есть концевик в положении "открыт");
LimSwClose (есть концевик в положении "закрыт");
LimSwBoth (есть оба концевика).
ValveDrive - тип привода вентиля:
NoneOp (тип привода не указан);
ManualOp (Manual-Operated valve - ручной привод);
SolenoidOp (Solenoid Operated valve - электромагнитный привод);
MotorOp (Motor Operated valve - электропривод);
PneumaticOp (Pneumatic Operated valve - пневматический привод).

Таблица 2. Элементы графической библиотеки GostLib (Вентили)

Тип вентиля/Тип привода вентиля Описание, Примеры, Комментарии
Типы вентиля:

[Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive]
где:
ValveType - тип вентиля: ThruWayHor, ThruWayVer
LimitSwitch - тип концевых выключателей: LimSwNone, LimSwOpen, LimSwClose, LimSwBoth
ValveDrive - тип привода вентиля: NoneOp, ManualOp, SolenoidOp, MotorOp, PneumaticOp
Вентиль (клапан) запорный проходной. Графическое обозначение установлено стандартом ГОСТ 2.785, пункт 1 а.

Пример:
[SensorList]
Sensor = Valve.ThruWayHor
[Valve.ThruWayHor]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.ThruWayHor.LimSwNone.NoneOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Valve.ThruWayHor
[]

[Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive]
где:
ValveType - тип вентиля: AngUpLeft, AngUpRight, AngDownLeft, AngDownRight
LimitSwitch - тип концевых выключателей: LimSwNone, LimSwOpen, LimSwClose, LimSwBoth
ValveDrive - тип привода вентиля: NoneOp, ManualOp, SolenoidOp, MotorOp, PneumaticOp
Вентиль (клапан) запорный угловой. Графическое обозначение установлено стандартом ГОСТ 2.785, пункт 1 б.

Пример:
[SensorList]
Sensor = Valve.AngUpLeft
[Valve.AngUpLeft]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.AngUpLeft.LimSwNone.NoneOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Valve.AngUpLeft
[]

[Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive]
где:
ValveType - тип вентиля: 3WayUp, 3WayDown, 3WayLeft, 3WayRight
LimitSwitch - тип концевых выключателей: LimSwNone, LimSwOpen, LimSwClose, LimSwBoth
ValveDrive - тип привода вентиля: NoneOp, ManualOp, SolenoidOp, MotorOp, PneumaticOp
Вентиль (клапан) трехходовой. Графическое обозначение установлено стандартом ГОСТ 2.785, пункт 2.

Пример:
[SensorList]
Sensor = Valve.3WayLeft
[Valve.3WayLeft]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.3WayLeft.LimSwNone.NoneOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Valve.3WayLeft
[]

[Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive]
где:
ValveType - тип вентиля: VlvGateHor, VlvGateVer
LimitSwitch - тип концевых выключателей: LimSwNone, LimSwOpen, LimSwClose, LimSwBoth
ValveDrive - тип привода вентиля: NoneOp
Задвижка. Графическое обозначение установлено стандартом ГОСТ 2.785, пункт 9.
Буквенное обозначение на схемах - "VT" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Valve.VlvGateHor
[Valve.VlvGateHor]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.VlvGateHor.LimSwNone.NoneOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Valve.VlvGateHor
[]

[Painter(v).GostLib.Valve.ValveType.LimitSwitch.ValveDrive]
где:
ValveType - тип вентиля: RotGateHor, RotGateVer
LimitSwitch - тип концевых выключателей: LimSwNone, LimSwOpen, LimSwClose, LimSwBoth
ValveDrive - тип привода вентиля: NoneOp
Затвор поворотный. Графическое обозначение установлено стандартом ГОСТ 2.785, пункт 10.

Пример:
[SensorList]
Sensor = Valve.RotGateHor
[Valve.RotGateHor]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.RotGateHor.LimSwNone.NoneOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo Valve.RotGateHor
[]
Типы привода:


ValveDrive - тип привода вентиля: ManualOp
Ручной привод. Графическое обозначение установлено стандартом ГОСТ 2.721, таблица 6, пункт 13 а.
Буквенное обозначение на схемах - "VП" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = ThruWayVer.ManualOp
[ThruWayVer.ManualOp]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.ThruWayVer.LimSwNone.ManualOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo ThruWayVer.ManualOp
[]


ValveDrive - тип привода вентиля: SolenoidOp
Электромагнитный привод. Графическое обозначение установлено стандартом ГОСТ 2.721, таблица 6, пункт 15 б.
Буквенное обозначение на схемах - "VE" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = ThruWayVer.SolenoidOp
[ThruWayVer.SolenoidOp]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.ThruWayVer.LimSwNone.SolenoidOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo ThruWayVer.SolenoidOp
[]


ValveDrive - тип привода вентиля: MotorOp
Электромеханический привод. Графическое обозначение привода установлено стандартом ГОСТ 2.721, таблица 6, пункт 15 г.
Буквенное обозначение на схемах - "VM" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = ThruWayVer.MotorOp
[ThruWayVer.MotorOp]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.ThruWayVer.LimSwNone.MotorOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo ThruWayVer.MotorOp
[]


ValveDrive - тип привода вентиля: PneumaticOp
Пневматический привод. Графическое обозначение привода установлено стандартом ГОСТ 2.721, таблица 6, пункт 15 в.
Буквенное обозначение на схемах - "VP" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = ThruWayVer.PneumaticOp
[ThruWayVer.PneumaticOp]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Valve.ThruWayVer.LimSwNone.PneumaticOp]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_30_30_4_silver.bmp
Hint = Demo ThruWayVer.PneumaticOp
[]

Использование концевых выключателей

Использование концевых выключателей задает выражение LimitSwitch, которое может принимать значения:
LimSwNone - нет концевиков;
LimSwOpen - есть концевик в положении "открыт";
LimSwClose - есть концевик в положении "закрыт";
LimSwBoth - есть оба концевика.
Номера битов состояния концевиков задаются параметрами glValveOpenBit, glValveCloseBit. По умолчанию их значения - glValveOpenBit=1, glValveCloseBit=2. Если вентиль не имеет концевиков LimitSwitch=LimSwNone, за цвет вентиля отвечает нулевой бит (либо тот, что указан в параметре glButtonBit) связанного с сенсором тега. При наличии концевого выключателя в положении "открыт" либо "закрыт" (LimitSwitch=LimSwOpen или LimitSwitch=LimSwClose), цвет вентиля выбирается комбинацией из двух битов: нулевой бит (или glButtonBit) - состояние кнопки (отжата/нажата) и первый бит (либо тот, что указан в параметре glValveOpenBit или glValveCloseBit) - состояние концевика (разомкнут/замкнут). В случае с двумя концевиками LimitSwitch=LimSwBoth, нулевой бит (или glButtonBit) связанного с сенсором тега отвечает за состояние кнопки (отжата/нажата), а первый и второй биты (либо биты указанные в параметрах glValveOpenBit и glValveCloseBit) - за состояние концевиков в положении "открыт" и "закрыт" соответственно.

Таблица 3. Использование концевых выключателей

Состояние концевиков Закрыт/Открыт может быть 0 - Разомкнут, 1 - Замкнут, либо "—" - не используется.
Состояние кнопки (значение бита glButtonBit) может быть 0 - не нажата и 1 - нажата.
Состояние концевиков Состояние
кнопки
Состояние вентиля Цвет вентиля
"Закрыт" "Открыт"
Нет концевиков  (LimitSwitch = LimSwNone):
0 Закрыт - Серый
1 Открыт - Зеленый
Есть концевик в положении "открыт"  (LimitSwitch = LimSwOpen):
0 0 Закрыт - Серый
0 1 Открывается - Желтый
1 0 Закрывается - Желтый
1 1 Открыт - Зеленый
Есть концевик в положении "закрыт"  (LimitSwitch = LimSwClose):
0 0 Закрывается - Желтый
0 1 Открыт - Зеленый
1 0 Закрыт - Серый
1 1 Открывается - Желтый
Есть оба концевика  (LimitSwitch = LimSwBoth):
0 0 0 Закрывается - Желтый
0 0 1 Открывается - Желтый
0 1 0 Закрывается - Желтый
0 1 1 Открыт - Зеленый
1 0 0 Закрыт - Серый
1 0 1 Открывается - Желтый
1 1 0 Ошибка - Красный
1 1 1 Ошибка - Красный

Насосы


Библиотечный сценарий Pump, секция [Painter(v).GostLib.Pump.PumpType.Orientation], рисует элементы вакуумных систем — вакуумные насосы. Имя секции содержит описание насоса и его параметров.
PumpType - тип насоса:
RotSingle (Single-Stage Rotary pump - Вращательный объемный одноступенчатый);
RotDouble (Double-Stage Rotary pump - Вращательный объемный двухступенчатый);
Turbomol (Turbomolecular pump - Турбомолекулярный);
Roots (Roots vacuum pump - Двухроторный (насос Рутса));
Diffusion (Diffusion pump - Диффузионный);
SputIon (Sputter ion pump - Магнитный электроразрядный);
Sublimation (Sublimation pump - Сублимационный).
Orientation - направление указателя выхлопа:
None (направление выхлопа не указывается);
Up (направление выхлопа вверх);
Down (направление выхлопа вниз);
Left (направление выхлопа влево);
Right (направление выхлопа вправо).

Таблица 4. Элементы графической библиотеки GostLib (Насосы)

Тип насоса Описание, Примеры, Комментарии

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: RotSingle
Orientation - ориентация: Up, Down, Left, Right
Насос вращательный объемный одноступенчатый. Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.2.1 а.
Буквенные обозначения на схемах:
"NI" (Механический, общее обозначение), "NV" (Вращательный объемный без газобалласта), "NL" (Вращательный объемный газобалластный) установлены стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Pump.RotSingle.Up
[Pump.RotSingle.Up]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.RotSingle.Up]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo Pump.RotSingle.Up
[]

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: RotDouble
Orientation - ориентация: Up, Down, Left, Right
Насос вращательный объемный двухступенчатый. Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.2.1 б.
Буквенное обозначение на схемах - см. "Насос вращательный объемный одноступенчатый".

Пример:
[SensorList]
Sensor = Pump.RotDouble.Up
[Pump.RotDouble.Up]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.RotDouble.Up]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo Pump.RotDouble.Up
[]

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: Turbomol
Orientation - ориентация: Up, Down, Left, Right
Насос турбомолекулярный. Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.2.2.
Буквенное обозначение на схемах - "NR" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Pump.Turbomol.Up
[Pump.Turbomol.Up]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.Turbomol.Up]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo Pump.Turbomol.Up
[]

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: Roots
Orientation - ориентация: Up, Down, Left, Right
Насос двухроторный (насос Рутса). Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.2.3.
Буквенное обозначение на схемах - "NZ" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Pump.Roots.Up
[Pump.Roots.Up]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.Roots.Up]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo Pump.Roots.Up
[]

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: Diffusion
Orientation - ориентация: None
Насос диффузионный. Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.3.2.
Буквенное обозначение на схемах - "ND" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Pump.Diffusion.None
[Pump.Diffusion.None]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.Diffusion.None]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo Pump.Diffusion.None
[]

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: SputIon
Orientation - ориентация: None
Насос магнитный электроразрядный. Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.4.6.
Буквенное обозначение на схемах - "NM" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Pump.SputIon.None
[Pump.SputIon.None]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Pump.SputIon.None]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo Pump.SputIon.None
[]

[Painter(v).GostLib.Pump.PumpType.Orientation]
где:
PumpType - тип насоса: Sublimation
Orientation - ориентация: None
Насос сублимационный (испарительно-геттерный). Графическое обозначение насоса установлено стандартом ГОСТ 2.796, таблица 1, пункт 1.4.2.
Буквенное обозначение на схемах - "NG" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.
Вместо знака X указывают химическую формулу сорбента. Химическая формула указывается посредством добавления цифровой надписи на тег изображения Tag#n, шрифт надписи задается параметром LED, смотри пример ниже.

Пример:
[SensorList]
Sensor = Pump.Sublimation.None
[Pump.Sublimation.None]
Pos = 10, 10
LED = 0, 0, 0, *, Name:PT_Sans\Style:[]\Size:14
Painter(v) = [Painter(v).GostLib.Pump.Sublimation.None]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp Ti
Hint = Demo Pump.Sublimation.None
[]

Параметры графических элементов — насосы:
glButtonBit - номер бита состояния кнопки включения;
glPumpSpeedBit - номер бита "скорость";
glPumpErrorBit - номер бита "ошибка";
glPumpEdgeBevel - отступ рамки от края изображения.

Параметры glPumpSpeedBit, glPumpErrorBit задают номера битов состояния насоса. По умолчанию их значения - glPumpSpeedBit=0, glPumpErrorBit=0, то есть они не используются. В таком случае, за цвет насоса отвечает нулевой бит (либо тот, что указан в параметре glButtonBit) связанного с сенсором тега. Если насос имеет канал контроля скорости, цвет формируется комбинацией из двух битов - нулевого (или glButtonBit) - состояние кнопки (отжата/нажата) и бита указанного в glPumpSpeedBit. Другими словами, если кнопка нажата (значение бита glButtonBit равно единице) и есть сигнал контроля скорости (значение бита glPumpSpeedBit также единица), значит насос работает в штатном режиме (цвет зеленый). А если кнопка нажата, но сигнала контроля скорости нету (значение бита glPumpSpeedBit равно нулю), это значит, что насос был запущен, но еще не раскрутился до рабочей скорости (цвет желтый) и т.д. Кроме того, если значение бита, указанного в параметре glPumpErrorBit равно единице, то независимо от состояния кнопки, насос будет отображаться красным цветом.
Параметр glPumpEdgeBevel задает отступ рамки от края изображения в пикселах, значение по умолчанию - 3.

Таблица 5. Параметры графических элементов — Насосы

Состояние кнопки (значение бита glButtonBit) может быть 0 - не нажата и 1 - нажата.
Состояние насоса Состояние
кнопки
Состояние насоса Цвет насоса
Значение бита
glPumpErrorBit
Значение бита
glPumpSpeedBit
Биты состояния не используются  (glPumpSpeedBit=0; glPumpErrorBit=0):
0 Выключен - Серый
1 Работает - Зеленый
Используется контроль скорости  (glPumpSpeedBit=1; glPumpErrorBit=0):
0 0 Выключен - Серый
0 1 Запуск - Желтый
1 0 Остановка - Желтый
1 1 Работает - Зеленый
Используется контроль ошибки  (glPumpSpeedBit=0; glPumpErrorBit=1):
0 0 Выключен - Серый
0 1 Работает - Зеленый
1 0 Ошибка - Красный
1 1 Ошибка - Красный
Используется контроль скорости и контроль ошибки  (glPumpSpeedBit=1; glPumpErrorBit=2):
0 0 0 Выключен - Серый
0 0 1 Запуск - Желтый
0 1 0 Остановка - Желтый
0 1 1 Работает - Зеленый
1 0 0 Ошибка - Красный
1 0 1 Ошибка - Красный
1 1 0 Ошибка - Красный
1 1 1 Ошибка - Красный

Вакуумметры


Библиотечный сценарий Vacuometer, секция [Painter(v).GostLib.Vacuometer.VacuometerType.Orientation], рисует элементы вакуумных систем — вакуумметры. Имя секции содержит описание вакуумметра и его параметров.
VacuometerType - тип вакуумметра:
Penning (Penning gauge - Вакуумметр Пеннинга (вакуумметр магнитный электроразрядный));
Ionization (Ionization vacuum gauge - Ионизационный вакуумметр );
Thermal (Thermal conductivity vacuum gauge - Тепловой вакуумметр (вакуумметр магнитный электроразрядный));
Orientation - ориентация вакуумметра:
Up (направлен вверх);
Down (направлен вниз);
Left (направлен влево);
Right (направлен вправо);
None (ориентация не указывается).

Таблица 6. Элементы графической библиотеки GostLib (Вакуумметры)

Тип вакуумметра Описание, Примеры, Комментарии

[Painter(v).GostLib.Vacuometer.VacuometerType.Orientation]
где:
VacuometerType - тип вакуумметра: Penning
Orientation - ориентация: Up, Down, Left, Right
Вакуумметр магнитный электроразрядный (вакуумметр Пеннинга). Графическое обозначение вакуумметра установлено стандартом ГОСТ 2.796, таблица 1, пункт 5.1.4.
Буквенные обозначения на схемах - "PM" (Магнитный электроразрядный) установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Vacuometer.Penning.Down
[Vacuometer.Penning.Down]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Vacuometer.Penning.Down]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp
Hint = Demo Vacuometer.Penning.Down
[]

[Painter(v).GostLib.Vacuometer.VacuometerType.Orientation]
где:
VacuometerType - тип вакуумметра: Ionization
Orientation - ориентация: Up, Down, Left, Right
Вакуумметр ионизационный. Графическое обозначение вакуумметра установлено стандартом ГОСТ 2.796, таблица 1, пункт 5.1.3.
Буквенные обозначения на схемах - "PA" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Vacuometer.Ionization.Down
[Vacuometer.Ionization.Down]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Vacuometer.Ionization.Down]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp
Hint = Demo Vacuometer.Ionization.Down
[]

[Painter(v).GostLib.Vacuometer.VacuometerType.Orientation]
где:
VacuometerType - тип вакуумметра: Thermal
Orientation - ориентация: None
Вакуумметр теплоэлектрический (термопарный, сопротивления). Графическое обозначение вакуумметра установлено стандартом ГОСТ 2.796, таблица 1, пункт 5.1.5.
Буквенные обозначения на схемах - "PT" (тепловой) установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = Vacuometer.Thermal
[Vacuometer.Thermal]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Vacuometer.Thermal.None]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp
Hint = Demo Vacuometer.Thermal
[]

Параметры графических элементов — вакуумметры:
glVacuometerBevel - Задает отступ изображения вакуумметра от края сенсора, значение по умолчанию - 4.
glVacuometerFillColor - Задает цвет заполнения изображения вакуумметра, значение по умолчанию - clGray.
glVacuometerLineColor - Задает цвет линий контура изображения вакуумметра, значение по умолчанию - clBlack.


Течеискатель


Библиотечный сценарий LeakDetector, секция [Painter(v).GostLib.LeakDetector], рисует элемент вакуумных систем — течеискатель.
Изображение, секция Описание, Примеры, Комментарии

[Painter(v).GostLib.LeakDetector]
Течеискатель. Графическое обозначение течеискателя установлено стандартом ГОСТ 2.796, таблица 1, пункт 5.2.
Буквенные обозначения на схемах - "G" установлено стандартом ГОСТ 2.797, Приложение А, таблица А.1.

Пример:
[SensorList]
Sensor = LeakDetector
[LeakDetector]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.LeakDetector]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp
Hint = Demo LeakDetector
[]

Параметры графического элемента — течеискатель:
glLeakDetBevel - Задает отступ изображения течеискателя от края сенсора, значение по умолчанию - 3.
glLeakDetFillColor - Задает цвет заполнения изображения течеискателя, значение по умолчанию - clGray.
glLeakDetLineColor - Задает цвет линий контура изображения течеискателя, значение по умолчанию - clBlack.


Компрессор


Библиотечный сценарий Compressor, секция [Painter(v).GostLib.Compressor.Orientation], рисует элемент — компрессор.
Orientation - ориентация выхлопа компрессора:
Up (направлен вверх);
Down (направлен вниз);
Left (направлен влево);
Right (направлен вправо);
Изображение, секция Описание, Примеры, Комментарии

[Painter(v).GostLib.Compressor.Orientation]
где:
Orientation - ориентация: Up, Down, Left, Right
Компрессор. Графическое обозначение компрессора установлено стандартом ГОСТ 2.782, таблица 1, пункт 10.

Пример:
[SensorList]
Sensor = Compressor.Right
[Compressor.Right]
Pos = 10, 10
Painter(v) = [Painter(v).GostLib.Compressor.Right]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp
Hint = Demo Compressor.Right
[]

Параметры графического элемента — компрессор:
glCompressorBevel - Задает отступ изображения компрессора от края сенсора, значение по умолчанию - 4.
glCompressorFillColor - Задает цвет заполнения изображения компрессора, значение по умолчанию - clGray.
glCompressorLineColor - Задает цвет линий контура изображения компрессора, значение по умолчанию - clBlack.


Примеры использования графических элементов библиотеки GostLib


Библиотека GostLib входит в состав Painter(v) и для ее использования необходимо включить в свою мнемосхему файл ~~\Resource\DaqSite\Default\Painter.crc:
[ConfigFileList] ; Include the Painter GUI Library   ; Для доступа к библиотеке
ConfigFile = ~~\Resource\DaqSite\Default\Painter.crc ; Включаем Painter.crc
[]
После этого будут доступны все элементы этой библиотеки. В качестве подложки для сенсора можно брать любое *.bmp изображение. Для сокращения количества файлов Daq-системы, в описании сенсора рекомендуется использовать ссылки на изображения barbmp или ledbmp из ресурсов пакета CRW-DAQ, например ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_4_silver.bmp.
При конфигурировании сенсора, параметрам, в случае необходимости, присваиваются значения, а затем вставляется ссылка на секцию. Например:
Painter(v) = (glValveOpenBit=2)+(glValveCloseBit=1)
Painter(v) = [Painter(v).GostLib.Valve.ThruWayVer.LimSwBoth.SolenoidOp]
Чтобы библиотечный элемент на мнемосхеме был в виде кнопки или сенсора, кроме сценария рисования этого элемента, нужно также включить библиотечный сценарий кнопки или рамки [Painter(v).GuiLib.SimpleButton] или [Painter(v).GuiLib.SimpleBorder].

Пример описания сенсора Вентиль:
[SensorList]
Sensor = Valve1                                                          ; Создаем сенсор Valve1
[Valve1]                                                                 ; Это будет трехходовой вентиль с пневматическим приводом, и наличием обоих концевых выключателей
Pos = 10, 300                                                            ; Задаем координаты сенсора
Painter(v) = (glButtonBit=0)+(glButtonBevel=2)                           ; Задаем параметры кнопки
Painter(v) = (glValveOpenBit=2)+(glValveCloseBit=1)                      ; Задаем параметры вентиля (не обязательно)
Painter(v) = [Painter(v).GostLib.Valve.3WayUp.LimSwBoth.PneumaticOp]     ; Включаем библиотечный сценарий GostLib
Painter(v) = [Painter(v).GuiLib.SimpleButton]                            ; Включаем библиотечный сценарий SimpleButton
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp ; Задаем фоновое изображение через barbmp
Hint = Valve1 - Вентиль с пневмоприводом
[]
При отсутствии явного указания параметров, будут приняты значения по умолчанию: glValveOpenBit=1, glValveCloseBit=2. Если нет необходимости менять номера битов состояния концевиков, то эти параметры указывать не обязательно.

Пример описания сенсора Насос:
[SensorList]
Sensor = Pump1                                                           ; Создаем сенсор Pump1
[Pump1]                                                                  ; Это будет турбомолекулярный насос с контролем скорости и контролем ошибки
Pos = 10, 300                                                            ; Задаем координаты сенсора
Painter(v) = (glButtonBit=0)+(glButtonBevel=2)                           ; Задаем параметры кнопки
Painter(v) = (glPumpSpeedBit=1)+(glPumpErrorBit=2)                       ; Задаем параметры насоса
Painter(v) = [Painter(v).GostLib.Pump.Turbomol.Left]                     ; Включаем библиотечный сценарий GostLib
Painter(v) = [Painter(v).GuiLib.SimpleButton]                            ; Включаем библиотечный сценарий SimpleButton
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp ; Задаем фоновое изображение через barbmp
Hint = Pump1 - Турбомолекулярный насос
[]
При отсутствии явного указания параметров, будут приняты значения по умолчанию: glPumpSpeedBit=0, glPumpErrorBit=0, glPumpEdgeBevel=3. Если нет необходимости использовать контроль скорости или контроль ошибки насоса, то эти параметры указывать не обязательно.

Пример описания сенсора Вакуумметр:
[SensorList]
Sensor = Vacuometer1                                                     ; Создаем сенсор Vacuometer1
[Vacuometer1]                                                            ; Это будет магнитный электроразрядный вакуумметр (вакуумметр Пеннинга)
Pos = 10, 300                                                            ; Задаем координаты сенсора
Painter(v) = (glBorderBevel=2)                                           ; Задаем параметры рамки
Painter(v) = (glVacuometerBevel=2)+(glVacuometerFillColor=clLime)        ; Задаем параметры вакуумметра
Painter(v) = [Painter(v).GostLib.Vacuometer.Penning.Left]                ; Включаем библиотечный сценарий GostLib
Painter(v) = [Painter(v).GuiLib.SimpleBorder]                            ; Включаем библиотечный сценарий SimpleBorder
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp ; Задаем фоновое изображение через barbmp
Hint = Vacuometer1 - Магнитный электроразрядный вакуумметр (вакуумметр Пеннинга)
[]
При отсутствии явного указания параметров, будут приняты значения по умолчанию: glVacuometerBevel=4, glPumpErrorBit=0, glVacuometerFillColor=clGray, glVacuometerLineColor=clBlack.

Пример описания сенсора Течеискатель:
[SensorList]
Sensor = LeakDetector1                                                   ; Создаем сенсор LeakDetector1
[LeakDetector1]                                                          ; Это будет течеискатель
Pos = 10, 300                                                            ; Задаем координаты сенсора
Painter(v) = (glBorderBevel=2)                                           ; Задаем параметры рамки
Painter(v) = (glLeakDetBevel=2)+(glLeakDetFillColor=clLime)              ; Задаем параметры течеискателя
Painter(v) = [Painter(v).GostLib.LeakDetector]                           ; Включаем библиотечный сценарий GostLib
Painter(v) = [Painter(v).GuiLib.SimpleBorder]                            ; Включаем библиотечный сценарий SimpleBorder
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp ; Задаем фоновое изображение через barbmp
Hint = LeakDetector1 - Течеискатель
[]
При отсутствии явного указания параметров, будут приняты значения по умолчанию: glLeakDetBevel=3, glLeakDetFillColor=clGray, glLeakDetLineColor=clBlack.

Пример описания сенсора Компрессор:
[SensorList]
Sensor = Compressor1                                                     ; Создаем сенсор Compressor1
[Compressor1]                                                            ; Это будет компрессор
Pos = 10, 300                                                            ; Задаем координаты сенсора
Painter(v) = (glButtonBit=0)+(glButtonBevel=2)                           ; Задаем параметры кнопки
Painter(v) = (glCompressorBevel=2)+(glCompressorFillColor=clSilver)      ; Задаем параметры компрессора
Painter(v) = [Painter(v).GostLib.Compressor.Up]                          ; Включаем библиотечный сценарий GostLib
Painter(v) = [Painter(v).GuiLib.SimpleButton]                            ; Включаем библиотечный сценарий SimpleButton
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_32_32_24_silver.bmp ; Задаем фоновое изображение через barbmp
Hint = Compressor1 - Компрессор
[]
При отсутствии явного указания параметров, будут приняты значения по умолчанию: glCompressorBevel=4, glCompressorFillColor=clGray, glCompressorLineColor=clBlack.