Está en la página 1de 27

IntroduccinalentornodedesarrolloSimaticManager 1

COMPLEMENTOS
FORMATIVOS DE MASTER







ENTORNO
SIMATIC MANAGER
PARA STEP7









UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 2

1. INTRODUCCINALENTORNODE
PROGRAMACINSIMATICMANAGER(I)

1.1. INTRODUCCIN
El objetivo de esta seccin es la familiarizacin del alumno con el uso de una
herramientaprofesionalparalaprogramacincomoeslaofrecidaporlacasaSIEMENS
para las familias S7300 y S7400. Ms concretamente, el laboratorio cuenta con
autmatasS7313CylaherramientadeprogramacinSimaticManager(SM)versiones
5.3 y 5.5. La versin 5.3 corre sobre Windows XP Profesional (exclusivamente) y la
versin5.5msrecientefuncionasobreWindowsVistayWindows7. Actualmenteno
sedisponedesoporteparaotrasplataformasdiferentesaWindows.
Simatic Manager es un entorno profesional flexible que permite programar
todos los autmatas de las familias SIEMENS S7300 y S7400 entre otros. Para ello
est dotado de una potente coleccin de libreras que almacenan las caractersticas
especficas Hardware (HW) de cada modelo autmata y los diferentes elementos de
conexionadoexistentesenelmercadoparaconfiguracionesenred.
Simatic Manager se distribuye como un conjunto de herramientas
independientes que son ejecutables por separado pero que entroncan, en muchos
casos con una aplicacin principal interfaz con el usuario. Entre las herramientas
disponiblesenladistribucinestndardeSMdestacan:
Herramientas de configuracin de las comunicaciones: PLCPC mediante bus
MPI,NetPro(configuracinderedesindustriales),etc.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 3
Herramientasdeconversinentrearchivos:porejemplopasodelmsantiguo
lenguajeSTEP5aSTEP7
Administradordelicencias
Editores de bloques para los lenguajes AWL (ensamblador S7), FUP (lenguaje
grficomediantefuncioneslgicas),KOP(lenguajegrficomediantecontactos),
S7GRAPH(lenguajegrficomediantegrafcets)ySCL(lenguajedealtonivel).
Simulador
En este captulo se realizar una breve introduccin al manejo de la
herramienta Simatic Manager indicando algunos aspectos fundamentales con ayuda
deunprogramadecontrolsencillo.

1.2. NOTACINYABREVIATURASMSFRECUENTES
LaherramientaSMesunaherramientaprofesionalqueconstademultitudde
opcionesparaelusuario.Paraindicarposiblesaccionessobreelentornosedescribea
continuacin la notacin que se va a emplear a lo largo del texto. Dicha notacin
constadeabreviaturasparaindicarlasdiferentesventanas,ascomounasintaxispara
indicarmensysubmens.Parafuncionalidadesbsicastambinseindicarnposibles
atajosdetecladoylosiconosdelabarradeherramientascorrespondientes.

1) VentanaprincipaldelSimaticManager(VP)


2) VentanadeedicindecualquierbloqueenelSimaticManager(VE)

3) Ventanadeedicindelatabladesmbolos(VT)

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 4


4) Ventanadelaaplicacinsimulador(VSIM)


5) Ventanaasistenteparalacreacindeunproyecto(VASI)


6) VentanadeconfiguracindelHardwaredelproyecto(VHW)


7) Ventanadereferencia(VREF)

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 5


8) Atajos de teclado: Todas las combinaciones de tecla irn en cursiva, como por
ejemploALT+ENTERoCTRL+2.Cuandosehaganecesariohacerreferenciaauna
ventanaseincluircomocabeceraseparadapor":"(e.g.VE:CTRL+ALT+Tabrela
tabladesmbolos).

9) MensdelSimaticManager:Seseguirlanotacin

<Ventana: Men> [> <Comando/submen>]


PorejemploVP:ArchivoArchivaroVP:EdicinSeleccionarTodo
Alolargodeltextolosidentificadoresdeventanairnsiempreenmaysculaynegrita
,loscomandosdemensosubmensenletraminsculacursivaylosatajosdeteclado
enmaysculacursiva.
Seofreceacontinuacinunlistadodelasabreviaturasmsfrecuentesempleadasalo
largodeestecaptulo:
VP:VentanaPrincipaldelSM
VE:VentanadeedicindebloquesenelSM
VT:VentanadeedicindelatabladesmbolosenelSM
VSIM:AplicacindesimulacinaccesibleatravsdelSM
VASI:Ventanaasistenteparalacreacindeunproyecto
VHW:VentanadeconfiguracindelHardwaredelproyecto
VREF:Ventanadereferencia

SM:EntornodeProgramacinSimaticManager
HW:Hardware
SW:Software

1.3. CREACINDEUNPROYECTO
La programacin de un PLC mediante el Simatic Manager exige, en primer
lugar,configurarunasesindetrabajooproyecto.UnproyectoenSMestcompuesto

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 6
por subproyectos que pueden ser configuraciones HW (con su configuracin SW
asociado)oconfiguracionesSWindependientes.Unejemplodeunproyectoformado
por mltiples subproyectos puede verse en la siguiente figura donde existen dos
subproyectosSWenSTEP7independientesdeunHWconcretoyunsubproyectoSW
quevacorrerenlaCPU313Cdelafamilia300.


En esta seccin se describen los pasos bsicos para crear un primer proyecto
ParaunamayorclaridadenlaexposicinseutilizarcomoPLCdestinodelproyectoel
autmata de SIEMENS S7313C de la familia S7300 a disposicin del alumno en el
laboratorio.
TrasarrancarelentornoSMaparecepordefectoelasistenteparalacreacin
deunproyecto(ventanaVASI)quesemuestraacontinuacin:



Nota: Existe la posibilidad de que se haya deshabilitado el asistente y aparezca
directamente la ventana principal VP tal y como qued en la ltima sesin. Si este es el
caso, vaya al men VP: Archivo > Nuevo Proyecto y aparecer la ventana del
asistente.
SipulsaelbotnPreliminarsedespliegandosventanas.Enlaventanainferior
izquierdaseindicademanerajerrquicalaconfiguracindelproyectopordefectodel
asistente:nombredelnuevoproyecto(S7Pro2enlafigura),laconfiguracinHW(para
la CPU312C) y la estructura SW de bloques (Programa S7). En la ventana inferior
derechaapareceelbloqueOB1,elmduloprincipaldelproyectoSW.
Si se pulsa ahora Siguiente el asistente permitir en sucesivas etapas
seleccionarelmodelodelautmata,elconjuntodebloquesdeoperacionesprevistos

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 7
para el proyecto (que depende del modelo de CPU elegida), el lenguaje que se va a
usarentodoslosbloquesyfinalmenteelnombreyellugardealmacenamientoenel
disco duro. Si se pulsa Finalizar crear el nuevo proyecto con la configuracin
predefinida.

EJERCICIO: Cree un proyecto Ejemplo para el PLC con CPU 313C y bloques de
organizacinOB1yOB100quesevanaprogramarenlenguajeAWL

Alterminar,laventanaprincipalVPdeberamostrarlosiguiente:

En la parte de la izquierda aparece la configuracin HW y SW de forma similar a la


mostrada por el asistente VASIS. En la parte de la derecha aparecen los elementos
relacionadosconelelementoseleccionadoenlaventanaizquierda.

Cambie el nombre de la CPU a CPU313C seleccionando la CPU con el ratn y


pulsandoF2.CambieelnombredelproyectoSWporHolaMundo_S7.

Una caracterstica importante del entorno SM es que ofrece informacin contextual


paracasicualquiericonoqueapareceenpantalla.Normalmenteparaaccederadicha
informacin basta con pinchar sobre el objeto con el botn derecho del ratn y
seleccionar Propiedades del objeto... (el atajo es seleccionar el elemento grfico y
ejecutarelcomandoALT+ENTER).
Por ejemplo, seleccione el icono de proyecto Ejemplo y pulse ALT+ENTER. Aparecer
una ventana de dilogo que permite editar el autor, escribir comentarios acerca del
proyecto y comprobar si todos los paquetes SW necesarios para la correcta
compilacin y ejecucin del cdigo estn correctamente instalados. De manera
anloga,aparecenventanasdepropiedadessimilaresparalosiconosEquipoSIMATIC
300,HolaMundo_S7etc.

1.4. CONFIGURACINHARDWARE
El esqueleto del proyecto Ejemplo de la sesin anterior se ha generado
automticamente con ayuda del asistente incorporado en SM. En esta seccin se
realizarlaconfiguracindelHWdelmismodirectamentedesdelaventanaprincipal
VP.
Desde VP vamos a crear un proyecto nuevo. Para ello ejecute VP: Archivo
>Nuevoyleaparecerlaventanasiguiente:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 8


Elija un nombre para el nuevo proyecto que no coincida con ninguno de los ya
existentes (por ejemplo Ejemplo1) y mantenga el resto de las opciones a los valores
pordefecto(tipoproyectoyubicacineneldirectorioprevistoporlaaplicacin).
ParaintroducirlaCPU313Cenlaconfiguracinpinchesobreelpanelizquierdo
de la ventana principal con el botn derecho del ratn y seleccione Insertar nuevo
destino>SIMATIC300delsubmenemergentetalycomoindicalafigura.


Aparecer un nuevo icono en el proyecto con nombre SIMATIC 300(1). Cambie el
nombresiquierecomoenelapartadoanterior.Ahoraseleccionandoelelementocon
elratnypulsandoALT+ENTERseabrirunapantalladeinformacindedilogoque
permiteaadirelnombredelautoryuncomentarioparadescribirlaconfiguracin.

Introduzca su nombre en el campo autor y escriba un comentario para la


configuracinrecincreada.

AcontinuacinesnecesariodeterminarelPLCconcretodelafamiliaS7300,la
CPU313Cenesteejemplo.Paraellohagadobleclicksobreeliconodeconfiguracin
SIMATIC 300(1), seleccione el icono nuevo Hardware y vuelva a hacer dobleclick.
AparecerlaventanadeconfiguracinHWsiguiente:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 9


EstaventanaesmuyimportanteyaquepermiteestablecerlaconfiguracinHardware
y las comunicaciones que componen una instalacin de automatizacin completa:
PLCs,busesdecomunicacin(PROFIBUS,PROFINET,etc.),topologasderedyequipos
deinterconexionado(ET200M,ET200S,SCALANCEXetc.)entreotros.
Acontinuacinsedescribeendetalle,amododeejemplosimple,laconfiguracinde
la CPU313C conectada mediante bus MPI al PC. Para ello lo primero que hay que
haceresaadirunbastidordelafamilia300queseencuentraenelcatlogodelpanel
izquierdotalycomomuestralafigura:


Hagadobleclickeneliconooarrstreloalpanelsuperiorderecho.Automticamente
seincluyeelobjetobastidorenelproyecto:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 10


