Tipos De Datos

Cada variable en la PLC recibe automáticamente el tipo de dato correcto. La conversión solo debe configurarse en la interfaz. En este capítulo se explican los diferentes tipos de Antcas Control.

Valor Booleano BOOL

Este tipo solo puede tener dos estados. Verdadero o falso. En la aplicación, en lugar de una variable, el valor puede definirse con TRUE (verdadero) o FALSE (falso).

Además, se utiliza el tipo especial NULL. Este estado se establece durante la inicialización de una variable, es decir, una variable sin escribir. Además, con NULL son posibles funciones especiales. Por ejemplo, cuando no se debe comunicar ningún valor en la interfaz.

Enteros INT (Integer)

Un Integer es un número entero, como por ejemplo 0 o 26. Además, el valor también puede ser negativo. Antcas Control trabaja con una PLC de 64 bits, lo que permite el cálculo de números muy grandes. El número más grande está definido por la constante INT_MAX (9223372036854775807). El número más pequeño está en INT_MIN o INT_MAX+1, ya que el signo utiliza un bit. Todos los números fuera del rango se aplican en un Float con un exponente. El cálculo es entonces inexacto.

Un Integer puede recibir el valor -0, que no es igual a FALSE. Sin embargo, la comprobación con la función EQ(-0,0) da como resultado TRUE. -0 Solo puede definirse como una cadena de caracteres '-0'.

También se puede definir directamente un valor hexadecimal. Este comienza con 0x o 0X. Por ejemplo, de 0xFF se convierte en 255.

Números De Punto Flotante REAL (Float)

Un Float o también un valor Real es un número de punto flotante, como por ejemplo 0.1 o 22.005 (con punto). También se soportan los exponentes. Por ejemplo, 10E2 para 1'000 o 10e-2 para 0.1. La mayúscula y minúscula no importa. Se intenta convertir el número en un Integer, ya que el cálculo es más sencillo para la PLC. Puede ocurrir que los cálculos con números grandes sean inexactos. El número máximo de decimales está fijado en 14 para mejorar el rendimiento de la PLC.

Los números de punto flotante tienen una precisión limitada. Aunque esto depende del sistema, Antcas Control utiliza habitualmente el Formato De Precisión Doble IEEE 754, que da lugar a un error de redondeo relativo máximo en un orden de magnitud de 1.11e-16. Las operaciones aritméticas no elementales pueden, sin embargo, dar lugar a errores más grandes y, por supuesto, debe tenerse en cuenta la propagación del error si se combinan varias operaciones.

Además, existen números racionales que pueden representarse exactamente como números de punto flotante con base 10, por ejemplo 0.1 o 0.7, pero que no tienen una representación exacta como números de punto flotante con base 2, que se utiliza internamente independientemente del tamaño de la mantisa. Por lo tanto, no pueden convertirse en su representación binaria interna sin una pequeña pérdida de precisión. Esto puede dar lugar a resultados confusos: FLOOR((0.1+0.7)*10) suele dar como resultado 7 en lugar del resultado esperado de 8, ya que la representación interna es algo así como 7.9999999999999991118.

Por lo tanto, nunca debe confiarse en los números de punto flotante hasta el último decimal y nunca deben comprobarse directamente en igualdad.

Cadena De Caracteres STRING

Una cadena de caracteres o también llamada String se define con una comilla alta ' ' o doble comilla alta " ". Por ejemplo, 'Texto 1' o . Con el bloque de funciones CONCAT se pueden combinar varias cadenas de caracteres.

Un salto de línea o nueva línea puede crearse con CTRL+Enter. Esto se representa entonces mediante una flecha ↵.

No es necesario un carácter de escape para indicar un ' o " en la propia cadena de caracteres. La cadena de caracteres puede especificarse directamente con "Aquí hay un \" carácter".

Es posible declarar caracteres especiales directamente. Para ello, se especifica la siguiente secuencia dentro de la cadena de caracteres utilizando comillas dobles:

Secuencia De Escape Abreviatura ASCII
\\ \ Escapado
\n LF
\r CR
\r\n CRLF
\0 NUL
\t TAB
\e ESC
\f FORMFEED
\x## Byte Arbitrario

Por ejemplo, para declarar un byte arbitrario 126 o 7E como número hexadecimal, se utiliza la siguiente expresión: "\x7E". Esta cadena de caracteres corresponde entonces a "~".

Aquí, 7E actúa como valor de marcador. Se pueden especificar todos los valores dentro de los números hexadecimales 00 a FF. Tenga en cuenta que el UTF-8 BOM "\xEF\xBB\xBF" es eliminado automáticamente por la mayoría de los navegadores. Es posible enmascarar la secuencia de caracteres. Para ello, se utiliza una barra invertida inicial: "\\x7E", lo que corresponde entonces a '\x7E'.

Atención: Todas las cadenas de caracteres fuera del rango UTF-8 no pueden almacenarse de forma remanente. En la vista en vivo, estas se muestran en morado oscuro.

Consulte también el artículo Conversión De Cadenas De Caracteres A Números.

Fecha Y Hora DT (Date And Time)

Define una fecha y hora con DT#, por ejemplo, DT#2016-03-25-22:12:00. Las horas se convierten en un Integer en ms a partir de la fecha 01.01.1970 (Este valor está en la zona horaria UTC/GMT).

Fecha D (Date)

Define una fecha desde la medianoche con D#, por ejemplo, D#2016-03-25. Las horas se convierten en un Integer en ms a partir de la fecha 01.01.1970 (Este valor está en la zona horaria UTC/GMT).

Hora T (Time)

Define una hora en milisegundos con T#, por ejemplo, T#5d3h5m11s500ms. Las horas se convierten en un Integer en ms.

Array

Un Array no puede definirse directamente. Sin embargo, pueden realizarse asignaciones de una variable con un punto. Consulte Variables.

MUY IMPORTANTE: Nunca defina un valor inferior en un Array. Por ejemplo, set y set.p - La PLC se bloqueará aquí. Y por lo tanto no funcionará. Además, esto puede dar lugar a errores inesperados.