instituto politÉcnico nacional -...

107
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCRICA UNIDAD ZACATENCO SIMULACIÓN DEL DESPLAZAMIENTO DE LA CARGA PARA UNA GRÚA VIAJERA TESIS QUE PARA OBTENER EL TÍTULO DE INGENIERO EN CONTROL Y AUTOMATIZACIÓN EDUARDO GARCÍA CEDILLO ASESORES: M. EN C. IVONE CECILIA TORRES RODRÍGUEZ ING. RICARDO HURTADO RANGEL MÉXICO D.F., NOVIEMBRE 2009

Upload: lecong

Post on 02-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA

MECÁNICA Y ELÉCRICA

UNIDAD ZACATENCO

SIMULACIÓN DEL DESPLAZAMIENTO DE LA

CARGA PARA UNA GRÚA VIAJERA

TESIS

QUE PARA OBTENER EL TÍTULO DE

INGENIERO EN CONTROL Y AUTOMATIZACIÓN

EDUARDO GARCÍA CEDILLO

ASESORES:

M. EN C. IVONE CECILIA TORRES RODRÍGUEZ

ING. RICARDO HURTADO RANGEL

MÉXICO D.F., NOVIEMBRE 2009

Page 2: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERiA MECANICA Y ELECTRICA

UNIDAD PROFESIONAL "ADOLFO LOPEZ MATEOS"

REPORTE TECNICO

QUE PARA OBTENER EL TITULO DE INGENIERO EN CONTROL Y AUTOMATlZACION POR LA OPCION DE TIT ULACION PROYECTO DE INVES1'IGACION SIP20091276 DEBERA(N)DESARROLLAR

C.-EDUARDO GARCiA CEDILLO

"SIMUlACI6N DEL DESPLAZAMIENTO DE lA CARGA PARA UNA GRUA VIAJERA" "

DESARROLLAR UNA INTERFAZ GRAFICA. QUE PERMITA SUMUlAR EL DESPLAZAMIENTO DE LA CARGA , DE UNA GRUA VIAJERA, CON 'EL FIN DE MOSTRAR AL OPERADOR EL COMPOR'1,'AMIENTO DE LA GiUJA Y SU DESPLAZAMIENTO CON RESPECfO A lA CARGA, unuZANDO VISUAL BASIC COMO LENGUAJE DE PROGRAMACION PARA LA SIMUlACION.

~ INTRODUCCION ~ DESCRIPCI6N DE LA GRUA VIAJERA ~ MODELO MATEMATICO DE lA GRUA VIAJERA ~ DISENO DE lA INTERFAZ GRAFICA.DE LA GRUA VIAJERA ~ PROGRAMACION DE lA INTERFAZ GRAFICA. ~ COSTOS » CONCLUSIONES

MExIco D.P., 28 DE MAYO 2010.

ING. JOSE ME~,.q9.~<?UEZ JEFE DEL DEPARTAMENTO ACADEMICO

DE INGENIERiA EN CONTROL Y AUfOMATIZACION

Page 3: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

2

ÍNDICE

Objetivo

Objetivos Particulares

Justificación

INTRODUCCIÓN

Antecedentes

Grúas

Interfaz Gráfica de Usuario

Definición etimológica y conceptual

Definición de Interfaz Gráfica

Problemática

Capítulo 1

DESCRIPCIÓN DE LA GRÚA VIAJERA

1.1 Características de las grúas tipo puente.

1.1.1 Velocidades de traslación.

1.1.2 Motores de accionamiento.

1.2 Manipulación de grúas tipo puente.

1.3 Especificaciones de los Elementos de la Grúa.

1.4 Especificaciones del Motor de Inducción.

1.5 Especificaciones de la Caja de Engranes.

Capítulo 2

MODELO MATÉMÁTICO DE LA GRÚA VIAJERA

2.1 Modelo de la Grúa Viajera

2.2 Descripción del Método de LaGrange

2.3 Modelo dinámico de la Grúa Viajera

2.4 Comportamiento típico de una Grúa Viajera

Capítulo 3

DISEÑO DE LA INTERFAZ GRÁFICA DE LA GRÚA VIAJERA

3.1 ¿Qué se entiende por ambiente Gráfico?

3.2 ¿Qué es Visual Basic?

3.2.1 Antecedentes Históricos

3.2.2 Características generales de Visual Basic

3.2.3 Programación secuencial frente a programación bajo Windows

3.3 Conceptos básicos de Visual Basic

3.3.1 Entorno de Trabajo

3.3.2 Proyecto en Visual Basic

3.3.3 Formularios

3.3.4 Controles

3.3.5 Algoritmo

3.3.6 Diagramas de flujo

3.4 Desarrollo de la Interfaz Gráfica de Usuario en Visual Basic

3.4.1 Ventana de Interfaz Gráfica

-Sección de parámetros de operación

- Sección de representación gráfica de la grúa

- Representación del proceso

10

10

11

12

12

13

17

17

18

19

22

22

23

24

25

25

26

28

29

29

31

37

39

40

41

41

44

45

47

47

47

48

48

51

52

54

54

55

59

62

Page 4: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

3

3.4.2 Diagrama de flujo de operación de la Grúa Viajera

3.4.3 Diagramas de flujo de programación de la Interfaz Gráfica

- Cajas de texto

- Botones de comando

- Imagen

- Cajas de selección

- Controles de tiempo

Capítulo 4

PROGRAMACIÓN DE LA INTERFAZ GRÁFICA

Capítulo 5

COSTOS

5.1 Costos de Ingeniería y Material

CONCLUSIONES

GLOSARIO

BIBLIOGRAFÍA

ANEXO

63

64

64

65

68

69

71

77

90

91

92

93

95

96

Page 5: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

4

Listado de Figuras

Figura 1.1 Estructura de una grúa tipo puente (grúa viajera).

Figura 1.2 Carro de la grúa sobre vigas transversales.

Figura 1.3 Componentes.

Figura 1.4 Grúa tipo puente al aire libre.

Figura 1.5 Grúa tipo puente en el interior de una nave.

Figura 2.1 Diagrama del Sistema Grúa Viajera.

Figura 2.2 Posición de referencia de la grúa viajera en m.

Figura 2.3 Aceleración de referencia de la grúa viajera en m/s.

Figura 2.4 Fuerza aplicada a la grúa viajera en N.

Figura 3.1 Ventana principal Visual Basic.

Figura 3.2 Ventana principal Interfaz.

Figura 3.3 Controles te Operación de la Interfaz.

Figura 3.4 Marco de Posición.

Figura 3.5 Marco de Operación.

Figura 3.6 Marco de Elevación.

Figura 3.7 Marco de Carga y Velocidad.

Figura 3.8 Marco de Tipo de Movimiento.

Figura 3.9 Marco de indicadores de inicio y fin de carrera.

Figura 3.10 Representación Gráfica de la vista superior de la Grúa.

Figura 3.11 Marco de Área de desplazamiento de la grúa.

Page 6: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

5

Figura 3.12 Marco de Elevación del Malacate.

Figura 3.13 Controles tipo CWGraph.

Figura 3.14 Representación de la grúa en isométrico.

Figura 3.15 Diagrama de flujo de funcionamiento de la interfaz.

Figura 3.16 Diagrama de flujo de función que solo permite números.

Figura 3.17 Diagrama de flujo de algoritmo que no permite valores vacios.

Figura 3.18 Diagrama de flujo que indica advertencia de valores.

Figura 3.19 Diagrama de flujo de función de selección del contenido en caja de texto.

Figura 3.20 Diagrama de flujo del Botón de Comando Iniciar.

Figura 3.21 Diagrama de flujo del Botón de Comando Parar.

Figura 3.22 Diagrama de flujo del Botón de Comando Elevar.

Figura 3.23 Diagrama de flujo del Botón de Comando Descender.

Figura 3.24 Diagrama de flujo del botón de paro.

Figura 3.25 Diagrama de flujo de la caja de selección Colocar Carga.

Figura 3.25 Representación de la Carga.

Figura 3.27 Diagrama de flujo de la caja de selección Quitar Carga.

Figura 3.28 Diagrama de flujo de control de tiempo 1 (tmrDesp)

Figura 3.29 Diagrama de flujo de control de tiempo 2 (tmrDescenso)

Figura 3.30 Diagrama de flujo de control de tiempo 3 (tmrElevar)

Page 7: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

6

Listado de Tablas

Tabla 3.1 Controles estándar

Tabla 3.2 Símbolos utilizados en Diagramas de Flujo.

Tabla 3.3 Combinación de Condiciones programadas en tmrDesp

Tabla 4.1 Declaración de variables

Tabla 4.2 Declaración de Funciones más utilizadas

Tabla 4.3 Evento KeyPress llamando a la función numeros

Tabla 4.4 Sentencias If condicionando valores en evento Change

Tabla 4.5 Código para seleccionar texto

Tabla 4.6 Programación evento Load de Form

Tabla 4.7 Código de programación para control de tiempo 2 (tmrDescenso)

Tabla 4.8 Código de programación para control de tiempo 3 (tmrElevar)

Tabla 4.9 Código de programación para control de tiempo 1 (fragmento)

Tabla 4.10 Código de programación para el botón de comando Iniciar

Tabla 4.11 Código de programación para el botón de comando Parar

Tabla 4.12 Código de programación para el botón de comando Elevar

Tabla 4.13 Código de programación para el botón de comando Descender

Tabla 4.14 Código de programación para el botón de paro

Tabla 5.1 Costos de Programación y Diseño

Page 8: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

7

Listado de Simbología

Símbolo Descripción

r1 Resistencia del rotor

r´1 Resistencia del rotor

Xm Resistencia mutua

Xls Reactancia de enlace del motor

J Inercia del rotor

Tem Par electromagnético

Tcaja Par torsional máximo de la caja de engranes

it Relación de transmisión

Ta Par torsional debido a la aceleración

Tc Par debido a las fuerzas de oposición constantes

ωmr Velocidad mecánica del rotor

ωcaja Velocidad angular de la caja de engranes

ẋ Velocidad máxima de la carga

r Radio del elemento de transmisión

L Lagrangiano

Ec Energía cinética

Ep Energía potencial

I Principio de Hamilton

Page 9: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

8

,i iq q

Coordenadas generalizadas

T Tensión del cable

x Posición del carro (grúa)

l Longitud del cable

θ Ángulo del cable con respecto al eje vertical

Velocidad angular

1u

Fuerza aplicada al carro

2u

Par aplicado al malacate

gM

Masa del carro

m Masa de la carga

r Radio de la rueda

v1 Velocidad del carro

px Posición en el eje X

py Posición en el eje Y

vx Velocidad en eje X

vy Velocidad en eje Y

vxtotal Velocidad total en eje X

vp Velocidad del péndulo

Ecp Energía cinética del péndulo

Epg Energía potencial de la grúa

Ecg Energía cinética de la grúa

Page 10: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

9

Epp Energía potencial del péndulo

g Gravedad

ẍ Aceleración del carro

θ¨ Aceleración del cable que sostiene a la carga

Page 11: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

10

OBJETIVO

Desarrollar una interfaz gráfica que permita simular el desplazamiento de la carga

de una grúa viajera, con el fin de mostrar al operador el comportamiento de la grúa y su

desplazamiento con respecto a la carga, utilizando Visual Basic como lenguaje de

programación para la simulación.

OBJETIVOS PARTICULARES

Desarrollar una plataforma de simulación para la operación de una grúa viajera.

Desarrollar una Interfaz Gráfica de Usuario (GUI) que permita un mejor manejo

de una grúa viajera.

Page 12: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

11

JUSTIFICACIÓN

Actualmente en la mayoría de los sistemas electrónicos y mecánicos es común el

uso de una computadora dentro del proceso de control. Esto es así, porque el software,

más que el hardware, permite hacer cualquier ajuste a los parámetros del sistema con el

fin de obtener una respuesta deseada. Además, las computadoras también pueden efectuar

funciones de supervisión, como la programación de numerosas aplicaciones requeridas,

también el uso de estas computadoras nos permiten analizar las acciones o tareas que se

pretenden realizar por medio de una simulación y así analizar el comportamiento del

sistema o proceso.

Los procesos tecnológicos avanzados proporcionan nuevas oportunidades en la

industria. Cada día se pueden encontrar procesos de producción más rápidos y eficaces.

En particular, para permanecer competitivo en el mercado actual son requeridos procesos

de flujo en línea eficientes.

Tradicionalmente, las grúas viajeras han sido usadas por personal capacitado para

mover manualmente materiales desde una locación a otra. El movimiento realizado

manualmente de cargas pesadas por largas distancias consume mucho tiempo y es muy

ineficiente. Por lo tanto, las tasas de producción pueden ser afectadas por este

desplazamiento lento e inexacto de las materias primas o los artículos fabricados, por

estas razones la creación de una interfaz gráfica de usuario nos permite una mejora en la

manipulación de la grúa viajera.

Por otra parte, existe una gran variedad de aplicaciones industriales donde es

necesario trasladar cargas en áreas en las cuales se dispone espacios muy pequeños. En

estas, un control de posición preciso de la carga llega a ser crucial. En algunas otras

aplicaciones el inicio o paro repentino de una grúa viajera causa que la carga se balancee

de una manera descontrolada, y como consecuencia de estas oscilaciones se puede dañar

la carga transportada, los objetos que estén cerca del área de trabajo e incluso elementos

de la propia grúa.

De mayor importancia, las cargas que se balancean constituyen un riesgo para la

seguridad del personal de la planta. Aún para operadores de grúa capacitados no siempre

es posible limitar adecuadamente el balanceo de la carga. Por ello, se hace necesario dotar

de elementos a las grúas que permitan un mejor control y monitoreo de la carga para

evitar esas posibles fallas.

Page 13: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

12

INTRODUCCIÓN

En el presente trabajo se desarrolla y diseña una interfaz gráfica que nos permita

la simulación del desplazamiento de una grúa para poder comprender mejor el

comportamiento de ésta.

Éste trabajo se deriva de el proyecto de investigación con título “Monitoreo y

Control de la posición de una grúa viajera”, en el cual se identificaron las condiciones

necesarias para el desplazamiento de una grúa viajera para realizar una interfaz gráfica.

En éste trabajo se describen los componentes principales que dan forma a la

interfaz diseñada, así como el código fuente de algunos de estos componentes, con el fin

de introducir al lector en el funcionamiento de dicha interfaz.

La metodología empleada para el diseño de esta interfaz fue de condicionales

para describir la acción del desplazamiento de la grúa, y para el desarrollo de la interfaz

se utilizó Microsoft Visual Basic 6.0 como lenguaje de programación, éste trabajo se

limita al diseño de la interfaz para la simulación, así como la programación de la misma.

Page 14: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

13

ANTECEDENTES

Grúas

Las primeras grúas fueron inventadas por los antiguos Griegos, accionadas por

hombres o animales de carga, como burros. Estas grúas eran utilizadas para la

construcción de edificios altos.

Grúas más grandes fueron desarrolladas más adelante, empleando el uso de

poleas, permitiendo la elevación de pesos más pesados. En la alta edad media, las grúas

en los puertos, fueron introducidas para cargar y para descargar la mercancía los barcos y

sirvieron como ayuda en su construcción algunas fueron construidas en torres de piedra

para dar fuerza y la estabilidad adicional. Las primeras grúas se construyeron de madera,

pero con la llegada de la revolución industrial, el hierro fundido y el acero asumieron el

control.

Por muchos siglos la energía fue suministrada por el esfuerzo físico de hombres y

animales, aunque en molinos de agua y de viento se manejaba por energía natural

concentrada. La primera energía mecánica fue proporcionada por motores de vapor, la

primera grúa de vapor fue introducida en el siglo XVIII, al XIX. Las grúas modernas

utilizan generalmente, los motores de combustión interna o los sistemas de motor

eléctrico e hidráulicos para proporcionar una capacidad de elevación mucho mayor que

previamente era imposible, aunque las grúas manuales todavía se utilizan donde es poco

rentable disponer de energía.

Las grúas existen en una enorme variedad de formas, cada una adaptada a un uso

específico. Los tamaños se extienden desde las más pequeñas grúas de horca, usadas en el

interior de los talleres, a las grúas de torre, usadas para construir edificios altos, hasta las

grúas flotantes, usadas para construir aparejos de aceite y para rescatar barcos encallados.

Page 15: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

14

Interfaz gráfica de usuario

El origen de su nacimiento está en la búsqueda de un método de interacción

amigable con los ordenadores que dejaron atrás la interfaz de línea de comandos (Marrero

Expósito, C. 2006). La repercusión que ha tenido su descubrimiento sobre la computación

informática se ha traducido en muchos beneficios para aquellos individuos y empresas

que han actuado con astucia aprovechando y explotando los hallazgos propios y ajenos.

Poseer la interfaz, es de algún modo, tener una herramienta poderosa de control

sobre las personas que la utilizan. Es poder para definir los modelos de interacción,

definir los signos que intervendrán y por lo tanto tendrán que ser aprendidos por el

“usuario”. Es al fin y al cabo, una herramienta política con la que se puede limitar o

dirigir las posibilidades de acción del usuario sobre el sistema informático.

La interfaz gráfica como artefacto tecnológico, tiene una historia que contar: nace

