Anda di halaman 1dari 35

Tema

 4  
Principios  básicos  de  programación.  Visión  Prác4ca  S7-­‐1200  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  PRÁCTICA  


13/10/14  
1  

S7-­‐1200  
13/10/14  
Índice  
•  Introducción  a  la  programación  del  autómata    
•  Definición  del  sistema  de  control  •  Descripciones  literales  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Funciones  algebraicas  
•  Esquemas  de  relés    
•  Diagramas  lógicos  
•  Diagramas  de  flujo  
•  Grafcet    
•  Definir  las  variables  que  intervienen  y  asignarles  direcciones  
de  memoria    
•  Lenguajes  de  programación  

PRÁCTICA  S7-­‐1200  
•  Diagrama  de  contactos  
•  Diagrama  de  funciones  
•  Lenguajes  de  alto  nivel    
•  Visión  Prác4ca  S7-­‐1200  
•  Organización  de  programas   2  
•  Tipos  de  módulos  
Introducción  a  la  programación  

13/10/14  
de  PLCs    
•  Sistemas  y  recursos  envueltos  en  la  transferencia  de  
información  que  rodean  al  autómata  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


Análisis  
MODELO  
SIST   Asignación  de  
Especificaciones   CONTROL   Direcciones  

SISTEMA  OPERATIVO  
Monitor  
PROCESADOR  

PRÁCTICA  S7-­‐1200  
INTERFACE   MEMORIA    
E/S   PROGRAMA  
UNIDAD  DE  
PROGRAMACIÓN:  
-­‐Lenguaje  Progr.  
-­‐Editor  de  Progr.   3  
PROCESO  
PROGRAMA  
SEÑALES  DE  EMERGENCIA   BINARIO  
Introducción  a  la  programación  

13/10/14  
de  P LCs    
•  Podríamos  dividir  la  programación  del  autómata  en  varios  pasos  :    
•  Definir  el  sistema  de  control  (  que  debe  hacer,  en  que  orden,  etc.):  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


diagrama  de  flujo,  la  descripción  literal  o  un  grafo  GRAFCET.    
•  Iden4ficar  las  señales  de  entrada  y  salida  del  autómata.    
•  Representar  el  sistema  de  control  mediante  un  modelo,  indicando  todas  
las  funciones  que  intervienen,  las  relaciones  entre  ellas,  y  la  secuencia  
que  deben  seguir.  Algebraica  (instrucciones  literales)  o  gráfica  (símbolos  
gráficos).    
•  Asignar  las  direcciones  de  entrada/salida  o  internas  del  autómata  a  las  

PRÁCTICA  S7-­‐1200  
correspondientes  del  modelo.    
•  Codificar  la  representación  del  modelo.  Lenguaje  de  programación.    
•  Cargar  el  programa  en  la  memoria  del  autómata  desde  la  unidad  de  
programación.    
•  Depurar  el  programa  y  obtener  una  copia  de  seguridad.     4  
 
Introducción  a  la  programación  

13/10/14  
ucciónde  
a la P LCs  Introducción
 
programación a la
de APIs programación de APIs (PLCs)
(PLCs)
•  Esquema  del  
•  dEsquema
esarrollo  ddel
e  un   proceso  controlado  
desarrollo de un proceso por  un  
controlado por un
autómata     unautómata

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


ma del desarrollo de proceso controlado por un
mata INICIO
Programación : - Esquema eléctrico:
- Diagrama - de potencia
- Lista de instrucciones - de proceso
Documentación del proceso:
- Memoria de funcionamiento - Etc.
- Planos
- Etc.
- Autómata : - Plano distribución
-  puesta en funcionamiento componentes del automatismo
Interpretación del proceso a controlar

PRÁCTICA  S7-­‐1200  
- Puesta en modo RUN - Esquema de conexionado
Determinación de E/S, temporizadores,
E/S al Autómata.
contadores, etc., necesarios
- Montaje

Elección del autómata

Asignación de E/S, temporizadores,


contadores, etc., necesarios - Proceso a Controlar
5  