El bastidor tiene un conjunto de slots o ranuras, destinadas a ubicar elementos
hardware.Algunasdeestasranurasestnreservadasparaunhardwareespecfico(por
ejemploenelslot0solopuedeirunafuentedealimentacin)yotrossondepropsito
general.Enesteproyectonosenecesitalafuenteasquedirectamenteseselecciona
la CPU313C del catlogo y se le arrastra sobre el bastidor. La aplicacin le asigna la
primeradireccinaccesible,enestecaso,elslot2.
Nota: Hay que tener cuidado al elegir el perfil del catlogo para que concuerde
exactamente con el PLC real. Normalmente cada modelo posee un identificador
xerigrafiado en la carcasa que debe coincidir exactamente con el perfil de la librera.
Una vez seleccionado el modelo correcto de CPU313C la apariencia del bastidor
deberaserahorasimilaraesta:


Observe que la CPU incluye diferentes mdulos de entrada salida y contaje
(direccionesdeslot2.2,2.3y2.4)yqueselehaasignadoalPLCladireccinderedMPI
2paraestablecerlacomunicacinPCPLC.
Guarde y compile ahora la configuracin pulsando VCONF: Equipo>Guardar y
compilar(alternativamenteCTRL+S).Tambinpuedeconseguirelmismoefectoconel
iconocorrespondienteenlabarradeiconos:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 11
Terminadalaoperacin,alventanaprincipalmuestraahoraelproyectoHWcompleto
delquecuelgaasuvezunproyectoSWasociadocon unnicobloque,elbloquede
organizacinprincipalOB1,comosemuestraenlafigurasiguiente:

1.5. PROYECTOSOFTWARE
En el ejemplo del apartado anterior se ha configurado automticamente un
subproyecto SW una vez que se ha definido el PLC sobre el que se va a ejecutar. Es
posibletambincrearunproyectoSWindependientedelaconfiguracinHW.Enesta
seccin analizamos brevemente las caractersticas de un subproyecto SW cuya
estructura est estrechamente ligada a la arquitectura SW de programacin del
autmata.
Un subproyecto SW se representa grficamente como una carpeta con un
smbolo en su interior que hace referencia a la familia de PLCs a la que va dirigido
(tpicamenteS7oM7).Enelejemploanterior,seconfigurunPLCdelafamiliaS7300
ySMcreoautomticamenteunproyectoSWdetipoS7.
ParainsertarunproyectoSWindependientedeunaconfiguracinHWconcreta
vayaalaventanaprincipal,seleccioneelobjetoproyecto,nodorazdelajerarquay
con el botn derecho del ratn e inserte un objeto de programacin como indica la
figura:

UnproyectodeSWenSimaticManagerconstade3elementos:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 12
Carpeta de ficheros fuente: Contiene cdigo fuente que se puede compilar
automticamenteparacrearelcdigodebloquesprevistosporlaarquitectura
deprogramacin.
Carpeta de bloques: Contiene los bloques de cdigos previstos por la
arquitectura de programacin para el HW configurado. La arquitectura de
programacin SW en Step 7 est estructurada en bloques de cdigo. Los
bloquesdeorganizacin(denominadosOB)sonejecutadosdirectamenteporel
sistema operativo del PLC y nunca pueden ser llamados por el programa del
usuario. El nmero de bloques de operacin existentes va a depender del
modelo del PLC particular, pero tiene que existir en todo subproyecto SW un
bloqueprincipalOB1queserejecutadosiempredemaneracclicaporelPLCy
queconstituyeelpuntodearranquedeltodoprogramadeusuario.
Tabla de smbolos: Tabla de smbolos que representan identificadores en
memoriayquepermitenunamayorlegibilidaddelcdigo.
LafigurasiguientemuestrauntpicosubproyectoSW.


Para guardar una sesin de trabajo la primera vez seleccione la opcin VP:Archivo
>Guardarcomo...(atajoCTRL+SdesdeVP),elijaelproyectoquequiereguardar(por
defectoelqueestactualmenteenuso)ylarutaypulsesobreelbotnAceptar.

1.6. PROGRAMA"HOLAMUNDO"
Eninformticasesuelereferiralprograma"HolaMundo"(HelloWorld)aquel
que saca por consola el mensaje "Hola Mundo". Se emplea para comprobar que la
configuracindelentornodeprogramacinylaconsolaeslaadecuadaparatrabajar.
El programa Hello World en Automatizacin es hacer que un actuador siga a una
entrada. La sesin completa incluye la compilacin del cdigo, su simulacin en el
SimaticManager,ysucargayejecucinenelPLCparacomprobarquelaconfiguracin
HW es la correcta y que los mdulos digitales de entrada salida funcionan
adecuadamente.
EnestaseccinsecrearunasesinconunproyectoSWparaelHolaMundo.
Esteproyectoservirenseccionesposterioresparailustraralgunascaractersticasmuy
importantesdelSimaticManager.
ParacomenzarcreeunproyectonuevoconnombreHolaMundoeincluyaun
subproyecto SW para STEP7 segn lo explicado en secciones anteriores (no es
necesarioincluirlaconfiguracinHWdelPLCalquevadestinadoenesteejemplo).A
continuacin edite el bloque principal OB1 haciendo dobleclick en el mismo y

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 13
pulsandoaceptarenlaventanadedilogoqueapareceparaarrancarlaaplicacinde
edicindebloques,quesemuestraacontinuacin:


Laventanadeedicindebloquesestdivididaentrespartes:unpanelizquierdoque
presentarecursosdeprogramaciny/olaestructuradebloquesdelproyectoSW,un
panelderechoinferiordondeseescribeeltextodelprogramayunaventanasuperior
paraelpasodeparmetrosalosbloques.
El panel de escritura, a su vez, est divido en segmentos la unidad de programacin
estructurada mnima en STEP7. Si bien el uso de segmentos no es estrictamente
obligatorio es muy recomendable hacer uso de ellos pues facilitan enormemente la
labordedepuracinylegibilidaddelcdigoascomofacilitanlatraduccinentrelos
diferenteslenguajespermitidosporSM.
La zona de edicin de segmentos, a su vez, est subdividida en cuadrculas para
comentarios:Unacabecerattuloparacadasegmentoyuncajetnparatexto.Debajo
delcajetndelcomentarioseencuentralazonadondeiraelcdigoens.Laaplicacin
es totalmente configurable a travs del men VE:Ver>Mostrar. Por ejemplo si no
deseaveroescribirposiblescomentariosseleccioneVE:Ver>Mostrar>Comentarioy
seocultarnloscajetinesquedandoelespaciolibreparalavisualizacindelcdigo.
AcontinuacinescribaelcdigoAWL(elensambladordeSTEP7)deHolaMundo.Para
elloprimeramenteconfigurelaventanaedicinenmodoensamblador:VE:Ver>AWL
(o alternativamente el atajo CTRL + 2 desde VE). Escriba las dos instrucciones
siguientesenelsegmento1(pincheconelratnenlazonadelapantalladebajodel
cajetndecomentariosinovisualizaelcursordeedicin):
U E 124.0 //Lee la entrada E124.0
= A 124.0 //Copia el valor de la entrada E124.0 a la salida A124.0

E 124.0 son A 124.0 son bits de lamemoriaRAM del PLC. Concretamente laE 124.0
direccionaelprimerbitdelbyte124,imagenenmemoriadeunmdulodeentradas
digitales acoplado al PLC (Eingang es entrada en alemn). El identificador A 124.0
correspondeaunmdulodeactuadoresosalidas(Ausgangenalemn).

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 14
Laexplicacindecadainstruccinaparecetraslasdoblebarra(enAWL,aligualqueen
el lenguaje de alto nivel C++, la doble barra // permite introducir comentarios para
cada instruccin). Cada instruccin se escribe en una lnea de texto diferente y es
interpretada nada mas pulsar ENTER. En caso de error se resalta en rojo el texto no
compilado.
La figura siguiente muestra el panel de edicin resultante. Se le han aadido
comentariosadicionalesamododeejemplo:


Guarde el contenido de la ventana de edicin seleccionando VE:Archivo >Guardar
(alternativamente CTRL + S o pulsando en el icono Guardar de la barra de
herramientas).Engeneral,convieneguardarinmediatamentelosbloquesmodificados.
ElnohacerloesmotivomuyfrecuentedeerroresaltrabajarconSMyaquemuchas
funcionalidadesdealtonivelleencontinuamentelainformacindelosbloques.

1.7. SIMULACIN
El entorno Simatic Manager se distribuye con la aplicacin S7PLCSIM que
permite la ejecucin simulada debloques de cdigo. En el desarrollo de SW para el
PLC la etapa de simulacin juega un papel fundamental, permitiendo verificar el
funcionamientocorrectodelosprogramasdecontrolantesdesuejecucinenelPLC.
S7PLCSIM puede ejecutarse de manera independiente al entorno SM, pero
habitualmente se accede desde la ventana principal del entorno, a travs del men
VP: Herramientas>Simular mdulos (o pulsando el icono de la barra de
herramientas).
EnestaseccinsevaasimularelprogramaHolaMundodelaseccinanterior.
Paraelloejecutelaaplicacindesimulacin.Aparecerunaventana(VSIM)comola
quesemuestraacontinuacin:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 15
LaventanaqueaparecealaizquierdaenVSIMsimulalosmandosylosledsdeunPLC
genrico.Existentresmodosdefuncionamiento:
STOP:mododeparada.Noseejecutaningnprograma.
RUN: modo de ejecucin. Se ejecuta el programa cargado previamente en el
simulador.
RUNP:mododeejecucinenpruebas.Adiferenciadelmodoanteriorpermite
lacargadebloquesdurantelaejecucin.Seempleaparaprobarrpidamente
cambioscontroladosenelcdigofuente.
Parapodersimularcorrectamenteunprogramaesnecesarioconfigurarpreviamente
enVSIMlainformacinquesequierevisualizardurantelaejecucindelcdigo,que,
enelcasodelprogramaHolaMundosernsusdosnicasvariablesE124.0yA124.0.
Para insertar el byte de entradas 124 (EB 124) en VSIM proceda de la siguiente
manera:
1)CreeunvisordeentradasmedianteVP:Insertar>Entrada(alternativamenteF2)
2)Configureelvisoradecuadamente,cambiandoEB0porEB124.
Coloqueacontinuacinunnuevo visorparalavariableA124.0(VP:Insertar>Salida,
alternativamente F3) y configrelo adecuadamente de manera anloga. Si ha
procedidocorrectamenteVSIMdeberapresentarelaspectosiguiente:


Previamente a la ejecucin del cdigo en el proyecto SW es necesario cargar los
bloquesenelsimulador,emulandoelprocesoenelPLCreal.Elsimuladorrealmente
hacelasvecesdeunPLCmuypotentequenoexisteenelmercado,laCPUS7841yla
cargaserealizasobreestePLCvirtualenlugardelPLCconectadoatravsdelbusMPI.
Para ello basta con lanzar primero la aplicacin de simulacin, seleccionar desde la
ventanaprincipallolosbloquesquesedeseencargar(enestecasoelbloqueOB1)y
seleccionarVP:Sistemadedestino>Cargar(alternativamenteCTRL+L enlabarra
deherramientas).Lafiguraacontinuacinmuestraestafuncionalidad:

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 16