en el año 1973 en el centro de investigación Xerox Alto, donde se partió con el objetivo

básico de encontrar un modelo óptimo de interacción persona-ordenador, pasa por un

proceso de eclosión y de madurez donde se definen sus elementos básicos, para acabar

convirtiéndose en un producto de consumo estético dentro de los sistemas interactivos,

donde la interfaz más allá de un medio de interacción óptimo, se transforma en un objeto

inteligente abierto a los procesos de personalización por parte del usuario.

El primer periodo está marcado por la investigación y la búsqueda de un

paradigma de interacción definitivo y óptimo, que sustituye la práctica, pero compleja,

interfaz de línea de comandos.

Ya desde los años cuarenta, se había trazado de forma teórica, modelos de

ordenadores personales que debían servir para almacenar, editar y compartir información

de forma sencilla. Estos primeros años están marcados por los pioneros en la

investigación, los cuales trataron de dar forma a la interfaz gráfica, y por extensión a un

sistema operativo óptimo que permitiese una interacción amigable entre las personas y los

ordenadores.

En el año 1973, de mano del centro de investigación Xerox Parc, nacería el

primer ordenador que incluiría la primera interfaz gráfica de la historia, la intención por

parte de Xerox fue la de desarrollar un sistema informático lo suficientemente pequeño y

transportable con capacidad para ser ubicado en una oficina. Debería tener capacidad para

poder manejar un sistema operativo con interfaz gráfica y poder compartir información de

Page 16: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

15

forma sencilla. Poseía una interfaz gráfica rudimentaria en blanco y negro, con la que se

podía interaccionar mediante un ratón. Los botones serían representados a través de

formas textuales, de un modo muy simple. La interfaz gráfica no presentaba elementos

icónicos, ni pestañas, ni barras de desplazamiento en la navegación de la información.

En el año 1981, el ordenador Xerox Star 8010 se podría considerar como el

primer ordenador que introduce una interfaz gráfica de usuario incluyendo y aplicando la

metáfora del escritorio. De aquí partiría la idea de convertir al ordenador en una máquina

apta para ser usada como medio de edición y publicación de contenidos, interés

primordial de la empresa Xerox, especializada en sistemas de impresión. Fue el primero

en incluir un sistema de ventanas totalmente contemporáneo como vienen incorporadas

en las interfaces actuales, siendo posible sobreponer unas ventanas a otras y manejar

múltiples elementos en el escritorio de trabajo.

El segundo periodo de la evolución histórica de las interfaces gráficas está unida

a la revolución de los ordenadores personales surgida en el año 1981. Para la interfaz

gráfica, este período significa su implementación definitiva en los hogares y oficinas de

trabajo.

Por un lado Apple acabaría definiendo el modelo incluido en su MAC OS, y por

otro lado, el modelo de Windows quedaría definitivamente desarrollado al final de este

periodo por la empresa Microsoft, ambos inspirados y herederos del modelo de

interacción WIMP desarrollado en el Xerox Parc.

Los principales protagonistas de este periodo serán IBM, Microsoft, Apple y el

proyecto de software libre GNU/LINUX. Cada una de estas empresas tuvo un papel en la

evolución de la interfaz y cada una hizo sus aportaciones personales definiendo los

paradigmas de interacción actuales disponibles en cualquier dispositivo interactivo.

La ampliación de cuotas de mercado de mano de IBM, hizo posible la necesaria

colaboración entre ésta, y la empresa Microsoft, la cual adaptaría su sistema operativo

MS-DOS a una interfaz gráfica de usuario para operar sobre ordenadores IBM en el año

1985. Este sistema operativo era Windows 1.0. Su interfaz gráfica trae incluida un

administrador de archivos, una calculadora, un calendario, un reloj, un block de notas, y

un emulador de terminal (antiguo Interfaz de línea de comandos).

Las interfaces de estas primeras versiones de Windows, presentan un aspecto

rudimentario, muy alejado del aspecto gráfico actual. Se hace uso muy limitado de

Page 17: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

16

iconografía, estando caracterizada por la ausencia de representación de iconos en los

archivos, haciendo imposible asociar archivos y aplicaciones.

El sistema operativo windows 95 fue lanzado por Microsoft en octubre del año

1995. Este sistema operativo significo el inicio del imperio Microsoft en el mercado del

software informático. Microsoft consiguió integrar en Windows 95, el sistema operativo

MS-DOS con una interfaz gráfica de forma coherente. Windows 95 tiene una clara

orientación a redes, por lo que vendrá integrado con el software Internet Explorer, que

sustituirá al gestor de archivos dispuesto anteriormente. Un cambio importante que

introdujo este sistema operativo fue convertir la interfaz inicial orientada a aplicaciones,

en una interfaz orientada a objetos.

Otra novedad que introdujo la interfaz gráfica de Windows 95 es el menú de

inicio, al que han sido asociados, en forma de árbol, el grueso de las aplicaciones,

archivos y funciones del sistema. El botón de inicio será uno de los grandes hallazgos de

Microsoft que mantiene actualmente en todas las interfaces introducidas con sus sistemas

operativos.

Seguido de La interfaz gráfica del sistema operativo BeOS tiene un aspecto

gráfico acabado y bien desarrollado. BeOS introduce de forma elegante todos aquellos

hallazgos realizados hasta el momento.

GNOME es el nombre de la interfaz gráfica desarrollado originalmente por Javier

de Icazas y Federico Mena, ambos mexicanos, y fundadores de la fundación Genome, la

cual se creó al igual que el proyecto KDE, con el objetivo de dotar de un entorno gráfico

de escritorio y una plataforma de desarrollo de aplicaciones totalmente libres en sistemas

operativos GNU/LINUX.

El sistema operativo MAC OS X fue lanzado con los ordenadores Apple

Macintosh en el año 2001, y su arquitectura está basada en tecnología Unix al contrario

de sus versiones anteriores. El primer elemento diferenciador que introduce la interfaz de

Macintosh es una barra de tareas especial, también llamada Dock, ya introducido por la

interfaz de NEXTSTEP. Este elemento aparece posicionado en la parte inferior central

del escritorio, y mantiene accesos directo a las aplicaciones más usadas en el sistema a

través de iconos.

El sistema operativo Windows XP fue lanzado por Microsoft en el año 2001 y

pertenece a la familia de sistemas operativos NT desarrollados con la intención de

Page 18: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

17

disponer de una alternativa de sistema operativo capaz de competir en calidad con los

sistemas Unix, muy superiores a los primeros Windows en su arquitectura.

Windows Xp se preocupó por adaptar la interfaz al perfil del usuario. Ahora

incluye además procesos automatizados, para actuar con “inteligencia” en algunas áreas

de la interfaz gráfica como ocurre en la barra de tareas, aglutinando bajo un mismo icono

varias ventanas abiertas de la misma aplicación, ahorrando espacio, pero volviendo del

mismo modo más complejo la interacción con la información.

Definición etimológica y conceptual.

El concepto de interfaz es un concepto amplio que ha sido definido, según el

ámbito de conocimientos, desde varios puntos de vista: desde la biología (interfase), ha

sido definida como la “capa” de un organismo que separa su interior del exterior, desde la

electrónica y las telecomunicaciones, se ha definido como “puerto a través del que se

envían o reciben señales desde un sistema o subsistemas hacia otros”. En química interfaz

es la superficie entre dos fases distintas en una mezcla heterogénea”.

Si se verifica la etimología de la palabra interfaz encontramos una palabra

compuesta, por dos vocablos:

Inter proviene del latín inter, y significa, “entre” o “en medio”, y Faz proviene del

latín facĭes, y significa “superficie, vista o lado de una cosa”. Por lo tanto una traducción

literal del concepto de interfaz atendiendo a su etimología, podría ser “superficie, vista, o

lado mediador”.

En el contexto de la interacción persona-ordenador, hablamos de interfaz de

usuario, para referirnos de forma genérica al espacio que media la relación de un sujeto y

un ordenador o sistema interactivo. La interfaz de usuario, es esa “ventana” de un sistema

informático, que posibilita a una persona interactuar con él.

Cuando se habla de interfaz gráfica de usuario, el concepto es aún más específico

en cuanto que interfaz de usuario, al contrario que el concepto de “interfaz” tiene una

localización determinada y definida. Si el interfaz etimológicamente supone la cara o

superficie mediadora, el interfaz gráfico de usuario, supone un tipo específico de interfaz

que usa metáforas visuales y signos gráficos como paradigma interactivo entre la persona

y el ordenador.

Page 19: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

18

El concepto de interfaz gráfico, nos da pistas sobre el modelo de interacción y la

tipología de signos que contiene esta superficie mediadora.

Definición de interfaz gráfica.

Una interfaz gráfica es cualquier medio por el cual uno puede interactuar con una

computadora a través de algún tipo de software gráfico. Comúnmente, esto se consigue a

través del control mediante el teclado y el mouse de cursores, menús, ventanas, íconos y

cajas de diálogo, pero puede tomar cualquier forma imaginable. Gran parte del trabajo

que se realiza en relación con el procesamiento digital de señales (DSP), el diseño de

instrumentos interactivos, los sistemas para la interpretación en tiempo real y la síntesis

gráfica (graphic synthesis) se ocupa del diseño de interfaces gráficas innovadoras.

Problemática.

Nielsen (1997) expone que lo habitual es que un usuario no lea con detalle ni

siquiera una mínima parte de los textos de una página web. En su lugar, y por economía

de tiempo, el usuario se limita a ojear la página. Es decir, el usuario realiza un rápido

barrido visual de cada página buscando elementos que llamen su atención, lo mismo pasa

con una interfaz gráfica si ésta no es diseñada con los elementos necesarios que llamen la

atención del usuario

Si nos acercamos al problema desde el lado del sujeto, entonces sí podríamos

entender de alguna manera la afirmación de que una interfaz gráfica pueda ser un método

de interacción con un sistema.

Cuando hablamos de la interfaz, hablamos del proceso mediante el cual, un

sujeto, se acerca a un sistema tecnológico con el que interacciona a través de los signos

inscritos en dicha superficie. El proceso interactivo, requiere de una serie de “requisitos”

cognitivos básicos por parte del sujeto, como percibir, decodificar, memorizar, decidir y

navegar a través de la interfaz gráfica. Desde esta perspectiva, la interfaz sólo cobraría

sentido, en cuanto el sujeto es capaz de “comprender” el significado y el proceso de

interacción, y sus facultades cognitivas son capaces de interpretar adecuadamente los

signos que se producen sobre la interfaz y usarlas adecuadamente.

De acuerdo con J. Spolsky (2000) cuando se tiene una interfaz gráfica, ésta deber

ser lo más fácil de usar ya que los usuarios no tienen el manual y si lo tuvieran no lo

leerían, por tanto la interfaz gráfica debe ser llamativa y fácil de utilizar.

Page 20: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

19

CAPÍTULO 1

DESCRIPCIÓN DE LA GRÚA VIAJERA

Objetivo: Especificar los elementos que componen una grúa viajera, y las características

que esta tiene.

Page 21: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

20

1. DESCRIPCIÓN DE LA GRÚA

Las grúas viajeras son máquinas empleadas para la elevación y el transporte,

aunque no es común su uso en todos los ámbitos. Por lo general, son aparatos destinados

al transporte de materiales y cargas en desplazamientos verticales y horizontales en el

interior y exterior. Se les utiliza en procesos que implican almacenamiento o bien en todo

lo relativo a la fabricación.

En lo que respecta a la constitución de estas máquinas, están compuestas de dos

vigas transversales a las vigas principales y de uno o dos pares de vigas laterales

(testeros), longitudinales en dirección a la nave y que sirven de sujeción a las que se

encuentran transversales y en donde van las ruedas como se puede ver en la siguiente

figura.

Figura 1.1 Estructura de una grúa tipo puente (grúa viajera).

También forma parte de la estructura general de la grúa viajera un carro

automotor, que está lo suficientemente capacitado como para transitar encarrilado a lo

largo de las vigas transversales de la estructura de la grúa.

El carro tiene que soportar sobre sí un polipasto. Así se denomina a un

mecanismo que se emplea para levantar cargas o moverlas, pero con un agregado extra.

El polipasto puede tener una gran ventaja mecánica, ya que levanta o mueve cualquier

peso, pero invirtiendo un mínimo de esfuerzo (Figura 1.2).

Page 22: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

21

Figura 1.2 Carro de la grúa sobre vigas transversales.

El cableado de izamiento del polipasto se descuelga entre las dos partes de la

estructura. Por esta razón, al combinarse el movimiento de la estructura con los

movimientos del carro lo que se origina es la posibilidad de proceder sobre cualquier

punto de una superficie que haya sido delimitada por la extensión de los rieles.

Estos rieles de desplazamiento (vigas transversales) se encuentran casi en el

mismo plano horizontal en el que está el carro de la grúa viajera y, además, tienen un rol

más que vital porque es su propia altura la que va a determinar la altura máxima con la

que se podrá operar.

Los componentes de una grúa tipo puente (Figura 1.3), desde el punto de vista de

seguridad se consideran tres partes diferenciadas:

El puente: se desplaza sobre las vigas principales a lo largo de la nave, y este

tiene sobre si el carro con el polipasto.

El carro: se desplaza sobre las vigas transversales o puente, y recorre el ancho de

la nave.

El gancho: va sujeto del carro mediante el cable principal, realizando los

movimientos de elevación y descenso de las cargas.

Page 23: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

22

Figura 1.3 Componentes

La grúa tipo puente realiza tres movimientos y estos son:

Traslación del puente: este se realiza a lo largo de las vigas principales, es decir

a lo largo de la nave.

Traslación del carro: este se realiza desplazando el carro a lo ancho de la nave

sobre las vigas transversales, es decir a lo largo del puente.

Elevación y Descenso: este movimiento se realiza por efecto del motor que

sujeta el gancho con la ayuda de un cable principal y tiene como efecto subir o

bajar la carga a trasladar.

1.1 Características de las grúas tipo puente.

En la clasificación de las grúas tipo puente existen una serie de datos básicos

dependiendo del tipo de grúa.

1.1.1 Velocidades de traslación.

Es necesario que exista una relación entre la velocidad de traslación final y los

valores de aceleración y desaceleración correspondientes, para garantizar un servicio

eficaz de la grúa tipo puente, el tiempo de traslación a velocidad plena debe ser entre 85%

de la marcha total.

Page 24: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

23

1.1.2 Motores de accionamiento.

El tipo de motor a utilizar en el transporte, será según el tipo de empleo para el

que se vaya a utilizar la grúa tipo puente, estos motores básicamente son:

Motores de corriente continua. Con su correspondiente equipo de regulación de

velocidad. Por lo general este tipo de motores son caros, muy delicados y necesitan

mucho mantenimiento, por estas razones su existencia en ésta aplicación está muy

limitada.

Motores de corriente alterna. El motor asíncrono de rotor bobinado, es el más

utilizado en la aplicación de las grúas tipo puente, ya que la regulación de la velocidad se

da por resistencias, que de manera en que estas se van eliminado o desconectando, la

velocidad del motor aumenta.

Sin embargo, hay dos tipos de estructuras según la grúa viajera a la que se hace

referencia. Por ejemplo, aquellas que se encuentran al aire libre tienen una estructura que

está fundamentalmente destinada para dicha sustentación como se muestra en la siguiente

figura.

Figura 1.4 Grúa tipo puente al aire libre.

En cambio, en el caso de las máquinas interiores, ésta puede ser anexada o ya

estar incorporada desde un comienzo, como se muestra en la Figura 1.5.

Page 25: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

24

Figura 1.5 Grúa tipo puente en el interior de una nave.

La operación de la grúa viajera se puede hacer de distintas maneras.

Desplazable a lo largo del puente.

Permite guiar la carga manualmente y permite mantener una distancia de

seguridad entre el conductor y la carga.

Mando suspendido del carro.

El conductor está próximo a la carga y puede guiarla manualmente, por lo general

este tipo de operación se utiliza en trabajos de mantenimiento y montaje.

Mando suspendido de un punto fijo del puente.

El mando se encuentra en un extremo del puente.

Mando por radio.

Se utiliza cuando el conductor no puede acompañar a la grúa, por ejemplo

centrales de energía nuclear.

1.2 Manipulación de grúas tipo puente.

Para llevar a cabo una manipulación segura de las grúas tipo puente y evitar

riesgos que se derivan de una incorrecta manipulación e imprudencias cometidas por los

operarios, se consideran las siguientes indicaciones:

Page 26: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

25

Antes de elevar la carga, realizar una pequeña elevación para comprobar su

estabilidad y en caso de carga inclinada descender y realizar un eslingado que asegure

una carga estable.

Elevar la carga siempre con el carro y el puente alineados con la misma, tanto

horizontal como verticalmente para evitar balanceos. La carga se debe encontrar

suspendida horizontalmente para un desplazamiento seguro.

El operario debe acompañar siempre a la carga para mayor control de las

distancias y observar en todo momento la trayectoria de la misma, para evitar golpes

contra obstáculos fijos.

No colocarse nunca debajo de la carga suspendida, ni transportarla por encima de

trabajadores; la carga siempre debe llevarse por delante.

La colocación de los elementos de elevación como cadenas y eslingas se deben

colocar asegurando un perfecto amarre de la carga, tarea que lleva a cabo el operario.