FIN
De:inición  del  sistema  de  control  

13/10/14  
•  Definición  del  sistema  de  control    
•  Sistemas  sin  complejidad  ⇒  lenguaje  vulgar(descrip.  Literal)    

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Herramienta  de  representación  basadas  en  símbolos(+  complejos)    
•  Clasificación  según  los  símbolos  u4lizados:    
•  Proposicional  :  descripciones  literales.    
•  Algebraicas  :  funciones  booleanas  y  aritmé4cas.    
•  Grafica  :  esquemas  de  contactos,  diagramas  lógicos  o  funciones  lógicas,  
ordinogramas,  técnicas  GRAFCET    
•  Descripciones  literales    

PRÁCTICA  S7-­‐1200  
•  La  descripción  literal  de  un  proceso  y  de  su  control  puede  hacerse  
enumerando  literalmente  las  acciones  a  desarrollar  por  el  mismo,  
expuestas  secuencialmente  y  con  indicación  de  las  condiciones  de  
habilitación  o  validación  en  cada  caso.    
•  Exhaus4vamente  o  no  define  bien.  Si  se  hace,  digcil  comprensión.  
•  Se  complementa  con  otras  formas  de  representación     6  
•     
 
De:inición  del  sistema  de  control  

13/10/14  
•  Definición  del  sistema  de  control    
•  Funciones  algebraicas  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Las  funciones  algebraicas  de  cada  una  de  las  salidas  se  ob4enen:    
•  bien  directamente  de  la  descripción  literal  del  proceso  a  controlar    
•  o  bien  se  aplican  métodos  de  síntesis  basados  en  el  álgebra  de  Boole  (tablas  de  
verdad,  Karnaugh,  etc.).    
•  Digcil  de  analizar  y  sinte4zar  sistemas  secuenciales.  Limitado  a  la  
representación  de  combinaciones  de  variables  independientes  del  4empo  
(condiciones  de  alarma,  operaciones  aritmé4cas  con  variables  analógicas,  
etc.)    
•  Esquemas  de  relés    

PRÁCTICA  S7-­‐1200  
•  Origen:  en  la  representaciones  electromecánicas  de  sistemas  de  mando  
•  representación  de  sistemas  sencillos:  señales  lógicas  binarias  todo-­‐  nada  
(digitales),  o  bloques  secuenciales  predefinidos,  como  temporizadores  y  
contadores.    
•  Deficiencias  en  cuanto  a  la  representación  de  funciones  secuenciales  
complejas  y  sobre  todo  en  la  manipulación  de  señales  digitales  de  varios   7  
bits  (por  ejemplo,  las  obtenidas  de  una  conversión  A/D).    
•  U4lizado  por  electricistas  o  ingenieros  con  formación  eléctrica    
•  Esquema  de  relés  
De:inición  del  sistema  de  control  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


13/10/14  
8  

PRÁCTICA  S7-­‐1200  
Definición del sistema de control
De:inición  del  sistema  de  control  

13/10/14  
•  Diagramas lógicos
–  Este tipo de representación del sistema de control se utiliza en la
Diagramas  lógicos  de
•  documentación   las especificaciones y representación de los
•  Este  4po  de  representación  del  sistema  de  control  se  u4liza  en  la  
mismos

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


documentación  de  las  especificaciones  y  representación  de  los  mismos    
–  En muy pocos casos los usuarios finales de autómatas utilizan esta
•  En  muy  pocos  casos  los  usuarios  finales  de  autómatas  u4lizan  esta  
representación
representación    

PRÁCTICA  S7-­‐1200  
9  
De:inición  del  sistema  de  control  

13/10/14  
•  Diagramas  de  flujo    

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Organigrama  y  flujograma,  es  un  sistema  de  representación  que  se  basa  
en  una  serie  de  símbolos  que  según  un  convenio  establecido  4enen  un  
determinado  significado.    
NO  
TOMA  DE  
INICIO   ACCIONES   DECISIONES  
FIN  
SI  

