Postgrado de Organización IndustrialPostgrado de Organización Industrial
SISTEMAS DE AUTOMATIZACIÓN Y SUPERVISIÓN SISTEMAS DE AUTOMATIZACIÓN Y SUPERVISIÓN INDUSTRIALINDUSTRIAL
Internet en Automatización IndustrialInternet en Automatización Industrial
10-2
Transparent Factory
Ventajas de las arquitecturas transparentes
XWAY/ Modbus : transparencia en la
arquitectura de automatización
InternetIntranet
transparencia de información entre la
empresa, sus clientes y sus proveedores
Accesotransparente a los datos de producción
DiagnósticoRemoto
10-3
Transparent Factory
Transparent Factory: la estrategia
Abierto
Comunicación abiertaEthernetEthernet
Base instalada
Productos innovadoresInternet, Internet, ClienteCliente//ServidorServidor
ACCESO A LA INFORMACIÓN DE PLANTAACCESO A LA INFORMACIÓN DE PLANTA
Aprovechar las tecnologías comerciales• Servidores OPC, Ethernet, Internet, IEC 1131
Desarrollo de productos basados en las TI y en Internet
• Servidores Web embarcados y navegadorespara visualizar y acceder a los datos de losPLCs
Adoptar una estrategia de conectividad abierta• Protocolo TCP/IP, capa física Ethernet
Posicionar al autómata como “proveedor de contenidos”
• Disponibilidad de servidor embarcado y de servidor OPC
10-4
Transparent Factory
Transparent Factory: tecnologías abiertas
Sitio Web de Transparent Factory
http:/www.transparentfactory.com
Ethernet TCP/IP
Orientacióna Objetos
TecnologíasWEB
10-5
Servidor Web FactoryCast
10-6
Web Server
Arquitecturas
Ethernet / TCPIP : Intranet
Firewall
Internet
Router
Intranet
ServidorWEB
ServidorWEB
Cliente WEB ’Intranet ’
Cliente WEB’Internet ’Diagnósticos
Acceso a datos Páginas HTML usuario
Modem
10-7
Web Server
Funcionalidades
Funciones disponibles de base • Diagnósticos de sistema (Rack viewer)
– Visualización de la configuración– Visualización de los defectos– Diagnóstico detallado de cada módulo
• Diagnóstico de la aplicación (solamente en Premium)– Visualización/reconocimiento de las alarmas generadas por las DFB de diagnóstico
• Ajustes de parámetros (Data editor)– Visualizar/modificar los datos del PLC– Acceso por símbolo o por dirección de memoria
• Ajuste gráfico de la aplicación (Graphic Data editor)– Biblioteca de objetos gráficos animados: barras, potenciómetros, indicadores, ...
Páginas HTML personalizadas• Logo del usuario, vínculos a servidores externos (documentación, guías de mantenimiento,…)• Creación de páginas Web• Uso de applets Schneider predefinidos• Creación de applets mediante el SDK de FactoryCast
10-8
Web Server
Funciones disponibles de base Arrancar un navegador de Internet ==> acceder a la página principal del servidor
• Acceso a Rack Viewer : Diagnósticos de sistema y de los módulos
• Acceso al Data Editor : Ajuste de parámetros• Acceso al sitio Web del usuario : Protegido y
desprotegido
10-9
Web Server
Ejemplo de página Web de usuario
1661005
166
40
100
102
156
Inserción de datos del PLC, imágenes (.GIF), hipervínculos, ...
10-10
Ethernet TCP/IP en los autómatas Modicon TSX
Oferta Ethernet Modicon TSX Micro:
TSX Micro
TSXETZ410
TSXETZ510
Velocidad 10/100 Mbps
Mensagería MODBUS y UNITE TCP/IP
Conexión para Acceso Remoto RS232
Cliente BOOTP y DHCP
Paginas Web de Diagnóstico
Agente SNMP
Lo mismo que TSXETZ410 y además:
Web Server configurable con 8 MBytesde memoria libre ( Factory Cast )
10-11
Conexión de los Módulos TSXETZ para Acceso Remoto vía Módem.
Vía Puerto Serie RS 232Con protocolo PPP ( se debe configurar en el PC un Acceso Telefónico a
redes )Acceso al servidor de páginas Web.Transferencia de Programa a través de PL7.Servicios Factory Cast a distanciaSeguridad de acceso a todos los niveles de aplicaciónVelocidad hasta 56 Kbps
TSX ETZ
ModemModem
Transparent Factory para Telecontrol y Telemantenimiento
10-12
TSX Premium
TSXETY4102
TSXETY5102
y además, 4 nuevas CPUs con Ethernet incorporado
Oferta Ethernet Modicon TSX Premium:Velocidad 10/100 Mbps
Mensagería MODBUS y UNITE TCP/IP
Servicios de I/O Scanning y Global Data
Servidor/Cliente BOOTP y Servidor DHCP
Paginas Web de Diagnóstico
Agente SNMP
Lo mismo que TSXETY4102 y además:
Web Server configurable con 8 MBytesde memoria libre ( Factory Cast )
Ethernet TCP/IP en los autómatas Modicon TSX
10-13
TSX Momentum
Oferta Ethernet Modicon TSX Momentum
Ethernet TCP/IP en los autómatas Modicon TSX
170ENT11000
170ENT11001
Velocidad 10 Mbps
Mensagería MODBUS TCP/IP
Servicios de I/O Scanning
Cliente BOOTP
Velocidad 10/100 Mbps
Mensagería MODBUS TCP/IP
Servicios de I/O Scanning
Cliente BOOTP
Cliente DHCP ( FDR )
Páginas de diagnóstico integradas
( disponible Mayo/2002 )
10-14
TSX Quantum
Ethernet TCP/IP en los autómatas Modicon TSX
140NOE77111
Velocidad 10/100 Mbps Par Trenzado
Fibra Optica 100 Mbps
Mensagería MODBUS TCP/IP
Servicios de I/O Scanning y Global Data
Servidor BOOTP/DHCP
Páginas de Diagnóstico
Agente SNMP
Lo mismo que 140NOE77101 y además
Web Server configurable con 8 MB de memoria libre ( Factory Cast )
MAGELISTerminales HMI MAGELIS con conectividad Ethernet:
Perfil MODBUS TCP/IP
140NOE77101
Oferta Ethernet Modicon TSX Quantum:
10-15
Web Server
Módulo Ethernet ‘Transparent Factory’
Módulo Ethernet TCP/IP con servidor Web• Referencia ETY110WS para Premium
Servidor Web embarcado• Servidor de datos del PLC en tiempo real• Visualización de datos mediante páginas Web (HTML)• Acceso a los datos desde un navegador estándar• 2 MB de memoria para la función servidor Web (1.4 MB libres para el sitio de usuario)• Servidor FTP embarcado (para trasvase de ficheros)
Comunicación Ethernet TCP/IP• Para comunicación entre PLCs o entre PLCs y otros dispositivos• Protocolos Modbus o Uni-TE sobre TCP/IP• Todos los servicios EthernetTCP/IP (transporte, gestión de red)• Soporte de la base instalada
Tecnología Web no implica necesariamente Internet• Acceso Local - Ethernet TCP/IP (Intranet)• Acceso Remoto - Router + módem (punto a punto)• Acceso Global - ISP (Internet)
10-16
Servidor Web FactoryCastInstalación
10-17
Web Server
Instalación - Metodología
Instalar el módulo en el bastidor y configurarlo en PL7
Configurar la aplicación del servidorWeb con el configurador FactoryCast
1
3 Conectarse con un navegadora la dirección TCI/IP del módulo
2
10-18
Web Server
Instalación - Metodología
Instalación del Servidor• Instalar un módulo (Web Server) en el PLC
– Configurar la dirección Xway mediante las ruedas giratorias del frontal• Configurar el módulo en PL7
– Configurar la dirección IP– Opcionalmente configurar la máscara de subred y la pasarela
• Instalar (bajo Windows) y arrancar el configurador FactoryCast– Configurar la aplicación FactoryCast– Transferir la aplicación al módulo
Instalación del Cliente• Nada que instalar
– Verificar la versión del navegador (Internet Explorer >= 4.01; Netscape >= 4.5)– Verificar la versión de la JVM – Arrancar el navegador– Dar el URL del PLC (dirección IP or nombre de Host)– Acceder a las páginas del sitio Web
10-19
Web Server
Instalación - Configurador FactoryCast
Arrancar el Configurador FactoryCast• WebUtility.exe
Configurar la aplicación del servidor• 1 - Inicializar el servidor Web del módulo
– Menú Servidor > Inicialización del módulo– Dar la dirección IP o Hostname– Confirmar la dirección XWAY
• 2 - Parametrizar la aplicación del servidor Web– Menú Archivo > Configuración Nueva > Configuraciones– Rellenar:
– Contraseña de acceso– Localización del fichero de símbolos (.SCY o .FEF) – Nivel de protección de las variables
(escritura o sólo lectura) – Localización del fichero del logo (.GIF)– Localización del las páginas Web de usuario (.HTM)– La dirección IP del módulo
10-20
Web Server
Instalación - Configurador FactoryCast
• 3 - Declarar la lista de variables (para el Data Editor)
– Pestaña Símbolos en pantalla principal > seleccionar el símbolo del fichero
– Pestaña Direcciones Directas Habilitadas para escritura > lista de objetos del PLC por dirección
10-21
Web Server
Instalación - Configurador FactoryCast
• 4 - Transferir la aplicación al servidor– Menú Comandos > Transferir al PLC > Todos los archivos
– Dar la dirección IP o Hostname– Confirmar la dirección XWAY
10-22
Servidor Web FactoryCastOperación
10-23
Web Server
Operación - Acceso al servidor Web FactoryCast
Arrancar un navegador• Introducir dirección del PLC remoto
– URL (dirección IP o Host name)
• La página principal da acceso a: – Diagnósticos (Rack Viewer)– Editor de variables (Data Editor)– Editor gráfico (Graphic Editor)– Visualizador de alarmas (Alarm Viewer)
• Protección por defecto– User Name = USER– Password = USER
10-24
Web Server
Operación: Rack Viewer
Rack Viewer : Diagnósticos del sistema y de módulos de E/S
10-25
Web Server
Operación: Data Editor
Ajuste de parámetros: Data Editor• posibilidad de guardar listas de variables
10-26
Web Server
Operación : Graphic Data Editor
Ajuste gráfico de la aplicación / HMI : Graphic Data Editor• posibilidad de guardar pantallas de objetos gráficos
10-27
Web Server
Operación : Alarm ViewerDiagnóstico de la aplicación mediante la DFB de diagnóstico
10-28
Servidor Web FactoryCastCreación de páginas Web
10-29
FactoryCast Web Server
Creación de páginas Web
Los usuarios pueden:
• Personalizar la página principal con su propio logotipo• Modificar la página principal
• Crear sus propias páginas Web– Utilizando un editor HTML (FrontPage o similar, no incluído)
• Transferir sus páginas al servidor Web del autómata– Utilizando el configurador FactoryCast– Utilizando un cliente FTP (File Transfer Protocol)
10-30
FactoryCast Web Server
Servidor Web embarcadoMemoria total del servidor: 8 MB (usuario)Acceso a los ficheros de la Web via servidor FTP integradoBackup/Restore de la Web completa mediante el configurador
• Árbol de directorios del servidor:
wwwroot \ .. index.htm
\ classes\ conf\ images\ secure
\ systemindex.htm…..
\ userindex.htm…..
\ unsecure\ user
index.htm…..
Página principal
Web protegida porcontraseña
Web no protegida
Área de usuario
Directorio de archivos .jar
. Directorio deanimaciones .gif
10-31
FactoryCast Web Server
Modificación/personalización de las páginas de usuarioModificación de la página principal
• 1 - Seleccionar la copia de la página principal: fichero ‘index.htm’– en el directorio ‘..\FactoryCast\pbf\software\wwwroot\’
• 2 - Modificar la página con un editor HTML (FrontPage o similar) – abrir el ficheor con el editor– modificar el fichero:
– insertar texto fijo, imágenes, animaciones, etc.
• 3 - Personalizar el logo– El fichero requerido (xxx.gif) debe ser renombrado ‘logo.gif ’– Transferir el fichero ‘logo.gif’ al servidor en el directorio ..\images
• 4 - Guardar la página HTML
• 5 - Transferir la página principar al servidor– Utilizando el configurador FactoryCast
– menú Comanodos > Transferir al PLC > Avanzado > página principal– Utilizando un cliente FTP
10-32
FactoryCast Web Server
Creación de páginas WebCarga de páginas Web de usuario en el servidor del autómata
• 1 - Crear una página Web con un editor HTML (FrontPage o similar) – insertar texto fijo, imágenes, animaciones, etc.
• 2 - Para insertar una variable de PLC:– Seleccionar un área en la página– Seleccionar el menú Insertar
– Menú Avanzado– Inertar Applet Java
• 3 - Introducir parámetros del applet – Dirección de la variable– formato, unidades, texto– colores, etc ...
• 4 - Guardar la página HTML
• 5 - Transferir la página– Utilizando el configurador FactoryCast – Utilizando un cliente FTP
Applet source
Applet base URL
Applet Parameters
Name Value
Add
Java Applet Properties
Modify Delete
10-33
FactoryCast Web Server
Inserción de variables de PLC en páginas Web
Se puede acceder a las variables de PLC en tiempo real medianteapplets Java
• insertados en las páginas HTML de usuario
Los applets pueden ser:
• Applets predefinidos Schneider
– Librería de applets suministrada con el producto FactoryCast
• Applets creados por el usuario– Comunicación con los PLCs utilizando el SDK de FactoryCast (suministrado con el producto
FactoryCast )
! Los applets de Schneider requieren la JVM V5 (Java Virtual Machine)
10-34
FactoryCast Web Server
Applets Java predefinidos por Schneider
Archivo ‘SAComm.jar’ • Applet gestor ‘LiveLabelMgrApplet’
– Utilizado para controlar la representación dinámica de variables del PLC en forma de etiqueta animada.
• Applet ‘LiveLabelApplet’ – Utilizado para leer o escribir una variable de PLC en forma de etiqueta animada.
Archivo ‘Widgets.jar’
• Applet gestor ‘LiveBeanMgrApplet’ – Utilizado para controlar la representación o escritura dinámica de variables del PLC en forma de objeto
gráfico (bean) o etiqueta animada.
• Applet ‘LiveBeanApplet’– Utilizado para leer o escribir una variable de PLC en forma de objeto gráfico (bean)
Archive ‘GSupport.jar’• Applet ‘GdeApplet’
– Utilizado para arrancar el editor gráfico en un fichero determinado
10-35
166
1005166
40
100
102
156
FactoryCast Web Server
Insertar un applet Java de Schneider
Etiquetas animadas utilizando ‘LiveLabelApplet’, insertadas en páginaHTML
Con el producto viene un ejemplo de página Web con etiquetas animadas• Directorio: C:\Factorycast\PBF\software\wwwroot\secure\user\labltest.htm
Ejemplos de etiquetasanimadas con ‘LiveLabelApplet’
10-36
FactoryCast Web Server
Insertar un applet Java de SchneiderEtiquetas animadas con ‘LiveLabelApplet’
• Código HTML asociado insertado en la página<APPLET codebase="/classes"
archive="SAComm.jar"
code="com.schneiderautomation. factorycast.LiveLabelMgrApplet"
width=0 height=0>
<APPLET codebase= "/classes" archive= "SAComm.jar"
code="com.schneiderautomation.factorycast.LiveLabelApplet"
width=300 height=30>
<PARAM name=LABEL value= Pressure =>
<PARAM name=UNITS value=bars >
<PARAM name=ADDRESS value=%MW100 >
<PARAM name=DATATYPE value=UINT>
<PARAM name=FORMAT value=DEC>
..
<PARAM name=FOREGRND value=GREEN >
<PARAM name=BACKGRND value=WHITE>
<PARAM name=FONT_NAME value=Courier>
<PARAM name=FONT_BOLD value=TRUE>
<PARAM name=FONT_SIZE value=10>
</APPLET>
Una vez por cadaobjeto representado
Código que sólose inserta una vez
10-37
FactoryCast Web Server
Insertar un applet Java de SchneiderMostrar un objeto gráfico utilizando ‘LiveBeanApplet’, previamente creado y salvado en el editor gráfico
• Ejemplo: medidor insertado en página HTML
Inserted associated HTML code<APPLET codebase="/classes"
archive="SAComm.jar,GDE.jar,Widgets.jar"
code="com.schneiderautomation.gde.LiveBeanMgrApplet"
width=0 height=0>
<APPLET codebase="/classes"
archive="SAComm.jar,GDE.jar,Widgets.jar"
code="com.schneiderautomation.gde.LiveBeanApplet"
width=180 height=160>
<PARAM name=LIBRARY value="Library1">
<PARAM name=BEAN value="Meter2">
<PARAM name=BACKGRND value="0xDDEEFF">
</APPLET>
Backup library
Código que sólose inserta una vez
Una vez por cadaobjeto representado
10-38
Servidor Web FactoryCastCreación de applets Java
10-39
FactoryCast Web Server
Applets Java
Se puede acceder a las variables de PLC en tiempo real medianteapplets Java
• insertados en las páginas HTML de usuario
Los applets pueden ser:
• Applets predefinidos Schneider
– Librería de applets suministrada con el producto FactoryCast
• Applets creados por el usuario– Comunicación con los PLCs utilizando el SDK de FactoryCast (suministrado con el producto
FactoryCast )
! Los applets de Schneider requieren la JVM V5 (Java Virtual Machine)
10-40
FactoryCast Web Server
SDK (Software Development Kit) de FactoryCast
El SDK se utiliza para desarrollar applets o aplicaciones Java quecomuniquen con PLCs Quanum o Premium
El SDK comprende:• Una librería de comunicaciones que contiene
– APIs para acceder a las variables del PLC en modo lectura/escritura– El archivo Java “SAComm.jar”– Dos ejemplos (applet y aplicación)
• Un interface con el editor gráfico que contiene– APIs para crear objetos gráficos que podrán ser integrados en la librería del editor– El archivo Java “GSupport.jar” – Dos ejemplos (Java Beans)
• Un interface “Widgets” que contiene– APIs para usar en applets de objetos gráficos creados con el editor gráfico– El archivo Java “SAWidgets.jar” – Un ejemplo
! Los API de FactoryCast son compatibles con el JDK V1.1.X (V1.0.2 y V2 NO soportadas)
10-41
FactoryCast Web Server
Tipos de aplicaciones Java
Compilar‘ javac ’
‘HelloWorld . java ’fichero fuente
‘ Java ’
Internet
Intérprete
Browser
Sistemaoperativo
CrearEjecutable
ArchivoCrear
En página HTMLInsertar Applet
Hello World!
Hello World !
Hello World!
Public Class HelloWorld {………………………….{………………….. (’’Hello World !’’) ;}
‘HelloWorld .class ’ fichero precompilado
10-42
Ejemplo de programa Java
• 1 - Crear y guardar el siguiente programa: ‘HelloWorld . Java’
class HelloWorld {
public static void main( String arg[ ] ) {
System.out.println(” Hello World ! ”);}
}
• 2 - Compilar el fichero usando el compilador del JDK (o similar)– En una ventana de comandos DOS escribir (se crea fichero .class) :
..\jdk116\bin\javac -classpath ……………. HelloWorld.java
• 3 - Ejecutar el programa compilado por el intérprete Java– En una ventana DOS escribir:
..\jdk116\bin\ java HelloWorld
FactoryCast Web Server
Primera aplicación Java
! Atención: Java es ‘case sensitive’: distingue entre mayúsculas y miúsculas
10-43
FactoryCast Web Server
Primer applet Java
Creación de un applet Java
• 1 - Crear el programa y guardar el fichero fuente *.java – integrando las características especiales de código para que su uso sea compatible con la inserción en
una página HTML
• 2 - Compilar el fichero con el compilador Java (javac)– de la misma forma que para una aplicación Java
..\jdk116\bin\ javac - classpath ……………. * . java– se crea un fichero *.class
• 3 - Crear un fichero de archivo ‘.jar’– mediante el comando:
..\ jdk116 \ bin \ jar cf myapplet.jar *.class
• 4 - Insertar el applet Java en una página Web– usando un editor HTML– guardar el fichero HTML
• 5 - Visualizar la página HTML que contiene la llamada al applet– El navegador ejecuta el applet incluído en la página HTML
10-44
FactoryCast Web Server
Primer applet Java
Creación de un applet Java sin vínculos con variables de PLC
• Crear y guardar el programa fuente: fichero ‘myapplet . Java’
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
public class myapplet extends java.applet.Applet
{
public void paint( Graphics g )
{
g.setColor(Color.red);
g.setFont(new Font("TimesRoman",Font.BOLD,20));
g.drawString("Hello World applet", 5 ,40);
}
}
• Nombre del fichero = 8 letras máximo (para ser compatible con el servidorFTP integrado) !
10-45
FactoryCast Web Server
Estructura de los appletsimport java.awt.Graphics;
import java.awt.Color;
public class myapplet extends java.applet.Applet
{
int a, b
String text
// método de inicialización
public void init ( )
{ ...
}
// gestión de eventos del ratón
public boolean mouseDown(Event evt, int x, int y)
{ ...
return true;
}
// Print to screen method
public void paint( Graphics g )
{
g.setFont(new Font("TimesRoman",Font.BOLD,20));
g.setColor(Color,red);
g.drawString(’’Hello World again! ’’ ,5 ,40);}
}
Importación de lasclases necesarias
Declaración de la clase principal
Método ejecutadosólo una vez
Método Mouse event
Definición de variables
Método principal ‘dibujar en pantalla’
10-46
FactoryCast Web Server
Compilación del ejemplo de Applet comunicante
En el SDK viene un ejemplo de Applet Java que lee/escribe variables de PLC
• Directorio: c:\factorycast\sdk\examples\exampleapplet\ExampleApplet.java
• Hace una llamada al archivo SAComm.jar
Se utilizan las herramientas del JDK Sun para compilar
• Hay un ejemplo en un fichero .bat.. \ FactoryCast \ sdk \ examples \ makeexample.bat
10-47
FactoryCast Web Server
Compilación del ejemplo de Applet comunicante
1 - Compilar el ejemplo• User el comando de compilación: ‘javac’
2 - Crear el archivo ‘Example.jar’• Usar el comando ‘jar’
..\jdk116 \ bin \ jar cf example.jar ..\ ExampleApplet.class
3 - Insertar el applet en la página Web• Ya hay creada una página de ejemplo:
c:\ factorycast \ sdk \ examples \ exampleapplet \ Example.htm• Editar la página para comprobar la llamada al applet
4 - Transferir la página Web y el archivo al servidor embarcado
..\ jdk116 \ bin \ javac - classpath c:\factorycast\sdk\FactoryCast.jar ; e:\jdk116\lib\classes.zip .. \ ExampleApplet
.java
10-48
FactoryCast Web Server
Página Web con el Applet comunicante insertado
Código HTML de la página Web
• Arrancar el fichero Example.htm y visualizar el código fuente
<HTML>
<TITLE>Example Applet</TITLE>
<BODY>
<CENTER>
<APPLET codebase="/classes" archive="SAComm.jar,Example.jar"
code="ExampleApplet" width="600" height="220">
</APPLET>
</CENTER>
</BODY>
</HTML>
Referencia al archivoSAComm.Jar
! Atención: se utiliza Factorycast.jar para compilar y SAComm.jar para ejecutar
10-49
FactoryCast Web Server
Funcionamiento de un Applet comunicante
Se utilizan 4 tipos de objetos (beans)
• objeto ‘comm’: abrir conexión TCP/IP con el PLC• objeto ‘getter’: lecturas por evento de variables del PLC • objeto ‘setter’: escritura de variables del PLC • objeto ‘monitor’: lecturas contínuas de variables del PLC
Métodos asociados a los objetos
• Ejemplo de método del objeto ‘comm’
– comm . connect (plc , false) ;
• Ejemplo de métodos del objeto ‘getter’
– getter . setAddress ("%mw0";);– getter . setQuantity (short(1));– getter . readValues ();– getter . getValues ();
10-50
FactoryCast Web Server
Creación de un applet que lee una variable de PLC Crear y salvar el programa fuente: fichero ‘commplc . Java’
import java.applet.*;import java.awt.*;
import com.schneiderautomation.factorycast.*;import com.schneiderautomation.factorycast.comm.StatusMessages;
public class commplc extends java.applet.Applet {string plc = "139.160.65.113";int[] values;CommBean comm = new CommBean( Locale.getDefault() );GetUInt getter = new GetUInt( comm.getServer() );
public void init() {try {
comm.connect( plc, false );getter.setAddress("%mw0";);getter.setQuantity(short(1));getter.readValues();
}catch( Exception e ) {// Exception processing }
values = getter.getValues();}
public void paint (Graphics g) {g.setFont(new Font ("TimesRoman",Font.BOLD, 20));g.drawString(String.valueOf(values[0]), 5, 40);
}}