1.3 Especificaciones de los Elementos de la Grúa.

Las especificaciones de la grúa que se propone para el desarrollo de este trabajo

tomadas del proyecto de investigación Monitoreo y control de posición de una grúa

viajera (Torres Rodríguez, I.C. 2006, pp. 10-15) son:

Masa máxima de la carga: 1500 Kg.

Desplazamiento máximo: 200 m.

Masa de la grúa: 500 Kg.

Longitud máximo del cable (malacate): 3 m.

Radio de las ruedas: 10 cm.

1.4 Especificaciones del Motor de Inducción.

Con base a las especificaciones de la grúa viajera, se utilizó como elemento

motriz un motor de inducción tipo jaula de ardilla de 5 HP, trifásico, 60 Hz, 4 polos, 220

V, cuyos parámetros son:

0.1062sr

Page 27: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

26

´ 0.0764rr

5.834mX

0.2145lsX

´ 0.2145lrX

22.8J kgm

La velocidad nominal de la máquina es de 188 RPM a un deslizamiento de 0.0248

y la corriente nominal es de 11 A.

1.5 Especificaciones de la Caja de Engranes.

Generalmente, en las aplicaciones de motores eléctricos se usan cajas de

engranes. Estas, son comúnmente usadas para aumentar el par de torsión del motor y

disminuir su velocidad. En las cajas reductoras la potencia del motor se ve reducida al ser

multiplicada por un cierto factor de eficiencia.

Cuando se utilizan las cajas reductoras la relación del par torsional es

caja

em

t

TT

i

,

(1.1)

es decir

caja em tT T i (1.2)

donde ti es la relación de transmisión y cajaT el par torsional máximo proporcionado por

la caja de engranes

El par torsional máximo se obtiene de

caja a cT T T , (1.3)

Page 28: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

27

siendo aT el par torsional debido a la aceleración y cT el par debido a las fuerzas de

oposición constantes como la fricción.

Por otra parte, la velocidad mecánica del rotor se obtiene mediante

mr t cajai (1.4)

O bien

mrcaja

ti

(1.5)

donde caja es la velocidad angular máxima determinada por

caja

x

r

(1.6)

siendo x la velocidad máxima de la carga y r el radio del elemento de transmisión.

En este trabajo se utiliza un motor de inducción cuyo par es de 20.373 Nm y su

velocidad de 188.495 /rad s . Se seleccionó una caja de engranes de 3:1, obteniéndose

de ella un par de 407.46 Nm y una velocidad de 62.83 /rad s , cuyos valores se ajustan

a los requerimientos de la grúa viajera debido a la carga máxima a transportar y a la

distancia de desplazamiento.

Page 29: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

28

CAPÍTULO 2

MODELO MATEMÁTICO DE LA GRÚA

VIAJERA

Objetivo: Describir el comportamiento de la grúa viajera por medio de un modelo

matemático.

Page 30: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

29

2. MODELO MATEMÁTICO DE LA GRÚA VIAJERA

En este capítulo se presenta el modelo matemático del sistema de la grúa viajera

de dos grados de libertad y se propone una trayectoria que permita el movimiento de la

grúa viajera con una oscilación limitada en la carga, los cuales son necesarios para

simular el esquemas de control propuesto tomados del proyecto de investigación

“Monitoreo y control de posición de una grúa viajera” con no. de registro SIP

20091276 (Torres Rodríguez, I.C. 2006, pp. 10-15).

El control de la grúa viajera se divide en dos áreas principales, la planeación del

movimiento (o trayectoria) y el control del movimiento, las cuales conjuntas logran que

la grúa viajera siga un camino predeterminado.

2.1 Modelo de la Grúa Viajera.

Una grúa viajera de dos grados de libertad es un equipo industrial cuyo fin es

manipular una carga desde y hacia cualquier punto en un plano formado por los ejes

vertical y horizontal. En otras palabras, una grúa viajera tiene las capacidades de levantar

y desplazar transversalmente una carga.

En esta al igual que sucede con los seres humanos, para ejecutar cualquier tarea

se debe analizar cuáles serán los movimientos necesarios y cuál será la fuerza que se le

aplicará. El modelo dinámico precisamente analiza esta situación y expresa las fuerzas o

pares requeridos por los actuadores para lograr el movimiento deseado en términos de

posición, velocidad y aceleración a lo largo de la trayectoria. Esto permite evaluar

vibraciones, sobre voltajes, etc. que llevan a movimientos erráticos o descontrolados.

El modelo plantea una serie de ecuaciones, cuya resolución nos permite obtener

la información necesaria que será enviada hasta la etapa de control de la grúa viajera. Este

control envía la señal de voltaje o corriente a la fuente de potencia de la grúa, encargada

de convertirla en la potencia adecuada que necesita el motor para realizar la función

asignada. Conocer esta información permite que las etapas de control, de potencia, y el

motor de inducción tengan un mejor funcionamiento y se desgasten menos.

2.2 Descripción del Método de LaGrange.

Para conocer el modelo matemático del sistema de la grúa viajera se utilizó el

método de Lagrange. Este método se basa en los conceptos de coordenadas generalizadas

y el lagrangiano (Katsuhiko Ogata, 1992) (Craig, J. 1989).

Page 31: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

30

Las coordenadas generalizadas de un sistema, son un conjunto de coordenadas

independientes que se necesita para describir completamente el movimiento del sistema.

El número de coordenadas generalizadas necesario para describir el sistema es igual al

número de grados de libertad.

A su vez, el lagrangiano L es la diferencia entre la energía cinética cE y la

energía potencial pE de un cuerpo en movimiento en un punto dado de su trayectoria

L Ec Ep . La acción o principio de Hamilton es la integral temporal del

lagrangiano sobre una trayectoria. A cada trayectoria imaginable corresponde un valor

numérico de acción.

2

1

,t

i it

I L q q dt (2.1)

donde:

I Acción o principio de Hamilton

,i iq q Coordenadas generalizadas

L Lagrangiano

Las ecuaciones diferenciales que describen las posibles trayectorias de un sistema

requieren que la acción esté en un valor mínimo o máximo, con el objeto que la

diferencial funcional de la acción se anule (Katsuhiko Ogata, 1992):

0S (2.2)

Esta condición da lugar a las ecuaciones de Euler-Lagrange, la cual

aplicada al método lagrangiano proporciona las ecuaciones de movimiento para el

sistema:

0 1,2,....,i i

d L Li n

dt q q

(2.3)

Page 32: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

31

La ecuación de Euler-Lagrange minimiza la acción reproduciendo justamente la

ecuación de movimiento de Newton (Cardona, Clos, 2000).

2.3 Modelo Dinámico de la Grúa Viajera.

Para realizar el estudio presentado en este trabajo se muestra el modelo de

dinámica de la grúa considerando las siguientes premisas, con la cuales se reduce la

complejidad del modelo:

1. El momento de inercia de la carga es ignorado.

2. La carga puede ser considerada como una masa puntual.

3. El cable es considerado rígido y con masa despreciable.

4. El movimiento de la carga se supone restringido al plano vertical.

Estas premisas, determinan el tipo de comportamiento dinámico que se utilizan

en este trabajo, aún para el caso en que el momento de inercia de la carga no puede ser

ignorado porque su magnitud es tal que las fuerzas debidas a la aceleración angular de la

carga son muy grandes. Sin embargo, el modelo sigue siendo válido si se proponen

trayectorias de seguimiento suficientemente suaves (R.L. Norton, 1990).

Por otra parte, la carga se puede considerar como de masa puntual siempre y

cuando la carga tenga una distribución homogénea y simétrica de la masa y que el punto

de levante sea el adecuado, es decir que este alineado con el eje vertical del centro de

gravedad de la carga y ligeramente por encima de éste.

Asimismo, el considerar al cable como de masa despreciable es válido ya que

generalmente la masa del cable es muy pequeña con relación a la masa de la carga y la

masa del carro de la grúa. La consideración de que el cable es rígido es realista para

algunos materiales (muchos de ellos de uso actual en las grúas) cuya deformación elástica

es pequeña. Por último, el movimiento se encuentra restringido al plano vertical ya que

ese es el propósito de análisis de este trabajo.

El movimiento en una tercera dimensión se considera como parte de otro análisis.

Perturbaciones externas (viento, etc.) que puedan provocar un movimiento fuera del plano

vertical, no son consideradas. Dadas las razones anteriores podemos concluir que es

factible analizar la dinámica de una grúa real bajo las suposiciones anteriores.

La grúa viajera tiene dos actuadores. Un actuador controla la posición del carro

(trolley) en la dirección horizontal, mientras que el otro es responsable del

Page 33: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

32

desplazamiento del cable (desplazamiento vertical de la carga). Los dos grados de libertad

anteriores, (la posición del carro y la longitud del cable) son totalmente actuados. Sin

embargo, la grúa tiene un tercer grado de libertad no actuado, el cual es el ángulo

formado por el cable con respecto al eje vertical. Este último tiene que ser considerado

con el propósito de determinar la posición de la carga y de lograr un control exacto de la

posición de la misma, evitando la aparición de balanceos indeseables. Por esta razón, el

sistema puede ser considerado como subactuado, es decir, cuenta con un actuador menos

que los grados de libertad.

Un diagrama esquemático de una grúa viajera de dos grados de libertad se

muestra en la Figura 2.1

Figura 2.1 Diagrama del Sistema Grúa Viajera

Las variables que se utilizan durante el desarrollo del modelo de la grúa viajera

son:

T : Tensión del cable.

x : Posición del carro (grúa).

x : Velocidad del carro.

l : Longitud del cable (malacate).

: Ángulo del cable con respecto al eje vertical.

: Velocidad angular.

Carro

Malacate

m

mgZ

X

U1

U2

x

M

l

Page 34: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

33

1u : Fuerza aplicada al carro.

2u : Par aplicado al malacate.

Por otra parte los parámetros del sistema son:

gM : Masa de la plataforma (del carro).

m : Masa de la carga.

r : Radio de la rueda.

Como el sistema tiene dos grados de libertad. Las coordenadas generalizadas son

yx .

La energía cinética de la plataforma (carro) es

2

1

1

2g gEc M v

(2.4)

donde 1v x , obteniéndose como

21

2g gEc M x

. (2.5)

A su vez, para encontrar la energía cinética del péndulo, se hace uso de la

longitud del cable l y el ángulo del cable para encontrar la posición del péndulo, esto

es

cos

x

y

p l sen

p l