PRÁCTICA  S7-­‐1200  
•  2  Niveles:    
•  Nivel  1:  
•  secuencia  de  acciones  a  realizar  
•  representar  el  funcionamiento  general  del  sistema    
•  Nivel  2:     10  
•  especificadas  las  acciones  en  forma  de  instrucción:  instrucciones  entendibles  
directamente  por  el  autómata  o  en  forma  de  funciones  lógicas.    
De:inición  del  sistema  de  control  

13/10/14  
•  Grafcet(Graphe    deComande  
Etape  Transi4on,cuya  traducción  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


literal  es  Gráfico  de  Orden  Etapa  
Transición)    
•  “es  una  secuencia  de  etapas  que  
4enen  asociadas  unas  determinadas  
acciones  a  realizar  sobre  el  proceso  
junto  con  las  condiciones  o  
transiciones  que  provocan  que  se  
produzca  el  paso  de  una  etapa  a  

PRÁCTICA  S7-­‐1200  
otra”    
•  Normalizado:Interna4onal  
Electrotechnical  Commision  IEC  848    
•  Una  de  las  mejores  herramientas  
para  representar  automa4smos   11  
secuenciales    
De:inir  las  variables  que  intervienen  y  

13/10/14  
asignarles  direcciones  de  memoria    
•  Definir  las  variables  que  intervienen  y  asignarles  direcciones  de  
memoria    

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Con  los  métodos  anteriores:  
•  descripción  funcional  del  sistema  de  control  
•  fijadas  las  entradas  y  salidas  que  tendrán  nombres  simbólicos    
•  Ejemplo:    
•  “Control  de  una  puerta  corredera  accionada  por  medio  de  un  motor.  El  contactor  S1  
produce  la  apertura  de  la  puerta,  el  contactor  S2  controla  el  cierre  de  la  puerta.  El  
interruptor  E3  de  final  de  carrera  se  ac4va  cuando  la  puerta  esta  abierta,  y  el  
interruptor  E2  de  fin  de  carrera  se  ac4va  cuando  la  puerta  esta  cerrada.  La  puerta  se  
abre  al  aplicar  una  determinada  presión  sobre  un  sensor  de  paso  de  vehículos  E1  
situado  enfrente  de  la  puerta.  Si  el  sensor  E1  no  se  ac4va,  la  puerta  se  cierra–después  

PRÁCTICA  S7-­‐1200  
de  transcurridos  10  segundos.  Si  se  ac4va  E1,  se  cierra  el  contactor  S2  y  se  man4ene  
cerrado  hasta  que  el  interruptor  E3  de  final  de  carrera  desac4ve  el  contacator  S2.  
Cuando  se  esta  abriendo  la  puerta,  o  bien  cuando  una  vez  abierta  haya  detectado  un  
vehículo  con  el  sensor  E1,  el  temporizador  T1  no  se  ac4va.  Si  no  se  dan  estas  
circunstancias  y  la  puerta  esta  abierta  E3  ac4vado,  se  ac4va  el  temporizador  T1,  y  
transcurridos  10  segundos,  la  puerta  se  cierra  mediante  el  contactor  S1  por  el  
temporizador  T1.  La  acción  de  cerrar  se  produce  hasta  que  o  bien  se  detecta  fin  de  
carrera  E2  o  bien  se  detecta  otro  vehículo  mediante  la  ac4vación  de  E1  en  cuyo  caso   12  
se  abre  la  puerta  ac4vando  para  ello  el  contactor  S2.  Las  lámparas  LED1  y  LED2  
indican  cuando  se  está  cerrando  o  abriendo  la  puerta  respec4vamente.”    

 
De:inir  
Definir laslvariables
as  variables  que  intervienen  
que intervienen y asignarles y  

13/10/14  
direcciones de memoria
asignarles  direcciones  de  memoria    
Tabla  d
•  • Tabla dee  aasignación
signación  de  de
variables  
variables

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


 

PRÁCTICA  S7-­‐1200  
13  
De:inir  las  variables  que  intervienen  y  

