Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Wincc Total
Manual Wincc Total
Version 5.1
CON EL GUAPERAS
INDICE
Cap1. Introduccin a WinCC Cap2. Comunicacin con autmatas S7 Cap3. Editor de grficos: Graphics Designer Cap4. Editor de alarmas: Alarm Logging ..... Cap5. Editor de curvas e histricos: Tagg Logging ..................................................... Cap6. Editor de informes: Report Designer..... Cap7. Programacin en C: Global Script ..... Cap8. Editor de textos: Text Library ..... 1 28 47 112
Aprende WinCC
En el presente manual se recogen una serie de notaciones simblicas que poseen el siguiente significado: Icono Significado Indica un click con el botn izquierdo del ratn. Indica un click con el botn derecho del ratn. Indica doble-click con el botn izquierdo del ratn. Indica una entrada desde teclado.
Aprende WinCC
Requisitos. Los requisitos mnimos y recomendables para trabajar con el WinCC a nivel hardware y software del PC son: Mnimo Intel Pentium II 400 MHz 256 MBytes (para servidores) 128 MBytes (para clientes) 32 MBytes adicionales 650 MBytes de espacio libre de memoria Memoria de trabajo doble 100 MBytes Recomendado Intel Pentium III > 400 MHz > 256 MBytes
CPU Memoria principal/ RAM RAM en caso de configuracin online Disco duro (sin datos del proyecto) Memoria de trabajo virtual Memoria de trabajo para spooler de impresoras Windows Grficos Resolucin
> 32 MBytes adicionales > 650 MBytes de espacio libre de memoria > Memoria de trabajo doble > 100 MBytes
Sistemas operativos para WinCC monopuesto o cliente: Sistema operativo Windows NT Configuracin Windows NT 4.0 Service Pack 6a o superior Windows 2000 Service Pack 2 Observaciones Instale el Service Pack antes de la instalacin de Internet Explorer. El Service Pack actual se encuentra en el CD de Internet Explorer V6.0 suministrado. El usuario ha de poseer para el manejo de WinCC como mnimo los derechos de un usuario principal ("Power User").
Windows 2000
Sistema operativo Servidor de Windows NT 4.0 Servidor de Windows 2000 Windows 2000 Advanced Server
Configuracin Service Pack 6a Service Pack 2 con Hotfix Q300972 Service Pack 2 con Hotfix Q300972
2
Aprende WinCC
Licencias en WinCC. Si no se dispone de autorizacin de desarrollo para WinCC, se podr desarrollar durante aproximadamente una hora. Pasada la misma, pueden darse dos situaciones: Que est arrancado el runtime: en este caso aparece un mensaje de finalizacin de la demo. No podremos realizar ninguna accin hasta que validemos dicho mensaje. Sin embargo, el sistema runtime continua funcionando pese a no validar el mensaje, con lo que se continan registrando las tendencias y aparecen los mensajes de alarmas, as como refresco de variables en pantalla. A partir de este momento, cada aproximadamente 10 minutos vuelve a aparecer el mensaje. Que no est arrancado el runtime: en este caso automticamente se cierra el WinCC, permitindonos antes guardar los cambios que hubisemos realizado. Pero, cmo sabemos las licencias que tenemos instaladas en un determinado momento?. La de desarrollo lo podemos saber de una manera inmediata, ya que en la barra de estado de WinCC aparece la palabra DEMO cuando no disponemos de ella para desarrollar. Para conocer si disponemos de todas las dems (en especial necesitaremos una licencia de runtime de tantas variables como nos indique la barra de estado de WinCC) las podremos observar mediante una aplicacin llamada CCAuthorInformation, que se encuentra en el subdirectorio WinCC\bin. Lo que nos indica la ventana son las licencias de las cuales no disponemos y que nos son necesarias con nuestra configuracin actual. Con el botn view podemos ver si disponemos de una licencia en concreto. Tambin podemos saber el estado de las licencias actuales observando el fichero license.log que se encuentra en WinCC\diagnose. El fichero license.bak es la copia del fichero log con el estado de las licencias de la vez anterior que arrancamos el WinCC. Un ejemplo del fichero license.log sera:
10/06/2001 11:18:51 InitLicense CS | AppName = AppCS:Mcp | CycleCheck = yes | NameForMessageBox = | Name of License = A9WRC330 | Text of License = SIK/SIMATIC WINCC RC 1024 PowerTags | 10/06/2001 11:18:51 InitLicense ED | AppName = AppEd:Mcp | CycleCheck = own | NameForMessageBox = | Name of License = A9WRC330 | Text of License = SIK/SIMATIC WINCC RC 1024 PowerTags | 10/06/2001 11:19:00 InitLicense RT | AppName = OptRT:CHIPCARD | CycleCheck = no | NameForMessageBox = | Name of License = A1WPC412 | Text of License = | 10/06/2001 11:19:08 InitLicense CS | AppName = DMAso:Mcp | CycleCheck = yes | NameForMessageBox = | Name of License = A9WRC330 | Text of License = SIK/SIMATIC WINCC RC 1024 PowerTags | 10/06/2001 11:31:51 ExitLicense CS | AppName = DMAso:Mcp | CycleCheck = yes | Name of License = A9WRC330 | Text of License = SIK/SIMATIC WINCC RC 1024 PowerTags | 10/06/2001 11:32:30 InitLicense CS | AppName = DMAso:Mcp | CycleCheck = yes | NameForMessageBox = | Name of License = A9WRC330 | Text of License = SIK/SIMATIC WINCC RC 1024 PowerTags |
Aprende WinCC
Entrar a WinCC. A la hora de entrar al Windows Control Center V5.1 pueden darse tres circunstancias: Que no hubiera ningn proyecto abierto anteriormente, con lo que se nos pedir crear o abrir un nuevo proyecto. Que anteriormente hubiese ya abierto un proyecto, pero no se hubiese arrancado el runtime, con lo que entraremos al modo de desarrollo de WinCC. Que anteriormente hubiese un proyecto y que estuviese arrancado el runtime, con lo que automticamente entraremos al modo runtime. Esto puede ser un problema en determinadas circunstancias, como p. Ej. Que no se haya habilitado ninguna forma de salir del runtime y adems se haya deshabilitado la combinacin Alt+Tab, con lo que no tenemos manera de ir al software de desarrollo para solucionar este error. En estos casos, para evitar que al arrancar el WinCC entre automticamente al modo runtime, se debe de presionar la combinacin de teclas Ctrl+Shift durante el arranque del software, con lo que se detendr en el modo de desarrollo. Esta combinacin funciona en proyectos locales, y en un servidor, pero no en un cliente que est conectado a uno o varios servidores en sistema multiusuario.
Aprende WinCC
Salir de WinCC. Para salir de WinCC, en el men Archivo->Salir disponemos de dos opciones: Salir de WinCC Explorer y cerrar el proyecto: Si ha seleccionado esta opcin se sale de WinCC Explorer y la runtime se cerrar previamente. La siguiente vez que entremos a WinCC Explorer abrir el proyecto y arrancar la runtime automticamente. Salir de WinCC Explorer : Si ha seleccionado esta opcin, se sale de WinCC Explorer pero la runtime se queda activada. El proyecto abierto en ltimo lugar se abrir en el siguiente inicio de WinCC.
Aprende WinCC
Crear un nuevo proyecto en WinCC. Cuando se abre WinCC sin que anteriormente hubiera abierto otro proyecto, aparece el siguiente cuadro de dilogo, indicndonos las siguientes opciones:
Vamos a realizar un proyecto para estacin monopuesto. Se nos pide el nombre del proyecto, as como el nombre del subdirectorio de nuestro proyecto (generalmente dejaremos que coincidan ambos nombres, para una ms fcil identificacin de nuestro proyecto desde el explorador de Windows NT). Este primer proyecto lo denominaremos dunkerdemo_v51.mcp. A partir de ahora, para poder ejecutar nuestro proyecto, podremos ejecutar desde el explorador de NT el fichero dunkerdemo_v51.mcp, que al estar asociado a WinCC, nos abrir nuestro proyecto automticamente.
Aprende WinCC
A partir de ahora, para poder trasladar o copiar el proyecto a otro ordenador, bastar con copiar este subdirectorio completo, normalmente comprimindolo con Winzip o Winrar en discos previamente (herramientas no suministradas con el software). Pero hay un dato importante: el proyecto est configurado para un ordenador en concreto, cuyo nombre indicativo aparece en el apartado Equipo->Propiedades. Si el nuevo ordenador no posee el mismo nombre, al intentar arrancar el runtime, aparecer el siguiente mensaje:
El nombre indicador se puede cambiar en Equipo->Propiedades, pero lgicamente necesitaremos conocer el nombre del nuevo ordenador donde estamos copiando el proyecto. Para ello, en Inicio->Configuracin->Panel de control->Sistema>Identificacin de Red se encuentra nuestro nombre de equipo.
Aprende WinCC
Lo primero: Definir la pantalla. El primer paso en nuestro proyecto ser definir la pantalla en la que vamos a trabajar. Pondremos en la parte superior una zona comn de 1024x100, y en la zona inferior otra zona comn de 1024x100. Como disponemos de una resolucin de 1024x768, nos queda la zona central de 1024x568 para poner nuestra ventana actual.
Zona superior: para acceder a las diferentes pantallas del proyecto Zona central: para mostrar la pantalla en la que estemos actualmente Zona inferior: para acceder a los botones de funciones. Como hemos dicho, se supone que sabes de WinCC, por lo que te lo dir en una sola frase: crate un proyecto, la pdl inicial que se llame start.pdl , que tenga un tamao de 1024x768, la guardas, te haces otra que llamas top.pdl, de tamao 1024x100, y otra que se llame bottom.pdl, del mismo tamao. Bien, teniendo esto claro, abrimos start.pdl, y en la parte superior colocamos una ventana de imagen de tamao 1024x100, y seleccionamos en ventana de imagen>otros->nombre de imagen: top.pdl. Tambin activamos aqu bordes: si.
Aprende WinCC
Realizamos la misma accin para la ventana de abajo, colocando otra ventana de aplicaicon, pero esta vez en sus propiedades ponemos posicion y:668, y como nombre de la ventana bottom.pdl. Tambin ponemos el borde activo. As, dispondremos de nuestra primera ventana, ms simple que el funcionamiento de un botijo, pero la base sobre la que vamos a trabajar. Debe tener el siguiente aspecto:
Aprende WinCC
Como salir de WinCC. An no hemos empezado y ya estamos saliendo, esto va bien. Para salir de WinCC nos ponemos un botn a la derecha del todo en bottom.pdl. A m me gusta ste, que se encuentra en la biblioteca de objetos:
Lo que queremos es que cuando se pulse dicho boton, aparezca una ventana en la que podamos seleccionar el tipo de salida que deseamos. Para ello hacemos una nueva pdl llamada salir.pdl, de 300x300. En ella ponemos los siguientes botones:
Deberemos de llamar a dicha picture cuando pulsemos el boton de salir. Para ello, dentro de la picture start.pdl, nos colocamos una ventana de imagen de cualquier tamao, ms o menos por el centro de start, como muestra la figura:
10
Aprende WinCC
Y como nombre de objeto, la llamamos VENTANA_SALIR Observar que no la hacemos visible y que le ponemos titulo a la ventana, a la vez que se ajustar al tamao de salir.pdl, es decir, 300x300. Ahora nos queda hacerla visible desde el botn que hemos puesto en bottom.pdl. Entramos a los eventos de dicho botn, y en el evento clic del ratn, creamos el siguiente cdigo C:
SetPropBOOL(GetParentPicture(lpszPictureName),"VENTANA_SALIR","Visible",TRUE);
Vamos a explicar que hace esta lnea de cdigo: SetPropBOOL es una instruccin que cambia el valor de una propiedad de tipo bool de un objeto de una ventana en concreto. En este caso deseamos que active la propiedad visible de la ventana VENTANA_SALIR que hemos puesto dentro de la picture START.PDL. El problema est en que ahora la ventana se llama start.pdl, pero mas adelante se llamar de otra manera, dependiendo de que naveguemos por las diferentes ventana de nuestro proyecto. Luego no podemos escribir en el primer
11
Aprende WinCC
parmetro de la funcin SetPropBOOL un valor fijo, debe ser variable. Dicha variable es el valor que devuelve la funcin GetParentPicture. Esta funcin devuelve el nombre de la ventana en la que est contenida la ventana desde la que es llamada. Ya s que es lioso (me lo vas a contar a m). Por eso, vamos por partes. Nosotros estamos en un botn (el de salir), que est contenido en una pdl que se llama bottom.pdl, que a su vez est contenida dentro de otra, que en este momento es start.pdl, pero que ms adelante vete tu a saber como se llama. La variable lpszPictureName nos devuelve la ventana de bottom.pdl. Y como queremos la ventana padre que contiene a la misma ponemos GetParentPicture(lpszPictureName), que nos devolver ahora mismo start, que es nuestra ventana en la que tenemos nuestro objeto ventana_salir. En este punto deberias de poder abrir en la runtime la ventana con el botn de salir, y cerrarla con la x de la derecha de la ventana emergente. Ahora nos queda darle funcionalidad a los botones de salir.pdl. Para ello utilizamos los asistentes de WinCC.
Para el segundo salir de WinCC. Para el tercero salir de Windows sin reiniciar. Y para el cuarto salir de WinCC y reiniciar windows.
12
Aprende WinCC
Bien, ya salimos de WinCC, pero claro, cualquiera puede apagarnos el ordenador. Tendremos que controlar quien toca y quien no en nuestros ordenadores. Controlando a los usuarios. Vamos a organizarnos un grupo de usuarios, dentro del User Administrator. Nos editamos los dos primeros privilegios, uno como salir otro como apagar el PC y otro como parar el WinCC. El primero lo dejamos como administrar usuarios para poder entrar desde el runtime a aadir o cambiar passwords.
Les ponemos una salida de sesin automtica, para que si no se desactivan ellos, los desactive el sistema pasados 10 minutos. Bien, hemos aadido un ususario, queda asignar el nivel de proteccin al botn de salir de la ventana start.pdl . Observa al salir que el User Administrator realiza las modificaciones en tiempo real, por lo que al salir no te pide grabar, ya que lo va ehaciendo sobre la marcha. Vamos, que no hay que equivocarse (como el regedit, ser
13
Aprende WinCC
del mismo tipo el invento). Volvemos a ella, y en la propiedad otros->autorizacion seleccionamos salir.
Ahora ya no podr salir de WinCC cualquiera, sino solo los que tengan el permiso de salir. Pero vamos a definir tambin quien puede parar el WinCC y quien solo apagar el ordenador o reiniciarlo. Para ello en la pdl salir.pdl, a los dos primeros botones les asignamos el permiso de parar el WinCC, mientras que a los dos siguientes el de apagar el pc. Pero: cmo se logan 1 los usuarios?. Hay dos maneras, una cutre salchichera y otra guay y complicada. Vamos con la cutre. En el control center, pinchando con el botn derecho sobre el nombre del proyecto, aparece la ventana en la que se puede asignar una combinacin de teclas a login (logarse) y otra a logoff (deslogarse)
Pero claro, se debe de recordar cual era esa combinacin, y siempre aparece el listo que quiere un botn para activar a los usuarios. Ya la hemos liado, pensars (y ests en lo cierto), ya que la otra va a travs de C. Quita las asignaciones que acabamos de hacer, que no vamos a hacerlo por ese camino, sino por el del botn. Nos
1
Aprende WinCC
colocaremos un botn en la pdl bottom.pdl (recuerda, bottom ser nuestra ventana para los botones de funciones, mientras que top ser nuestra ventana para los botones de entrar a las diferentes partes en las que se muestra la instalacin). El botn lo cogemos de la biblioteca:
Ahora viene lo bueno, el cdigo C, asociado en el evento mouse activo: Este Cdigo lo escribimos en una funcin de proyecto que nos hacemos nueva en el Global Script, y que llamamos login:
void login() { #pragma code("useadmin.dll") #include "PWRT_api.h" #pragma code() long usuario; usuario=strcmp(GetTagCharWait("@CurrentUser"),""); if(usuario) { PWRTLogout(); } else { PWRTLogin('c'); } }
Luego vamos al evento del botn que hemos puesto antes (la llave), y le asociamos la funcin login();
#include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { // WINCC:TAGNAME_SECTION_START // syntax: #define TagNameInAction "DMTagName" // next TagID : 1 // WINCC:TAGNAME_SECTION_END // WINCC:PICNAME_SECTION_START // syntax: #define PicNameInAction "PictureName" // next PicID : 1 // WINCC:PICNAME_SECTION_END login (); //Tipo de retorno :void }
15
Aprende WinCC
Con esta funcin te logas y deslogas con el mismo botn (ha sido fcil, eh?). Es mejor hacerlo en una funcin de proyecto para poder reutilizar dicho cdigo en otros proyectos copindonos simplemente el fichero login.fct que nos ha creado dentro del subdirectorio library de nuestro proyecto. Para acabar de rematar la faena, pondremos en bottom.pdl una I/O box de solo lectura, que va asociada a la variable @current_user. Esta variable la genera le sistema y es una cadena de texto que posee el texto del usuario que actualmente est logado. Con ello podremos saber en todo momento si estamos activados en el sistema o no.
La cosa va cogiendo color. Pero nos falta un detalle. Nosotros estamos poniendo los usuarios en el sistema desde el User Administrator, y quitamos, ponemos y cambiamos passwords los que queremos y mas. Pero, y cuando nos vayamos de la instalacin?. quin podr cambiar los passwords, o aadir un usuario?. Tenemos que poner un segundo botn en la pantalla bottom.pdl. Ese botn nos acceder al User Administrator. Cmo?, fcil, as:
ProgramExecute("c:\\SIEMENS\\WINCC\\BIN\\PASSCS.EXE");
El texto que aparece en medio del botn solo lo puedes quitar si cambias e idioma en el menu del Graphics Designer, en ver->idioma, a cualquiera, y vuelves a espaol. Luego vas a la propiedad fuente->texto del botn (un fallo de WinCC, me parece a m).
16
Aprende WinCC
Asociando este cdigo al botn de administracin de usuarios, ya puede un usuario dar de alta y borrar, es decir, administrar a los dems usuarios. Claro est, a este botn creado, deberemos de asociarle un nivel de password, para que nicamente puedan entrar los usuarios con capacidad para borrar a otros usuarios. Para Poder ejecutar este cdigo debe de estar arrancada la parte de Global Script runtime de nuestro PC.
Por supuesto, a este botn (el de las dos cabecitas) deberemos de colocarle el password administrar usuarios.
Llamar a ventanas variables. Ahora queremos que cuando pulsemos el botn de administrar usuarios nos abra una ventana de men en la que podamos seleccionar: Administrar usuarios (lo de antes) Ver el histrico de usuarios (para saber qu usuarios estaban logados en qu momentos). Para hacer esto podramos abrir otra ventana y hacerla visible con el botn, pero es mejor utilizar la ventana que hemos gastado anteriormente para salir, y en funcin de porqu botn sea llamada nos muestre una pdl u otra (llamada a ventanas parametrizables). Ya te has asustado, pero no tiene porqu, que vas a ver que es muy fcil.
17
Aprende WinCC
Primeramente vamos a hacer parametrizable la llamada a la ventana que hacamos con el botn de salir (objeto botn_salir de la pdl bottom.pdl). En el evento clic del ratn de dicho objeto escribimos ahora el siguiente cdigo:
SetPropChar(GetParentPicture(lpszPictureName),"VENTANA_SALIR","PictureName","salir.PDL"); SetPropChar(GetParentPicture(lpszPictureName),"VENTANA_SALIR","CaptionText","Salir de WinCC"); SetPropBOOL(GetParentPicture(lpszPictureName),"VENTANA_SALIR","Visible",TRUE);
Observa que lo que hacemos es decirle de manera dinmica que la picture a mostrar es salir.pdl, que va a tener como ttulo salir de WinCC y luego la hacemos visible. Ahora en el botn de usuarios (el de las ods cabecitas), en el evento clicl de ratn, escribimos el siguiente cdigo:
SetPropChar(GetParentPicture(lpszPictureName),"VENTANA_SALIR","PictureName","USUARIO S.PDL"); SetPropChar(GetParentPicture(lpszPictureName),"VENTANA_SALIR","CaptionText","Ventana Usuarios"); SetPropBOOL(GetParentPicture(lpszPictureName),"VENTANA_SALIR","Visible",TRUE);
Es lo mismo de antes, solo que esta vez llamamos a la pdl usuarios.pdl, con un ttulo llamado usuarios y posteriormente hacemos visible la ventana. Pero, quin es usuarios.pdl?. Tranquilo, que an no la hemos hecho. Es la pdl siguiente, tambin de 300x300:
Si pruebas lo hecho hasta ahora deberas de poder abrir la ventana de manera parametrizable. nicamente nos queda con el botn registro de usuarios mostrar una ventana en la que aparezca un histrico de los diferentes usuarios que se han activado y desactivado en el sistema. El problema de WinCC es que no posee esta funcionalidad de manera sencilla, y es necesario recurrir a un truco para poder conseguirla. El truco se basa en utilizar una clase de alarmas como si fuera el registro de usuarios, para que cada vez que se loge un usuario activamos la alarma, y cuando se desloge la desactivamos.
18
Aprende WinCC
Vamos a dar por hecho que conoces como trabajar con alarmas en el WinCC. Primeramente nos vamos al Alarm Loggin, y en bloques de sistema aadimos los siguientes:
No aparece el bloque usuario?. En realidad es el bloque de valor de proceso 1 que lo hemos renombrado como usuario, para luego podernos aclarar mejor. En clases de aviso aadimos una nueva clase, que nombraremos como usuarios.
19
Aprende WinCC
Dentro de esta clase creamos un tipo de clase que llamamos usuario, y con el botn derecho sobre la clase de aviso usuarios definimos los textos para cuando aparezca y desaparezca la alarma:
Con el botn derecho sobre el tipo de clase usuario seleccionamos el color con que queremos mostrar la lnea de alarmas de logado y deslogado de usuarios.
Y por ltimo definimos un informe de archivo para poder imprimir el histrico de usuarios.
20
Aprende WinCC
Con esto ya podemos crear nuestra primera alarma, que tendr las siguientes propiedades:
La variable Login_Usuarios es una variable interna de tipo bool que hemos creado previamente.
21
Aprende WinCC
La variable usuario es una variable interna de tipo texto de 8 bits. Despus de todo tengo claro que te estars preguntando...qu estamos haciendo, narices?. Bien, vamos a recapitular. Hemos creado una clase de alarmas que es usuarios, que se activa con el bit Login_Usuarios, y que cuando aparece dice aparecido en color azul, y cuando desaparece (el bit) dice desaparecido en color rojo. Tambin sabemos que en el campo usuario va a incluir una cadena de texto que es la que contenga la variable usuario. Aqu hemos acabado. Guardamos y salimos del Alarm Loggin. Ahora vamos al Glogal Script y creamos una nueva Accin en acciones globales, cuyo fichero denominaremos usuarios.pas, y que posee el siguiente cdigo:
#include "apdefap.h" int gscAction( void ) { // WINCC:TAGNAME_SECTION_START // syntax: #define TagNameInAction "DMTagName" // next TagID : 1 // WINCC:TAGNAME_SECTION_END // WINCC:PICNAME_SECTION_START // syntax: #define PicNameInAction "PictureName" // next PicID : 1 // WINCC:PICNAME_SECTION_END #pragma code ("Kernel32.dll") void Sleep(int a); #pragma code() char usuario[40]; strcpy(usuario,GetTagChar("@CurrentUser")); if (strlen(usuario)!=0) { SetTagChar("Usuario",usuario); Sleep(1000); SetTagBit("Login_Usuarios",TRUE); } else { SetTagBit("Login_Usuarios",FALSE); } return 1; } 22
Aprende WinCC
Esta accin lo que hace es copiar el nombre del usuario actual (contenido dentro de la variable interna @CurrentUser dentro de la variable interna usuario que hemos definido previamente, y activar el bit interno Login_Usuarios. Una de las cosas que te habrn extraado al leer el cdigo es porqu he definido la funcin Sleep. Como sabes la funcin Sleep lo que hace es parar la ejecucin del programa durante los milisegundos que le pasemos como parmetro. Esta funcin es necesaria debido a que si activamos inmediantamente el bit de alarma, el WinCC no tiene tiempo a actualizar el valor de la variable usuario con el nuevo valor del usuario que se est logando, por lo que aparecera vaco dicho campo al logarse, y relleno al deslogarse. Es un problema de refresco interno de la base de datos de variables de WinCC, el cual genera antes el evento de la alarma que el de refresco de la variable usuario. Si no te ha quedado claro con esta explicacin prueba mas tarde a quitar la lnea de Sleep y comprueba cual es su efecto. Ya estamos acabando. Solo nos queda disparar esta accin con un disparo que vendr dado por el cambio de la variable @CurrentUser, o lo que es lo mismo, que se active o desactive un usuario.
El disparo vendr dado por el ciclo al cambiar de @Current_User. Compilamos la accin y hemos finalizado en el Global Script. Ahora vamos al Graphic Designer y renombra la pdl start.pdl como registro_usuarios.pdl. En la zona central de la pantalla colocamos un control de tipo WinCC alarm control como muestra la figura:
23
Aprende WinCC
En las propiedades de la ventana de alarmas (que aparecen clickeando en la misma), definimos como tipode ventana=ventana de archivo temporal. Y por ltimo en la solapa lnea de avisos mostramos los siguientes bloques de avisos:
Adems deberemos de filtrar las alarmas en esta ventana para que nicamente aparezcan las del tipo usuarios, ya que ahora mismo solo exite esta, pero ms adelante crearemos ms alarmas, y no deseamos que nos aparezcan como si fuesen usuarios logandose.
Ya podemos guardar la pdl. Nos queda hacer que se muestre dicha pdl al pulsar el botn Registro de usuarios, que habamos puesto en la pdl usuarios.pdl. La funcin en c que asociaremos a dicho botn ser la siguiente:
OpenPicture("REGISTRO_USUARIOS.PDL");
24
Aprende WinCC
Ya podemos guardar y comprobar como nos ha quedado el invento, que debera de mostrar a medida que vamos logando usuarios algo como esto:
Nos queda nicamente sacar por impresora un informe con los el histrico de usuarios, igual que lo estamos sacando por pantalla. Para ello, nos vamos a ir al Report Designer. En formato de pgina tenemos un Report que se llama @alrtuma.rpl, y que lo editamos y grabamos como registro_usuarios.rpl. Vamos a modificar la cabecera del mismo para que tenga el siguiente aspecto:
La parte dinmica del mismo la editamos, y modifcamos los bloques que deseamos mostrar en el Report.
25
Aprende WinCC
Guardamos el Report y cerramos el editor. Ahora creamos una nueva orden de impresin, que posee las siguientes caractersticas:
Ya tenemos la orden de impresin. Nos queda activarla para que se imprima el Report. Para ello volvemos al Graphic Designer, y en la pdl registro_usuarios, en la parte superior, colocamos un objeto de la librera como muestra la figura:
Solo nos queda activar la parte de runtime referida a la impresin y las alarmas dentro de equipo en el explorador de WinCC:
26
Aprende WinCC
El resultado final al presionar el botn debe de ser algo como lo que muestra la figura:
27
Aprende WinCC
La nueva conexin la denominamos como nuestro PLC, en este caso 314_C_2DP, y en propiedades definimos la direccin MPI de nuestro equipo y el slot en el que se encuentra la CPU, que normalmente va a ser el 2. Poner como nmero de slot 2 es muy importante, ya que si no introducimos este valor (que por defecto viene a 0) no podremos comunicar en MPI con la CPU ya que el WinCC no la encontrar. Esto es necesario para comunicacin con S7 300, pero no para los S7 400. Una vez introducida la conexin nos aparece un icono en forma de dos manos unidas, indicndonos la conexin con nuestro PLC
28
Aprende WinCC
Si volvemos a presionar con el botn derecho sobre el canal MPI podemos determinar los parmetros del sistema del protocolo de comunicaciones.
29
Aprende WinCC
Comunicacin por TCP/IP. Vamos a realizar ahora la comunicacin por TCP/IP. En nuestro caso utilizaremos un 416 con una tarjeta 443-1. Primeramente deberemos de definir en nuestro proyecto de Step 7 la direccin TCP de la tarjeta como muestra la figura:
Comprobamos que podemos comunicar por TCP/IP, p. Ej observando el programa desde Step 7 a travs de TCP/IP. Para ello deberemos de cambiar el tipo de acceso en ajustar interface PG/PC.
30
Aprende WinCC
Tambin deberemos de ajustar el punto de acceso del perfil de WinCC para que sea a travs de nuestra tarjeta de comunicaciones.
Nuestra tarjeta de comunicaciones TCP del PC por supuesto deber de poseer una direccin y submscara de red apropiada para que pueda encontrarse en el mismo nodo de TCP que nuestro PLC (no podemos utilizar DHCP, sino que deberemos de configurar una direccin fija de red). Para ello vamos en Windows 2000 a Inicio>Configuracin->Conexiones de red y acceso telefnico y en las propiedades de nuestra red de rea local, seleccionamos el protocolo TCP/IP.
Editamos las propiedades del protocolo, y le asignamos una direccin compatible con nuestra tarjeta del PLC.
31
Aprende WinCC
Una vez tengamos definidas nuestras dos tarjetas de TCP (la del PC y la del PLC), podemos comprobar si efectivamente las tenemos bien configuradas realizando un ping a la tarjeta del PLC, desde Inicio->Ejecutar y escribimos: Ping 192.80.0.2 (para nuestra tarjeta de PLC del ejemplo) y Ping 192.80.0.1 (para nuestra tarjeta de PC del ejemplo) Ya podemos ir a nuestro proyecto de WinCC y definimos nuestro enlace con el plc.
La nueva conexin define tanto la direccin IP del PLC al que nos vamos a conectar, como el puesto de la CPU dentro del bastidor del PLC para que la tarjeta TCP sepa donde se encuentra y pueda suministrarle los datos (en nuestro caso el 400 tiene la CPU en el slot 3).
32
Aprende WinCC
En parmetros del sistema del canal TCP/IP podemos seleccionar la tarjeta por la que vamos a comunicar, en nuestro caso ya definida anteriormente en el perfil de WinCC desde ajustar interface PG/PC. En esta ventana tambin podemos definir si las peticiones de escritura poseen prioridad sobre las lecturas a la hora de comunicar con el PLC.
Llegados a este punto ya tenemos definida la comunicacin con la 443-1 del 400. Ya podemos arrancar el runtime de nuestro proyecto y observar el estado de las comunicaciones en el menu del WinCCExplorer Herramientas->Estado de las conexiones.
33
Aprende WinCC
34
Aprende WinCC
Diagnstico de las comunicaciones en el runtime. Lo primero que nos interesa dentro del runtime es saber de una manera grfica y visual si tenemos comunicacin con el PLC. Para ello vamos a definir una variable, la MB0, que accede a dicha zona de memoria dentro del PLC. Vamos al Graphic Designer y abrimos la pdl bottom.pdl, y en la esquina inferior izquierda colocamos un objeto de tipo rectngulo como muestra la figura:
En las propiedades del rectngulo, en color de fondo, definimos un cuadro de dilogo dinmico.
Asociamos la variable MB0 y activamos valor de estado de variables, seleccionando el color rojo para el tipo ninguna conexin, mientras que para estado de comunicaciones normal (otros), seleccionamos el color verde. Con esto ya podemos arrancar el runtime y comprobar que cuando nos falla la comunicacin o la CPU se coloca en stop el recuadro nos lo indica pasando a rojo. La reconexin es automtica una vez se ha vuelto a run o colocado el cable de comunicaciones.
35
Aprende WinCC
Tambin Podemos hacer lo mismo, pero a travs de textos, que nos indiquen si la comunicacin es correcta o no. Para ello vamos a colocar un campo de E/S al lado del piloto anterior en bottom.pdl como muestra la figura:
Las propiedades las definimos como muestra la figura inferior, teniendo en cuenta que vamos a asignar un cuadro dinmico en el que vamos a definir los textos que deseamos que aparezcan en funcin de que tengamos conexin (RUN) o no (STOP).
36
Aprende WinCC
De esta manera estamos obteniendo una indicacin del estado de las comunicaciones, pero a un nivel muy simple (sin indicarnos el tipo de error, y sin poder determinar siquiera si el problema es de que tenemos la CPU en stop o que nos falla el cable de comunicaciones). Podemos obtener una informacin mucho mas precisa utilizando un objeto denominado WinCC Chanel Diagnosis Control, que se encuentra en controles del Graphic Designer.
37
Aprende WinCC
Lo vamos a insertar en una pdl que haremos nueva. Para ello abrimos start.pdl y la renombramos como diagnosis_comunicaciones_pdl. En esta nueva pdl, en la zona central de la pantalla insertamos el objeto como muestra la figura:
Ahora tendremos que entrar a dicha pdl. Lo haremos con el evento clic del rectngulo que colocamos anteriormente, de tal manera que cuando el operario pinche sobre el indicador saltar automticamente a una ventana de diagnosis ms detallada,
38
Aprende WinCC
como es esta que acabamos de realizar. Para ello, colocaremos la siguiente sentencia en el evento clic del raton del rectngulo indicador:
OpenPicture("DIAGNOSIS_COMUNICACIONES.PDL");
Ya podemos comprobar el resultado, que ser algo como lo que muestra la figura:
En esta pantalla, pinchando con el botn derecho del ratn podemos obtener ayuda online sobre la causa del error de comunicaciones. Mediante esta utilidad s que es posible distinguir entre cpu en stop y fallo de comunicaciones.
39
Aprende WinCC
Generando alarmas de fallo de comunicaciones. A nosotros lgicamente nos interesa tener un histrico de fallos de comunicaciones. De esta manera podemos saber en qu momentos la instalacin ha dejado de comunicar con un determinado PLC y por cuanto tiempo (incluso podemos saber hasta por qu causa). Para poder realizar esto vamos a utilizar las alarmas de WinCC. El problema reside en que las alarmas estn pensadas para que cuando una variable se active en el PLC se genere la alarma, y en este caso cuando fallan las comunicaciones no se va a activar nada en el mismo. Para solventar este problema vamos a recurrir a una funcin de WinCC que se llama GetTagByteState(valor_del_plc), la cual nos va a devolver una variable de doble palabra, en la que cada uno de los bits tiene un significado de error de comunicaciones. Esta variable est chequeando el valor de la variable contenida en valor_del_plc, y nosotros debemos de comprobar que su estado es cero. En cuanto sea distinta de cero deberemos de activar una variable interna de tipo doble palabra. Esta variable interna es la que nos generar la alarma. Parece complicado pero se hace en un momento. Vamos all. Primeramente veamos que hace la funcin GetTagByteState. Tiene dos parmetros: Variable a chequear Puntero a una doble palabra en la que la funcin deja el estado de las comunicaciones Devuelve un byte con el valor actual de la variable chequeada. Nos queda saber qu nos va a devolver en el puntero de doble palabra del estado de las comunicaciones. En funcin del tipo de error de comunicaciones nos devolver:
DM_VARSTATE_NOT_ESTABLISHED 0x0001 // Verbindung zum Partner nicht aufgebaut DM_VARSTATE_HANDSHAKE_ERROR 0x0002 // Protokollfehler DM_VARSTATE_HARDWARE_ERROR 0x0004 // Netzwerkbaugruppe brennt DM_VARSTATE_MAX_LIMIT 0x0008 // projektierte Obergrenze berschritten DM_VARSTATE_MIN_LIMIT 0x0010 // projektierte Untergrenze unterschritten DM_VARSTATE_MAX_RANGE 0x0020 // Formatgrenze berschritten DM_VARSTATE_MIN_RANGE 0x0040 // Formatgrenze unterschritten DM_VARSTATE_CONVERSION_ERROR 0x0080 // Anzeige Wandlungsfehler DM_VARSTATE_STARTUP_VALUE 0x0100 // Initialisierungswert der Variablen DM_VARSTATE_DEFAULT_VALUE 0x0200 // Ersatzwert der Variablen DM_VARSTATE_ADDRESS_ERROR 0x0400 // Adressierungsfehler im Kanal DM_VARSTATE_INVALID_KEY 0x0800 // Variable nicht gefunden / nicht vorhanden DM_VARSTATE_ACCESS_FAULT 0x1000 // Zugriff auf Variable nicht erlaubt DM_VARSTATE_TIMEOUT 0x2000 // Timeout / keine Rueckmeldung vom Kanal DM_VARSTATE_SERVERDOWN 0x4000 // Server ist down
Ya habias definido una variable de comunicaciones llamada MB0, por lo que ahora deberemos de realizar una accin con el Global Script que nos chequee el estado de la misma. Previamente definimos una variable interna de tipo 32bits sin signo que se denominar FALLO_COMUNICACIONES_EQUIPO_1. La accin ser de tipo global, y la denominaremos alarmas_cclicas.pas, que posee el siguiente cdigo:
40
Aprende WinCC
#include "apdefap.h" int gscAction( void ) { // WINCC:TAGNAME_SECTION_START // syntax: #define TagNameInAction "DMTagName" // next TagID : 1 // WINCC:TAGNAME_SECTION_END // WINCC:PICNAME_SECTION_START // syntax: #define PicNameInAction "PictureName" // next PicID : 1 // WINCC:PICNAME_SECTION_END DWORD *estado; estado=SysMalloc(sizeof(DWORD)); GetTagByteState("MB0",estado); //Tipo de retorno :BYTE if(estado>0) { SetTagDWord("FALLO_COMUNICACIONES_EQUIPO_1",1); } else { SetTagDWord("FALLO_COMUNICACIONES_EQUIPO_1",0); } return 0; }
Como puedes observar lo que hacemos es activar a 1 la variable interna en cuanto detectamos que el estado de la variable es distinto de cero. Podra complicar ms la cosa si activramos diferentes bits de la variable interna en funcin del fallo de comunicaciones. Como es una accin deberemos de definir un disparo de la misma. En este caso creo que con que chequeemos cada 10 segundos es bastante.
Una veza tenemos compilada la accin, salimos del Global Script y activamos la parte de golbal script runtime si no lo estuviese. Nos queda ir al alarm loggin para definir las alarmas de comunicaciones.
41
Aprende WinCC
Las alarmas de comunicaciones tendrn su propia clase de alarmas, para que posteriormente las podamos filtrar en un ventana de alarmas que nicamente muestre las alarmas concernientes a las comunicaciones.
Activamos el acuse de aparicin para que cuando se produzca un error de comunicaciones tengamos que acusarlo, y as detectar cuando nos falla la comunicacin aunque se produjese cuando no estbamos observando el scada.
42
Aprende WinCC
Por ultimo definimos los textos de estado de nuestras comunicaciones (aparece, desaparece...). El smbolo +/- indica una alarma que desaparece sin haber sido acusada por el operario (fallo de comunicaciones mientras no observbamos el scada que se ha solventado).
Tambin definimos los colores con los que debe de aparecer la alarma de comunicaciones. Definimos acto seguido una alarma con los siguientes parmetros:
Tambin definiremos el texto que debe de aparecer en la alarma cuando fallen las comunicaciones, as como el lugar que comunican con el centro de control (donde se encuentra el scada).
43
Aprende WinCC
Ya hemos finalizado con el alarm loggin. Salimos del mismo y arrancamos la parte de runtime que le compete en equipo. Vamos a reutilizar la picture diagnosis_comunicaciones.pdl. En el centro de la misma colocaremos un control de tipo WinCC alarm control como muestra la figura:
Los parmetros ms importantes de esta ventana de alarmas sern: La ventana ser de tipo ventana de aviso o ventana de archivo temporal. Deberemos de realizar una seleccin como muestra la figura inferior en la que determinemos que nicamente se van a mostrar las alarmas del tipo fallo_comunicaciones. La lnea de avisos tendr el siguiente aspecto:
44
Aprende WinCC
No te preocupes que el objeto de ventana de alarmas se superponga al anterior de diagnosis de canal. Para eso estn las capas de WinCC. Lo que debes de hacer es poner cada ventana en una capa, y activndolas y desactivndolas podrs manejarte con soltura. Si has observado, la ventana de winc chanel diagnosis control la hemos reducido un poco de tamao para poder insetar dos botones como muestra la figura:
En estos botones vamos a introducir un cdigo que nos permita mostrar las dos ventanas solapadas. En el botn de la izquierda, teclearemos:
SetPropBOOL(lpszPictureName,"ALARMAS_COMUNICACIONES","Visible",FALSE); SetPropBOOL(lpszPictureName,"COMUNICACIONES","Visible",TRUE);
45
Aprende WinCC
Siendo ALARMAS_COMUNICACIONES la ventana de alarmas y COMUNICACIONES la ventana de chanel diagnosis. Para el siguiente botn ser el mismo cdigo pero inviertiendo el TRUE por el FALSE y viceversa. Con esto ya tenemos un histrico de comunicaciones y diagnstico de la misma exhaustivo.
46
Aprende WinCC
C Ca ap pt tu ullo o3
El editor Graphics Designer se encarga de la confeccin de las pantallas de WinCC. Bsicamente es un entorno de dibujo con la caracterstica de que los objeto poseen la capacidad de asociar sus propiedades a variables de comunicaciones que son proporcionadas por el Tag Management. Desde el propio Graphics Designer podremos crear nuevas variables de comunicaciones, por lo que no ser necesario salirse del mismo si la variable a usar an no ha sido generada. Caractersticas Tips&Tricks El editor Graphics Designer posee una opcin de Tips&Tricks o ideas que nos proporciona algunas sugerencias cada vez que entramos al mismo al respecto de alguna funcionalidad del mismo.
47
Aprende WinCC
Si se desactiva la opcin Show tips at startput, para volver a mostrar la ventana de tips & tricks cada vez que se entre al Graphics Designer, es necesario seleccionar en Option->Extras->Settings->Display tips & tricks. Propiedades de las pictures
Desde el Explorador de WinCC, presionando el botn derecho teniendo seleccionado Graphic Designer y un PDL o pantalla ya realizado, accederemos a la opcin Properties del men contextual, donde podremos observar una previsualizacin del mismo, as como sus propiedades ms importantes. Tambin podemos ver las estadsticas de la picture en la solapa dynamics.
48
Aprende WinCC
Convertir pictures de versiones anteriores. Uno de los aspectos iniciales a la hora de convertir un proyecto de versiones anteriores a la 5.0 es la necesidad de convertir sus imgenes o pictures. Para ello, basta con presionar el botn derecho teniendo seleccionado el Graphic Designer en el explorador de WinCC. En el men, seleccionaremos la opcin Convert pictures. Desde este men tambin podremos convertir la librera de proyecto y la librera global de las funciones C de que dispusiera nuestro proyecto realizado con una versin anterior de WinCC.
49
Aprende WinCC
Propiedades de los objetos Todos los objetos poseen dentro del Graphics Designer varias caractersticas comunes, incluyendo a la propia superficie en la que vamos a colocar los objetos (picture).
Customize object: podemos asociar una nueva propiedad a un grupo de objetos para generar nuevas funcionalidades a las agrupaciones de los mismos. Ejemplos de ello son los smart objects de la biblioteca de objetos. Group objects: cuando se selecciona ms de un objeto se pueden agrupar, de manera que conforman uno nuevo que posee las caractersticas de los dos pero tiene un nuevo nombre. La mayora de los objetos de la biblioteca son agrupaciones de objetos ms simples. Las agrupaciones se pueden desagrupar en cualquier momento. Linking: Cuando copiamos varios objetos, se copian tambin sus enlaces a variables. Imaginemos que hacemos un I/O asignado a una variable y lo copiamos 10 veces. Entrando en la ventana linking podemos observar el resumen de las propiedades que se encuentran dinamizadas y modificarlas rpidamente.
Configuration Dialog: se accede a un resumen de las propiedades del objeto ms importantes. Properties: se accede a una caja de dilogo en la que disponemos por un lado de todas las propiedades del objeto y por otro de los eventos frente a los cuales reacciona. Dentro de estos eventos podremos colocar nuestro cdigo programado para que ejecute el programa ciertas acciones cuando se generen estos eventos del objeto.
50
Aprende WinCC
La propia pantalla en la que trabajamos posee propiedades y eventos. Presione el botn derecho sobre ella y elija properties. Las propiedades son: Geometry: Picture Width: Ancho de la pantalla (en pixels). Picture Height: Alto de la pantalla (en pixels). Grid On: Activar la rejilla de puntos Grid Width: Ancho de la rejilla de puntos Grid Height: Alto de la rejilla de puntos
Colors: Background Color: Color del fondo de la picture Fill Pattern Color: Color de la mscara de dibujado sobre el fondo de la picture. Grid color: Color de los puntos de la rejilla
51
Aprende WinCC
Miscelaneous: Operator-Control Enabled: la picture se encuentra habilitada. User Level: Nivel de usuario al que le est permitido entrar en esta ventana. Para conocer como realizar la asignacin de niveles de usuario, vea captulo User Administrator.
52
Aprende WinCC
Display: Mostrar la picture. Update cycle: Ciclo de actualizacin de la picture. Date of the last change: fecha de la ltima modificacin que se hizo a la picture. Cursor Mode: Tipo de modo de desplazamiento con el cursor (alpha o tab). Con respecto a los eventos, las posibilidades para una picture son:
Eventos Mouse: o Mouse Action: Se ejecuta al presionar cualquier botn del ratn. o Press Left: Se ejecuta al bajar el botn izquierdo del ratn. o Release Left: Se ejecuta al levantar el botn izquierdo del ratn. o Press Rigth: Se ejecuta al bajar el botn derecho del ratn. o Release Rigth: Se ejecuta al levantar el botn derecho del ratn.
53
Aprende WinCC
Eventos Keyboard: Press: Se ejecuta al presionar una tecla, siempre y cuando el foco activo sea dicho objeto. Release: Se ejecuta al levantar la tecla presionada anteriormente.
Eventos Focus: Se ejecuta cuando el objeto recibe o pierde el foco (la posibilidad de actuarsobre el mismo desde el teclado). Eventos Miscelaneous: Objetc Change: Se ejecuta cada vez que cambia alguna propiedad del objeto. Open Picture: Se ejecuta al entrar al picture. Property topics: Se ejecutan cuando la propiedad seleccionada cambia en el objeto.
54
Aprende WinCC
55
Aprende WinCC
Iconos de la ventana propiedades Todas las ventanas de propiedades poseen tres iconos en su esquina derecha. El significado de los mismos es: Clip: Al presionarse impide que la ventana desaparezca, por lo que podemos movernos por varios objetos de la pantalla observando sus propiedades sin que desaparezca cada vez la ventana de la pantalla. Copiar Propiedades: Copia las propiedades del objeto activo en ese momento en el portapapeles. Pegar propiedades: Pega las propiedades copiadas en el portapapeles al objeto que est activo en ese momento. Barra de herramientas del Graphic Designer La barra de herramientas del Graphics Designer posee los siguientes iconos:
Nueva picture Abrir picture Guardar imagen Arrancar el runtime desde la picture actualmente abierta en el Graphics Designer. Traer objeto al frente. Util cuando existen varios objetos que se solapan. Enviar objeto al fondo. Util cuando el objeto est tapando a otros. Visualizar rejilla Forzar objetos a rejilla Aumentar zoom de la ventana Disminuir zoom de la ventana Realizar zoom a la seleccin. Realiza un zoom a una seleccin que hagamos. Copiar las propiedades del objeto en el portapapeles Pegar las propiedades en el portapapeles
56
Aprende WinCC
Biblioteca de objetos. La ventana del Graphics Designer con sus barras de herramientas activadas se presenta as:
Biblioteca de objetos La biblioteca de objetos es el lugar donde disponemos de imgenes preconfiguradas que podemos utilizar en nuestras picture. Algunos de estos objetos en realidad son agrupaciones de varios de ellos y llevan ya asociado cdigo C de tal manera que estn preparados para realizar una tarea determinada (smart objects). La biblioteca se compone de dos partes:
Global library: biblioteca general accesible desde cualquier proyecto. Project library: librera exclusiva del proyecto.
57
Aprende WinCC
Para pasar un objeto a nuestra picture basta con arrastrarlo y soltarlo sobre la misma.
58
Aprende WinCC
Opciones del men Settings En el men Tools ->Settings disponemos de las siguientes opciones para configurar el Graphic Designer: En la opcin grid podemos seleccionar: Display grid: El visualizar o no la rejilla al crear o abrir un picture. Width in pixels: El tamao que debe tener la rejilla. Snap to grid: El ajustar o no los objetos a la rejilla.
59
Aprende WinCC
En la pestaa options podemos seleccionar: Save settings on exit: Grabar los cambios cuando se sale del Graphic Designer o no. Display performance warnings: avisar cuando se detecte por el sistema un error de diseo, p. Ej., cuando se asigne una actualizacin crtica a un parmetro que pudiese sobrecargar la cpu del ordenador. El tipo de seleccin de los objetos: o Surrounding: Los objetos se seleccionan si se encuentran completamente dentro de la seleccin realizada. o Touching: Los objetos se seleccionan aunque solo una parte de los mismos se encuentre incluida en la seleccin. Nota: para seleccionar varios objetos basta con mantener presionada la tecla maysculas mientras se realiza un click sobre ellos. Object Tree: mostrar siempre igual el rbol de objetos, independientemente de cmo se qued la ltima vez al salir. Edit properties: Edita las propiedades al realizar clic sobre el dibujo. Configuration Dialog: usar el dialog box para configurar los objetos al insertarlos en la picture o no. Display tops and tricks: Mostrar la ventana de tips and tricks al arrancar de manera automtica o no.
60
Aprende WinCC
En esta opcin podemos seleccionar las capas que deben estar activas por defecto en una picture y las que no.
61
Aprende WinCC
Save configuration on exit: Memorizar la configuracin de toolbars y posiciones de las ventanas al salir del graphic administrator. Se puede escoger abajo el fichero en el que se desea almacenar la configuracin que por defecto ser el fichero default.pdd que se alamacena en el subdirectorio GraCs. Default Trigger: Define el tiempo para el refresco de los objetos en pantalla. En la solapa Menu/Toolbar podemos seleccionar:
Flat style for: El estilo de la barra de herramientas del Graphics Designer (botones planos o con relieve, mostrar la linea lateral de la toolbar para desplazamiento o no, mostrar color en los botones o no). Standard toolbar: podemos definir si se pueden configurar los botones de la toolbar o no. Para configurar los botones, basta con presionar la tecla ALT y seleccionando un icono de la misma, arrastrarlo fuera de la barra de herramientas. Display Buttons in Menu: podemos seleccionar si deben aparecer iconos al lado de los textos del menu o no.
62
Aprende WinCC
63
Aprende WinCC
Idioma de la pantalla: Podemos seleccionar diferentes idiomas para los textos asociados a todos los objetos que coloquemos en las pantallas de WinCC, de tal manera que simplemente cambiando de pgina de idioma podamos modificar completamente el lenguaje del runtime en la aplicacin. Para conseguir esto, primeramente deberemos definir el lenguaje de la pantalla en la que estamos. Cmo saber el idioma actual de la pantalla que estamos editando? Aparece en la barra de status, en la parte de debajo de la pantalla Cmo poder modificar el idioma actual de la pantalla activa? En el men del Graphic Designer, en la opcin View->Language aparece una ventana como la de la figura y podemos seleccionar nuestro idioma. Cmo hacer una misma pantalla en Ingls y en Espaol? Seleccione al principio el idioma Espaol (tradicional), coloque todos los objetos que desee que aparezcan, escriba todos los textos, y grabe la pantalla. Ahora cambie de idioma al ingls y ver como todos los textos aparecen en interrogantes. Vuelva a escribirlos, esta vez en ingls.
64
Aprende WinCC
Cuando se selecciona ms de un objeto se permite la opcin de agrupar los mismos en un elemento que posee las propiedades de ambos. La idea es crear agrupaciones de objetos que posean una determinada funcionalidad, p. Ej., cuadrados y rectngulos que combinados y agrupados forman una tubera. A estas agrupaciones de objetos se les puede asignar cdigo para su dinamizacin de una manera sencilla, a la vez que exportarlos a la librera de proyecto para su posterior reutilizacin. Tab Secuence. Todos los objetos poseen un orden de tabulacin. Este parmetro nos indica que objeto ser activo en un determinado momento segn el objeto que actualmente posea el foco (est activo) al presionar la tecla tab. Existen dos rdenes de tabulacin: Alpha cursor sequence: nicamente para cajas I/O. Tab order: todos aquellos objetos que se puedan seleccionar con el tabulador. Esto se define dentro del menu Edit->tab sequence->tab order->settings.
Si seleccionamos en el menu edit la opcin Tab sequence->Alpha cursor>sequence->edit podremos modificar el orden de alternancia entre los distintos campos de entrada/salida de nuestra picture actual. Para modificar el orden basta con clickear en el cuadrado de secuencia de uno de ellos. Si al realizar click se presiona la tecla shift el objeto seleccionado adquiere el orden 1 de tabulacin automticamente.
Para modificar el tab order deberemos seleccionar en el menu edit la opcin Tab sequence->tab order->sequence->edit Para eliminar un objeto de la secuencia de tab deberemos de seleccionar de nuevo tab order, y manteniendo presionadas las teclas shift+ ctrl seleccionar el objeto
65
Aprende WinCC
que se desea eliminar del orden de tabulacin. Su nmero ser sustituido por un asterisco. Para volver a insertar un objeto en el orden de tabulacin manteniendo presionadas las teclas shift+ ctrl seleccionar el objeto que se desea insertar en el orden de tabulacin. Su asterisco ser sustituido por un nmero.
Barras de herramientas. Barra de colores Disponemos de una barra de colores para asignar a las propiedades estticas de los objetos. Dichos colores pueden personalizarse gracias al ltimo de los iconos de la barra.
Barra de zoom Gracias al zoom podemos hacer escalados a la picture hasta de 8 aumentos y reducciones hasta 1/4 parte. Podemos acceder al zoom sin necesidad de ratn presionando Alt+z y las teclas de subir y bajar.
66
Aprende WinCC
Barra de objetos Los objetos de la barra de objetos se dividen en tres categoras: Standard Objects: Objetos estndar de dibujo, tales como lneas, polgonos, etc..
Smart Objects: Objetos inteligentes, cada uno con unas propiedades especiales.
Windows Objects: Objetos comunes de Windows, tales como botones, cajas de seleccin, barras de desplazamiento, etc..
67
Aprende WinCC
Barra de layers:
La barra de layers nos indica las capas que actualmente estn activas en nuestra ventana. Todos los objetos poseen una propiedad layer que indica a qu capa pertenecen. Disponemos de un total de 16 capas, apareciendo por defecto todas activas.
Es conveniente, cuando necesitemos poner objetos que se superponen (p. Ej. Un efecto de sobra bajo un texto, o un mensaje de ayuda que aparece sobre un botn) que asignemos diferentes capas, para que podamos desactivarlas pinchando sobre ellas y trabajar de una manera ms cmoda en el editor de dibujo. Barra de alineacin. Esta barra se utiliza para poder alinear varios objetos y tambin para igualarlos en tamao tanto en altura como en anchura.
Para que aparezca activa lgicamente deberemos de tener seleccionados por lo menos dos objetos. El significado de cada uno de los botones de alineacin comenzando por la izquierda de la ventana es el siguiente: alinear todos los objetos seleccionados a la izquierda. Alinear todos los objetos seleccionados a la derecha.
68
Aprende WinCC
Alinear todos los objetos seleccionados por arriba. Alinear todos los objetos seleccionados por abajo. Centrar todos los objetos horizontalmente. Centrar todos los objetos verticalmente. Igualar el espacio entre todos los objetos de manera horizontal. Igualar el espacio entre todos los objetos de manera vertical. Dar igual anchura a todos los objetos. Dar igual altura a todos los objetos. Dar igual altura y anchura a todos los objetos.
Es muy importante saber cual va a ser el objeto que se tome como referencia para las acciones. Si se han seleccionado los objetos por el mtodo...: de abrir una ventana de seleccin: se toma como referencia el que est ms al extremo de la ventana. utilizando el ratn y teniendo presionada la tecla maysculas: el primero que se seleccion.
Barra de fuentes
La mayora de los objetos poseen algn texto asociado. Mediante la barra de fuentes podemos configurar el tamao y fuente de los mismos sin tener que entrar en sus propiedades.
Barra de estilos
Al igual que el anterior, poseemos tambin una barra de herramientas solo para las lneas de los objetos, en las que podemos modificar el estilo de la lnea, su grosor, su final y el relleno que deben tener (si poseen un grosor mayor de una simple lnea).
69
Aprende WinCC
70
Aprende WinCC
Smart Objects
Los smart objects son la base de construccin de los proyectos de WinCC. Los cuatro primeros los estudiaremos ms adelante, ya que su estudio es ms amplio y complicado. Nos centraremos ahora en los siguientes objetos. I/O Field:
71
Aprende WinCC
Destacar en estas propiedades: Bold : La fuente de la caja en negrita Underline: La fuente de la caja subrayada Text orientation -> orientacin del texto de la caja (horizontal o vertical) X Alignement -> alineacin con respecto al eje x (izquierda, centrado o derecha) Y Alignement -> Alineacin con respecto al eje y (arriba, centrado o derecha)
72
Aprende WinCC
El flashing es una agrupacin de propiedades no vista hasta ahora. Bsicamente se utiliza para sealizar un cierto estado de algn elemento de la instalacin que est representado por dicho objeto. Si la presente caja de I/O est representando un valor de presin de agua, podemos representar aqu dicho valor con el fondo parpadeando cuando se exceda un determinado lmite de seguridad. Las opciones disponibles son: Flashing border active: Que parpadee el borde de la caja. Flashing border color off: Color del parpadeo del borde en estado off Flashing border color on: Color del parpadeo del borde en estado on. Border Flashing frequency: Frecuencia del parpadeo. Disonemos de tres velocidades: lenta, media y rpida. Flashing Background active: Que parpadee el fondo de la caja. Flashing background color off: Color del parpadeo del fondo en estado off. Flashing background color on: Color del parpadeo del fondo en estado on. Background Flashing frequency: Frecuencia del parpadeo del fondo. Disonemos de tres velocidades: lenta, media y rpida. Flashing Text active: Que parpadee el texto de la caja. Flashing Text color off: Color del parpadeo del texto en estado off. Flashing Text color on: Color del parpadeo del texto en estado on. Text Flashing frequency: Frecuencia del parpadeo del texto. Disonemos de tres velocidades: lenta, media y rpida.
73
Aprende WinCC
Opciones Miscelaneous: Operator Control Enable: Indica si el usuario puede tener acceso a la caja para introducir valores. Esta propiedad es independiente de que tenga o no nivel para poder introducir valores. Equivale al Locked de los controles de programacin de objetos. User level: Nivel que debe disponer el usuario para poder introducir datos en esta caja. Display: Si debe ser visible o no la caja. Tooltip Text: Texto que debe aparecer en el cursor al posicionarse con el mismo sobre la caja. Los tooltip dependen tambin del cdigo de pgina de idiomas seleccionado en el runtime. Operator activites Report: Cuando se activa esta opcin, cada vez que se introduzca un valor en la caja, aparecer una caja de texto solicitando que introduzcamos una explicacin al respecto de la modificacin realizada en el valor del proceso. Este mensaje queda almacenado en el sistema como seguridad antes posibles fallos debidos a los cambios realizados, o como nota aclaratoria de porqu se toma dicha decisin. Operator Input Message: Cuando el nuevo valor ha sido llevado a cabo por el sistema se alamacena dicho mensaje en el sistema para su posterior estudio. Adapt Border: Ajusta automticamente el tamao de la caja al texto o nmero que contenga en cada momento. Cursor Control: Determina si despus de realizar una entrada en la caja se debe saltar al siguiente objeto en el orden de Alpha-cursor seleccionado o se debe de continuar en el campo en el que se acaba de introducir el valor. Inmediate input: Indica si la caja al recibir el foco debe ponerse automticamente en modo de edicin para introducir un valor, o no.
74
Aprende WinCC
Limits: Low Limit Value: Valor menor que se puede aceptar como vlido a la hora de introducir un valor en proceso. High Limit Value: Valor mayor que se puede aceptar como vlido a la hora de introducir un valor en proceso. Si se sobrepasa cualquiera de estos valores, automticamente aparece una caja indicndonos dicho suceso. Output/Input: Field Type: Tipo de valor del campo a representar o introducir. Las diferentes posibilidades son: Output: Solo leer el valor en el PLC, sin poder escribir. Input: Solo escribir el valor en el PLC sin poder leer. I/O field: leer el valor en el PLC y poder modificarlo tambin.
75
Aprende WinCC
Output value: Variable de proceso que contiene la caja. Data format: Formato de los datos a representar.
Output Format: formato de salida del valor a introducir. Cada carcter 9 corresponde a un dgito. Los dgitos que se coloquen despus del punto correspondern a los decimales a los que se ajuste el valor a representar.
76
Aprende WinCC
Las diferentes posibilidades en formatos de entrada son : Formato binario: debe estar compuesto por unos y ceros. Formato decimal: debe estar
compuesto
por:
s -> proporcionar signo (+ o -) e ->representacin exponencial. 9 -> numero entre 0 y 9. 0 -> ceros de relleno a la izquierda que deben aparecer. . -> punto decimal. Ejemplo: 9.9 s9.9 s9.9e 09.99 Formato
* -> cualquier cadena ? -> un carcter. a -> cualquier carcter o nmero A -> cualquier carcter en maysculas o nmero. b -> cualquier carcter en maysculas o minsculas. B -> cualquier carcter en maysculas. d -> signo + o -, punto decimal, espacio en blanco o nmero. t -> separador (:,;) o espacio en blanco. 1 -> nmero 0 o 1 2 -> nmero 0, 1 o 2. h -> carcter hexadecimal. Formato hexadecimal:
77
Aprende WinCC
Apply on full: Determina si el valor introducido se da por validado cuando se han completado todos los dgitos del campo de manera automtica, o es necesario presionar enter o cambiar de campo activo con tab para que se considere validado el campo. Apply on exit: Fuerza al sistema a dar como validado el campo inmediatamente despus de que sea realizada la validacin por el usuario (mediante enter o el tabulador). Clear on new Input: Indica si cuando se va a introducir valores en el campo, debe de borrarse el valor que existiera anteriormente, o se conserva y editamos el nuevo valor sobre el anteriormente existente. Clear on invalid input: Indica si al introducir un valor no vlido en la caja, debe de borrarse de esta el valor errneo para que sigamos introduciendo uno correcto, o nos permite editar el valor errneo para modificarlo y que sea vlido para el sistema. Hidden Input: Oculta el valor que se est introduciendo mediante caracteres de *. Esta opcin es til para la solicitud de passwords al usuario.
Adems de las propiedades, todo objeto (incluyendo el objeto I/O que estamos tratando ahora) posee un Configuration Dialog, perteneciente a su men contextual, en el cual se representan las propiedades ms importantes del objeto en cuestin, es decir, un resumen de lo visto en las pginas anteriores. El Configuration dialog de la caja I/O es:
78
Aprende WinCC
Bar. La barra es un objeto que nos permite representar un valor analgico y compararlo con unos lmites establecidos para saber en que estado se encuentra el proceso con respecto al valor deseado.
Bar direction: direccin en la que debe de crecer la barra (hacia arriba, hacia abajo...)
79
Aprende WinCC
Colors: Border Color: Color del borde de la barra. Border Background Color: Color del fondo del borde de la barra. Solo es visible si el estilo del borde de la barra no es slido. Background color: Color del fondo de la ventana de la barra. Fill Pattern color: Color de rellenado de la ventana de la barra. Solo es visible si el estilo del fondo de la ventana no es slido. Bar color: Color de la barra. Scale color: Color de la escala. Bar Background color: Color del fondo de la barra. Trend color: Color de la tendencia. La tendencia es un indicador que aparece en la esquina inferior de la barra indicndonos el sentido del proceso (creciente o decreciente).
Styles: o Border Weight: Anchura del borde de la ventana de la barra. o Border Style: Estilo del borde de la ventana. o Fill Pattern: Estilo de rellenado del fondo de la ventana de la barra. o Bar Pattern: Estilo de rellenado de la barra.
80
Aprende WinCC
Font: o Font: Fuente de la escala e la barra. o Font Size: Escala de la fuente de la escala de la barra. o Bold: Si dicha fuente debe aparecer en negrita.
81
Aprende WinCC
Miscelaneous: Change color: Cambia el color de la barra al superar un lmite superior o inferior de manera total, o solo el trozo que sobrepase dicho lmite. Maximum value: Valor mximo de la escala de la barra. Zero point value: Valor del punto cero de la escala. Minimun value: Valor mnimo de la escala de la barra. Histeresys: Indica si el valor debe de comportarse segn una histresis al alcanzar el lmite superior o inferior. Si alcanzamos un lmite de 100, teniendo activado este parmetro, y seleccionando un rango de histresis de 20, hasta que el valor no baja de 80 no volver la barra a representar modificaciones en su valor. Esto permite evitar las oscilaciones propias de los fluidos una vez alcanzados los lmites precisos. Histeresys Range: Valor a tener en cuenta en la histresis. Trend: Indicador del sentido de la barra. Nos indica si el proceso est aumentando o disminuyendo, realizando una comparacin del valor actual con el anterior. Average Value: Seleccionando esta opcin se muestra la media de los ltimos 15 valores ledos en el proceso, no el instantneo. Ideal para procesos muy fluctuantes. Process Drive Connection: Valor del proceso a mostrar.
82
Aprende WinCC
Axis: Scale: Mostrar o no la escala de referencia de la barra. Alignment: Lugar en el que colocar la escala (derecha o izquierda). Long Axis Section: La escala se compone de barras largas y cortas. Esta opcin dibuja las barras largas de la escala en negrita. Label Each: Indica cada cuantas barras largas de la escala hay que colocar un valor numrico. Only long axis sections: Mostrar solo las barras largas de la escala, no las intermedias cortas. Lenght of axis section: Longitud en pixels de las barras divisoras de la escala de la barra. Exponent display: Mostrar la escala en valor exponencial o lineal. Bar Scaling: Tipo de escala de la barra.
83
Aprende WinCC
LINEAL
LOGARIT.
NEG. LOGARIT.
AUTOMATIC TANGENT
CUADRATIC
CUBIC
Zero point: Lugar donde se encuentra el punto cero en la escala. Axis Section: Cada cuantas unidades queremos poner un indicador numrico de escala. Por ejemplo, cada 20 unidades, con lo que la cantidad de marcadores numricos en la escala ser de 100/20=6. Scale marcs: La distancia en las divisiones de la escala. Digits to the left of the decimal: Dgitos del valor entero de la escala. Digits to the rigth of the decimal: Cantidad de decimales del valor del a escala.
84
Aprende WinCC
Limits: Limit Marker: Marca de lmite que aparece a la izquierda de la barra indicndonos donde se encuentran los lmites de control de la barra. Monitoring AL: Controlar alarma 1de mnimo. Limit AL: Valor del lmite de alarma 1. Bar color AL: Color que debe adoptar la barra cuando el valor del proceso est por debajo de lo especificado en Limit AL. Type AL: El valor de Limit AL puede ser expresado en valor absoluto, con lo cual es necesario conocer a priori el valor mximo de la escala, o en porcentual (mucho ms flexible, ya que ante cualquier modificacin de lmites contina manteniendo la proporcionalidad).
Las dems opciones son idnticas pero para los cuatro siguientes limites de alarma mnima (La L de AL indica que es un lmite de mnimo). Los lmites de mximo comienzan con AH, siendo su funcionamiento y propiedades idntico al descrito, salvo
85
Aprende WinCC
que la barra cambia de color cuando el valor del proceso est por encima del valor estipulado como lmite de alarma. Como ya dijimos, todo objeto tiene su Configuration dialog, o resumen de propiedades. En el caso de la barra son:
86
Aprende WinCC
Graphic Object. El objeto grfico representa una imagen en pantalla. Su asignacin suele ser dinmica, utilizndose el status display para realizar animaciones de imgenes, aunque puede dinamizarse la imagen que representa.
Picture: Picture: Imagen actual a representar. Picture referenced: Indica si se debe almacenar en el objeto la imagen o solo la referencia a la misma, para que al cambiar esta en el disco duro, cambie tambin en el objeto. Picture transparent color: Color que se considera transparente en la imagen. Picture transparent color on: Activar el color transparente, con lo que todos los pixels de dicho color sern reemplazados por la imagen que se encuentre por debajo del objeto. Los formatos que soporta el objeto son: Bmp Emf Wmf Dib. Cuando se selecciona una imagen, esta se copia automticamente en el subdirectorio GraCS de nuestro proyecto, por lo que una vez la seleccionemos en algn objeto estar disponible para todos los dems que realicemos.
87
Aprende WinCC
88
Aprende WinCC
Status display. El status display es el objeto a utilizar para mostrar animaciones en pantalla. Estas animaciones se componen de hasta un mximo de 31 imgenes que se van mostrando en funcin del valor que adopte una variable asignada. El Configuration Dialog del status display es el siguiente:
Existen dos posibilidades a la hora de realizar la animacin: que exista un valor que se va incrementando desde 0 hasta x. Esta opcin suele ser una variable interna, y se incrementa mediante una funcin en C desde WinCC. que exista un valor de comunicaciones que nos indica en que posicin se encuentra la mquina. Cada bit de la palabra muestra un estado de la mquina. En este caso hay que utilizar el botn Add que nos ir incrementando el valor a chequear para el cambio de imagen en potencias de 2.
89
Aprende WinCC
90
Aprende WinCC
Text list. El objeto textlist es til a la hora de realizar un control sobre valores numricos que se encuentran claramente definidos mediante textos. Suelen ser estadios del proceso de tres o cuatro pasos mximo. Por ejemplo, un motor puede estar parado, arrancado en automtico, o arrancado en manual. En estas situaciones el asociar textos a valores numricos dentro del PLC permite gobernar variables del proceso simplemente seleccionando un texto de una lista, o que un texto nos describa el estado de un determinado elemento de la instalacin.
Output/Input: Field Type: Campo de salida (solo leer el valor), de entradas (solo modificar el valor en el PLC) o de ambos (leer y escribir en el PLC). Output Value: Valor del proceso relacionado con los textos. List Type: Tipo de lista de texto.
Asignement: Asignacin de los textos a los diferentes valores numricos. Bit number: Bit de la palabra que define el estado. Unicamente itene sentido para el tipo list type:bit. Apply on exit: Aplica los cambios al abandonar el foco de dicho objeto, ya sea con la tecla tab o pichando con el ratn en otro objeto, sin necesidad de pulsar la tecla enter prteviamente. Number of visibles lines: Lneas de texto visibles al desplegar la ventana de seleccin de valor.
91
Aprende WinCC
92
Aprende WinCC
Buttons. El objeto button es el encargado de la asignacin de las funciones tpicas de manejo por el programa de la aplicacin (cambio de pantalla) y realizacin de funciones predefinidas (activar una determinada bomba, etc...). La ventana de configuration dialog de button es la siguiente:
El campo text es el texto que aparece sobre el botn. Hotkey es la funcin del teclado que se asigna a ese botn, de tal manera que presionando dicha tecla se ejecuta la funcin que se haya asociado al mismo. Destacar que la asignacin del teclado no se limita a las teclas de funcin pudindose asignar hasta la tecla de ESC o la de ENTER para salirse de las pantallas o entrar a elllas como si se estuviese en una OP.
93
Aprende WinCC
Password es el campo en el que indicamos el nivel de autorizacin requerido para poder ejecutar la accin del botn. El campo inferior de la ventana est reservado por si deseamos darle al botn la funcionalidad tpica de cambiar de pantalla. Podemos asignar con el icono que aparece a la derecha una de las pictures ya definidas
Dos opciones no vistas del botn es que podemos definir dos imgenes (picture on y picture off) para representar los dos estados del botn (presionado o no).
94
Aprende WinCC
Check box. El control checkbox es la manera de seleccionar opciones no excluyentes entre s dentro de una seleccin requerida al usuario.
95
Aprende WinCC
Index: Indice actual dentro del array de cajas de control. Text: Texto asignado para este idioma y este ndice de caja. Para cambiar los textos de otras cajas, cambie el nmero de Index. X Alignement: Alineacin en el eje X de los textos. Y Alignement: Alineacin en el eje Y de los textos.
Selected Boxes: Cajas que estn activas por defecto segn el array generado (en el ejemplo solo la primera de las tres). La visualizacin del control tal como lo hemos configurado es la siguiente:
96
Aprende WinCC
Option button. El objeto option button se utiliza para realizar una entrada en el proceso de un valor que solo puede adoptarse de entre una serie definida de posibilidades excluyentes entre s. La nica diferencia entre l y checkbox, visto anteriormente es precisamente esta caracterstica de exclusin, lo que hace que seleccionando cualquiera de las opciones del objeto option automticamente dejan de estar seleccionadas todas las dems. Todas las propiedades vistas en checkbox sirven para option button.
97
Aprende WinCC
Slider. La barra slider sirve para poder introducir valores analgicos en el proceso de una manera grfica.
De las propiedades de slider solo destacar por no haber sido vista an: Extended operation: Si se pincha copn el ratn en cualquier parte de la barra que no sean los botones de subir y bajar, el valor se va directamente al mnimo o al mximo
98
Aprende WinCC
estando activado este parmetro. En caso contrario, se incrementa el valor en una unidad cada vez que se pinche en la barra de desplazamiento. Operation steps: incrementos en que aumenta o disminuye la variable de proceso cada vez que nos desplazamos por la barra.
Podemos asignar tambin colores a la barra y a los botones de mximo y mnimo de manera individualizada, as como al fondo con respecto a lo que lleva y lo que queda hasta el mximo.
99
Aprende WinCC
Round. El objeto round est ideado como pulsador con enclavamiento o como visualizador de estado (presionado o no presionado).
Las opciones ms interesantes son: Latch Down: Mantiene el botn enclavado en funcin set/reset pese a no estar presionndolo. Pressed: Valor actual del botn (0 = no presionado / 1 = presionado).
100
Aprende WinCC
Asistentes Los asistentes de programacin son pequeos scripts o trozos de cdigo de programa que se aaden de manera automtica al objeto sobre el que se aplican, para realizar una determinada tarea de programacin. Cuando se aplica un Dinamic Wizard a un objeto aparece un asistente que nos permite seleccionar el evento con el cual deseamos ejecutar el script. Dinamic Dialogs System Functions:
Exit WinCC: Sale del runtime de WinCC y del propio WinCC. Cdigo aadido: ExitWinCC(); Exit WinCC or Windows: Nos permite seleccionar la forma de salir de WinCC. Las opciones posibles son: Exit Windows without restart:Apaga el sistema Windows NT, cerrando todas las aplicaciones. Cdigo: DMExitWinCCEx(DM_SDMODE_SYSTEM); Exit WinCC: Sale de WinCC. Cdigo:DMExitWinCCEx (DM_SDMODE_WINCC); Exit WinCC and logon again: Sale de WinCC y vuelve a solicitar un nuevo usuario de Windows NT. Cdigo:DMExitWinCCEx (DM_SDMODE_LOGOFF); Exit WinCC and restart Win dows: Sale de WinCC y rearranca Windows NT. Cdigo: DMExitWinCCEx (DM_SDMODE_REBOOT);
101
Aprende WinCC
Exit WinCC runtime: Sale de la runtime de WinCC, pero no del desarrollo de WinCC si estuviese abierto. Cdigo: DeactivateRTProject (); HardCopy: Imprime la pantalla actual por la impresora predeterminada de Windows. Cdigo: WinExec("PRTSCR.EXE -hardcopy",SW_SHOWNORMAL); Language switch: Cambia de idioma los textos de la aplicacin runtime. Cdigo: SetLanguage(0x040A); /* SPANISH */
102
Aprende WinCC
Start another aplication: Arranca otra aplicacin que deseemos ejecutar. Cdigo: ProgramExecute("C:\\Archivos de programa\\Microsoft Office\\Office\\EXCEL.EXE");
Standard Dinamics:
Add dinamics to the prototype: permite dinamizar una propiedad del objeto seleccionado a travs de un Wizard en lugar de hacerlo directamente en propiedades del objeto. Color Dinamics: Color Dinamics with table: Copy tag value: incluye el cdigo que copia una variable en otra. El cdigo asociado es el siguiente:
double VarInh; { VarInh=GetTagDouble(TAG_0); SetTagDouble(TAG_1,VarInh); }
Es importante tener en cuenta que nicamente se copian variables de tipo word, no apareciendo la posibilidad de copiar las de otro tipo. Cuando sea necesario copiar una variable en otra, es mejor realizarlo a mano en C.
103
Aprende WinCC
Fill object: rellena los objetos que permitan dinamic filling, pero con la ventaja de que a travs del wizard podemos establecer un rango de llenado diferente de 0 a 100 que sera mediante una conexin directa de la variable de llenado con la propiedad de llenado.
104
Aprende WinCC
Make a property dinamic: dinamizar una propiedad. Move object: dinamiza las coordenadas de un objeto seleccionado de acuerdo a dos variables definidas de tal manera que en funcin de las variables se mover la posicin del objeto.
105
Aprende WinCC
Display error: muestra una ventana de error en pantalla. Este Wizard es muy til para sacar mensajes al operario frente a error de manejo.
106
Aprende WinCC
El resultado es el siguiente:
Display WinCC dialog: mostrar una ventana de dilogo ya configurada anteriormente. Nos crea el cdigo necesario para que al presionar sobre el objeto, aparezca la ventana indicada.
107
Aprende WinCC
108
Aprende WinCC
Dinamizacin de propiedades
Dinamizacin a travs de una variable Las dinamizacin de las propiedades de un objeto se puede realizar de diferentes maneras. La ms sencilla de todas reside en conectar la propiedad a una variable de manera directa, de tal forma que el valor que posea la variable ser el que tenga la propiedad, y viceversa.
La representacin de una asignacin directa a una variable se realiza con una bombilla verde. Dinamizacin a travs de dinamic dialog La segunda forma sencilla de dinamizar una propiedad es a travs del dinamic dialog, una caja de dilogo que nos permite configurar cual debe ser el valor que controla la propiedad dependiendo de una frmula que puede ser el resultado del valor de una variable o de una operacin matemtica. El dinamic dialog lo veremos ms adelante en los ejemplos de programacin, pero es conveniente saber que se representa su asignacin a una propiedad mediante un rayo rojo.
Dinamizacin mediante cdigo C La ltima forma de poder dinamizar una propiedad es directamente programar en C una operacin que nos debe de devolver el valor que controlar la propiedad. Solo es necesaria esta solucin en casos de clculos matemticos muy complejos.
La representacin de su asignacin se realiza por un rayo verde. Dinamizacin indirecta de una propiedad
109
Aprende WinCC
Adems de poder dinamizar una propiedad asignndole un valor, ya sea a travs de una variable o del resultado de operaciones matemticas, podemos realizar una asignacin indirecta del valor de la propiedad. Supongamos que tenemos una caja de I/O y queremos mostrar la temperatura de la sala. Dependiendo de una serie de botones, podremos seleccionar una sala u otra. La caja de I/O deber cada vez estar asociada a una variable distinta. Para conseguir esto, se asocia una variable de tipo texto a la propiedad en cuestin (en nuestro caso Output Value). Todas las propiedades tienen una caja de asignacin a la derecha llamada indirect. Seleccionndola, el valor de la cadena VAR_TEXTO indica el nombre de la variable que debe de conectarse a la salida de la caja. Por lo tanto, cambiando VAR_TEXTO cambiamos la variable conectada en dicha propiedad.
Programacin de eventos Los eventos de un objeto deben de programarse en C. Sin embargo, existe un pequeo asistente que nos puede evitar en algunas circunstancias tener que recurrir a la programacin para realizar nuestras acciones en los eventos. En WinCC este asistente se denomina Direct connection y tiene el aspecto inferior:
110
Aprende WinCC
Cuando se realiza un direct connection a un evento queda indicado mediante un rayo azul:
Programacin en C de eventos Pero casi siempre hay que recurrir al C para realizar las acciones que deseamos. Cuando asignamos nuestro cdigo de programacin a un evento, se nos indica mediante una bombilla verde:
Sin embargo, no siempre la programacin en C que realicemos ser correcta. Cuando el cdigo asociado contenga errores y no pueda ser compilado por WinCC, se nos indicar mediante un rayo amarillo. Tenemos que tener en cuenta que en esta circunstancia no se ejecutar el cdigo aunque se produzca el evento.
111
Aprende WinCC
C Ca ap pt tu ullo o 4..
112
Aprende WinCC
Pasamos a las clases de aviso. Esta vez no vamos a crear una nueva clase de aviso, sino que utilizaremos la que ya viene prediseada en el WinCC, llamada Error. En las propiedades de la clase definiremos los textos que deseamos que identifiquen sus diferentes apariciones y desapariciones.
Vamos a utilizar el tipo de alarma Alarma, por lo que entramos a sus propiedades y realizamos la siguiente asignacin de colores:
Ya estamos en disposicin de definir nuestras primeras alarmas. Las alarmas deben dentro de la memoria del PLC de agruparse en palabras de 32 bits para ahorrar tiempo de lectura de comunicaciones y variables a adquirir en el runtime. Lo recomendable es crear dentro del PLC una DB, en la cual cada uno de los bits de la misma identifica una alarma del proceso, y otra DB para los avisos del sistema que no requieren acuse. En nuestro ejemplo, para poder mostrar mejor todas las posibilidades, vamos a crear una variable interna de 32 bits que llamaremos ALARMAS.
113
Aprende WinCC
De nuevo en el Alarm Logging definimos una nueva alarma, que posee las siguientes caractersticas:
Observemos que la hemos asignado al tipo alarma de la clase Error, que deseamos que se archive (para que aparezca posteriormente en el histrico de alarmas), y que active una accin. Qu es activar una accin y para qu lo vamos a utilizar?. Bien, mas adelante vamos a desear que suene un sonido por los altavoces del pc cada vez que aparezca una nueva alarma en la instalacin. Luego necesitaremos que se ejecute una accin en c ante la llegada de una nueva alarma. El activar esta casilla indica a WinCC que ante cualquier evento de dicha alarma (que aparezca, desaparezca, sea reconocida), entre a un funcin ya definida en WinCC que se llama gmsgfunc.fct. Un tema muy importante sobre esto que estamos comentando es el hecho de que dicha funcin no reside dentro de nuestro proyecto, sino en el subdirectorio c:\Siemens\WinCC\aplib\alarm. Y qu importa?. Nada, si tenemos esto en cuenta a la hora de llevarnos la aplicacin a otra instalacin, o de nuestra oficina al ordenador de la fbrica. Cuando copiamos todo el subdirectorio de nuestro proyecto, deberemos de tener la precaucin de copiar este archivo tambin, para posteriormente copiarlo en le mismo subdirectorio de WinCC del pc destino de nuestro proyecto, o no servir para nada que tengamos activada la opcin activa un accin, ya que acudir al gmscgfunc.fct, pero no tendr cdigo, estar vaco.
114
Aprende WinCC
Continuando con la explicacin, vemos tambin que hemos asignado la variable interna alarmas, y que deseamos que el bit 0 de la misma active la presente alarma. Los textos de la alarma los introducimos de lo ms clarificadores para este ejemplo:
Y en el bloque usuario esta vez no vamos a colocar nada, ya que para esta alarma no lo vamos a gastar.
Definimos dos alarmas ms, una con el bit 1 y otra con el 2 de la variable alarmas, cambiando los textos para poder posteriormente identificarlas de una manera sencilla. Recuerda que puedes seleccionar la que acabas de realizar copiarla y pegarla para crear las dos nuevas.
Ya hemos finalizado con el Alarm Logging. Activamos la parte de runtime de alarmas de nuestro equipo y ya estamos en disposicin de ir al Graphic Designer.
115
Aprende WinCC
Histrico de alarmas. Copiamos la pdl start.pdl y la renombramos como alarmas.pdl. En bottom.pdl introducimos el siguiente botn de la biblioteca:
Observemos que en cuanto ejecutemos este cdigo nos vamos a ir a la pdl alarmas, abandonando la pdl start. Y luego como volvemos?. Es necesario en este punto poseer un sistema de navegacin por ventanas. Para ello diseamos al principio top.pdl, para colocar en ella botones de acceso a las diferentes pantallas de nuestra instalacin. Pero ahora mismo no vamos a utilizar este mtodo de navegacin, sino unas funciones en c que nos permite ir a la pantalla inicial a la de la que venamos, o regresar a la que fuimos, fuese en cada momento la que fuese. Para observar esta funcionalidad en bottom introduciremos los siguientes botones de la biblioteca a la izquierda de la pdl:
Estos botones de la biblioteca ya poseen las siguientes funciones asociadas (que podramos asignar a cualquier otro botn para conseguirlas): OpenPrevPicture(); OpenHomePicture(); OpenNextPicture(); Estas funciones se encuentran en el siguiente subdirectorio de funciones c:
116
Aprende WinCC
Ya podemos por lo menos ir a larmas.pdl y volver a start.pdl. Vamos adefinir la ventana de alarmas. Abrimos alarmas.pdl e introducimos un objeto de tipo
Te estars preguntando que qu son los botones de la derecha que aparecen sobre la ventana de alarmas. Vamos a colocarlos, para poder activar y desactivar bits de la
117
Aprende WinCC
variable alarmas, con lo que en realidad estaremos generando y haciendo desaparecer nuestras tres alarmas anteriormente creadas a voluntad desde esta pantalla.
Para poder activar o desactivar bits utilizaremos un wizard de WinCC como muestra la figura:
Repetimos la operacin para los otros 5 botones y ya estamos en disposicin de hacer aparecer alarmas en la ventana de alarmas. Vamos a editar las propiedades de la ventana de alarmas (clickeando dos veces sobre la misma, que es una forma ms cmoda de observarlas que utilizar el boton derecho del ratn y seleccionar propiedades). Esta ventana va a servirnos para ver el histrico de alarmas, por lo que seleccionaremos Ventana de archivo temporal, que es una desafortunada traduccin de ventana de archivo en formato tambor.
118
Aprende WinCC
Si le pones titulo a la ventana de alarmas el WinCC la hace automticamente movible, y que puede ser cerrada, por lo que desactivamos ver titulo de ventana Una de las cosas ms importantes que deberemos de realizar en esta solapa es realizar un filtrado de seleccin de alarmas. Porqu?. Bien, recordemos que habiamos utilizado las alarmas para fallo de comunicaciones, y para registro de usuarios. En esta en concreto no deseamos observar dichas alarmas, porque le damos otro tratamiento distinto. Por todo esto, deberemos de presionar el botn seleccin y definir que unicamente deseamos observar en esta pantalla las alarmas de clase error.
119
Aprende WinCC
En la siguiente solapa definiremos la seleccin de la alarma por fila, y un desplazamiento automtico para que acuda a la ltima alarma cuando no nos quepan en pantalla.
La barra de herramientas no poseer todos los botones. Veamos los no deseados y el porqu de su exclusin: Obtener fichero histrico: hemos quedado que es mejor fichero circulante para las alarmas, luego no tiene sentido tener un botn del mismo. Funcin de informe: el tratamiento de informes lo realizaremos nosotros para tener un mayor control sobre los mismos.
120
Aprende WinCC
Por ltimo definimos los bloques que compondrn nuestra lnea de alarmas y el orden que poseern en la misma
121
Aprende WinCC
Alarmas Actuales. Nuestro siguiente objetivo es poder mostrar en bottom.pdl una ventana en la que aparezca reflejada la ltima alarma que ha aparecido en la instalacin. Para ello introduciremos un WinCC alarm control como muestra la figura:
Esta ventana de alarmas posee las siguientes propiedades: El tipo de ventana es de aviso. Tambien aplicamos aqu una seleccin para que nicamente nos muestre las alarmas de tipo error. En la solapa parmetros no aplicamos seleccin, ni mostramos ttulo de columna ni ttulo de fila.