(

(2.6)

Para encontrar las velocidades, se deriva la ecuación (2.6), obteniendo

Page 35: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

34

cos

cos

x

y

dv lsen l

dt

dv l l sen

dt

.

(2.7)

La velocidad total en el eje x, es

cosxtotalv x l , (2.8)

Por lo tanto, el vector de velocidad del péndulo es

cosp

x lv

l sen

,

(2.9)

Desarrollando la ecuación (2.9) se tiene

2 2 2 22 cospv x l x l . (2.10)

La energía cinética del péndulo es

2 2 212 cos

2pEc m x l x l

. (2.11)

Y la energía cinética del sistema está dada por:

2 2 2 21 12 cos

2 2g p gEc Ec Ec M x m x l x l (2.12)

La energía potencial del sistema es g pEp Ep Ep , la energía potencial de la

grúa es cero y la energía potencial del péndulo es

,

Page 36: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

35

cospEp mg l l (2.13)

donde g es la gravedad.

Por lo tanto, considerando a cE y a la pE , encontramos el lagrangiano (2.14)

para determinar las ecuaciones de movimiento de la grúa viajera.

2 2 2 21 12 cos cos

2 2gL Ec Ep M x m x l x l m g l l

(2.14)

Aplicando las ecuaciones de LaGrange a la ecuación, obtenemos:

0

0

d L L

dt x x

d L L

dt

(2.15)

De esta manera tenemos que la L

x

de la ecuación (3.15) es:

2 21 1cos

2 2

cos

g

g

L dx dx dxM m ml

x dx dx dx

M x mx ml

(2.16)

Ahora se obtiene la derivada de la ecuación anterior

2

cos

cos

g

g

dd L dxM m ml

dt x dt dt

M m x ml sen

(2.17)

Page 37: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

36

Aplicando nuevamente las ecuaciones de lagrange a la ecuación (2.14),

obtenemos

22

2

12 cos

2

cos

L d dm l x l

d d

ml x ml

(2.18)

Obteniendo la derivada de la ecuación anterior

2

2

cos

cos

d xd L dml ml

dt dt dt

ml x x sen ml

(2.19)

Asimismo, se obtiene la L

de la ecuación (3.15):

cos cosd dLmlx mgl

d d

mlx sen mglsen

(2.20)

Por lo tanto, las ecuaciones de movimiento de la grúa viajera son:

2

1

2

cos

0 cos

gu M m x ml sen

ml x x sen ml ml x sen m g l sen

(2.21)

Despejando a x y a de la ecuación (2.21), que corresponde a la aceleración de

la grúa y a la aceleración del cable que sostiene a la carga, respectivamente:

Page 38: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

37

2

1 cos

cos

g

u ml senx

M m

x x sen x sen gsen

l

(2.22)

Asimismo, considerando a la aceleración de la grúa y la masa total de la grúa, se

obtiene la fuerza total ( Lu ) total de la grúa, por lo tanto se tiene que:

L gu x M m (2.23)

Las ecuaciones (2.22) y (2.23) se utilizan para realizar la simulación de la grúa

junto con el control vectorial indirecto.

2.4 Comportamiento típico de una Grúa Viajera.

A continuación se muestra la simulación efectuada en Matlab simulink de la grúa

viajera, en donde se muestran las trayectorias típicas de posición, velocidad y fuerza

necesarias para que el movimiento de la grúa viajera sea suave

Como se muestra en esta figura 2.2, la trayectoria de posición va

incrementándose de una forma suave, esto es, no hay cambios abruptos en la trayectoria

de posición, esto con el fin de evitar oscilaciones bruscas en la carga.

Figura 2.2 Posición de referencia de la grúa viajera en m.

Page 39: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

38

La figura 2.3 muestra el comportamiento de la velocidad requerida por la grúa,

como se observa, la velocidad se va incrementando en el intervalo de 0 s a 10 s, cuando

se llega a la velocidad máxima en 10 s, la velocidad de la grúa va disminuyendo para que

esta se pare.

Figura 2.3 Aceleración de referencia de la grúa viajera en m/s2.

En la figura 2.4 se muestra la fuerza aplicada al carro para que la grúa viajera

llegue a la posición preestablecida. Cabe señalar que las trayectorias de las Figuras son

para un desplazamiento de 10 m en un tiempo de 14.3 s. Asimismo, la fuerza de la Figura

es cuando se considera una carga de 10 kg.

Figura 2.4 Fuerza aplicada a la grúa viajera en N.

Page 40: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

39

CAPÍTULO 3

DISEÑO DE LA INTERFAZ GRÁFICA DE

LA GRÚA VIAJERA

Objetivo: Diseñar una Interfaz Gráfica de Usuario que permita simular el

comportamiento de una grúa viajera, y que sea de fácil operación por el usuario.

Page 41: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

40

3. DISEÑO DE LA INTERFAZ GRÁFICA DE LA GRÚA

VIAJERA

3.1 ¿Qué se entiende por ambiente Gráfico?

Un ambiente gráfico presenta al usuario elementos de fácil reconocimiento, que

sirven para efectuar todo tipo de operaciones, lo que hace mucho más sencillo el uso de la

computadora personal. Otra característica de un ambiente gráfico es que se basa en el

empleo de un sistema de menús a través de los cuales se identifican y seleccionan

programas, comandos y opciones (Fourier García, M. 1998).

Resulta evidente que es mucho más fácil trabajar al seleccionar y activar iconos o

elementos de un menú, que cuando se tienen que escribir comandos completos que exigen

aplicar rígidas reglas de sintaxis. Es por esto que los ambientes gráficos, así como los

programas de aplicación que corren bajo ellos y siguiendo el mismo formato, son

actualmente la forma de comunicación entre el usuario y la máquina, es decir que son la

interfaz preferida.

En cuanto a los programas de aplicación, es importante subrayar que cuando

siguen el formato de la interfaz gráfica en la que corren, además de tener una

presentación similar en cuanto a composición de pantallas y elementos como iconos,

barras y menús, también permiten el intercambio de secciones de archivos. De esta forma,

si un procesador de palabras y una hoja de cálculo corren en un mismo ambiente gráfico,

parte de una hoja de calcula puede llevarse a un documento de proceso de palabras para

incluirla en un informe; lo mismo se puede hacer con gráficos creados en la hoja de

cálculo.

Una diferencia importante entre trabajar directamente desde el Sistema Operativo

de una computadora personal o hacerlo desde un ambiente gráfico es que en el segundo

caso existen muchas formas diferentes de realizar las diversas operaciones.

Una desventaja de los ambientes gráficos es que exigen mayores capacidades de

memoria, microprocesadores más veloces, monitores de alta resolución y de preferencia a

color, y en general requieren mayores recursos de la computadora. Además, como el

manejo es intuitivo, ocurre muchas veces que el usuario logra hacer ciertas cosas casi por

casualidad, sin saber en realidad como obtuvo determinados efectos, que más tarde tal vez

no logre repetir. Se podría decir que si uno no pone cuidado puede volverse un usuario

“superficial”, experto en obtener las cosas por ensayo y error, sin bases técnicas e

Page 42: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

41

incapaces de actualizarse para adaptarse a los cambios que en este dinámico campo

ocurren continuamente tanto en equipo como en software.

3.2 ¿Qué es Visual Basic?

La palabra "Visual" hace referencia al método que se utiliza para crear la interfaz

gráfica de usuario (GUI). En lugar de escribir numerosas líneas de código para describir

la apariencia y la ubicación de los elementos de la interfaz, simplemente puede arrastrar y

colocar objetos prefabricados en su lugar dentro de la pantalla. Si se ha utilizado alguna

vez un programa de dibujo como Paint, ya tiene la mayor parte de las habilidades

necesarias para crear una interfaz de usuario efectiva (Tiznado, M.A. 2004).

La palabra "Basic" hace referencia al lenguaje BASIC (Beginners All-Purpose

Symbolic Instruction Code), un lenguaje utilizado por más programadores que ningún

otro lenguaje en la historia de la informática o computación. Visual Basic ha

evolucionado a partir del lenguaje BASIC original y ahora contiene centenares de

instrucciones, funciones y palabras clave, muchas de las cuales están directamente

relacionadas con la interfaz gráfica de Windows. Los principiantes pueden crear

aplicaciones útiles con sólo aprender unas pocas palabras clave, pero, al mismo tiempo, la

eficacia del lenguaje permite a los profesionales acometer cualquier objetivo que pueda

alcanzarse mediante cualquier otro lenguaje de programación de Windows.

Basic es un lenguaje muy difundido, porque es fácil de aprender y de utilizar,

además de ser extraordinariamente potente gracias a haber evolucionado enormemente

incorporando múltiples tipos de datos, la posibilidad de crear funciones y procedimientos,

estructuras de control típicas de Pascal o C, orientación a objetos, etc. Gracias a esto,

Visual Basic permite crear estas aplicaciones gráficas de una forma rápida y sencilla.

3.2.1 Antecedentes históricos.

El lenguaje de programación BASIC (Beginner's All purpose Symbolic

Instruction Code) nació en el año 1964 como una herramienta destinado a principiantes,

buscando una forma sencilla de realizar programas, empleando un lenguaje casi igual al

usado en la vida ordinaria, y con instrucciones muy sencillas y escasas. Teniendo en

cuenta el año de su nacimiento, este lenguaje cubría casi todas las necesidades para la

ejecución de programas. Téngase en cuenta que las máquinas existentes en aquella época

estaban estrenando los transistores como elementos de conmutación, los ciclos de trabajo

Page 43: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

42

llegaban a la impensable cifra de 10.000 por segundo y la memoria no pasaba de unos

pocos Kbytes en toroides de ferrita.

La evolución del BASIC por los años 70 fue escasa, dado el auge que tomaron en

aquella época lenguajes de alto nivel como el FORTRAN y el COBOL. En 1978 se

definió una norma para unificar los Basic existentes creándose la normativa Basic

Standard.

Con la aparición de los primeros ordenadores personales, dedicados

comercialmente al usuario particular, allá por la primera mitad de los ochenta, el BASIC

resurgió como lenguaje de programación pensado para principiantes, y muchos de estos

pequeños ordenadores domésticos lo usaban como único sistema operativo (Sinclair,

Spectrum, Amstrad).

Con la popularización del PC, salieron varias versiones del BASIC que

funcionaban en este tipo de ordenadores (Versiones BASICA, GW-BASIC), pero todas

estas versiones del BASIC no hicieron otra cosa que terminar de rematar este lenguaje.

Los programadores profesionales no llegaron a utilizarlo, habida cuenta de las

desventajas de este lenguaje respecto a otras herramientas (PASCAL, C, CLIPPER). El

BASIC con estas versiones para PC llegó incluso a perder crédito entre los profesionales

de la informática.

Las razones para ello eran obvias:

No era un lenguaje estructurado.

No existían herramientas de compilación fiables.

No disponía de herramientas de intercambio de información.

No tenía librerías.

No se podía acceder al interior de la máquina.

Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Tal fue ese abandono por parte de los usuarios, que la aparición del Quick Basic

de Microsoft, una versión ya potente del Basic, que corregía casi todos los defectos de las

versiones pasó prácticamente inadvertida, a no ser porque las últimas versiones del

sistema operativo MS-DOS incluían una versión de Quick Basic algo recortada (Q-Basic)

Page 44: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

43

como un producto más dentro de la amplia gama de ficheros ejecutables que acompañan

al sistema operativo, y aprovecha de él el editor de textos.

Esta versión del popular Basic ya es un lenguaje estructurado, lo que permite

crear programas modularmente, mediante subrutinas y módulos, capaz de crear

programas ya competitivos con otros lenguajes de alto nivel. Sin embargo llegaba tarde,

pues los entornos MS-DOS estaban ya superados por el entorno gráfico Windows.

Sin embargo algo había en el Basic que tentaba a superarse: su gran sencillez de

manejo. Si a esto se le añade el entorno gráfico Windows, el aprovechamiento al máximo

de las posibilidades de Windows en cuanto a intercambio de información, de sus librerías,

de sus drivers y controladores, manejo de bases de datos, etc. el producto resultante puede

ser algo que satisfaga todas las necesidades de programación en el entorno Windows. La

suma de todas estas cosas es Visual Basic. Esta herramienta conserva del Basic de los

años 80 únicamente su nombre y su sencillez, y tras su lanzamiento al mercado, la

aceptación a nivel profesional hizo borrar por fin el "mal nombre" asociado a la palabra

Basic.

Actualmente se está comercializando la versión 6.0 de este producto. Desde su

salida al mercado, cada versión supera y mejora la anterior. Dados los buenos resultados a

nivel profesional de este producto, y el apoyo prestado por el fabricante para la formación

de programadores, Visual Basic se ha convertido en la primera herramienta de desarrollo

de aplicaciones en entorno Windows.

Han existido varias versiones de Visual Basic:

Cuando salió Visual Basic 1.0, Bill Gates los describió como "algo

maravilloso..." y "que cambiaría la forma en que la gente utilizaba Windows".

Visual Basic 2.0 era más rápido y más sencillo de utilizar.

Visual Basic 3.0 incorporó formas sencillas y potentes para acceder a las bases de

datos más potentes.

Visual Basic 4.0 trajo la programación a 32 bits en el entorno Windows 95.

Aunque hubo una versión de Visual Basic 4.0 de 16 bits para Windows 3.x. Pero

hasta ese momento, Visual Basic no compilaba los archivos .EXE a código

máquina, como C y C++. Los programas compilados a código de máquina (como

C++) son mucho más rápidos que los compilados en Visual Basic. Esas versiones

Page 45: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

44

de Visual Basic(de la 1 a la 4) compilaban a código-p. Lo que significaba la

necesitad de realizar una llamada al motor en tiempo de ejecución, retrasando el

tiempo de ejecución del programa.

Es obligado decir sin embargo, que Visual Basic sigue siendo Basic. No se

pueden comparar sus prestaciones con otros lenguajes cuando deseamos llegar al fondo

de la máquina y controlar uno a uno sus registros. No es ese el fin perseguido con VB y si

es necesario llegar a esas precisiones será necesario utilizar otro lenguaje que permita

bajar el nivel de programación, como Visual C++, o realizar librerías (DLL) que lo

hagan. En la mayor parte de las aplicaciones, las herramientas aportadas por VB son más

que suficiente para lograr un programa fácil de realizar y de altas prestaciones. Cuando el

lenguaje no cubre una determinada área, siempre tendremos acceso a las API de

Windows.

3.2.2 Características generales de Visual Basic.

Visual Basic es una herramienta de diseño de aplicaciones para Windows, en la

que estas se desarrollan en una gran parte a partir del diseño de una interfaz gráfica. En

una aplicación Visual Basic, el programa está formado por una parte de código puro, y

otras partes asociadas a los objetos que forman la interfaz gráfica.

Es por tanto un término medio entre la programación tradicional, formada por una

sucesión lineal de código estructurado, y la programación orientada a objetos (OCX).

Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a

uno de esos dos tipos de programación, debemos inventar una palabra que la defina:

Programación Visual.

La creación de un programa bajo Visual Basic lleva los siguientes pasos:

Creación de una interfaz de usuario. Esta interfaz será la principal vía de

comunicación hombre máquina, tanto para salida de datos como para entrada.

Será necesario partir de una ventana (formulario) a la que le iremos añadiendo los

controles necesarios.

Definición de las propiedades de los controles (objetos) que hayamos colocado en

ese formulario. Estas propiedades determinarán la forma estática de los controles,

es decir, como son los controles y para qué sirven.

Page 46: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

45

Generación del código asociado a los eventos que ocurran a estos objetos. A la

respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) se le llama

Procedimiento, y se genera de acuerdo a las necesidades del programa.

Generación del código del programa. Un programa puede hacerse solamente con

la programación de los distintos procedimientos que acompañan a cada objeto.

Sin embargo, VB ofrece la posibilidad de establecer un código de programa

separado de estos eventos. Este código puede introducirse en unos bloques

llamados Módulos, en otros bloques llamados Funciones, y otros llamados

Procedimientos. Estos Procedimientos no responden a un evento establecido a un

objeto, sino que responden a un evento producido durante la ejecución del

programa.

Visual Basic introduce un concepto nuevo de programación, y es necesario

cambiar hasta el argot del programador.

3.2.3 Programación secuencial frente a programación bajo Windows.

No es necesario tener un profundo conocimiento de todos los detalles técnicos

para conocer el entorno de Windows.

Una versión reducida del funcionamiento de Windows incluye tres conceptos

clave: ventanas, eventos y mensajes.

Una ventana es simplemente una región rectangular con sus propios límites.

Probablemente ya sabe que hay varios tipos de ventanas: una ventana Explorador en

Windows, una ventana de documento dentro de su programa de proceso de textos o un

cuadro de diálogo que emerge para recordarle una cita. Aunque éstos son los ejemplos

más comunes, realmente hay otros muchos tipos de ventanas. Un botón de comando es

una ventana. Los iconos, cuadros de texto, botones de opción y barras de menús son todos

ventanas.

El sistema operativo Microsoft Windows administra todas estas ventanas

asignando a cada una un único número identificador (controlador de ventana o hWnd). El

sistema controla continuamente cada una de estas ventanas para ver si existen signos de

actividad o eventos. Los eventos pueden producirse mediante acciones del usuario, como

hacer clic con el mouse (ratón) o presionar una tecla, mediante programación o incluso

como resultado de acciones de otras ventanas.

Page 47: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

46

Cada vez que se produce un evento se envía un mensaje al sistema operativo. El

sistema procesa el mensaje y lo transmite a las demás ventanas. Entonces, cada ventana

puede realizar la acción apropiada, basándose en sus propias instrucciones para tratar ese

mensaje en particular.

Como se puede imaginar, tratar todas las combinaciones posibles de ventanas,

eventos y mensajes podría ser interminable. Afortunadamente, Visual Basic evita tener

que tratar con todos los controladores de mensajes de bajo nivel. Muchos de los mensajes

los controla automáticamente Visual Basic, mientras que otros se tratan como

procedimientos de evento para su comodidad. Esto permite crear rápidamente eficaces

aplicaciones sin tener que tratar detalles innecesarios.

En las aplicaciones tradicionales o "por procedimientos", la aplicación es la que

controla qué partes de código y en qué secuencia se ejecutan. La ejecución comienza con

la primera línea de código y continúa con una ruta predefinida a través de la aplicación,

llamando a los procedimientos según se necesiten.

En una aplicación controlada por eventos, el código no sigue una ruta

predeterminada; ejecuta distintas secciones de código como respuesta a los eventos. Los

eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de

otras aplicaciones, o incluso por la propia aplicación. La secuencia de estos eventos

determina la secuencia en la que se ejecuta el código, por lo que la ruta a través del

código de la aplicación es diferente cada vez que se ejecuta el programa.

Puesto que no puede predecir la secuencia de los eventos, el código debe

establecer ciertos supuestos acerca del "estado del mundo" cuando se ejecute. Cuando

haga suposiciones (por ejemplo, que un campo de entrada debe contener un valor antes de

ejecutar un procedimiento para procesar ese valor), debe estructurar la aplicación de

forma que asegure que esa suposición siempre será válida (por ejemplo, deshabilitando el

botón de comando que inicia el procedimiento hasta que el campo de entrada contenga un

valor).

El código también puede desencadenar eventos durante la ejecución. Por ejemplo,

cambiar mediante programación el texto de un cuadro de texto hace que se produzca el

evento Change del mismo. Esto causaría la ejecución del código, si lo hay, contenido en

el evento Change. Si supone que este evento sólo se desencadenará mediante la

interacción del usuario, podría ver resultados inesperados. Por esta razón es importante

Page 48: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

47

comprender el modelo controlado por eventos y tenerlo en cuenta en el diseño de

aplicaciones.

3.3 Conceptos básicos de Visual Basic

Visual Basic es un lenguaje de programación orientado a objetos que permite

generar aplicaciones con un entorno gráfico denominado GUI, (Graphical User Interface

o Interfaz Gráfica de Usuario).

3.3.1 Entorno de Trabajo

Visual Basic es un lenguaje de programación con características y métodos

orientados a objetos que permiten crear aplicaciones para Windows.

Para comenzar a trabajar en Visual Basic es necesario identificar cada uno de los

componentes principales de la ventana principal, cada uno de estos componente cumplen

con una función determinada. (Figura 3.1)

Figura 3.1 Ventana principal Visual Basic

3.3.2 Proyecto en Visual Basic

Un proyecto es el conjunto de objetos que conforman una aplicación. Los

proyectos en Visual Basic generan un archivo con extensión .vbp que contiene vínculos a

los componentes (formularios, módulos, clases, etc.).

Page 49: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

48

3.3.3 Formularios

El formulario es un componente esencial en Visual Basic, ya que contiene objetos

como botones y cuadros de texto, que son los elementos principales que el usuario utiliza

para interactuar con la interfaz gráfica y la computadora.

Personalizar la apariencia de un formulario requiere modificar sus propiedades,

esto con el fin de hacer más atractiva la interfaz, así como facilitar el manejo de la misma

al usuario.

3.3.4 Controles

Los controles sonobjetos con interfaz gráfica. La forma de colocar controles en

un formulario es seleccionadolos desde el cuadro de herramientas y arrastrando sobre el

formulario. Luego se puede cambiar el valor de sus propiedades. A continuación se

muestran los controles estándar de Visual Basic.

Control Gráfico

Etiqueta (Label)

Muestra la información, los títulos o los subtítulos que

deseemos. En las etiquetas o labels la propiedad más

importante es Caption, que contiene el texto que

aparece sobre este control. Esta propiedad puede ser

modificada desde programa, pero no interactivamente

clicando sobre ella. Puede controlarse su tamaño,

posición, color de fondo y una especie de borde 3-D.

Habitualmente las labels no suelen recibir eventos ni

contener código.

Cajas de Texto (Text Box)

Las cajas de Texto con controles típicos de Windows y

a través de ellas se ingresan la mayor parte de los datos

a las aplicaciones. Las cajas de texto permiten editar

texto o números directamente. La propiedad más

importante de las cajas de texto es Text, que representa

Page 50: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

49

el texto contenido en el control.

Botón de Comando (Command Button)

Este control permite encapsular procedimientos para

que sean utilizados por el usuario con solo hacer click

sobre él. La propiedades más importantes del botón de

comando son su Caption, que es lo que aparece escrito

en él, y la propiedad Enabled, que determina si en un

momento dado puede ser pulsado o no.

Marco (Frame)

Los marcos sirven como contenedores de otros

controles, con un título en su parte superior. Son de

utilidad para separar partes importantes en un

formulario. La propiedad más sobresaliente de este

control es la propiedad Caption que es el título que

aparecerá en la parte superior del control.

Botón de Opción (Option Button)

Estos botones permiten decidir entre una serie de

opciones. Al estar dentro de un marco, solamente uno

podrá estar activo.

Caja de Selección (CheckBox)

A diferencia de los botones de opción, las cajas de

selección si permiten tener dos o más selecciones

activas.

Caja combinada (CombBox)

Un ComboBox tiene muchas cosas en común con un

Cudro de lista. Por ejemplo los métodos AddItem,

RemoveItem o Clear y las propiedades List, ListIndex

o ListCount. La diferencia principal es que en un

ComboBox tiene una propiedad llamada Style, que

Page 51: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

50

puede adoptar tres valores (1,2 ó 3) que corresponden

con tres distintas formas de presentar una lista:

Cuadro de lista (ListBox)

Este control permite ingresar texto en líneas

considerados elementos, desde el modo de diseño, y en

modo de ejecución pueden seleccionarse los elementos

de este control para realizar distintas tareas, según las

necesidades del programa que se esté creando. Cada

línea del cuadro de lista es un elemento, y a cada

elemento de esta lista se le identifica con un número de

índice, es como tener un arreglo.

Figuras (Shape)

La utilidad de este control es de decoración, y también

puede utilizarse como representación de algún objeto;

no posee eventos ni puede recibir el foco y posee

solamente los métodos Move, Refresh y ZOrder.