13/10/14  
Definir las variables que intervienen y asignarles
asignarles  
direcciones direcciones  de  memoria    
de memoria
•  Posteriormente  se  asignan  las  direcciones  gsicas  a  estas  variables    
•  Posteriormente se asignan las direcciones físicas a estas variables

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


PRÁCTICA  S7-­‐1200  
Además  
•  • Además dede  
estas estas   variables:  
variables: necesitare  
necesitare unucontador
n  contador  
que que  
cuente cuente  
los
los  periodos  
periodos de  temporización.  
de temporización. En lasEn   las  tablas  
tablas anteriores  
anteriores este  
este contador 14  
nocontador  
se ha tenidono  se  
enha   tenido  en  consideración.    
consideración.
Lenguajes   d e  programación  
Lenguajes de Programación

13/10/14  
•  “Conjunto de instrucciones y/o símbolos que están
disponibles
•  “Conjunto   para escribir
de  instrucciones   y/o  el programa,
símbolos   que  ese denomina
stán   lenguaje
disponibles  
para  de programación”
escribir   el  programa,  se  denomina  lenguaje  de  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


programación”    

PRÁCTICA  S7-­‐1200  
•  Si  • unidad  
Si unidad de  programación  
de programación acepta  acepta
directamente  
directamente la   la
representación
representación   deldsist.
del  sist.   de control,
e  control,   seecarga
se  carga   en la
n  la  CPU.   Si  CPU.
no   Si no
hay  hay
que  que traducirla
traducirla   al lenguaje
al  lenguaje   de programación
de  programación   per4nente.   pertinente.
 
15  
Lenguajes  de  programación  

13/10/14  
•  KOP  (esquema  de  contactos)  es  un  lenguaje  de  programación  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


gráfico.  Su  representación  se  basa  en  esquemas  de  circuitos.    
•  FUP  (diagrama  de  funciones)  es  un  lenguaje  de  programación  
que  se  basa  en  los  símbolos  lógicos  gráficos  empleados  en  el  
álgebra  booleana.    
•  SCL  (structured  control  language)  es  un  lenguaje  de  
programación  de  alto  nivel  basado  en.    

PRÁCTICA  S7-­‐1200  
16  
Lenguajes  de  programación  

13/10/14  
Diagrama de contactos. Diagrama de funciones
•  Diagrama  de  contactos.    
•  Es un lenguaje gráfico procedente del lenguaje de relés que
en base
•  Es  un  lenguaje  gráfico   símbolos
procedente   del  lque representan
enguaje   de  relés  qcontactos,
ue  en  base  bloques

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


funcionales,
símbolos  que  representan   etc. codifican
contactos,   la secuencia
bloques  funcionales,   decodifican  
etc.   control.
la  secuencia  de  control.    

Definición del sistema de control


•  Diagramas lógicos
–  Este tipo de representación del sistema de control se utiliza en la
documentación de las especificaciones y representación de los
mismos

PRÁCTICA  S7-­‐1200  
•  Diagrama  de  funciones  
•  Diagrama de casos
–  En muy pocos funciones: deriva
los usuarios dedelaautómatas
finales representación
utilizan estalógica
representación
utilizada lpor
•  Deriva  de  la  representación   losu4lizada  
ógica   técnicos enlos  
por   electrónica
técnicos  en  digital
electrónica  digital    

17  
Lenguajes  de  programación  

13/10/14  
•  Lenguajes  de  alto  nivel    
•  Lista  de  instrucciones,  diagramas  de  contactos,...  Insuficientes  para  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


programar  aplicaciones  complejas  para  autómatas  de  gama  media  y  alta.    
•  Herramientas  de  ingeniería:  
•  S7-­‐SCL:  lenguaje  de  alto  nivel  que  se  asemeja  al  Pascal  
•  M7-­‐ProC/C++:  Entorno  Borland  C/C++  y  depurador  mul4tarea.    
•  Casi  todos  los  fabricantes  de  autómatas  disponen  de  este  4po  
de  herramientas  que  permiten  programar  en  Basic,  C,  Pascal,  

