Você está na página 1de 130

Instituto Tecnolgico de Matamoros

Departamento de Metal Mecnica

Proyecto:

Semi-Automatizacin de Control de Datos de Produccin


Realizado en:
CTS Electro de Matamoros

Para Acreditar la Residencia:


Luis Fernando Cruz Gonzlez

H. Matamoros, Tamps.

Sep 2013 Ene 2014

Instituto Tecnolgico de Matamoros


Departamento de Metal Mecnica

Semi-Automatizacin de Control de Datos de Produccin


Realizado en:
CTS Electro de Matamoros

Para Acreditar La Residencia:


Luis Fernando Cruz Gonzlez
Alumno De Ingeniera Mecatrnica
N De control: 09260740

Semestre 9

Periodo de: Septiembre 2013 Enero 2014

Asesor Interno: M.I. Jos Alberto Vzquez Romero


Asesor Externo: Dionicio Mata

H. Matamoros, Tamps.

Sep 2013 Ene 2014

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

NDICE

Agradecimientos 1
Introduccin 2

CAPTULO I GERALIDADES DEL PROYECTO


1.1 Problema ... 4
1.2 Objetivos ... 5
1.3 Justificacin . 5

CAPTULO II FUNDAMENTOS TERICOS


2.1 Introduccin a los Fundamentos tericos .. 7
2.1.1 Cules son las ventajas y desventajas de SMT en la fabricacin de
circuitos impresos? 9
2.1.2 Por qu SMT? . 11
2.1.2.1 Componentes SMD ... 12
2.2 Equipo o maquinaria utilizada en el proceso de SMT . 15
2.3 Un poco de historia sobre el lenguaje de Programacin ... 19
2.3.1 Visual Basic ... 19
2.3.1.1 Historia .. 20
2.3.1.2 Versiones .. 21
2.3.1.3 Caractersticas . 23
2.3.1.4 Entorno de Desarrollo 24
2.4 Visual Basic .NET 32
2.4.1 Versiones ..... 32

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.4.1.1 Visual Basic 2008 (VB 9.0) ... 32


2.4.1.2 Visual Basic 2010 (VB 10.0) . 33
2.4.1.2.2

Relacin con Visual Basic . 33

2.4.1.2.2 Versiones del entorno de programacin para Visual Basic .. 34


2.4.1.2.2.1 Visual Studio .NET (2002) . 34
2.4.1.2.2.2 Visual Studio .NET 2003 . 34
2.4.1.2.2.3 Visual Studio 2005 .. 35
2.4.1.2.2.4 Visual Basic Express Edition 35
2.4.1.2.2.5 Visual Studio 2008 .. 36
2.5 Microsoft SQL Server 2008 37
2.5.1 Caractersticas de Microsoft SQL Server 37
2.5.2 Programacin . 38
2.5.2.1 T-SQL . 38
2.5.2.2 Cliente Nativo de SQL ... 38
2.5.3 Desventajas 39

CAPTULO III CARACTERIZACIN DEL AREA DE TRABAJO


3.1 Informacin de la empresa 41
3.1.1 Datos generales. Nombre y ubicacin . 42
3.1.2 Descripcin de la empresa .. 42
3.1.2.1 Por qu CTS? . 43
3.1.2.2 Mercado de trabajo . 43
3.1.2.3 Servicios 43
3.1.2.4 Misin y Valores .. 43
3.1.2.4.1 Misin .. 43
3.1.2.4.2 Valores . 43
3.1.3 Polticas 44
3.1.3.1 Polticas de Calidad 44
3.1.3.2 Poltica Ambiental ... 44
3.1.4 Organigrama de la empresa 45
Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

3.1.5 Informacin del departamento 45


3.1.5.1 Organigrama del departamento ... 45
3.1.5.2 Funciones .. 46

CAPTULO IV DESCRIPCION DE LAS ACTIVIDADES


DESARROLLADAS
4.1 Cronograma de Actividades . 48
4.2 Actividades desarrolladas a travs del semestre 48
4.2.1 Septiembre ... 48
4.2.1.1 Investigacin del proceso de produccin 48
4.2.1.2 Creacin de la Base de Datos .. 50
4.2.2 Octubre . 55
4.2.2.1 Requisitos para la creacin de la aplicacin 55
4.2.2.2 Creacin de la aplicacin .. 57
4.2.2.2.1 Programando cada funcin de la aplicacin 65
4.2.2.2.1.1 Insertar la informacin de la aplicacin a la
tabla . 68
4.2.2.2.1.2 Seleccin de un registro entero por el
nmero de serial .. 70
4.2.2.2.1.3 Para

eliminar

registros por medio del

serial .72
4.2.2.2.1.4 Creacin de un procedimiento de bsqueda
de coincidencias de patrn de caracteres . 73
4.2.2.3 Programacin en Microsoft Visual Studio 2010 .. 75
4.2.3 Noviembre 85
4.2.3.1 Inicio de Pruebas . 85
4.2.3.1.1 Reporte 86
4.2.3.1.2 Caja Parcial . 95
4.2.3.1.3 Delete ... 95
4.2.3.1.4 Update 100
4.2.3.1.5 Men Count .. 101

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.3.1.6 Funcin Find Serial . 106


4.2.4 Diciembre . 117
4.2.4.1 Implementacin de la aplicacin .. 117

CAPTULO V RESULTADOS OBTENIDOS


5.1 Resultados .. 119

CAPTULO VI ALCANCES Y LIMITACIONES


6.1 Alcances .. 121
6.2 limitaciones . 121

CAPTULO VII CONCLUSIONES Y RECOMENDACIONES


7.1 Conclusiones .. 123
7.2 Recomendaciones . 123
ANEXOS . 124

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

AGRADECIMIENTOS
Gracias a todos los que ayudaron y colaboraron en la realizacin de este proyecto.
A mi asesor externo, Dionicio Mata, quien me ayudo a resolver mis dudas en cuestin
de la programacin, y tambin que abri las puertas de la empresa CTS Electro de
Matamoros divisin EMS, para que pudiera realizar mis residencias en dicho lugar.
Gracias al personal de Produccin que gracias a ellos me ayudaron a mejorar an ms
la aplicacin, sin ellos y sin sus comentarios no podra haber desarrollado el programa,
A mis compaeros de trabajo que me brindaron un excelente ambiente de trabajo.
Y en especial, un agradecimiento grande a mi Institucin que me permiti estudiar en
sus aulas y que me ayudo a desarrollarme tal como lo soy ahora.
A todos, gracias porque me permitieron entrar a sus vidas y conocerlos, y este es el
resultado de nuestro trabajo y esfuerzo.

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

INTRODUCCIN
En la actualidad, es difcil encontrar a personas que les guste la programacin, adems
de que es un poco tedioso el hecho de estar sentado y programando, si bien no haces
ningn esfuerzo fsico, tu mente est trabajando porque tienes que estar pensando en
la lgica de como programaras una sintaxis.
El

proyecto semi-automatizacin de control de datos de produccin nace de la

necesidad de tener un mejor control de las piezas escaneadas por da, adems de
tratar evitar incidentes de etiquetas repetidas o cualquier otro problema que pudiera
generar problemas de tiempo muerto, o simplemente tiempo perdido.
El proyecto se desarroll en un entorno de programacin, todo va a ser electrnico,
nada ser en papel ya que adems de que este proyecto trabajara para tener un mejor
control, tambin es un proyecto de paperless (o de ahorro de papel), ya que ahora se
planea utilizar todos los reportes en lugar de hacer en papel dejarlos electrnicamente.
La informacin se guard en una base de datos de Microsoft SQL server 2008, toda la
informacin necesaria la contendr esta base de datos.
Los reportes se exportaron en una hoja de Excel, ya que a los ingenieros y tcnicos de
calidad les es ms viable utilizar esos datos en esa interfaz de Microsoft.
Cada una de las aplicaciones del programa desarrollado, fueron realizadas o
mejoradas en cuanto se probaba el programa.

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

CAPITULO I
GENERALIDADES DEL PROYECTO

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

GENERALIDADES DEL PROYECTO


1.1 Problema
En la empresa se trabajan con etiquetas para controlar el flujo del material, adems
esas etiquetas se convierten en el nmero de serial de la pieza por lo que, por la
gran variedad de etiquetas que hay, puede a llegar a perderse una entre todas, si
bien cada una de las etiquetas tiene especficamente su modelo, el nmero de la
semana, ao actual y hasta el nombre del cliente, algunas llegan a repetirse, porque
aun tengan todos estos candados aun as el personal de almacn puede llegar a
generar etiquetas repetidas. Ya que ellos llevan el control de la cantidad de
etiquetas por da, a veces se imprimen alrededor de 1000 etiquetas por da, claro de
un solo modelo, as es que ese mismo error se le sumen a otros modelos, que
hasta ahorita son arriba de 50 modelos diferentes, que crean cajas de hasta 1000
piezas por cada una.

Entonces el problema crece an ms cuando pretenden tener un control de cada


una de las piezas, y es ese momento donde se generan las preguntas, Cmo
poder controlar que mis seriales no se repitan?, Cmo saber que serial va en cada
caja?, Cmo puedo ver un reporte diario del total de piezas o cajas realizadas en
todo el da?, Cmo puedo rastrear un numero de serial en cada proceso que est
en la planta?, Podre controlar el nmero de Work Order que estoy usando?

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

1.2 Objetivos
El principal objetivo del proyecto es tener un control (historial) de todo lo que est
sucediendo en la planta, en que proceso va la pieza, evaluar si la pieza es buena o
no, recaudar los datos necesarios para que calidad haga uso de ellos, adems de
responder las preguntas que fueron escritas en el prrafo anterior.
Reducir tiempos muertos al buscar etiquetas repetidas.
Evitar etiquetas repetidas.
Evitar material fuera del flujo de produccin.
Estandarizar las aplicaciones que tienen para cada lnea de produccin.
Mejorar el proceso en produccin.

1.3 Justificacin
Al realizar este proyecto la empresa tendr un control total de las piezas con las que
trabaja, podr realizar un reporte en el cual podr ver qu tal va la produccin en
tiempo real, este software ayudara a resolver o a detectar pequeos bug en el
proceso, lo cual implica que al detectarlos podremos hacer acciones correctivas
para poder hacer una mejora, o hasta realizar proyectos de mejora continua.

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

CAPITULO II
FUNDAMENTOS TEORICOS.

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

FUNDAMENTOS TEORICOS.
2.1 Introduccin a los fundamentos Tericos.
Para poder producir las tablillas que el cliente demanda la empresa trabaja con lneas
de produccin SMT, que por sus siglas en ingles significan: Surface-mount
technology (SMT) o traducido al espaol es tecnologa de montaje superficial, que
son mquinas que se encargan de ensamblar las tablillas o PCB, que en ingles
significa printed circuit board (PCB) o traducido al espaol tarjeta de circuito
impreso; en los cuales se insertan todos los componentes que utilizara la tablilla, pero
hay que tener en cuenta que cada uno de los componentes son muy pequeos es por
eso que la maquina SMT los inserta, ya que es controlada por un programa el cual se
basa en coordenadas para poder insertar los componentes en el lugar que se desea de
la tablilla o PCB.
Para hablar un poco ms sobre esto veamos informacin a detalle:
Este artculo fue encontrado en la pgina web:
http://www.ladelec.com/teoria/informacion-tecnica/1220-que-es-la-tecnologia-demontaje-superficial-smt
La tecnologa de montaje superficial (SMT - ingls - Surface Mount Technology) es el
proceso de construir circuitos electrnicos, en que los componentes estn soldados
directamente sobre la superficie de una placa de circuito impreso (PCB). Dentro de la
tecnolgica, el montaje superficial ha substituido a la tcnica de la tecnologa de
agujero pasante (through hole); el mtodo utilizado en el proceso de instalar
componentes con cables almbricos en agujeros de la tarjeta del PCB, atravesando la
placa de un lado a otro.
La tecnologa SMD es diferente, las conexiones se realizan mediante contactos en la
superficie inferior de la placa- terminaciones metlicas alrededor de la placa. Las dos
tecnologas pueden ser usadas en el mismo circuito impreso para componentes que no
estn hechos para el SMD tales como los trasformadores y semiconductores de alta
potencia en disipadores de energa trmica.

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Un componente de SMT, o un SMD (dispositivo de surface-mount) es normalmente


ms pequeo que uno de la tecnologa through hole porque tiene cables ms pequeos
o no los tiene en absoluto. Puede contener unos pins electrnicos cortes o cables de
diferentes formas, contactos planos, matrices de bolitas de estao (BGA conexiones
Ball Grid Aray) o alternativamente terminaciones metlicas al borde del circuito. Como
es evidente, el ensamblado a mano de piezas utilizando la tecnologa SMD es difcil,
por eso exige la automatizacin por ejemplo en las lneas de fabricacin masiva. Es
una tcnica muy delicada hacer que un diseo SMD funcione bien incluso en
ambientes con altos ndices de la interferencia electromagntica. Hay varios trminos
utilizados con la tecnologa superficial, ms conocidas por sus siglas inglesas:

Trmino de

Trmino Entero

SMT

SMD

Dispositivo Surface-mount (activos,

psivos

and

componentes

electro-mecnicos)

SMT

Tecnologa de Surface-mount (ensamblaje y tecnologa de montaje)

SMA

Ensamblaje de Surface-mount (mdulo ensamblado con SMT)

SMC

Componentes de Surface-mount (componentes para SMT)

SMP

Encapsulo de Surface-mount (SMD case forms)

SME

Surface-mount equipment (SMT assembling machines)

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.1.1 Cules son las ventajas y desventajas de SMT en la Fabricacin de


