Группа "Блоки вывода на экран"

Top  Previous  Next

Эта группа блоков предназначена для организации интерфейса между контроллером и оператором. Блоки позволяют выводить информацию на экран и вводить значения с клавиатуры в свободном виде.
 
Кроме блоков вывода на экран существует специальный инструмент: SMArt. Он позволяет создавать меню и экранные формы за считанные минуты, не отвлекая программиста на расстановку FBD-блоков.

 

Совместимый (символьный) режим вывода
 
В зависимости от модели, экран контроллера можно представить в двух режимах работы. Символьном и графическом.
 
Символьный режим позволяет выводить буквы, цифры и специальные символы в жёстко отведённые области. Отдельная такая область называется "знакоместо". У всех контроллеров, кроме собственных режимов вывода текста и графики, есть единый совместимый режим вывода исключительно алфавитно-цифровой информации:
 

 
В совместимом режиме экран позволяет вывести всю информацию в четыре строки по 20 символов каждая. Блоки, использующие совместимый режим, носят название SCREEN() и INPUT number. Проекты, сделанные с их использованием, будут выглядеть абсолютно одинаково вне зависимости от модели контроллера.

 

Особенности применения блоков вывода на экран
 
Блоки вывода на экран работают не по принципу "показываю на экране" / "не показываю на экране". На самом деле они либо записывают своё содержимое на экран, либо не записывают. Сам экран при этом "помнит" всё, что с ним происходило с момента включения контроллера. Таким образом, чтобы заставить надпись "мигать", нужно попеременно выводить на экран либо нужный текст, либо равное размеру текста количество пробелов.
 
Разберём на примере: есть блок SCREEN(str). Блок содержит надпись "Привет, я SMH!". Длина надписи 14 символов. Чтобы заставить эту надпись мигать, нужно с постоянным интервалом попеременно выводить либо надпись, либо 14 пробелов. Что и достигается попеременным выводом нулевой или первой строки из списка внутри блока:
 

 
Кроме необходимости стирания ненужной информации с экрана, также существует необходимость слежения за перекрыванием друг друга выводимых на экран изображений. Если, конечно, это сделано не специально.
 
Разберём на примере: два блока SCREEN(str) выводят текст в одну и ту же строку экрана. Первый блок выводит надпись "Привет,я SMH!" с нулевого символа, второй блок выводит надпись "Да,привет!" с десятого. В надписи "Да,привет!" десять символов, т.е. получается, что надпись выводится в самом конце строки. Вывод конечного изображения можно поэтапно изобразить следующим образом:
 

 
Жёлтым цветом выделена область, где надписи наложились друг на друга. Блок, имеющий более большой порядковый номер (правый), "затрёт" то, что выводил блок с меньшим порядковым номером (левый). Это происходит потому, что все блоки выполняются один за другим по порядку следования номеров. Сначала надпись на экран вывел первый блок, затем второй.
 
Области наложения особенно ярко проявляют себя на контроллерах модели SMH2010. В этой модели нет промежуточного буфера экрана, поэтому обе надписи будут перемигиваться или даже "мелькать" с высокой частотой, зависящей от скорости выполнения программы контроллером.
 
Описанные выше особенности позволяют экономить ресурсы контроллера. Экономия достигается следующим образом: для того, чтобы вывести надпись совсем необязательно держать блок вывода включенным непрерывно. Некоторые блоки (например, вывод на экран графического изображения или вывод числа формата real) тратят при своей работе довольно-таки существенные ресурсы.
 
Изображённые ниже две схемы тождественны. Т.е. внешне работают совершенно одинаково: при включении контроллера на его экране появляется число "123.4567". Но разница в потребляемых ресурсах существенна!
 

 
Левая схема непрерывно потребляет около 1.5 мсек процессорного времени контроллера Pixel-25. Правая же схема практически ничего не потребляет, т.к. затратила те же 1.5 мсек единожды и только при включении контроллера. Далее блок вывода отключается и не участвует в работе программы. Экран же "помнит" выведенную информацию.

 

SCREEN (str)

Описание. Вывод одной строки символов на экран.

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