Su propiedad más importante es Shape, que determina

el tipo de forma que tendrá: ya sea cuadrado, circulo,

rectángulo, ovalo, cuadrado con las puntas

redondeadas o rectángulo con las puntas redondeadas.

Cajas de Imagen (Image)

Este control permite visualizar imágenes en su interior:

mapas de bits (*.bmp o *.dib), formato JPG, formato

de intercambio gráfico (*.gif), Wmf, emf, e iconos y

cursores.

Líneas (Line)

La utilidad de este control es de decoración, y también

puede utilizarse como representación del enlace de

algún objeto con otro, o para indicar separaciones.

Page 52: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

51

Este tipo de control no posee eventos ni puede recibir

el foco y posee solamente los métodos X1, X2, Y1,

Y2, que indican la posición dentro del formulario.

Control de tiempo (Timer)

Este control no tiene una interfaz gráfica, es decir, que

en tiempo de ejecución este no es visible en la pantalla,

pero si tiene efectos en ella. La función del control de

tiempo es repetir tareas cada cierto intervalo de tiempo.

3.3.5 Algoritmo

Un algoritmo es un conjunto de pasos o instrucciones que establece las

operaciones que se realizan para resolver un problema o realizar una tarea, por ejemplo,

una receta de cocina es un algoritmo para preparar determinado alimento.

Las características de los algoritmos son:

Finito: debe terminar después de una cantidad finita de instrucciones.

Definido: debe dar el mismo resultado siempre que se ejecute con los mismos

parámetros.

Preciso: Debe poder desarrollarse de principio a fin de forma exacta.

Lenguaje de programación

Un lenguaje de programación es un conjunto de palabras y reglas que se utilizan

para dar órdenes o instrucciones a la computadora.

Visual Basic es un lenguaje de programación diseñado para facilitar el desarrollo

de aplicaciones en un entorno gráfico.

Programa Fuente

Cuando se escribe un algoritmo en un lenguaje de programación, como Visual

Basic, éste recibe el nombre de programa fuente.

Cada paso del algoritmo se expresa mediante instrucciones en el programa, por

ejemplo:

Page 53: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

52

Private Sub Form_Load ( )

Dim A As Integer

Dim B As Integer

Dim Suma As Integer

A = InputBox ( “ Ingrese el número A ” )

B = InputBox ( “ Ingrese el número B ” )

Suma = A + B

MsgBox A & “ + ” & B & “ = “ & Suma

End Sub

Compilador

Un compilador es una aplicación que transforma el programa fuente en programa

objeto; es decir, lo traduce a lenguaje de máquina para que la computadora lo interprete y

ejecute las instrucciones contenidas en él.

Pseudocódigo

El pseudocódigo es una herramienta que se emplea en la programación

estructurada y que permite probar el funcionamiento lógico de los programas. Las

instrucciones se escriben en palabras similares al lenguaje natural lo cual facilita su

lectura y escritura, pero lo imposibilita para ejecutarlo directamente. Por esta razón es

necesario traducir cada instrucción en el lenguaje de programación en que se vaya a

realizar la aplicación, en este caso Visual Basic.

3.3.6 Diagramas de flujo

Un diagrama de flujo es la representación gráfica de un algoritmo mediante

signos convencionales que muestran el proceso que sigue la información en un programa

determinado. Estos diagramas normalmente se utilizan durante la fase de desarrollo de

una aplicación.

Los símbolos empleados con mayor frecuencia en el diseño de diagramas de flujo

son:

Símbolo Descripción

Terminal, representa el comienzo y el final de un

programa.

Page 54: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

53

Entrada/Salida, representa cualquier entrada o salida

de datos.

Proceso, representa una operación o cambio de valor

en la información.

Decisión, muestra una operación lógica o de

comparación de datos.

Decisión múltiple, representa una comparación lógica

o de comparación de datos.

Conector, sirve para enlazar las partes del diagrama

de flujo en la misma página.

Línea de flujo, indica el sentido de ejecución del

algoritmo.

Línea conectora, realiza la unión entre dos símbolos.

Conector, enlaza las partes del diagrama de flujo en

páginas diferentes.

Llamada de procedimiento, llama una rutina

independiente al programa principal.

Pantalla, se utiliza en algunas ocasiones para

reemplazar el símbolo Entrada/Salida.

Impresora, se utiliza en algunas ocasiones para

reemplazar el símbolo de Entrada/Salida.

Teclado, se utiliza en algunas ocasiones para

reemplazar el símbolo de Entrada/Salida.

Comentario, se utiliza para agregar alguna

explicación.

Tabla 3.2 Símbolos utilizados en Diagramas de Flujo.

Page 55: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

54

3.4 Desarrollo de la Interfaz Gráfica de Usuario en Visual Basic

En esta parte se ha tomado en cuenta tres aspectos para el desarrollo de la interfaz, los

cuales son:

Ventana de Interfaz Gráfica

Diagrama de flujo de operación de la Grúa Viajera

Diagramas de flujo programación de la Interfaz Gráfica

3.4.1 Ventana de Interfaz Gráfica

La interfaz es el elemento que permite al usuario interactuar con los contenidos,

no sólo se necesita de una interfaz atractiva, sino funcional. Para la realización de una

interfaz se deben tomar en cuenta ciertos principios de diseño.

-La interfaz debe basarse en términos orientados al usuario.

-En sistema deberá mostrar un nivel apropiado de consistencia.

-El sistema no debe tomar por sorpresa al usuario.

-El sistema debe proveer alguna ayuda cada vez que el usuario cometa un error, y dar la

posibilidad a éste de corregir el error antes de ejecutarlo.

-Las guías de usuario deben fungir como suplementos de ayuda para la operación de la

interfaz.

Teniendo en cuenta estos principios de diseño se utilizaron controles básicos para

la interfaz, para un mejor manejo por parte del usuario, y que estos sean de una fácil

identificación. En la siguiente figura se muestra la ventana principal de la interfaz de

simulación de la grúa, conformada por varios de los componentes de control descritos

anteriormente, como son: cajas de texto, etiquetas, marcos, líneas, etc.

Page 56: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

55

Figura 3.2 Ventana principal Interfaz.

En la ventana principal se pueden identificar fácilmente dos secciones, una que es

donde se encuentran los parámetros con los que opera la grúa, es decir, los parámetros a

los que el usuario quiere llevar a la grúa viajera y una sección donde se ve una

representación gráfica de la vista superior de la grúa viajera, así como su área de trabajo.

- Sección de Parámetros de operación.

En la siguiente se observa la sección de la ventana principal donde se encuentran

los controles con los que el usuario tendrá interacción con la interfaz.

Figura 3.3 Controles te Operación de la Interfaz.

En esta sección de la ventana principal se puede observar un apartado de Posición

el cual se puede ver en la siguiente figura, éste marco contiene dos cajas de texto en los

Page 57: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

56

cuales el usuario deberá introducir los valores de la coordenada a donde desea llevar el

polipasto de la grúa dentro de su área de trabajo. En estas cajas de texto donde se

introducen los valores deseados se tienen condiciones de seguridad, es decir, que si se

introducen valores inválidos como son caracteres especiales, letras o un valor mayor al

del desplazamiento que puede realizar la grúa, este nos devuelve una leyenda de

advertencia que evita que el usuario cometa un error, esto obedece a uno de los principios

del diseño de interfaz gráfica, ya que si se comete un error, la interfaz nos da la opción de

corregir ese error antes de ejecutar la operación.

Figura 3.4 Marco de Posición.

Una condición importante de una Interfaz Gráfica implica que exista una

retroalimentación por parte de la interfaz hacia el usuario para su mejor interacción y

manejo de la misma, por esta razón en este apartado de Posición en la interfaz también se

agregaron dos etiquetas cuyos valores van cambiando de acuerdo con la posición del

polipasto, estas etiquetas muestran los valores de la posición ejes X y Y, con esto el

usuario puede ver los cambios de posición, y compararlos con los que introdujo y a su

vez compararlos con la representación gráfica de la posición de la grúa.

Para que se lleve a cabo la acción del cambio de posición del polipasto de la grúa

a los requeridos por el usuario, es necesario ordenar a la interfaz que realice la acción,

esto se hace mediante los botones de operación como se muestra en la siguiente figura,

para el movimiento sobre los ejes X y Y se utilizaron dos botones de comando, uno para

ejecutar la acción de movimiento, y otro para interrumpir la acción de movimiento, y

como indicador de operación se agregó dos controles tipo imagen, uno de color verde y

otro de color rojo, el que es de color verde tiene la propiedad que cuando se inicia el

programa éste control se encuentra no visible y cuando se activa la simulación se

encuentra visible y cubre el control de la imagen en color rojo, creando un efecto de

luminosidad del botón rojo a color verde cuando se activa la simulación, por otra parte si

la simulación se detiene, la propiedad de estar visible del control de tipo imagen d ecolor

verde regresa a su estado no visible para indicar que la acción se interrumpió y ahora la

grúa se encuentra detenida.

Page 58: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

57

Figura 3.5 Marco de Operación.

El control de elevación del malacate esta independiente al de posición del

polipasto, esto por cuestiones de seguridad, ya que si se quiere desplazar dentro del área

de trabajo al polipasto con carga y se le da una coordenada para tres ejes, la carga puede

sufrir daños, si el área de trabajo tiene objetos que puedan obstruir su paso, por esta razón

si el usuario quiere elevar o descender el malacate, ya sea solo o con carga, el usuario da

la orden desde el apartado que se encuentra en el marco de elevación como se puede

observar en la siguiente figura, en este marco se encuentra una caja de texto en donde se

introduce el valor que el usuario desea descender el malacate, ya sea para descargar o

colocar carga, por ejemplo, si el usuario introduce el valor 2 entonces el malacate

desciende hasta tener en el largo del cable que lo sostiene la distancia de 2 metros. De

igual manera que en el marco de posición, en este marco de elevación se encuentra una

etiqueta la que realimenta al usuario con el valor de la distancia que tiene el largo del

cable del malacate.

Figura 3.6 Marco de Elevación.

Para generar la acción de elevación o descenso hay dos botones de comando, uno

para la elevación y otro para el descenso del malacate, cada uno de estos tiene un

indicador que muestra si esta activo el descenso o la elevación, estos indicadores están

diseñados con imágenes que tienen forma de flecha que indican con un color ya sea rojo o

verde si esta desactivada o activada la acción respectivamente. En este marco también se

encuentra un botón de paro, esté control nos permite detener la acción que se esté

Page 59: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

58

ejecutando con respecto a la elevación, por ejemplo, si el malacate se está elevando o está

descendiendo, esté botón detiene la elevación o el descenso.

Figura 3.7 Marco de Carga y Velocidad.

Como parte de la simulación se agregaron dos cajas de selección, las cuales hacen

la función de descargar y cargar el malacate con un objeto como se observa en la figura

3.6, al cual se le asigna una carga, el valor de carga que se le asigna se introduce desde

una caja de texto que se encuentra en el marco de Carga y Velocidad como se muestra en

la figura 3.7.

En el marco de Carga y Velocidad, como ya se había mencionado, se asigna el

valor de la carga para la simulación, devolviendo en una etiqueta el valor de la velocidad

que tiene la grúa al desplazarse con esa cantidad de carga.

Figura 3.8 Marco de Tipo de Movimiento.

En la sección de parámetros de operación también tenemos un marco de tipo de

movimiento mostrado en la figura 3.8, en este se tiene dos botones de opción, con los

cuales se elije que movimiento se desea, ya sea que se desplace primero por el eje X y

después por el eje Y para llegar a la posición deseada, o que se desplace al mismo tiempo

sobre los dos ejes.

Page 60: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

59

Figura 3.9 Marco de indicadores de inicio y fin de carrera.

Para poder identificar mejor si el polipasto ha llegado al final de carrera o se

encuentra en el inicio de carrera, ya sea sobre las vigas transversales donde se desplaza el

carro, el largo de la nave o el largo del cable que sostiene el gancho, se colocaron

identificadores luminosos que están compuestos por controles tipo CWbutton que son

complementos para visual basic creados por National Instruments, éste marco de

indicadores se puede observar en la figura 3.9, en total se cuenta con seis sensores, tres

son de inicio de carrera y tres que se encuentran al final de carrera.

- Sección de Representación Grafica de la Grúa

En la siguiente figura se observa la sección de la ventana principal donde se

encuentra una representación gráfica de la vista superior de la grúa viajera, así como su

área de trabajo.

Figura 3.10 Representación Gráfica de la vista superior de la Grúa.

Page 61: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

60

Para la simulación de la grúa se colocó un marco que delimita el área de trabajo

en donde se desplaza el polipasto, en este marco se aplican los parámetros que se

introducen en la sección de parámetros de operación y al momento de iniciar la

simulación en esta representación gráfica de la grúa se puede observar el movimiento que

es indicado por el usuario en la sección de parámetros.

Figura 3.11 Marco de Área de desplazamiento de la grúa.

En la figura 3.11 se muestra el marco que contiene la representación de las vigas

que delimitan el desplazamiento de la grúa, así como las vigas transversales con los

dispositivos que realizan el desplazamiento de estas vigas, el polipasto que se encuentra

sobre las vigas transversales y se puede observar el carrete del cable que sostiene al

gancho, también se pueden observar cuatro recuadros más pequeños, éstos son los

sensores de inicio y fin de carrera, tanto los del largo de la nave, así como los del ancho

de la nave.

Page 62: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

61

Figura 3.12 Marco de Elevación del Malacate.

En el Marco de Elevación como se muestra en la figura 3.6, se encuentran los

controles que manipulan el largo del cable para elevar o descender el malacate, cuando se

activa la acción correspondiente a la elevación o el descenso se puede observar en el

marco de Elevación del Malacate mostrado en la figura 3.12, en este se puede observar

como asciendo o desciende el malacate de la grúa, además se puede observar cuando se

coloca una carga en el malacate, en éste marco también se encuentran dos recuadros

pequeñitos en el cuadro que representa el polipasto, estos recuadros pequeños indican

sensores de inicio y final de carrera del mecanismo que proporciona el largo del cable que

sostiene al gancho.

- Gráfica de comportamiento

En la pantalla principal como se muestra en la figura 3.2 se puede observar en la

parte superior tres pestañas, en la pestaña de gráfica se encuentran dos controles de tipo

CWGraph creados por National Instruments representa la velocidad y la aceleración de la

grúa con respecto a la carga que está trasladando.

Page 63: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

62

Figura 3.13 Controles tipo CWGraph.

- Representación del Proceso

Para un mejor diseño de la Interfaz Gráfica de Usuario se creó una representación

de la grúa en isométrico, en éste se puede ver el desplazamiento de la grúa.

Figura 3.14 Representación de la grúa en isométrico.

Page 64: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

63

En la figura 3.14 se puede observar una representación gráfica de la grúa más

detallada que la de la ventana principal mostrada en la figura 3.10, en esta se pueden

observar las vigas el gancho y el cable, que al modificar los parámetros en la pantalla

principal se realiza el desplazamiento en esta sección.

Para la creación de los gráficos correspondientes a esta sección de la Interfaz

Gráfica de Usuario se utilizaron programas como Macromedia Flash para realizar los

dibujos a utilizar, así como Microsoft Power Point para el formato de las imágenes.

3.4.2 Diagrama de flujo de operación de la Grúa Viajera

Para diseñar la simulación de algún proceso, se debe tener conocimiento de las

acciones que se realizan dentro del proceso para poder realizar el algoritmo de

funcionamiento del proceso y posteriormente hacer la programación que se utilizará al

programar la interfaz.

Para realizar el algoritmo de funcionamiento se deben tomar en cuenta las

condiciones que se utilizan dentro del proceso, por ejemplo, que solo se pueda realizar

cierta acción dentro del proceso si es que se cumple una condición específica. Las

condiciones más utilizadas son las sentencias if… then… else… , la realización de este

algoritmo no fue la excepción, ya que se utilizaron sentencias if y sentencias if anidadas.

En la programación, cuando se cuenta con un algoritmo de operación se realizan

representaciones de este, existen diversas formas de representar los algoritmos, y para el

desarrollo del proyecto se utilizaron los siguientes:

Gráfica: Éste tipo de representación se realiza mediante gráficos, y para la representación

de esta forma se utilizó diagramas de flujo.

Simbólica: Para esta representación, las etapas son descritas con lenguaje próximo al

natural, con el grado de detalle adecuado a la etapa de desarrollo del programa.

Detallada: En esta representación se trata de describir el algoritmo en un determinado

lenguaje de programación (C, Matlab, Visual Basic, etc.)

En cualquiera de estas representaciones lo más importante es tener muy claro el

algoritmo a realizar.

En la siguiente figura podemos observar un diagrama de flujo que describe en

forma general el funcionamiento de la interfaz para la simulación de la grúa.

Page 65: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

64

Inicio

Posición Deseada

X , Y

Ejes

Directo

Se mueve sobre

los ejes X y Y

proporcionalmente

Se mueve sobre el

eje X

X deseada

Y deseada

X deseada

Se mueve sobre el

eje Y

Y deseada

Fin

SI

SI

SI

NO

NO

NO

NO

SI

NO

NO

Se mueve sobre el

eje Y

SI

Y deseada NO

Fin

SI

Se mueve sobre el