Circuitos Impresos?
Los beneficios: Hay muchos beneficios con el Montaje Superficial. Primero, los
componentes son ms pequeos, por ejemplo en 2012, el ms pequeo fue 0.4 x 0.2
mm. Tambin hay una mejor densidad de componentes disponible, o sea, ms
componentes por rea de placa (incluyendo ms cables por cada componente
tambin). Con la tecnologa SMT, se facilita el rendimiento mecnico bajo condiciones
de vibracin. Bajo coste inicial y coste y tiempo para la produccin- y muchas partes de
Montaje Superficial cuestan menos que la misma parte en un componente Agujero
Pasante.
Ms beneficios tienen que ver con el ensamblaje. Durante la fabricacin del circuito
impreso, no hace falta taladrar tantos agujeros. El ensamblaje automatizado es ms
rpido y sencillo; porque algunas mquinas son capaces de instalar un montn de
componentes durante poco tiempo (130,000 componentes p/hora). Adems, si hay
algunos errores en la colocacin de componentes, estn corregidos automticamente
porque la tensin dentro de la soldadura fundida tira y realinea los componentes con
los electrodos de soldadura. Otro beneficio es que los componentes pueden ser
instalados en cualquier lado del circuito impreso. Bajo resistencia e inductancia a la
conexin, que lleva a menos efectos superfluos RF (espectro de radiofrecuencia) y un
mejor rendimiento alta-frecuencia ms previsible. Para resumir los circuitos impresos
hechos de SMT tienen mejor EMC (compatibilidad electromagntica), que es, menos
emisiones radiadas debido al espacio de radiacin reducido (debido al encapsulo ms
pequeo) e inductancia de cable mnimo.
Por otro lado, SMT tiene unos obstculos: Por ejemplo ensamblaje de prototipos o la
reparacin a nivel-componente es ms difcil, exige ms habilidad personal y
herramientas caras, debido a los tamaos reducidos y posicionamiento de muchos
SMDs. Adems, los dispositivos de Montaje Superficial no pueden funcionar
colaborativamente con breadboards (herramientas de construccin de prototipos),
exigen un pcb por encargo para cada prototipo, o el montaje del dispositivo sobre un
pin portador acabado con plomo. En cuanto a los prototipos sobre un componente

Semi-Automatizacin de Control de Datos de Produccin

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

especfico SMD, una placa breakout puede ser utilizado. Adicionalmente, protoplacas
en estilo de tablero alistonado puede ser esgrimido, algunos de que incluyen electrodos
para componentes SMD con tamao estndar. Para la fabricacin de prototipos, un tipo
de fabricacin llamada dead bug puede ser utilizado (este proceso tiene mucha
informacin pero en ingls).
Las conexiones de soldadura para los dispositivos de montaje superficial pueden ser
daadas por compuestos potting pasando por ciclos trmicos. Las dimensiones de
soldadura de uniones SMT rpidamente se hacen ms pequeas mientras desarrolla la
tecnologa de fabricacin ultra-fina. La fiabilidad de uniones de soldadura se pone ms
concertantes, cada vez menos soldadura permitida por cana unin. Hacer el nulo
(voiding) es un problema asociado con las uniones de soldadura, cuando refluyamos
una pasta soldadura en la aplicacin SMT. La existencia de aquellos nulos puede
degenerar la fuerza de la ligada, eventualmente lleva al fracaso de la ligada.
SMT no es adecuado y no sirve para partes grandes, alta-potencia, o alta tensin- por
ejemplo con la circuitera de alta potencia. Es comn combinar SMT y la tecnologa de
agujero pasante con los trasformadores y semiconductores de alta potencia en
disipadores de energa trmica, capacitores grandes, fusiles, conectores. En fin la
tecnologa SMT es inadecuada para la conexin de componentes que estn sujetos a
estrs mecnico, tal como conectores que estn utilizados para la interfaz con
dispositivos externos que estn frecuentemente conectados y desconectados.

Este otro artculo fue encontrado de la siguiente pgina web:


http://ayudaelectronica.com/que-es-smt-tecnologia-montaje-superficial/
Prcticamente todos los dispositivos electrnicos que se producen actualmente son
fabricados con Tecnologa de Montaje Superficial, SMT. Los dispositivos de
montaje superficial, SMD, proporcionan muchas ventajas sobre sus predecesores
(tecnologa thru-hole) en trminos de fabricacin y a menudo en rendimiento.

Semi-Automatizacin de Control de Datos de Produccin

10

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

No fue sino hasta la dcada del 80 en que la tecnologa de montaje superficial, SMT,
se empezo a utilizar ampliamente. Una vez que comenz a ser utilizada, el cambio de
componentes convencionales a los componentes superficiales (SMD) se llev a cabo
rpidamente en vista de las enormes ganancias que se podran hacer empleando
tecnologa SMT.
2.1.2 Por qu SMT?
Las placas de circuitos electrnicos producidos en masa necesitan ser fabricadas de
una manera altamente mecanizada para alcanzar el menor coste de fabricacin. Los
componentes tradicionales no se prestan a este planteamiento, aunque un grado de
mecanizacin era posible las terminaciones (leads o pines) del componente
necesitaban ser pre-formadas. Adems, las conexiones mediante cables traen
inconvenientes inevitables desde cortes a posicionamiento errneo, todo esto trae
aparejado una merma considerable en las tasas de produccin.
Fue razonable que los cables que haban sido tradicionalmente utilizados para las
conexiones no eran necesarios para la construccin de placas de circuito impreso y en
lugar de tener componentes con pines colocados a travs de agujeros, podan ser
soldados directamente sobre pads en el PCB. La disminucin de la cantidad de los
agujeros, y el ahorro del estao metalizado usados en los mismos, tambin tuvo su
impacto al momento de disminuir los costos de la produccin.
Esta nueva tecnologa fue llamada SMT dado que los componentes se montaban en la
superficie de la plaqueta, en vez de tener conexiones a travs de los agujeros y los
dispositivos

(componentes)

utilizados

fueron

denominados SMD.

Esta

nueva

tecnologa fue adoptada muy rpidamente, ya que permita utilizar un mayor grado de
mecanizacin, y un ahorro alto en los costes de fabricacin.
Para poder emplear la tecnologa de montaje superficial, se necesit un conjunto
completamente nuevo de componentes electrnicos y un cambio bastante grande en la
forma en que se diseaban los esquemticos.

Semi-Automatizacin de Control de Datos de Produccin

11

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.1.2.1 Componentes SMD


Los dispositivos de montaje superficial (DME por sus siglas en espaol), por su
naturaleza son muy diferentes a los componentes tradicionales con pines y pueden
dividirse en varias categoras:
SMD Pasivos: Hay una gran variedad de diferentes encapsulados utilizados en
los componentes SMD pasivos. Sin embargo, la mayora son resistores o
capacitores, por lo cual el tamao de los encapsulados estn razonablemente bien
estandarizado. Otros componentes como bobinas, cristales y otros tienden a tener
necesidades individuales y por lo tanto sus propios encapsulados.
Los resistores y capacitores vienen en una variedad de encapsulados de distintos
tamaos, se los denomina, por ej: 1812, 1206, 0805, 0603, 0402 y 0201. Las cifras se
refieren a las dimensiones en decimas de pulgadas. En otras palabras, el 1206 mide
.12 (3 mm) por .06 (1,5 mm) pulgadas. Los tamaos ms grandes, tales como 1812 y
1206 fueron los primeros que se usaron, aunque actualmente no son de uso
generalizado en grandes producciones. Sin embargo se puede encontrar uso en
aplicaciones en las que mayores niveles de energa son necesarias, o cuando otras
consideraciones exigen el tamao ms grande.

Semi-Automatizacin de Control de Datos de Produccin

12

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Las conexiones a la placa de circuito impreso se realizan a travs de reas (pads)


metalizadas en los extremos del paquete.

Transistores y Diodos: Estos componentes vienen presentados a menudo en


un encapsuladopequeo de plstico. Las conexiones se realizan a travs pines, que
salen del encapsulado y asientan sobre el pad de la placa. En el caso de los
transistores al presentar 3 terminaciones (base, colector y emisor) por la forma del
encapsulado es imposible colocarlo mal.

Circuitos Integrados: Hay una variedad de encapsulados diferentes empleados para


los circuitos integrados. El encapsulado utilizado depende del nivel de interconexin
requerida. Muchos chips de baja escala de integracin solo pueden requerir 14 o 16
pines, mientras que otros, como los procesadores y los chips VLSI asociados pueden
necesitar hasta 200 o ms. En vista de la amplia variacin de las necesidades radica la
gran cantidad de encapsulados diferentes.

Semi-Automatizacin de Control de Datos de Produccin

13

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Para los chips ms pequeos, encapsulados como el SOIC (Small Outline Integrated
Circuit) pueden ser utilizados. Son la versin SMT del clsico DIL (Dual In Line)
tambin llamados DIP, por ejemplo se los usan en la conocida serie lgica 74XXX.
Adems, hay versiones ms pequeas incluyendo TSOP (Thin Small Outline Package)
y SSOP (Shrink Small Outline Package).

Los chips VLSI requieren un enfoque diferente. Normalmente, se emplean


encapsulados con pines en los cuatro costados (quad flat pack). La separacin de los
pines depende del nmero de la cantidad requerida. Para algunos de los chips puede
ser una distancia de 20 milsimas de pulgada.

Otros encapsulados tambin estn disponibles. Un


conocido como BGA (Ball Grid Array) se utiliza en
muchas

aplicaciones.

En

lugar

de

tener

las

conexiones en el lado del paquete, que se encuentran


debajo. Se sueldan mediante pequeas esferas de
estao, como la totalidad de la parte inferior del
encapsulado puede ser utilizado, se puede colocar
mayor cantidad de pines o igual cantidad ms
grandes y espaciados obteniendo un fijamiento ms fiable.

Semi-Automatizacin de Control de Datos de Produccin

14

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.2 Equipo o maquinaria utilizada en el proceso de SMT


Horizon Dek
Montadora de Flux, mquina que se encarga de montar la
soldadura o pasta (flux) en la tablilla.

Cyberoptics SE 300 Ultra


Esta mquina se encarga de medir la altura de la pasta puesta
en el PCB.

Hitachi GXH-3 (Direct Drive Module Mounter)


Mquina

que

se

encarga

de

montar

los

componentes en el PCB.

Heller 1809 Exl


Horno que se encarga de soldar los compontes al
PCB.

Semi-Automatizacin de Control de Datos de Produccin

15

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

AOI YESTECH
Deteccin visual, se encarga de examinar cada
uno de los PCB, pasa o no pasa.

Lavadora Nuclean Poly SMT 318


Lavadora de PCBs que se usa en aquellos
que por su proceso, es necesario que se
tenga que lavar, algunas, solo con agua y
otras con agua y con jabn. Aqu agregan
una nota, Todo material despus de SMT,
no debe permanecer sin lavar ms de 4
horas, claro en caso de ser requerida.

Soldadora Selectiva Eco Select EERSA


Mquina

que

se

encarga

de

soldar

los

componentes en los PCBs cuando son insertados


manualmente.

Esta

mquina

es

capaz

de

seleccionar flux con plomo y flux sin plomo.

Semi-Automatizacin de Control de Datos de Produccin

16

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Soldadora Ola Con Plomo Y Sin Plomo


Mquina

que

componentes

se
en

encarga
los

de

PCBs

soldar
cuando

los
son

insertados manualmente. Son dos mquinas de


tipo OLA, la cuales son una con plomo y otra sin
plomo, hay que mencionar que la mquina que
trabaja con plomo es peligrosa.

Mquina De Rayos X Insight 130 Pro


Mquina por la que la mayora de las tablillas que contienen
componentes chipset, los cuales se necesitan verificar que
sus pines estn bien soldados, es aqu donde se verifica
que no contengan errores de soldadura, o cortos
indetectables al ojo humano.

Computadora
Equipo de oficina que funciona como
interface entre el usuario y la etiqueta, en
ella se capturara la etiqueta para su
respectivo almacenamiento.

Escner
Equipo de cmputo con el que se escanean las etiquetas.

Semi-Automatizacin de Control de Datos de Produccin

17

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

rea de HLA:
Empaque de todos los productos ya terminados, inspeccin de calidad.
rea de PTH:
Ensamble y soldadura manual de componentes.

Semi-Automatizacin de Control de Datos de Produccin

18

Residencias

2.3

UN

Luis Fernando Cruz Gonzlez

POCO

DE

HISTORIA

SOBRE

ITM 2014

EL

LENGUAJE

DE

PROGRAMACIN
2.3.1 Visual Basic.

Visual Basic es un lenguaje de programacin dirigido por eventos, desarrollado por


