| Вид, Название, Аргументы | Описание, Примеры, Комментарии |
|---|---|
|
[Painter(v).DaqLib.RadiationHazard] Аргументы: 1) glRadiationHazardBevel - толщина отступа (2) 2) glRadiationHazardBackColor - цвет фона (clYellow) 3) glRadiationHazardFillColor - цвет изображения (clBlack) |
Знак Радиационная опасность.
Геометрия и окраска знака соответсвует ГОСТ 17925-72 и ГОСТ 12.4.026-2015, Приложение Ж1, пункт W05,
однако он (для уменьшения размеров) не помещен в треугольник (как в предупреждающих знаках ГОСТ).
Пример:
[SensorList]
Sensor = RadiationHazard
[RadiationHazard]
Pos = 10, 10
Painter(v) = (glRadiationHazardBevel=2)+(glRadiationHazardBackColor=clYellow)+(glRadiationHazardFillColor=clBlack)
Painter(v) = [Painter(v).DaqLib.RadiationHazard]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo RadiationHazard
[]
|
|
[Painter(v).DaqLib.AirBlower.Right] [Painter(v).DaqLib.AirBlower.Up] [Painter(v).DaqLib.AirBlower.Left] [Painter(v).DaqLib.AirBlower.Down] Аргументы: 1) glAirBlowerBevel - толщина отступа (2) 2) glAirBlowerLineWidth - толщина линий контура (2) 3) glAirBlowerFillColor - цвет заполнения (clSilver) 4) glAirBlowerLineColor - цвет линий контура (clBlack) |
Знак Воздуходувка.
Пример:
[SensorList]
Sensor = AirBlower.Right
[AirBlower.Right]
Pos = 60 10
Painter(v) = (glAirBlowerBevel=2)+(glAirBlowerLineWidth=2)+(glAirBlowerFillColor=clLime)+(glAirBlowerLineColor=clBlack)
Painter(v) = [Painter(v).DaqLib.AirBlower.Right]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo AirBlower.Right
[]
|
|
[Painter(v).DaqLib.FanBlower.Right] [Painter(v).DaqLib.FanBlower.Up] [Painter(v).DaqLib.FanBlower.Left] [Painter(v).DaqLib.FanBlower.Down] Аргументы: 1) glFanBlowerBevel - толщина отступа (2) 2) glFanBlowerLineWidth - толщина линий контура (2) 3) glFanBlowerFillColor - цвет заполнения (clSilver) 4) glFanBlowerLineColor - цвет линий контура (clBlack) |
Знак Вытяжной вентилятор.
Пример:
[SensorList]
Sensor = FanBlower.Right
[FanBlower.Right]
Pos = 260 10
Painter(v) = (glFanBlowerBevel=2)+(glFanBlowerLineWidth=2)+(glFanBlowerFillColor=clLime)+(glFanBlowerLineColor=clBlack)
Painter(v) = [Painter(v).DaqLib.FanBlower.Right]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo FanBlower.Right
[]
|
|
[Painter(v).DaqLib.WaterPump.Right] [Painter(v).DaqLib.WaterPump.Up] [Painter(v).DaqLib.WaterPump.Left] [Painter(v).DaqLib.WaterPump.Down] Аргументы: 1) glWaterPumpBevel - толщина отступа (2) 2) glWaterPumpLineWidth - толщина линий контура (2) 3) glWaterPumpFillColor - цвет заполнения (clSilver) 4) glWaterPumpLineColor - цвет линий контура (clBlack) |
Знак Водяной насос.
Пример:
[SensorList]
Sensor = WaterPump.Right
[WaterPump.Right]
Pos = 460 10
Painter(v) = (glWaterPumpBevel=2)+(glWaterPumpLineWidth=2)+(glWaterPumpFillColor=clLime)+(glWaterPumpLineColor=clBlack)
Painter(v) = [Painter(v).DaqLib.WaterPump.Right]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo WaterPump.Right
[]
|
|
[Painter(v).DaqLib.TankLevel] Аргументы: 1) glTankLevelBevel - толщина отступа (2) 2) glTankLevelLineWidth - толщина линий контура (2) 3) glTankLevelFillColor - цвет заполнения (clTeal) 4) glTankLevelBackColor - цвет фона (clSilver) 5) glTankLevelLineColor - цвет линий контура (clBlack) 5) glTankLevelPercent - уровень заполнения в процентах (0) |
Знак Уровень жидкости.
Изображает бак (емкость, tank) с некоторым уровнем заполнения (level) жидкостью от 0 до 100 процентов.
Пример:
[SensorList]
Sensor = TankLevel
[TankLevel]
Pos = 10 60
Painter(v) = (glTankLevelBevel=2)+(glTankLevelLineWidth=2)+(glTankLevelFillColor=clTeal)+(glTankLevelBackColor=clSilver)
Painter(v) = (glTankLevelLineColor=clBlack)+(glTankLevelPercent=0)
Painter(v) = [Painter(v).DaqLib.TankLevel]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo TankLevel
[]
Для вычисления уровня заполнения бака и цвета жидкости могут использоваться выражения DaqScript.
Например, в данном случае жидкость отображается красной или зеленой, если уровень (v)
ниже или выше 20:
Painter(v) = (glTankLevelPercent=v)+(glTankLevelFillColor=clRed*le(v,20)+clLime*gt(v,20))
|
|
[Painter(v).DaqLib.FlowMeter.Right] [Painter(v).DaqLib.FlowMeter.Up] [Painter(v).DaqLib.FlowMeter.Left] [Painter(v).DaqLib.FlowMeter.Down] Аргументы: 1) glFlowMeterBevel - толщина отступа (2) 2) glFlowMeterLineWidth - толщина линий контура (2) 3) glFlowMeterFillColor - цвет заполнения (clSilver) 4) glFlowMeterLineColor - цвет линий контура (clBlack) |
Знак Расходомер. Вертикальный (Up,Down) вид примерно соответствует ГОСТ 2.781-96, Таблица 5.17.
Пример:
[SensorList]
Sensor = FlowMeter.Right
[FlowMeter.Right]
Pos = 60 60
Painter(v) = (glFlowMeterBevel=2)+(glFlowMeterLineWidth=2)+(glFlowMeterFillColor=clLime)+(glFlowMeterLineColor=clBlack)
Painter(v) = [Painter(v).DaqLib.FlowMeter.Right]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo FlowMeter.Right
[]
|
|
[Painter(v).DaqLib.ManoMeter] Аргументы: 1) glManoMeterBevel - толщина отступа (2) 2) glManoMeterLineWidth - толщина линий контура (2) 3) glManoMeterFillColor - цвет заполнения (clSilver) 4) glManoMeterLineColor - цвет линий контура (clBlack) 5) glManoMeterAngle - угол поворота стрелки (45°) |
Знак Манометр.
Угол поворота стрелки отсчитывается в градусах против часовой стрелки от правой горизонтали (как в триганометрии).
При угле glManoMeterAngle=135 вид примерно соответствует ГОСТ 2.781-96, Таблица 5.2.
Пример:
[SensorList]
Sensor = ManoMeter
[ManoMeter]
Pos = 260 60
Painter(v) = (glManoMeterBevel=2)+(glManoMeterLineWidth=2)+(glManoMeterFillColor=clLime)+(glManoMeterLineColor=clBlack)+(glManoMeterAngle=45)
Painter(v) = [Painter(v).DaqLib.ManoMeter]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo ManoMeter
[]
|
|
[Painter(v).DaqLib.UniHeater] Аргументы: 1) glUniHeaterBevel - отступ нагревателя от края изображения (2) 2) glUniHeaterColor - цвет нагревателя (clBlack) |
UniHeater рисует "универсальный нагреватель" - стилизованное изображение спирального нагревателя,
намотанного вокруг цилиндрического сердечника.
Пример:
[SensorList]
Sensor = UniHeater
[UniHeater]
Pos = 310 60
Painter(v) = (glUniHeaterBevel=2)+(glUniHeaterColor=clBlack)
Painter(v) = [Painter(v).DaqLib.UniHeater]
Painter(v) = [Painter(v).GuiLib.SimpleBorder]
Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp
Hint = Demo UniHeater
[]
|
[ConfigFileList] ; Include the Painter GUI Library ; Для доступа к библиотеке ConfigFile = ~~\Resource\DaqSite\Default\Painter.crc ; Включаем Painter.crc [] [Circuit.StartupScript] ; Здесь задаются начальные значения demo_parameter = 0 ; параметров и переменных, если они нужны []Для использования графических элементов Painter(v) в сенсоре надо задать параметры, а затем вставить секцию элемента, т.е. его имя в квадратных скобках [..]. Секция извлекается из библиотеки Painter.crc и содержит текст сценария, рисующего графический элемент. Например:
[SensorList] ; в списке сенсоров Sensor = ManoMeter ; объявляем сенсор [ManoMeter] ; и описываем его: Pos = 260 60 ; задаем координаты Painter(v) = (glManoMeterBevel=2)+(glManoMeterLineWidth=2)+(glManoMeterFillColor=clLime) ; задаем параметры элемента Painter(v) = (glManoMeterLineColor=clBlack)+(glManoMeterAngle=45) ; и еще параметры элемента Painter(v) = [Painter(v).DaqLib.ManoMeter] ; вставляем секцию элемента Tag#1 = 0, ~~\Resource\DaqSite\StdLib\Bitmaps\barbmp_48_48_4_silver.bmp ; задаем холст для рисования Hint = Demo ManoMeter ; и комментарий [] ; всё готово!Для задания холста (пустого изображения, "подложки" для рисования на нем) используется утилита barbmp или ledbmp, для вызова которой достаточно указать специальное имя BMP-файла:
path\barbmp_sx_sy_cd_cl.bmp - для задания изображения в пикселях
или
path\ledbmp_cw_pt_cd_cl_fn.bmp - для задания изображения в размерах заданного фонта
где
path - существующий каталог, например ~~\Resource\DaqSite\StdLib\Bitmaps
barbmp - ссылка на утилиту barbmp
ledbmp - ссылка на утилиту ledbmp
sx,sy - размеры изображения в пикселях (size x, size y)
cw,pt - ширина текстового поля в символах (char width) и размер фонта (pt)
cd,cl - битность цвета (color depth) и цвет (color) изображения
fn - имя фонта без пробелов
При вычислении выражений часто используется присвоение =, скобки (), операторы + - * / ^ %,
логические функции eq, ne, gt, ge, lt, le, isbit, not.
Скобки, операторы и присвоение позволяют объединять несколько выражений в одной строке,
а логические функции позволяют задавать довольно сложные логические выражения.
Например:
Painter(v) = (glManoMeterBevel=2)+(glManoMeterLineWidth=2) ; задаем два параметра в одном выражении Painter(v) = (glManoMeterFillColor=clLime*le(v,10)+clRed*gt(v,10)) ; зеленый/красный, если v меньше/больше 10Напоминаем, что в переменной v содержится значение источника данных сенсора, то есть присоединенного тега или кривой.