sel - в свойствах блока можно задать набор строк для вывода. На экран выводится строка из списка строк блока с порядковым номером, соответствующим числу на этом входе. Нумерация начинается с 0. При выставлении на вход числа, большего, чем номер последней строки в списке, происходит зацикливание строк. Например, если в списке 3 строки (№0, 1, 2), а на входе sel выставлено 4, то на дисплей выведется строка №1, если sel = 5, то отобразится строка №2

X - координата по горизонтали, с которой начинается вывод строки, диапазон от 0 до 19

Y - координата по вертикали, с которой начинается вывод строки, диапазон от 0 до 3

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но строка остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить надпись с экрана, нужно на её место вывести равное количество пробелов


SCREEN (int), SCREEN (long), SCREEN (real)

Описание. Вывод на экран одного числа соответствующего блоку типа.

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

value  - число, которое необходимо вывести на экран в некотором задаваемом формате. Формат задается в диалоговом окне свойств блока, которое вызывается двойным щелчком по блоку или через его контекстное меню

X - координата по горизонтали, с которой начинается вывод числа, диапазон от 0 до 19

Y - координата по вертикали, с которой начинается вывод числа, диапазон от 0 до 3

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но число остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить число с экрана, нужно на его место вывести равное количество пробелов


SCREEN2G (str)

Описание. Вывод одной строки символов на экран co сменой шрифтов и эффектами вывода.

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

sel  - в свойствах блока можно задать набор строк для вывода. На экран выводится строка из списка строк блока с порядковым номером, соответствующим числу на этом входе. Нумерация начинается с 0. При выставлении на вход числа, большего, чем номер последней строки в списке, происходит зацикливание строк. Например, если в списке 3 строки (№0, 1, 2), а на входе sel выставлено 4, то на дисплей выведется строка №1, если sel = 5, то отобразится строка №2

X - координата по горизонтали, с которой начинается вывод строки, диапазон зависит от модели контроллера

Y - координата по вертикали, с которой начинается вывод строки, диапазон зависит от модели контроллера

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X от 0 до 121, Y от 0 до 31
SMH2G, SMH2G(i): X от 0 до 191, Y от 0 до 63

font - выбор шрифта для вывода текста: 0 и 2 - шрифт по умолчанию 7х6, 1 - ничего не выводит, 3 - шрифт 12х9

type - эффект при выводе текста: 0 - обычный вывод с затиранием фона, 1 - прозрачность, 2 - инверсия, 3 - прозрачность и инверсия

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но строка остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить надпись с экрана, нужно на её место вывести равное количество пробелов


SCREEN2G (int), SCREEN2G (long), SCREEN2G (real)

Описание. Вывод на экран одного числа соответствующего блоку типа. Вывод производится co сменой шрифтов и эффектами.

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

value  - число, которое необходимо вывести на экран в некотором задаваемом формате. Формат задается в диалоговом окне свойств блока, которое вызывается двойным щелчком по блоку или через его контекстное меню

X - координата по горизонтали, с которой начинается вывод числа, диапазон зависит от модели контроллера

Y - координата по вертикали, с которой начинается вывод числа, диапазон зависит от модели контроллера

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X от 0 до 121, Y от 0 до 31
SMH2G, SMH2G(i): X от 0 до 191, Y от 0 до 63

font - выбор шрифта для вывода числа: 0 и 2 - шрифт по умолчанию 7х6, 1 - шрифт 5x4, 3 - шрифт 12х9

type - эффект при выводе текста: 0 - обычный вывод с затиранием фона, 1 - прозрачность, 2 - инверсия, 3 - прозрачность и инверсия.

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но число остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить число с экрана, нужно на его место вывести равное количество пробелов


ScreenTrim (str)

Описание. Вывод одной строки символов на экран co сменой шрифтов и эффектами вывода. Поддерживается контроллерами SMH4, Trim5

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

sel  - в свойствах блока можно задать набор строк для вывода. На экран выводится строка из списка строк блока с порядковым номером, соответствующим числу на этом входе. Нумерация начинается с 0. При выставлении на вход числа, большего, чем номер последней строки в списке, происходит зацикливание строк. Например, если в списке 3 строки (№0, 1, 2), а на входе sel выставлено 4, то на дисплей выведется строка №1, если sel = 5, то отобразится строка №2

X - координата по горизонтали, с которой начинается вывод строки.