UnavezcargadoycorrectamenteconfiguradolevisordeVSIMparamostrartantoel
byteentradaEB124comoelbytesalidaAB124,ejecuteelprogramaelPLCsimulado
seleccionando la casilla RUN. Ahora compruebe que el cdigo est funcionando
correctamente: la activacin/desactivacin del bit de entrada E 124.0 manualmente
producirelmismoefectoenlasalidaA124.0,comoilustralafiguraacontinuacin:

1.8. RESUMEN
En este captulo se ha realizado una breve introduccin al manejo de la aplicacin
SimaticManager,laherramientadedesarrollodeprogramasparaPLCsdelfabricante
SIEMENS.Losconocimientosbsicosadquiridosson:
Creacindeunproyecto
Configuracinhardwareysoftware
Creacin,compilacinysimulacindelprogramaHolaMundo

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 17

2. INTRODUCCINALENTORNODE
PROGRAMACINSIMATICMANAGER(II)

2.1. INTRODUCCIN
En este captulo se analizan algunos de los aspectos ms importantes de la
aplicacinSimaticManager.Algunosdeellospermitirnescribirprogramasdemanera
muchomseficienteylegible.Otrosfacilitarnelmantenimientoyladepuracindel
cdigo,algoimprescindibleenunlenguajeensambladorcomoesSTEP7.
ParalaexposicinseemplearelprogramaHolaMundocreadoenlaseccin
anterior.Acontinuacin,abraelproyectoHolaMundoyediteelbloqueOB1(haga
dobleclickeneliconodelbloquedesdelaventanaprincipal).

2.2. SMBOLOS
Los programas de control de una instalacin automatizada pueden emplear
cientosoinclusomilesdevariablesycadaunadeellastieneunadireccindememoria
asociadaenelPLC.Debidoaello,todoslosentornosprofesionalesdeprogramacinde
PLCspermitenasociarunnombresimblicoacadadireccindememoriautilizadapor
el programa. Esa asociacin se almacena en una tabla conocida como tabla de
smbolos.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 18
EnSM,cadavezqueseeditaunbloquedecdigoesposibleaccederalatabla
de smbolos asociada con el proyecto SW al que pertenece dicho bloque. Antes de
accederalatablarealicelasiguientetarea,segnlovistoenelcaptuloanterior:

TAREA1:IntroduzcaunnombresimblicoparaelbloqueprincipalOB1delprograma
HolaMundo (por ejemplo ciclo scan). Incluya el siguiente comentario al smbolo:
Bloqueprincipal.

Sugerencia: Acceda a la ventana de propiedades del bloque desde la ventana


principalVP.

Ahora, desde la ventana de edicin, seleccione VE: Herramientas>Tabla de


smbolos (o CTRL + ALT+T) y se abrir la ventana de smbolos (VT), en este caso
mostrandocomonicosmbololenombredelbloquequeacabamosdeintroducir,con
sucorrespondientecomentario.



La ventana de edicin de la tabla de smbolos permite asociar un smbolo a una
variable de memoria de una manera muy sencilla: se selecciona una fila libre con el
ratnysepulsaelbotnderechoconloqueapareceunmencontextualquepermite
borra, aadir o incluso completar un nombre. Tambin es posible seleccionar con el
ratn una casilla de una fila vaca y escribir directamente. SM lleva el control de
posiblesrepeticionesdenombresyfacilita,enlamedidadeloposible,laentradade
datosconsistentes.

TAREA 2: Introduzca nombres para las variables del programa HolaMundo (por
ejemploSensorparalaE124.0yActuadorparalaA124.0).

Cuando haya completado satisfactoriamente la tarea guarde la tabla


VT:Archivo>Guardar (o CTRL + S) y cierre VT . Ahora la ventana de edicin debera
mostarrlossmbolosdelasvariableynosusdireccionesdememoria,comomuestrala
figura:


De no ser as es que la opcin de mostrar informacin simblica est desactivada.
SeleccioneVE:Ver>Representacinsimblica(oCTRL+Q)paraactivardichomodoy
comprobarcomoahorasestnpresenteslossmbolos.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 19
Una manera ms sencilla de aadir smbolos es desde la propia ventana de
edicindebloques.Paraelloesnecesarioprimeramentecompilarcorrectamenteuna
instruccinquecontengalavariableencuestin,paradespusseleccionarcolocarel
cursor encima y pulsar ALT+ENTER (alternativamente botn derecho con el cursor
encimadeltextodelavariableyseleccinEditarSmboloenelmencontextualsegn
lafigura)


Aparecer ahora un dilogo que permite insertar o modificar el nombre del smbolo
correspondiente.Alcerrarlaventanaloscambiosseincorporanautomticamenteala
tabladesmbolos.
Una capacidad muy til del entorno de desarrollo es que permite completar los
nombressimblicosdurantelaescrituradecdigo.Paraello,bastaconintroduciruna
parte del nombre y, tras pulsar con el botn derecho seleccionar Insertar smbolo (o
CTRL+J)enelmencontextual.Apareceentoncesunatablacontodoslossmbolos
definidos en el proyecto SW ordenados alfabticamente por similitud con el texto
introducido.
Estacaractersticaesmuchomsimportantedeloquepudieraparecer,puesfacilita
sobremaneralaescrituradecdigoenprogramasdecontrolcomplejos.Dehecho,se
recomienda como buena praxis el ir introduciendo smbolos desde los primeros
segmentosdecdigopara,posteriormente,hacerusodeestafuncionalidad.
En cualquier caso, es imprescindible el uso de una buena tabla de smbolos en
cualquier programa de control real, que incluya smbolos al menos para todas las
entradasysalidasreales,ascomolosbloquesycomponentesdeprogramacinms
relevantes(temporizadores,contadores,bloquesdefuncin,bloquesdedatosetc.).