PRÁCTICA  S7-­‐1200  
Fortran,  etc.  mediante  el  uso  de  los  interpretes  o  compiladores  
respec4vos.  Estas  herramientas  permiten  resolver  tareas  de  
cálculo  cienpfico  de  alta  resolución,  clasificaciones  y  
tratamiento  de  datos,  estadís4cas,  etc.,  con  acceso  a  
subru4nas  específicas  de  lenguajes  informá4cos.     18  
Visión  Práctica  S7-­‐1200  

13/10/14  
•  Lenguajes  de  programación-­‐  para  el  S7-­‐1200  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  KOP  (esquema  de  contactos)  es  un  lenguaje  de  programación  gráfico.  Su  
representación  se  basa  en  esquemas  de  circuitos.    
•  FUP  (diagrama  de  funciones)  es  un  lenguaje  de  programación  que  se  
basa  en  los  símbolos  lógicos  gráficos  empleados  en  el  álgebra  booleana.    
•  SCL  (structured  control  language)  es  un  lenguaje  de  programación  de  
alto  nivel  basado  en  texto.  
•  Al  crear  un  bloque  lógico,  se  debe  seleccionar  el  lenguaje  de  

PRÁCTICA  S7-­‐1200  
programación  que  empleará  dicho  bloque.    
•  El  programa  de  usuario  puede  emplear  bloques  lógicos  creados  con  
cualquiera  de  los  lenguajes  de  programación.    

19  
 
Visión  Práctica  S7-­‐1200  

13/10/14  
•  Lenguajes  de  programación-­‐  para  el  S7-­‐1200  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  KOP  (esquema  de  contactos)  es  un  lenguaje  de  programación  gráfico.  Su  
representación  se  basa  en  esquemas  de  circuitos.    
•  FUP  (diagrama  de  funciones)  es  un  lenguaje  de  programación  que  se  
basa  en  los  símbolos  lógicos  gráficos  empleados  en  el  álgebra  booleana.    
•  SCL  (structured  control  language)  es  un  lenguaje  de  programación  de  
alto  nivel  basado  en  texto.  
•  Al  crear  un  bloque  lógico,  se  debe  seleccionar  el  lenguaje  de  

PRÁCTICA  S7-­‐1200  
programación  que  empleará  dicho  bloque.    
•  El  programa  de  usuario  puede  emplear  bloques  lógicos  creados  con  
cualquiera  de  los  lenguajes  de  programación.    

20  
 
Visión  Práctica  S7-­‐1200  

13/10/14  
•  KOP  (esquema  de  contactos)  
•  Los  elementos  de  un  esquema  de  circuitos,  tales  como  los  contactos  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


normalmente  cerrados  y  normalmente  abiertos,  así  como  las  bobinas,  se  
combinan  para  formar  segmentos.  
•   KOP  ofrece  instrucciones  con  cuadros  para  numerosas  funciones,  p.  ej.  
matemá4cas,  temporizadores,  contadores  y  transferencia.    
•  Todo  segmento  KOP  debe  terminar  con  una  bobina  o  cuadro.    
$ % & ' =

( ) $ % & ' =

PRÁCTICA  S7-­‐1200  
  ( )
+ *

+ *

$ % & =

$ % & = 21  
Visión  Práctica  S7-­‐1200  

13/10/14  
•  FUP  (diagrama  de  funciones)    
•  Al  igual  que  KOP,  FUP  es  un  lenguaje  de  programación  gráfico.  La  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


representación  de  la  lógica  se  basa  en  los  símbolos  lógicos  gráficos  del  
álgebra  booleana.    
•  Para  crear  la  lógica  de  operaciones  complejas,  se  inserta  ramas  paralelas  
entre  los  cuadros.    
•  Las  funciones  matemá4cas  y  otras  operaciones  complejas  pueden  
representarse  directamente  en  combinación  con  los  cuadros  lógicos.    

PRÁCTICA  S7-­‐1200  
 

22  
Visión  Práctica  S7-­‐1200  

