Indusoft – Tutorial Manual de Entrenamiento Básico
INTRODUCCIÓN InduSoft es un potente conjunto de herramientas de automatización totalmente modular para el
desarrollo de cualquier tipo de aplicación, desde un HMI funcionando en un pequeño ordenador de bolsillo hasta un completo SCADA en el PC más potente. Puede supervisar una pequeña máquina o el más avanzado sistema de control automatizado o de proceso en una red distribuida. Indusoft dispone de un completo conjunto de controladores de dispositivo que abarcan las posibilidades del mercado actual. Su abierta conectividad a otros sistemas basados en Windows lo transforman en la plataforma ideal para la comunicación con aplicaciones MES, ERP u otros sistemas de gestión. A diferencia de otros productos similares, Indusoft permite el acceso en profundidad a bases de datos y seguridad. Durante el entrenamiento explorará un concepto de arquitectura orientada a módulos funcionales, dejando dejando detalles de configuración para una etapa posterior en la cual el desarrollo de su proyecto ya este finalizado. El objetivo de este tutorial es presentarle las herramientas y recursos del InduSoft Web Studio de manera que usted pueda entender su funcionamiento, funcionamiento, pues es fundamental fundamental para el desarrollo desarrollo de cualquier aplicación. Finalizando este turorial, usted estará en la capacidad de poder desarrollar aplicaciones utilizando los recursos del InduSoft Web Studio de manera manera eficiente y al mismo mismo tiempo alcanzar un rendimiento óptimo para su proyecto.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-3-
Indusoft – Tutorial Manual de Entrenamiento Básico
REQUISITOS DE SISTEMA PARA EJECUTAR EL INDUSOFT WEB STUDIO Estación de Desarrollo
Una PC compatible con Windows, teclado, Mouse y Monitor SVGA Sistema Operativo: - Windows XP SP3 o superior - Windows Vista SP1 o superior - Windows 7, todas las versiones - Windows Server 2003 SP2 o superior - Windows Server 2008, todas las versiones Microsoft Internet Explorer 6.0 o superior Mínimo 500 MB libres en el disco duro Tarjeta de red o Wireless. CD-ROM (Opcional para instalación, ya que el instalador puede descargarse de la web) Puerto USB (Opcional, para ser usado por Licencias Hardkey) Puertos seriales COM y adaptadores (Opcional, usados para comunicación con diversos dispositivos)
Estación Servidor
Una PC compatible con Windows o Windows Embebido Sistema Operativo: - Windows XP SP3 o superior - Windows Vista SP1 o superior - Windows 7, todas las versiones - Windows Server 2003 SP2 o superior - Windows Server 2008, todas las versiones - Windows XP embebido SP3 - Windows Embebido Standard 7 - Windows Embebido Compacto (conocido como Windows CE), versión 5.0 o superior Se recomienda ediciones “Professional” o “Ultimate”, porque incluyen Internet Information Services (IIS) que puede utilizarse como Web Server para los proyectos. Microsoft Internet Explorer 6.0 o superior Mínimo 500 MB libres en el disco duro Tarjeta de red o Wireless. CD-ROM (Opcional para instalación, ya que el instalador puede descargarse de la web) Puerto USB (Opcional, para ser usado por Licencias Hardkey) Puertos seriales COM y adaptadores (Opcional, usados para comunicación con diversos dispositivos)
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-4-
Indusoft – Tutorial Manual de Entrenamiento Básico
Estación Cliente – Embebido Un dispositivo compatible con Windows Embebido o Windows Mobile, con Mouse o touchscreen. Sistema Operativo: - Windows XP embebido SP3 - Windows Embebido Standard 7 - Windows Embebido Compacto (conocido como Windows CE) o Windows Mobile, versión 5.0 o superior Tarjeta de red o Wireless.
Estación Cliente - Thin
Una PC compatible con Windows o Windows Embebido, con Mouse o touchscreen Sistema Operativo: - Windows XP SP3 o superior - Windows Vista SP1 o superior - Windows 7, todas las versiones - Windows Server 2003 SP2 o superior - Windows Server 2008, todas las versiones - Windows XP embebido SP3 - Windows Embebido Standard 7 - Windows Embebido Compacto (conocido como Windows CE) o Windows Mobile versión 5.0 o superior Microsoft Internet Explorer 6.0 o superior Tarjeta de red o Wireless.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-5-
Indusoft – Tutorial Manual de Entrenamiento Básico
INSTALACIÓN DE INDUSOFT WEB STUDIO EL programa de instalación del InduSoft Web Studio se ejecuta en Windows y se encuentra en la copia del CD distribuida por Indusoft o puede descargarse de la Web. Cuando el CD es insertado en la unidad de CD ROM, automáticamente se abrirá el CD Browser que contiene la opción de instalación de Indusoft que podría contener o no el Service Pack del producto. Service Pack es una actualización de la versión actual que contiene pequeñas alteraciones. Cualquier Service Pack contiene todas las actualizaciones de los Service Packs anteriores, de
forma que usted solo debe instalar el último de ellos. Siga las instrucciones del Asistente de Instalación, cuando haya finalizado selecciones la opción
“Yes, I want to restart my computer now”
Después de la instalación, suponiendo una instalación Standard, se han creado los siguientes directorios: InduSoft Web Studio\Bin – contiene los archivos ejecutables: dlls, ini, etc... InduSoft Web Studio\DRV – contiene los archivos relacionados con los drivers de comunicación. InduSoft Web Studio\Lib – pantalla de la biblioteca de símbolos. InduSoft Web Studio\Redist – contiene varias versiones del programa CEView e CEServer que permiten ejecutar tus programas de Runtime para Windows CE. InduSoft Web Studio vX.Y\directorio con una aplicación de demostración. InduSoft Web Studiov X.Y\Projects – directorio vacío que puede ser usado para contener aplicaciones desarrolladas por el usuario.
Estructura Interna
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-6-
Indusoft – Tutorial Manual de Entrenamiento Básico El Database desempeña un importante papel en la estructura de funcionamiento del InduSoft Web Studio. Es a través del cual transita toda la información. Para mandar datos del driver a una planilla matemática, el valor del tag generado por el driver va al Database y solo cuando es necesario es enviado para la plantilla matemática. Así se da el procesamiento por defecto y los datos no transitan innecesariamente. En todas las aplicaciones desarrolladas en el InduSoft Web Studio se utilizan dos módulos: de Ingeniería para el desarrollo y los de Runtime para una ejecución. Durante una ejecución todos los módulos intercambian datos con el DataBase y este con los módulos. En el esquema mostrado a continuación se puede observar una correspondencia entre los módulos de ingeniería y los módulos de Runtime. También se muestras los utilitarios que no fueron incluidos en el diagrama anterior, operando de la misma forma: los datos transitan exclusivamente con el Database. Note también que los módulos de ingeniería se comunican con el Database. Toda configuración en un módulo de ingeniería involucra un tag, y este ha de ser creado en el Database, o en todo caso el Studio le solicitara a usted que lo cree de modo que la configuración permanece consistente.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-7-
Indusoft – Tutorial Manual de Entrenamiento Básico
Background Tasks: Esta tarea es la responsable de la ejecución de las lógicas (scripts) contenidas en las plantillas matemáticas, scheduler y gerencia los módulos configurados como plantilla de alarmas, recetas, tendencias y resúmenes.
Database Spy: Herramienta de depuración utilizada para: Leer datos del TAG Database (ejm. Valores de TAGs ); Escribir datos en el TAG Database (ejm. Valores de TAGs);Ejecutar funciones / expresiones y verificar su funcionamiento. DDE Client: Gerencia la transición de mensajes DDE con cualquier DDE Server local o remoto, de acuerdo con las configuraciones de las planillas DDE.
DDE Server: Gerencia la comunicación DDE con cualquier DDE Server local o remoto.
Driver Runtime : Gerencia la lectura y escritura de comandos y datos configurados en las plantillas de Driver.
LogWin: Herramienta de depuración donde es posible visualizar mensajes generados por otras tareas.
ODBC Runtime: Gerencia la comunicación ODBC con el banco de datos relacionados a SQL de acuerdo con las configuraciones contenidas en la planilla ODBC.
OPC Client Runtime : Gerencia la comunicación OPC con el OPC Server local o remoto, obedeciendo a los parámetros presentes en la planilla OPC.
OPC Server: Administra la comunicación OPC con OPC client local o remoto. TCP/IP Client: Administra el trafico de mensajes TCP/IP provenientes de un modulo TCP/IP Server remoto (de otro InduSoft Web Studio), respetando las configuraciones de las plantillas TCP/IP
TCP/IP Server: Gerencia la comunicación de mensajes TCP/IP con módulos TCP/IP Client remotos (provenientes de otro InduSoft Web Studio o un Web Thin Client).
Viewer: Ejecuta las lógicas configuradas en la pantalla (On Open, On While, On Close,Command , Hyperlink , etc) y actualiza los objetos de la misma.
Creación:
Creación de Pantallas y Biblioteca de Símbolos Creación de Planillas de tareas (Scheduler, Alarmas, Matemáticas, Tendencias, Recetas, ODBC. etc.) Creación de comunicaciones (Drivers, TCP/IP, DDE, OPC). Creación de Banco de Datos y Sistemas de Seguridad.
Ejecución:
Visualización de pantallas (Módulo Viewer)
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-8-
Indusoft – Tutorial Manual de Entrenamiento Básico
Ejecución de Tareas (Módulo BackGround Tasks ejecutando: Recetas, Planillas de alarmas, Matemáticas, ODBC Runtime, etc.) Ejecución de Comunicación (Módulo de Driver, Módulos TCP/IP Client e Server, Módulo OPC Cliente Runtime, Módulos DDE Client e Server).
Depuración
Database Spy –Permite forzar y leer valores del Banco de Datos LogWin – Controla la ejecución de los módulos, de la comunicaron serial, variación de valores de tags, etc.
El objetivo de este entrenamiento es familiarizarlo con estas categorías de módulos, de manera que sepa utilizarlas de la mejor forma durante una ejecución, inicio o mantenimiento de un sistema desarrollado
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
-9-
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE UN NUEVO PROYECTO Para crear un nuevo proyecto usando el InduSoft Web Studio, inicie el InduSoft Web Studio haciendo clic en el acceso directo para el área de trabajo de este programa.
O usando el botón Inicio-> Programas-> InduSoft Web Studio v7.0 -> InduSoft Web Studio
v7.0
Ya en el ambiente de InduSoft Web Studio, seleccione File (Icono en la esquina superior izquierda) y haga clic en New. Seleccione la pestaña "Project" y digite el nombre del proyecto en el campo de "Project name". Seleccione a plataforma y el tipo de producto para el pro yecto en las listas “Target Platform” y “Product Type”, teniendo en cuenta la dimensión del proyecto a ser creado.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 10 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
El botón “Browse” proporciona la posibilidad de escoger una nueva ruta para la creación de la aplicación.
-
Presione el botón OK para abrir la ventana siguiente.
-
En la ventana "Project Wizard ", es posible seleccionar algunas aplicaciones que pueden ser utilizadas como un punto de partida para la aplicación. Para el entrenamiento no usaremos esas aplicaciones al inicio del proyecto.
-
Es posible también escoger la resolución apropiada para las pantallas, en píxeles.
Importante:
- Selecione: Empty Application (Aplicación vacia) y Resolution = 1024 X 768.
Nota:
La resolución escogida define solamente el tamaño por defecto de las nuevas pantallas que serán creadas en la aplicación. Cada pantalla insertada puede tener una resolución totalmente configurable.
- Clique OK .
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 11 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Configuración del Proyecto: “ Project Settings”
En el menú principal (icono en la esquina superior izquierda), seleccione Project Settings... para abrir la ventana "Project Settings. " Esta ventana posee seis pestañas: La pestaña de "Information" es reservado para identificar y registrar los datos del proyecto.
La pestaña "Options" permite definir algunas características del ambiente de la APLICACIÓN FINAL durante la ejecución. Tales como: la plataforma a ser utilizada, y la configuración para el registro de Alarmas y Eventos
La pestaña "Viewer" permite definir algunas características en el ambiente de la AP LICACION FINAL durante la ejecución. En esta pestaña es importante definir una
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 12 -
Indusoft – Tutorial Manual de Entrenamiento Básico pantalla de inicio de aplicación para ser la “Startup screen” o un grupo de estas (*.sg). La ventana escogida es abierta automáticamente cuando el módulo Viewer es iniciado.
La pestaña "Communication " permite definir algunas características generales de comunicación. Como por ejemplo determinar un puerto de comunicación TCP y el tiempo de envío de los mensajes, comportamiento de las tareas Driver/OPC
La pestaña "Web" permite definir algunas características en el InduSoft Web Studio para trabajar como Servidor Web de la aplicación final. Esta pestaña será detallada más adelante cuando estudiemos configuraciones Web.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 13 -
Indusoft – Tutorial Manual de Entrenamiento Básico
La pestaña "Preferences" permite definir preferencias durante el desarrollo del proyecto en InduSoft Web Studio.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 14 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Project Status Permite configurar el inicio automático o no de las tareas (Tasks) cuando se ejecuta el proyecto. También permite Iniciar o Detener las tareas manualmente.
En el menú principal seleccione Home y haga clic en Tasks... para abrir la ventana de Project Status. Permite controlar la ejecución de cada modulo de Runtime, iniciando o finalizando estos módulos, usando los botones "Start" e "Stop”.
Para configurar los módulos de Runtime que necesitan ser iniciados automáticamente en el STARTUP DE LA APLIACACION haga clic en el módulo, luego en el botón Startup seleccionando la opcion “Automatic”.
Si esta en duda sobre cuales módulos deben estar configurados como start automático, revise nuevamente el cuadro sinóptico presentando, que muestra las funcionalidades de cada módulo de runtime a la hora de ser ejecutado.
Presione Aceptar.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 15 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CONFIGURACIÓN DEL TAG DATAB ASE Definic ión de Tags Tags son las variables utilizadas en la aplicación y son utilizadas en todas las configuraciones de los módulos de supervisión. Los Tags pueden ser de comunicación, con los equipos de campo, o utilizados internamente en la aplicación para cálculos, para generar bases de tiempo o eventos. En InduSoft Web Studio, los tags creados por el usuario son llamados application tags o tags de apliacacion; InduSoft posee algunos tags predefinidos que son llamados I nternal tags o tags internos. Estos tags internos poseen información del sistema como la fecha y hora, el nombre del usuario que inicio sesión, entre otros, o inclusive pueden ser usados como comando de alguna función o beepoff, ackalr y otros.
Reglas de sintaxis de los Tags
El nombre de un Tag tiene las siguientes restricciones: Solo deben ser compuestos de letras, números y de caracteres “_” (underscore). No pueden ser utilizados los siguientes caracteres especiales, ni tildes: ` ~ ! @ # $ % ^ & * ( ) - = \ + \ [ ] { } < > ? / ´ “” . ¨ : , ; ç .
Deben siempre iniciar con una letra. Su longitud máxima es de 255 caracteres para nombre de Tags o Tags miembros de una clase. El nombre de un Tag debe ser diferente del nombre de un Tag interno y de las funciones matemáticas.
Ejemplo: Temperatura Presión Nivel
InduSoft Web Studio no diferencia letras minúsculas de mayúsculas. Por lo tanto, nivel = NIVEL, siendo así que la interpretación de ellos es de la misma forma. El sistema mantiene todo conforme se ha digitado. De manera que puede adoptar un patrón que le convenga y facilitar así la lectura a partir de la visualización como en NivelTanque, PresionTanque, que hacen la lectura más fácil que en niveltanque, presiontanque.
Tipos de Tags El tipo de un tag puede ser de uno de los siguientes tipos:
Boolean – (1 bit. Valor “0” o “1”) Variable digital o Booleana (0 o 1 )
Integer – 4 bytes (Número entero) Números enteros (Pueden ser positivos, negativos o cero). Equivalente al tipo long integer (De –2147483647 a 2147483648). Real – 8 bytes (Número real con punto flotante) Números reales internamente grabados como un double.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 16 -
Indusoft – Tutorial Manual de Entrenamiento Básico
String – 1024 Caracteres alfanuméricos String de caracteres con la longitud de hasta 1024 caracteres (de 0 a 1023) y soporta letras, números o caracteres especiales. Ejemplos: Receta 12C ***On***
Todos los tags son declarados en el Database, en la carpeta de Application Tags. Además de estos 4 tipos previamente listados, se puede definir nuevos tipos llamados Clases (Classes).
Clases, Arrays y Punteros ( tags ind iretos) Array tags Los tags de InduSoft Web Studio pueden almacenar un valor de un tag o de un vector de tags. Un tag como la opcion “array” un grupo de tags con el mismo nombre pero con indices diferentes (una matriz de “ n” líneas y 1 columna) Ejemplos: Temperatura Temperatura Temperatura Temperatura
[1] [2] [3] [500]
Use un tag array siempre que sea posible, pues optimiza la memoria y simplifica la configuración de las tareas. Suponga que usted quiere tener un display para monitorizar cada tanque. Usando tags array posibilita el configurar solamente un display que contenga tags enlazados a cualquiera de estos tanques: Presion[ tk] Temperatura [tk] Temperatura [tk +1]
El tag tk es el tag que contiene el número de tanque que se desea visualizar. Un índice para el array debe ser un tag, un valor numérico, o una expresión incluyendo una adición. Para referirse a un array usando la operación de adición, usted debe seguir la siguiente sintaxis: tag_name [tag + N], donde N es una constante numérica. Ejemplos:
Temperatura [tk+2] Temperatura [tk+6] El uso de tagas con la opción de array economiza tiempo en el desenvolvimiento de la aplicación. Suponga que usted necesita de la temperatura de cuatro tanques. Por el método convencional:
Nombre del Tag
Descripción
Temperatura1 Temperatura2 Temperatura3 Temperatura4
Temperatura en el Tanque 1 Temperatura en el Tanque 2 Temperatura en el Tanque 3 Temperatura en el Tanque 4
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 17 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Usando un tag con la opción de array, es posible simplificar esta tarea:
Temperatura[x] Temperatura en el tanque x
Donde x representa 1, 2,3 o 4. Cuando usted crea un tag array de tamaño 4, el sistema crea cinco posiciones (de 0 a 4). tag_Ejemplo[15] //posición inicial=0 ///posición final=15 Ejemplo: De esta forma el array tag_Exemplo[15] posee 16 elementos Importante:
Cuando se usa un tag como índice de un array y el valor de este tag está fuera del rango o tamaño del array. Dos posibles resultados pueden darse Si el tag índice es mayor que el tamaño del array, entonces MyArray(IndexTag) apuntará a la última posición del array Si el tag índice es menor a cero, entonces MyArray(IndexTag) apuntará a la primera posición del array, es decir MyArray(0)
Tags indi rectos – punteros InduSoft Web Studio soporta acceso indirecto a los tag del database. Considere el tag X de tipo string. Este tag puede contener el nombre de otros tags del database, lo que significa que pude funcionar como un puntero para cualquier otro tag (incluyendo un tag tipo clase). La sintaxis para un tag indirecto es:
@
Por ejemplo, asumiendo que un tag string llamado X co ntiene el valor TEMP .Leer o escribir en @X permite tener acceso al valor del tag TEMP Para tener acceso a un tag indirecto de una clase, use la siguiente sintaxis:
@. Ejemplo:
@X.Nivel
En este caso usted esta teniendo acceso al miembro Nivel en el tag para el cual X apunta. A pesar de que cualquier tag string puede ser usado como un puntero, cuando usted crea tags para este propósito, coloque el @ antes de el nombre del tag y escoja el tipo de dato que este puntero cargara, pues eso permite que el InduSoft haga la variable para el tipo boolean, integer, real. Veamos el siguiente ejemplo
TagName
Type
@Z @X
Intenger Class: TANQUE
Cualquier tag que es creado como string es un puntero en potencia. Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 18 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Classes En adición a los tipos patrones de tags, usted también puede definir tags de tipo Class que son estructuras que permiten un alto grado de organización de la aplicación Database. Cuando un tag de tipo class es creado, este no contendrá un simple valor sino un grupo de valores. Crear tags tipo class equivale a agrupar tags simples, que pasan a ser elementos. Ejemplo:
Class Tanque
Member
Type
Description
Nivel Temperatura Presion ValvulaEstado
Integer Integer Real Bolean
(nivel) (temperatura) (Presión) (Estado de válvula)
Si usted crea un nuevo tag tk de tipo Class Tanque, usted estará en verdad creando el tag con las propiedades Class: Tanque. Para tener acceso a los miembros de un tag tipo Class use el punto (.) como separador. Ejemplo:
tk.NIVEL tk.TEMPERATURA
Si el tag tk es un array, la sintaxis será:
tk[1].NIVEL tk[n].TEMPERATURA
Propiedades y Parámetros del Tag Estas propiedades son definidas utilizando el botón Properties ubicado en la barra superior del InduSoft Web Studio.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 19 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Propiedades para Tags del tipo String Retentive Value: Click (Check) para guardar permanentemente el valor del tag, incluso si la aplicación se detiene.
Retentive Parameters: Click (Check) para guardar los cambios que se hacen en las propiedades del tag durante la ejecución del proyecto. Startup Value: Escriba un valor para el tag. El Tag asumirá este valor cuando se inicie la ejecución del proyecto. Para que este valor tenga efecto, la propiedad Retentive Value debe estar deshabilitada. Unit: Escriba cualquier texto (hasta 9 caracteres) como una breve descripción o referencia.
Propiedades para Tags del tip o Integer y Real Estos tipos de tags cuentan con las mismas propiedades que los de tipo String y otras adicionales, las cuales se detallan:
Área de Unidades de Ingeniería: - Min: Especifique el valor mínimo para el tag en unidades de ingeniería - Max: Especifique el valor máximo para el tag en unidades de ingeniería Área de acondicionamiento de señal: - Dead Band: Click (Check) para insertar el valor de DeadBand. Este valor es una -
variación del valor del tag el cual no es reconocido para efectos de alarmas. Smoothing: Click (Check) para reducir la tasa de variación en el valor del tag. Por ejemplo, si se selecciona esta opción para el tag NivelTanque el cual tiene en el momento un valor de 50, luego en el siguiente scan, el valor es 60. El sistema almacenará el promedio de 50+60, es decir tomará el valor de 55.
Propiedades para Tags del tipo Boolean Estos tipos de tags cuentan con las mismas propiedades que los de t ipo String.
Propiedades de Alarmas de Tag Este diálogo permite: - Visualizar las propiedades de alarmas configuradas en algún WorkSheet de Alarma del proyecto - Configurar / Modificar directamente las propiedades de alarma, las cuales normalmente se configuran en los WorkSheets de Alarmas
Tipos de Alarmas: HiHI: Alarma por valor muy alto Hi: Alarma por valor alto Lo: Alarma por nivel bajo LoLo: Alarma por nivel muy bajo Rate: Alarma basada en la tasa de variación Deviation: Alarmaba basada en la desviación de un SetPoint específico. Ejemplo: -
Si SetPoint = 50, Deviation+ = 5, Deviation- = 5, and deviation dead band = 0.5 IWS genera una alarma cuando TEMP>= 55 o TEMP. <= 45 El retorno a un estado NORMAL, ocurre cuando TEMP >= 45.5 o TEMP<= 54.5
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 20 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Propiedades de Alarmas para Tags del tipo In teger y Real: Alarm Enabled: Click (Check) pata habilitar las configuraciones realizadas Remote Ack Tag : Escriba el nombre de un tag que servirá para reconocer la alarma. Dead Band Value: Escriba un valor de filtro para la “normalización” de alarmas. Por
ejemplo, si TEMP tiene configurado Hi Limit = 90 y Dead Band = 5, entonces IWS generará una alarma cuando TEMP >= 90. El retorno a estado normal ocurrirá cuando TEMP <= 85 Translation Enabled: Click (Chek) para habilitar la traducción de mensajes, que haya sido previamente configurada. HiHi (HiHi Limit): Click (Check) para habilitar y escribir el valor para una alarma de nivel muy alto. Hi (Hi Limit): Click (Check) para habilitar y escribir el valor para una alarma de nivel alto. Lo (Lo Limit): Click (Check) para habilitar y escribir el valor para una alarma de nivel bajo. LoLo (LoLo Limit): Click (Check) para habilitar y escribir el valor para una alarma de nivel muy bajo. Rate: Click (Check) para habilitar y configurar la alarma por tasa de variación Deviation+: Click (Check) para habilitar y configurar la alarma por desviación “hacia arriba” Deviation-: Click (Check) para habilitar y configurar la alarma por desviación “hacia abajo” Deviation SetPoint: Valor de referencia para la alarma por desviación Deviation Dead Band: Valor de referencia para el retorno a estado NORMAL de alarma de desviación.
Propiedades de Alarmas para Tags del tipo Boolean: Alarm Enabled: Click (Check) pata habilitar las configuraciones realizadas Remote Ack Tag : Escriba el nombre de un tag que servirá para reconocer la alarma. Translation Enabled: Click (Chek) para habilitar la traducción de mensajes, que haya sido
previamente configurada. Off : Click (Check) para habilitar una alarma cuando el valor del tag sea cero (0) On: Click (Check) para habilitar una alarma cuando el valor del tag sea uno (1) Changed: Click (Check) para habilitar una alarma cuando el valor del tag cambie Text value: Escriba los nemónicos para los estados On, Off y Ack. Por Ejemplo “Abierto”, “Cerrado”, “Alarma Reconocida”. Estos mnemónicos serán mostrados en el Panel de alarma, el lugar de los estados.
Tags Internos y Bases de datos comp artidas Tags internos (Internal Tags) Son tags existentes en todas las aplicaciones que poseen funciones y valores específicos y pueden ser utilizados en cualquier parte de la aplicación, pero no pueden ser detenidos, modificados ni tener su valor alterado en el banco de datos. Ejemplo: Date: Muestra una cadena con la fecha actual del computador. Time: Muestra una cadena con la hora actual del computador. La mayoría de los tags internos son de solo lectura (read-only). Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 21 -
Indusoft – Tutorial Manual de Entrenamiento Básico No se puede escribir en el tag Time para alterar la data del computador. Esto es hecho con una función: SetSystemTime(strTime).
Tags de Ap licación (Appl ication Tags) Son todos los tags creados por el usuario.
Tags Compartidos (Shared Tags) Tags adquiridos por el compartimiento de la base de d atos de un soft-PLC. Pueden ser utilizados en toda la aplicación, pero no pueden ser detenidos.
Nota: Actualmente este tipo de compartimiento cayó en desuso. Sin embargo, Indusoft Web Studio tienen la posibilidad de hacer este tipo de comunicación con los siguientes productos: First ISaGRAF, ISaGRAF, Think & Do SteepleChase, SixNet e OpenControl.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 22 -
Indusoft – Tutorial Manual de Entrenamiento Básico
OPERACIÓN DEL DATABASE En el área de trabajo (Project Explorer), seleccione la pestaña Global. Haga clic dos veces en el directorio Project Tags para expandirlo. -Haga clic dos veces en Datasheet View.
El DataBase será rellenada y alterada durante el desarrollo de la aplicación. Pero, para iniciar una aplicación de ejemplo, podemos ya previamente definir un tag que utilizaremos en el módulo de comunicación. Configure un tag como se muestra a continuación: De esta forma, usted estará creando el tag Contador que servirá como ejemplo de la comunicación de Indusoft Web Studio con el PLC
Cierre la ventana Application Tags. No es necesario grabar, pero es recomendable
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 23 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CONFIGURACIÓN DEL SISTEMA DE SEGURIDAD Crearemos 3 grupos de seguridad: Operación, Mantenimiento e Ingeniería.
Nota: A pesar de que Indusoft Web Studio soporta caracteres acentuados, de acuerdo con la configuración Internacional del Panel de Control de Windows, es recomendable no usarlos, pues se incurre en el error de declarar con acento e intentar hacer referencia a ellos sin acento en otros puntos del proyecto. Con todo, eso es una opción del desarrollador del sistema.
Ingreso d e Grupo s de Usuarios -
En la pestaña Global de la ventana Project Explorer, haga clic en el directorio Security y con el botón derecho haga clic en el subdirectorio Groups y luego en Group Properties.
Cuando aparece la pantalla Group Account como está mostrado abajo, haga clic en New… para poder abrir el menú New Group Account
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 24 -
Indusoft – Tutorial Manual de Entrenamiento Básico El Group Account Guest es el patrón. No puede ser apagado (así como el usuario Guest) y corresponde al Group Account que queda válido siempre que una operación Logoff ocurre. Ese grupo debe ser restringido con los mínimos privilegios en el proyecto. Esto lo haremos
después de crear nuestro sistema de seguridad. Configure la pantalla New Group , con el nombre de operación como se muestra abajo:
Presione OK, el menú Group Account abrirá nuevamente, configure la ventana Group Account como se muestre abajo:
-
Haga click en OK y de inmediato se grabará automáticamente. Repita el proceso, pero configure con el nombre de Mantenimient (el nombre debe ser de máximo 12 caracteres, por lo que no acepta la palabra completa “Mantenimiento”). Configure la ventana Group Account como se muestra abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 25 -
Indusoft – Tutorial Manual de Entrenamiento Básico Por último, repita el proceso y configure el grupo con el nombre de Ingeniería. -
Configure la ventana Group Account como se muestra abajo:
-
Presione OK.
Ingreso de Usuarios en el Sistema de Segurid Segurid ad - Ahora cree usuarios para cada grupo. Haga clic con el botón derecho derecho en el sub directorio directorio User y luego en Insert User.
Aparece la ventana User Account como se muestra abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 26 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
-
Haciendo clic en la ventana User Account, cree un Nuevo usuario llamado Juan y asócielo en el grupo Operación. Rellene el campo Password, configurando así una clave para Juan.
Presione OK. El próximo usuario usuario será José. Repita todo el proceso, pero pero créelo en el grupo Mantenimient. Por último, lo mismo debe ser hecho hecho con con el usuario Alex, Alex, en el grupo grupo Ingeniería. Ingeniería.
En las configuraciones de ventanas, botones y otros objetos de “input” de operador, usted va a usar los niveles de acceso que acaba de crear en ese módulo. -Recuerde que los grupos quedarán así: Guest 0 – 10, Operación 0 -99 Mantenimient 0 – 199, Ingenieria 0 – 255.
Configurando el Password Principal Todo el Sistema de Seguridad está protegido por un Main Pasword, el cual previene que los usuarios del sistema de entren y alteraren sus propios accesos o creen nuevos usuarios con habilidades indebidas. - Haga clic con el botón derecho sobre el directorio Security, para tener acceso a esta ventana de diálogo: d iálogo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 27 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Haga clic en el botón Main Password para configurar la clave principal del sistema.
Importante: Esa clave solo podrá ser “rota” “rota” enviando el sistema a Indusoft y este proceso desconfigura el Sistema de Seguridad, es decir, de cir, se pierden las configuraciones de todos tod os los grupos de usuarios.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 28 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE TAGS EN EL DATAB ASE DE IWS : -
En el Project Explorer, seleccione la pestaña Global. Haga clic 2 veces en el directorio Project Tags para expandirla. Haga clic 2 veces en Datassheet View. El database será rellenada y alterada durante el desarrollo de la aplicación. Pero para iniciar una aplicación de ejemplo, podemos previamente definir algunos tags que sabemos que serán utilizados. Por lo que crearemos 3 tanques cada cual controlado por 2 válvulas. La primera válvula llena el tanque y la segunda lo vacía.
Para saber el estado de la primera válvula, tendremos el tag EstadoLlenado y para la EstadoVaciado.
segunda
Como cada válvula solo puede estar abierta o cerrada, estos tags deben ser boléanos. Siendo 3 tanques, necesitaremos 3 válvulas para llenarlos y otros 3 para vaciarlos. Por lo tanto, usaremos arrays para rápidamente crear los estados de las válvulas. Ahora vamos a crear los tags que enviarán los comandos para abrir o cerrar las válvulas. Esos comandos, en un sistema real, serían enviados a los PLCs a través del driver, direccionando esos tags para que sean puntos de I/O.
-
Cierra la base de datos, no es necesario guardar, pero se recomienda hacerlo.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 29 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE NUEVAS PANTALL AS Antes de crear una pantalla, vamos a entender lo que el programa nos ofrece para la creación de una buena aplicación. Vamos a dejar algunos comandos y animaciones que son mostrados todo el tiempo en la pantalla y en otro espacio, vamos a variar lo que está siendo mostrado. Así, crearemos una pantalla para los comandos, animaciones constantes y variaciones.
Cabecera : Mostrará fecha y hora todo el tiempo, así como tendrá enlaces para otras pantallas. Principal: Las pantallas de Tendencias, Alarmas, Procesos, Recetas, etc…tendrán las mismas medidas que serán dadas por esa pantalla.
Usando la estructura sugerida arriba, vamos a comenzar a crear nuestras pantallas. Primero, crearemos la cabecera en una pantalla (STANDARD) que servirá de patrón para los demás. -
Seleccione la pestaña Graphics en el Project Explorer y seleccione el directorio Screens. Ahora, haga clic con el botón derecho en el directorio Screens y luego en la opción Insert.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 30 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
En la ventana Screen Attributes debemos configurar algunos atributos generales sobre la pantalla que está siendo creada. Primero configure la pantalla Standard como se muestra en la figura de abajo.
Presione el botón OK y una pantalla vacía deberá aparecer con los atributos configurados para ella.
Diseño de la cabecera y los primeros objetos. Quizás no haya un único objeto en nuestra pantalla. Y es una buena práctica de programación no trabajar con archivos cuyo nombre ha sido automáticamente atribuido por el software, como su documento donde momentáneamente se llama Display1. En el futuro, usted puede salvar otro documento sustituyendo éste. -
Vamos al menú File, Save As, y guarde la pantalla con el nombre STANDARD. Después de crear la pantalla, cambiemos el color de fondo usando Background color.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 31 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Seleccione una opción de color deseada, utilizando el ícono de BackGround de Toolbar en el Grupo “Screen” al lado superior izquierdo de la pantalla.
-
Ahora cree la navegación para las pantallas. Inicie creando un botón con todos sus elementos: texto, comando, tamaño correcto. Solo entonces, copie los otros siete botones a partir de éste.
-
Utilizando el icono Button de la barra de herramientas, arrastre el mouse, trazando el botón en el tamaño adecuado.
-
Luego de terminar el diseño del botón, haga doble clic sobre él. Usted tendrá la ventana de Object Properties :
Modifique el campo Caption con el texto “Principal”. -
A este botón la vamos a aplicar la propiedad Command haciendo clic en el botón Command de la barra de herramientas. Luego de hacer clic en el ícono Command, usted notará que la ventana Object Properties se modifica. En tipo, escoja Open Screen y en el campo Open Screen, digite el nombre de la ventana que se va a abrir: Principal.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 32 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Ejecute ese mismo procedimiento para crear todos los otros botones digitando sus descripciones y ventanas a abrir: -
Trend Online Trend - Histórico Recetas Reportes Alarma Online Alarma - Histórico Salir
Nota: Es posible copiar y pegar objetos de las pantallas utilizando el recurso ctrl. + C ctrl. + V. Los objetos copiados, serán colocados siempre en el lado superior izquierdo de la pantalla. Otra forma es presionar la tecla ctrl. Y hacer clic en el objeto a ser duplicado, y después arrastrar.
Nota: Puede ser interesante utilizar el recurso Disable Drag a través del atajo ctrl. + D. Este recurso hace que los objetos no puedan ser movidos en la pantalla utilizando el Mouse. Para deshabilitar esta opción, basta presionar ctrl. + D nuevamente.
-
Haga clic en cada objeto, para cambiar su propiedad Caption, modificando por el nombre de pantalla adecuado y modificando también en el parámetro de Open Screen. En cada botón, usted hará 2 alteraciones, de modo que la pantalla quede como ésta:
Importante: Seleccione cada botón, añada la propiedad Command. En Object Properties, Open Screen tendrá los siguientes parámetros por botón: Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 33 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Trend Online: Trend Historico: Recetas: Reportes: Alarma Online: Alarma Historico: Salir:
Open (“TrendOnline”) Open (“TrendHistorico”) Open (“Recetas”) Open (“Reportes”) Open ( “AlarmaOnline”) Open (“AlarmaHistorico”) Open (“Salir”)
Nota: La función Open( ), abre la pantalla indicada en el parámetro del mismo nombre. No es necesario que la pantalla haya sido creada para que programemos un botón para poder llamarla. Pero para que funcioné, ahí si tiene que haber sido creada. En el campo para ingresar el nombre de pantalla, podría haber también un tag del tipo String.
Ahora diseñaremos algunos rectángulos y textos que serán parte de la pantalla en el lado superior izquierdo. Esos campos mostrarán la fecha y hora actual, así como el nombre del usuario logueado. Para diseñar los 3 rectángulos, haga clic en el icono mostrado y diseñe como muestra la figura de abajo:
-
Para insertar texto fijo en los rectángulos, doble clic en el rectángulo y luego clic en caption:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 34 -
Indusoft – Tutorial Manual de Entrenamiento Básico
O simplemente agregando un objeto texto que tiene ventajas adicionales:
- Para mostrar el valor de un tag en una pantalla, usamos el carácter # (sostenido o sharp, michi, numeral, etc). El texto pude combinar texto fijo con la máscara para texto dinámico como es el caso en Usuario: ########. El número de caracteres numerales (#) que fue digitado, será el mismo número de caracteres del tag que serán mostrados. Como queremos mostrar la fecha utilizando el formato MM/DD/AAAA, necesitamos 10 caracteres en el rectángulo de la izquierda, 8 caracteres para el rectángulo de la derecha y 10 (o más) caracteres en el rectángulo inferior.
Para mostrar el valor de un tag o expresiones en una pantalla, aplicaremos en los textos donde hubiera los caracteres ####, la propiedad Text Data Link:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 35 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
Haga clic 2 veces en el rectángulo con 8 caracteres numerales (#) por ahora y en seguida en el icono Text data link. La ventana Objects Properties aparecerá. Note que el check –list superior derecho tendrá debajo de la opción Text, la propiedad Text I/O.
-
En el campo Tag/Expression, rellene con Time, como en la figura d e abajo:
Seleccione el otro rectángulo con el texto ######, con 10 caracteres para fecha, aplique la propiedad Text data.link -
Luego abrir la ventana Objects Properties, digite Fecha en el campo Tag/Expresión, como en la figura de abajo:
-
En el último rectángulo con el texto Usuario ########## aplique la propiedad Text data link y digite UserName en el campo Tag/Expresión.
Anteriormente, usted aplicó propiedades de comando a un botón, ya que esta propiedad es propia de un botón. Pero la propiedad de comando puede ser aplicada a otros tipos de objetos, como una figura geométrica, en nuestro caso, configuraremos un comando para el rectángulo que contiene información de usuario. Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 36 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
-
Haga clic en el rectángulo para seleccionarlo y en seguida, en el icono Command mostrado en la figura:
Configure la propiedad Command como se muestra abajo:
Nota: La función LogOn( ), llama un diálogo donde es solicitado el nombre y contraseña de usuario.
-
Guarde la pantalla como STANDARD. Si usted ya guardó al inicio, basta hacer clic en el icono Save del Toolbar, si no lo hizo, haga clic en Save As y digite el nombre.
Iniciaremos la construcción de una nueva pantalla. -
Ahora cree la pantalla Salir. Para insertar una nueva pantalla, haga clic con el botón derecho en el directorio Screens, luego en Insert y configure como en la figura de abajo.
-
Verifique las medidas y las configuraciones de la pantalla.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 37 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
En la nueva pantalla, diseñe los 2 botones y aplique Command:
-
En el botón OK, la propiedad Command tendrá la expresión Shutdown( ), como muestra la figura de abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 38 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
En el botón Cancelar, la propiedad Command tendrá la expresión Close(“Salir”), como muestra la figura de abajo.
-
Guarde la pantalla como Salir.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 39 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE LA PANTALLA PRINCIPAL A PARTIR DE LA PANTALL A STANDARD -
Abra la pantalla Standard. Para abrir una pantalla en el Project Explorer, seleccione la pestaña Graphics. Haga doble clic en el directorio Screen para expandirlo. Haga doble clic en la pantalla Standard.
La pantalla Principal será la primera en ser exhibida, Vamos a aprovechar la cabecera ya desarrollada en la pantalla Standard e insertar objetos a partir de ésta. - Haga clic en File, Save As, para guardar esta pantalla como Principal. - Agregue 3 objetos Text y configurelos comos e muestra a continuación en la parte inferior izquierda de la pantalla.
-
Para saber el directorio de la aplicación, usamos la función GetAppPath(). Haga doble en el objeto texto y luego clic en el icono de la propiedad de Text data Link
Y digite GetAppPath(), en el campo Tag/Expresión, como en la figura de abajo:
Nota: Observe que al final del campo Tag/Expression, hay un botón con puntos suspensivos (…). Este llama a la ventana denominada Object Finder, que entre otras facilidades, proporciona una búsqueda de todas las funciones de Script Language de Indusoft Web Studio. Pruebe insertar las funciones GetComputerName( ) en el campo Nombre del Computador y GetComputerIP( ) en el campo Dirección IP, utilizando el Object Finder.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 40 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Diseño de ítems de proceso y s inópticos En esta pantalla principal, iremos a: Mostrar las propiedades de 3 tanques (Temperatura, Presión y Nivel) en formato gráfico y numérico. Mostrar el estado de las válvulas de los tanques a través de objetos de la biblioteca. Insertar comandos de apertura y cierre de las válvulas.
Nota: Partiendo del principio de que los 3 tanques serán idénticos, aprovecharemos esta aplicación para entender el concepto de vectores. Por ello, crearemos una pantalla con tags indexados, donde mostraremos los valores de las variables de un tanque por vez.
-
Para crear el tanque, las tuberías y las válvulas, usaremos objetos de la biblioteca. Abra la ventana de la biblioteca símbolos, haciendo clic en el icono mostrado en la figura de abajo:
Para importar un objeto de la biblioteca para la pantalla de aplicación, simplemente haga clic en el objeto y después en la pantalla. Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 41 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
Hay otras formas de diseñar, además de utilizar la biblioteca, pero el propósito de este tutorial es también que usted perciba como puede optimizar el desarrollo de sus proyectos a través de la manutención de una biblioteca co n sus símbolos típicos. Seleccione objetos como válvulas (en la ventana Valves de la biblioteca) y el tanque (en Tanks) como se muestra abajo. Diseñe también los 3 rectángulos de la posición vertical. Agregue además un objeto Combo box Si desea cambiar el tamaño de los objetos elegidos de la biblioteca, haga doble click y deshabilite la propiedad “Use linked size”
Nota: Diseñe los rectángulos y NO utilice los objetos de bargraph de la biblioteca, pues ellos tienen configuraciones diferentes de las propuestas en este tutorial.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 42 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Importante: Cree los tags Temperatura, Nivel, Presion y Tanque.
-
Haga doble clic en el texto ### debajo de la palabra Temperatura, y configure la propiedad Text data link como se muestra abajo: Configurar de manera similar, los textos para Presión y Nivel
A fin de mostrar los valores de Temperatura, Presión, y nivel gráficamente, usaremos la propiedad Bargraph en los 3 rectángulos diseñados encima de los textos. En nuestro ejemplo, el rectángulo va a ser rellenado de acuerdo con el valor del tag asociado a su bargraph. -
Haga doble clic en el rectángulo encima del texto Temperatura y clic en el icono de la propiedad Bargraph, configure como se muestra abajo
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 43 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Repita el procedimiento para Presión y Nivel
Ahora vamos a configurar las válvulas: Llamaremos la válvula que se encuentra en la horizontal, ValvulaLlenado. -
Haga clic sobre la válvula. Notará que existen dos parámetros configurables. Esto se debe a que es se trata de un objeto de la librería previamente diseñado para representar una válvula y por lo tanto con un mínimo de configuración nos bastará para obtener lo que deseamos.
-
En el parámetro TagCmd, escribir ComandoLlenado[Tanque]. En el parámetro TagState, escribir EstadoLlenado[Tanque].
En una aplicación real, este tagcmd enviaría comandos para abrir y cerrar las válvulas del sistema. Por lo tanto, este tag sería un tag de Escritura en el campo. Llamaremos ValvulaVaceado a la válvula que está en la posición vertical. - Para la ValvulaVaceado, usted debe proceder tal cual configuró la ValvulaLlenado, Finalmente, crearemos los comandos para el tag Tanque. Como se observa en el Layout mostrado previamente hay un objeto texto y un objeto ComboBox. El objetivo es crear una interfase para seleccionar el número de tanque que se va a monitorear. -
Inserte el objeto ComboBox, a través del ícono en el toolbar.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 44 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
Arrastre el mouse formando un rectángulo, para que quede del tamaño adecuado. Doble clic sobre el Combobox, para configurar la propiedad Position con el tag Tanque
-
Haga clic sobre Data Sources y configure configure como muestra la figura:
- Haga clic en Ok. Con eso logramos que la posición del ítem elegido, sea asignada al tag Tanque. Cabe indicar que la posición en el ComboBox, empieza desde cero, en otras palabras, según lo que hayamos elegido tendrem te ndremos: os: Ningún tanque Posición = 0 Tanque = 0 Tanque 1 Posición = 1 Tanque = 1 Tanque 2 Posición = 2 Tanque = 2 Tanque 3 Posición = 3 Tanque = 3
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 45 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
Para configurar la pantalla la que será iniciada cuando la aplicación empiece en modo RunTime, vaya a Menu Project - Viewer y configure el campo Startup, como se muestra abajo:
-
En seguida haga clic en Ok.
La pantalla Principal ya esta lista para ser ejecutada. Haga clic en el icono Run Application del toolbar.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 46 -
Indusoft – Tutorial Manual de Entrenamiento Básico
EXPRESIONES, FUNCIONES FUNCIONES Y LENGUAJE L ENGUAJE SCRIPT (SCRIPT LANGUAGE) A partir de este punto presentaremos el lenguaje del programa Indusoft Web Studio y como se utiliza en diversas partes de la construcción de su aplicación, como por ejemplo: Propiedades dinámicas en la construcción de las pantallas. Lógica de background en las pantallas. Planillas de Scheduler. Planillas matemáticas Comandos de botones.
El lenguaje matemático de Indusoft Web Studio, intenta facilitar al máximo y agilizar la programación de Scripts. Scripts. Por eso, utilizamos utilizamos el concepto de una una planilla con 2 columnas:
Tag Name y Expression . Este tipo de configuración se utiliza en la mayoría de herramientas de programación de Indusoft Web Studio como hemos podido ver en la propiedad Comando, o como vermeos más adelante en las plantillas Math y Scheduler
Tag Name: Tag que recibe el valor del d el cálculo de la columna Expression. Expression : Expresiones matemáticas creadas a partir de las funciones del lenguaje Indusoft Web Studio.
Ejemplo:
El tag a recibe el resultado del cálculo de la expresión Temperatura – Nivel.
Importante: -
A diferencia de otros lenguajes basados en textos estructurados, no se hace atribución de valores en la co lumna Expression. Expression. Si usted digita A = 2 en esta columna, simplemente está comparando el tag A con el valor numérico 2. El resultado de esa expresión, 1 para verdadero o 0 para falso, será cargado en el tag que estuviera estuviera cargado en la columna co lumna Tag Name. Si desea cargar el valor 2 en el tag A, solo digite A en la columna Tag Name y 2 en la columna Expression.
Nota: -
Indusoft Web Studio no es sensible a letras mayúsculas o minúsculas. Por lo tanto, Nivel Nive l es igual a NIVEL. Para hacer comentarios en las líneas de programa, utilice los caracteres de barras “//” al inicio del comentario a ser hecho.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 47 -
Indusoft – Tutorial Manual de Entrenamiento Básico
EJEMPLOS PARA ACCEDER AL DATAB ASE DEL PROGRAMA Para leer un valor actual del tag en la base de datos, use el nombre directamente.
Ejemplo 1: En la figura de abajo, el tag X recibe la suma de 2 tags, Temperatura y Nivel:
Ejemplo 2: Indusoft Web Studio permite lectura y escritura indirectamente a través de apuntadores (punteros o pointers). Un tag usado como puntero para otro tag puede ser creado de 2 formas: como cualquier tag string (un puntero para cualquier tipo de tag) o como puntero para un tipo específico de tag. En la figura de abajo, @pointer_to_integer es un tag que es un puntero para valores enteros.
Ejemplo 3: En los scripts, la forma de acceder a los tags, es anteponiendo el símbolo de dólar $, al nombre del tag.
Indusoft Web Studio soporta las siguientes operaciones:
Operandos Aritméticos + * /
> < = >= <= <> &
adición substracción multiplicación división mayor que menor que igual a mayor o igual que menor o igual que diferente de Unión de cadenas (strings)
Operandos Lógicos AND “y” lógico NOT “no” lógico OR “o” lógico XOR “o” exclusivo lógico & AND bit a bit Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 48 -
Indusoft – Tutorial Manual de Entrenamiento Básico | Or bit a bit ~ NOT bit a bit ^ XOR bit a bit >> rotate right – rotación n bits a la derecha << rotate left – rotación n bits a la izquierda
Usando Funciones Las funciones de Indusfot Web Studio tienen la siguiente estructura de sintaxis:
Num(Tanque): Convierte a numero, el valor del tag “Tanque” Str(Tanque): Convierte a string, el valor del tag “Tanque” $Str($Tanque) : Convierte a string, el valor del tag “Tanque” Las dos primeras se utilizan en la estructura Tag Name – Expression, que ya vimos anteriormente La tercera se utiliza en el entorno de programación o Script, y como recordará, para el tag, se antepone el símbolo $. De igual manera se hace para llamar a la función.
Lista de Funciones Indusoft Web Studio tiene más de una centena de funciones, que pueden ser usadas en toda la aplicación. En Technical Reference, del menú Help, se puede encontrar una lista de éstas. Con un clic, se pueden ver los detalles, como parámetros a pasar, valor devuelto, etc.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 49 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CONFIGURACIÓN DE PLANILLAS (WORKSHEETS) Configurando una planilla matemática (Math Worksheet) para simular valores de proceso. - Haga clic derecho en el directorio Math, localizado en la pestaña Tasks del Project Explorer. Clic en Insert para crear una nueva planilla matemática, como muestra la figura de abajo:
-
Al hacer esto, surgirá la figura siguiente:
-
El campo Description, determina el nombre de la planilla matemática que será presentado en el Project Explorer. El campo Execution, controla la ejecución de la planilla. Se puede digitar un valor numérico, un tag, una expresión o una función que resultando verdadera (diferente de cero), que ejecuta la planilla matemática. El campo Execution llenado con 1 habilitará la ejecución continua de esta planilla. En el cuerpo de la planilla, estaremos simulando: El estado de las válvulas, de acuerdo al comando creado. El nivel, presión y temperatura de los 3 tanques.
-
-
Cree un nuevo tag llamado K, del tipo Integer con tamaño de array = 0. Para simular el estado de cada válvula, vamos a transferir el valor del comando para el estado, ya que no estamos en una aplicación real. Para los valores de temperatura y presión, utilizaremos las funciones trigonométricas de seno y coseno (sin y cosin). Para simular la propiedad Nivel de cada tanque, usaremos los estados de las válvulas de llenar y vaciar, para incrementar o decrementar el valor de la variable Nivel.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 50 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
Utilizaremos la función de lazo FOR/NEXT para acceder a todas las posiciones del vector (tanques 1, 2 y 3), sin necesitar digitar repetidamente las simulaciones para los 3 tanques. Vea en la segunda lista, cómo podría ser la misma configuración sin la utilización de la función FOR ().
Configure su planilla matemática como se muestra abajo: Tag Name Expresión K EstadoLlenado[K] EstadoVaceado[K] Temperatura[K] Presion[K] Nivel[K] Nivel[k] NEXT
FOR(1, 3, 1) ComandoLlenado[K] ComandoVaceado[K] (Sin((Second/(K*10))*PI())+1)*50 (Cos((Second/(K+10))*PI())+1)*50 If(Not EstadoVaciado[K] and EstadoLlenado[k] Nivel[K]<100,Nivel[K]+1) If(Not EstadoLlenado[K] and EstadoVaceado[K] Nivel[K]>0,Nivel[K]-1) //Comentario: Regresa a la línea de la función FOR()
and and
Importante: La planilla a seguir no debe ser configurada, sirve solo como ejemplo. Sin la utilización de la función FOR (), sería de esta forma:
Tag Name
Express ion
EstadoLlenado[1] EstadoVaciado[1] EstadoLlenado[2] EstadoVaciado[2] EstadoLlenado[3] EstadoVaciado[3] Temperatura[1] Temperatura[2] Temperatura[3] Presion[1] Presion[2] Presion[3] Nivel[1]
ComandoLlenado[1] ComandoVaciado [1] ComandoLlenado[2] ComandoVaciado [2] ComandoLlenado[3] ComandoVaciado [3] (Sin((Second/10)*PI( ))+1)*50 (Sin((Second/20)*PI( ))+1)*50 (Sin((Second/30)*PI( ))+1)*50 (Cos((Second/10)*PI( ))+1)*50 (Cos((Second/20)*PI( ))+1)*50 (Cos((Second/30)*PI( ))+1)*50 if ((Not EstadoVaciado[1] and EstadoLlenado[1] 100, Nivel[1] + 1) if ((Not EstadoLlenado[1] and EstadoVaciado[1] 0, Nivel[1] - 1) if ((Not EstadoVaciado[2] and EstadoLlenado[2] 100, Nivel[2] + 1) if ((Not EstadoLlenado[2] and EstadoVaciado[2] 0, Nivel[2] - 1) if ((Not EstadoVaciado[3] and EstadoLlenado[3] 100, Nivel[3] + 1) if ((Not EstadoLlenado[3] and EstadoVaciado[3] 0, Nivel[3] - 1)
Nivel[1] Nivel[2] Nivel[2] Nivel[3] Nivel[3]
-
) and Nivel[1] < ) and Nivel[1] > ) and Nivel[2] < ) and Nivel[2] > ) and Nivel[3] < ) and Nivel[3] >
Guarde y cierre la planilla. Guarde como 1. Correr usando Run Application para verificar el comportamiento de nuestro proceso.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 51 -
Indusoft – Tutorial Manual de Entrenamiento Básico
ADMINISTRACION DE ALARMAS (AL ARMS GROUP) Creació n de una Planilla Para crear un grupo de alarmas, vamos a la pestaña Tasks, y haga clic derecho en el directorio Alarm, en seguida clic en el botón Insert.
-
Configure la planilla como se muestra abajo:
-
Creando esta planilla, usted está informando al sistema cuales tags deben tener la función de alarmas, qué tipo de alarmas, cuáles son sus límites, los mensajes para éstos, prioridades y filtros (datos). El checkbox Save to Disk, permite escoger guardar el historial de alarmas en disco, en formato ASCII dentro del directorio Alarm de la aplicación. La cabecera de la planilla Alarmas, se explica abajo:
-
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 52 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Configuración de Cabecera Define algunas características en común para todas las alarmas.
Campo Group Name: Nombre utilizado para distinguir los grupos de alarma. Importante: Antes de cambiar el contenido del campo Group Name, guarde la configuración o entonces los datos no guardados se pueden perder.
Campo Description: Ayuda en la descripción del grupo
Configuración de opciones OnLine Display in Alarm Control- Permite que estas alarmas sean mostradas en un Objeto de Alarmas.
Importante: Si esta opción Display in Alarm Control no estuviera marcada, las alarmas de este grupo no serán mostradas en los grupos de alarma. Puede ser útil para el control de eventos.
Checkbox Ack Required- Permite el reconocimiento de la alarma. Algunas alarmas, usadas solo por alerta, no necesitan de reconocimiento. Solo está habilitado si el campo Display in Alarm Control estuviera seleccionado.
Checkbox Beep- Hace sonar el bip del computador cuando hay alarmas no reconocidas. Disponible si Ack estuviera seleccionado
Checkbox Send To Printer- Envía la alarma a una impresora. No se utiliza porque las impresoras de hoy en día no permiten la impresión línea a línea, sino solo página a página.
Configuración de opciones History Checkbox Save to Disk - Habilita la grabación de las alarmas en disco, permitiendo su uso en objetos de histórico de alarmas. Si no fuese escogido, no será registrada alguna alarma de esta planilla en disco.
Checkbox Generate Ack Messages y Checkbox Generate Norm Message- Si la opción Save to Disk estuviera seleccionada, permite decidir que se grabe en disco la información de cuando la alarma fue reconocida y/o normalizada.
Configuración de opciones de color Define los colores para los diferentes estados de las alarmas que se mostrarán en el Objeto Visualizador de Alarma, tanto de fuente (letra) como de fondo. Tiene un Checkbox habilitador.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 53 -
Indusoft – Tutorial Manual de Entrenamiento Básico Abriendo la ventana Advanced, tendemos:
Campo Disable: Es un tag en el que si su valor fuera mayor que cero, las alarmas estarán deshabilitadas.
Campo Remote Ack Trigger: Tag que permite el reconocimiento de las alarmas de este grupo Campo Total Alarms: En este campo, un tag recibirá el número de alarmas ya activos así como los no reconocidos.
Campo Total Unack: El tag de este campo recibirá el número de alarmas que aún no fueron reconocidos.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 54 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE LA PANTALLA DE ALARM ON-LINE -
Abra la pantalla Standard y diseñe un objeto de Alarma como si fuese un botón, utilizando el icono Alarm / Event Control
.
-
Doble clic en el objeto Alarm y configure la ventana Object Properties como se muestra Esté seguro de que la opción alarm Online está seleccionada. Clic en el botón Filters que posee algunos ítems a ser configurados. Dejar la configuración por defecto, como se muestra.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 55 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Estudiaremos estos detalles cuando hablemos de históricos de alarmas. -
Existen 2 maneras de reconocer las alarmas: Disparando el tag que estaría en el campo Remote Ack Trigger, de la planilla de alarmas. Disparando un tag que estaría en el campo Ack Tag dentro del Object Properties /Advanced en el objeto de alarma.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 56 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
-
Pero hay otra manera más. Hay 3 tags internos que estudiaremos ahora: Alarm, AckAlr y AckAll.. El tag AckAlr reconoce la alarma que está activa en el sistema. Disparando AckAlr, esta alarma es reconocida. El tag interno AckAll reconoce todas las alarmas no reconocidas, independientes del grupo al que pertenzcan. Para efecto de uso, en este tutorial usaremos estos tags internos. Doble clic en el botón Reconocer Una y utilice la opción Command para configurar el tag interno AckAlr como se muestra abajo:
Doble clic en el botón Reconocer Todos y configure el tag interno AckAll como se muestra abajo:
Importante: Guarde la pantalla con el nombre AlarmaOnline y ciérrela, en seguida corra la aplicación.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 57 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE LA PANTALLA DE HISTORIAL DE AL ARMAS Importante: -Cree los tags indicados como sigue:
Abra la pantalla Estándar y diseñe un objeto Alarm como si fuese un botón, utilizando el ícono Alarm / Event Control y configure como abajo: -
-
Esta pantalla de histórico de alarmas, mostrará todas las alarmas que ocurrirán y fueron grabados en disco, de acuerdo con un periodo definido como parámetro. Haga doble clic en el objeto de alarmas y configure la ventana Object Properties como se muestra abajo. No se olvide de cambiar la opción de Online por History.
Presione el botón filtros y vamos a configurar como se muestra abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 58 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Importante: Note el campo Selection: el AlarmSel fue configurado entre llaves {}. Se debe a lo siguiente: Para las opciones Group, Selection, Tagname, Message y Username, se pueden especificar tags del tipo String, pero encerrados entre llaves. Para las opciones Type y Period se pueden especificar tags del tipo string sin necesidad de llaves. Estos campos no aceptan valores fijos. Para las opciones Priority, State y Latest, se pueden especificar tags del tipo Integer.
-
Configurar las entradas de texto para selección de filtros por fecha.
Importante: -
Todos los textos ######## deben contener la propiedad Text I/O y para permitir la entrada de un valor en el tag, deben estar con el checkbox Input Enabled seleccionado. Configure los demás campos de la misma forma, utilizando la secuencia de los tags AlarmIni, AlarmFin y AlarmSel. Guarde la pantalla como AlarmaHistorico y ejecute la aplicación.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 59 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE UNA PANTALLA Y GRAFICO DE TENDENCIAS La tarea de tendencias (Trend) almacena muestras de determinadas variables de la aplicación a intervalos de tiempo configurables. Usted puede almacenarlas en disco y simultáneamente presentarlas en forma de gráficos. Vamos a crear objetos para presentar gráficos d e tendencias en la pantalla tanto On-Line (que es actualizado cada x segundos con los nuevos valores de las variables como si fuese un registrador gráfico) así como Histórico (que implica recuperar datos de los archivos grabados).
Trend On line Nuestro Trend OnLine mostrará algunas variables y será actualizado una vez por segundo. - Abra la pantalla Standard.scr. - Haga clic en el ícono Trend y diseñe un objeto Trend como si fuese un botón y configúrelo como se muestra a continuación:
-
Haga doble clic en el objeto Trend recién diseñado (pantalla blanca) para que aparezca la ventana Object Properties.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 60 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Haga clic en el botón Axes y luego en Scale Format dentro del campo :
-
También en Format del eje y:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 61 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Luego haga clic en el botón Points e ingrese los tags de temperatura.
-
Guarde la pantalla como TrendOnline
Trend Histórico Nuestro Trend Histórico mostrará algunas variables, será actualizado una vez por segundo y además mostrará valores guardados de tiempo atrás - Abra la pantalla Standard.scr - repita el procedimiento anterior con los tags Presion[1], Presion[2] y Presion[3] - Guarde la pantalla como TrendHistorico. - Ahora informaremos al sistema los valores de cuales tags del proceso queremos guardar y mostrar, y el intervalo de tiempo. - Haga clic derecho en el directorio Trend (en la pestaña “Tasks” del Project Explorer) y luego clic en Insert.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 62 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
Configure la planilla como se muestra a continuación: Así usted está preparando el sistema para salvar los valores de los tags de presión de los tanques, toda vez que el tag Second cambia de valor.
-
El checkbox Save on Trigger define la t asa de grabación. Finalmente guarde y ejecute la aplicación.
Importante: El módulo de Indusoft Web Studio que controla la ejecución de las funciones matemáticas, así como otras tareas de Runtime, como alarmas, trends, etc, es Background Tasks. Si una función matemática parece no funcionar, verifique si este módulo está corriendo. Si lo estuviera, un icono debe estar en la esquina inferior derecha de la pantalla (Status Bar) de Windows (donde generalmente está el reloj).
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 63 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE RECETAS (RECIPES) El módulo Recipes, permite recuperar y borrar recetas.Recetas son archivos que contienen cualquier conjunto de valores de tags, sean estos pertenecientes a una receta de proceso o parámetros para que el sistema opere en determinadas situaciones. En la industria alimentaria y química, podemos fácilmente imaginar recetas compuestas por materias primas y sus respectivas cantidades. Eso compone una receta. Pero también un horno puede necesitar este módulo para almacenar pendientes de calentamiento/enfriamiento, donde las recetas están compuestas de niveles de tiempos y temperaturas. Utilizaremos este último ejemplo para nuestra aplicación de receta.
Creación de una planill a de receta (Recipe Worksheet) Primero serán creados los tags con los cuales estaremos trabajando en esta parte del entrenamiento. -
Abordaremos ahora el concepto de clase. Para eso, cree una clase con el nombre Horno, con los miembros Temperatura, Presion, Quemador, ValvulaApertura y ValvulaCierre . Haremos un ejemplo como si fuese la preparación de un horno. Para crear la clase, haga clic derecho en el directorio Clases del Tab Global, escoja Insert.
-
En la caja de diálogo, digite el nombre de la clase, en este caso, Horno, y acepte.
-
En la planilla de la clase, cree los nombres de los miembros de la clase. Configure como se muestra abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 64 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Importante: -
Cree el tag SetPoint del tipo Class: Horno con array size = 0. Cree el tag RdFileNStatus del tipo Entero con array size = 0 Crre el tag NombreHorno del tipo String con array size = 0. Cree ahora una planilla de Receta. Para crear una receta, haga clic derecho en el directorio Recipes y después clic en Insert como en la figura de abajo:
La planilla Recipe está dividida en 2 áreas: Área de cabecera, el cual contiene la información para el grupo entero. Área de cuerpo, donde usted define cada tag en el grupo. -
Use los parámetros de cabecera en esta planilla como sigue Campo Description- Digite una descripción de la planilla para documentación posterior. Checbox Save as XML- Si usted habilita la opción de guardar como XML, serán generados archivos de Receta en formato XML, que incluirán todos los valores de Tag, junto con el nombre del tag de aquellos valores que se originaron. En caso la opción no sea seleccionada, los archivos serán guardados en formato DAT.
Nota: Como con páginas HTML, usted debe iniciar el web Server para ver datos XML vía web. A diferencia de las páginas HTML en el sistema run-time, las páginas XML no necesitan tener la aplicación funcionando para ver los datos (Usted debe tener la versión 5.0 o superior de Internet Explorer).
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 65 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Campo file Name: Se colocar el nombre del archivo de receta que será guardado. Puede utilizar un nombre fijo o una variable de tipo String, esta última entre llaves.
Importante: El nombre de archivo Recipe1.rcp es el nombre de archivo de configuración de las recetas que contienen en sus datos el nombre del tag que recibirá el nombre de la receta (en el campo File Name) y los tags que serán grabados. - Los archivos creados por las recetas tienen la extensión patrón .dat. - Digite en File Name el tag que dará nombre al archivo: {NombreHorno} . - Colocando solo el nombre del tag entre llaves, los archivos de receta serán grabados en el directorio del documento. Si fueran creados nuevos directorios para las recetas, la ruta de estas necesita ser colocadas en este campo. Por ejemplo, si usted tuviera en el campo File Name algo como c:\AppName\Recipe\{NombreHorno}, en este caso, el valor dentro del tag NombreHorno será colocado en el directorio c:\AppName\Recipe\. -
Campo Register Number- digite un tag para definir el número del registro a ser leído o escrito en un archivo de DBF. Indusoft permite habilitar este campo para algunas aplicaciones más viejas creadas para usar archivos DBF, pero no es utilizado para proyectos nuevos.
Checkbox Unicode: Habilite este checkbox para guardar el archivo de receta en el formato Unicode (2 bytes por carácter) o deshabilite para guardar el archivo de receta en el formato ANSI (un byte por carácter).
Nota: Cuando guardamos una planilla, puede hacerlo usando algún nombre que usted escoja (no necesita usar un nombre predefinido de archivo). Un archivo de configuración que usa la extensión patrón RCP (o XML si usted especifica guardar como XML) contiene la configuración de la receta y el archivo cuyo nombre está en el campo File Name.
Columna Tag Name: Digite el nombre del tag para actualizar el contenido del archivo o con valores. Si el tag es un array, usted puede especificar la primera posición a ser utilizada.
Columna Number of elements: Usado para tags del tipo vector, para evitar la digitación de todas las posiciones. Configure la primera posición del array el número de posiciones subsecuentes. -
Rellene los campos como se muestra abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 66 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Guarde la receta como Recipe1
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 67 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE UNA PANTALLA DE RECETAS (RECIPE SCREEN) -
Abra la pantalla Standard en la pestaña Graphics en el directorio Screens y diseñe los objetos como se muestra en la figura de abajo y guárdela como Receta.
Importante: -
En el paso a seguir, deje siempre la opción Input Enabled habilitada en todos ellos. Eso permitirá digitar valores. Junto al texto Nombre de Horno, coloque un texto con propiedad Text I/O para el tag NombreHorno. Junto al texto Temperatura, coloque un texto con propiedad Text I/O para el tag SetPoint.Temperatura. Junto al texto Presion, coloque un texto con propiedad Text I/O para el tag SetPoint.Presion. Junto al texto Quemador, coloque un texto con propiedad Text I/O para el tag SetPoint.quemador. Junto al texto Válvula de Apertura, coloque un texto con propiedad Text I/O para el tag SetPoint.ValvulaApertura. Junto al texto Válvula de Cierre, coloque un texto con propiedad Text I/O para el tag SetPoint.ValvulaCierre.
- Inserte 2 botones: Cargar y Guardar. - Doble clic sobre cada uno, agragr la propiedad Command. Tendrán los siguientes comandos:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 68 -
Indusoft – Tutorial Manual de Entrenamiento Básico Boton Cargar:
Botón Guardar:
-
Guardar como recetas.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 69 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE REPORTES (REPORTS) La herramienta de reportes Indusfot Report, permite la creación e impresión de reportes sin la necesidad de alguna otra herramienta que nos sea el propio Indusoft Web Studio (no necesita VB, Pascal, C++, etc). Todo lo que se necesita es la creación de la máscara del reporte en formato ASCII o RTF (que utiliza nuestro Report Writer), mezclando textos y valores de tags y ejecutando los comandos de Reports a partir de un botón de pantalla o scheduler, etc.
Creación de Reporte tipo ASCII -
Primero vamos a crear un reporte en formato TXT. Haga clic derecho en el directorio Reports (Pestaña Tasks de la ventana WorkSpace) y seleccione la opción Insert para crear una nueva planilla de Reporte.
Nota: - En el caso de reporte en ASCII, es importante saber cuantos caracteres serán mostrados (valor del tag) y prever ese espacio dentro de las llaves {}, incluyendo los caracteres de llave de apertura y de cierre. Es decir, para mostrar el tag Date, en el caso de Reporte ASCII, {Date}, a fin de que quepan todos los caracteres de una fecha con formato DD/MM/AAAA. - En el caso del reporte RTF, esto no esta considerado. No siempre el número de caracteres del tag va a permitir un alineamiento correcto de columnas del reporte. La función Format ayuda mucho y, además de eso, a la hora de escoger la fuente, recuerde que hay fuentes proporcionales, en las que caracteres diferentes ocupan espacios diferentes.
- Configure la planilla como se muestra abajo: - Utilizarmeos un tag para el nombre del archivo en el campo Output File, debe crear un tag del tipo String, llamado NombreReporte
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 70 -
Indusoft – Tutorial Manual de Entrenamiento Básico
- Guarde como Report1.
Utilizando el Database Spy para probar partes de la aplicación Típicamente, un reporte deber ser emitido en un horario determinado, por un evento del proceso o por solicitud del operador. Pero como el desarrollo de su aplicación no requiere una secuencia rígida, vamos por ahora a utilizar la herramienta de debugger de Indusoft Web Studio, el Database Spy, para testear la configuración de Report que acabamos de ejecutar. - Asegúrese que su aplicación este corriendo. Si no lo estuviera, colóquela en ejecución a través del botón Run Application del toolbar. - Vuelva al modo de ingeniería. - En el Menú View, habilitar la visualización del Database Spy
- Doble clic en la primera línea vacía, en la columna Name. La ventana del Object Finder debe abrirse como se muestra abajo.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 71 -
Indusoft – Tutorial Manual de Entrenamiento Básico
- Selección la función Report. - Vaya al campo Selection y edite la función: Report(“disk:Report1.rep”) y acepte. Su ventana Database Spy debe presentarse tal como sigue. Value 0 es el retorno de la función donde 0 indica ejecución normal.
- Verifique, a través del explorador, en el directorio de su aplicación, el archivo Reporte.TXT.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 72 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE REPORTES DE TIPO RTF, CON CABECERA Y CUERPO. La mayoría de los reportes están basados en el concepto encabezado/cuerpo. Esto significa una cabecera que puede incluir un bitmap con el nombre de la empresa, logotipo, nombre de las variables, etc, y seguido de los valores en varias columnas de datos. Hacer esto con Indusoft es fácil. Serán creadas 2 planillas. Una tendrá la cabecera y será llamada Report2. La otra tendrá el formateo de los tags que serán grabados cada X minutos y será llamado Report3. Esta segunda planilla tendrá el checkbox Disk Append habilitado y exactamente el mismo contenido del campo Output file de Report2. La opción Disk Append guarda el reporte sin borrar otro ya existente con el mismo nombre, solo grabando en el mismo archivo, permitiendo así varios registros de la misma máscara en un solo reporte. Con el ejemplo siguiente, esto debe quedar más claro. Cree primero la planilla que será el encabezado . - Vaya a la pestaña Tasks y haga clic con el botón derecho en el directorio Reports, haga clic en Insert y cree una nueva planilla (Report2) y configure como se muestra abajo:
-
Guarde esta planilla con el nombre Report2.
-
Haga clic en Edit RTF File y configure la página RTF que será el encabezado del reporte como muestra la figura de abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 73 -
Indusoft – Tutorial Manual de Entrenamiento Básico - Guarde el RTF y enseguida ciérrelo. Fíjese que ahora no hay algún tag incluido en esta planilla. Reports, - Ahora vaya la pestaña Tasks y haga clic con el botón derecho en el directorio clic en Insert y cree una nueva planilla (Report3), que será la máscara del cuerpo del reporte. - No olvide habilitar la opción Disk Append. - Haga como se muestra abajo:
-
Guarde esta planilla con el nombre Report3.
-
Haga clic en Edit RTF File y configure la página RTF que será la máscara del cuerpo del reporte como muestra la figura de abajo:
- Note el número 2, después de cada tag. De esta manera indicamos para tags reales, la cantidad de digitos decimales que deseamos mostrar. - Guarde nuevamente y ciérrela. - Como podemos ver encima, las diferencias entre Report2 y Report3 se encuentran en los textos RTF y en el checkbox Disk Append.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 74 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CONFIGURANDO UNA PLANILLA SCHEDULER El Evento tipo Clock es utilizado para disparar eventos basados en temporizadores. En la columna Time, configuramos la base de tiempo (mínimo 100 ms.). Eso significa que a cada HH: MM: SS. 100ms, el evento será ejecutado. En la columna Tag debemos configurar el tag que recibirá el valor de la expresión de la columna Expression,. Finalmente, la columna Disable puede contener un tag, función o expresión que si es verdadera, impedirá la ejecución del comando. De esta manera es posible controlar la base de tiempo de la ejecución. Las columnas Trigger y Date no son utilizadas para este tipo de evento. El Evento tipo Calendar dispara eventos en una fecha y hora definida, o siempre en el mismo horario todos los días. La columna Trigger no es utilizada. Las columnas Tag Expression y Disable son utilizadas de la misma forma que es explicado arriba para el evento Clock. El Evento tipo Change dispara una acción siempre que el tag colocado en la columna Trigger tiene su valor alterado. Las columnas Time y Date no son utilizadas y las demás tienen el mismo comportamiento descrito para los tipos anteriores. - En la pestaña Tasks, inserte una nueva plantilla de Scehduler.
- Reproduzca la configuración conforme se indica a continuación:
Esta configuración hace que a cada minuto se inicie un nuevo reporte al cual se le añadirán nuevas informaciones (Report3), una vez por segundo, hasta que al minuto siguiente se inicie un nuevo reporte, conforme cambia el valor del tag NombreReporte. -
Verifique los archivos que están siendo generados a partir de Report2 y Report3. Si su aplicación no estuviera corriendo, colóquela en ejecución usando el icono Run Application.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 75 -
Indusoft – Tutorial Manual de Entrenamiento Básico
CREACIÓN DE UNA PANTALLA DE REPORTES (REPORT SCREEN) -
Abra la pantalla Standard en la pestaña Graphics dentro carpeta Screens y diseñe los objetos como se muestra en la figura y guarde como Reportes. Junto al texto Nombre de Reporte, coloque un texto con propiedad Text I/O para que el tag NombreReporte .
Importante: -
Deje siempre la opción Input Enabled habilitada en todos ellos. Esto permitirá digitar valores.
-
Guarde la pantalla como Reportes. Haga doble clic sobre el botón Guardar TXT. Inserte la propiedad Command. En Expression digite el siguiente comando como en la figura de abajo:
-
Para el botón Abrir TXT, insertar el comando de abajo:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 76 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Estaremos de esta forma utilizando el programa Notepad de Windows para abrir el reporte en ASCII (formato texto). La función WinExec permite la ejecución de programas que pueden ser ejecutados con el comando Run de Windows. -
Haga lo mismo con el botón Guardar Cabecera RTF e inserte el comando de abajo:
-
Repita el procedimiento con el botón Guardar Valores RTF e inserte el comando de abajo:
-
Para Abrir RTF:
-
Guarde, prueba e ingrese nombres de los Reportes. Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 77 -
Indusoft – Tutorial Manual de Entrenamiento Básico
AL MACENAMIENTO DE INFORMACION DE BASE DE DATOS Recordaremos la grabación de datos históricos a través del task “Trend”. Por defecto, se graba en la base de datos propia de Indusoft, un archivo codificado, imposible de editar, es decir muy seguro, pero poco flexible. -
Previamente debemos tener una base de datos disponible. En este caso utilizaremos el software MySQL, y nuestra base de datos previamente creada se llamará CAPACITACION - Además, para este caso en particular, debemos crear un Origen de datos ODBC. Este tiene por finalidad que la configuración en Indusoft sea más sencilla. - Ir a Panel de Control – Herramientas Administrativas – Orígenes de datos (ODBC) – DSN de Sistema. Click en el botón Agregar
-
Elegir según se muestra en la figura, click en el botón Finalizar
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 78 -
Indusoft – Tutorial Manual de Entrenamiento Básico -
-
Data Source Name, es el nombre que utilizaremos en Indusoft para referirnos a la Base de datos Capacitación. Los datos Server, User y Password, dependen de la configuración realizada cuando se instaló la base de datos. Para el ejemplo los datos son: Server: Localhost User: root Password: 1234 Cree una nueva tarea Trend Configure la opción History Format = Database Configure los tags correspondientes a nivel para ser grabados en la base de datos
-
Click en Database Configuration
-
Deshabilite la opción Use Project Default. Click en el botón al final de Connection String.
-
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 79 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Elegir la opción según se muestra en la figura, ya que utilizaremos el ODBC que hemos creado. Click en el botón Siguiente
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 80 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
Elegir el nombre de origen de datos previamente creado “Indusoft”, completar los datos como se realizó al crear el ODBC Habilite la opción Permitir guardar contraseña. Si desea, puede pobrar la conexión a la base de datos, mediante el botón Probar Conexión Click en aceptar, para regresar a la ventana Database Configuration
- Notar las siguientes opciones: Use Default Name: Asigna un nombre por defecto para la tabla donde se almacenarán los valores de los tags configurados en el trend. En este caso “TREND002” Automatically create: Crea automáticamente una tabla con el nombre especificado. - Click en OK. - Ejecute la aplicación. Automáticamente se creará una tabla en la Base de datos. Puede confirmarlo revisando la base de datos. - Un procedimiento similar se realiza para guardar las Alarmas y Eventos en Base de datos.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 81 -
Indusoft – Tutorial Manual de Entrenamiento Básico
COMUNICACIÓN Drivers de Comunicación Los drivers son los responsables de la transferencia de datos entre los dispositivos de campo (PLC, controladores, unidades concentradoras, etc) e Indusoft Web Studio. IWS tiene alrededor de 240 drivers disponibles en las versiones para Windows y Windows CE. Todos ellos están disponibles para descargar en el sitio web de Indusoft: www.Indusoft.com.br/download/drivers sin alguna restricción. A continuación, algunos de los más utilizados: Allen Bradley – DF1 e TCP/IP Siemens – S5 – AS511 PG Port Profibus DP Master e Slave (Hilscher) OMRON – Host Link GE FANUC – SNP, 90-30 90-70 Series Modbus – Schneider 984 series Profibus DP Master Cultler Hammer – D50 – D300 Series
Selección de Driver -
Cuando Indusoft es instalado, todos los drivers son instalados juntos. Vaya al directorio Drivers de la pestaña Comm, y haga clic con el botón derecho y escoja la opción Add/Remove Drivers.
-
Escoja para el tutorial el MOTCP. Después de seleccionar el driver (MOTCP), haga clic en el botón Select >> haga clic en OK.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 82 -
Indusoft – Tutorial Manual de Entrenamiento Básico
-
-
Ahora, haga clic con el botón derecho del ratón, sobre el directorio MOTCP, aparecerán las opciones : Insert : Inserta una nueva plantilla Settings: Configura algunos parámetros de la comunicación. Help: Abre el archivo de ayuda del driver seleccionado. Haga clic en la opción Settings, que abrirá la ventana Communication Paramaters.
Configuración de los Parámetros de Comunicación
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 83 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Existen dos tipos de configuración, Configuración Principal y Configuración Avanzada. Las diversas opciones aparecerán habilitadas/deshabilitadas dependiendo del driver seleccionado. En este caso, al utilizar un driver en TCP, las opciones que hacen referencia al puerto serial, aparecen deshabilitadas. Se recomienda dejar las configuraciones por defecto, salvo que el dispositivo (PLC u otro) tenga una configuración especial. Recuerde que el driver debe ser configurado de manera que coincida con la configuración del dispositivo remoto.
Manual del Driver de Comunic ación Cada driver de comunicación, posee su documentación específica. En el directorio Drivers, usted encontrará un archivo en formato PDF del mismo nombre del driver. Para visualizarlo, basta tener el Adobe Acrobat Reader instalado –una versión es distribuida en el CD de instalación de Indusoft Web Studio – y se puede acceder a ella desde el propio ambiente de Indusoft Web Studio, como muestra la figura que sigue:
Usted abrirá el Adobe Acrobat Reader con la documentación completa del driver. Ahí están detalladas todas las opciones de configuración, notas explicativas y precauciones que deben ser observadas. También hay ejemplos utilizados por Indusoft, durante la prueba de homologación del driver.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 84 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Main Driver Sheet – La config uración más simple -
Haga clic sobre el directorio MOTCP en el Project Explorer y haga clic 2 veces sobre Main Driver Sheet:
Usted verá un documento como el que sigue: Rellene conforme a la figura:
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 85 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Disable: Permite la configuración de un tag que en 1 deshabilita toda la comunicación configurada en Main Driver Sheet, en 0 permite la comunicación con el PLC.
Read Completed: El tag de este campo solo recibe un feedback si la operación de lectura fue efectuada, cambiando su valor entre 0 y 1.
Read Status: Este tag recibe el estado de la última comunicación. Cero significa Ok. Cualquier otro valor, positivo o negativo es considerado Error. (Vea tabla de errores en la documentación específica del driver).
Write Complete: Feedback si la operación de escritura fue completada o no, alternando los valores entre 0 y 1.
Write Status: Aviso de estado de la última comunicación. El tag de este campo recibirá el valor 0 si la comunicación está Ok o diferente de cero si no lo está. (Vea tabla de errores en la documentación específica del driver).
Check Box Min e Max: Habilita los campos Max y Min, donde colocamos el rango de validación de los datos. Por ejemplo, valores de memoria variando de 0 a 4095 equivalen de 0% a 100% en la interfaz con el usuario. Esta configuración es válida para todos los tags de la planilla, pero podemos colocar valores independientes de Max y Min en cada línea.
Driver Worksheets – Optimización de la comunic ación Añada una nueva planilla de Driver haciendo clic con el b otón derecho del ratón en el directorio MOTCP, Insert .
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 86 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Las planillas están compuestas de 2 partes: la cabecera y el cuerpo.
Cabecera En la cabecera tenemos el control de la comunicación, mientras en el cuerpo las direcciones de los tags que están operando en el PLC.
En la cabecera configuramos varias informaciones, incluyendo el tipo de operando que será usado en la comunicación.
Description: Descripción que será mostrada en el árbol del directorio MOTCP. Increase priority – check Box: En caso de ser una planilla de lectura, aumenta la prioridad de ésta.
Read Trigger: Coloque aquí un tag que, siempre que su valor sea cambiado, será efectuada una lectura en el PLC. Esto permite un mayor control de flujo de comunicación.
Enable Read when Idle: Si el tag colocado aquí posee un valor mayor que cero, la lectura de esta planilla será efectuada continuamente.
Read Completed: El tag de este campo solo recibe un feedback si la operación de lectura ya fue efectuada, cambiando su valor entre 0 y 1.
Read Status: Este tag recibe el estado de la última comunicación. Cero significa Ok. Cualquier otro valor, positivo o negativo es considerado Error.
Write Trigger: El cambio del valor del tag de este campo, efectúa una escritura de toda la planilla en el PLC.
Enable Write on Tag Change: Si este campo contienen un tag con valor mayor que cero, siempre que algún tah del cuerpo de la planilla cambie de valor, solamente este tag será escrito en el PLC.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 87 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Write complete: Feedback si la operación de escritura ue completada o no, alternando los valores entre 0 y 1.
Write status: Feedback del estado de la última comunicación. El tag de este campo recibirá el valor 0 si la comunicación está Ok ó 1 si no lo está.
Station: Dirección del equipo en la red. Puede ser un tag entre llaves {TagNombre}. Nota: Este campo es totalmente variable en función del equipo que estuviera siendo utilizado. Header: Cada driver tiene su propia sintaxis para este campo, ya que cada dispositivo tiene su propia nomenclatura de operandos. Pero en la mayoría de los casos, colocamos en este campo el tipo de operando con el cual queremos comunicar y la dirección inicial de la planilla. Vea algunos ejemplos: Driver MODBUS
Cabecera 4X:100
OMPLC (Host Link)
IR:0
FANUC (SNP)
%M
ABKE(DF1) N7:0
N7:0
AS511 (Siemens PG Port)
DB5:10
Significado 4X indica que esta planilla comunica con los Registros de Propiedad, de dirección en 100. En el caso AEG 984, la dirección es 400100 IR indica que esta planilla comunica con el I/O y registros Internos, de dirección en 0. En el caso de C200H, la dirección es IR00000. %M Indica que esta planilla comunica con el operando %M. No hay alguna dirección inicial para este driver. N7 indica que esta planilla comunica con el archivo de N7, en la dirección 0. En el caso de PLC-5/40, la dirección es N7:0 DB5 indica que esta planilla comunica con el Bloque de Datos número 5, palabra 10.
Cuerpo El cuerpo de la planilla de drivers, está compuesto de 4 columnas: Tag Name, Address, Div y Add.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 88 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Tag Name: Nombre del tag que tendrá la función de lectura o de escritura de datos del PLC. Address: Normalmente es el offset en relación a la dirección inicial declarada en el campo Header de la Cabecera, pero varía de acuerdo con el driver. Vea algunos ejemplos a seguir:
DRIVER
OPERANDO HEADER INTERNO DEL PLC
ADDRESS
OMPLC(OMROM) OMPLC(OMROM) OMPLC(OMROM) OMPLC(OMROM) FANUC (GE SNP) FANUC (GE SNP) ABKE (AB DF – 1) ABKE (AB DF – 1) ABKE (AB DF – 1) MODBUS MODBUS AS511 (Siemens PG Port) AS511 (Siemens PG Port)
IR0 IR00001 (IR bit 1) IR10 %I00001 %R00100 N7:0/5 T4:0.ACC T4:10.CON/15 100001 400100 DB5, DW10
IR: 0 IR: 0 IR: 0 IR:10 %I %R N7:0 T4:0 T4:0 1X:1 4X:50 DB5:0
0 0.1 10 0 1 100 W0/5 W0.ACC W10.ACC/15 0 50 10
DB5, DW10, bit 2
DB5:10
0.2
En los ejemplos de los drivers, usted ajusta los offsets relativos a la dirección inicial configurada en Header. Esto no es válido tecleando un valor negativo. El valor 0 será escrito en ese caso.
Div / Add / Max / Min: Columna Rango de valores Div
Todos Integer y Real
Add
Todos Integer y Real
Min
Todos Real Todos Real
Max
Signifi cado En comando de lectura: Tag = (Valor de campo) / DIV En comando de escritura: Valor en campo = Tag * DIV En comando de lectura: Tag = (Valor de campo ) + ADD En comando de escritura: Valor en campo = Tag - ADD
Integer
y Rango de validez de los datos independientes de
Integer
Max y Min de la cabecera de la planilla. y Rango de validez de los datos independientes de Max y Min de la cabecera de la planilla.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 89 -
Indusoft – Tutorial Manual de Entrenamiento Básico
INTEGRACION CON TECNOLOGIA OPC El directorio OPC, en la pestaña Comm, permite configurar la comunicación con cualquier sistema que tenga implementado el protocolo OPC Server. Para configurar una nueva conexión, inserte un nuevo WorkSheet (Pestaña Comm)
Description: Descripción que será mostrada con fines informativos Server Identifier: Nombre del servidor OPC al que se desea conectar. Si el servidor está instalado en la PC, podrá elegirlo de la lista desplegable
Disable: Tag o Constante. Si el valor es 1, deshabilita la comunicación con el servidor OPC, si el valor es 0 o se deja en blanco, la comunicación se habilita.
Read Update Rate: Especifica el tiempo en milisegundos, para que el Servidor actualice los valores. Si configura un valor de cero, se utilizará la mayor velocidad posible.
Percent Deadband: Solo para ítems análogos. Especifica el cambio en porcentaje del valor de un ítem que causará una notificación en el servidor.
Status: Tag que recibe el estado de la comunicación. 1 representa buen estado de comunicación Remote Server Name: Nombre del nodo, o dirección IP del servidor en la red de nodos. Read befote writing: Habilitar esta opción si requiere leer los valores de los ítems antes de escribir un nuevo valor en ellos,
Read alter writing: Habilitar esta opción si requiere leer los nuevos valores de los ítems, justo después de que han sido escritos por la aplicación.
Tagname: Nombre del tag que recibirá el valor del ítem configurado Ítem: Nombre del ítem en el servidor. Una vez elegido el Servidor, haciendo doble clic sobre cada ítem, aparecerá la lista de ítems propios del servidor. Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 90 -
Indusoft – Tutorial Manual de Entrenamiento Básico
EL INDUSOFT WEB STUDIO Indusoft Web Studio tiene la propiedad de trabajar como estación Servidora de datos para acceso de páginas web. Usted puede monitorear o hasta controlar desde cualquier estación, a través de un navegador web, cualquier aplicación que esté ejecutándose en Indusoft Web Studio. No es necesario que la PC que será utilizada como cliente, tenga el programa IWS instalado. La estación servidora de datos, que está ejecutando IWS necesita tener licencia Web Thin Client, en número suficiente para soportar los usuarios web simultáneamente conectados a esta.
Configurando para Web Configurando una aplicación para simulación de valores de proceso vía Web. Vaya al menú Project y haga clic sobre Options, y luego click sobre Web
- Configure la ventana en base en las informaciones listadas abajo:
Data Server IP: Es la dirección TCP/IP de la computadora donde se está ejecutando la aplicación (Server) de Indusoft Web Studio. Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 91 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Send Period: Periodo en milisegundos que el IWS lleva para actualizar en el PC cliente, los valores de los tags configurados como servidor.
Disable Remote Client Commands: Deshabilita todos los comandos remotos del cliente. Enable ToolTips: Tooltip es cuando paramos por algunos instantes sobre un objeto, entonces aparece una ventana diciendo lo que es aquel objeto. Esta función habilita y deshabilita esta función en la web.
Enable File Compression: Si esta opción estuviera habilitada, los archivos del directorio web de la aplicación serán transferidos del computador servidor al computador cliente, comprimidos, facilitando así la descarga de las pantallas y actualizaciones de datos en el computador cliente.
IP Security: Abre una ventana de seguridad para direcciones. Advanced: Abre una ventana de configuraciones avanzadas para conexiones web. Log: Guarda en el área de trabajo en archivo .dat, los mensajes de debug de la conexión Web. Enable: Habilita el campo FileName. FileName: Campo para especificar el directorio donde se quiere salvar los mensajes de debug. El módulo TCP / IP Server, así como el Viewer, normalmente están configurados para inicio automático. Confirmarlo en el menú Home, Tasks.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 92 -
Indusoft – Tutorial Manual de Entrenamiento Básico
Para que la aplicación funcione vía web, es preciso hacer algunas configuraciones en el computador Server donde la aplicación será desarrollada. Vamos a ellas: Vaya a Archivos de Programas / Indusoft Web Studio / Bin /.
Importante: El ejecutable NTWebServer no debe ser movido del directorio Bin y sí copiado al directorio Web de la aplicación. Localice y copie el ejecutable NTWebServer.exe, copie dentro del directorio Web de su aplicación. No arrastre este ejecutable para su directorio, pues este procedimiento puede provocar errores de funcionamiento. Solamente copie el NTWebServer.exe. Después de tener copiado el ejecutable NTWebService.exe en el directorio de su aplicación, doble clic sobre el ejecutable y minimícelo. Regrese al ambiente de desarrollo de IWS, vaya al menú File (Icono verde Indusoft). Click sobre la opción Pubñish, en seguida haga clic sobre la opción Save All as HTML, como muestra la figura de abajo. Esto grabará todas las pantallas creadas en formato HTML.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 93 -
Indusoft – Tutorial Manual de Entrenamiento Básico Vaya hasta pestaña Global y haga doble clic sobre el directorio Application Tags, doble clic sobre Dataste View. Aparecerá la ventana Application Tags, en ella verifique si los tags de la aplicación están configurados como Server en el campo Scope.
-
Cierre la ventana Application tags. Ahora vaya al menú superior y haga clic en Tools / Verify Application.
-
Aparecerá una ventana: Verify Application Haga clic en el boton Verify para iniciar la verificación de la aplicación
-
Esto hace que el sistema haga un barrido de la aplicación, buscando errores. Si no los encuentra, informa con un mensaje de que la aplicación fue verificada con éxito.
Calle Rubens 201 - San Borja, Teléfono: 225-8620 Telefax: 475-0397, www.smartfactorysac.com.pe
- 94 -