Tipos de variables en Step 7
Las variables son áreas de memoria donde podemos almacenar información. A estas variables se le pueden asignar diferente tipos de datos.
Hay variables que ya están predefinidas como pueden ser las entradas (E/I) o las salidas (A/O) o las marcas. Pero el usuario puede definir otro tipo de variables donde almacenar otro tipo de datos, como fechas o cadenas de caracteres por ejemplo. Este tipo de variables por lo general se almacenarán y gestionarán a través de DB
Por otro lado tendremos temporizadores y contadores. Con mucha diferencia se usan más los temporizadores que los contadores como ya veremos.
Comencemos en la entrada de hoy, con las marcas y los DB
Marcas y DBs en Step 7
Las marcas (M) son bits internos a la CPU. El tamaño del área de marcas dependerá de la CPU ya que dependiendo del modelo tiene más memoria interna o menos.
Las marcas pueden en forma de:
-Bit, por ejemplo M0.0
-Byte (8bits), por ejemplo MB0
-Word o palabra(16bits), por ejemplo MW0
- Doble palabra (32bits), por ejemplo MD0
Todos los bits de marca están en estado nulo cuando se arranca la CPU (se pasa de estado STOP a RUN). Esto es así salvo que se haya configurado la CPU para que parte de las marcas sean remanentes, esto es, que mantengan su valor aun parando el programa o incluso apagando la CPU (mientras que dure la batería de esta).
Los Bloques de Datos (DBs) pueden ser utilizados en el programa para salvar información en la CPU. Tienen una capacidad de memoria de hasta 8 KBytes ( 8192 Bytes ).Existen dos tipos de Bloques de Datos. DBs Globales , en los cuales todos los OBs, FBs y FCs pueden guardar o leer datos y DBs de Instancia, los cuales se encuentran asignados a un FB en particular.
En los DBs, se pueden almacenar diferentes tipos de datos (p.e. BOOL o WORD ) de manera aleatoria. La estructura de un DB se genera a través de la herramienta Editor KOP/ AWL//FUP.
Los tipos de datos que se pueden almacenar en un DB son muy variados pueden ir desde boolenas, bytes o Word a almacenar tiempos o fechas pasando por números reales o caracteres.
Como puedes observar la variedad de tipos de variables es mayor en un DB que el uso de las marcas. En futuras entradas veremos más en profundidad qué se pueden hacer con los DB ya que son una herramienta muy potente para el almacenamiento de datos.
En general, y bajo mi punto de vista, las marcas han de ser usadas para la parte puramente de programación, como variables globales pero temporales y que no necesitan estar estructurados (como pueda ser una receta del proceso).
En un porcentaje muy alto, vas a usar las marcas en su estado de bit, como entero o real, y en menor medida el resto de sus usos (Word, BCD etc).
Los DB me parecen más adecuados para el almacenamiento de datos del proceso como pueden ser almacenamiento de la receta (donde habrá cadenas de caracteres) o de los estados de la máquina (temperatura, presiones etc) que luego vayan a ser mostradas en una pantalla HMI.
También será oportuno usar los DB para intercambio de información entre PLC ya que al ser en general un gran volumen de datos, es más fácil de mantener. Por otro lado seguramente vas a intercambiar datos de todo tipo (cadenas de caracteres, tiempos…) cosa que es mucho más fácil de gestionar a través de un DB.
En futuras entradas veremos los diferentes usos que se pueden dar y cómo usar cada uno de ellos.
Un saludo,
Referencias:

Comentarios (22)