13/10/14  
•  SCL  (structured  control  language)    
•  El  lenguaje  de  control  estructurado  (SCL,  Structured  Control  Language)  es  un  
lenguaje  de  programación  de  alto  nivel  basado  en  PASCAL  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Las  instrucciones  de  SCL  emplean  operadores  de  programación  estándar,  p.  
ej.  para  asignación  (:=)  o  para  funciones  matemá4cas  (+  para  la  suma,  -­‐  para  
la  resta,  *  para  la  mul4plicación  y  /  para  la  división).    
•  SCL  también  u4liza  operaciones  de  control  de  programa  PASCAL  estándar,  
tales  como  IF-­‐THEN-­‐ELSE,  CASE,  REPEAT-­‐UNTIL,  GOTO  y  RETURN.  Es  posible  
u4lizar  cualquier  referencia  PASCAL  para  elementos  sintác4cos  del  lenguaje  
de  programación  SCL.    

PRÁCTICA  S7-­‐1200  
 

23  
Organización  de  programas  

13/10/14  
•  Al  crear  el  programa  de  usuario  para  las  tareas  de  automa4zación,  
las  instrucciones  del  programa  se  insertan  en  bloques  lógicos  (OB,  FB  
o  FC).  De  manera  estándar  está  disponible  el  bloque  de  organización  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


Main  [OB1].  
OB (bloques de organización)

FC (función)
No tiene bloque de datos de instancia

PRÁCTICA  S7-­‐1200  
FB (bloque de función) tiene un bloque de datos de
instancia para almacenamiento temporal

DB (bloque de datos) para acceso global


y almacenamiento permanente 24  
Organización  de  programas  

13/10/14  
•  Programación  lineal  
•  Un  programa  lineal  ejecuta  todas  las  instrucciones  de  la  tarea  de  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


automa4zación  de  forma  secuencial,  es  decir,  una  tras  otra.  
Generalmente,  el  programa  lineal  deposita  todas  las  instrucciones  del  
programa  en  un  OB  de  ciclo  (como  OB  1),  encargado  de  la  ejecución  
cíclica  del  programa.    

PRÁCTICA  S7-­‐1200  
25  
Organización  de  programas  

13/10/14  
•  Programación  estructurada  
•  En  el  caso  de  tareas  de  control  amplias,  se  subdivide  el  programa  en  bloques  
de  programa  más  pequeños,  abarcables  y  ordenados  por  funciones.  Esto  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


presenta  la  ventaja  de  permi4r  la  comprobación  de  las  partes  del  programa  
de  forma  independiente  y  ejecutarlas  como  una  función  global  durante  el  
funcionamiento.  
•  Los  bloques  de  programa  deben  ser  llamados  por  el  bloque  de  orden  
superior.  Si  se  detecta  un  fin  de  bloque  (BE),  el  programa  con4nuará  
ejecutándose  en  el  bloque  que  llama,  detrás  de  la  llamada.    

PRÁCTICA  S7-­‐1200  
26  

!
Organización  de  programas  

13/10/14  
•  Programación  estructurada  
•  Diseñando  FBs  y  FCs  que  ejecuten  tareas  genéricas,  se  crean  bloques  lógicos  
modulares.    

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  El  programa  de  usuario  se  estructura  luego,  de  manera  que  otros  bloques  
lógicos  llamen  estos  bloques  modulares  reu4lizables.  El  bloque  que  efectúa  
la  llamada  transfiere  los  parámetros  específicos  del  disposi4vo  al  bloque  
llamado.  Cuando  un  bloque  lógico  llama  otro  bloque  lógico,  la  CPU  ejecuta  la  
lógica  de  programa  contenida  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  con4núa  con  la  ejecución  de  la  
instrucción  siguiente  a  la  llamada  de  bloque.    

PRÁCTICA  S7-­‐1200  
࿆ ࿇
2%)%)& 2%)%)&

27  

Organización  de  programas  

13/10/14  
•  Programación  estructurada  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


FC
FB

Global  
Data  Block   FC
Instance  
Data  Block    

OB

PRÁCTICA  S7-­‐1200  
FC FB
Global  
Data  Block  

