Está en la página 1de 27

IntroduccinalentornodedesarrolloSimaticManager

COMPLEMENTOS FORMATIVOS DE MASTER


ENTORNO SIMATIC MANAGER PARA STEP7


UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager

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.

1.

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager

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) Ventanadelaaplicacinsimulador(VSIM)

5) Ventanaasistenteparalacreacindeunproyecto(VASI)

6) VentanadeconfiguracindelHardwaredelproyecto(VHW)

7) Ventanadereferencia(VREF)

UniversidadPolitcnicadeMadridUPM

IntroduccinalentornodedesarrolloSimaticManager

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:Archivo ArchivaroVP:Edicin SeleccionarTodo 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

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

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

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

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 = A 124.0 //Lee la entrada E124.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

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.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 = U = E A E A 124.0 124.0 125.0 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