eje X

X deseada

SI

Fin

SI

NO

Figura 3.15 Diagrama de flujo de funcionamiento de la interfaz.

Page 66: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

65

3.4.3 Diagramas de flujo de programación de la Interfaz Gráfica

Como ya se ha mencionado para la programación se tiene que conocer el

algoritmo de funcionamiento, de acuerdo con éste diagrama se realizó el algoritmo de

programación, representado por diagramas de flujo.

- Cajas de texto

En la ventana principal de la interfaz gráfica, se puede observar el marco de

posición en la figura 3.4, el marco de elevación en la figura 3.6 y el marco de carga y

velocidad en la figura 3.7, en ellos encontramos cajas de texto, que son los que se

encargaran de establecer la posición a la que se requiera llevar el polipasto, asignar el

valor del peso de la carga y el valor del largo del cable que sostiene al malacate.

Lo que se programó en las cajas de textos son sentencias de seguridad, ya que

solo se usaran valores numéricos para el manejo de la interfaz, en la siguiente se puede

observar el diagrama de flujo que describe el algoritmo a programar.

Inicio

0,1,2,3,4,5,6,7,8,9,.

Función

numeros

Fin

Figura 3.16 Diagrama de flujo de función que solo permite números.

La función numeros condiciona que si el valor introducido no es un número, no

modifica el texto de la caja de texto, de la misma forma que solo aceptan números las

cajas de texto, estas no deben aceptar valores vacios, es decir, no acepta no tener carácter

en la caja de texto, en la siguiente figura se observa el diagrama de flujo que describe el

algoritmo.

Page 67: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

66

Inicio

tmrDesp = “ ”

tmrDesp = 0

Fin

SI

NO

Figura 3.17 Diagrama de flujo de algoritmo que no permite valores vacios.

Cuando el texto de la caja de texto se encuentra sin valor se activa el diagrama de

la figura anterior, y le asigna el caracter “0” al texto. Como ya se mencionó en estas cajas

de texto se asignan valores de operación para la grúa, esta tiene sus límites de operación,

por ejemplo que la carga máxima es de 1500 kg, o que el desplazamiento máximo sobre

el eje X es de 200 m, etc. si los valores que se introducen son más grandes que los

permitidos por la operación de la grúa entonces se manda una advertencia al usuario para

que cambie estos valores, en la siguiente figura se observa el diagrama de flujo que

describe el algoritmo.

Inicio

tmrDesp= “ ”

tmrDesp= 0

Fin

"El valor introducido de

desplazamiento en X es

mayor al que puede realizar

la grúa"

SI

NO

Figura 3.18 Diagrama de flujo que indica advertencia de valores

Page 68: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

67

Para facilitar y hacer más cómodo el uso de la interfaz gráfica en las cajas de

texto se programo una función que cuando se haga clic sobre la caja de texto, el

contenido de esta se seleccione para introducir un nuevo valor y al mismo tiempo

limpiar el valor anterior, en la siguiente figura se observa el diagrama de flujo que

describe el algoritmo de dicha función.

Inicio

tmrDesp.SelStart = 0

tmrDesp.SelLength =

Len(tmrDesp.Text)

Fin

Figura 3.19 Diagrama de flujo de función de selección del contenido en caja de texto.

- Botones de Comando

Los botones de comando son los que controles que activan o desactivan las

acciones a realizar en la interfaz, estos botones de comando los podemos ver en el marco

de operación y el marco de elevación, aunque parezca que son los que contienen la parte

más importante de la programación de la interfaz no la tienen, solo tienen programados el

cambio de propiedad de los controles de tiempo, los siguientes diagramas de flujo

muestran el algoritmo de programación de cada botón de comando.

Inicio

tmrDesp= 1

Fin

Figura 3.20 Diagrama de flujo del Botón de Comando Iniciar

En el botón de comando Iniciar se programó que active el tmrDesp en la figura

3.20, mientras que en el botón de comando Parar se programó que se desactive el

tmrDesp como se muestra en la siguiente figura.

Page 69: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

68

Inicio

tmrDesp= 0

Fin

Figura 3.21 Diagrama de flujo del Botón de Comando Parar

En el botón de comando Elevar se elaboró un algoritmo para activar el tmrElevar

como se muestra en la figura 3.22, en el botón de comando Descender se elaboró un

algoritmo para activar el tmrDescenso como se muestra en la figura 3.23.

Inicio

tmrElevar= 1

Fin

Figura 3.22 Diagrama de flujo del Botón de Comando Elevar

Inicio

tmrDescenso= 1

Fin

Figura 3.23 Diagrama de flujo del Botón de Comando Descender

- Imagen

En la Imagen del botón de paro, que se encuentra en el marco de elevación

mostrado en la figura 3.6 se programó que se desactiven tmrElevar y tmrDescenso al

hacer un clic sobre la imagen, y a su vez que los indicadores que están activos se

desactiven como se muestra en el siguiente diagrama de flujo.

Page 70: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

69

Inicio

tmrElevar= 0

tmrDescenso= 0

SFStandard3= 0

SFStandard1= 0

Fin

Figura 3.24 Diagrama de flujo del botón de paro.

- Cajas de selección

Los controles tipo caja de selección se encuentran en el marco de elevación

mostrados en la figura 3.6, en la caja de selección Colocar Carga nos muestra en la

sección de representación gráfica de la grúa como se aprecia en la figura 3.11 una

representación de una carga en forma de caja, esta carga está conformada por tres

elementos, una figura (shape) y dos líneas (line), las cuales permaneces invisibles hasta

que se da un clic a la caja de selección, y esta a su vez activa una segunda caja de

selección llamada Quitar Carga, en la siguiente figura se observa el diagrama de flujo que

describe el algoritmo de dicha función.

Inicio

chkColocar= 1

chkQuitar= 1

txtC= 1

Shape10 = 1

Line8 = 1

Line9 = 1

Fin

chkColocar= 0

chkQuitar= 0

SI

NO

SI

NO

Figura 3.25 Diagrama de flujo de la caja de selección Colocar Carga.

Page 71: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

70

Cuando la caja de selección Colocar Carga se activa y la representación de la

carga en forma de caja es visible como nos muestra la siguiente figura, esta puede

modificar su propiedad de posición al activar la acción de elevación; cuando se da un clic

a la caja de selección Quitar Carga, la representación de la caja se vuelve no visible, y si

es que su posición cambio entonces la manda a su posición inicial, en la figura 3.27 se

observa el diagrama de flujo que describe el algoritmo de dicha función.

Figura 3.26 Representación de la Carga.

Inicio

Fin

chkColocar= 0

Shape10.top = 0

Line8 = 0

Line9 = 0

txtC = des

Shape10 = 0

Line8 = 0

Line9 = 0

Figura 3.27 Diagrama de flujo de la caja de selección Quitar Carga.

Page 72: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

71

El conjunto de las dos cajas de selección permiten que la caja de texto donde se

asigna el valor a la carga se habilite o deshabilite, según sea el caso.

- Controles de tiempo

Al ser una simulación implica la variación en los valores de las variables con

respecto al tiempo, y los controles de tiempo, aunque no son visibles a la hora de ejecutar

el programa, son los controles más importantes porque contienen la parte esencial del

programa, estos controles de tiempo permanecen deshabilitados al momento de ejecutar

la interfaz, y son activados por los botones de comando, en los controles de tiempo es

donde se comparan los parámetros introducidos por el usuario y los que tiene la

simulación, una vez que los parámetros son iguales entonces el control de tiempo se

detiene.

Para el desarrollo de este proyecto se utilizaron tres controles de tiempo (timers)

cada uno controlando diferentes acciones y activados en diferentes partes del programa.

El primer control de tiempo (tmrDesp) contiene la programación de la posición

de la grúa dentro del área de trabajo, en la figura 3.28 se muestra el diagrama de flujo de

la programación contenida en el control de tiempo, este diagrama de control describe la

lógica que se debe seguir a la hora de hacer la programación en lenguaje de visual basic.

Dentro de este control de tiempo se consideran los valores de los botones de opción, los

cuales determinan el tipo de movimiento que realizará la grúa, en esta programación se

consideran todas las posibles condiciones para que se tome una decisión y se realice una

determinada acción, en la siguiente tabla se observan las combinaciones que se deben

programar para el buen funcionamiento de la grúa.

Posición x1 > x x1 = x x1 < x

y1 > y x + 1 ,

y + 1 y + 1

x - 1 ,

y + 1

y1 = y x + 1 --- x - 1

y1 < y x + 1 ,

y - 1 y - 1

x - 1 ,

y - 1

Tabla 3.3 Combinación de Condiciones programadas en tmrDesp

Page 73: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

72

El segundo control de tiempo (tmrDescenso) es el que se encarga de manipular

el descenso del malacate, en la figura 3.29 se muestra el diagrama de flujo que describe

el algoritmo de dicha función, en este se condiciona que si el malacate desciende al

máximo del largo del cable que lo sostiene, entonces se puede colocar la carga que se

desea transportar, el tercer control de tiempo (tmrElevar) se encarga de la elevación del

malacate, en la figura 3.30 se muestra el diagrama de flujo que describe el algoritmo de

dicha función, ya sea con carga o sin carga. Cuando el malacate alcanza el valor que el

usuario introdujo, se detienen los controles de tiempo tmrDescenso o tmrElevar según

sea el caso.

Page 74: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

73

Inicio

x, x1, y, y1

Colocar carga = 0

Quitar carga = 0

EjesNO

x1 > x

Polipasto se mueve

sobre el eje X en

dirección positiva

SI

SI

NO

y1 > y

NO

Polipasto se mueve

sobre el eje Y en

dirección positiva

SI

Posición

polipasto en X

Posición

polipasto en Y

x1 = x

SI

y1 = yNO

Fin

SI

Polipasto se mueve

sobre el eje X en

dirección negativa

Posición

polipasto en X

x1 = xNO

SI

Polipasto se mueve

sobre el eje Y en

dirección negativa

Posición

polipasto en Y

y1 = yNO

SI

x1 < x

SI

y1 < y

SI

NO

NO

NO

A

Figura 3.28 Diagrama de flujo de control de tiempo 1 (tmrDesp)

Page 75: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

74

1

x1 > x

El polipasto se

desplaza sobre el eje

X en dirección positiva

x1 = x

Fin

SI

SI

NO

NO

Directo

x1 > x

y1 > y

El polipasto se desplaza

sobre los ejes X y Y en

dirección positiva

proporcionalmente

x1 = x

y1 = y

y1 > y

El polipasto se

desplaza sobre el eje

Y en dirección positiva

y1 = y

Fin

SI

SI

SI

NO

NO

NO

SI

SI

x1 > x

SI

El polipasto se

desplaza sobre el eje

X en dirección positiva

x1 = x

Fin

SI

SI

NO

NO

NO

NO

y1 < y

El polipasto se desplaza

sobre el eje X en dirección

positiva y sobre el eje Y en

dirección negativa

SI

x1 = x

y1 = y

El polipasto se desplaza

sobre el eje Y en dirección

negativa

y1 = y

Fin

SI

SI

SI

NO

NO

NO

x1 > x

SI

El polipasto se

desplaza sobre el eje

X en dirección positiva

x1 = x

Fin

SI

SI

NO

NOy1 < y

1

NO

A

B

Figura 3.28 Diagrama de flujo de control de tiempo 1 (tmrDesp)

Page 76: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

75

x1 < x

y1 > y

SI

El polipasto se desplaza

sobre el eje X en dirección

negativa y sobre el eje Y

en dirección positiva

SI

x1 = x

y1 = y

y1 > y

El polipasto se

desplaza sobre el eje

Y en dirección positiva

y1 = y

Fin

SI

SI

SI

NO

NO

NO

x1 < x

SI

El polipasto se desplaza

sobre el eje X en

dirección negativa

x1 = x

Fin

SI

SI

NO

NO

NO

y1 < y

El polipasto se desplaza

sobre el eje X en dirección

negativa y sobre el eje Y

en dirección negativa

SI

x1 = x

y1 = y

El polipasto se desplaza

sobre el eje Y en dirección

negativa

y1 = y

Fin

SI

SI

SI NO

NO

NO x1 < x

SI

El polipasto se desplaza

sobre el eje X en

dirección negativa

x1 = x

Fin

SI

SI

NO

NO

y1 < y

2 NO

2

x1 < x

El polipasto se desplaza

sobre el eje X en

dirección negativa

x1 = x

Fin

SI

SI

NO

NO

y1 > y

El polipasto se

desplaza sobre el eje

Y en dirección positiva

y1 = y

Fin

SI

SI

NO

3

3

y1 < y

El polipasto se desplaza

sobre el eje Y en dirección

negativa

y1 = y

Fin

SI

SI

NO

NO

NO

B

Figura 3.28 Diagrama de flujo de control de tiempo 1 (tmrDesp)

Page 77: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

76

Inicio

z1 > z

SI

El malacate

desciende

z1 = z NO

z = 3

SI

Se puede colocar

carga

SI

Fin

NO

Figura 3.29 Diagrama de flujo de control de tiempo 2 (tmrDescenso)

Inicio

z1 < z

SI

El malacate se

eleva

z1 = z NO

SI

Fin

Figura 3.30 Diagrama de flujo de control de tiempo 3 (tmrElevar)

Page 78: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

77

CAPÍTULO 4

PROGRAMACIÓN DE LA INTERFAZ

GRÁFICA

Objetivo: Generar el código fuente que permita la interacción de todos los elementos

que conforman la Interfaz Gráfica de Usuario creada, utilizando sentencias lógicas de

acuerdo con los algoritmos correspondientes.

Page 79: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

78

4. PROGRAMACIÓN DE LA INTERFAZ GRÁFICA

Teniendo el diseño de la Interfaz, es decir, la ventana con la que el usuario

interactuará, el algoritmo general de funcionamiento de la interfaz y el algoritmo de

programación de los elementos que componen la interfaz, se procede a realizar la

programación de cada elemento.

Para la realización de este proyecto las sentencias más utilizadas son:

If… then…

If… then… else…

Para programar los componentes de la interfaz nos guiamos por el diagrama de

flujo de funcionamiento de la interfaz y lo vamos relacionando con los diagramas de

programación de cada componente.

Lo primero que se hace al programar en cualquier lenguaje de programación es

declarar las variables que se van a utilizar, así como las funciones que más se utilizan.

Código

Option Explicit

Dim x As Integer

Dim x1 As Integer

Dim y As Integer

Dim y1 As Integer

Dim z As Integer

Dim z1 As Integer

Tabla 4.1 Declaración de variables

En la Tabla 4.1 se muestran las variables que se utilizarán, donde:

x: Es el valor que introduce el usuario para mover el polipasto a la posición deseada a

lo largo del área de operación de la grúa.

x1: Es el valor de la posición en la que se encuentra el polipasto a lo largo del área de

operación de la grúa.

y: Es el valor que introduce el usuario para mover el polipasto a la posición deseada a

lo largo del área de operación de la grúa.

Page 80: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

79

y1: Es el valor de la posición en la que se encuentra el polipasto a lo largo del área de

operación de la grúa.

z: Es el valor que introduce el usuario para descender o elevar el gancho a la posición

deseada.

z1: Es el valor del largo del cable en la que se encuentra el gancho.

Código

Public Function numeros(Tecla As Integer) As Integer

Dim strValido As String

strValido = "0 1 2 3 4 5 6 7 8 9 ."

If Tecla > 26 Then

If InStr(strValido, Chr(Tecla)) = 0 Then

Tecla = 0

End If

End If

numeros = Tecla

End Function

Tabla 4.2 Declaración de Funciones más utilizadas

En la Tabla 4.2 se puede observar la función que condiciona que solo se

introduzcan valores numéricos en las cajas de texto, ésta función utiliza variables locales

para esa función, se llama variable local a una variable definida dentro de un

procedimiento o función, las variables locales no son accesibles más que en el

procedimiento o función en que están definidas. La función se declara como entero, y a su

vez se declara la variable tecla como entero y se declara una variable de tipo cadena para

especificar que caracteres son los que se pueden introducir en la caja de texto, en este

caso solo se pueden introducir los caracteres numéricos (0, 1, 2, 3 ,4 , 5, 6, 7, 8 y 9) y

adicionado a estos se agrego el carácter punto ( . ) con el fin de utilizar valores más

precisos, esta función es común para todas las cajas de texto, en la Tabla 3.4 se muestra el

código para llamar a esta función en todas las cajas de texto, para que ésta función se

ejecute correctamente debe colocarse en el evento KeyPress de cada caja de texto.

Código

Private Sub txtX_KeyPress(KeyAscii As Integer)

KeyAscii = numeros(KeyAscii)

Page 81: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

80

End Sub

Private Sub txtY_KeyPress(KeyAscii As Integer)

KeyAscii = numeros(KeyAscii)

End Sub

Private Sub txtZ_KeyPress(KeyAscii As Integer)

KeyAscii = numeros(KeyAscii)

End Sub

Private Sub txtC_KeyPress(KeyAscii As Integer)

KeyAscii = numeros(KeyAscii)

End Sub

Tabla 4.3 Evento KeyPress llamando a la función numeros

El evento KeyPress sucede cuando el usuario pulsa y suelta determinada tecla. En