2.3. CONFIGURACINDESMBOLOSENELSIMULADOR
Enelcaptuloanteriorsehaaprendidoautilizarelsimuladordelentornodedesarrollo
PLCSIM para depurar el programa HolaMundo, configurando el interfaz de manera
conveniente para mostrar las dos nicas variables de control que empleaba el
programa(E124.0yA124.0).
Losprogramasdecontrolrealessuelenmanejarmuchoscientosdevariables.Enestos
casosesimprescindibleelpoderhacerusodelatabladesmbolosdelproyectoSWen
la propia sesin de simulacin ya que facilita en sumo grado el seguimiento de la
funcionalidad. Esta seccin muestra como se puede configurar PLCSIM para mostrar

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 20
lossmbolosdelasvariables.Paraello,conelproyetcoSWdelprogramaHolaMundo
abierto en la sesin, arranque el PLCSIM (VP:Herramientas>Simular mdulos) y
configureadecuadamenteelinterfazparavisualizarlosbytesEB124yAB124comoen
elcaptuloanterior(verfigura)


Apesardeque,enestecaso,sehaarrancadoPLCSIMdesdeunasesinconcretadel
entorno SM, conviene destacar que PLCSIM es una aplicacin independiente y que
puede ejecutarse sin necesidad incluso de que SM est en ejecucin. Estando
corriendo tanto PLCSIM como SM, existe un vnculo implcito que permite cargar los
bloques de cdigo desde SM a PLCSIM como vimos en la seccin anterior. Sin
embargo,nohayunvnculosimilarparalainformacinsimblica.
Para establecer esta asociacin seleccione el men VSIM: Herramientas>Opciones
>Asignarsmbolos...talycomomuestralafigura.


Posteriormente seleccione la informacin simblica del proyecto SW HolaMundo (es
muy posible que no sea la primeraopcin; recuerde que a pesar de que el proyecto
HolaMundo est abierto en el SM, PLCSIM no es consciente de ello) haciendo doble
clicksobreeliconoetiquetadocomoSmbolos.Lafigurasiguienteilustraunaposible
sesindetrabajo.CuandoterminepulseAceptar.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 21
Una vez establecida la asociacin entre el proyecto SW y PLCSIM a travs de la
informacin simblica PLCSIM, por defecto, permite visualizar esta informacin en
pantalla(puededesactivarestemodoseleccionandoVSIM:Herramientas>Opciones
>Mostrar smbolos...). Sin embargo, si ha seguido correctamente el ejemplo, las
ventanasdeentradaysalidadeVSIMsiguensinmostrarlosnombressimblicosdelas
variablesE124.0yA124.0.Estoesdebidoaquelasventanasentrada/salidanotienen
espacioparapintarlossmbolosdecadabitparticular.
Para comprobar que los smbolos de nuestro programa HolaMundo estn
correctamentevinculadosaPLCSIMserecomiendaelsiguienteejercicio:

TAREA 3: Inserte un nombre simblico para el Byte EB 124. Compruebe que su


nombreapareceenlugardeEB124enlaventanadeentradasdePLCSIM

Nota:AtravsdelvnculodelainformacinsimblicaentreelproyectoSWyPLCSIM
puedeaccederdirectamentealatabladesmbolosdesdelaaplicacindesimulacin,
seleccionandoVSIM:Herramientas>Opciones>Tabladesmbolos(oCTRL+ALT+T
conVSIMactiva).

LafiguramuestraelresultadodeasociarelsmbolobytealbytedememoriaEB124.


ParaterminarelejemplovamosaconfigurarPLCSIMparamostrarlosnombres
debitsindividuales.Paraelloesnecesarioelegirotraformadevisualizarlosdatos,las
ventanas de bits verticales (VSIM: Insertar>Bits verticales). Estos visores son de
propsitogeneralymuestraninformacindebytesdememoriaRAM.Insertedosde
ellos y llmelos EB 124 y AB 124 respectivamente. Comprobar que ahora s los
nombresdelosbitsEB124.0yAB124.0aparecenenlaimagen(sinoesas,desactive
y active la visin de los smbolos para refrescar la pantalla (VSIM:>Herramientas
>Opciones>Mostrarsmbolos)).Elresultadofinalapareceenlafigura.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 22

2.4. LENGUAJESFUPYKOP
El entorno SM incluye tres lenguajes grficos adems del ensamblador AWL
para STEP 7. stos son un lenguaje de contactos (KOP) destinado a los ingenieros
elctricos, un lenguaje de puertas lgicas (FUP) orientado a los electrnicos y un
lenguajeorientadoalarepresentacindeautomatismosconocidocomoS7GRAPH.
SMproporcionaademsunintrpreteautomticoentreKOP,FUPyAWLque
esinteresanteconoceryaquepermiterealizarlapartemstpicadelosdesarrollosen
cualesquieradelosdoslenguajesgrficoyretocarelcdigoenAWLtraslaconversin
automtica.
Paraalternarentrelastresrepresentacionesdelcdigodeunbloqueediteel
bloque OB1 del programa HolaMundo y seleccione el men VE:Ver>KOP, VE:Ver
>AWL y VE:Ver>FUP respectivamente (o el atajo CTRL +1,2,3 respectivamente).
Comprobar comosevansucediendosegmentoasegmentolosdiferenteslenguajes.
LafiguramuestraelprogramaHolaMundoenlenguajeKOP:


EnprincipiosepuedencualquierprogramadecontrolescritoenAWLtieneuna
traduccinequivalentealoslenguajesFUPyKOP.Enlaprcticaesmuyposiblequeun
cdigoenFUPoKOPrequieramassegmentosgrficosquesuequivalenteenAWL,que
siempre ser ms compacto. Adems el traductor automtico no ser capaz de
alternar entre las tres representaciones en cuanto no se respete la estructura de
segmentosqueseaanalizaenlaseccinsiguiente.