Instance  
Data  Block  

28  
La profundidad máxima de anidamiento es de 16
Organización  de  programas  

13/10/14  
•  Programación  estructurada  
•  Creando  bloques  lógicos  genéricos  que  pueden  reu4lizarse  en  el  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


programa  de  usuario,  es  posible  simplificar  el  diseño  y  la  
implementación  del  programa  de  usuario.    
•  Se  pueden  crear  bloques  lógicos  reu4lizables  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  
u4lizados  por  diferentes  aplicaciones  o  soluciones.    
•  El  programa  de  usuario  puede  dividirse  en  componentes  modulares  para  las  
tareas  funcionales,  facilitando  así́  su  comprensión  y  ges4ón.  Los  
componentes  modulares  no  sólo  ayudan  a  estandarizar  el  diseño  del  

PRÁCTICA  S7-­‐1200  
programa,  sino  que  también  pueden  facilitar  y  agilizar  la  actualización  o  
modificación  de  la  lógica  del  programa.    
•  La  creación  de  componentes  modulares  simplifica  la  depuración  del  
programa.  Dividiendo  el  programa  completo  en  segmentos  de  programa  
modulares,  es  posible  comprobar  las  funciones  de  cada  bloque  lógico  a  
medida  que  se  va  desarrollando.     29  
•  U4lizando  un  diseño  modular  basado  en  tareas  funcionales  especificas  se  
puede  reducir  el  4empo  necesario  para  la  ejecución  de  toda  la  aplicación.    
Tipos  de  módulos  

13/10/14  
•  Bloque  de  organización  (OB)    
•  Un  bloque  de  organización  (OB)  reacciona  a  un  evento  especifico  en  la  
CPU  y  puede  interrumpir  la  ejecución  del  programa  de  usuario.  El  bloque  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


predeterminado  para  la  ejecución  cíclica  del  programa  de  usuario  (OB  1)  
ofrece  la  estructura  básica  y  es  el  único  bloque  lógico  que  se  requiere  
para  el  programa  de  usuario.  Si  se  incluyen  otros  OBs  en  el  programa,  
éstos  interrumpen  la  ejecución  del  OB  1.  Los  demás  OBs  ejecutan  
funciones  especificas,  tales  como  tareas  de  arranque,  procesamiento  de  
alarmas  y  tratamiento  de  errores,  o  ejecución  de  un  código  de  programa  
especifico  en  determinados  intervalos.  
•  Los  OBs  son  controlados  por  eventos.  Un  evento,  p.  ej.  una  alarma  de  

PRÁCTICA  S7-­‐1200  
diagnós4co  o  un  intervalo,  hace  que  la  CPU  ejecute  un  OB.  Algunos  OBs  
4enen  eventos  de  arranque  y  comportamiento  en  arranque  
predefinidos.    
•  La  CPU  determina  el  orden  de  procesamiento  de  eventos  de  alarma  
según  la  prioridad  asignada  a  cada  OB.  Todo  evento  4ene  una  prioridad  
de  procesamiento  propia.  El  nivel  de  prioridad  correspondiente  dentro   30  
de  una  clase  de  prioridad  determina  el  orden  en  que  se  ejecutan  los  OB.      
Tipos  de  módulos  

13/10/14  
•  Bloque  de  organización  (OB)    
FB

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


Cola de Ciclo OB1
Hardware
ejecución
de OBs DB  
Arranque OB
100
FC

Retardo OB
200
FB
Alarma cíclica OB
201
DB  

PRÁCTICA  S7-­‐1200  
OB
Alarma proceso
Alarmas

202
FC

Alarma error tiempo OB


El  acoplamiento  del  evento   80
al  OB  se  puede  realizar  
durante  la  configuración  así  
Alarma error diagn. OB
como  en  runRme   82
31  
Tipos  de  módulos  