Alan Cooper para Microsoft. Este lenguaje de programacin es un dialecto de BASIC,
con importantes agregados. Su primera versin fue presentada en 1991, con la
intencin de simplificar la programacin utilizando un ambiente de desarrollo
completamente grfico que facilitara la creacin de interfaces grficas y, en cierta
medida, tambin la programacin misma.
La ltima versin fue la 6, liberada en 1998, para la que Microsoft extendi el soporte
hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a
un framework o marco comn de libreras, independiente de la versin del sistema
operativo, .NET Framework, a travs de Visual Basic .NET (y otros lenguajes como C
Sharp (C#) de fcil transicin de cdigo entre ellos); fue el sucesor de Visual Basic 6.
Aunque Visual Basic es de propsito general, tambin provee facilidades para el
desarrollo de aplicaciones de bases de datos usando Data Access Objects, Remote
Data Objects o ActiveX Data Objects.

Semi-Automatizacin de Control de Datos de Produccin

19

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor de
textos para edicin del cdigo fuente, un depurador, un compilador (y enlazador) y un
editor de interfaces grficas o GUI.

2.3.1.1 Historia
Todas las versiones de Visual Basic para Windows son muy conocidas, aunque la
Microsoft Visual Basic 1.0 desarrollada para el sistema operativo MS-DOS (ediciones
Profesional y Estndar), que data de 1992, fue menos difundida. Esta provea un
entorno que, aunque en modo texto, inclua un diseador de formularios en el que se
podan arrastrar y soltar distintos controles.
La ltima versin que slo generaba aplicaciones de 16 bits fue la 3.0, y no inclua una
biblioteca detallada de componentes para toda clase de usos. Durante la transicin de
los sistemas Windows 3.11 a Windows 95, en 1995, hizo su aparicin la versin 4.0 de
Visual Basic; sta poda generar programas tanto de 16 como de 32 bits, a partir del
mismo cdigo fuente, aunque a costa de un gran aumento en el tamao de los archivos
necesarios en tiempo de ejecucin ("runtime"). Adems, se sustituyeron los controles
denominados VBX por los nuevos OCX. Con la siguiente versin, la 5.0, se estuvo a
punto de implementar por primera vez la posibilidad de compilar a cdigo nativo,
obteniendo una mejora de rendimiento considerable. Tanto esa como la sucesora 6.0
soportaban ciertas caractersticas propias de los lenguajes orientados a objetos, pero
carecan de algunas importantes, tales como herencia y sobrecarga; pero, de hecho, no
fue pensado como lenguaje orientado a objetos. La versin 6.0, que puede generar
cdigo ejecutable directo en 32 bits, contina aun utilizndose masivamente, y es
compatible con las ltimas versiones de los sistemas Windows, como Windows 7 y
Windows 8.
Visual Basic evolucion para integrar la plataforma .NET; all perdi su propia identidad
como lenguaje nico adquirible, pasando a integrar un paquete de productos, llamado
precisamente Microsoft .NET; dentro de ese paquete o framework se encuentra el
nuevo y llamado Visual Basic .NET, que trabaja sobre el entorno Microsoft Visual
Semi-Automatizacin de Control de Datos de Produccin

20

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Studio. Esta nueva versin del lenguaje posee profundas diferencias en la forma de
programar respecto de Visual Basic 6, pero gran semejanza en su sintaxis bsica.
Cabe mencionar que, aunque fue menos conocido, se desarroll tambin una versin
gratuita de Visual Basic 5.0, orientada al desarrollo de controles y componentes; su
nombre especfico era Microsoft Visual Basic 5.0 Control Creation Edition (Visual Basic
5 CCE). Tambin hubo versiones orientadas al desarrollo de aplicaciones para
dispositivos mviles basados en Windows CE y Pocket PC, conocidas como Embedded
(Visual Basic).
2.3.1.2 Versiones
Visual Basic 1.0 para Windows se liber en mayo de 1991.
Visual Basic 1.0 para MS-DOS fue liberada en septiembre de 1992. Poco popular, este
lenguaje no era compatible con Visual Basic para Windows, ya que constitua en
realidad la siguiente versin de los compiladores BASIC vigentes para DOS,
denominados QuickBASIC y BASIC PDS (Profesional Development System). Usaba
una interfaz de texto, con caracteres ASCII extendidos que daban la apariencia de una
interfaz grfica.
Visual Basic 2.0 fue liberado en noviembre de 1992. Vena en versiones Standard y
Professional. El entorno de programacin era ms fcil de usar que el anterior, y su
velocidad de proceso fue mejorada. En particular, los formularios se convirtieron en
objetos instanciables, sentando as los conceptos fundamentales para mdulos de
clase, que ms tarde se ofreceran en la versin 4.
Visual Basic 3.0 sali al mercado en verano de 1993, en versiones Standard y
Profesional. Inclua la versin 1.1 de Microsoft Jet Database Engine, que permita
acceso a bases de datos Access.
Visual Basic 4.0, surgida en agosto de 1995, fue la primera versin que generaba
aplicaciones tanto de 16 como de 32 bits para Windows. Haba incompatibilidades
entre las distintas realeases de esta versin que causaban fallas de instalacin y
problemas de operacin. Mientras las anteriores utilizaban controles VBX, con la 4.0 se

Semi-Automatizacin de Control de Datos de Produccin

21

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

comenzaron a utilizar controles OLE en archivos OCX, que ms tarde se llamaran


controles ActiveX.
En febrero de 1997, Microsoft lanz Visual Basic 5.0, versin que generaba programas
de 32 bits exclusivamente. Los programadores que an preferan desarrollar
aplicaciones en 16 bits deban necesariamente utilizar VB 4.0, siendo transportables en
cdigo fuente a VB 5.0 y viceversa. En la versin 5 se tena la posibilidad de crear
controles personalizados; tambin permita compilar a cdigo ejecutable nativo de
Windows, logrando con ello incrementar la velocidad de ejecucin de los programas
generados, ms notablemente en los de clculo.

Visual Basic 6.0, salido a mediados de 1998, muy mejorado, increment el nmero de
reas1 e incluy la posibilidad de crear aplicaciones basadas en Web. Microsoft retir
el soporte de VB6 en marzo de 2008, pero a pesar de ello las aplicaciones que genera
son compatibles con plataformas ms modernas, como Windows Vista, Windows
Server 2008, Windows 7 y Windows 8.2 3
El soporte estndar para Microsoft Visual Basic 6.0 finaliz el 31 de marzo de 2005,
pero el extendido termin en marzo de 2008.4 La comunidad de usuarios de Visual
Basic expres su grave preocupacin y se firm una peticin para mantener el producto

Semi-Automatizacin de Control de Datos de Produccin

22

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

vivo.5 Microsoft se ha negado hasta el momento a cambiar su posicin sobre el asunto.


Irnicamente, en esa poca (2005) se da a conocer que el software antiespa ofrecido
por Microsoft, "Microsoft AntiSpyware" (parte de la GIANT Company Software), fue
codificado en Visual Basic 6.0; su posterior sustituto, Windows Defender, fue reescrito
en cdigo C++.6
2.3.1.3 Caractersticas
Los compiladores de Visual Basic generan cdigo que requiere una o ms libreras de
enlace dinmico para que funcione, conocidas comnmente como DLL (sigla en ingls
de

dynamic-link

library);

en

algunos

casos

reside

en

el

archivo

llamado

MSVBVMxy.DLL (siglas de "MicroSoft Visual Basic Virtual Machine x.y", donde x.y es la
versin) y en otros en VBRUNXXX.DLL ("Visual Basic Runtime X.XX"). Estas
bibliotecas DLL proveen las funciones bsicas implementadas en el lenguaje,
conteniendo rutinas en cdigo ejecutable que son cargadas bajo demanda en tiempo
de ejecucin. Adems de las esenciales, existe un gran nmero de bibliotecas del tipo
DLL con variedad de funciones, tales como las que facilitan el acceso a la mayora de
las funciones del sistema operativo o las que proveen medios para la integracin con
otras aplicaciones.
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede
ejecutar el programa que est desarrollndose, es decir en modo intrprete (en realidad
pseudo-compila el programa muy rpidamente y luego lo ejecuta, simulando la funcin
de un intrprete puro). Desde ese entorno tambin se puede generar el archivo en
cdigo ejecutable (exe); ese programa as generado en disco puede luego ser
ejecutado sin requerir del ambiente de programacin (incluso en modo stand alone),
aunque s ser necesario que las libreras DLL requeridas por la aplicacin desarrollada
se encuentren tambin instaladas en el sistema para posibilitar su ejecucin.
El propio Visual Basic provee soporte para empaquetado y distribucin; es decir,
permite generar un mdulo instalador que contiene al programa ejecutable y las
bibliotecas DLL necesarias para su ejecucin. Con ese mdulo la aplicacin

Semi-Automatizacin de Control de Datos de Produccin

23

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un


sistema operativo compatible).
As como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros que
permiten disponer de variadas y mltiples funciones, incluso mejoras para el propio
Visual Basic; las hay tambin para el empaquetado y distribucin, y hasta para otorgar
mayor funcionalidad al entorno de programacin (IDE).
2.3.1.4 Entorno de desarrollo
Existe un nico entorno de desarrollo para Visual Basic, desarrollado por Microsoft:
Microsoft Visual Basic x.0, correspondientes a versiones desde la 1.0 hasta la 6.0, (con
respectivas diferencias entre versiones del lenguaje).
El entorno de desarrollo es muy similar al de otros lenguajes. Realizando una
instalacin tpica del producto, las caractersticas bsicas se presentan de la siguiente
forma:
En la parte superior aparecen tres elementos, en este orden: la barra de ttulo donde
figura el nombre del proyecto en curso y su estado (diseo o ejecucin); la barra de
men con 13 opciones desplegables y una barra de herramientas; esta ltima se puede
personalizar, posibilitando la inclusin de prcticamente la totalidad de los comandos
del IDE.
En la parte central, cubriendo la franja de mayor rea, se encuentra el espacio de
trabajo. ste incluye y muestra las ventanas del proyecto, las vistas del cdigo fuente
de los mdulos, los objetos y los controles que contienen las ventanas de la aplicacin
y el panel de controles.

Semi-Automatizacin de Control de Datos de Produccin

24

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

El panel de controles, que aunque es mvil normalmente est ubicado a la derecha, por
defecto cuenta con los siguientes controles:
PictureBox - Caja de imgenes

El contenedor principal de imgenes en formularios es PictureBox, este control se


encuentra en el cuadro de herramientas de la parte de la izquierda. Basta con arrastrar
el control al formulario, y aplicarle un tamao. Este tamao puede ser modificado
arrastrando alguna de las esquinas, o acoplarlo al contenedor principal que, en nuestro
caso, al no haber nada ms que el formulario, ste sera el propio contenedor. Para
poder acoplarlo simplemente pulsaremos sobre la flecha de la esquina superior
derecha del PictureBox y seleccionamos Acoplar en contenedor primario.
Para poder elegir una imagen a mostrar en nuestro PictureBox, pulsaremos en la
opcin Elegir imagen, pudiendo agregarla a la solucin del proyecto (carpeta
Resources) o desde nuestro pc. La primera opcin es interesante, puesto que de esta
manera la imagen se guarda en el proyecto y se incluir en la solucin.

Semi-Automatizacin de Control de Datos de Produccin

25

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Label - Etiqueta

Este componente se utiliza para desplegar textos o mensajes estticos dentro de las
formas, textos tales como encabezados, solicitud al usuario del programa para que
proporcione algn dato o informacin (edad, dame sueldo, etc.), en cierta forma hace
las funciones de printf, cout, writeln, print, display, etc., pero solo cuando se consideran
en su parte de mensajes.
Tambin es un objeto en Visual Basic y por tanto tiene asociados sus propias
propiedades y eventos, al mismo tiempo como se est usando dentro del objeto form1,
muchas propiedades que se definan para el objeto Form1, el objeto Label1 las va a
heredar.
Si bien es cierto que el objeto se llama Label, pero cuando se ponen dentro de una
forma Visual Basic los va numerando automticamente, si se ponen tres Labels en
Form1, ellos se llaman, simbolizan, procesan o programan como Label1, Label2,
Label3.
TextBox - Caja de texto

En los programas de computadora, una caja de texto, campo de texto o caja de entrada
de texto es un elemento comn de una interfaz grfica de usuario, tambin como el
correspondiente tipo de widget usado al programar GUIs. El propsito de la caja de
texto es permitir al usuario la entrada de informacin textual para ser usada por el
programa.
Las pautas para la interfaz de usuario recomiendan usar una caja de texto de una sola
lnea cuando solo una lnea de entrada es requerida, y una caja de texto multi-lnea
solo si ms de una lnea de entrada puede ser requerida. Las cajas de texto no
editables pueden servir al propsito simplemente de exhibir texto.

Semi-Automatizacin de Control de Datos de Produccin

26

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Una caja de texto tpica es un rectngulo de cualquier tamao, posiblemente con un


borde que separa la caja de texto del resto de la interface. Las cajas de texto pueden
contener cero, uno, o dos scrollbars. Algunas cajas de texto pueden exhibir una lnea
vertical que parpadea (conocida como caret), indicando la regin actual del texto que
se est editando. Es comn que el cursor del ratn cambie su forma cuando est sobre
una caja de texto.
Frame - Marco

Tambin se le conoce como marco o panel, observar que incluye una pestaa, donde
se describe en forma lgica todos los controles que agrupa, por ejemplo captura,
cuestionario, datos, etc.
Solo se deber recordar colocar primero todos los paneles en la forma y encima de
ellos los componentes que contendrn.
Es decir se puede dividir una sola ventana en varias partes, por ejemplo en un panel se
ponen los componentes donde se capturan los datos de un problema junto con el botn
de OK, y en otro panel se construye la salida, otro ejemplo se crea un panel para
capturar los datos de un empleado incluyendo sueldo diario y das trabajados y un
segundo panel contiene su cheque semanal de pago (problema sugerido tambin).
CommandButton - Botn de comando

Es el control principal de la forma, contiene el cdigo principal del programa y su


activacin por el usuario provoca que se realicen los principales procesos del problema
planteado (aqu es donde se capturan datos, se realizan operaciones, etc.).
De este control se maneja su propiedad Caption para etiquetarlo con la palabra OK o
ACEPTAR o EXE, y su evento Click para activarlo, es en dicho evento donde se
construye el cdigo del programa.

Semi-Automatizacin de Control de Datos de Produccin

27

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Recordar que aunque no es un control necesario en los programas, ya que el cdigo se


puede asociar o pegar a cualquier evento de cualquier forma, o control del programa,
Microsoft ya acostumbro a todos los usuarios al botn OK, de acuerdo, OK.
Este botn tambin puede activar su evento Click, cuando el usuario presione la tecla
<ENTER>, solo poner la propiedad Default en true, en este caso el botn de rdenes,
se le conoce como botn de default.
Igualmente puede activar su evento Click cuando el usuario, presione la tecla <ESC>,
solo poner la propiedad Cancel en true, a este caso se le conoce como CANCEL
BUTTON.
Tambin puede mostrar un icono o imagen grfica, primero poniendo su propiedad
style = 1 (grfico) y luego usando su propiedad picture para buscar una imagen
adecuada.
Igualmente tambin puede usarse como un botn de salida o terminacin o exit del
programa, solo cargando la instruccin END en su evento click, como en el siguiente
ejemplo en visual basic:
Private Sub Command1_Click()
End
End Sub
CheckBox - Casilla de verificacin

El componente CheckBox de Visual Basic permite seleccionar una opcin al usuario del
programa o tomar una decisin, directamente en pantalla.
Los componentes checkbox, son las cajas donde el usuario toma una decisin o realiza
una seleccin.

Semi-Automatizacin de Control de Datos de Produccin

28

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

OptionButton - Botn de opcin

Se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes


entre s, es decir si el usuario selecciona un componente OptionButton todos los dems
componentes OptionButton en la forma, se deseleccionan solos.
Es su propiedad Caption donde se pone el texto que identifica el propsito del botn, es
su propiedad value quien refleja el cambio (True,False), tambin su evento click es
activado automticamente cada vez que es seleccionado el OptionButton por el
usuario.
Recordar tambin que cuando el usuario selecciona un OptionButton, todos los dems
OptionButton en el objeto (forma o ventana) son deseleccionados automticamente,
esto es, por que dos OptionButton son mutuamente excluyentes entre s.
Esta ltima situacin deber resolverse por parte del programador, es decir se supone
un programa donde el usuario debe seleccionar uno de entre dos sexos y uno de entre
cinco municipios, en este caso se ocupan ocho OptionButton, pero como todos son
mutuamente excluyentes entre s, cuando el usuario seleccione uno de ellos, todos los
dems se des marcan automticamente.
Para resolver este problema se deber usar el componente de agrupamiento
ampliamente conocido, el control FRAME.
Es decir se deber encerrar en su propio Frame todos los OptionButton lgicos, es
decir en un Panel los de sexo, en otro Panel los de municipios, etc.
De esta manera Visual Basic los evala por separado y se puede tener seleccionado
un OptionButton en cada frame.
Tambin pueden programarse de las dos maneras ya vistas para el control CheckBox,
es decir usando un if por cada optionbutton y revisar si su propiedad value est
cargada con TRUE o FALSE, o cargando el cdigo en el evento click del control.

Semi-Automatizacin de Control de Datos de Produccin

29

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

ComboBox - Lista desplegable

Existen muchas ocasiones en donde el usuario del programa tiene que proporcionar
datos que provienen de un conjunto finito y muy pequeo de posibles respuestas, esto
significa que cada vez que se ejecute el programa, el usuario estar proporcionando las
mismas respuestas.
Ejemplo de esta clase de datos, son Municipio en BC, las posibles respuestas solo son
(Tecate, Tijuana, Mexicali, Ensenada, Rosarito), otro ejemplo es Sexo (Hombre, Mujer),
etc.
Para situaciones como esta, existen componentes que permiten programar por
adelantado las posibles respuestas, y el usuario solo debe seleccionar la respuesta
apropiada, en lugar de tener que escribirla.
Este componente ComboBox nos permite definir en primera instancia un conjunto de
datos o valores respuestas asociados a una caja de edicin cualesquiera, as ahora el
usuario tendr la oportUNIDAD VISUAL BASIC de seleccionar un dato del conjunto de
datos o respuestas ya predefinido.
Este componente ComboBox tiene dos partes, una parte de encabezado, para poner el
nombre del grupo de respuestas (por ejemplo municipios, sexo, etc.), que se carga
usando la propiedad Text del componente.
La segunda parte es la lista de opciones o respuestas que se debe cargar al tiempo de
diseo de la ventana, en el momento de poner el componente ComboBox1, solo hacer
click a un lado de la propiedad list, en la pgina de propiedades y cargar la primera
respuesta y enter, luego click otra vez a un lado de propiedad list, cargar segunda
respuesta y enter, luego click otra vez a un lado de la propiedad list cargar tercera
respuesta y enter, y as sucesivamente, como ya se indico es para cuando son pocas
respuestas de antemano conocidas.

Semi-Automatizacin de Control de Datos de Produccin

30

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Al momento de ejecucin del programa, toda la lista de respuestas, estarn a la vista


del usuario, para que este ltimo la seleccione.
Recordar que el usuario al momento de ejecucin del programa, solo vera el
encabezado, para seleccionar su respuesta deber apretar la flechita que est a un
lado del encabezado.
ListBox - Lista

Este componente permite procesar visualmente un conjunto de elementos de tipo


string.
Su primer y ms importante aspecto a recordar, cuando se procese o programe, es que
el primer ndice de la lista, es el ndice nmero 0(cero).
OLE
Contenedor de documentos embebidos compatibles con Object Linking and
Embedding.
Adems de los listados, se pueden agregar todo tipo de controles de terceros, y hay
una gran cantidad de ellos que se proveen con el propio Visual Basic 6.0. Los controles
vienen embebidos dentro de archivos con extensin OCX.
Las ventanas de proyecto, aunque mviles, se encuentran en el panel lateral derecho y
contienen dos vistas principales:
El Explorador de proyectos, que muestra todos los elementos que componen el
proyecto o grupos de proyectos (formularios, interfaz de controles, mdulos de cdigo,
mdulos de clase, etc.)
El Panel de propiedades, donde se muestran todos los atributos de los objetos,
controles, formularios, informacin de mdulos clase, entre muchos otros.

Semi-Automatizacin de Control de Datos de Produccin

31

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.4 Visual Basic .NET

Visual Basic .NET (VB.NET) es un lenguaje de programacin orientado a objetos que


se puede considerar una evolucin de Visual Basic implementada sobre el framework
.NET. Su introduccin result muy controvertida, ya que debido a cambios significativos
en el lenguaje VB.NET no es retrocompatible con Visual Basic, pero el manejo de las
instrucciones es similar a versiones anteriores de Visual Basic, facilitando as el
desarrollo de aplicaciones ms avanzadas con herramientas modernas.
La gran mayora de programadores de VB.NET utilizan el entorno de desarrollo
integrado Microsoft Visual Studio en alguna de sus versiones (desde el primer Visual
Studio .NET hasta Visual Studio .NET 2012, que es la ltima versin de Visual Studio
para la plataforma .NET), aunque existen otras alternativas, como SharpDevelop (que
adems es libre).
Al igual que con todos los lenguajes de programacin basados en .NET, los programas
escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse.

2.4.1 Versiones
2.4.1.1 Visual Basic 2008 (VB 9.0)
Para esta versin se aadieron varias novedades, incluyendo:
Soporte para LINQ
Expresiones lambda
Literales XML
Semi-Automatizacin de Control de Datos de Produccin

32

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.4.1.2 Visual Basic 2010 (VB 10.0)

Visual Basic 2010 ofrece soporte para entorno de ejecucin dinmico. VB 2010 forma
parte de Microsoft Silverlight. Visual Basic es un lenguaje de programacin que permite
realizar diferentes programas de registro anudados.

2.4.1.2.1 Relacin con Visual Basic


Si Visual Basic .NET debe considerarse una mera versin de Visual Basic, o si debe
considerarse como un nuevo lenguaje de programacin es un tema que ha trado
mucha discusin, y que an la trae.
La sintaxis bsica es prcticamente la misma entre VB y VB.NET, con la excepcin de
los aadidos para soportar nuevas caractersticas como el control estructurado de
excepciones, la programacin orientada a objetos, o los Genricos.
Las diferencias entre VB y VB.NET son profundas, sobre todo en cuanto a metodologa
de programacin y bibliotecas, pero ambos lenguajes siguen manteniendo un gran
parecido, cosa que facilita notablemente el paso de VB a VB.NET.

Semi-Automatizacin de Control de Datos de Produccin

33

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.4.1.2.2 Versiones del entorno de programacin para Visual Basic


Al mismo tiempo que evolucionaba el lenguaje, las herramientas que Microsoft
proporciona para programar tambin evolucionaban para adaptarse a las novedades.

2.4.1.2.2.1 Visual Studio .NET (2002)


Visual Studio .NET se public en 2002 y fue la primera versin de Visual Studio en
introducir el framework .NET. Esta versin de Visual Studio introdujo, junto con el
Framework .NET tres nuevos lenguajes de programacin, Visual C#, VB.NET y Visual
J#.
En esta primera versin de Visual Studio .NET se podan programar aplicaciones
Windows.Forms (aplicaciones de escritorio) y aplicaciones ASP.NET (Aplicaciones
Web).

2.4.1.2.2.2 Visual Studio .NET 2003


Visual Studio .NET 2003 se public en 2003 fue una actualizacin menor de Visual
Studio .NET, bsicamente propiciada por la introduccin de la versin 1.1 del
Framework .NET.
En esta versin se aadi por primera vez la posibilidad de programar para dispositivos
mviles usando .NET, ya fuera usando el Compact Framework, o ASP.NET.

Semi-Automatizacin de Control de Datos de Produccin

34

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.4.1.2.2.3 Visual Studio 2005


Publicado el 4 de octubre de 2005, se bas en el framework .NET 2.0.
Aade soporte de 64-bit (x86-64: AMD64 e Intel 64, e IA-64: Itanium)
Ediciones: Express, Standard, ready bost, Professional, Tools for Office, y 5 ediciones
Visual Studio Team System (Architects, Software Developers, Testers, y Database
Professionals)
La versin interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo
es la 9.0.

2.4.1.2.2.4 Visual Basic Express Edition


A partir de la introduccin en el mercado de la versin 2005 de Visual Studio Microsoft
public lo que se conoce como ediciones Exp de distintos programas. Las versiones
Express son versiones limitadas pero gratuitas, pensadas para usos no profesionales
(principiantes, aficionados y pequeos negocios), existiendo una edicin independiente
para cada lenguaje.
Visual Basic Express Edition es una versin de Visual Studio limitada. Esta versin
permite slo programar en VB.NET, y adems limita el tipo de proyectos que se pueden
desarrollar. Visual Web Developer Express Edition permite programar pginas
ASP.NET en VB.
Se lanz el Service Pack 1 para Visual Studio 2005 el 14 de diciembre de 2006.

Semi-Automatizacin de Control de Datos de Produccin

35

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.4.1.2.2.5 Visual Studio 2008

El IDE de Visual Studio 2008 permite trabajar contra 3 .NET frameworks diferentes:
.NET Framework 2.0
.NET Framework 3.0
.NET Framework 3.5
Tambin es muy fcil de usar gracias al desarrollo de hardware.
Adems, integra el framework ASP.NET AJAX para el desarrollo de AJAX..

Semi-Automatizacin de Control de Datos de Produccin

36

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

2.5 Microsoft SQL Server

Microsoft SQL Server es un sistema para la gestin de bases de datos producido por
Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y
ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes
sistemas gestores de bases de datos como son Oracle, PostgreSQL o MySQL.

2.5.1 Caractersticas de Microsoft SQL Server

Soporte de transacciones.

Soporta procedimientos almacenados.

Incluye tambin un entorno grfico de administracin, que permite el uso de


comandos DDL y DML grficamente.

Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan


en el servidor y los terminales o clientes de la red slo acceden a la informacin.

Adems permite administrar informacin de otros servidores de datos.

Este sistema incluye una versin reducida, llamada MSDE con el mismo motor de base
de datos pero orientado a proyectos ms pequeos, que en sus versiones 2005 y 2008
pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.
Es comn desarrollar completos proyectos complementando Microsoft SQL Server y
Microsoft Access a travs de los llamados ADP (Access Data Project). De esta forma

Semi-Automatizacin de Control de Datos de Produccin

37

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo


(VBA Access), a travs de la implementacin de aplicaciones de dos capas mediante el
uso de formularios Windows.
En el manejo de SQL mediante lneas de comando se utiliza el SQLCMD, osql, o
PowerShell.
Para el desarrollo de aplicaciones ms complejas (tres o ms capas), Microsoft SQL
Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas
.NET, pero el servidor slo est disponible para Sistemas Operativos.

2.5.2 Programacin
2.5.2.1 T-SQL
T-SQL (Transact-SQL) es el principal medio de interaccin con el Servidor. Permite
realizar las operaciones claves en SQL Server, incluyendo la creacin y modificacin
de esquemas de la base de datos, la introduccin y edicin de los datos en la base de
datos, as como la administracin del servidor como tal. Esto se realiza mediante el
envo de sentencias de T-SQL y declaraciones que son procesadas por el servidor y los
resultados (o errores) regresan a la aplicacin cliente.

2.5.2.2 Cliente Nativo de SQL


Cliente Nativo de SQL es la biblioteca de acceso a datos para los clientes de Microsoft
SQL Server versin 2005 en adelante. Implementa nativamente soporte para las
caractersticas de SQL Server, incluyendo la ejecucin de la secuencia de datos
tabular, soporte para bases de datos en espejo de SQL Server, soporte completo para
todos los tipos de datos compatibles con SQL Server, conjuntos de operaciones
asncronas, las notificaciones de consulta, soporte para cifrado, as como recibir varios
conjuntos de resultados en una sola sesin de base de datos. Cliente Nativo de SQL se
utiliza como extensin de SQL Server plug-ins para otras tecnologas de acceso de

Semi-Automatizacin de Control de Datos de Produccin

38

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

datos, incluyendo ADO u OLE DB. Cliente Nativo de SQL puede tambin usarse
directamente, pasando por alto las capas de acceso de datos.

2.5.3 Desventajas
En versiones de 32 bits, SQL Server usa Address Windowing Extension (AWE) para
hacer el direccionamiento por encima de 4GB. Esto le impide usar la administracin
dinmica de memoria, y slo le permite alojar un mximo de 64 GB de memoria
compartida. Esta limitacin es exclusiva de sistemas operativos 32 bits; en sistemas
operativos 64bits, la memoria mxima que se puede direccionar en Edicin Estandard
es 64Gb y en Edicin Enterprise 4Tb.
Microsoft SQL Server slo maneja compresin de datos en la Edicin Enterprise.
Microsoft SQL Server requiere de un sistema operativo Microsoft Windows, por lo que
no puede instalarse, por ejemplo, en servidores Linux.

Semi-Automatizacin de Control de Datos de Produccin

39

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

CAPITULO III
CARACTERIZACION DEL AREA DE TRABAJO

Semi-Automatizacin de Control de Datos de Produccin

40

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

CARACTERIZACION DEL AREA DE TRABAJO


3.1

Informacin de la empresa

CTS de MEXICO S. A. fue concebida el 18 Septiembre de 1967 con la visin de


proveer de una forma segura componentes electrnicos, en la contienda competitiva
extranjera en el mercado de los Estados Unidos.
Fue la segunda Maquiladora instalada en la localidad. Como parte de la Divisin
de Electro Componentes, esta planta empez produciendo controles, resistores
variables y bocinas. Como el negocio se expandi en los 80s la manufactura de
cristales de quarzo y paneles para mdulos instrumentales fueron aadidos. Siempre
buscando nuevas oportunidades, el ensamble de sensores automotrices empez en
1999, representando para la empresa una de las mayores producciones por turno.
CTS ELECTRO DE MATAMOROS S.A DE C.V, Es una empresa de tecnologa
con la visin de proveer de forma segura componentes electrnicos en la contienda
competitiva extranjera en el mercado de los Estados Unidos.

Semi-Automatizacin de Control de Datos de Produccin

41

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

3.1.1 Datos generales. Nombre y ubicacin.


Nombre: CTS electro de Matamoros S.A de C.V Planta II
Direccin: Av. Lauro Villar Km. 7.5 S/N, Parque Industrial del Lago
Cdigo postal: 87479
Telfono: (868) 812-82-20
Fax: (868)812-82-19
Ciudad: H. Matamoros, Tamaulipas.

3.1.2 Descripcin de la empresa


CTS es un proveedor experimentado y global de productos y servicios para fabricantes
de equipos originales en una gama de enfoque de los mercados de equipos
electrnicos. Nuestro objetivo es agregar valor al negocio de nuestros clientes con la
tecnologa a base de productos y servicios fuertes de apoyo, a partir de una base de
fabricacin en Amrica del Norte, Europa y Asia.
3.1.2.1 Por qu CTS?

Soluciones totales de productos - a travs del diseo a fin de su vida til.

Integracin completa del sistema en todos los lugares.

Huella global - EE.UU., China, Singapur, Mxico, Reino Unido, Tailandia.

Rpido tiempo de salida al mercado con lneas dedicadas NPI.

Escala y experiencia de unidad de costos y tiempo de entrega-ventajas.

Ciclo de Vida de las oportunidades de reduccin de costos.

La pasin por el servicio al cliente gil y sensible.

Mejorar el flujo de caja, reducir los gastos generales.

Semi-Automatizacin de Control de Datos de Produccin

42

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

3.1.2.2 Mercado de trabajo


Sabemos que "una talla no sirve para todos es por eso que hemos desarrollado
servicios especializados para varios mercados de electrnica de potencia:

Aeroespacial

Equipo industrial

Infraestructura de comunicaciones

3.1.2.3 Servicios

Media tecnologa de montaje de PCB

IPC Clase III

Backplane montaje

3.1.2.4 Misin y Valores


3.1.2.4.1 Misin:
Somos una organizacin global orientada al crecimiento de sensores y actuadores,
componentes electrnicos y de servicio, dedicada a entregar soluciones innovadoras,
para un mundo mejor, ms seguro y sano.
3.1.2.4.2 Valores

Integridad. Insistimos en la integridad en todo lo que hacemos y el valor de


hacer lo correcto.

Respeto mutuo. Escuchamos y prendemos de todos. Tratamos con dignidad y


justicia con las mismas oportunidades de xito para todos.

Unidad para el xito. Nos esforzamos por la excelencia, sin descanso


perseguimos la mejora continua de nuestros productor y servicios, procesos y
capacidades.

Semi-Automatizacin de Control de Datos de Produccin

43

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

3.1.3 Polticas
3.1.3.1 Poltica de Calidad:
CTS est comprometido a proveer productos y servicios de clase mundial que excedan
las expectativas de nuestros clientes a travs del mejoramiento continuo en calidad,
entrega y valor del producto.
Llevando a cabo por medio de:
Con enfoque al cliente, entregando un servicio superior que exceda sus
expectativas
Trabajo en equipo, promoviendo un ambiente de colaboracin entre nuestros
empleados, nuestros clientes y nuestros proveedores.
Sistemas y entrenamientos que nos diferencian y exceden estndares de
calidad, seguridad, salud, regulatorios y ambientales.
3.1.3.2 Poltica Ambiental:
Estamos dedicados a tratar el ambiente con cuidado y reconociendo que es un asunto
global en la naturaleza.
Estamos comprometidos al mejoramiento continuo en el manejo ambiental.
Los fundamentos de nuestra poltica son:
Prevencin de la contaminacin a travs de mtodos de reduccin de
desperdicios, substitucin de materiales, actividades de reciclaje y otros mtodos
aceptables.
Cumplimiento con las regulaciones y legislaciones ambientales relevantes y
otros requerimientos a los cuales nos suscribimos.
Objetivos y metas que consideren los aspectos ambientales para mejorar el
desarrollo y manejo ambiental como parte integral de nuestras decisiones de negocio.

Semi-Automatizacin de Control de Datos de Produccin

44

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Comunicacin de nuestra poltica ambiental a todos los empleados de CTS y al


pblico segn se requiera.

3.1.4 Organigrama de la empresa

3.1.5 Informacin del departamento.


El departamento donde desarrollare el proyecto es el departamento de sistemas,
en el cual se desarrollaran los programas necesarios para controlar el flujo de
cada pieza de produccin. Este departamento aparte de desarrollar y mantener
aplicaciones, tambin lleva el control de todas las bases de datos de la planta.

3.1.5.1 Organigrama del departamento.

Semi-Automatizacin de Control de Datos de Produccin

45

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

3.1.5.2 Funciones.
Mis funciones como residente son:

Investigacin de proceso para poder determinar cmo se har la lgica del


programa.

Mantener las bases de datos en ptimas condiciones.

Dar mantenimientos a servidores.

Cotizaciones de material.

Semi-Automatizacin de Control de Datos de Produccin

46

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

CAPITULO IV
DESCRIPCION DE LAS ACTIVIDADES DESARROLLADAS

Semi-Automatizacin de Control de Datos de Produccin

47

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

DESCRIPCION DE LAS ACTIVIDADES DESARROLLADAS


4.1 Cronograma de actividades
Actividad

Periodo

Investigacin del proceso.

Septiembre 2013

Creacin de la base de datos que guardara la

Septiembre 2013

informacin de los PCBs.


Creacin de la aplicacin.

Septiembre - Octubre 2013

Inicio de Pruebas.

Octubre Noviembre 2013

Inicio de Pruebas funcionales.

Octubre Noviembre 2013

Aprobacin del Programa de control del


Produccin.

Noviembre Diciembre 2013

Liberacin total del Programa.

Diciembre 2013

4.2 Actividades desarrolladas a travs del semestre


Estas son algunas de las actividades desarrolladas a travs de este semestre el cual se
utiliz todos los conocimientos adquiridos a lo largo de la carrera.
4.2.1 Septiembre
4.2.1.1 Investigacin del proceso de produccin
El proceso de la produccin en sentido de como entra la pieza virgen y sale, es algo
complicado de sacar de la empresa, pero la idea del flujo es esta:
Paso 1. El material virgen entra a la lnea SMT, entra una maquina donde se le aplica el
flux o la pasta para soldar, y antes de esto se le coloca la etiqueta que identifica al
material, es importante mencionar que algunos de los materiales no se etiquetan hasta
despus de que salen de este proceso.
Paso 2. Entran a una maquina donde se mide el nivel de flux de la mquina.

Semi-Automatizacin de Control de Datos de Produccin

48

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Paso 3. El PCB entra a la maquina SMT, esta mquina se encarga de ensamblar cada
uno de los componentes que contiene cada rollo de feeders, que son los que alimentan
a la mquina de cada componente.
Paso 4. Despus del proceso anterior, el PCB entra al horno donde se soldn las
piezas a la tablilla.
Paso 5. Una vez que sale del horno pasan a una mquina de inspeccin visual que en
la planta la llamamos AOI, esta mquina inspecciona a la tablilla y evala si es una
pieza bueno o no.
Paso 6. Una vez que la pieza es liberada, un operador la escanea, y hace una segunda
evaluacin sobre la pieza, la escanea como buena o si es lo contrario, lo que hace es
re-trabajarla.
Paso 7. Algunos de los materiales son materiales que no deben de tener
contaminantes, como por ejemplo el flux, entonces pasan a una lavadora donde se
lavan a veces con agua y jabn, y otras veces solo con agua o alguna solucin propia.
Paso 8. Algunas tablillas trabajan con dos lados, un lado Top y un lado Bottom, si es
necesario trabajar con un lado Top, se vuelve a iniciar el proceso.
Paso 9. Una vez que salen de la lavadora por segunda vez (algunos casos), el material
se transporta a otras reas de ensamble o de trabajo.
Paso 10. La tablilla pasa a un rea de pruebas, donde se le somete a pruebas de
temperatura y tambin de visin.
Paso 11. Personal del departamento de calidad hace inspeccin de las piezas y evala
si son buenas o malas por tercera vez.
Paso 12. El material liberado por calidad est listo para ser empaquetado y enviado a la
bodega.
Esto es en cuestin del proceso de SMT. An hay ms procesos donde podramos
poner estaciones de rastreo. Ver hoja de anexos para los diagramas de flujo.

Semi-Automatizacin de Control de Datos de Produccin

49

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.1.2 Creacin de la base de datos.


En este punto se investig varias formas de almacenar datos, al final se eligi el
software Microsoft SQL Server 2008, el cual se encargara de almacenar y resguardar
toda la informacin recaudada por el software desarrollado.
Hay que tener en cuenta que cada una de las tablas que contendr esta base de datos
ser nica para cada uno de los modelos utilizados en la empresa.
Se inicia abriendo el programa Microsoft SQL Server 2008.

Este software ya estaba en la empresa, solo se hizo la utilizacin del servidor con el
que ya contaba, y as poder crear las bases de datos necesarias para cada lnea de
produccin.
Una vez abierto el programa se abre una ventana, que te pide contrasea, usuario y
nombre del servidor, ya que es en donde el programa va a buscar las bases de datos.

Semi-Automatizacin de Control de Datos de Produccin

50

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Una vez iniciado sesin se puede observar una ventana como esta:

Para la creacin de una nueva base de datos es necesario que se dirija a Databases

Semi-Automatizacin de Control de Datos de Produccin

51

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Clic derecho en Databases, y damos clic en la opcin de New Database

Se abrir una ventana como la siguiente, donde se pondr el nombre de la base de


datos (Database name), que en este caso llamaremos a la base de datos como
ejemplo, clic en ok y listo.

Semi-Automatizacin de Control de Datos de Produccin

52

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Una vez cargada la nueva base de datos se podr observar en el listado de bases de
datos.

Para agregar tablas hay que dar clic en la base de datos, dejar que desplegu todos los
submens, y daremos clic en New Table

Semi-Automatizacin de Control de Datos de Produccin

53

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

En esta parte se abrir una


ventana como se muestra a
continuacin

con

podremos

poner

propiedades

la

que
las

de

cada

columna.

Una vez puesto las propiedades


quedara

ms

menos

as,

adems de poder agregarle llaves


primarias con las que se evitara
tener datos repetidos, adems de
que podemos tener ms de una
tabla en la base de datos, que en
nuestro caso nos servira mucho
para poder realizar cada una de
las bases de datos con la que se
trabajara en la empresa.

Y as quedara finalmente la base de datos con tablas vacas, ahora queda solo
llenarlas o que la aplicacin desarrollada se encargue de vaciar la informacin dentro
de las tablas.

Semi-Automatizacin de Control de Datos de Produccin

54

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.2 Octubre
4.2.2.1 Requisitos para la creacin de la aplicacin
Antes de crear la aplicacin, se aprendi a utilizar el software Microsoft SQL Server
2008, donde se me ense a utilizar los procedimientos, tablas y las bases de datos,
una vez teniendo practica y conocimientos necesarios, estamos listos para poder recibir
opiniones y requisitos de como queran que se desarrollara el programa.
Algunos de los requisitos pedidos por los ingenieros fueron:

Que la aplicacin pueda ser capaz de identificar el modelo que se est


escaneando.

Que tome la fecha y hora de escaneo.

Que no puedan repetirse los seriales.

En caso de que haya una caja parcial, que se pueda hacer.

Que las cajas tengan un conteo consecutivo (1, 2, 3, 4, 5,..., n).

Que se pueda eliminar nmeros de serie.

Semi-Automatizacin de Control de Datos de Produccin

55

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Realizar re-trabajos.

Imprimir etiquetas desde la aplicacin, caja cerrada, etiqueta impresa.

Reporte de piezas empacadas en el transcurso del da.

Que se guarde el nmero de empleado de quien lo escaneo.

Poder exportar el reporte de cada caja con su nmero de serial, fecha y hora de
empaque y quien fue la persona que escaneo.

El programa debe de ser capaz de poder identificar que numero de semana es,
el ao, e identificar la sigla que nos identifica como cts.

Adems los nmeros consecutivos del serial no deben permitir caracteres.

El nmero de empleado solo deben ser caracteres numricos.

Buscar seriales para saber su historial.

Poder sacar reportes de produccin por hora.

Cambio de orden compra automtico.

Una vez teniendo esta informacin se indic que el formato de las tablas en Microsoft
SQL Server 2008 seria de la siguiente manera, tendran un Datetime (Fecha y hora)
del momento en el que se empaco, Model (nombre del modelo), PCB Number (en
algunos casos se utilizan mismo PCB en dos diferentes modelos, lo que amerita tener
una columna as), Serial (Columna de captura del nmero de serial) que razones
obvias este ser un nmero nico y no podr repetirse, Employee esta columna
contendr el nmero de empleado que escanea el producto y por ultimo Box el cual
contendr el nmero de caja en la que se empaco el producto terminado.
Al trmino de la realizacin de las tablas quedaron as:

Semi-Automatizacin de Control de Datos de Produccin

56

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.2.2 Creacin de la aplicacin.


En esta seccin del proyecto se inici el desarrollo de la aplicacin, se utiliz un
software libre llamado Microsoft Visual Basic Studio 2010, con el cual se desarroll
todas las aplicaciones utilizadas dentro de la empresa.

Semi-Automatizacin de Control de Datos de Produccin

57

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Este ya estaba instalado en el equipo de trabajo de la empresa, solo bast con


empezar a trabajar en la aplicacin y adaptarla a las necesidades que solicitaron.
Hay que tener en cuenta que este lenguaje de programacin es de alto nivel, por lo que
es muy complicado que personas puedan desarrollarse en el ambiente Visual Basic,
por la gran cantidad de posibilidades que se pueden hacer con el programa.

Para empezar el nuevo proyecto hay que abrir Microsoft Visual Basic 2010, aparecer
la siguiente ventana:

Semi-Automatizacin de Control de Datos de Produccin

58

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

En la cual daremos clic en New Project no aparecer una ventana como la que
aparece a continuacin y damos clic en Windows Forms Application, damos clic en ok.

Semi-Automatizacin de Control de Datos de Produccin

59

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

A continuacin se abrir un formulario donde podremos insertar todos los cuadros de


herramientas que necesitemos para poder realizar la interfaz entre la computadora y el
operador.

Para iniciar la aplicacin tendr un men principal donde pondr todos los modelos de
un producto en especfico, los cuales sern seleccionados con un combobox.

Semi-Automatizacin de Control de Datos de Produccin

60

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

El combobox se llena dando un clic en el cuadro, se seleccionara, y despus


podremos acceder a sus propiedades, las cuales llenaremos con datos, para que al
abrirlo

se

muestren

los

datos

introducidos.

Se abrira una ventana como en la imagen donde se podran almacenar cada uno de los
modelos a mostrar dentro del combobox.

Semi-Automatizacin de Control de Datos de Produccin

61

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Abriremos un nuevo formulario y empezaremos a agregar los textboxs, labels, botones


y mens necesarios para poder realizar la interfaz programa usuarios.

En un principio se hicieron varios formularios con los que se trabajaba cada modelo,
pero, con el inicio de implementacin de variables globales se pudieron implementar
solamente un formulario de captura para todos los modelos, cuando en un principio se
usaba un formulario por modelo, y como contamos con alrededor de 20 modelos o ms
por familia de productos, entonces sera un poco difcil estar cambiando en todos los
formularios uno por uno, de manera que nos tomara un tiempo mayor modificarlo, y ya
con formularios de captura con variables globales es muy sencillo modificar porque la
variable global tomara el valor necesario para cada modelo del producto.
Como pueden darse cuenta, el programa te pide fecha y hora que por default se pone
en el textbox o cuadro de texto, el nmero de parte o modelo, el total de piezas es la
cantidad total de piezas escaneadas en el programa, y el nmero de empleado,
tambin se muestra el nmero de la caja en la que van as como el nmero de piezas
que contiene dentro de la caja

Semi-Automatizacin de Control de Datos de Produccin

62

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Tambin se agregan unos submens Reportes, Caja parcial, Eliminar serial, Actualizar
tabla, Conteo, Encontrar serial y l acerca de.

Hay que tener en cuenta que lo nico que hara el empleado con el programa seria
escanear el serial y su nmero de empleado. Todos los dems datos se llenan
automticamente. A continuacin se muestra la tabla que se llenara con esta pantalla:

Semi-Automatizacin de Control de Datos de Produccin

63

Residencias

Luis Fernando Cruz Gonzlez

Semi-Automatizacin de Control de Datos de Produccin

ITM 2014

64

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.2.2.1 Programando cada funcin de la aplicacin.


En esta seccin veremos cada una de las cadenas de cdigo desarrolladas para la
mejora y optimizacin del programa.
Para empezar veremos la captura de los datos dentro de la tabla de SQL, antes que
nada veremos nuestra tabla vaca como esta:

En SQL hay dos formas de capturar datos, una muy sencilla y otra un poco tediosa, la
primera es muy sencilla y a la vez es tediosa, y trata de tener que teclear campo por
campo el dato que necesitamos, la otra forma un poco tediosa pero al final sencilla, es
creando procedimientos en SQL, los procedimientos los usamos segn mi experiencia
con el programa, los utilizamos para poder hacer ms sencilla la captura de datos en
las tablas ya que con solo tener un procedimiento, podremos capturar toda la

Semi-Automatizacin de Control de Datos de Produccin

65

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

informacin que se encuentra dentro del entorno Visual Basic a la tabla contenida en
SQL Server 2008.
Para poder crear un procedimiento en
Microsoft SQL Server 2008 es necesario
irse a Programmability, y de all a Stored
Procedures.
Que es la carpeta donde todos los
procedimientos realizados en el programa
de SQL se guardan para poder hacer uso
de los mismos cuando se desee.
Haciendo clic izquierdo en la carpeta de
Stored Procedures, se desplegara una
lista

entera

de

los

procedimientos

almacenados dentro de la base de datos,


hay que tener en cuenta que cada base
datos almacenada en el servidor de SQL,
son independientes a las dems bases de
datos, por tanto cada una de las bases,
tienen sus propios procedimientos.

Semi-Automatizacin de Control de Datos de Produccin

66

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Para crear un nuevo procedimiento basta con posicionarse en la carpeta de Stored


Procedures, y dar clic derecho esto abrir una lista de opciones y daremos un clic en
New Stored Procedure.
Al hacer en esta opcin SQL abrir
una nueva ventana donde podrs
escribir el procedimiento nuevo,
como

SQL,

tiene

una

interfaz

amable al usuario te muestra tal


como debe de estar la sintaxis al
momento de realizar o crear el
nuevo procedimiento.

A continuacin mostraremos la ventana que aparece:

Semi-Automatizacin de Control de Datos de Produccin

67

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Una vez que aparece esta ventana ya es posible introducir el procedimiento, que en
este caso los procedimientos utilizados para cada una de los procesos de la aplicacin
son:
4.2.2.2.1.1 Insertar la informacin de la aplicacin a la tabla:
USE [thales]
GO
/****** Object: StoredProcedure [dbo].[insertarp25166401]

Script Date: 01/08/2014

11:32:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create proc [dbo].[insertarp25166401]
(
@fecha varchar(100),
@parte varchar(50),
@piezas varchar(50),
@serie varchar(50),
@empleado varchar(50),
@caja int
)
as begin

Semi-Automatizacin de Control de Datos de Produccin

68

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

insert into p25166401 values (@fecha ,@parte,@piezas,@serie,@empleado, @caja)


end
El cdigo anterior es un ejemplo usado en la aplicacin, a continuacin se explicara tal
y como est la sintaxis.
*** Usa la base de datos.
USE [NOMBRE DE LA BASE DE DATOS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
*** Crea el procedimiento.
create proc [dbo].[NOMBRE DEL PROCEDIMIENTO NO ACEPTA ESPACIOS]
(
*** Nombre de las variables que contendrn los datos, junto con su formato.
@VARIABLE1 FORMATO(100),
@VARIABLE2 FORMATO (50),
)
as begin
*** Inserta dentro de la tabla los valores.
insert into NOMBRE DE LA TABLA values (@VARIABLE1,@VARIABLE2)

Semi-Automatizacin de Control de Datos de Produccin

69

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

*** Fin del Procedimiento.


end

4.2.2.2.1.2 Seleccin de un registro entero por el nmero de serial:


USE [thales]
GO
/****** Object: StoredProcedure [dbo].[24915101_byserial]

Script Date: 01/08/2014

11:33:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create proc [dbo].[24915101_byserial]
@serie varchar(50)
as
select*from p24915101
where serie = @serie

Semi-Automatizacin de Control de Datos de Produccin

70

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

El cdigo anterior es un ejemplo usado en la aplicacin, a continuacin se explicara tal


y como est la sintaxis.
*** Usar la base de datos.
USE [NOMBRE DE LA BASE DE DATOS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
*** Crear el procedimiento.
create proc [dbo].[NOMBRE DEL PROCEDIMIENTO]
*** Nombre de las variables que contendrn los datos, junto con su formato.
@VARIABLE FORMATO(50)
as
*** Seleccionar todas las columnas de la tabla.
select*from NOMBRE DE LA TABLA
*** Donde la columna sea igual a la variable.
where COLUMNA = @NOMBRE DE LA VARIABLE

Semi-Automatizacin de Control de Datos de Produccin

71

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.2.2.1.3 Para eliminar registros por medio del serial.


USE [thales]
GO
/****** Object: StoredProcedure [dbo].[eliminar_25273102]

Script Date: 01/08/2014

11:34:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create PROCEDURE [dbo].[eliminar_25273102]
@serie varchar(50)
as
delete from p25273102
where serie = @serie
El cdigo anterior es un ejemplo usado en la aplicacin, a continuacin se explicara tal
y como est la sintaxis.
*** Usa la base de datos.
USE [NOMBRE DE LA BASE DE DATOS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON

Semi-Automatizacin de Control de Datos de Produccin

72

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

GO
*** Crea el procedimiento.
create PROCEDURE [dbo].[NOMBRE DEL PROCEDIMIENTO]
*** Nombre de las variables que contendrn los datos, junto con su formato.
@VARIABLE FORMATO(50)
As
*** Eliminar de la table, donde la columna sea igual a la variable.
delete from NOMBRE DE LA TABLA
where COLUMNA = @VARIABLE

4.2.2.1.4 Creacin de un procedimiento de bsqueda de coincidencias de patrn


de caracteres.
USE [thales]
GO
/****** Object: StoredProcedure [dbo].[buscar_p253812]

Script Date: 01/08/2014

11:34:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create proc [dbo].[buscar_p253812]
@serie varchar(50)= '%'

Semi-Automatizacin de Control de Datos de Produccin

73

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

as
select * from p253812
where serie like @serie + '%'
El cdigo anterior es un ejemplo usado en la aplicacin, a continuacin se explicara tal
y como est la sintaxis.
*** Usa la base de datos.
USE [NOMBRE DE LA BASE DE DATOS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
*** Crea el procedimiento
create proc [dbo].[NOMBRE DEL PROCEDIMIENTO]
*** Nombre de las variables que contendrn los datos, junto con su formato.
@VARIABLE FORMATO(50)= '%'
as
*** Selecciona todas las columnas de la tabla.
select * from NOMBRE DE LA TABLA
*** Donde donde la columna coincida con los valores de la variable.
where COLUMNA like @VARIABLE + '%'

Semi-Automatizacin de Control de Datos de Produccin

74

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.2.3 Programacin en Microsoft Visual Studio 2010.


La programacin anterior es por parte de Microsoft SQL Server 2008, an falta ver el
enlace desde el programa de Microsoft Visual Studio 2010, dentro de la aplicacin
dependiendo de la accin echa por el operador, es el resultado que la aplicacin har.
Retomando las pantallas mostradas anteriormente explicaremos el funcionamiento
bsico de la aplicacin.

Como ya hemos visto el empleado solo escaneara el nmero de serial del producto
terminado, enseguida el escner enva un ENTER automtico, la misma aplicacin
salta de TEXTBOX para poder seguir escaneado su nmero de empleado.
Al dar este ltimo ENTER por el empleado se activa una parte del programa que se
encarga de guardar los datos, pero en lenguaje de Visual Basic.
Semi-Automatizacin de Control de Datos de Produccin

75

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Antes de mostrar el funcionamiento de cada una de los procesos de la aplicacin, antes


veremos el cuerpo de la aplicacin o el cdigo base para que se pueda ver esta
interfaz.
Antes que nada debemos de tener alguna librera que se encarga de poder abrir los
datos y poder trabajar con ellos. Tambin debemos tener una conexin con el
programa de SQL. Estos pasos son tan sencillos y bsicos para poder realizar cada
uno de los procesos de la aplicacin as como de Microsoft SQL Server 2008.
As es como quedara la aplicacin en cdigo, para ayudar ms a su compresin se
agregaron notas en color verde.
'Librera de Visual Basic que se encarga de poder utilizar bases de datos.
Imports System.Data.SqlClient
Public Class form250029
'Fragmento de codigo que se encarga de realizar la conexin de SQL y la base de
datos, puede observarse el nombre del servidor y su respectivo nombre de la base de
datos.
Public conexion As New SqlConnection("Data
source=MX12O700211\SQLEXPRESS; Initial catalog=thales; Integrated Security=
false; user id=standard; password=standard; multipleactiveresultsets=true")
Private Sub form250029_Load(ByVal sender As System.Object, ByVal e As System.Ev
entArgs) Handles MyBase.Load
End Sub

End Class

Semi-Automatizacin de Control de Datos de Produccin

76

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Una vez puesto el cdigo principal podemos a empezar a programar cada una de las
herramientas que usamos en nuestro formulario, como

por ejemplo los Textbox,

Labels, botones, combobox, datagridview, etc.


Ahora que ya conocemos el cuerpo del programa, continuaremos con la explicacin de
la aplicacin. Al dar el ENTER final, el programa llama una funcin creada y llamada
registrar la cual se encarga de registrar los datos almacenados en el formulario,
haciendo uso del procedimiento creado en Microsoft SQL.
El cdigo de esta funcin es:
Sub insertar()
Try
conexion.Open()
Dim cmd As SqlCommand
*** Se realiza la conexin con el procedimiento insertar.
cmd = New SqlCommand(inse, conexion)
cmd.CommandType = CommandType.StoredProcedure
*** Se agregan los datos contenidos en la aplicacin en las variables nombradas en
SQL.
With cmd.Parameters
.AddWithValue("@fecha", TextBox1.Text)
.AddWithValue("@parte", part)
.AddWithValue("@piezas", TextBox3.Text)

Semi-Automatizacin de Control de Datos de Produccin

77

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

.AddWithValue("@serie", TextBox4.Text)
.AddWithValue("@empleado", TextBox5.Text)
.AddWithValue("@caja", lblbox.Text)
End With
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
conexion.Close()
End Sub
Explicando las lneas de cdigo:
Sub Nombre de la funcin ()
Try
*** Inicio de la conexin.
conexion.Open()
Dim cmd As SqlCommand
*** Se realiza la conexin con el procedimiento.
cmd = New SqlCommand(NOMBRE DEL PROCEDIMIENTO, conexion)
cmd.CommandType = CommandType.StoredProcedure

Semi-Automatizacin de Control de Datos de Produccin

78

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

*** Se realiza la conexin con el procedimiento.


With cmd.Parameters
.AddWithValue("@VARIABLE1", TextBox1.Text)
.AddWithValue("@VARIABLE2", part)
.AddWithValue("@VARIABLE3", TextBox3.Text)
.AddWithValue("@VARIABLE4", TextBox4.Text)
.AddWithValue("@VARIABLE5", TextBox5.Text)
.AddWithValue("@VARIABLE6", lblbox.Text)
End With
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
conexion.Close()
End Sub

Semi-Automatizacin de Control de Datos de Produccin

79

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Una vez finalizado el paso de agregar el registro, el programa sigue corriendo otra
funcin la cual es mostrar ya que inmediatamente de que se agrega el registro, el
DATAGRIDVIEW entra y actualiza la tabla que se muestra. A continuacin el condigo
de mostrar:
*** En esta parte del cdigo no se utiliz un procedimiento de SQL, ya que
encontramos que podamos realizar el procedimiento desde el mismo entorno de Visual
Basic.
Sub mostrar()
Try
*** Declaramos una variable que funcionara como el procedimiento.
Dim sql As String
*** Se le da el valor a la variable con el procedimiento que desearemos hacer, en este
caso seleccionaremos fecha, parte, serie, empleado y caja de la tabla y los ordenara
por fecha descendente, lo que significa que se mostrara el ultimo registro escaneado.
sql = "select Fecha,Parte,Serie,Empleado,Caja from " & mod1 & " order by
fecha desc"
*** Se realiza la conexin con el procedimiento.
Dim da As New SqlDataAdapter(sql, conexion)
Dim ds As New DataSet
da.Fill(ds, mod1)
*** Mostramos la informacin nueva en el DATAGRIDVIEW.
DataGridView1.DataSource = ds.Tables(mod1)

Semi-Automatizacin de Control de Datos de Produccin

80

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Catch ex As Exception
MsgBox(ex.Message & "If ")
End Try
End Sub
Para conocer la ltima caja escaneada se utiliza otro procedimiento creado en Visual
Basic.
'Esta parte del cdigo se encarga de seleccionar la ltima caja escaneada
Sub ultimacaja()
'Se declara una variable donde se almacenara la informacin del procedimiento.
Dim sql As String
'Se le da el valor a la variable con el procedimiento deseado, que en este caso es
selecciona y muestra el top 1 de la columna caja de la tabla y ordnalo
descendentemente, por lo que se seleccionara el ltimo nmero de caja.
sql = "select top 1 caja from " & mod1 & " order by caja desc"
Try
'Se declara una variable llamada valor con la cual se tomara ese nmero de caja de
SQL y se transmitir a la pantalla de la aplicacin.
Dim valor As String
Dim da As New SqlDataAdapter(sql, conexion)
Dim ds As New DataSet

Semi-Automatizacin de Control de Datos de Produccin

81

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

da.Fill(ds, mod1)
'La variable declarada tomara el valor del top 1 de la caja.
valor = ds.Tables(0).Rows(0).Item("caja") & ""
'Por ltimo se deposita ese valor de la caja en el LABEL donde va el nmero de caja.
lblbox.Text = valor
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Para saber la cantidad de piezas contenida en la caja se utiliza este cdigo el cual
utiliza tambin un procedimiento utilizado en Visual Basic.
'Este fragmento de cdigo cuenta la cantidad de piezas escaneadas por el sistema y
que estn fsicamente dentro del de la caja.
Sub caja()
Dim cmd As SqlCommand
'Se declara una variable con la que se har el conteo de las piezas con el
procedimiento.
Dim SelectSQl As String
'Se llena la variable con el procedimiento deseado, que en este caso es selecciona y
cuenta de la columna serie de la base de datos y tabla donde el nmero de caja es
lblbox.text, que viene siendo el nmero de caja.

Semi-Automatizacin de Control de Datos de Produccin

82

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

SelectSQl = "SELECT COUNT(SERIE) FROM [thales].[dbo].[" & mod1 & "]"


If Not String.IsNullOrEmpty(lblbox.Text) Then
SelectSQl &= " where caja='" & lblbox.Text & "'"
End If
' Dim cmd As New SqlCommand(SelectSQl, conexion)
Try
'Hacen la conexin con sql, enlazan el procedimiento se realiza.
conexion.Open()
cmd = New SqlCommand(SelectSQl, conexion)
Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
cmd.Dispose()
conexion.Close()
'Y se deposita en el lblinside.text, lugar donde se pone la cantidad de piezas dentro de
la caja.
lblinside.Text = count
Catch ex As Exception
MsgBox(ex.Message)
Finally
conexion.Close()

Semi-Automatizacin de Control de Datos de Produccin

83

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

'Inmediatamente de que se termina el conteo de las piezas entra otra funcin que se
encarga del control del conteo de las cajas.
cajaconteo()
End Try
End Sub
'Fragmento de cdigo que se encarga de contar el total de la piezas escaneadas, si la
cantidad es igual a 120 se le suma un uno a la caja, el contador de las piezas cambia a
cero y lanza un mensaje diciendo que la caja se ha llenado.
Sub cajaconteo()
If lblinside.Text = "120" Then
lblbox.Text = lblbox.Text + 1
lblinside.Text = "0"
MsgBox("Full box" & vbNewLine & "New box starts", MsgBoxStyle.Information)
End If
End Sub
Estos fueron los cdigos base a partir de donde arranco la aplicacin. A medida que
comenzaron las pruebas vinieron nuevas opciones del programa as como su
complejidad en la programacin.

Semi-Automatizacin de Control de Datos de Produccin

84

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.3 Noviembre
4.2.3.1 Inicio de pruebas.
El prototipo del programa inicio pruebas en noviembre, antes de iniciar con las pruebas
se inici la toma de tiempo en la lnea de produccin, para saber cunto es lo que
tardaban la gente de produccin en realizar el empaque y adems de resolver
problemas que llegaran a resultar en el proceso.
La mayora de los tiempos tomados antes de la implementacin del programa fueron de
48:58 min, este tiempo es un promedio, aqu se tienen en cuenta que hubo problemas
de captura, seriales repetidos, etc., estos datos fueron obtenidos en el mes de octubre,
esta idea de tomar tiempos fue de mi asesor externo Dionicio Mata.
La meta es que con este programa disminuyamos la cantidad de tiempo de captura y
de empaque, as como reducir los errores por etiquetas repetidas y bsqueda de
material para auditar.
A continuacin se mostraran las diferentes mejoras que se le agregaron a la aplicacin.

Semi-Automatizacin de Control de Datos de Produccin

85

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Debido a las necesidades que produccin llegaba a tener, fueron haciendo se


modificaciones al programa, en un principio se agreg un men, que contena las
pestaas de reporte, conteo y de caja parcial.
Analizaremos cada uno de estas partes.
4.2.3.1.1 Reporte
El men reporte se cre que con la necesidad de generar un archivo de Excel, archivo
que contuviera dentro un listado de la informacin de la caja escaneada.
El motivo de esta accin era poder mandar, a parte del producto, un reporte de los
nmeros de serial contenidos dentro de la caja y as el cliente identificara rpidamente
el producto, si este llegara a ser defectuoso.
Para usar el men reporte, este comando de la aplicacin se encuentra en la parte
superior izquierda de la ventana de captura, ver imagen.

Semi-Automatizacin de Control de Datos de Produccin

86

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Se abrir un submen donde daremos clic en Generate Report.

Al dar clic se abrir una ventana como esta:

Semi-Automatizacin de Control de Datos de Produccin

87

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Esta parte de la aplicacin te muestra una ventana donde te pide el nmero de caja, y
el nmero de parte o modelo a cargar en el reporte, tiene un botn (SHOW), el cual se
encargara de buscar la informacin provista por el usuario, adems al final de la
bsqueda mostrara la cantidad total de las piezas dentro de la caja.

Tambin se agreg un botn de reporte, el cual se encarga de enviar los datos


cargados al DATAGRIDVIEW, estos datos se cargan en un archivo de Excel
predeterminado, este archivo es un formato con el que el personal de calidad podr
trabajar de una manera sencilla, sin tener que perder el tiempo en crear este archivo,
que es como lo haca antes, tener que cargar la informacin que capturaban en una
hoja de Excel.

Semi-Automatizacin de Control de Datos de Produccin

88

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Este es el cdigo utilizado para cada una de las funciones de esta parte de la
aplicacin.
'Librera de Visual Basic que se encarga de importar los datos y procedimientos de
SQL.
Imports System.Data.SqlClient
'Librera de Excel que se encarga de exportar los datos del DATAGRIDVIEW.
Imports Microsoft.Office.Interop
Public Class Reports
'conexin de Visual Basic con SQL Server 2008.
Public

conexion

As

New

SqlConnection("Data

source=MX12O700211\SQLEXPRESS; Initial catalog=thales; Integrated Security=


false; user id=standard; password=standard; multipleactiveresultsets=true")
'cdigo para el botn show, que se encarga de hacer la consulta.
Private Sub btnshow_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnshow.Click
consulta()
End Sub
'funcin consulta que se encarga de seleccionar todos los campos de la tabla donde el
nmero de la caja coincida con el puesto en la caja de texto.
Sub consulta()
Dim selectsql As String = "select * "
selectsql &= "from " & ComboBox1.SelectedItem & " "
If Not String.IsNullOrEmpty(TextBox1.Text) Then

Semi-Automatizacin de Control de Datos de Produccin

89

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

selectsql &= " where caja='" & TextBox1.Text & "'"


End If
Dim cmd As New SqlCommand(selectsql, conexion)
Try
conexion.Open()
Dim adapter As New SqlDataAdapter(cmd)
Dim ds As New DataSet
adapter.Fill(ds, ComboBox1.SelectedItem)
DataGridView1.DataSource = ds.Tables(ComboBox1.SelectedItem)
Catch ex As Exception
MsgBox(ex.Message & vbNewLine & "Fields are empty", MsgBoxStyle.Critical)
Finally
TextBox2.Text = DataGridView1.RowCount
conexion.Close()
End Try
End Sub
'cdigo para el botn cerrar, cierra la ventana.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Close()
End Sub

Semi-Automatizacin de Control de Datos de Produccin

90

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

'cdigo para el botn exportar a Excel, primero verifica el modelo y despus manda
llamar el comando de exportar.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If ComboBox1.Text = "p25155501" Then
exportar251555()
End If
End Sub
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect()
End Try
End Sub
'cdigo para exportar a Excel.
Sub exportar251555()
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook

Semi-Automatizacin de Control de Datos de Produccin

91

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Dim xlWorkSheet As Excel.Worksheet


Dim misValue As Object = System.Reflection.Missing.Value
Dim NCol As Integer = DataGridView1.ColumnCount
Dim NRow As Integer = DataGridView1.RowCount
xlApp = New Excel.Application()
'busca

el

archivo

la

siguiente

direccin

"V:\CrossDept\EMSDBScanning\THALES\MASTER 1555.xls, se activa la hoja 1 del


archivo, y en esa pgina se copia el contenido del datagridview.
xlWorkBook

xlApp.Workbooks.Open(Filename:="V:\CrossDept\EMSDBScanning\THALES\MASTER
1555.xls", UpdateLinks:=False, ReadOnly:=True)
'xlWorkBook.Worksheet("sheet1").activate()
xlWorkSheet = xlWorkBook.Sheets("sheet1")
For i As Integer = 1 To NCol
For h As Integer = 10 To 30
xlWorkSheet.Cells.Item(1, i) = DataGridView1.Columns(i - 1).Name.ToString
xlWorkSheet.Cells.Item(1, i).HorizontalAlignment = 3
h=h+1
' ProgressBar1.Value = h
Next
Next
For Fila As Integer = 0 To NRow - 1

Semi-Automatizacin de Control de Datos de Produccin

92

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

For Col As Integer = 0 To NCol - 1


xlWorkSheet.Cells.Item(Fila

2,

Col

1)

DataGridView1.Rows(Fila).Cells(Col).Value

Next
' ProgressBar1.Value = Fila
'ProgressBar1.Value = ProgressBar1.Value + 1
Next
xlWorkSheet.Rows.Item(1).Font.Bold = 5
xlWorkSheet.Rows.Item(1).HorizontalAlignment = 3
'xlworksheet.Columns.Style = "TEXT"
xlWorkSheet.Columns.AutoFit()
xlApp.Application.Visible = True
xlWorkSheet = Nothing
xlWorkSheet = Nothing
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
'ProgressBar1.Value = 195
'MsgBox("Exportado con exito")
Try

Semi-Automatizacin de Control de Datos de Produccin

93

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Catch ex As Exception
Finally
MsgBox("Succesfully exported", MsgBoxStyle.Information)
' ProgressBar1.Visible = False
End Try
End Sub
End Class
El resultado de todo esto es la hoja de Excel con todos los nmeros de serial como se
muestra, recordemos que se los datos se vacan en la hoja 1 y de esa hoja se toman
los datos para llenar el formato mostrado a continuacin:

Semi-Automatizacin de Control de Datos de Produccin

94

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.3.1.2 Caja Parcial


La opcin de caja parcial, cierra digitalmente la caja actual, si es la
caja por ejemplo 34, con 110 piezas, sumndole un 1 a la caja y
poniendo en ceros el contador de las piezas, as quedara caja 35 con 0 piezas.
El cdigo usando para este proceso es:
Este es el cdigo usado para crear la caja parcial.
lblbox.Text = lblbox.Text + 1
lblinside.Text = "0"
MsgBox("Full box" & vbNewLine & "New box starts", MsgBoxStyle.Information)
4.2.3.1.3 Delete

Algunos seriales eran necesarios ser eliminados, o porque calidad los haba detectado
como piezas malas, u otra razn por la que produccin deseara eliminar una pieza, es
porque se haban pasado de la cantidad correcta, en caso de tener que mandar una
caja parcial.
Al hacer clic en este men se abrir una ventana como esta:

Semi-Automatizacin de Control de Datos de Produccin

95

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Esta ventana se encarga de pedir una contrasea, la cual se encargara de eliminar el


serial indicado.
Este es el cdigo utilizado:
'librera de uso de archivos de SQL en Visual
Imports System.Data.SqlClient
Public Class deletepass250029
'conexin SQL con Visual Basic.
Public conexion As New SqlConnection("data source= MX12o700211\sqlexpress;
Initial Catalog= thales; user id=standard; password=standard; integrated security=
false; multipleactiveresultsets=true;")
'al ingresar la contrasea se inicia la funcin eliminar, en caso de introducir
incorrectamente la contrasea te arrojara un mensaje de error.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If TextBox1.Text = "ctsthales2013" Then
eliminar_250029()
Me.Close()
Else
'Mensaje de error.
MsgBox("Error, type a correct password! ", MsgBoxStyle.Critical)
TextBox1.Text = ""
End If
End Sub

Semi-Automatizacin de Control de Datos de Produccin

96

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Sub clave()
If TextBox1.Text = "ctsthales2013" Then
eliminar_250029()
Me.Close()
Else
MsgBox("Error, type a correct password! ", MsgBoxStyle.Critical)
TextBox1.Text = ""
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
clave()
End If
End Sub

Semi-Automatizacin de Control de Datos de Produccin

97

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

'funcin de eliminar que utiliza el procedimiento de bsqueda de serial y de eliminacin,


procedimientos que fueron creados anteriormente en SQL Server 2008.
Sub eliminar_250029()
Dim prompt As String
Try
conexion.Open()
'se abre una ventana de entrada donde se ingresara el nmero de serial.
prompt = InputBox("Ingrese el nmero de serial")
Dim dr As SqlDataReader
Dim cmd2 As SqlCommand
'Se llama el procedimiento de bsqueda del serial mediante la conexin.
cmd2 = New SqlCommand(ser, conexion)
cmd2.CommandType = 4
With cmd2.Parameters
.AddWithValue("@serie", prompt)
End With
dr = cmd2.ExecuteReader
If dr.HasRows = False Then
MsgBox("Verify data, doesn't found coincidence to this serial number",
MsgBoxStyle.Exclamation)
Else

Semi-Automatizacin de Control de Datos de Produccin

98

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

'Se llama el procedimiento de eliminacin del serial mediante la conexin y al ser


realizado con xito arroja un mensaje de serial eliminado.
Dim da As New SqlDataAdapter(bor, conexion)
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.Parameters.AddWithValue("@serie", prompt)
Dim dt As New DataTable
da.Fill(dt)
MsgBox("Succesfully Deleted", MsgBoxStyle.Information)
If MsgBoxResult.Ok Then
form250029.refresh1()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
conexion.Close()
End Sub
End Class

Semi-Automatizacin de Control de Datos de Produccin

99

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.3.1.4 Update

Esta opcin actualiza la ventana, mostrando los registros y cambios hechos


recientemente, generalmente por el administrador de la base de datos.
Private Sub UPDATEToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles UPDATEToolStripMenuItem.Click
ultimacaja()
caja()
Call lock(Me)
mostrar()
TextBox3.Text = DataGridView1.RowCount + 1
TextBox1.Text = Now
TextBox2.Text = part
TextBox4.Enabled = True
TextBox4.Focus()
End Sub

Semi-Automatizacin de Control de Datos de Produccin

100

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.3.1.5 Men count

Esta opcin es para realizar un conteo rpido de cuantas piezas han sido escaneadas
en el transcurso del da, al dar clic en esta opcin se abrir una ventana como la
siguiente:

Enseguida se tendr que poner en el combobox el nmero de parte a contabilizar,


despus el dia o la hora de la empezara a contabilizar, para ello tienen un
datetimepicker, uno de inicio y otro final, al dar clic en iniciar conteo empezara a
contabilizar y mostrar inmediatamente el total de las piezas, adems las desplegara en
el datagridview.

Semi-Automatizacin de Control de Datos de Produccin

101

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Este el cdigo para lograr esta funcin:


'librera de uso de archivos de SQL en Visual
Imports System.Data.SqlClient
Public Class Conteo
'conexin de Visual con SQL.
Public conexion As New SqlConnection("Data
source=MX12O700211\SQLEXPRESS; Initial catalog=thales; user id=standard;
password=standard; multipleactiveresultsets=true")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Semi-Automatizacin de Control de Datos de Produccin

102

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

ComboBox1.Focus()
End Sub
'Esta funcin se encarga de realizar la bsqueda de la siguiente consulta, selecciona
todos los campos del nmero de parte donde la fecha que es un campo, este entre la
fecha inicial y la final.
Sub Piezasxhora()
Try
Dim sql As String
conexion.Open()
sql = "select * "
sql &= "from " & ComboBox1.SelectedItem & " "
'sql &= "where fecha like '" & TextBox1.Text & "' + '%' "
sql &= "where fecha between '" & TextBox1.Text & "' and '" & TextBox2.Text &
"'"
Dim da As New SqlDataAdapter(sql, conexion)
Dim ds As New DataSet
da.Fill(ds, ComboBox1.SelectedItem)
DataGridView1.DataSource = ds.Tables(ComboBox1.SelectedItem)

Catch ex As Exception
MsgBox(ex.Message + "Check if some field are missing")
End Try

Semi-Automatizacin de Control de Datos de Produccin

103

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

conexion.Close()
End Sub
'control del contador, se encarga de llamar a la funcin piezas por hora la cual es la que
contabilizara.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Piezasxhora()
'una vez realizada la consulta visual hace un conteo de las filas, quitando una que es la
que queda en blanco, ya que el datagridview siempre deja una casilla libre para poder
agregar un registro ms, cosa que se le ha negado realizar ya que el datagridview est
bloqueado para ser editable.
Label1.Text = DataGridView1.RowCount - 1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Me.Close()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
Label1.Text = 0
TextBox1.Text = ""
TextBox2.Text = ""

Semi-Automatizacin de Control de Datos de Produccin

104

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

DataGridView1.DataSource = Nothing
ComboBox1.Text = "
End Sub
'control del datetimepicker1, se encarga de poner en el texbox1 el siguiente formato:
"MM/dd/yyyy hh:mm tt".
Private Sub DateTimePicker1_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.TextChanged
Me.TextBox1.Text = Format(Me.DateTimePicker1.Value, "MM/dd/yyyy hh:mm tt")
End Sub
'control del datetimepicker2, se encarga de poner en el texbox2 el siguiente formato:
"MM/dd/yyyy hh:mm tt".
Private Sub DateTimePicker2_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles DateTimePicker2.TextChanged
Me.TextBox2.Text = Format(Me.DateTimePicker2.Value, "MM/dd/yyyy hh:mm tt")
End Sub
End Class

Semi-Automatizacin de Control de Datos de Produccin

105

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.3.1.6 Funcin Find Serial

Esta ltima funcin se utiliza para buscar el historial de un serial, en caso de que haya
sido regresado, hay dos formas de buscar el serial, una por el serial dentro de la caja,
en caso de que sepamos qu nmero de caja es y la otra opcin es buscar el serial
dentro de toda la base de datos.

Observemos primero la parte de buscar la pieza dentro de la caja, se pone el nmero


de la caja, seguido del nmero de parte.

Semi-Automatizacin de Control de Datos de Produccin

106

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Y escaneando el nmero de serial a encontrar.

Nos mostrar inmediatamente el nmero de serial, nmero de la caja, empleado y a


qu hora y da.

Semi-Automatizacin de Control de Datos de Produccin

107

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Para buscar un nmero de serial en todas las piezas escaneadas, basta con poner solo
el nmero de parte o modelo.

Y escaneando el nmero de serial buscara y encontrara inmediatamente el serial.

Semi-Automatizacin de Control de Datos de Produccin

108

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Este es el cdigo usado por la misma aplicacin para realizar esta funcin.
'librera de uso de archivos de SQL en Visual.
Imports System.Data.SqlClient
Public Class frmfind
'conexin de Visual Basic con SQL Server 2008.
Public conexion As New SqlConnection("Data
source=MX12O700211\SQLEXPRESS; Initial catalog=thales; Integrated Security=
false; user id=standard; password=standard; multipleactiveresultsets=true")
Dim a As String
Private Sub bttreturn_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttreturn.Click
Me.Hide()
End Sub
Private Sub bttexit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttexit.Click
Me.Hide()
End
End Sub
Private Sub btthelp_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btthelp.Click
AboutBox1.Show()
End Sub

Semi-Automatizacin de Control de Datos de Produccin

109

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Private Sub frmfind_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Call locke(Me)
rbbox.Checked = True
gpbrpbox.Enabled = True
End Sub
Private Sub rbbtotal_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles rbbtotal.CheckedChanged
If rbbtotal.Checked = True Then
gpbrpbox.Enabled = False
gpbfullreport.Enabled = True
txtboxnumber.Text = ""
txtpart.Text = ""
cmbnumpart.Text = ""
cmbpartselect.Focus()
End If
End Sub
Private Sub rbbox_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles rbbox.CheckedChanged
If rbbox.Checked = True Then
gpbrpbox.Enabled = True
gpbfullreport.Enabled = False

Semi-Automatizacin de Control de Datos de Produccin

110

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

txtfullinside.Text = ""
cmbpartselect.Text = ""
txtboxnumber.Focus()
End If
End Sub
'consulta para la bsqueda de la pieza por el nmero de caja, que en este caso sera
seleccionar todos los campos del nmero de parte, donde la caja es igual al
textboxnumber.
Sub consulta()
Dim selectsql As String = "select * "
selectsql &= "from " & cmbnumpart.SelectedItem & " "
If Not String.IsNullOrEmpty(txtboxnumber.Text) Then
selectsql &= " where caja='" & txtboxnumber.Text & "'"
End If
Dim cmd As New SqlCommand(selectsql, conexion)
Try
conexion.Open()
Dim adapter As New SqlDataAdapter(cmd)
Dim ds As New DataSet
adapter.Fill(ds, cmbnumpart.SelectedItem)
datareport.DataSource = ds.Tables(cmbnumpart.SelectedItem)
Catch ex As Exception

Semi-Automatizacin de Control de Datos de Produccin

111

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

MsgBox(ex.Message & vbNewLine & "Fields are empty", MsgBoxStyle.Critical)


Finally
conexion.Close()
End Try
End Sub
'Dependiendo del nmero de parte, har la consulta de bsqueda.
Private Sub cmbnumpart_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cmbnumpart.SelectedIndexChanged
If cmbnumpart.Text = "p25205501" Then
consulta()
End If
End Sub
'Esta parte del cdigo hace una consulta general, mostrando todos los campos del
nmero de parte seleccionado.
Private Sub cmbpartselect_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cmbpartselect.SelectedIndexChanged
If cmbpartselect.Text = "TA252055-01-02" Then
Try
Dim sql As String
sql = "select Fecha,Parte,Serie,Empleado,Caja,piezas from p25205501 order
by fecha desc"
Dim da As New SqlDataAdapter(sql, conexion)

Semi-Automatizacin de Control de Datos de Produccin

112

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Dim ds As New DataSet


da.Fill(ds, "p25205501")
datareport.DataSource = ds.Tables("p25205501")
Catch ex As Exception
MsgBox(ex.Message & "If ")
End Try
End If
End Sub
'se encarga de realizar la bsqueda del nmero de serie, utilizando el procedimiento
creado en SQL Server 2008.
Sub buscar()
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Try
conexion.Open()
da = New SqlDataAdapter(a, conexion)
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.Parameters.AddWithValue("@serie", txtpart.Text)
ds.Clear()
da.Fill(ds)
Label1.Text = ds.Tables(0).Rows(0).Item("serie") & ""

Semi-Automatizacin de Control de Datos de Produccin

113

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

Dim dt As New DataTable


da.Fill(dt)
datareport.DataSource = dt
Catch ex As Exception
MsgBox("Serial not found", MsgBoxStyle.Exclamation)
If MsgBoxResult.Ok Then
conexion.Close()
txtpart.Text = ""
txtpart.Focus()
End If
End Try
conexion.Close()
End Sub
'este cdigo se encarga de hacer la bsqueda del nmero de serial, en caso de que
sea bsqueda por el nmero de caja y nmero de parte.
Private Sub txtpart_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtpart.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
e.Handled = True
SendKeys.Send("{END}")
If cmbnumpart.Text = "p24887502" Then
a = "buscar_p24887502"

Semi-Automatizacin de Control de Datos de Produccin

114

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

buscar()
End If
End If
End Sub
'Se encarga de realizar la bsqueda del serial ingresado utilizando el procedimiento
creado en SQL Server 2008.
Sub buscar1()
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Try
conexion.Open()
da = New SqlDataAdapter(a, conexion)
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.Parameters.AddWithValue("@serie", txtfullinside.Text)
ds.Clear()
da.Fill(ds)
Label1.Text = ds.Tables(0).Rows(0).Item("serie") & ""
Dim dt As New DataTable
da.Fill(dt)
datareport.DataSource = dt
Catch ex As Exception

Semi-Automatizacin de Control de Datos de Produccin

115

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

MsgBox("Serial not found", MsgBoxStyle.Exclamation)


If MsgBoxResult.Ok Then
conexion.Close()
txtfullinside.Text = ""
txtfullinside.Focus()
End If
End Try
conexion.Close()
End Sub
'este cdigo se encarga de hacer una bsqueda del serial, en caso de que se tenga
que buscar en todas las piezas escaneadas.
Private Sub txtfullinside_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtfullinside.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
e.Handled = True
SendKeys.Send("{END}")
If cmbpartselect.Text = "TA248875-02" Then
a = "buscar_p24887502"
buscar1()
End If
End If
End Sub
End Class

Semi-Automatizacin de Control de Datos de Produccin

116

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

4.2.4 Diciembre
4.2.4.1 Implementacin de la aplicacin.

A partir de la segunda semana de diciembre el programa empez a utilizarse.

Una vez implementado el programa se tom una vez ms los tiempos.

La aplicacin est corriendo satisfactoriamente en 7 diferentes productos,


teniendo el control de alrededor de 154 modelos diferentes de nmeros de parte.

Semi-Automatizacin de Control de Datos de Produccin

117

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

V. RESULTADOS OBTENIDOS

Semi-Automatizacin de Control de Datos de Produccin

118

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

5.1 Resultados:
Con la realizacin e implementacin de la aplicacin, se tomaron los tiempos de nuevo
lanzando los resultados esperados, mejoramiento en el proceso de empacado, mejor y
mayor respuesta en cuestin a etiquetas repetidas, el tiempo resultante con esta
mejora fue de 17:56 min.
Optimizando as el proceso de captura y empaquetado en un 63%.

Semi-Automatizacin de Control de Datos de Produccin

119

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

VI. ALCANCES Y LIMITACIONES

Semi-Automatizacin de Control de Datos de Produccin

120

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

6.1 Alcances.

Mejora en el proceso de escaneo.

Mejora en el proceso de empaquetado.

Rendimiento del 63%.

Control de los seriales, ya no hay seriales repetidos.

Localizacin de seriales, bsqueda de seriales ms rpida.

6.2 Limitaciones.

La aplicacin por el momento est funcionando en una fase de empaquetado.

Debido al tiempo limitado no se complet la fase final del programa, que


consista en tener un historial total del inicio del proceso hasta el final del mismo.

Semi-Automatizacin de Control de Datos de Produccin

121

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

VII. CONCLUSIONES Y RECOMENDACIONES

Semi-Automatizacin de Control de Datos de Produccin

122

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

7.1 Conclusiones.
En conclusin, la aplicacin resulto todo un xito, cumpli con las expectativas, que
aunque se esperaba que sobrepasara las mismas, por el tiempo solo llego a cumplir las
ms bsicas.
La empresa quedo muy conformada con el trabajo realizado en mis residencias.

7.2 Recomendaciones.
Para realizar, o mejorar el proyecto ser necesario o indispensable que se utilicen
variables globales, para que as puedan utilizar menos formularios, tambin como
recomendacin ser bueno que al igual que en el cdigo de VISUAL BASIC, se
utilizaran los procedimientos dentro del cdigo, y no en Microsoft SQL Server 2008,
para que as disminuyan el tiempo de programacin, y el tiempo sobrante se invierta en
mejora continua del proyecto para as poder llegar al mximo potencial de la aplicacin,
que al final su objetivo principal es generar una ayuda a los auditores de calidad,
gerentes e ingenieros una vista en tiempo real de cmo va el proceso, analizar la
cantidad de produccin del da y producto terminado.

Semi-Automatizacin de Control de Datos de Produccin

123

Residencias

Luis Fernando Cruz Gonzlez

ITM 2014

ANEXOS

Semi-Automatizacin de Control de Datos de Produccin

124