el procedimiento asociado con este evento el único argumento KeyAscii es necesario para

conocer cuál es el código ASCII de la tecla pulsada.

Como los valores que se introducen en las cajas de texto pueden ser cualquier

número, es necesario condicionar que no se introduzca un valor mayor al que puede

utilizar la grúa para realizar la operación, de igual forma se debe evitar que la caja de

texto se quede sin un caracter en su texto, para esto en el evento Change se programaron

condiciones If para realizar estas funciones, en la Tabla 4.4 se observa el código para

realizar dichas funciones, para cada caja de texto se programó una condición distinta para

evitar metes parámetros mayores a los que la grúa utiliza.

Caja de

Texto

Código Programado

txtX

Private Sub txtX _Change( )

If txtX.Text = "" Then

txtX.Text = 0

End If

If txtX.Text > 200 Then

MsgBox " El valor introducido de desplazamiento en X es mayor al que

puede realizar la grúa, introduzca un nuevo valor "

txtX.Text = 0

End If

End Sub

txtY

Private Sub txtY _Change( )

If txtY.Text = "" Then

txtY.Text = 0

End If

If txtY.Text > 120 Then

MsgBox " El valor introducido de desplazamiento en Y es mayor al que

Page 82: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

81

puede realizar la grúa, introduzca un nuevo valor "

txtY.Text = 0

End If

End Sub

txtZ

Private Sub txtZ _Change( )

If txtZ.Text = "" Then

txtZ.Text = 0

End If

If txtZ.Text > 3 Then

MsgBox " El valor introducido del largo del cable es mayor al de la grúa,

introduzca un nuevo valor "

txtZ.Text = 0

End If

End Sub

txtC

Private Sub txtC _Change( )

If txtC.Text = "" Then

txtC.Text = 0

End If

If txtC.Text > 1500 Then

MsgBox " El valor de carga introducido es mayor al máximo de la carga

operación de la grúa, introduzca un nuevo valor "

txtC.Text = 0

End If

End Sub

Tabla 4.4 Sentencias If condicionando valores en evento Change

En el código del txtX se condiciona que se introduzcan un valor menor o igual a

200, ya que el valor máximo de desplazamiento del polipasto sobre el eje X es 200, en

caso de que el valor introducido en la caja de texto sea mayor que 200 se despliega un

mensaje de texto al usuario indicando que " El valor introducido de desplazamiento en X

es mayor al que puede realizar la grúa, introduzca un nuevo valor " y automáticamente

cambia el valor a “0” para que sea introducido nuevamente, de igual manera se programa

para el resto de las cajas de texto, como se puede observar en la Tabla 4.4, cada caja de

texto con una condición diferente y un mensaje similar.

Para un manejo más cómodo para el usuario y una mejor interacción se hizo la

programación en las cajas de texto para que cuando se de clic a una caja de texto se

seleccione automáticamente todos los caracteres de esta, y así sobrescribir el nuevo valor

en el valor anterior, de acuerdo con el algoritmo de programación figura 3.18.

Código

Private Sub txtX _GotFocus( )

txtX.SelStart = 0

txtX.SelLength = Len(txtX.Text)

End Sub

Page 83: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

82

Private Sub txtY _GotFocus( )

txtY.SelStart = 0

txtY.SelLength = Len(txtY.Text)

End Sub

Private Sub txtZ _GotFocus( )

txtZ.SelStart = 0

txtZ.SelLength = Len(txtZ.Text)

End Sub

Private Sub txtC _GotFocus( )

txtC.SelStart = 0

txtC.SelLength = Len(txtC.Text)

End Sub

Tabla 4.5 Código para seleccionar texto

Como se puede observar en la Tabla 4.5 la función para realizar la selección se

programa en el evento GotFocus. Cada vez que un objeto pierde el foco se produce su

evento LostFocus y posteriormente, el evento GotFocus del objeto que ha recibido el

foco.

Cuando el programa se ejecuta el primer evento que ocurre es el Load del Form

que contiene la ventana principal, en este evento se asignaron condiciones iniciales de

operación, como se muestra en la Tabla 4.6

Código

Private Sub Form_Load( )

Option1.Value = True

frmBien.Timer1.Enabled = False

End Sub

Tabla 4.6 Programación evento Load de Form

En el evento Load se programaron condiciones iniciales para la operación,

donde:

Option1.Value = True :

Option1 es el botón de selección llamado ejes que se

encuentra en el marco de tipo de movimiento, la condición

programada es que al iniciar el programa el botón de

selección ejes este seleccionado.

frmBien.Timer1.Enabled : En ésta línea se programo la desactivación de control de

tiempo 1 que es el que se encarga de gobernar cuanto

Page 84: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

83

tiempo aparecerá la pantalla de inicio

De a cuerdo con el algoritmo de programación del control de tiempo 2

(tmrDescenso Fig. 3.29) se programa la acción para descender el malacate y así poder

colocar la carga a la grúa, o si es que ya se tiene carga este descenso se utiliza para

colocar la carga en la posición de la altura deseada, en la tabla 4.7 se puede observar el

código del control de éste tiempo.

Código

Private Sub tmrDescenso_Timer()

z1 = txtZ.Text * 740 'se multiplica el valor introducido para ser comparado

z = Shape7.Top - 720 'se lleva a cero el largo del cable

If z1 > z Then 'si el valor introducido por el usuario es mayor al actual se cumple la

condición

'***el gancho se desplaza en dirección positiva sobre el eje Z***

'desplazamiento en el área de la representación gráfica *** vista superior ***

Shape7.Top = Shape7.Top + 10 'el gancho desciende sobre el eje Z

Image5.Top = Image5.Top + 10 'el gancho desciende sobre el eje Z

Line6.Y2 = Line6.Y2 + 10 'las líneas que representan el cable que sostiene al gancho

Line7.Y2 = Line7.Y2 + 10 'aumentan su longitud en la misma dirección que el gancho

desciende

SFStandard3.AnimationMode = 1 'indicador de descenso activado

lblZ.Caption = ((Shape7.Top - 720) / 740) 'imprime el valor de la longitud actual del

cable de la grúa en eje Z

'desplazamiento en el área de la representación gráfica *** vista isométrico ***

imgGancho.Top = imgGancho.Top + 8 'gancho desciende

imgCable.Height = imgCable.Height + 8 'la imagen que representa al cable que sostiene

al gancho disminuye su altura

Else

If z1 = z Then 'si el valor introducido por el usuario es igual al actual se cumple la

condición

tmrDescenso.Enabled = False 'se desactiva el timer que se encarga del descenso del

gancho

SFStandard3.AnimationMode = 0 'indicardor de descenso desactivado

End If

End If

If Shape10.Visible = True Then 'si la grúa tiene carga entonces entra en ésta condición

Shape10.Top = Shape10.Top + 10 'la forma que representa a la carga desciende al mismo

tiempo que el gancho

Line8.y1 = Line8.y1 + 10 'líneas que representan las eslingas

Line8.Y2 = Line8.Y2 + 10

Line9.y1 = Line9.y1 + 10 'líneas que representan las eslingas

Line9.Y2 = Line9.Y2 + 10

End If

If Shape7.Top = 2940 Then 'cuando se alcanza el valor máximo de la longitud del cable se

puede cargar la grúa

chkColocar.Enabled = True ' se habilita la caja de selección para cargar la grúa

End If

End Sub

Tabla 4.7 Código de programación para control de tiempo 2 (tmrDescenso)

Page 85: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

84

En la tabla anterior podemos observar el código del control de tiempo 2 en donde:

z1 = txtZ.text*740 : Es una asignación de valor a la variable z1, para el

valor de esta variable se toma el valor introducido en

la caja de texto que se encuentra en el marco de

elevación, y se multiplica por una constante de valor

740, este valor es el que se compara con el valor de z

que es la posición que se tiene en la simulación.

La multiplicación del valor introducido en la caja de

texto se debe a que se debe realizar una conversión

del valor introducido con el que se utiliza en la

simulación, ya que se utiliza la unidad de pantalla

Twip.

z = Shape7.Top – 720 : Es una asignación de valor a la variable z, en esta

variable se le asigna el valor de cero, para que se

pueda realizar una mejor comparación entre z1 y z,

para así realizar mejor la acción de simulación.

La propiedad Top del control shape7 indica la

posición sobre el eje Y dentro del marco de que lo

contiene, por tanto el valor que se modifica para

realizar el descenso es la propiedad Top.

Shape7.Top = Shape7.Top + 10: Es la asignación de valor que se incrementa para

alcanzar a la posición requerida por el usuario, como

ya se mencionó, la propiedad que se cambia para

visualizar la posición del malacate es Top. Este valor

se incrementa con uno cada que se cumple un ciclo en

la sentencia cíclica que contiene a esta función.

Line6.Y2 = Line6.Y2 + 10 :

Line7.Y2 = Line7.Y2 + 10

Para poder visualizar mejor la simulación del

descenso del malacate, se agregaron dos líneas

simulando el cable que sostiene al malacate con

respecto al polipasto. Estas dos líneas de código

permiten representar como aumenta el largo del cable

Page 86: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

85

que sostiene al malacate.

La propiedad Y2 indica el punto final de una línea

sobre el eje Y. El valor de esta propiedad se

incrementa con uno cada vez que se cumple con ciclo

en la sentencia que contiene a estas funciones.

LblZ.Caption = (z / 740) : Esta línea del programa modifica la propiedad

Caption de la etiqueta 5 para mostrar la posición que

tiene el malacate en la interfaz gráfica, el valor que

toma para mostrar es el de z, es decir, la posición que

tiene el shape7 respecto a su marco de referencia,

pero este se divide entre 740 para convertirlo de la

unidad de pantalla Twip a metros, que es la unidad

utilizada por el usuario.

SFStandard3.AnimationMode : Esta línea de código activa la imagen en forma de

flecha color verde, que indica que esta en ejecución la

acción del descenso.

La propiedad AnimationMode sirve para cambiar el

tipo de animación que tiene la imagen, para ésta

acción cambia de color la flecha.

If Shape7.Top = 2160 Then

chkColocar.Enabled = True

End if

Con estas líneas se condiciona que cuando se alcance

el valor máximo del largo del cable que sostiene al

malacate se habilite la caja de selección 1 que permite

colocar una carga a la grúa.

Para la programación del control de tiempo 3 de acuerdo con el diagrama de flujo

de la Figura 3.30 se utilizó el siguiente código:

Código

Private Sub tmrElevar_Timer()

z1 = txtZ.Text * 740 'se multiplica el valor introducido para ser comparado

z = Shape7.Top - 720 'se lleva a cero el largo del cable

chkColocar.Enabled = False

If z1 < z Then 'si el valor introducido por el usuario es menor al actual se cumple la

condición

'desplazamiento en el área de la representación gráfica *** vista superior ***

Shape7.Top = Shape7.Top - 10 'el gancho se eleva sobre el eje Z

Image5.Top = Image5.Top - 10

Page 87: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

86

Line6.Y2 = Line6.Y2 - 10 'líneas que representan el cable reducen su longitud

Line7.Y2 = Line7.Y2 - 10

lblZ.Caption = ((Shape7.Top - 720) / 740) 'imprime el valor de la longitud actual del

cable de la grúa en eje Z

SFStandard1.AnimationMode = 1 'indicador de elevación activado

Shape10.Top = Shape10.Top - 10 'la forma que representa a la carga se eleva al mismo

tiempo que el gancho

Line8.y1 = Line8.y1 - 10 'líneas que representan las eslingas

Line8.Y2 = Line8.Y2 - 10

Line9.y1 = Line9.y1 - 10 'líneas que representan las eslingas

Line9.Y2 = Line9.Y2 - 10

chkQuitar.Enabled = False

'desplazamiento en el área de la representación gráfica *** vista isométrico ***

imgGancho.Top = imgGancho.Top - 8 'gancho se eleva

imgCable.Height = imgCable.Height - 8 'la imagen que representa al cable que sostiene

al gancho disminuye su altura

Else

If z1 = z Then

tmrElevar.Enabled = False

SFStandard1.AnimationMode = 0

chkQuitar.Enabled = True

End If

End If

End Sub

Tabla 4.8 Código de programación para control de tiempo 3 (tmrElevar)

En la figura anterior se muestra el código de programación que realiza la acción

de elevación del malacate, en este código se utilizan los componentes que en el código de

descenso.

El control de tiempo 1 (tmrDesp) contiene la programación de posicionamiento

“ x, y ” del polipasto de la grúa, de acuerdo con el diagrama de flujo de la figura 3.28 y la

tabla de condiciones Tabla 3.4 se realizó la programación y se utilizó el siguiente código:

Código

Private Sub tmrDesp_Timer()

x1 = txtX.Text * 40 ' el valor introducido es multiplicado para poder ser comparado

X = shpPolipasto.Left - 120 'se llevar el valor de la posición inicial a cero

y1 = txtY.Text * 40 ' el valor introducido es multiplicado para poder ser comparado

Y = shpPolipasto.Top - 480 'se llevar el valor de la posición inicial a cero

chkQuitar.Enabled = False 'se encuentran deshabilitados las cajas de selección

chkColocar.Enabled = False

If Option1.Value = True Then ' Si el tipo de movimiento es por ejes

If x1 > X Then 'si el valor introducido es mayor que la posición actual se cumple esta

condición

'***Polipasto se desplaza en dirección positiva sobre eje X***

'desplazamiento en el área de la representación gráfica *** vista superior ***

shpPolipasto.Left = shpPolipasto.Left + 10 'desplazamiento del polipasto dirección

positiva sobre eje X

Page 88: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

87

shpVigatrasn2.Left = shpVigatrasn2.Left + 10 'desplazamiento de las vigas que

constituyen el puente

shpVigatrasn1.Left = shpVigatrasn1.Left + 10 'dirección positiva sobre eje X

rodcable.Left = rodcable.Left + 10 'desplazamiento del rollo de cable

lblX.Caption = ((shpPolipasto.Left - 120) / 40) 'imprime el valor de la posición actual

de la grúa en eje X

'desplazamiento en el área de la representación gráfica *** vista isométrico ***

imgGancho.Top = imgGancho.Top + 4 'desplazamiento del gancho

imgGancho.Left = imgGancho.Left + 8 'desplazamiento del gancho

imgCable.Top = imgCable.Top + 4 'desplazamiento del cable

imgCable.Left = imgCable.Left + 8 'desplazamiento del cable

imgVigastrans.Top = imgVigastrans.Top + 4 'desplazamiento del puente

imgVigastrans.Left = imgVigastrans.Left + 8 'desplazamiento del puente

imgDesp2.Top = imgDesp2.Top + 4 'desplazamiento del puente

imgDesp2.Left = imgDesp2.Left + 8 'desplazamiento del puente

imgPolipasto.Top = imgPolipasto.Top + 4 'desplazamiento del polipasto

imgPolipasto.Left = imgPolipasto.Left + 8 'desplazamiento del polipasto

imgDesp1.Top = imgDesp1.Top + 4 'desplazamiento del puente

imgDesp1.Left = imgDesp1.Left + 8 'desplazamiento del puente

indact.Visible = True 'indicador de simulación activada es visible

Else

If x1 < X Then 'si el valor introducido es menor que la posición actual se cumple esta

condición

'***Polipasto se desplaza en dirección negativa sobre eje X***

'desplazamiento en el área de la representación gráfica *** vista superior ***

shpPolipasto.Left = shpPolipasto.Left - 10 'desplazamiento del polipasto dirección

negativa sobre eje X

shpVigatrasn2.Left = shpVigatrasn2.Left - 10 'desplazamiento de las vigas que

constituyen el puente

shpVigatrasn1.Left = shpVigatrasn1.Left - 10 'dirección negativa sobre eje X

rodcable.Left = rodcable.Left - 10 'desplazamiento del cable

lblX.Caption = ((shpPolipasto.Left - 120) / 40) 'imprime el valor de la posición actual

de la grúa en eje X

'desplazamiento en el área de la representación gráfica *** vista isométrico ***

imgGancho.Top = imgGancho.Top - 4 'desplazamiento del gancho

imgGancho.Left = imgGancho.Left - 8 'desplazamiento del gancho

imgCable.Top = imgCable.Top - 4 'desplazamiento del cable

imgCable.Left = imgCable.Left - 8 'desplazamiento del cable

imgVigastrans.Top = imgVigastrans.Top - 4 'desplazamiento del puente

imgVigastrans.Left = imgVigastrans.Left - 8 'desplazamiento del puente

imgDesp2.Top = imgDesp2.Top - 4 'desplazamiento del puente

imgDesp2.Left = imgDesp2.Left - 8 'desplazamiento del puente

imgPolipasto.Top = imgPolipasto.Top - 4 'desplazamiento del polipasto

imgPolipasto.Left = imgPolipasto.Left - 8 'desplazamiento del polipasto

imgDesp1.Top = imgDesp1.Top - 4 'desplazamiento del puente

imgDesp1.Left = imgDesp1.Left - 8 'desplazamiento del puente

indact.Visible = True 'indicador de simulación activada es visible

Tabla 4.9 Código de programación para control de tiempo 1 (fragmento)

Page 89: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

88

Para activar estos controles de tiempo es necesario utilizar los botones de

comando, que tienen solo acción de encendido, esto quiere decir que solo cambia la

