Група - Блоки виведення на екран
Група "Блоки виведення на екран"
Ця група блоків призначена для організації інтерфейсу між контролером та оператором. Блоки дозволяють виводити інформацію на екран та вводити значення з клавіатури у вільному вигляді. Крім блоків виведення на екран існує спеціальний інструмент: SMArt. Він дозволяє створювати меню та екранні форми за лічені хвилини, не відволікаючи програміста на розміщення FBD-блоків.
Сумісний (символьний) режим виведення Залежно від моделі, екран контролера можна подати у двох режимах роботи. Символьному та графічному. Символьний режим дозволяє виводити літери, цифри та спеціальні символи у жорстко відведені області. Окрема така область називається "знайоме місце". У всіх контролерів, крім власних режимів виведення тексту та графіки, є єдиний сумісний режим виведення виключно алфавітно-цифрової інформації: У сумісному режимі екран дозволяє вивести всю інформацію в чотири рядки по 20 символів кожна . Блоки, що використовують сумісний режим, звуться SCREEN() і INPUT number . Проекти, зроблені з їх використанням, будуть абсолютно однаково незалежно від моделі контролера.
Особливості застосування блоків виведення на екран Блоки виведення на екран працюють не за принципом "показую на екрані" / "не показую на екрані". Насправді вони записують свій вміст на екран, або не записують. Сам екран при цьому пам'ятає все, що з ним відбувалося з моменту включення контролера. Таким чином, щоб змусити напис "блимати", потрібно поперемінно виводити на екран або потрібний текст, або кількість пробілів, що дорівнює розміру тексту. Розберемо з прикладу: є блок SCREEN(str). Блок містить напис "Привіт я SMH!". Довжина напису 14символів. Щоб змусити цей напис блимати, потрібно з постійним інтервалом виводити поперемінно або напис, або 14 пробілів. Що й досягається поперемінним виведенням нульової або першого рядка зі списку всередині блоку:



Опис Виводить один рядок символів на екран.
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 затирання області екрана не відбувається! Блок перестає працювати, але число залишається на екрані до тих пір, поки в це місце не буде виведено інше зображення. Якщо потрібно видалити число з екрана, потрібно на його місце вивести рівну кількість пробілів
Опис Введення числа з клавіатури.
Застосовується разом із одним із блоків опитування клавіатури (приклад введення тризначного числа):

При натисканні на Enter або Ok блок починає процедуру введення числа і виводить на екран миготливий курсор. Вихід ready набуває нульового значення, показуючи що розпочато введення числа. При введенні чисел або символів блок відображає їх на екрані, переміщуючи курсор на нову позицію праворуч від останнього введеного символу. При завершенні введення (повторне натискання на Enter або Ok) вихід ready набуває одиничного значення, показуючи що введення числа закінчено. Введені символи видаляються з екрана. Далі слідує дешифрування введеного числа. У разі нормального розпізнавання числа вихід sync набуває одиничного значення і введене значення можна побачити на виходах Int, Long та Real. Якщо число не розпізнане, sync залишиться в нульовому стані, на виходах Int, Long і Real будуть нулі. Введення порожнього рядка вважається за введення нуля.
ASCII - вхід до прийняття ASCII-коду
len -максимальна довжина числа, що вводиться
X - координата по горизонталі, з якої починається введення числа, діапазон від 0 до 19
Y - координата по вертикалі, з якої починається введення числа, діапазон від 0 до 3
int, long, real - виведення числа у відповідному форматі
ready - дорівнює 0 на початку введення. дорівнює 1 після закінчення будь-якого введення, в тому числі і якщо введення було скасовано ESC
sync - Видає 0 на початку введення. Видає 1 після закінчення успішного введення та отримання нового числа
Опис Виведення одного рядка символів на екран зі зміною шрифтів та ефектами виведення.
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 |
| • | SMH 2G, 2Gi: 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)

Опис Виведення на екран одного числа відповідного типу блоку. Висновок проводиться зі зміною шрифтів та ефектами.
enable – включення блоку. 1 - запис на екран дозволено, 0 - запис заборонено
value - число, яке необхідно вивести на екран в деякому форматі, що задається. Формат задається у діалоговому вікні властивостей блоку, яке викликається подвійним клацанням по блоку або через його контекстне меню
X - координата по горизонталі, з якої починається виведення числа, діапазон залежить від моделі контролера
Y - координата по вертикалі, з якої починається виведення числа, діапазон залежить від моделі контролера
Можливі значення координат для різних контролерів визначаються роздільною здатністю екрана:
| • | Pixel 25xx: X від 0 до 121, Y від 0 до 31 |
| • | SMH 2G, 2Gi: X від 0 до 191, Y від 0 до 63 |
font - вибір шрифту для виведення числа: 0 і 2 - стандартний шрифт 7х6, 1 - шрифт 5x4, 3 - шрифт 12х9
type – ефект при виведенні тексту: 0 – звичайний висновок із затиранням фону, 1 – прозорість, 2 – інверсія, 3 – прозорість та інверсія.
При заданні enable = 0 затирання області екрана не відбувається! Блок перестає працювати, але число залишається на екрані до тих пір, поки в це місце не буде виведено інше зображення. Якщо потрібно видалитичисло з екрана, потрібно на його місце вивести рівну кількість прогалин

Опис Виведення одного рядка символів на екран зі зміною шрифтів та ефектами виведення. Підтримується лише контролером Trim
enable – включення блоку. 1 - запис на екран дозволено, 0 - запис заборонено
sel – у властивостях блоку можна задати набір рядків для виведення. На екран виводиться рядок зі списку рядків блоку з порядковим номером, який відповідає числу на цьому вході. Нумерація починається з 0. При виставленні на вхід числа більшого, ніж номер останнього рядка у списку, відбувається зациклювання рядків. Наприклад, якщо у списку 3 рядки (№0, 1, 2), а на вході sel виставлено 4, то на дисплеї виведеться рядок №1, якщо sel = 5, то відобразиться рядок №2
X - координата по горизонталі, з якої починається виведення рядка, діапазон від 0 до 799
Y - координата по вертикалі, з якої починається виведення рядка, діапазон від 0 до 479