13/10/14  
•  Función  (FC)    
•  Una  función  (FC)  es  un  bloque  lógico  que,  por  lo  general,  realiza  una  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


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  u4lizan  para  ejecutar  operaciones  estándar  y  
reu4lizables  (como  cálculos  matemá4cos)  o  funciones  tecnológicas  
(como  para  controles  individuales  que  u4lizan  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.    

PRÁCTICA  S7-­‐1200  
•  Una  FC  no  4ene  ningún  bloque  de  datos  instancia  asociado  (DB).  La  FC  
usa  la  pila  de  datos  locales  para  los  datos  temporales  u4lizados  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.     32  
Tipos  de  módulos  

13/10/14  
•  Bloque  de  función  (FB)    

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Un  bloque  de  función  (FB)  es  un  bloque  lógico  que  u4liza  un  bloque  de  
datos  instancia  para  sus  parámetros  y  datos  está4cos.  
•  Los  FBs  4enen  una  memoria  variable  ubicada  en  un  bloque  de  datos  (DB)  
o  DB  "instancia".  El  DB  instancia  ofrece  un  bloque  de  memoria  asociado  
a  esa  instancia  (o  llamada)  del  FB  y  almacena  datos  una  vez  que  haya  
finalizado  el  FB.    
•  Es  posible  asociar  dis4ntos  DBs  de  instancia  a  diferentes  llamadas  del  FB.  
Los  DBs  instancia  permiten  u4lizar  un  FB  genérico  para  controlar  varios  

PRÁCTICA  S7-­‐1200  
disposi4vos.  

33  
Tipos  de  módulos  

13/10/14  
•  Bloque  de  función  (FB)    
•  La  figura  siguiente  muestra  un  OB  que  llama  un  FB  tres  veces,  u4lizando  

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


un  bloque  de  datos  diferente  para  cada  llamada.  Esta  estructura  permite  
que  un  FB  genérico  controle  varios  disposi4vos  similares  (p.  ej.  motores),  
asignando  un  bloque  de  datos  instancia  diferente  a  cada  llamada  de  los  
dis4ntos  disposi4vos.  Cada  DB  instancia  almacena  los  datos  (p.  ej.  
velocidad,  4empo  de  aceleración  y  4empo  de  operación  total)  de  un  
disposi4vo  en  par4cular.    
'%
Bloque de función
En  este  ejemplo,  el  FB  22  

PRÁCTICA  S7-­‐1200  
2% controla  tres  disposi4vos  
)% diferentes.  El  DB  201  
'%
)%'% almacena  los  datos  
)%'% opera4vos  del  primer  
)%'%
disposi4vo,  el  DB  202,  los  
'% del  segundo  y,  el  DB  203,  
34  
los  del  tercero.    
 
Tipos  de  módulos  

13/10/14  
•  Bloque  de  datos  (DB)    

TEMA  4  PRINCIPIOS  BÁSICOS  DE  PROGRAMACIÓN.  VISIÓN  


•  Los  bloques  de  datos  (DB)  se  crean  en  el  programa  de  usuario  para  
almacenar  los  datos  de  los  bloques  lógicos.  Todos  los  bloques  del  
programa  de  usuario  pueden  acceder  a  los  datos  en  un  DB  global.  En  
cambio,  un  DB  instancia  almacena  los  datos  de  un  bloque  de  función  
(FB)  específico.    
•  Los  datos  almacenados  en  un  DB  no  se  borran  cuando  finaliza  la  
ejecución  del  bloque  lógico  asociado.  Hay  dos  4pos  de  DBs,  a  saber:    
•  Un  DB  global  almacena  los  datos  de  los  bloques  lógicos  en  el  programa.  

PRÁCTICA  S7-­‐1200  
Cualquier  OB,  FB  o  FC  puede  acceder  a  los  datos  en  un  DB  global.    
•  Un  DB  instancia  almacena  los  datos  de  un  FB  específico.  La  estructura  de  los  
datos  en  un  DB  instancia  refleja  los  parámetros  (Input,  Output  e  InOut)  y  los  
datos  está4cos  del  FB.  (La  memoria  temporal  del  FB  no  se  almacena  en  el  DB  
instancia.)    
35  

Anda mungkin juga menyukai