Контроллер

Диапазон

SMH4

X от 0 до 479

Trim5

X от 0 до 799

Y - координата по вертикали, с которой начинается вывод строки.

Контроллер

Диапазон

SMH4

Y от 0 до 271

Trim5

Y от 0 до 479

font - выбор шрифта для вывода текста:

Значение

Шрифт

0 и 2

шрифт SMH 7х6 (для совместимости)

1

ничего не выводит

3

шрифт SMH 12х9 (для совместимости)

4

Liberation Sans

5

Liberation Serif

6

Liberation Mono

7

Liberation Sans Narrow

 

type - эффект при выводе текста: 0 - обычный вывод с затиранием фона, 1 - прозрачность

FontStyle - стиль шрифта (применимо для шрифтов #4-7 Liberation):

Значение

Шрифт

0

обычный шрифт

1

жирный

2

курсив

3

жирный курсив

FontSize - размер шрифта в пикселях

FontColor - цвет шрифта. См. Задание цвета

BackColor - цвет фона текста (применимо при type=0). См. Задание цвета

 

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но строка остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить надпись с экрана, нужно на её место вывести равное количество пробелов


ScreenTrim (int), ScreenTrim (long), ScreenTrim (real)

Описание. Вывод на экран одного числа соответствующего блоку типа. Вывод производится co сменой шрифтов и эффектами. Поддерживается контроллерами SMH4, Trim5

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

value  - число, которое необходимо вывести на экран в некотором задаваемом формате. Формат задается в диалоговом окне свойств блока, которое вызывается двойным щелчком по блоку или через его контекстное меню

X - координата по горизонтали, с которой начинается вывод строки.

Контроллер

Диапазон

SMH4

X от 0 до 479

Trim5

X от 0 до 799

Y - координата по вертикали, с которой начинается вывод строки.

Контроллер

Диапазон

SMH4

Y от 0 до 271

Trim5

Y от 0 до 479

font - выбор шрифта для вывода текста:

Значение

Шрифт

0 и 2

шрифт SMH 7х6 (для совместимости)

1

шрифт SMH 5x4

3

шрифт SMH 12х9 (для совместимости)

4

Liberation Sans

5

Liberation Serif

6

Liberation Mono

7

Liberation Sans Narrow

type - эффект при выводе текста: 0 - обычный вывод с затиранием фона, 1 - прозрачность

FontStyle - стиль шрифта (применимо для шрифтов #4-7 Liberation):

Значение

Шрифт

0

обычный шрифт

1

жирный

2

курсив

3

жирный курсив

FontSize - размер шрифта в пикселях

FontColor - цвет шрифта. См. Задание цвета

BackColor - цвет фона текста (применимо при type=0). См. Задание цвета

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но число остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить число с экрана, нужно на его место вывести равное количество пробелов


USER_SYMBOL

Описание. Блок предназначен создания произвольных символов. Вывод символа на экран производится блоком Screen (str). В выводимой строке символ обозначается кодом  в диапазоне {01}...{08}. Созданный символ при выключении питания теряется.

Только для контроллера SMH2010

Входы:

clk - единица на входе сохраняет символ в видеопамяти

addr  - вход определяет какой по порядку символ будет формироваться, диапазон от 1 до 8

line1 - line8 - входы определяют битовую маску для построения символа. Входы могут принимать значения от 0 до 31. Верхнему ряду точек соответствует line1

Выходы:

syn - устанавливается в 1, когда блок сформировал символ в видеопамяти

Значения на входах lineX для наглядности удобнее задавать в бинарном формате

Пример создания символа с кодом {01}:

 


Picture

           

Описание. Вывод изображений на экран контроллера. Вывод производится c эффектами.

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

sel  - в свойствах блока можно задать набор изображений для вывода. На экран выводится изображение из списка с порядковым номером, соответствующим числу на этом входе. Нумерация начинается с 0. При выставлении на вход числа, большего, чем номер последнего изображения в списке, происходит зацикливание. Например, если в списке 3 изображения (№0, 1, 2), а на входе sel выставлено 4, то на дисплей выведется изображение №1, если sel = 5, то отобразится изображение №2

X - координата по горизонтали, с которой начинается вывод числа, диапазон зависит от модели контроллера

Y - координата по вертикали, с которой начинается вывод числа, диапазон зависит от модели контроллера

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X от 0 до 121, Y от 0 до 31
SMH2G, SMH2G(i): X от 0 до 191, Y от 0 до 63
SMH4: X от 0 до 479, Y от 0 до 271
Trim5: X от 0 до 799, Y от 0 до 479

type - эффект при выводе изображения: 0 - обычный вывод с затиранием фона, 1 - прозрачность, 2 - инверсия, 3 - прозрачность и инверсия. Для Trim5 прозрачность определяется наличием альфа-канала в изображении.

angle - угол поворота изображения (в радианах). Только SMH4 и Trim

X center, Y center - координаты центра вращения изображения (используется при повороте с помощью входа angle). Пределы значений такие же, как у входов X,Y.

 

При задании enable = 0 затирания области экрана не происходит! Блок перестаёт работать, но изображение остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение. Если требуется удалить изображение с экрана, нужно на его место вывести пустое изображение

Блок поддерживает следующие форматы файлов изображений: JPEG, GIF, BMP и PNG

Глубина цвета: 1 (монохромный рисунок), 8 bit, 24 bit и 32 bit.

Максимальный размер изображения:

Pixel 25xx: 128 X 32
SMH2G, SMH2G(i): 192 X 64
SMH4: 480 X 272
Trim5: 800 X 480

INPUT number 2G

Описание. Ввод числа с клавиатуры. Ввод производится co сменой шрифтов и эффектами.

При нажатии на Enter или Ok, блок начинает процедуру ввода числа и выводит на экран мигающий курсор. Выход ready принимает нулевое значение, показывая что начат ввод числа. При вводе чисел или знаков блок отображает их на экране, перемещая курсор на новую позицию справа от последнего введённого символа. При завершении ввода (повторное нажатие на Enter или Ok) выход ready принимает единичное значение, показывая что ввод числа окончен. Введённые символы с экрана удаляются. Далее следует дешифровка введённого числа. В случае нормального распознавания числа выход sync принимает единичное значение и введённое значение можно увидеть на выходах Int, Long и Real. Если число не распознано, то sync останется в нулевом состоянии, на выходах Int, Long и Real будут нули. Ввод пустой строки считается за введение нуля.

Входы:

ASCII - вход для принятия ASCII-кода

len - максимальная длина вводимого числа

X - координата по горизонтали, с которой начинается ввод числа, диапазон зависит от модели контроллера

Y - координата по вертикали, с которой начинается ввод числа, диапазон зависит от модели контроллера

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X от 0 до 121, Y от 0 до 31
SMH2G, SMH2G(i): X от 0 до 191, Y от 0 до 63

Выходы:

int, long, real - вывод числа в соответствующем формате

ready - равен 0 при начале ввода. Равен 1 по окончании любого ввода, в том числе и если ввод был отменен по ESC

sync -  Выдает 0 при начале ввода. Выдает 1 по окончании успешного ввода и получении нового числа

font - шрифт вывода: 0 и 2 - шрифт по умолчанию 7х6, 1 - шрифт 5x4, 3 - шрифт 12х9

style -  при значении на входе 0 - обычный вывод с затиранием фона, 1 - прозрачность, 2 - инверсия, 3 - прозрачность и инверсия

Выходы:

int, long, real - вывод числа в соответствующем формате

ready - равен 0 при начале ввода. Равен 1 по окончании любого ввода, в том числе и если ввод был отменен по ESC

sync -  Выдает 0 при начале ввода. Выдает 1 по окончании успешного ввода и получении нового числа


PutPixel

Описание. Выводит точку (пиксель) по заданным координатам

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

on off - включает или выключает выбранный пиксель

X - координата по горизонтали, с которой начинается ввод числа, диапазон зависит от модели контроллера

Y - координата по вертикали, с которой начинается ввод числа, диапазон зависит от модели контроллера

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 12xx, 25xx: X от 0 до 121, Y от 0 до 31
SMH2G, SMH2G(i): X от 0 до 191, Y от 0 до 63
SMH4: X от 0 до 479, Y от 0 до 271
Trim5: X от 0 до 799, Y от 0 до 479

При задании enable = 0 выключения пикселя не происходит! Блок перестаёт работать, но пиксель остаётся включенным или выключенным до тех пор, пока в это же место не будет выведено другое изображение


PutRect

Описание. Выводит прямоугольник по заданным координатам

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

fon - выбор режима вывода прямоугольника:

0 - непрозрачный прямоугольник цвета фона (светлый)

 

1 - непрозрачный прямоугольник цвета текста (тёмный)

 

2 - инверсия прямоугольной области. То что было тёмным станет светлым и наоборот

 

3 - прозрачный (полый) прямоугольник с рамкой

 

4 - непрозрачный светлый прямоугольник с рамкой

 

5 - непрозрачный прямоугольник с рамкой и закрашиванием в шахматном порядке

 

6 - прозрачный прямоугольник с эффектом "бегущих муравьев" на рамке

 

7 - непрозрачный светлый прямоугольник с эффектом "бегущих муравьев" на рамке

 

8 - непрозрачный прямоугольник с закрашиванием в шахматном порядке, рамка с эффектом "бегущих муравьев"

 

X, Y - координаты левого-верхнего угла прямоугольника

X1, Y1 - координаты противоположного по диагонали угла

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X,X1 от 0 до 121, Y,Y1 от 0 до 31
SMH2G, SMH2G(i): X,X1 от 0 до 191, Y,Y1 от 0 до 63

При задании enable = 0 восстановления области экрана не происходит! Блок перестаёт работать, но изображение остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение


Line

Описание. Выводит линию на экран

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

type - тип линии:

 0 - линия цвета фона (светлая)

 1 - линия  цвета текста (тёмная)

 2 - пунктирная линия

width - толщина линии. При задании нулевой толщины линия не будет нарисована

X, Y - координаты начала линии

X1, Y1 - координаты конца линии

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X,X1 от 0 до 121, Y,Y1 от 0 до 31
SMH2G, SMH2G(i): X,X1 от 0 до 191, Y,Y1 от 0 до 63
SMH4: X,X1 от 0 до 479, Y,Y1 от 0 до 271
Trim5: X,X1 от 0 до 799, Y,Y1 от 0 до 479

При задании enable = 0 стирания линии не происходит! Блок перестаёт работать, но изображение остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение

 


PutRect (Trim)

Описание. Выводит прямоугольник по заданным координатам. Поддерживается контроллерами SMH4, Trim5

Входы:

enable - включение блока. 1  - запись на экран разрешена, 0 - запись запрещена

fon - выбор режима вывода прямоугольника:

 0 - непрозрачный прямоугольник заданного цвета фона с рамкой заданного цвета

 1 - прозрачный прямоугольник с рамкой заданного цвета

 2 - непрозрачный прямоугольник с рамкой и закрашиванием в шахматном порядке

 3 - прозрачный прямоугольник с эффектом "бегущих муравьев" на рамке

 4 - непрозрачный прямоугольник с эффектом "бегущих муравьев" на рамке

Gradient - режим градиента (0-выключен, 1-горизонтальный, 2-вертикальный)

X, Y - координаты левого верхнего угла прямоугольника

X1, Y1 - координаты противоположного по диагонали угла

FrameWidth - Толщина рамки

FrameColor - десятичное представление цвета рамки. См Задание цвета

FonColor0 - десятичное представление цвета фона (начальное) См Задание цвета

FonColor1 - десятичное представление цвета фона (конечное) См Задание цвета

   Возможные значения координат для разных контроллеров определяются разрешением экрана:

SMH4: X,X1 от 0 до 479, Y,Y1 от 0 до 271
Trim5: X,X1 от 0 до 799, Y,Y1 от 0 до 479

При задании enable = 0 восстановления области экрана не происходит! Блок перестаёт работать, но изображение остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение


Line (Trim)

Описание. Выводит линию на экран. Поддерживается контроллерами SMH4, Trim5

Входы:

enable - включение блока. 1 - запись на экран разрешена, 0 - запись запрещена

type - тип линии:

 0 - линия цвета фона (светлая)

 1 - линия  цвета текста (тёмная)

 2 - пунктирная линия

width - толщина линии. При задании нулевой толщины линия не будет нарисована

X, Y - координаты начала линии

X1, Y1 - координаты конца линии

color0 - цвет линии начальный

color1 - цвет линии конечный. При задании различных с входом color0 значений линия заливается линейным градиентом от color0 к color1.

 

Возможные значения координат для разных контроллеров определяются разрешением экрана:

SMH4: X,X1 от 0 до 479, Y,Y1 от 0 до 271
Trim5: X,X1 от 0 до 799, Y,Y1 от 0 до 479

При задании enable = 0 стирания линии не происходит! Блок перестаёт работать, но изображение остаётся на экране до тех пор, пока в это же место не будет выведено другое изображение


RealTrend

 

Описание. Предназначен для вывода на экран контроллера графика реального времени - "тренда". График хранится в оперативной памяти, поэтому уже построенное изображение полностью очищается при выключении питания. Блок строит одну или две кривые - "перья", называемые pen1 и pen2:

 

Входы:

enable - включение блока. 1 - блок выполняется, 0 - блок не выполняется

reset - стирание области вывода графика и сброс буферов

cmd1 - управление пером pen1:

0 - отображение pen1 на графике

1 - скрывание pen1

2 - ручное управление отображением с помощью входа blink

cmd2 - управление пером pen2:

0 - отображение pen2 на графике

1 - скрывание pen2

2 - ручное управление отображением с помощью входа blink

height - высота области вывода графика

width - ширина области вывода графика

blink - управление миганием перьев, при задании 1 перья выводятся, при задании 0 - не выводятся

show data - управление отображением перьев. При значении 0 оба пера скрыты, 1 - оба пера выводятся на график

write data - управление записью данных. При значении 0 поступающие данные не принимаются блоком, тренд останавливается, 1 - поступающие данные записываются в память и могут быть выведены на экран. Диапазон принимаемых данных задаётся на входах min и max, минимум расположен внизу графика, максимум вверху

num pen - число перьев в блоке. При значении 0 или 1 выводит только pen1, при значении 2 и больше выводит pen1 и pen2

pen1 - данные для пера 1

pen2 - данные для пера 2

x - горизонтальная координата левого-верхнего угла области вывода

y - вертикальная координата левого-верхнего угла области вывода

Возможные значения координат для разных контроллеров определяются разрешением экрана:

Pixel 25xx: X,X1 от 0 до 121, Y,Y1 от 0 до 31
SMH2G, SMH2G(i): X,X1 от 0 до 191, Y,Y1 от 0 до 63
SMH4: X,X1 от 0 до 479, Y,Y1 от 0 до 271
Trim5: X,X1 от 0 до 799, Y,Y1 от 0 до 479

cursor - координата позиции курсора по оси X относительно начала области вывода тренда. Для этой позиции у каждого тренда имеется одно значение по оси Y. Это значение выводится на выходы pen 1 cursor и pen 2 cursor

max - максимальное выводимое значение по оси Y

min - минимальное выводимое значение по оси Y

discret - расстояние в пикселях между двумя отдельными точками тренда, при включенном свойстве pen N line, данные точки будут соединяться линиями

pen1 line - при значении 0 выводит перо точками, при значении 1 - соединяет точки линиями, 2 и более - толщина линии в пикселях

pen2 line - при значении 0 выводит перо точками, при значении 1 - соединяет точки линиями, 2 и более - толщина линии в пикселях

pen1 color - Только для SMH4, Trim5. Цвет линии. См.Задание цвета

pen2 color - Только для SMH4, Trim5. Цвет линии. См.Задание цвета

alpha - прозрачность. 0 - график непрозрачен.  1 - выводит график поверх имеющихся на экране объектов, не стирая их

ВЫХОДЫ

pen 1 cursor - значение по оси Y пера 1 по координате X, равной значению входа cursor

pen 2 cursor - значение по оси Y пера 2 по координате X, равной значению входа cursor

 

Пример применения:

 

Данный вид тренда обеспечивается следующей схемой (блок raise применён для экономии ресурсов):

 


ClrScr

Описание. Предназначен для очистки всего экрана.

Входы:

en - очистка экрана происходит пока на входе держится логическая 1

back color - поддерживается в SMH4, Trim5. Цвет, которым будет выполнена заливка всего экрана для очистки.