You are on page 1of 2

OMROM DATOS EN OMROM

Programacin OMROM

Formato de datos. Creacin de tablas de smbolos


FORMATO DE LOS DATOS EN OMROM
Una de las primeras cosas, que debemos conocer antes de empezar a programar los autmatas, son los formatos de datos que se pueden usar para escribir las constantes. En este artculo presentaremos todos ellos y como se representan. Se usan cuatro tipos de datos: 1. 2. 3. 4. Binario sin signo Decimal con signo Decimal sin signo BCD

Podemos usar datos de 16 bits (un canal) o de 32 bits (dos canales); esto tiene sentido cuando pensamos en que hay aplicaciones, e instrucciones, que necesitan ocupar dos canales para almacenar la informacin. 16 bits nos limita, en decimal, a poder representar hasta 65536 datos; hay que tener en cuenta si los datos son con signo o l. Si fueran con signo, el rango que podemos representar ocupa desde el -32767 al 32768; ya que si sumas ambas y aades el 0 obtienes un total de 65536 datos, lo mximo que podramos representar con 16 bits. Si es necesario representar algn dato que est por encima de este rango hay que recurrir al uso de datos de 32 bits (llegando hasta 4.294.967.296 datos). Hay muchas aplicaciones y algunas instrucciones en OMROM que necesitan del uso de datos de 32 bits. Para datos de 16 bits: Binario sin signo: Decimal con signo: Decimal sin signo: BCD: Este tipo de dato se representa con el signo de # delante de la constante. Su rango est comprendido entre #0000 y #FFFF. Este tipo de dato se representa con el signo de delante de la constante. Su rango est comprendido entre -32768 y +32767. Este tipo de dato se representa con el signo de & delante de la constante. Su rango est comprendido entre &0 y &65535. Este tipo de dato se representa con el signo de # delante de la constante. Su rango est comprendido entre #0000 y #9999.

Para datos de 32 bits: Binario sin signo: Decimal con signo: Decimal sin signo: BCD: Este tipo de dato se representa con el signo de # delante de la constante. Su rango est comprendido entre #0000 0000 y #FFFF FFFF Este tipo de dato se representa con el signo de delante de la constante. Su rango est comprendido entre -2.147.483.648 y +2.147.483.647. Este tipo de dato se representa con el signo de & delante de la constante. Su rango est comprendido entre &0 y &4.294.967.295. Este tipo de dato se representa con el signo de # delante de la constante. Su rango est comprendido entre #0000 0000 y #9999 9999

Ntese que la manera de introducirlos no se diferencia de entre 16 o 32 bits, es decir para introducir un BCD hay que poner # delante ya sea en 16 o en 32 bits. La diferencia radica en el formato propio del canal en el que se almacena el dato, es decir, en la definicin del canal le daremos el formato necesario para que se defina como uno u otro. Adems, hay que tener en cuenta que ciertas instrucciones slo admiten un formato predefinido para los datos que usan, como pueden ser los temporizadores. En estos casos, la nica manera de introducir correctamente un dato es con # delante. Si no lo pones te estars refiriendo a un canal. Si introduces directamente el dato, ste se asimilar en la instruccin con el formato predefinido para sta. Si introduces un canal, ste deber estar definido en el formato propio de la instruccin, es decir, si se va a usar en la instruccin TIM, el canal deber tener un formato BCD. Si introduces un formato REAL por ejemplo, la instruccin devolver un error.

Pg.1/2

OMROM DATOS EN OMROM

Programacin OMROM

Formato de datos. Creacin de tablas de smbolos


FORMATO DE LOS DATOS (CANALES) EN OMROM
A la hora de elegir un formato de datos para un canal, debemos tener en cuenta que las instrucciones que utilicemos debern permitir la lectura de los datos en dicho formato, si lo que queremos es utilizar este canal en una instruccin; por ejemplo, no podemos darle formato a un canal como INT (Entero) y utilizarlo en una instruccin que requiera el formato BCD; como puede ser un temporizador. Si no queremos darle un formato particular a un canal, elegimos el formato WORD. CHANNEL no debe utilizarse, pues es un formato de intercambio de datos entre dispositivos OMROM. FORMATO BOOL INT DINT LINT UINT UINT BCD UDINT UDINT BCD ULINT ULINT BCD REAL LREAL WORD DWORD LWORD STRING CONTENIDO Datos de bit Entero Entero Doble Entero Largo Entero sin signo BCD sin signo Entero doble sin signo BCD doble sin signo Entero largo sin signo BCD largo sin signo BCD Nmero real Nmero real largo Dato de 16 bits Dato de 32 bits Dato de 64 bits Cadena de texto TAMAO 1 16 32 64 16 16 32 32 64 64 32 64 16 32 64 Variable RANGO DE VALORES 0 (falso), 1 (verdadero) -32.768 a +32.767 -2.147.483.648 a +.147.483.647 -9.223.372.036.775.808 a ...807 0 a 65.535 0 a 65.535 0 a 4.294.967.295 0 a 4.294.967.295 0 a 18.446.744.073.709.551.615 0 a 18.446.744.073.709.551.615 -3.402823 x 10 38 a -3.402823 x 10 38 Muchos mas ki dimasiaos

De 0 a 255 bytes

CREACIN DE TABLAS DE SMBOLOS


El primer paso para crear un programa debe ser la introduccin de una tabla de smbolos. Crear y definir los smbolos necesarios para iniciar la programacin nos ayudar a evitar errores, sobre todo en los formatos de las variables que utilicemos, as como evitar que solapemos direcciones durante la definicin del programa. No es necesario introducir todos los smbolos desde el principio, pero siempre que se utilice una direccin o un canal, es fundamental introducir el smbolo correspondiente. A la hora de definir un smbolo, le daremos un nombre apropiado; es til relacionar en l la funcin que realiza, por ejemplo, para una entrada conectada a la seal de una fotoclula, podemos denominarla FC. En el caso de los canales, hay que elegir bien el formato que queremos darle, y tener en cuenta su longitud; por ejemplo una direccin LWORD ocupar 4 canales, que no se podrn utilizar para nada ms. Es recomendable escribir previamente en papel, los smbolos que necesitaremos para comenzar, y organizar las direcciones de una manera lgica. Si es posible calcular previamente las variables de cada tipo que tendremos resultar efectivo introducir pequeos bloques de direcciones vaca entre variables de distinto formato. Por ejemplo, si necesitamos 50 BOOL, 35 WORD, 17 DINT, sabiendo que ocuparn 50 bites (4 canales), 35 bytes (35 canales) y 34 bytes (34 canales) respectivamente; podemos organizar de la siguiente manera: BOOL CIO 1000 - 1004 WORD CIO 1100 - 1135 DINT CIO 1200 - 1235 No obstante, es una simple recomendacin y debe ser el usuario el que organice su tabla de smbolos segn el crea conveniente, pero siempre estando atento a no solapar canales; no puedes asignar a un DINT el canal 300 y seguidamente en el 301 una variable diferente, porque DINT ocupar 300 y 301. Es conveniente realizar un comentario resumido que ayude a identificar el smbolo en el proceso. Los smbolos definidos en una tabla local, slo se vern en la seccin correspondiente. Los smbolos definidos en la tabla global, se vern en todo el programa. Pg.2/2

You might also like