propiedad enabled del timer por true o false según sea el caso.

El control de tiempo 1 (tmrDesp) es activado por el botón de comando Iniciar

que se encuentra en el marco de operación. Este cuenta con la siguiente programación:

Código

Private Sub cmdIniciar _Click()

tmrDesp.Enabled = True

End Sub

Tabla 4.10 Código de programación para el botón de comando Iniciar

Como se observa en la tabla anterior, el botón de comando solo activa el timer

correspondiente.

El botón de comando Parar desactiva o cambia la propiedad enabled del timer 1.

Código

Private Sub cmdParar _Click( )

tmrDesp.Enabled = False

indact.Visible = False

End Sub

Tabla 4.11 Código de programación para el botón de comando Parar

El botón de comando Elevar activa el control de tiempo 2.

Código

Private Sub cmdElevar_Click()

tmrElevar.Enabled = True 'se activa el timer que controla la elevación del gancho

If txtZ.Text = lblZ.Caption Then

MsgBox "El valor introducido es igual a la posición actual del gancho, por favor

introduzca un nuevo valor"

End If

End Sub

Tabla 4.12 Código de programación para el botón de comando Elevar

El botón de comando Descender activa el control de tiempo 3.

Código

Private Sub cmdDescender_Click()

tmrDescenso.Enabled = True 'se activa el timer que controla el descenso

If txtZ.Text = lblZ.Caption Then

MsgBox "El valor introducido es igual a la posición actual del gancho, por favor

introduzca un nuevo valor"

Page 90: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

89

End If

End Sub

Tabla 4.13 Código de programación para el botón de comando Descender

La imagen del botón de paro tiene programada la función de cambiar la propiedad

enabled de los controles de tiempo timer1 y tmrDescenso.

Código

Private Sub Picture1_Click( )

TmrDescenso.Enabled = False

TmrElevar.Enabled = False

SFStandard3.AnimationMode = 0

SFStandard1.AnimationMode = 0

End Sub

Tabla 4.14 Código de programación el botón de paro

Con el código fuente ya mencionado es como se tiene la Interfaz gráfica ya

programada, solo hace falta tener un manual de operación de ésta para tener una buena

operación de la intrerfaz, el manual se puede revisar en el anexo1.

Page 91: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

90

CAPÍTULO 5

COSTOS

Page 92: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

91

5. COSTOS

La ingeniería en la actualidad no se limita a la solución de problemas en sus

correspondientes campos del conocimiento, sino que toma en consideración todas las

variables que puedan afectar la aplicación de soluciones y el desarrollo del proyecto. Una

de estas variables es la economía y los costos, lo que puede cambiar la toma de decisiones

o la forma en la que se deben plantear las soluciones, por esto se considera necesario que

los ingenieros estén concientes de la importancia de estos.

5.1 Costos de Ingeniería y Material

El objetivo del estimado de los costos del proyecto es el de evaluar la factibilidad

de ejecución del mismo en su etapa conceptual. Para el desarrollo de este proyecto se

utilizó un mínimo de materiales que se vuelven indispensables a la hora de la puesta en

marcha.

La interfaz gráfica como tal es una manera de reducir los costos de una empresa,

ya que con ella se puede tener un mejor control sobre las actividades realizadas, mismas

que a la larga hacen que la calidad del producto sea mayor y con esto se logre una mejor

posición en el mercado.

Los costos de programación y de diseño que se mencionan en la tabla 5.1, se

obtuvieron de experiencias de personas que se encuentran laborando como

desarrolladores de software.

COSTOS DE PROGRAMACIÓN Y DISEÑO

Concepto Precio Unitario Unidades Total

Horas de diseño

de software 400 15 6000

Horas de

programación

de software

375 10 3750

Mejoras de

software 350 8 2800

Uso de librerías 900 1 9540

TOTAL 22090

Tabla 5.1 Costos de Programación y Diseño

Page 93: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

92

CONCLUSIONES

El empleo de las grúas tipo puente dentro de la industria facilitan muchísimo el

transporte y manejo de materiales de grandes dimensiones, llámense: Volumen, Peso y

Cantidad. Gracias a las grúas se agilizan y optimizan los procesos de producción,

almacenaje, transporte dentro de la empresa, entre otros, ya que se puede tener acceso a

los materiales necesarios para dichos procesos si se tiene una grúa que los lleve según sea

necesario, por ésta razón es necesario conocer el comportamiento de la grúa.

Una simulación es una buena manera de conocer el comportamiento próximo de

un proceso, ya sea por métodos matemáticos o métodos gráficos que nos ayuden a

describir dicho comportamiento. En el desarrollo de éste trabajo se eligió utilizar como

herramienta Microsoft Visual Basic 6.0 para desarrollar la simulación de una grúa tipo

puente, y gracias a éste programa (MVB 6.0) se realizó la simulación combinando los

métodos gráfico y matemático con un lenguaje de programación.

La utilización de ésta simulación permite ver la representación gráfica de los

principales componentes de una grúa tipo puente, y como estos interactúan, además de

ser de fácil uso para el operario.

La realización de ésta simulación permitió alcanzar objetivos como el desarrollo

de la Interfaz Gráfica de Usuario, y como resultado, ésta se puede utilizar en algún

proyecto futuro como mando de control a distancia, así como monitoreo del

desplazamiento de la carga y control de posición de la grúa.

Page 94: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

93

GLOSARIO

Acometer: atacar de forma violenta, embestir con ímpetu, emprender, intentar.

Aglutinando: reunir dos o más ventanas de la misma aplicación en un mismo icono.

Argot: lenguaje específico utilizado por un grupo de personas que comparten unas

características comunes por su categoría social, profesión, procedencia, o aficiones.

Block de notas: es el editor de texto más simple que podamos encontrar en sistemas

Windows.

Conmutación: se considera como la acción de establecer una vía, un camino, de extremo

a extremo entre dos puntos, un emisor y un receptor a través de nodos o equipos de

transmisión. La conmutación permite la entrega de la señal desde el origen hasta el

destino requerido.

Decodificar: es el proceso por el cual se convierten símbolos en información entendible

por el receptor.

Eclosión: hablando de la programación es la aparición o manifestación súbita de un

programa antes de alcanzar un buen posicionamiento en el mundo de la programación.

Eslingado: sujeción de cargas

Eslingas: una eslinga es un tramo relativamente corto de un material flexible y resistente

(típicamente cable de acero), con sus extremos en forma de “ojales” debidamente

preparados para sujetar una carga y vincularla con el equipo de izaje que ha de levantarla,

de modo de constituir una versátil herramienta para el levantamiento de cargas.

hWnd: es un número único de cada ventana en ejecución dentro del ambiente de

Windows para identificar las aplicaciones, mensajes, funciones, etc. para cada ventana.

Iconografía: la iconografía es la disciplina que estudia los iconos, en la informática

consiste en sintetizar en un espacio muy pequeño la mayor información posible, para

resumir las funciones de la aplicación informática desarrollada por el programador.

Page 95: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

94

Joystick: también llamado palanca de mando, es un dispositivo de control de dos o tres

ejes que se usa desde una computadora o videoconsola hasta un transbordador espacial o

los aviones de caza, pasando por grúas.

Kbytes: un kilobyte es una unidad de almacenamiento de información cuyo símbolo es el

kb y equivale a 210

bytes

MS-DOS: el MS-DOS es un sistema operativo para computadores y se le llama Sistema

Operativo de Disco (MicroSoft Disk Operating System) porque gran parte de su

funcionamiento implica la gestión de discos y archivos de discos.

Paradigma: es un conjunto de reglas que "rigen" una determinada disciplina. Están

"reglas" se asumen normalmente como "verdades incuestionables", porque son "tan

evidentes" que se tornan transparentes para los que están inmersos en ellas.

Polipasto: máquina que se utiliza para levantar o mover una carga con una gran ventaja

mecánica, porque se necesita aplicar una fuerza mucho menor al peso que hay que mover.

Punto de levante: el punto de levante es la parte de la carga de donde es sujetada por la

grúa.

Requerimientos cognitivos: procesos exclusivamente intelectuales que preceden al

aprendizaje, las capacidades cognitivas solo se aprecian en la acción, es decir primero se

procesa información y después se analiza, se argumenta, se comprende y se produce

nuevos enfoques.

Sistema operativo: es un software de sistema, es decir, un conjunto de programas de

computación destinados a realizar muchas tareas entre las que destaca la administración

de los dispositivos periféricos.

Software: es el equipamiento lógico e intangible como los programas y datos que

almacena la computadora.

Testeros: tapas o tablas que dan la forma a la viga.

Tipología: se encarga, en diversos campos de estudio, de realizar una clasificación de

diferentes elementos:

Page 96: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

95

BIBLIOGRAFÍA

Marrero Expósito, C. (2006). “Interfaz Gráfica de Usuario: Aproximación semiótica y

cognitiva”. Proyecto de Investigación nivel doctorado, Universidad de la Laguna,

España.

Spolsky, J. (2000). “User Interface Desing for Programmers”.

Torres Rodriguez, I.C. (2006). “Control de un eje para una grúa viajera”. Tesis de

Maestría, Instituto Politécnico Nacional.

Katsuhiko Ogata, (1987). “Dinámica de Sistemas”. Prentice-Hall, Hispanoamericana

S.A., México.

Katsuhiko Ogata, (1987) “Ingeniería de Control Moderna”. Prentice-Hall,

Hispanoamericana S.A. México.

Craig J, (1989). “Introduction to robotics”. Addison-Wesley. New York.

Tiznado, M.A. (2004), “Visual Basic 6.0”, Mc Graw Hill.

Nielsen, J. (1997). “How Users Read on the Web”.

Nielsen, J. (1997). “Be Succinct ! (Wrinting for the Web)”.

Cardona, S. y D. Clos (2000). “Teoría de Máquinas”, Ediciones UPC, Barcelona –

España.

R.L.Norton, (1990). “Diseño de máquinas”. Prentice-Hall Pearson, México.

Escobar Duque, A (2003). “Programando en serio con Visual Basic 6.0”, DAED

Software

De Jesús García, M y García Delgadillo, C.A. (2007). “Diseño de una Interfaz para un

manipulador tipo scara que pueda usarse para ensamblado electrónico”, Tesis Instituto

Politécnico Nacional, México.

Mora, W. y Espinoza, J.L. (2005). “Programación Visual Basic (VBA) para Excel y

Análisis Numérico”, Instituto Tecnológico de Costa Rica.

Fourier García, M. (1998). “Aplicaciones bajo ambiente gráfico”, Trillas, SEP, México.

Page 97: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

96

ANEXO

Page 98: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

97

Manual de Operación GruaSim

1.0

Contenido

- ¿Qué es GruaSim 1.0?

- Ventana de inicio

- Ventana Principal

- Simulación 1. Posición

2. Tipo de movimiento

3. Iniciar o Detener la Simulación

4. Carga y Velocidad

5. Elevación y Descenso

6. Área de operación de la Grúa

7. Gancho

8. Sensores de inicio y final de carrera

- Proceso

Page 99: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

98

¿Qué es GruaSim 1.0?

GruaSim 1.0 es un programa de interfaz gráfica sencilla y fácil de utilizar creado para

simular el desplazamiento de una grúa tipo puente, con el fin de que el operario se

familiarice con el uso de la misma y así facilitar su operación.

-Ventana de Inicio

La ventana de inicio del programa GruaSim 1.0 muestra la versión del programa y la

fecha de creación de ésta versión.

-Ventana Principal

En ésta ventana se tienen tres pestañas las cuales tienen funciones diferentes para

poder observar el comportamiento de una grúa tipo puente.

En ésta ventana se encuentran diversos controles que facilitarán la operación del

programa al usuario los cuales se describirán a continuación

-Simulación

Page 100: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

99

En esta ventana se tienen varias secciones, en donde se introducen los valores que el

operario requiere para la simulación, a continuación se describen las secciones que

componen ésta ventana.

1. Posición

En ésta sección se introducen los valores deseados para el desplazamiento de la grúa,

tanto el desplazamiento a lo largo como desplazamiento a lo ancho del área total de

operación de la grúa.

Los valores a introducir no deben ser mayores a los de operación de la grúa, para el

desplazamiento a lo largo no debe ser mayor a 200m y para el desplazamiento a lo

ancho no debe ser mayor a 100m, en caso de que los valores que se introduzcan sean

mayores aparecerá una advertencia que pedirá introducir un nuevo valor.

Page 101: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

100

También en ésta sección podemos ver la posición actual de la grúa y como ésta va

cambiando hasta alcanzar los valores que ce introdujeron.

2. Tipo de Movimiento

En ésta sección se tienen dos opciones de movimientos, los cuales son por ejes o

directo.

Cuando ya se tienen los valores introducidos para la posición, se debe decidir que tipo

de movimiento utilizar.

- Si el tipo de movimiento elegido es por ejes.

Page 102: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

101

El desplazamiento de la grúa se realiza primero a lo largo del área de operación y

después a lo ancho.

- Si el tipo de movimiento elegido es directo.

Desplazamiento a lo largo del área de

trabajo

Page 103: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

102

El desplazamiento de la grúa es proporcional a lo largo y a lo ancho del área de

desplazamiento hasta que uno de los dos, ya sea largo o ancho alcanza la posición

deseada, entonces se desplazará sobre el que no alcanzó la posición deseada, ya sea a lo

ancho o a lo largo hasta alcanza la posición final deseada.

3. Iniciar o Detener Simulación

Desplazamiento proporcional a lo

largo y a lo ancho sobre el área de

la grúa

En éste punto el desplazamiento a

lo ancho del área de trabajo

alcanza la posición deseada

Desplazamiento a lo largo

después que el desplazamiento

a lo ancho alcanzó su posición

deseada

Posición final deseada

Page 104: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

103

Una vez que se tienen introducidos los valores de la posición deseada y el tipo de

movimiento que se desea, se inicia la simulación con los botones que se encuentran en

ésta sección de la ventana.

El botón de iniciar es el que ordena comenzar la simulación y cuando la simulación esta

activa se enciende un indicador en color verde. El botón de Parar es el que ordena

detener la simulación en cualquier punto del desplazamiento de la grúa.

4. Carga y Velocidad

En ésta sección se introduce el valor de la carga que se quiere trasladar y devuelve la

velocidad del desplazamiento de la grúa. Para introducir el valor de la carga es necesario

que se habilite la caja de selección llamada colocar carga que se encuentra en la sección

de elevación y descenso, de lo contrario el campo para introducir el valor de la carga se

encuentra deshabilitado.

5. Elevación y Descenso

Dentro de la pantalla principal se puede observar ésta sección que contiene los botones

que realizan la operación de elevación y descenso.

Page 105: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

104

En ésta sección se introduce el valor del largo del cable que sostiene al gancho y

dependiendo de lo que se requiera, ya sea elevación o descenso, se debe accionar el

botón correspondiente, si la elevación se encuentra activa, su indicador se ilumina de

color verde, por otro lado, si el descenso esta activo, su indicador se ilumina de color

verde. Si se desea detener la elevación o el descenso del gancho, entonces se encuentra

el botón de paro, el cual se enclava al ser presionado y si éste no es desenclavado con

un segundo clic los botones de elevación y descenso permanecerán desactivados.

6. Área de operación de la Grúa

En ésta sección se puede observar la acción de desplazamiento de la grúa, tanto el

desplazamiento a lo largo como a lo ancho del área de operación, en ésta parte también

se pueden observar los sensores de inicio y final de carrera. En la siguiente figura se

puede observar la representación del área de operación de la grúa, en ella se puede ver

el desplazamiento cuando se activa la simulación.

Como se puede ver en la figura anterior en la parte superior de la representación de la

estructura principal de la grúa se pueden hay dos cuadritos muy pequeños que son los

que representan los sensores de inicio y final de carrera del largo del área de trabajo,

también se encuentran en las vigas transversales dos cuadros pequeños en los extremos

de estas, los cuales representan los sensores de inicio y final de carrera del ancho del

desplazamiento de la grúa.

7. Gancho

En ésta parte de la ventana principal se puede observar una representación del plano

vertical, en el que se encuentra el gancho sostenido por el cable que junto con el

polipasto se encarga de realizar la acción de elevación y descenso. Cuando se activa la

Page 106: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

105

acción de elevación y descenso desde los botones correspondientes a cada una de estas

acciones, se puede observar dicha acción en ésta área.

En la figura anterior se pueden observar los sensores de inicio y final de carrera que

limitan el largo de la extensión del cable.

8. Sensores de Inicio y Final de carrera

En ésta sección se pueden observar los indicadores que muestran cuando un sensor de

inicio o final de carrera correspondientes a cada eje están activos.

- Proceso

En ésta ventana se puede observar el desplazamiento de la grúa cuando esta activa

cualquier acción de la simulación, ya sea cuando se desplaza o cuando se realiza la

elevación o el descenso del gancho.

Page 107: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/6751/1/SIMULACIONDESPLAZ.… · Figura 3.29 Diagrama de flujo de control de tiempo 2 ... Fuerza

INSTITUTO POLITÉCNICO NACIONAL ICA

106

En ésta pantalla no se realiza acción alguna para la simulación ya que es solo una

representación para que el operario pueda observar el desplazamiento y la posición de

la grúa dentro del área de operación.