2.5. PROGRAMACINCONSEGMENTOS
Lossegmentossonparticionesdecdigodentrodelosbloquesqueelentorno
Simatic emplea para gestionar el cdigo de manera ms eficiente, facilitando su
mantenimiento,depuracinytraduccinaotroslenguajesgrficoscomoKOPoFUP.
Es, portanto,absolutamenteaconsejableestructuraradecuadamenteelprogramaen
segmentossibiennoesobligatorio.
Entre las facilidades que proporciona SM para gestionar segmentos en la
ventanadeedicindebloquesVEdestacan:
Insertar,copiaryborrar:Elentornoincluyelatpicafuncionalidadcortaypega
de Windows, pero a nivel de segmento (SUPR, CTRL + V etc.). Para ello basta
con seleccionar el recuadro donde aparece el nombre del segmento. Para
insertar un nuevo segmento ejecute el atajo CTRL + R (o VE:Insertar
>Segmento).

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 23
Documentacin:Escribaelttuloyuncomentarioacercadelafuncionalidaddel
segmentoenlaszonashabilitadasparaelloenlaventanadeedicin.
Traduccin: El entorno realiza la conversin entre los tres lenguajes bsicos
(AWL, KOP y FUP) por segmentos. Para que esta traduccin sea posible es
necesarioquelossegmentossemantengansimples.Casodenoserposiblela
traduccin,laventanadeedicinmuestrasiempreelcdigoensamblador.
Depuracin y mantenimiento: Algunas de las herramientas de depuracin
dependen del lenguaje de programacin. Por otro lado, la mayora de
herramientas que informan acerca del cdigo emplean los ndices de los
segmentos para localizar instrucciones dentro de los bloques. A mayor
segmentacinmenorgranularidadenlaindexacin.
Paraexpresarrelacionescombinacionalesentrevariablesestilrecordarlasiguiente
regladeestilo:
Unsegmentodebeterminartraslaprimeraasignacinbiendeunavariablebiendeun
grupodevariablesdemaneraconsecutiva
As por ejemplo, el programa HolaMundo repetido para dos parejas sensor
actuador:
U E 124.0
= A 124.0
U E 125.0
= A 125.0

nocumplelareglaanterioryaquemodificadosvariablesdemaneranoconsecutiva.
Este segmento no tiene traduccin automtica ni a KOP ni a FUP. Sin embargo el
cdigoAWLsiguiente
U E 124.0
= A 124.0
= A 125.0

s cumple la regla ya que se modifican dos variables de manera consecutiva (con la


mismafuncin lgica).Estesegundosegmentotienelatraduccin(automtica)aKOP
siguiente:


dondeseapreciaclaramentequelasvariablesasignadas(lasdosbobinasdelextremo
deladerecha)cuelgandeunmismopunto,expresingrficaenKOPdelaasignacin
consecutivaaludidaanteriormente.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 24

2.6. MANTENIMIENTODEBLOQUES(VISTADEDETALLE)
El entorno SM proporciona abundante informacin acerca del cdigo de los
bloquesparapoderrealizarlaboresdemantenimientoydepuracin.Pienseellector
que esto es absolutamente imprescindible habida cuenta de la complejidad de las
relaciones decontrolquepuedenexistirenlossistemasautomatizados industriales.
En esta seccin se describe la vista de detalle que proporciona el editor de bloques.
ParaelloediteelbloqueOB1delprogramaholamundoyseleccione(sinoloestya)
el men VE:Ver>Detalles (alternativamente pulse sobre el icono ). Aparecer una
ventanaenlaparteinferiordelapantallacomomuestralafigura.


Estepanelesfundamentalparapodergestionarelcdigoenlosbloquesyaque
proporciona una gran cantidad de informacin contextual y conviene, por regla
general, tenerlo activo siempre. Se analizan a continuacin la informacin que
contienenlasdiferentespestaas:
1) Error: La vista de error proporciona informacin de inconsistencias en el bloque
como por ejemplo sintaxis incorrecta, problemas de conexin con las red etc.
Comoejemplo,tratedecompilarlainstruccinU error.Observarqueeltexto
quedaresaltadoenrojoyqueapareceunmensajedeerrorenelpanelindicando
quelavariableesdesconocida.
2) Info: Este panel proporciona informacin del cdigo del bloque donde se
encuentracolocadoelcursor.Porejemplo,siteelcursordeedicinenlavariable
A 124.0. Comprobar que aparece el panel el nombre simblico, el identificador
realyelcomentarioasociadoenlatabladesmbolos(silohubiere).
3) Referenciascruzadas:SeentiendeporreferenciascruzadasenelentornoSMun
anlisis pormenorizado del cdigo que permite desglosar los componentes de las
instrucciones simple (etiqueta, operador y operando) ofreciendo mltiples vistas
de esta informacin (punto de aplicacin de un operando, accin del operador
etc.).ParaelprogramaHolaMundoelpanelmuestra:


