Кожна змінна в ПЛК автоматично отримує правильний тип даних. Перетворення потрібно налаштувати лише в інтерфейсі. У цьому розділі пояснюються різні типи Antcas Control.
Цей тип може мати лише два стани. Істинне або хибне. Замість змінної в застосуванні можна визначити значення TRUE (істинне) або FALSE (хибне).
Крім того, використовується спеціальний тип NULL. Цей стан встановлюється при ініціалізації змінної, тобто неописаної. Крім того, зі NULL можливо реалізувати спеціальні функції. Наприклад, якщо значення не можна передавати через інтерфейс.
Ціле число — це ціле число, наприклад, 0 або 26. Крім того, значення може бути від'ємним. Antcas Control працює з 64-бітною ПЛК, яка дозволяє обчислювати дуже великі числа. Найбільше число визначено константою INT_MAX (9223372036854775807). Найменше число вказано в INT_MIN або INT_MAX+1, оскільки знак використовує один біт. Всі числа за межами діапазону застосовуються в Float з експонентом. Тоді обчислення неточне.
Ціле число може отримати значення -0, яке не дорівнює FALSE. Однак перевірка функцією EQ(-0,0) дасть TRUE. При цьому -0 можна визначити лише як рядок '-0'.
Також можна безпосередньо визначити значення Hex. Воно починається з 0x або 0X. Наприклад, з 0xFF отримуємо 255.
Змінна Float або Real — це число з рухомою комою, наприклад, 0.1 або 22.005 (з крапкою). Підтримуються також експоненти. Наприклад, 10E2 для 1'000 або 10e-2 для 0.1. Регістр не має значення. Спроба перетворити число на ціле, оскільки обчислення простіше для ПЛК. Можливо, що при великих числах обчислення стануть неточними. Максимальна кількість знаків після коми жорстко обмежена до 14, щоб збільшити продуктивність ПЛК.
Числа з рухомою комою мають обмежену точність. Хоча це залежить від системи, Antcas Control зазвичай використовує Формат подвійної точності IEEE 754, який дає максимальну відносну похибку округлення порядку 1.11e-16. Однак неелементарні арифметичні операції можуть викликати більші помилки, і, звичайно ж, потрібно враховувати накопичення помилок, якщо кілька операцій об'єднуються.
Крім того, є раціональні числа, які можна точно представити як числа з рухомою комою з основою 10, наприклад 0.1 або 0.7, але для яких немає точного представлення як чисел з рухомою комою з основою 2, яке використовується внутрішньо незалежно від розміру мантиси. Тому їх не можна перетворити в їхнє внутрішнє двійкове представлення без незначного втрати точності. Це може призвести до плутанини: FLOOR((0.1+0.7)*10) зазвичай дасть 7 замість очікуваного результату 8, оскільки внутрішнє представлення є таким, як 7.9999999999999991118.
Тому ніколи не слід покладатися на числа з рухомою комою до останнього знаку після коми та ніколи безпосередньо перевіряти їх на рівність.
Рядок або рядок символів визначається одинарними лапками ' ' або подвійними лапками " ". Наприклад, 'Текст 1' або "Тест!". З функціональним блоком CONCAT можна об'єднати кілька рядків.
Перехід на новий рядок або розрив рядка можна створити за допомогою CTRL+Enter. Це представляється стрілкою ↵.
Символ екранування для вказання ' або " всередині самого рядка не потрібен. Рядок можна безпосередньо вказати як "Тут є знак " ".
Можливо, що спеціальні символи можна оголошувати безпосередньо. Для цього всередині рядка з подвійними лапками вказується наступна послідовність:
| Послідовність екранування | Скорочення ASCII |
|---|---|
| \\ | Екрановане \ |
| \n | LF |
| \r | CR |
| \r\n | CRLF |
| \0 | NUL |
| \t | TAB |
| \e | ESC |
| \f | FORMFEED |
| \x## | Довільний байт |
Наприклад, щоб оголосити довільний байт 126 або 7E як шістнадцяткове число, використовується наступний вираз: "\x7E". Цей рядок відповідає "~".
Тут 7E є заміщувальним значенням. Можна вказати всі значення всередині шістнадцяткових значень від 00 до FF. Зверніть увагу, що UTF-8 BOM "\xEF\xBB\xBF" зазвичай автоматично видаляється більшістю браузерів. Можливо приховати послідовність символів. Для цього використовується ведучий обернений слеш: "\\x7E" це відповідає '\x7E'.
Увага: Всі рядки за межами області UTF-8 не можуть зберігатися постійно. У живому режимі вони відображаються темно-фіолетовим кольором.
Дивіться також статтю Конвертація рядків у числа.
Визначає дату та час з DT#, наприклад, DT#2016-03-25-22:12:00. Часи перетворюються в ціле число в мілісекундах від дати 01.01.1970 (це значення у часовому поясі UTC/GMT).
Визначає дату з опівночі з D#, наприклад, D#2016-03-25. Часи перетворюються в ціле число в мілісекундах від дати 01.01.1970 (це значення у часовому поясі UTC/GMT).
Визначає час у мілісекундах з T#, наприклад, T#5d3h5m11s500ms. Часи перетворюються в ціле число в мілісекундах.
Масив не можна визначити безпосередньо. Однак можна робити відповідності змінної з точкою. Дивіться Змінні.
БАГАТО ВАЖЛИВО: Ніколи не визначайте значення нижче в масиві. Наприклад, set і set.p - ПЛК буде тут відключатися. Тому вона не працюватиме. Крім того, це може призвести до неочікуваних помилок.