Minden változó az SPS-ben automatikusan kapja meg a megfelelő adattípust. Az átalakítást csak a felületen kell beállítani. Ebben a fejezetben a különböző típusokat magyarázzuk el az Antcas Control-ban.
Ez a típus csak két állapotot vehet fel. Igaz vagy hamis. Az alkalmazásban helyettesíthető egy változóval, amelyik értéke TRUE (igaz) vagy FALSE (hamis).
Azonban a különleges típusként is használható NULL. Ez az állapot beállítva lesz egy változó inicializálásakor, vagyis ha nem írunk bele. Emellett NULL segítségével különleges funkciók is lehetségesek. Például akkor, amikor nincs értéket küldeni a felületen.
Egy Integer egy egész szám, mint például 0 vagy 26. Továbbá a érték negatív is lehet. Az Antcas Control egy 64 bites SPS-t használ, amely nagyon nagy számok számítását teszi lehetővé. A legnagyobb szám az INT_MAX (9223372036854775807) állandóval van meghatározva. A legkisebb szám az INT_MIN vagy INT_MAX+1, mivel a előjel egy bitet használ. Minden számon kívül a tartományban egy Float-tal és egy exponenttel alkalmazzák. Ekkor a számítás pontatlan.
Egy Integer értéket kaphat -0, amely nem egyenlő FALSE. Azonban az EQ(-0,0) függvény vizsgálata eredményezi TRUE. Ekkor -0 csak karakterláncként '-0' definiálható.
Egy Hex értéket is közvetlenül definiálhatunk. Ez kezdőjelként 0x vagy 0X. Például a 0xFF akkor 255-t eredményez.
Egy Float vagy Real érték egy tizedes tört, mint például 0.1 vagy 22.005 (ponttal). Támogatottak az exponentek is. Például 10E2 a 1'000-nak vagy 10e-2 a 0.1-nek felel meg. A nagy és kis betűk nem számítanak. Az Antcas Control próbálja az értéket Integerré alakítani, mivel ez egyszerűbb az SPS számára. Előfordulhat, hogy a számítások nagy számoknál pontatlanok lesznek. A tizedesjegyek maximális száma fixen 14-re van korlátozva, hogy növelje az SPS teljesítményét.
A lebegőpontos számoknak korlátos pontosságuk van. Bár ez a rendszertől függ, az Antcas Control általában az IEEE 754 Double Precision Formátumot használja, amely egy maximális relatív kerekítési hiba nagyságrendjét eredményezi 1.11e-16-ban. Azonban nem elemi aritmetikai műveletek nagyobb hibákat okozhatnak és természetesen figyelembe kell venni a hiba terjedését, ha több műveletet összekötünk.
Továbbá léteznek racionális számok, amelyek pontosan ábrázolhatóak tizedes törtként a 10-es alapban, például 0.1 vagy 0.7, de nincs pontos reprezentációjuk lebegőpontos számként a 2-es alapban, amely belsőleg használatos, függetlenül a mantissa nagyságától. Ezért nem lehetnek átalakítva a belső bináris reprezentációjukba egy kis pontossági veszteség nélkül. Ez furcsa eredményeket eredményezhet: FLOOR((0.1+0.7)*10) általában 7-t eredményez, nem pedig a várttól eltérő 8, mivel a belső reprezentáció valami, mint 7.9999999999999991118.
A lebegőpontos számoknál tehát soha nem kell a utolsó tizedesjegyig támaszkodni, és a lebegőpontos számokat soha nem szabad egyenlőségre vizsgálni.
Egy karakterláncot vagy stringet egy aposztróf ' ' vagy duplapoztróf " " segítségével definiálunk. Például 'Szöveg 1' vagy "Teszt!". A CONCAT funkcióblokkal több karakterláncot összevonhatunk.
Egy sortörés vagy új sor CTRL+Enter segítségével hozható létre. Ezután egy nyílvesszővel ↵ jelenik meg.
Egy escape karakter az ' vagy " megadásához a karakterláncban nem szükséges. A karakterláncot közvetlenül megadhatjuk "Itt van egy " karakter".
Lehetséges különleges karaktereket közvetlenül deklarálni. Ehhez a karakterlánc belül duplapoztrófok között a következő sorozatot adjuk meg:
| Escape-sorozat | ASCII-rövidítés |
|---|---|
| \\ | Escaped \ |
| \n | LF |
| \r | CR |
| \r\n | CRLF |
| \0 | NUL |
| \t | TAB |
| \e | ESC |
| \f | FORMFEED |
| \x## | Tetszőleges byte |
Például egy tetszőleges byte 126 vagyis 7E deklarálásához a következő kifejezés használható: "\x7E". Ez a karakterlánc akkor felel meg "~".
Itt 7E helyettesítő értékként szerepel. Minden értéket megadhatunk a Hex értékek 00 és FF között. Figyelembe véve, hogy az UTF-8 BOM "\xEF\xBB\xBF" legtöbb böngésző által automatikusan eltávolítva lesz. Lehetséges a karakterláncot elrejteni. Ehhez egy vezető backslash használható: "\\x7E" ez akkor felel meg '\x7E'.
Figyelmeztetés: Minden karakterlánc az UTF-8 tartományon kívül nem remanens módon tárolható. Ezek a Live nézetben sötétlila színűek.
Lásd még a Karakterlánc konvertálása számokká cikket.
Definiál egy dátumot és időt DT#, például DT#2016-03-25-22:12:00. Az időpontok átalakítva lesznek egy Integer-be ms-ben a 1970. január 1.-től (ez az érték az UTC/GMT időzónában van).
Definiál egy dátumot éjféltől D#, például D#2016-03-25. Az időpontok átalakítva lesznek egy Integer-be ms-ben a 1970. január 1.-től (ez az érték az UTC/GMT időzónában van).
Definiál egy időt milliszekundumban T#, például T#5d3h5m11s500ms. Az időpontok átalakítva lesznek egy Integer-be ms-ben.
Egy tömböt nem lehet közvetlenül definiálni. Viszont hozzárendelések végezhetők egy változóval pont segítségével. Lásd Változók.
Nagyon fontos: Soha ne definiáljunk értéket alul egy tömbben. Például set és set.p - Az SPS ekkor le fog állni. És ezért nem fog futni. Továbbá ez váratlan hibákhoz vezethet.