Cada fila contiene la informacin de un operando (con su nombre simblico, si
estuvieradefinido,comoenestecaso),elnombredelbloqueactualenlaventanade
edicin,eltipodeaccinasociada(W:escritura,R:lectura)yfinalmenteelsegmento
delcdigo dondeaparece.Enlafigura,lainstruccin= A 124.0correspondeala
primera fila de la tabla y en el punto de aplicacin se indica que se encuentra en la
segunda instruccin del primer segmento y que el operador en esa instruccin es el
nemnicodeasignacin=.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 25
Adems,lacasillapuntodeaplicacinessensiblealratn.Sihacedobleclickendicha
casillacolocarelcursorjustoalcomienzodelainstruccinenlaventanadeedicin
debloque.Estafuncionalidadesidealdurantelafasededepuracinyaquepermitede
unvistazosabertodaslasvecesqueunavariableesmodificadaenelbloqueyacceder
alasinstruccionespertinentesdeunamanerarpida.
4) Informacin del operando: Muestra el valor actual del operando en tiempo de
ejecucin.Elpanelpermiteelegirademsenqumomentodelcicloscansequiere
realizarlamedida.
Para ilustrar el funcionamiento de este panel ejecute el pograma HolaMundo en el
simulador y despus edite el bloque OB1 desde el SM y pulse VE:Test>Observar (
tambinCTRL+F7opulsarenelicono delabarradeherramientas).Estoactivael
modoONLINEypermitevisualizarinformacinenlaventanadeedicinentiempode
ejecucin. Adems observar que la columna con el valor del estado en el panel de
informacin del operando se ha coloreado en verde. El valor de las variables ahora
serelquemarqueelprogramaenejecucin.

TAREA4:Pruebeaforzarelvalordelosoperandosusandoelmencontextualque
aparcetraspincharconelbotnderechosobreelvalordelasvariables.

Nota:NoserposiblesilaventanadeedicinestONLINEyPLCSIMseencuentraen
modoRUN(senmodoRUNPoSTOP).

5) Forzado: Similar al panel de informacin del operando pero permite definir un


valordeforzadoparalosoperandosdelbloqueascomocondicionareldisparodel
forzado(alprincipiodelcicloscan,alpasardemodoRUNamodoSTOPetc.).
6) Diagnstico: Muestra informacin de diagnstico del proceso en ejecucin. Para
ello se requiere configurar previamente la forma de supervisar el cdigo en
ejecucinatravsdelaaplicacinS7PDIAGquesedistribuyeconlicencia.

2.7. MANTENIMIENTOGENERAL(VISTADEREFENCIAS)
SimaticManagerproporcionaunavistageneraldetodoslosbloquesmuytilsi
sequieretenerunavisindelconjunto.Paraaccederaellaseleccione,desdeelbloque
de edicin VE:Herramientas>Datos de referencia y seleccione las opciones por
defecto de los dilogos de ventana que aparecen a continuacin. Aparecer por
defecto la vista de referencias cruzadas similar al panel de referencias cruzadas del
editordebloquesperoestavezconinformacindelosoperandosdetodoslosbloques
(verfigura).

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 26
Comosiemprelascasillassonsensiblesalbotnderechodelratnyesposibleacceder
acualquierinstruccindelprogramaquecontengaunoperandodelatabla.
Laventanade referenciascruzadasofrecevistasalternativasdelcdigocomo
por ejemplo el mapa de memoria direccionado por el programa (VREF:Ver
>Ocupacin), la estructura jerrquica de bloques (VREF:Ver>Estructura del
programa), los operandos sin smbolos (VREF:Ver>Operandos sin smbolo) etc. La
figuraacontinuacinmuestraelmapadeocupacindelprogramaHolaMundoamodo
deejemplo:

2.8. DEPURACIN
SMofreceunagrancantidaddeherramientasparaladepuracindelproceso.
En esta seccin se describe una sesin tpica de depuracin desde el entorno de
edicin. Para ello cargue el proyecto SW HolaMundo en el simulador y ejectelo.
Posteriormente repita el procedimiento descrito en la seccin 2.6 para el panel de
informacin del operando: edite el bloque principal OB1 y, con el programa en
ejecucin, seleccione VE:Test>Observar (alternativamente CTRL + F7 o pulse en el
icono de la barra de herramientas). Observar que en la barra de estado (parte
inferiordelapantalla)aparecelapalabraRUNsobreunfondoverdeparpadeante.
Alpasaramodopruebadesdelaventanadeedicinseestableceunvnculoen
tiempodeejecucinconelPLC(o,enestecaso,elsimuladorPLCSIM)demaneraque
puede visualizarse, a la izquierda de la pantalla, los registros de la CPU tras la
interpretacin de cada instruccin. Este panel es completamente configurable
pulsando con el ratn en cualquier punto del mismo. La figura muestra una tpica
sesinconeleditorenmodoAWL.


Asimismo, se puede alternar entre los diferentes lenguajes AWL, KOP y FUP.
Por ejemplo, para cambiar a KOP salga del modo prueba (seleccione nuevamente
VE:Test>Observar), cambie a KOP (CTRL + 1) y vuelva a pasar a modo prueba (ver
figura).

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager 27


La ventana de edicin en lenguaje KOP y en modo prueba permite visualizar
fcilmente el estado de los operandos. La fuente de alimentacin se encuentra a la
izquierda,la variableSensoresunrelnormalmenteabiertoyActuadoresunabobina
de asignacin. La situacin reflejada en la figura es que la alimentacin no llega a la
bobina porque Sensor lo impide. Si cambia el valor de Sensor a nivel alto desde el
simuladorlasituacinpasaa


indicando que la bobina est a nivel alto. Para bloques con segmentos de tipo
combinacional esta vista proporciona una manera fcil de seguir la evolucin de las
variablesenelbloqueentiempodeejecucin.
Sin embargo, cuando los valores de las operandos toman valores diferentes en el
mismocicloscan(oenciclosconsecutivos)estavistaesinsuficienteysernecesario
herramientas adicionales de diagnstico que se irn describiendo en sucesivos
captulos.

UniversidadPolitcnicadeMadridUPM

También podría gustarte