NOMBRE:
Bryan Alfredo Martínez Licto
CURSO:
Ingeniería Eléctrica VI - “A”
UNIDAD DE APRENDIZAJE:
Controles Industriales Eléctricos
DOCENTE:
ING: Osmar Viera
TEMA:
Principios básicos de programación
Prologo S7
La gama S7-1200 abarca distintos controladores lógicos programables (PLC) que pueden
utilizarse para numerosas tareas. Gracias a su diseño compacto, bajo costo y amplio juego
de instrucciones, los PLCs S7-1200 son idóneos para controlar una gran variedad de
aplicaciones. Los modelos S7-1200 y el software de programación basado en Windows
ofrecen la flexibilidad necesaria para solucionar las tareas de automatización.
Este manual contiene información sobre cómo montar y programar los PLCs S7-1200 y está
dirigido a ingenieros, programadores, técnicos de instalación y electricistas que dispongan
de conocimientos básicos sobre los controladores lógicos programables.
Al diseñar un sistema PLC es posible seleccionar entre diferentes métodos y criterios. Las
directrices generales siguientes pueden aplicarse a un gran número de proyectos. Por
supuesto que es necesario respetar las directrices corporativas y las prácticas usuales
aprendidas y aplicadas.
Estructurar el programa de usuario
Un bloque de función (FB) es una subrutina que se ejecuta cuando se llama desde otro
bloque lógico (OB, FB o FC). El bloque que efectúa la llamada transfiere parámetros al FB
e identifica un bloque de datos determinado (DB) que almacena los datos de la llamada o
instancia específica de este FB. La modificación del DB instancia permite a un FB genérico
controlar el funcionamiento de un conjunto de dispositivos. Por ejemplo, un solo FB puede
controlar varias bombas o válvulas con diferentes DBs de instancia que contienen los
parámetros operativos específicos de cada bomba o válvula.
Seleccionar el tipo de estructura del programa de usuario
Estructura
lineal: Estructura modular:
2 2
% % )%
)&
Es posible crear bloques lógicos reutilizables para tareas estándar, tales como el control
de una bomba o motor. También es posible almacenar estos bloques lógicos genéricos en
una librería, de manera que puedan ser utilizados por diferentes aplicaciones o
soluciones.
Cuando un bloque lógico llama otro bloque lógico, la CPU ejecuta el código del programa
en el bloque llamado. Una vez finalizada la ejecución del bloque llamado, la CPU reanuda
la ejecución del bloque que ha efectuado la llamada. El procesamiento continúa con la
ejecución de la instrucción siguiente a la llamada de bloque.
Las llamadas de bloque pueden anidarse para crear una estructura más modular. En el
ejemplo siguiente, la profundidad de anidamiento es 4: El OB de ciclo de programa más
3 niveles de llamadas de bloques lógicos.
bloques lógicos.
'
%
)% )% )&
'% '%
)& '%
Bloque de organización (OB)
Utilice el diálogo "Agregar nuevo bloque" para crear OBs nuevos en el programa de usuario.
Función (FC)
Una función (FC) es un bloque lógico que, por lo general, realiza una operación específica
en un conjunto de valores de entrada. La FC almacena los resultados de esta operación en
posiciones de memoria. Por ejemplo, las FC se utilizan para ejecutar operaciones estándar
y reutilizables (como cálculos matemáticos) o funciones tecnológicas (como para controles
individuales que utilizan lógica de bits). Una FC también se puede llamar varias veces en
diferentes puntos de un programa. Esto facilita la programación de tareas que se repiten
con frecuencia.
Una FC no tiene ningún bloque de datos instancia asociado (DB). La FC usa la pila de datos
locales para los datos temporales utilizados para calcular la operación. Los datos
temporales no se almacenan. Para almacenar los datos de forma permanente es preciso
asignar el valor de salida a una posición de memoria global, p. ej. el área de marcas o un
DB global.
Por lo general, los FBs se utilizan para controlar tareas o dispositivos cuya operación no
finaliza dentro de un ciclo. Para almacenar los parámetros operativos de manera que
sea posible acceder rápidamente a ellos de un ciclo a otro, todo FB del programa de
usuario tiene uno o más DBs instancia. Cuando se llama un FB, se especifica también un
DB instancia que contiene los parámetros del bloque y los datos locales estáticos de esa
llamada o "instancia" del FB. El DB instancia conserva estos valores una vez finalizada la
ejecución del FB.
La CPU conserva la coherencia de datos de todos los tipos de datos simples (p. ej. Word
o DWord) y de todas las estructuras definidas por el sistema (p. ej. IEC_TIMERS o DTL). La
lectura o escritura de valores no se puede interrumpir. (Por ejemplo, la CPU protege el
acceso a un valor de palabra doble (DWord) hasta que se hayan leído o escrito los cuatro
bytes de la palabra doble.) Para garantizar que los OBs de ciclo y de alarma no puedan
escribir simultáneamente en la misma posición de memoria, la CPU no ejecuta un OB de
alarma hasta que no haya finalizado la operación de lectura o escritura en el OB de ciclo.
Las instrucciones PtP (punto a punto), PROFINET (p. ej. TSEND_C y TRCV_C), PROFINET E/S
descentralizadas y PROFIBUS E/S descentralizadas (Página 285) transfieren búferes de
datos que podrían interrumpirse. La coherencia de datos de los búferes debe asegurarse
evitando operaciones de lectura y escritura en los búferes, tanto en el OB de ciclo como en
un OB de alarma. Si es necesario modfiicar los valores de los búferes para estas
instrucciones en un OB de alarma, utilice una instrucción DIS_AIRT para retardar las
alarmas (un OB de alarma o una alarma de comunicación de un HMI u otra CPU) hasta que
se ejecute una instrucción EN_AIRT.
Lenguaje de programación
El programa de usuario puede emplear bloques lógicos creados con cualquiera de los
lenguajes de programación.
Esquema de contactos (KOP)
Para crear la lógica de operaciones complejas, es posible insertar ramas para los circuitos
paralelos. Las ramas paralelas se abren hacia abajo o se conectan directamente a la barra
de alimentación. Las ramas se terminan hacia arriba.
KOP ofrece instrucciones con cuadros para numerosas funciones, p. ej. matemáticas,
temporizadores, contadores y transferencia.