Fiecare variabilă în PLC primește automat tipul corect de date. Conversia trebuie setată doar la interfață. În acest capitol, se explică diferitele tipuri de Antcas Control.
Acest tip poate avea doar două stări. Adevărat sau fals. În aplicație, în loc de o variabilă, valoarea poate fi definită cu ADEVĂRAT (adevărat) sau FALS (fals).
De asemenea, se utilizează tipul special NULL. Această stare este setată la inițializarea unei variabile, adică a unei variabile neinitializate. De asemenea, cu NULL sunt posibile funcții speciale. De exemplu, dacă nu trebuie să fie comunicat niciun valoare la interfață.
Un întreg este un număr întreg, cum ar fi 0 sau 26. De asemenea, valoarea poate fi negativă. Antcas Control funcționează cu un PLC de 64 biți, care permite calculul unor numere foarte mari. Cel mai mare număr este definit cu constanta INT_MAX (9223372036854775807). Cel mai mic număr este în INT_MIN sau INT_MAX+1, deoarece semnul utilizează un bit. Toate numerele în afara intervalului sunt aplicate într-un float cu un exponent. Calculul este atunci inexact.
Un întreg poate primi valoarea -0, care nu este egală cu FALS. Cu toate acestea, verificarea cu funcția EQ(-0,0) rezultă ADEVĂRAT. -0 poate fi definit doar ca șir de caractere '-0'.
De asemenea, o valoare hexazecimală poate fi definită direct. Aceasta începe cu 0x sau 0X. Astfel, din 0xFF devine 255.
Un float sau valoare reală este un număr cu virgulă mobilă, cum ar fi 0.1 sau 22.005 (cu punct). Se suportă și exponenții. De exemplu, 10E2 pentru 1'000 sau 10e-2 pentru 0.1. Majusculele și minusculele sunt indiferente. Se încearcă să se transforme numărul într-un întreg, deoarece calculul este mai simplu pentru PLC. Poate să apară că calculele cu numere mari devin inexacte. Numărul maxim de zecimale este fix limitat la 14 pentru a îmbunătăți performanța PLC.
Numerele cu virgulă mobilă au o precizie limitată. Deși acest lucru depinde de sistem, Antcas Control utilizează în mod obișnuit Formatul IEEE 754 Double Precision, care rezultă într-o eroare maximă relativă de aproximativ 1.11e-16. Operațiile aritmetice ne-elementare pot genera însă erori mai mari și, desigur, trebuie să se ia în considerare propagarea erorii dacă mai multe operații sunt compuse.
De asemenea, există numere raționale care pot fi reprezentate exact ca numere cu virgulă mobilă la baza 10, de exemplu 0.1 sau 0.7, pentru care nu există o reprezentare exactă ca numere cu virgulă mobilă la baza 2, care este utilizată intern independent de mărimea mantisei. Prin urmare, acestea nu pot fi convertite în reprezentarea lor binară internă fără o pierdere mică de precizie. Acest lucru poate duce la rezultate confuze: FLOOR((0.1+0.7)*10) va da de obicei 7 în loc de rezultatul așteptat de 8, deoarece reprezentarea internă este ceva similar cu 7.9999999999999991118.
Prin urmare, nu trebuie să vă bazați niciodată pe ultima zecimală a numerelor cu virgulă mobilă și să nu le verificați niciodată direct pentru egalitate.
Un șir de caractere sau numit și string, este definit cu o ghilimea simplă ' ' sau dublă " ". De exemplu, 'Text 1' sau . Cu blocul funcțional CONCAT pot fi combinate mai multe șiruri de caractere.
Un Line Feed sau o nouă linie poate fi creat cu CTRL+Enter. Acesta este apoi reprezentat printr-o săgeată ↵.
Un caracter de scăpare pentru indicarea unui ' sau " în șirul de caractere în sine nu este necesar. Șirul de caractere poate fi specificat direct cu "Aici este un \" semn".
Este posibil să se declare caracteri speciali direct. Pentru aceasta, în cadrul șirului de caractere, se indică următoarea secvență cu ghilimele duble:
| Secvență De Scăpare | Abc. ASCII |
|---|---|
| \\ | Escaped \ |
| \n | LF |
| \r | CR |
| \r\n | CRLF |
| \0 | NUL |
| \t | TAB |
| \e | ESC |
| \f | FORMFEED |
| \x## | Octet Arbitrar |
De exemplu, pentru a declara un octet arbitrar 126 sau 7E ca număr hexazecimal, se utilizează următoarea expresie: "\x7E". Acest șir de caractere corespunde atunci cu "~".
Aici, 7E servește ca valoare placeholder. Pot fi indicate toate valorile în cadrul numerelor hexazecimale de la 00 până la FF. Aveți grijă că BOM-ul UTF-8 "\xEF\xBB\xBF" este eliminat automat de majoritatea browserelor. Este posibil să se mascheze șirul de caractere. Pentru aceasta, se utilizează un backslash în față: "\\x7E", ceea ce corespunde atunci cu '\x7E'.
Atenție: Toate șirurile de caractere în afara intervalului UTF-8 nu pot fi stocate remanent. Acestea sunt afișate în vedere live în violet închis.
Consultați și articolul Conversia Șirurilor De Caractere În Numere.
Defineste o dată și un timp cu DT#, de exemplu, DT#2016-03-25-22:12:00. Timpii sunt convertite într-un întreg în ms de la data 01.01.1970 (Această valoare este în zona orară UTC/GMT).
Defineste o dată de la miezul nopții cu D#, de exemplu, D#2016-03-25. Timpii sunt convertite într-un întreg în ms de la data 01.01.1970 (Această valoare este în zona orară UTC/GMT).
Defineste un timp în milisecunde cu T#, de exemplu, T#5d3h5m11s500ms. Timpii sunt convertite într-un întreg în ms.
Un array nu poate fi definit direct. Cu toate acestea, pot fi făcute asocieri ale unei variabile cu un punct. Vezi Variabile.
FOARTE IMPORTANT: Definiți niciodată o valoare mai jos într-un array. De exemplu, set și set.p - PLC-ul va fi aici instabil. Și prin urmare nu va funcționa. De asemenea, acest lucru poate duce la erori neașteptate.