unesp universidade estadual paulista campus de … · figura 10 - fluxograma de funcionamento do...

114
UNESP – UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE SOROCABA ENGENHARIA DE CONTROLE E AUTOMAÇÃO Danilo Mendes dos Santos Estudo e Desenvolvimento de um Sistema de Monitoramento de Produção Aplicado a uma Linha de Extrusão de Cabos. Sorocaba 2015

Upload: phamthuy

Post on 07-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

UNESP – UNIVERSIDADE ESTADUAL PAULISTA

CAMPUS DE SOROCABA

ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Danilo Mendes dos Santos

Estudo e Desenvolvimento de um Sistema de

Monitoramento de Produção Aplicado a uma

Linha de Extrusão de Cabos.

Sorocaba

2015

Page 2: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

Danilo Mendes dos Santos

Estudo e Desenvolvimento de um Sistema de

Monitoramento de Produção Aplicado a uma

Linha de Extrusão de Cabos.

Trabalho de Graduação do Curso

de Engenharia de Controle e

Automação da UNESP Sorocaba,

com o objetivo de obter o título de

Bacharel em Engenharia de

Controle e Automação.

Orientador: Prof. Drº Galdenoro

Botura Jr.

Sorocaba

2015

Page 3: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

Ficha catalográfica elaborada pela Biblioteca da Unesp Câmpus Experimental de Sorocaba

Santos, Danilo Mendes dos. Estudo e desenvolvimento de um sistema de monitoramento de produção aplicado a uma linha de extrusão de cabos / Danilo Mendes dos Santos, 2015. 114 f.: il. Orientador: Galdenoro Botura Júnior

Trabalho de Conclusão de Curso (Graduação) – Universidade Estadual Paulista. Câmpus Experimental de Sorocaba, Sorocaba, 2015. 1. Manutenção produtiva total. 2. Eficiência industrial. 3. Produtividade industrial. I. Universidade Estadual Paulista. Câmpus Experimental de Sorocaba. II. Título.

Page 4: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

DEDICATÓRIA

A meus pais e irmão que sempre me

apoiaram nesta empreitada, mesmo com

todas as dificuldades encontradas durante o

percurso. A minha companheira Priscila que

esteve ao meu lado ao longo desta jornada

sempre me colocando para o alto.

A meus Irmãos de República que sempre

estiveram juntos em todos os momentos da

faculdade, fossem eles bons ou ruins.

Page 5: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

RESUMO

As evoluções dos processos industriais sempre são ligadas ao avanço

tecnológico. Entretanto, a evolução das práticas de gestão se mostra historicamente

como uma força no desenvolvimento dos processos industriais.

Dentre estas filosofias, podemos destacar a de Manutenção Produtiva Total

(Total Productive Maintenance - TPM), que se trata de uma cultura na qual é

transmitida a ideia de que todos na empresa são responsáveis pela melhoria do

desempenho na produção e redução das perdas que são identificadas através da análise

de indicadores como o OEE (Overall Efficiency Equipment) ou índice de Eficiência

Global de Equipamento.

Este trabalho propõe a informatização da captação dos fatores: eficiência e

disponibilidade integrando o sistema de elaboração de fichas de processo, captação de

dados de produção e sua respectiva compilação gerando gráficos que expõem essas

perdas.

Para sua realização foi utilizado um microcontrolador Arduino que realiza a

interface entre o sensor da linha e seu respectivo computador o qual estará rodando um

programa que realizará o processamento dos dados e os inserirá em um banco de dados.

O sistema completo foi desenvolvido utilizando a linguagem C# no ambiente de

desenvolvimento Visual Studio 2012 e os dados foram armazenados em um banco de

dados do Microsoft Access.

Palavras – Chave: Manutenção Produtiva Total, OEE, Eficiência,

Disponibilidade, Banco de Dados, Indústria.

Page 6: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

ABSTRACT

The evolution of the industrial processes is always linked to the technological

advancement. However, the development of management practices historically shown

as a force in the evolution of industrial processes.

Among these philosophies, we can highlight the Total Productive Maintenance -

TPM, it’s a culture that conveyed the Idea that everyone in the company are responsible

for improving performance in the production and reduction of losses wich are identified

through the indicators analysis as the Overall Efficiency Equipment (OEE).

This job proposes the informatization of the factors capture, efficiency and

availability, integrating the system of process sheet elaboration, capture the production

data and their respective compilation generating charts that expose these losses.

For its realization was used an Arduino microcontroller that performs the

interface between the line sensor and its associated computer which is running a

program that will perform the data processing and insert them into a database.

The complete system was developed using the C # language in Visual Studio

2012 development environment and the data were stored in a Microsoft Access

database.

Key Words: Total Productive Maintenance, OEE, Eficiency, Availability,

Database, Industry.

Page 7: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

LISTA DE ILUSTRAÇÕES

Figura 1 - Pilares da TPM .............................................................................................. 19 Figura 2 - Representação das perdas na produção .......................................................... 27

Figura 3 - Ilustração do sistema de Banco de Dados. ..................................................... 28 Figura 4 - Configuração de Rede Cliente-Servidor. ....................................................... 30 Figura 5 – Arduino ......................................................................................................... 32 Figura 6 - Estrutura da Gestão industrial ........................................................................ 36 Figura 7 - Linha de Extrusão .......................................................................................... 39

Figura 8 - Cabo na Extrusora. ......................................................................................... 39 Figura 9 - Contador de Pulsos ........................................................................................ 40 Figura 10 - Fluxograma de funcionamento do sistema. ................................................. 41 Figura 11 - Tela inicial do ambiente de desenvolvimento do Arduino .......................... 42 Figura 12 - Encoder Rotativo ......................................................................................... 43

Figura 13 - Arquitetura do Circuito ................................................................................ 43

Figura 14 - Circuito Utilizado no Projeto ....................................................................... 44

Figura 15 - Ligações na Bancada ................................................................................... 44 Figura 16 - Tela inicial de projeto no Visual Studio 2012 ............................................. 45 Figura 17 - Fluxo de Dados do Sistema ......................................................................... 46 Figura 18 - Tabelas Banco de Dados. ............................................................................. 46

Figura 19 - Tela de Login ............................................................................................... 48 Figura 20 - Janela do Administrador. ............................................................................. 49 Figura 21 - Tela Engenharia ........................................................................................... 50

Figura 22 - Janela de Cadastro de Matéria Prima ........................................................... 51 Figura 23 - Tela Operacional .......................................................................................... 52

Figura 24 - Ficha de Processo......................................................................................... 53 Figura 25 - Eficiência Diária .......................................................................................... 54 Figura 26 - Disponibilidade Diária ................................................................................. 55

Figura 27 - Resumo Mensal de Perdas ........................................................................... 56

Figura 28 - Resumo Mensal das Paradas ........................................................................ 57

Page 8: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

LISTA DE TABELAS

Tabela 1 - Valores de acordo com Classe Mundial ........................................................ 23 Tabela 2 - Caracteristicas do Arduino ............................................................................ 34

Page 9: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

SUMÁRIO

1 INTRODUÇÃO .......................................................................................................11

1.1 JUSTIFICATIVAS .......................................................................................... 14

1.2 OBJETIVOS .................................................................................................... 14

2 CONCEITUAÇÃO..................................................................................................16

2.1 Manutenção Produtiva Total (TPM) ................................................................ 16

2.1.1 Definição .................................................................................................. 16

2.1.2 Pilares da TPM ......................................................................................... 18

2.1.2.1 Educação e Treinamento ................................................................... 19

2.1.2.2 Manutenção Autônoma ..................................................................... 19

2.1.2.3 Manutenção Planejada....................................................................... 20

2.1.2.4 Melhorias Específicas ....................................................................... 20

2.1.2.5 Segurança e Meio Ambiente ............................................................. 21

2.1.2.6 Manutenção da Qualidade ................................................................. 21

2.1.2.7 Controle Inicial .................................................................................. 21

2.1.2.8 Gestão Administrativa ....................................................................... 22

2.2 OEE – Eficácia Global de Equipamento .......................................................... 22

2.2.1 Definição .................................................................................................. 22

2.2.2 Componentes do OEE .............................................................................. 24

2.2.2.1 Disponibilidade ................................................................................. 24

2.2.2.2 Qualidade .......................................................................................... 25

2.2.2.3 Eficiência ........................................................................................... 25

2.2.3 Representação do OEE ............................................................................. 26

2.3 BANCO DE DADOS ...................................................................................... 27

2.3.1 Definição .................................................................................................. 27

2.3.2 Microsoft Access ...................................................................................... 28

2.4 REDES ............................................................................................................. 29

2.5 Arduino Uno R3 ............................................................................................... 32

2.5.1 Hardware .................................................................................................. 33

2.5.2 Software .................................................................................................... 34

3 Materiais e Métodos ................................................................................................36

3.1 Caracterização do Empreendimento ................................................................ 36

3.1.1 Estrutura de Gestão e Produção ................................................................ 36

3.1.2 Linha de Encapamento ............................................................................. 38

3.1.3 Controle da Produção ............................................................................... 40

3.2 Caracterização do Projeto ................................................................................ 41

Page 10: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

3.2.1 Montagem do Hardware ........................................................................... 42

3.2.2 Desenvolvimento do Software.................................................................. 45

3.2.2.1 Visual Studio ..................................................................................... 45

3.2.2.2 Desenvolvimento ............................................................................... 45

4 Resultados e Discussões ..........................................................................................48

5 Comentários Finais e Conclusões ............................................................................59

6 Referências Bibliográficas .......................................................................................61

Apêndice A – Código Arduino ........................................................................................64

Apêncide B – Tela Login ................................................................................................65

Apêncice C – Tela do Administrador ..............................................................................67

Apêndice D – Tela da Engenharia e Materia Prima ........................................................71

Apêndice E – Tela Operacional .......................................................................................90

Apêndice F – Tela Produção .........................................................................................106

Page 11: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

11

1 INTRODUÇÃO

Historicamente a evolução dos processos de produção industrial está relacionada

às inovações tecnológicas, por exemplo, a invenção da máquina a vapor que

impulsionou a Primeira Revolução Industrial, o desenvolvimento técnico da produção e

da utilização de energia elétrica, invenção do motor de combustão interna e do telégrafo

que são marcos da Segunda Revolução Industrial e o desenvolvimento da informática,

microeletrônica, robótica e a biotecnologia que marcaram a Terceira Revolução

industrial.

Contudo, a invenção de novos equipamentos e a descoberta e aplicação de novas

tecnologias não são as únicas responsáveis pelo desenvolvimento industrial.

Interferências nas formas de trabalho e na política administrativa das indústrias também

tiveram grande importância.

Entre estas interferências pode-se destacar:

• O Fordismo, criado por Henry Ford (1863 - 1947), concebeu a chamada

linha de produção composta por uma esteira que movimentava o produto enquanto cada

operador fazia uma parcela da produção;

• O Taylorismo, criado por Frederick Winslow Taylor (1856 - 1915), que

se tratava da elaboração de um estudo prévio da metodologia utilizada visando máximo

desenvolvimento, oferecimento de instruções sistemáticas aos trabalhadores e a

introdução do controle com o intuito de garantia da execução do tarbalho de acordo com

uma determinada sequência e um tempo pré-programado;

• O Toyotismo, idealizado por Eiji Toyota (1913 - 2013), que tem como

conceito fundamental a flexibilização da produção e diminuição da estocagem de

produtos de acordo com a demanda necessária.

Dentro do cenário da evolução do sistema Toyota de produção, desenvolveu-se o

conceito de TPM (Total Productive Maintenance). A TPM objetiva a promoção de

integração da manutenção do sistema produtivo de forma total, tanto nos aspectos

administrativos como operacionais (NAKAJIMA, 1989). Assim sendo esse mesmo

autor afirma que TPM é "a manutenção produtiva realizada por todos os empregados

Page 12: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

12

através de atividades de pequenos grupos" onde manutenção a produtiva é a "gestão de

manutenção que reconhece a importância de confiabilidade, manutenção e eficiência

econômica nos projetos de fábricas" (NAKAJIMA, 1988).

Para o entendimento da filosofia da TPM devemos encarar que a maximização

dos resultados não é obtida apenas pelo aumento de produção de peça, mas o

favorecimento integrado da qualidade, custo, prazo de entrega, ao lado de um bom

ambiente e segurança no trabalho, melhoria do processo operacional, enfim, todas as

variáveis que possibilitam uma maior motivação e realização ao lado de um bom

produto (NAKAJIMA, 1989).

Os autores Takahashi e Osada (1993) afirmam que é essencial a transformação

de uma fábrica em uma operação com gerenciamento orientado para o equipamento

coerente com as mudanças da sociedade contemporânea.

Nakajima (1988, 1989, 1994) afirma que para o desenvolvimento da TPM junto

à organização existem etapas a serem vencidas com detalhes específicos para cada

empresa, afinal os objetivos e metas são também exclusivos em cada caso.

Para fazer a aplicação do conceito de TPM e conseguir assim eliminar as perdas

faz-se necessário primeiramente identificá-las. Isto é feito através de indicadores

responsáveis no auxílio aos gestores na tomada de decisões em todos os setores da

empresa.

De acordo com Johnston e Clark (2002) existem quatro razões principais para

adoção da mensuração:

• Comunicação: uma medida informa aos funcionários o que a organização

espera deles e o que pode lhes ser atribuído como indivíduos ou departamento, além de

ser um meio importante de comunicação e implementação de estratégia.

• Motivação: uma medida ou conjunto de medidas usadas por uma organização

cria hábitos mentais que influenciam o comportamento dos funcionários.

• Controle: o controle pode ser usado para assegurar o desempenho consistente

da organização e a partindo da mensuração é possível saber que ação deverá ser adotada

para manutenção do processo sob controle.

Page 13: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

13

• Melhoria: a mensuração pode motivar os indivíduos a melhorarem o

desempenho quando a vinculamos às recompensas (como bônus) e/ou punições (como

dispensa). Além disso, a informação sobre o que empurra o processo para a meta ou

para fora da meta pode também ajudar os indivíduos e as organizações a aprenderem

como melhor gerenciar o processo envolvido.

Após o entendimento da importância em se mensurar os processos é válido

ressaltar um dos principais indicadores que são utilizados para medir o desempenho dos

equipamentos. De acordo com (NAKAJIMA, 1989) a eficiência do equipamento pode

ser medida através do "Índice de Eficiência Global". O Índice de Eficiência Global dos

Equipamentos (OEE, Overall Equipment Effectiveness) é um dos indicadores mais

utilizados na indústria, pois este é composto pelos fatores de qualidade, disponibilidade

e eficiência.

A medição da Eficiência Global de equipamentos pode ser aplicada de diferentes

formas de acordo com os objetivos da fábrica. O OEE permite a partir de uma medição

simplificada indicar áreas onde deverão ser desenvolvidas melhorias (JONSSUN e

LESSHAMMAR, 1999).

A atividade mais importante no processo de cálculo do OEE é a identificação

das perdas que estão associadas diretamente ao entendimento que a empresa possui

sobre as mesmas (CHIARADIA, 2004).

A utilização do indicador OEE vai além da determinação de um número que

retrate a eficiência do equipamento. O OEE permite através de o seu desdobramento

identificação dos potenciais pontos de melhoria de eficiência na fábrica (CHIARADIA,

2004).

Atualmente, o OEE é considerado um dos indicadores mais importantes na

medição do desempenho da fábrica, pois pode ser usado para aumento de produtividade

e dos lucros da empresa. (HANSEN, 2006).

Diante deste cenário, a proposta deste trabalho é informatizar o sistema de

captação de dados da linha de produção e fornecer um desdobramento mais ágil do fator

disponibilidade e eficiência do OEE, integrando em um sistema unificado a criação de

fichas de processo que são utilizadas para o ajuste de máquina pelo operador, com a

Page 14: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

14

captação e medição dos tempos de perda e produção, bem como a quantidade

produzida.

Esta informatização do sistema permitirá também o acompanhamento do

desempenho da linha pelo gestor da produção, pois o sistema já gera gráficos de acordo

com os valores obtidos pelo operador da linha.

1.1 JUSTIFICATIVAS

Em um mercado cada vez mais globalizado e competitivo é de suma importância

no mundo industrial que as organizações mantenham-se em busca de melhoria contínua,

para aumentar a produção e reduzir custos. Para atingir seus objetivos uma das formas

da companhia conduzir a gestão é baseando-se na visão dos recursos de produção.

Para reduzir custos e atender sua demanda faz-se necessário uma utilização ideal

da capacidade de produção, o que significa a máxima redução das perdas do processo

como: manutenção, má qualidade e setup, sendo assim tem um aumento significativo na

capacidade produtiva.

Para (BRUM, 2006) um sistema que permita a sistemática identificação e

quantificação das perdas de uma empresa é, sem dúvida, útil para auxiliar o processo de

análise e melhoria da eficiência interna dos processos produtivos. Para a redução das

perdas de processo é necessário ter um sistema de controle eficiente para fazer sua

identificação e quantificação das perdas no processo e assim conseguir concentrar os

esforços onde estas são mais relevantes e consequentemente obter maiores resultados.

A identificação das perdas pode ser feita através de indicadores de produção e

um dos mais utilizados e completos é o indicador de eficiência global ou OEE (Overall

Equipment Effectiveness).

1.2 OBJETIVOS

Este trabalho tem como objetivo criar um sistema que monitore o

comportamento da máquina ao longo do dia, detectando paradas por manutenção, setup,

velocidade, tempo produtivo e armazene estes dados a fim de gerar um relatório de

produção que mostrará a eficiência da máquina e suas perdas. O sistema será feito

Page 15: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

15

aplicado ao processo de encapamento de uma fábrica de cabos de médio porte

localizada em Campinas.

Page 16: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

16

2 CONCEITUAÇÃO

2.1 Manutenção Produtiva Total (TPM)

2.1.1 Definição

A sigla TPM é oriunda de três palavras em inglês: Total Productive

Maintenance.

A palavra Total nessa sigla tem o sentido de mostrar a participação de todos.

Para Shirose (1996) “a maior característica do TPM é a participação de todos os

membros da empresa desde o chão de fábrica até a alta administração, em forma de

pequenos grupos de trabalho que têm por objetivo atingir metas como: quebra zero,

acidente zero, defeito zero, aumento da eficiência dos equipamentos e processos

administrativos”.

A palavra Productive “visa mostrar a busca constante pelo limite máximo de

eficiência do sistema produtivo. Nessa eficiência não está incluso apenas o volume de

produção e sim, no sentido mais amplo da palavra como segurança total (acidente zero),

qualidade total (zero defeito), falha de equipamento zero, ou seja, eliminar todas as

perdas que ocorrem no processo de produção” (TREVISANI, 2008).

A palavra Maintenance na sigla reflete a preservação do sistema produtivo na

condição ideal de operação. De acordo com Seth & Tripathi (2006) “os benefícios do

TPM criam uma estratégia abrangente e representa uma poderosa ferramenta de

gerenciamento na redução de custos, do ciclo de vida dos equipamentos e facilidades”.

Muitos autores hoje em dia, “substituem a palavra Maintenance por

Management, pois a TPM não é mais utilizada apenas como uma forma de manutenção

a preservação dos equipamentos da linha de produção, e sim uma filosofia de gestão e

gerenciamento de produção” (TREVISANI, 2008).

Para Nakajima (1989) o TPM tem como objetivo melhorar a eficiência dos

ativos através da redução de quebras de máquinas, da melhor utilização dos

equipamentos disponíveis e da redução de perdas nas diversas fases e áreas dos

processos produtivos.

Page 17: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

17

Seguindo os mesmos princípios, Trevisani (2008) afirma que a TPM é uma

filosofia voltada para a otimização dos ativos, diminuição dos custos tanto de produção

como de retrabalho, aumento da disponibilidade operacional, aumento da capacidade

produtiva e principalmente a promoção da confiabilidade de toda a organização.

As principais características da TPM são:

Orientação para o zero: Visa eliminação não só das perdas, como

também dos acidentes. Desta maneira pode-se aumentar a produtividade,

deixando assim o equipamento com um maior período de tempo

disponível, funcionando, portanto com o menor tempo de interrupções

possíveis e ainda procurando reduzir ao máximo os fatores de

improdutividade em toda a empresa (RIBEIRO, 2003).

Participação total: Todos os colaboradores dos diferentes setores da

empresa tornam-se responsáveis diretos pela manutenção dos

equipamentos e sua conservação, gerando desta forma uma maior

integração entre as áreas produtivas e administrativas (RIBEIRO, 2003).

Utilização do equipamento como “material didático”: Através da

utilização diária do equipamento o colaborador absorverá informações

referentes ao mesmo transformando-o em uma espécie de “material

didático” adquirindo informações de uma maneira muito mais prática

(RIBEIRO, 2003).

Atuação no próprio trabalho: Tem como objetivo a prioridade de

eliminar as falhas mais frequentes no local de trabalho em si atuando nos

pontos fracos dos equipamentos. Agindo desta forma, e em caso de

necessidade no treinamento do próprio colaborador, nivelando os

conhecimentos técnicos de cada um (RIBEIRO, 2003).

Atuação com rigor e continuidade: Visa trabalhar sempre com o intuito

de aumentar a qualidade dando continuidade ao aprimoramento das

técnicas. Estas técnicas levam a eliminação das perdas por paradas, por

ajustes ou preparação e por outros problemas que venham a surgir

(RIBEIRO, 2003).

Page 18: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

18

Utilização da prática “in loco”: A prática da metodologia TPM ocorre

com a sua implantação. Portanto, a cada passo do sistema TPM

implantado as características referentes a este passo serão praticadas por

todos os colaboradores (RIBEIRO, 2003).

Lucratividade e Redução de custos: Com a devida utilização e controle

de processo da metodologia TPM, há redução de equipamentos parados

ou com defeitos. Ao mesmo tempo é feita a padronização e a descrição

das rotinas dos serviços com a devida atualização dos controles das

ferramentas e programas disponíveis para o respectivo serviço. Isso terá

por consequência um resultado com maior rapidez na busca de soluções

que possam vir a aparecer e ainda a resolução eficaz de problemas

comuns. Tudo isso obtido com a velocidade de analisar os mesmos e,

principalmente, obter a maximização do rendimento operacional global

(RIBEIRO, 2003).

2.1.2 Pilares da TPM

A TPM tem como base de sustentação oito pilares onde ao se utilizar de maneira

continua todos se obtêm um resultado de excelência. São estes pilares:

Educação e Treinamento;

Manutenção Autônoma;

Manutenção Planejada;

Melhorias Específicas;

Segurança e Meio Ambiente;

Manutenção da Qualidade;

Controle Inicial;

Gestão Administrativa;

Pode-se observar na Figura 1 uma ilustração destes pilares sustentando a TPM.

Page 19: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

19

Figura 1 - Pilares da TPM

Fonte: http://www.advanced-eng.com.br/sobretpm.htm

2.1.2.1 Educação e Treinamento

Trata-se do pilar cujo objetivo é o desenvolvimento das habilidades dos

colaboradores da companhia. Para a construção deste pilar é necessário de acordo com

Cotrim (2002) mudança gradativa na forma de gestão de paternalista e autoritária para

uma gestão participativa onde todas as pessoas envolvidas na equipe possam participar,

além de desenvolver as habilidades destas com programas de treinamentos e

conscientização a fim de que as ações implementadas tenham continuidade levando

assim a uma melhoria nos resultados da companhia.

2.1.2.2 Manutenção Autônoma

É o pilar que tem como objetivo observar e lidar prontamente com

anormalidades observadas nos equipamentos para assim mantê-los em condições ideais

de funcionamento. Para a implantação deste pilar faz-se necessário a criação de

procedimentos, padronização das rotinas de limpeza, inspeção e lubrificação dos

equipamentos.

Page 20: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

20

“A Manutenção Autônoma é o pilar responsável pelo desenvolvimento dos

operadores com o objetivo de torná-los aptos a estabelecerem e manterem as condições

Básicas e Operacionais de seus equipamentos” (ADVANCED CONSULTING &

TRAINING).

2.1.2.3 Manutenção Planejada

É o pilar onde há necessidade da realização de um estudo pleno em relação à

confiabilidade de seus equipamentos e de suas peças para que assim seja possível o

planejamento das manutenções preventivas reduzindo-se assim o número de paradas

não programadas devido a falhas no equipamento.

“A manutenção Planejada busca o atingimento das diretrizes da manutenção,

através da utilização das melhores práticas de manutenção, visando a

manutenção do desempenho das funções desempenhadas pelo equipamento,

dentro dos padrões esperado pela empresa, no processo onde está inserido. É

implementada em sete passos, simultaneamente à manutenção autônoma.”

(ADVANCED CONSULTING & TRAINING).

Este pilar deve caminhar de mãos dadas ao pilar da Manutenção Autônoma, pois

os pontos de inspeção realizados pelo operador deverão ser de acordo com os estudos

feitos com a equipe responsável pelo planejamento das manutenções preventivas.

2.1.2.4 Melhorias Específicas

O pilar das melhorias específicas refere-se à eliminação das perdas através de

técnicas de análise da eficiência dos equipamentos. Essas perdas são identificadas

através da análise do indicador OEE que será detalhado no item 2.2.

Essas grandes perdas são as seguintes:

Perdas por Manutenção;

Perdas por Set Up;

Perdas por Qualidade;

Perdas por Falta de utilidade (Água, Luz, etc.);

Perdas por Eficiência.

Page 21: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

21

Ao se tratar essas perdas o valor do OEE se elevará;

2.1.2.5 Segurança e Meio Ambiente

Cabe a este pilar o desenvolvimento de práticas preventivas visando à prevenção

total de acidentes ao se criar campanhas de incentivo a prevenção que estimule os

operadores a sempre agir com segurança não se expondo ao risco, com equipamentos

confiáveis, com eliminação de possíveis erros humanos e de processo, além de não

haver agressão ao meio ambiente com as atividades realizadas pelo processo.

Em relação a este pilar, Trevisani (2008) diz que “garantir confiabilidade do

equipamento, prevenir erros humanos e eliminar acidente e poluição são preceitos

básicos da TPM”.

2.1.2.6 Manutenção da Qualidade

Este pilar tem como objetivo chegar a zero defeito, ou seja, deverão se tomar

medidas não apenas corretivas aos defeitos e sim criar programas que irão atacar às

causas raízes de eventuais falhas a fim de se eliminar por completo estes defeitos.

As ações tomadas são direcionadas à condição dos equipamentos, erro humano,

qualidade da matéria prima e condições do ambiente.

“No TPM, Manutenção da Qualidade significa eliminar completamente as

condições geradoras de defeitos. Isso implica na mudança do conceito de

controlar a qualidade através do produto para controle da qualidade através

do processo” (ADVANCED CONSULTING & TRAINING).

“A definição clara e objetiva da qualidade do produto através da sua

especificação e a identificação e controle dos parâmetros de processo são o

caminho inicial da manutenção da qualidade. Esse pilar possui um estreito

relacionamento com os demais, influenciando na forma de condução da

Manutenção Autônoma, Manutenção Planejada, no planejamento e condução

do processo de capacitação e na definição de temas de melhoria”

(ADVANCED CONSULTING & TRAINING).

2.1.2.7 Controle Inicial

É o pilar responsável pelo controle e gerenciamento do desenvolvimento de

produtos e seus respectivos processos. Cabe a este pilar o planejamento visando o

mínimo de perdas e redução máxima de custos.

Page 22: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

22

“Conjunto de atividades que visam redução das perdas do período entre o

desenvolvimento do produto e o início da produção plena e a consecução do

efetivo desenvolvimento do produto e investimentos em equipamentos para

atingir o início vertical da produção plena” (BORMIO, 2000).

2.1.2.8 Gestão Administrativa

O pilar de Gestão Administrativa é voltado para as áreas administrativas da

companhia e que não agregam valor direto ao produto. As ações tomadas neste pilar

deverão ser voltadas à gestão das informações em relação a sua confiabilidade e

agilidade ao ser transmitida o desenvolvimento deste pilar é feito de maneira análoga ao

desenvolvimento dos pilares produtivos (ADVANCED CONSULTING &

TRAINING).

Esse pilar da TPM tem o objetivo de identificar e eliminar perdas

administrativas. Normalmente, as perdas administrativas referem-se aos

tempos excessivos de tarefas, pouca qualidade e precisão de dados e

informações, por exemplo, no caso, de pedidos de clientes, inventário,

balanço dentre outros (FREITAS, 2002).

2.2 OEE – Eficácia Global de Equipamento

2.2.1 Definição

Bond (2002) definiu genericamente que a medição de desempenho é a atividade

de se determinar as medidas de desempenho, sua extensão, grandeza e avaliação, no

sentido de adequar, ajustar, proporcionar ou regular alguma atividade.

Seguindo a mesma filosofia, Kaydos (1991) diz que a medição de desempenho é

um dos elementos centrais de gestão, com a percepção de que o desempenho é em parte

resultado das decisões tomadas e, nesse sentido, a qualidade da decisão, é em boa parte

limitada pela informação disponível em termos de qualidade e quantidade.

Para Brum (2006) o controle das atividades produtivas é indispensável para

qualquer empresa poder competir em igualdade de condições e sem este controle a

empresa não possui a capacidade de avaliar o desempenho de suas atividades e de

intervir rapidamente para a correção e melhoria dos processos estando assim em

desvantagem frente à concorrência mais eficiente.

Page 23: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

23

Diante deste cenário a escolha de um bom indicador de produção é essencial na

obtenção de um controle adequado do desempenho da produção. O OEE é este

indicador.

“O OEE foi introduzido por Seiichi Nakajima, um dos pais da TPM como uma

medida fundamental para se avaliar o desempenho de um equipamento sendo usado

como um dos componentes fundamentais desta metodologia” (OEE). Para Nakajima

(1989) faz-se necessário à criação de uma interação harmoniosa entre produção e

manutenção a fim de se obter maior agilidade no tratamento de problemas das máquinas

para que estas tenham um melhor desempenho quanto à velocidade de operação,

disponibilidade de uso e por fim qualidade dos produtos produzidos.

Desta maneira temos o OEE composto pelo produto destes três fatores:

Fator Disponibilidade (Fd);

Fator Qualidade (Fq);

Fator Eficiência (Fe).

O OEE é dado de acordo com a Equação (1):

𝑂𝐸𝐸 = 𝐹𝑑 ∗ 𝐹𝑞 ∗ 𝐹𝑒 (1)

Atualmente, o OEE é considerado um dos indicadores mais importantes na

medição do desempenho da fábrica, pois pode ser usado na produtividade e lucros da

empresa (HANSEN, 2006). Empresas da classe mundial possuem indicador igual ou

superior a 85% e seus componentes com os valores mostrados na Tabela 1.

Tabela 1 - Valores de acordo com Classe Mundial

Fator Padrão Mundial

Disponibilidade 90%

Qualidade 99,9%

Eficiência 95%

OEE 85%

Page 24: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

24

2.2.2 Componentes do OEE

2.2.2.1 Disponibilidade

O Fator disponibilidade (Fd) é o fator que representa o tempo de utilização do

equipamento em relação ao tempo total disponível. De acordo com Trevisani (2008) o

fator disponibilidade é o mais conhecido, pois muitas indústrias utilizam apenas este

indicador para medição de eficácia.

A disponibilidade é calculada dividindo-se o tempo em que a máquina ficou

parada (Tp) pelo tempo total disponível (Tt) como podemos ver na Equação (2).

𝐹𝑑 =𝑇𝑝

𝑇𝑡∗ 100% (2)

O tempo de parada consiste no tempo em que a máquina não operou devido a

diversos motivos como:

Manutenção;

Ajuste de máquina (Set Up);

Falta de Operador;

Falta de Matéria Prima;

Falta de Programação;

Paradas por reuniões;

Outros.

Podemos destacar também, que cada um destes motivos podem conter

subclasses como por exemplo, a manutenção, que pode ser dividida em manutenção

elétrica e mecânica, ou até mesmo dividi-la de acordo com os componentes do

equipamento ficando a critério da gestão analisar os dados da forma mais eficaz

possível.

Page 25: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

25

2.2.2.2 Qualidade

O Fator Qualidade (Fq) da OEE mede a influência de retrabalhos, sucatas de

processo e sucatas devido à qualidade do material (TREVISANI, 2008). O fator

Qualidade é calculado dividindo-se a quantidade de produto boa (Qb) pela quantidade

total produzida (Qt) como podemos ver na Equação (3).

𝐹𝑞 =𝑄𝑏

𝑄𝑡∗ 100% (3)

Assim como o fator Disponibilidade o fator qualidade pode ser avaliado sozinho.

Fazendo-se isso obtem-se um diagnóstico capaz de auxiliar o planejamento das ações a

serem tomadas no ataque à causa raiz dos defeitos.

2.2.2.3 Eficiência

O Fator Eficiência (Fe) representa o ritmo da produção, pois este é calculado

através da divisão entre quantidade Real Produzida (Pr) e quantidade teórica que deveria

ser produzida (Pt). A produção teórica é dada de acordo com a velocidade padrão de

produção estipulada no desenvolvimento do processo que também é usada no cáculo

dos prazos de produção.

A Equação (4) ilustra como se obtém o fator Eficiência.

𝐹𝑒 =𝑃𝑟

𝑃𝑡∗ 100% (4)

As diferenças obtidas neste fator são devidas a:

Perdas de velocidade ao longo do processo;

Pequenas paradas não reportadas no processo.

O desempenho para o OEE é um fator que demonstra se o ritmo de produção

está em acordo com o padrão previamente estabelecido. Com esse fator torna-se

possível a verificação do desempenho das máquinas em relação a um padrão de trabalho

por produto.

Page 26: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

26

Normalmente a diferença entre o padrão do ritmo e o ritmo realizado pode ser

descrita em duas causas principais:

· Perda de velocidade durante o processo;

· Pequenas paradas não apontadas durante o processo.

2.2.3 Representação do OEE

O valor do OEE obtido em sua linha de produção não demonstra muito se for

exibido sozinho. Este precisa ser interpretado, compilado e demonstrado através de

gráficos que serão os responsáveis por darem a idéia ideal de onde estão suas reais

perdas para assim haver a possibilidade de direcionamento dos esforços a fim de

eliminá-las. A Figura 2 é a representação clássica das perdas existentes na linha de

produção convertidas no formato de tempo.

A aplicação ideal do OEE consiste, também, em fazer uma análise minuciosa a

respeito das perdas, por exemplo, faz-se necessário o desmembramento das perdas de

disponibilidade e qualidade e verificar, dentro deste fator, os principais motivos de

perdas para serem tomadas decisões assertivas e consequentemente obtenção de

melhores resultados.

O desmembramento das perdas é normalmente representado através de um

gráfico de pizza contendo os principais motivos que resultaram em perdas ao seu

processo.

Page 27: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

27

Figura 2 - Representação das perdas na produção

2.3 BANCO DE DADOS

2.3.1 Definição

Um Sistema Gerenciador de Banco de Dados (SGBD) é o conjunto de

programas que compõem a camada responsável pelo armazenamento e recuperação de

dados no Sistema de Informação. Seu principal objetivo é retirar da camada da

aplicação à responsabilidade dessas tarefas proporcionando assim um ambiente seguro.

A interface entre essas duas camadas é a uma linguagem padrão para consulta,

manipulação e controle de acesso aos dados.

Um Banco de Dados é uma coleção de dados inter-relacionados representando

informações sobre um domínio específico (KORTH, 1994). Portanto, sempre que forem

agrupadas informações que possuam algum tipo de relação, haverá um banco de dados.

Existem diversos tipos de SGBD. Entre eles podemos citar:

Microsoft SQL Server;

Microsoft Access

Oracle;

Page 28: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

28

MYSQL.

Sua aplicação é bastante ampla e presente em nossas vidas, por exemplo, agenda

telefônica e sistemas de gestão de empresas que controlam desde a movimentação de

estoque até movimentações financeiras.

A Figura 3 ilustra de maneira simples a sistemática de funcionamento de um

SGBD.

Figura 3 - Ilustração do sistema de Banco de Dados.

2.3.2 Microsoft Access

Para a realização do presente trabalho foi utilizado o banco de dados do

Microsoft Access que é um sistema relacional incluso no pacote Microsoft Office que

permite o desenvolvimento rápido de aplicações que envolvem tanto a modelagem e

estrutura de dados como também a interface a ser utilizada pelos usuários. O

desenvolvimento da estrutura de dados se dá de forma muito intuitiva, bastando que o

desenvolvedor possua conhecimentos básicos em modelagem de dados e lógica de

programação.

Page 29: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

29

No Access, podem se desenvolver aplicações direcionadas a cadastro de clientes,

controle de pedidos, controle operacional, controle administrativo e financeiro de

empresas de pequeno, médio e grande porte. Ele é capaz de utilizar dados guardados em

Access/Jet, Microsoft SQL Server, Oracle, ou qualquer recipiente de dados compatível

com ODBC (OFICINA DA NET).

Ele é muito utilizado, pois seu ambiente de desenvolvimento da estrutura de

dados se dá de forma intuitiva, permitindo que até programadores relativamente

inexperientes possam utilizá-lo tanto de maneira didática quanto para desenvolvimento

de aplicações simples.

2.4 REDES

As redes de computadores que hoje já fazem parte de nossas vidas, estando

presentes em nossa residência, trabalho, escola e em diversos outros lugares tiveram sua

primeira tentativa de implementação na década de 1940 através dos trabalhos de George

Stibitz, que utilizou uma máquina de teletipo para envio de instruções de sua ModelK

situada na Faculdade de Dartmouth para uma calculadora na cidade de Nova York

(REBOUÇAS, F).

Em 1964, desenvolveram o Sistema de Compartilhamento de Tempo de

Dartmouth para vários usuários situados em trabalhos de sistemas de computadores. Na

época a General Eletric e a Bell Labs conseguiram rotear conexões telefônicas através

do computador Dec´s PDP-8 (REBOUÇAS, F.).

No final da década de 1960, a Agência de Projetos de Pesquisas Avançadas do

Departamento de Defesa dos Estados Unidos da América – ARPA (Department of

Defense’s Advanced Research Projects Agency), mais tarde denominada DARPA – que

começou a consolidar uma rede experimental de computadores a longa distância,

chamada de ARPANET e que se espalhou pelos Estados Unidos (Mendes, 2007, p. 19).

Seu objetivo inicial era o compartilhamento dos fornecedores do governo americano dos

caros e escassos recursos computacionais. Foi utilizada também para o

compartilhamento de arquivos entre universidades americanas, bem como troca de

mensagens via correio eletrônico.

Page 30: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

30

Os conhecimentos em rede cresceram significativamente na década de 90 e

atualmente existem vários tipos específicos de redes. As mais conhecidas são:

- LAN – Local Area Network – é uma rede local situada num domicílio,

sala comercial ou lan house;

- MAN – Metropolitan Area Network – utilizada entre duas cidades;

- WAN – Wide Area Network- Utilizada entre pontos intercontinentais,

como por exemplo, o sistema bancário internacional;

- RAN- Regional Area Network- rede presente em determinada região

delimitada.

Mendes (2007) define “Uma rede de computadores é formada por um

conjunto de módulos processadores capazes de trocar informações e partilhar

recursos, interligados por um subsistema de comunicação, ou seja, é quando

há pelo menos dois ou mais computadores e outros dispositivos interligados

entre si de modo a poderem compartilhar recursos físicos e lógicos, estes

podem ser do tipo: dados, impressoras, mensagens (e-mails), entre outros”.

A configuração mais comum em redes de computadores utilizadas nas empresas

é a de cliente-servidor ilustrada na Figura 4.

Figura 4 - Configuração de Rede Cliente-Servidor.

Fonte: Aula- “Introdução às Redes de Computadores” - Edmar José do Nascimento Universidade Federal do Vale do São Francisco

Page 31: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

31

2.7. LINGUAGEM C#

O C# (leia-se C-Sharp) é uma linguagem de programação orientada a objetos,

que foi desenvolvida pela Microsoft e faz parte da plataforma .NET. Embora a

linguagem C# tenha sido criada do zero, foi baseada na linguagem C++ e possui muitos

elementos das linguagens Pascal e Java (PACIEVITCH, Y.).

Por ser baseada em C++ e possuir elementos de Java e Pascal o C# é facilmente

reconhecido por pessoas familiarizadas com essas linguagens. Portanto, os

desenvolvedores que dominam qualquer uma dessas linguagens são geralmente capazes

de começarem a trabalhar de forma produtiva com C# dentro de um tempo muito curto

(MICROSOFT).

A plataforma .NET teve suas bibliotecas inicialmente feitas em Simple Managed

C (SMC), porém esta limitou muito o trabalho na plataforma. No inicio de 1999 foi

montada uma equipe liderada por Anders Hejlsberg com o objetivo de se criar uma nova

linguagem para a plataforma .NET. Esta linguagem seria criada para desprender a

plataforma .NET de outras linguagens, pois o código das linguagens já existentes

limitava o desenvolvimento da plataforma (PACIEVITCH, Y.).

Inicialmente chamado de Cool e posteriormente rebatizado de C#, sua criação

foi fundamental no desenvolvimento da plataforma .NET, pois esta não necessitou de

adequação ao código de nenhuma outra linguagem existente. Embora tenha sido criado

especificamente para a plataforma .NET, muitas outras linguagens têm suporte ao C#

como VB.NET, C++ e J#.

O C# é considerado uma linguagem bastante semelhante ao Java. Entretanto

existem diversas diferenças. São elas:

- Java não tem a função de implementar propriedades nem sobrecarga de

operadores, o C# tem esta função.

- Java não tem a função de implementar um modo inseguro que pode ser

utilizado para manipulação de ponteiros e aritmética sem checagem. Esta função é

característica do C#.

Page 32: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

32

- Java possui as exceções checadas, enquanto as exceções em C# não são

checadas (assim como em C++).

- Enquanto Java utiliza comentários Javadoc para gerar documentação

automática, O C# Utiliza o XML.

- C# tem suporte à indexadores, e o Java não (PACIEVITCH, Y.).

Estas são algumas das funções que o C# desenvolveu e não existem no Java

(PACIEVITCH, Y.).

Entre as linguagens de programação, o que mais muda é a maneira de se

escrever o código, e não as palavras em si. Quando uma pessoa aprende uma linguagem

de programação fica muito mais fácil o aprendizado das demais (do .NET), pois as

maiores mudanças são na sintaxe, a maneira como está o código (PACIEVITCH, Y.).

2.5 Arduino Uno R3

Arduino é uma plataforma de prototipagem eletrônica de hardware livre

projetada com um microcontrolador Atmel AVR de placa única, com suporte de

entrada/saída embutido, uma linguagem de programação padrão, a qual tem

origem em Wiring e é essencialmente C/C++. O objetivo do projeto é criar

ferramentas acessíveis, de baixo custo, flexíveis de fácil uso (ARDUINO).

Figura 5 – Arduino

Fonte: “http://arduino.cc/en/Main/ArduinoBoardUno”

O Arduino pode ser usado para o desenvolvimento de projetos interativos

independentes ou ainda ser conectado a um computador hospedeiro. Uma típica

placa Arduino é composta por um controlador, algumas linhas de E/S digital e

analógica, além de uma interface serial ou USB para interligar-se ao hospedeiro

Page 33: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

33

usado para programá-la e interagi-la em tempo real. Ela em si não possui qualquer

recurso de rede, porém é possível realizar a combinação de um ou mais Arduinos

utilizando-se extensões apropriadas chamadas de shields . A interface do

hospedeiro é simples podendo ser escrita em várias linguagens. A mais popular é

a Processing, mas outras que podem comunicar-se com a conexão serial são:

Max/MSP, Pure Data, SuperCollider, ActionScript e Java (ARDUINO).

2.5.1 Hardware

A placa Arduino consiste em um microcontrolador Atmel AVR de oito bits,

com componentes complementares para facilitar a programação e incorporação

para outros circuitos. Um importante aspecto é a maneira padrão que os

conectores são expostos, permitindo a CPU ser interligada a outros módulos

expansivos. Os Arduinos originais utilizam a série de chips mega AVR,

especialmente os ATmega8, ATmega168, ATmega328 e a ATmega1280, porém

muitos outros processadores foram utilizados por clones deles (ARDUINO).

A grande maioria de placas inclui um regulador linear de cinco volts e um

oscilador de cristal de 16 MHz (podendo haver variantes com um ressonador

cerâmico), embora alguns esquemas como o LilyPad usam até 8 MHz e

dispensam um regulador de tensão embutido, por ter uma forma específica de

restrições de fator. Além de ser microcontrolador, o componente também é pré-

programado com um bootloader que simplifica o carregamento de programas para

o chip de memória flash embutido, comparado com outros aparelhos que

usualmente necessitam de um chip programador externo (ARDUINO).

Conceitualmente, quando seu software é utilizado, ele monta todas as placas

sobre uma programação de conexão serial RS-232, porém a maneira que é

implementada no hardware varia em cada versão. Suas placas seriais contêm um

simples circuito inversor para converter entre os sinais dos níveis RS-232 e TTL.

Atualmente, existem alguns métodos diferentes para realizar a transmissão dos

dados como por placas programáveis via USB adicionadas através de um chip

adaptador USB-para-Serial como o FTDI FT232. Algumas variantes, como o

Arduino Mini e o não oficial Boarduino usam um módulo adaptador USB,

bluetooth ou outros métodos (ARDUINO).

Page 34: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

34

2.5.2 Software

O Arduino IDE é uma aplicação multiplataforma escrita em Java derivada dos

projetos Processing e Wiring. É esquematizado para introduzir a programação a

artistas e pessoas não familiarizadas com o desenvolvimento de software. Inclui

um editor de código com recursos de realce de sintaxe, parênteses

correspondentes e identificação automática, sendo capaz de compilar e carregar

programas para a placa com um único clique. Com isso não há a necessidade de

editar Makefiles ou rodar programas em ambientes de linha de comando.

Possuindo a biblioteca "Wiring" ele será capaz de programar em C/C++. Isto

permite criar com facilidade muitas operações de entrada e saída, tendo que

definir apenas duas funções no pedido para fazer um programa funcional:

setup() – Inserida no inicio, na qual pode ser usada para inicializar

configuração, e

loop() – Chamada para repetir um bloco de comandos ou esperar até que seja

desligada.

O Arduino IDE usa o Conjunto de ferramentas GNU e o AVR Libc para

compilar os programas para depois enviar os programas para a placa

(ARDUINO).

Para este projeto, foi utilizado um Arduino Uno Rev3, uma vez que apresenta

um baixo custo e realiza todas as funções necessárias para seu desenvolvimento.

Suas características são:

Tabela 2 - Caracteristicas do Arduino

Fonte: http://www.ajudino.com/2013/05/diferenca-entre-os-modelos-de-arduino.html

Microcontrolador ATMega328P

Tensão de Operação 5V

Tensão de Entrada 7-12V

Tensão de Saída 6-20V

Pinos Digitais (Entrada/Saída) 14 (6 pinos PWM)

Pinos Analógicos (Entrada) 6

Corrente para entrada/saída 40mA

Page 35: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

35

Corrente no pino 3,3V 50mA

Memória Flash 32Kb (ATMega328) 0,5 usado pelo

bootloader

SRAM 2Kb (ATMega328)

EEPROM 1Kb (ATMega328)

Velocidade do Clock 16MHz

Page 36: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

36

3 Materiais e Métodos

3.1 Caracterização do Empreendimento

A empresa onde o trabalho foi baseado pertence a um grupo americano líder

mundial de produtos de conectividade que projeta, fabrica e comercializa conectores

elétricos, eletrônicos, de fibra óptica, cabos e sistemas de interconexão.

Sua sede está localizada em Connecticut, EUA, com fábricas nos Estados

Unidos, Canadá, Coréia, China, México e Brasil. Suas exportações atingem mais de 50

países, em cabos coaxiais, conectores de CATV, cordões, conectores e armários ópticos

para aplicações em banda larga e cabos especiais para telecomunicações. A filial

brasileira é sua única unidade na América do Sul, com fábrica em Campinas possuindo

faturamento médio mensal em torno de seis milhões de reais.

3.1.1 Estrutura de Gestão e Produção

A empresa em questão possui em seu sistema de gestão de produção a estrutura

representada pelo fluxograma da Figura 6.

Figura 6 - Estrutura da Gestão industrial

Page 37: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

37

Gerente da Planta

Responsável pela gestão macro de todos os setores da planta, desde os

administrativos como comercial, recursos humanos, controladoria e suprimentos até os

de aplicação que são engenharia e industrial. Cada um dos setores possui um gestor que

é responsável pela gestão localizada.

Dentre as atividades do gerente da planta podem-se destacar os reportes de

resultados e ações para a matriz, desenvolver ações de melhoria, mediar a relação entre

os setores, gerir os recursos e direcionar os investimentos.

Gerência Industrial

É o setor responsável pela gestão do setor de produção e do setor da

manutenção. As responsabilidades do gerente industrial são: realizar reportes de

resultados e indicadores, elaborar e implementar ações de melhoria e mediar a relação

entre seus coordenadores e supervisores, tanto da produção quanto da manutenção.

No setor de produção sua responsabilidade vai desde a programação de

produção, gestão da matéria prima, fabricação, gerência do operacional e aplicação de

práticas de melhoria até a expedição do produto acabado.

O setor de manutenção é o responsável pela realização de manutenções

corretivas, planejar e elaborar planos de manutenção preventiva.

Engenharia

O setor de engenharia é responsável pelo desenvolvimento dos processos,

produtos e gestão de qualidade. Assim como o gestor de produção o gerente de

engenharia é responsável pelos reportes de indicadores e resultados relativos às

atividades de seu time além de mediar o relacionamento e ações entre seus setores.

No desenvolvimento do produto o time da engenharia é responsável por, de

acordo com a necessidade do cliente e seguindo normas como as especificadas pela

Agência Nacional de Telecomunicações (ANATEL), desenvolver o cabo quanto à sua

formação, especificar suas matérias prima e diante disto elaborar seu respectivo custo.

Page 38: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

38

Junto ao desenvolvimento do produto, é desenvolvido seu processo de

fabricação. Este desenvolvimento é feito utilizando conhecimento prévio do

comportamento das matérias primas, experiência em processos anteriores e

experimentalmente serão determinados os parâmetros utilizados na configuração das

máquinas da linha. No processo de Encapamento onde são utilizadas linhas de extrusão,

os parâmetros determinados são: temperatura de operação de acordo com o material da

capa, ferramentas utilizadas, seu respectivo ajuste e a velocidade da linha. O time de

processos transmite as informações aos operadores através da ficha de processos, que

além de conter as especificações do processo e parâmetros, contém as especificações do

produto como gravação, diâmetro, espessura e cor da capa.

O setor da qualidade é o responsável pela validação de todos os processos tanto

administrativos quanto os de aplicação. É responsável pela gestão dos indicadores e em

como estes estão sendo obtidos, pelo atendimento às reclamações de clientes e

acompanhamento para garantir que sejam efetuadas as devidas providências para tratar

os problemas em sua causa raiz, realizar inspeção de recebimento de matéria prima e

inspecionar o produto tanto em fases primordiais do processo quanto no produto final.

3.1.2 Linha de Encapamento

O projeto foi feito para ser aplicado na linha de encapamento da empresa

descrita no item 3.1. A colocação da capa final dos cabos é feita através do processo de

extrusão onde um material plástico granulado cai através de um funil e é empurrado

através de uma rosca que é aquecida por resistores elétricos para derreter o material até

que este chegue ao final da extrusora onde este material será agregado ao núcleo do

cabo, que passa pela extrusora através de um guia, e a capa tomará a forma da fieira

utilizada. Após o cabo passar pela extrusora, sua capa é gravada com as informações

necessárias e respeitando a norma a qual este cabo foi produzido. Posteriormente é

resfriada através de calhas com água e por fim o cabo é enrolado em bobinas.

Na Figura 7 têm-se a foto de uma linha de extrusão de cabos. Já a Figura 8

mostra o condutor passando pela extrusora e saindo com a capa.

Page 39: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

39

Figura 7 - Linha de Extrusão

Figura 8 - Cabo na Extrusora.

Page 40: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

40

3.1.3 Controle da Produção

O controle de produção é feito através do diário de produção onde o operador

anota a produção e reporta as paradas ocorridas na linha e posteriormente o time

responsável pela programação de produção lança os dados do diário de produção para a

obtenção dos indicadores de produção e assim identificar as perdas.

A medição do comprimento de cabo produzido é feita através de um contador de

pulsos de um modelo similar ao ilustrado na Figura 9 ligado a um sensor indutivo que

emite um pulso a cada volta de uma das roldanas existentes na linha. O contador é

configurado para que a cada pulso recebido somar o valor do perímetro da roldana que é

obtido de acordo com seu diâmetro, as roldanas normalmente medem 17cm de

diâmetro, sendo assim a cada pulso recebido o contador soma 0,5340 metros à

quantidade produzida.

Figura 9 - Contador de Pulsos

O contador ilustrado na Figura 9 pode também ser configurado para comandar o

corte de lances mais curtos de cabo emitindo um sinal para o operador do corte cortar o

cabo e embalar o lance curto.

Page 41: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

41

3.2 Caracterização do Projeto

O projeto foi elaborado após ter sido observada a necessidade de aumentar a

agilidade na captação de dados, compila-los e obter os indicadores para assim ter uma

ideia mais real e concreta do desempenho das linhas de produção.

Em cada linha de extrusão no setor de encapamento existe um computador

conectado à rede LAN interna da empresa que é utilizado na impressão de etiquetas,

busca e impressão das fichas de processo. O projeto consiste em utilizar este

computador para a captação direta dos dados de produção como quantidade produzida e

reportes de paradas a fim de agilizar a gestão dessas informações e ter maior agilidade

na compilação dos dados.

Trata-se de um sistema integrado com um banco de dados em rede o qual irá

armazenar os dados de processo e produto que serão inseridos pela engenharia, os dados

de produção que serão inseridos pelo operador e pelo arduino e serão compilados e

traduzidos em gráficos de eficiência e perdas pela gestão de produção. Este sistema terá

usuários que serão geridos pelo administrador do sistema, conforme o fluxograma do

sistema ilustrado na Figura 10.

Figura 10 - Fluxograma de funcionamento do sistema.

Page 42: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

42

3.2.1 Montagem do Hardware

A interface entre o sensor de contar metros da extrusora e o computador da linha

foi feita utilizando-se o Arduino Uno Rev três que transmitirá o sinal digital enviado

pelo sensor via comunicação serial para o computador. Para ocorrer esta comunicação é

necessária a criação de um programa em C++ para configurar o Arduino. Esta

programação é feita com o auxilio de seu ambiente de desenvolvimento padrão cuja

interface é ilustrada na Figura 11.

Figura 11 - Tela inicial do ambiente de desenvolvimento do Arduino

A programação está disponível no Apêndice A.

Para a representação do sistema utilizou-se o encoder rotativo da bancada do

Laboratório de Instrumentação do Campus Sorocaba da Universidade Estadual Paulista

(UNESP) (Figura 12). Este encoder teve quase todos seus orifícios bloqueados, pois

para a medição do comprimento do cabo é necessário o envio de apenas um pulso por

volta.

Page 43: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

43

Figura 12 - Encoder Rotativo

Como o sinal do sensor de barreira do encoder envia uma tensão de 24V foi

necessário projetar um circuito de entrada com um divisor de tensão, pois a entrada

digital da placa suporta até oito Volts, composto por quatro resistores de 300 Ohms e

um regulador de tensão LM 7805 dispostos de acordo com a arquitetura ilustrada na

Figura 13.

Figura 13 - Arquitetura do Circuito

Page 44: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

44

A imagem do Circuito é ilustrada na Figura 14.

Figura 14 - Circuito Utilizado no Projeto

O motor do encoder é ligado a uma fonte variável também localizada na bancada

do laboratório como se pode observar na Figura 15.

Figura 15 - Ligações na Bancada

Page 45: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

45

3.2.2 Desenvolvimento do Software

3.2.2.1 Visual Studio

Para o desenvolvimento do programa, utilizou-se o Microsoft Visual Studio 2012

que é um pacote de programas da Microsoft para desenvolvimento de software

especialmente dedicado ao .NET Framework e às linguagens Visual Basic (VB), C,

C++, C# (C Sharp) e J# (J Sharp). Também é um grande produto de desenvolvimento

na área web, usando a plataforma do ASP.NET. As linguagens mais utilizadas nessa

plataforma são: VB.NET (Visual Basic.Net) e o C♯ (MICROSOFT VISUAL STUDIO).

Figura 16 - Tela inicial de projeto no Visual Studio 2012

3.2.2.2 Desenvolvimento

O software foi implementado para permitir o acesso de quatro tipos de usuários

diferentes que terão acesso ao mesmo banco de dados que estará localizado na rede

interna da empresa em uma pasta do servidor com acesso permitido a estes usuários.

O fluxo dos dados funcionará de acordo com o ilustrado no fluxograma da

Figura 17.

Page 46: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

46

Figura 17 - Fluxo de Dados do Sistema

O banco de dados utilizado é composto por seis tabelas conforme o ilustrado

pela Figura18.

Figura 18 - Tabelas Banco de Dados.

A tabela Segurança contém os dados dos usuários e possui os seguintes campos,

usuário, senha e situação, o campo situação é o responsável por direcionar o usuário em

questão para sua respectiva tela de acordo com sua permissão, ela é acessada pela tela

Page 47: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

47

do Login para realizar o acesso dos usuários e pela tela do administrador, para criação e

exclusão de usuários e atribuição de suas respectivas permissões.

A tabela Engenharia possui os parâmetros do processo e especificações do

produto que são inseridos pelo usuário da tela da Engenharia do programa e são

acessados pelo operador no formato de relatório para auxiliá-lo na preparação da

máquina.

A tabela Alimentação e Matéria Prima contêm código e descrição do subproduto

do processo anterior e da matéria prima de capa a ser utilizada na produção

respectivamente.

A tabela Disponibilidade possui os tempos que a linha ficou produzindo e parada

e seus respectivos motivos, esta é acessada através da tela do operador que faz a

inserção dos dados que são inseridos a cada movimentação dos campos de seleção

exclusiva e da tela da Produção que tem acesso a estes dados compilados e mostrados

em forma de gráficos de desempenho.

A tabela Eficiência possui os dados de produção, como o produzido, o esperado,

o tempo produzindo, o produto, lote e hora da produção, estes dados são acessados pelo

usuário da tela da produção que os terá compilados e mostrados em gráficos assim

como os dados da disponibilidade.

Page 48: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

48

4 Resultados e Discussões

Este projeto teve o intuito de facilitar a geração dos indicadores de produção,

deixando-os mais precisos e práticos, pois o monitoramento da produção é feito

atualmente através de um diário de produção onde o operador da linha anota

manualmente a produção realizada e o status da máquina em relação as suas respectivas

paradas.

Com o processo ocorrendo manualmente, podem ocorrer inúmeras falhas

humanas como a perda do diário de produção, preenchimento errado e até falha ao

digitar os dados nas planilhas de controle devido à letra ilegível do operador. O projeto

visa também eliminar essa atividade de lançamento dos diários de produção por um

colaborador específico que era apenas incumbido de realizar esta atividade não tendo

tempo para a realização de atividades mais produtivas e que tragam melhorias ao

sistema produtivo.

O sistema ao ser “aberto” inicia-se com uma tela de Login ilustrada na Figura

19.

Figura 19 - Tela de Login

A partir desta tela de login pode-se efetuar a entrada de usuário de diversos

setores e com permissões específicas de acesso ao programa. Sua Programação está

disponível no Apêndice B.

Page 49: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

49

Administrador

O administrador é o responsável pela criação de usuários que utilizarão o

sistema e suas respectivas permissões de acesso, que são elas: Engenharia, Produção e

Operacional. Ao utilizar sua senha de administrador irá “abrir” a janela da Figura 20.

Figura 20 - Janela do Administrador.

Nesta Janela, o administrador fará a gestão dos usuários, ele poderá inserir novo

usuário e realizar sua respectiva exclusão. Esta programação está disponível no

Apêndice C.

Page 50: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

50

Engenharia

Ao se inserir um Login com permissão da engenharia irá abrir a janela da Figura

21. Nesta janela a equipe da engenharia elaborará a ficha de processos com os

parâmetros de 1máquina e especificações de produto. A janela da engenharia é ilustrada

na Figura 21.

Figura 21 - Tela Engenharia

Na tela da Engenharia, o usuário cria um novo processo para determinado

produto e informa além dos seus parâmetros e especificações como temperatura,

velocidade, dimensões das ferramentas e dimensões do produto acabado, ele informa o

subproduto que irá alimentar este processo, que ao digitar seu código no campo

“Alimentação” o programa já busca no banco de dados sua descrição. Este subproduto

trata-se do produto do processo anterior ao do encapamento que também deve possuir

sua ficha com especificações e parâmetros.

Page 51: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

51

O campo “Matéria Prima” também tem sua descrição carregada

automaticamente apenas digitando-se seu código, no entanto, caso esta não possua

cadastro no banco de matérias primas é possível cadastrá-la acessando Ações e

selecionar o campo “Inserir Matéria Prima”. Neste caso, irá “abrir” uma nova janela

como a mostrada na Figura 22.

O usuário da janela Engenharia pode criar novas fichas, buscar fichas para

alterá-las ou excluí-las. Sua programação está disponível no Apêndice D.

Figura 22 - Janela de Cadastro de Matéria Prima

Na janela de inserção de matéria prima também é possível, além de inserir,

buscar, alterar e excluir cadastro de produtos. Sua programação encontra-se no

Apêndice C.

Operacional

O operador da linha possui o login que abrirá a “tela” que fará o monitoramento

da produção e esta é ilustrada na Figura 23. A programação desta janela está disponível

no Apêndice E.

Page 52: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

52

Figura 23 - Tela Operacional

Na janela do Operacional é feita a mensuração do tempo dos status da máquina.

O operador ajusta a seleção exclusiva de acordo com sua atividade, por exemplo, se a

máquina não está operando por conta de algum defeito o operador deve selecionar o

Manutenção que irá acionar um Timer que cronometrará o tempo perdido devido à

manutenção. Se a máquina não está em operação por não ter o que produzir, este deverá

selecionar Falta de Programa para assim acionar o timer que medirá o tempo perdido

por falta de pedido de produção e assim sucessivamente com as outras seleções

exclusivas com exceção do campo “Produção” que ao contrário dos outros não mede o

tempo perdido e sim o tempo efetivo o qual a linha esteve operando. No entanto, este

campo está sempre desabilitado, sendo liberado apenas após o operador buscar a ficha

de processo, preencher o campo lote de produção e apertar o botão “Inserir” que só é

liberado após o operador gerar a ficha de produto e preencher o lote de produção.

A ficha de processo que é elaborada pela equipe da engenharia deve ser buscada

antes do início da produção. Para isto o operador digita o código do produto a ser

produzido no campo “Código Produto” e clica no botão “Gerar Ficha”, esta ação irá

carregar a descrição do produto e a velocidade padrão de produção em seus respectivos

campos e irá gerar a ficha de processo mostrada na Figura 24.

Page 53: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

53

Figura 24 - Ficha de Processo

Após iniciada a produção o programa passa a ler as informações transmitidas via

comunicação serial pelo Arduino e processá-las mostrando em seus respectivos campos,

a velocidade de operação da máquina, a quantidade produzida e sua eficiência

instantânea.

Para detectar as paradas de máquina é feito uma lógica com timer que senão

ocorrer comunicação serial em um período de trinta segundos, isso indica que a linha

parou. Então o programa salva os dados de produção no banco de dados e o operador

precisa indicar o motivo da parada.

Page 54: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

54

Gestão da Produção

Os dados captados pela janela do operacional serão armazenados no banco de

dados e serão compilados e exibidos em gráficos de acordo com o período desejado pela

gestão industrial. Este processo é feito através da janela da “Produção” ilustrada pela

Figura 25 cuja programação está disponível no apêndice F.

Figura 25 - Eficiência Diária

O gráfico da Figura 25 retrata o acompanhamento diário da eficiência da linha

de acordo com a velocidade padrão e a velocidade real de operação.

Este indicador é responsável por informar se as máquinas da linha estão

operando conforme o programado ou se estas não estão funcionando adequadamente a

fim de operar na velocidade esperada. Outros fatores que podem alterar este indicador

são as mudanças de velocidade ao longo do processo como a rampa de aceleração e

desaceleração da linha.

O gráfico da Figura 26 ilustra o uso diário da linha, levando em conta o tempo

parado e o tempo produzindo. A partir deste acompanhamento a gestão industrial é

capaz de identificar se o tempo que a linha está operando de maneira micro e tomar

Page 55: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

55

ações mais imediatistas diante de problemas corriqueiros que causem interrupção da

linha.

Figura 26 - Disponibilidade Diária

Page 56: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

56

O gráfico da Figura 27 traz um resumo mensal das perdas ocorridas na linha e

assim a gestão da empresa tem uma visão macro do desempenho da linha para

identificar onde estão as maiores perdas para assim elaborar planos de ação e organizar

times que irão focar os esforços em reduzir estas perdas.

Figura 27 - Resumo Mensal de Perdas

A atuação em cima das perdas não se restringe apenas aos setores de aplicação.

Por exemplo, o índice alto de perdas por falta de programa significa que a linha ficou

parada por não ter o que produzir logo, ações para aumentar as vendas e reduzir custos

de produtos deverão ser tomadas.

As perdas por eficiência podem ser devidas a problemas no maquinário que não

consegue operar a velocidade determinada pela engenharia, problemas de matéria prima

que pode não se comportar da maneira esperada. É muito comum perdas de eficiência

causadas devido à mudança de fornecedor de matéria prima, principalmente material

plástico da capa, que apesar dele ter a mesma especificação, por ter passado por

processos diferentes de fabricação podem se comportar de maneira diferente quanto à

temperatura de processamento e velocidade de extrusão, devendo-se assim, haver um

Page 57: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

57

acompanhamento da engenharia junto ao setor de suprimentos quando ocorrer tais

mudanças.

O gráfico da Figura 28 representa o resumo mensal das paradas de máquina.

Figura 28 - Resumo Mensal das Paradas

Para auxiliar a tratativa das perdas devido a paradas não programadas o

programa fornece um resumo mensal das paradas que permite à gestão industrial

elaborar ações focadas onde se encontram as maiores perdas da linha. Por exemplo, em

grandes perdas de manutenção é necessário atuar junto ao time de manutenção para

focar em manutenções preventivas a fim de diminuir quebras inesperadas.

Grandes paradas por Setup podem ser tratadas atuando junto ao operacional

padronizando os procedimentos de ajuste de máquina e eliminando ações desnecessárias

do operador.

Paradas por falta de matéria prima devem ser tratadas atuando junto ao setor de

suprimentos, logística e programação de produção para que o programador de produção

não dê a ordem de produção de um produto sem que este tenha matéria prima para ser

produzido e o setor de logística e suprimentos consiga que o material comprado dê

Page 58: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

58

entrada na empresa no prazo estipulado ou no caso de atrasos inevitáveis tenham

agilidade na comunicação junto ao programador.

Page 59: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

59

5 Comentários Finais e Conclusões

Com a realização deste projeto, existe a possibilidade de aumentar a agilidade

em se obter os dados de produção e gerar seus respectivos indicadores e assim poder

tomar ações de tratativas mais assertivas para reduzir as perdas.

O time da engenharia insere os dados da ficha de processo no banco de dados e

pode também buscar as fichas existentes para alterá-las ou excluí-las de acordo com sua

necessidade.

O operador acessa de sua tela a ficha criada pela engenharia que é apresentada a

ele em formato de relatório que ele pode imprimir e utilizá-lo para realizar os ajustes de

máquina. Após realizado os ajustes o operador seleciona no programa que a máquina

está em produção e a partir deste instante o Arduino envia os sinais e o programa o

interpreta e já faz a medição da produção, velocidade e eficiência.

Após terminada a produção, o operador deverá informar o estado atual da

máquina e caso a máquina pare inesperadamente o operador deverá informar o motivo

selecionando-o na seleção exclusiva da tela. Todos os dados de produção e tempos de

parada do dia serão inseridos no banco de dados.

Os dados inseridos pela tela do operador no banco de dados são facilmente

acessados e compilados gerando gráficos que serão acessados pelo time da gestão

industrial que é o responsável por tomar ações para a diminuição das perdas da linha.

Os dados gerados pelo sistema são muito úteis para auxiliar a gestão em tomadas

de decisões, adoção de novas culturas empresariais e até mesmo auxiliar em novos

investimentos que tragam melhorias nos processos.

Percebe-se também que a partir de indicadores de produção bem compilados a

empresa é capaz de elaborar ações que atinjam não somente os setores de aplicação,

mas também administrativos, comercial, suprimentos e logística, trazendo a tona uma

das características principais da TPM que é a participação total de todos os

colaboradores para o bom andamento da companhia.

Page 60: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

60

Outra característica da TPM que deve ser levada em consideração ao se analisar

os indicadores gerados por este projeto é a da lucratividade, que é obtida através da

redução de custos com a devida utilização dos recursos, controle de processos e

padronização de procedimentos, pois para realizar estes procedimentos é necessário

saber onde deverão ser focados os esforços.

Concluindo, o projeto atendeu as expectativas propostas, primeiramente pelo

baixo custo com material, pois para a implantação no ambiente descrito no trabalho

seria necessário apenas comprar o microcontrolador Arduino, que tem um custo de

aproximadamente R$ 100,00 (cem reais) e segundo, apesar de não ter sido possível a

implementação na empresa nos teste do protótipo do programa foi possível perceber que

o projeto proporcionaria maior agilidade no sistema de desenvolvimento de processos,

processo produtivo e análise de desempenho de produção, pulando diversas etapas

burocráticas e trazendo segurança aos dados obtidos.

Page 61: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

61

6 Referências Bibliográficas

ADVANCED CONSULTING & TRAINING, A sua Melhor Opção de

assessoria à Implementação da TPM, Disponível em: <http://www.advanced-

eng.com.br/sobretpm.htm>. Acessado em 15/02/2015.

ARDUINO. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/wiki/Arduino>. Acessado em 27/02/2014.

BOND, Emerson. Medição de Desempenho para Gestão da Produção em um

Cenário de Cadeia de Suprimentos. Texto (Mestrado em Engenharia de Produção) –

Escola de Engenharia de São Carlos da Universidade de São Paulo, 2002.

BORMIO. M. R. Manutenção Produtiva Total (TPM), Cenpro Curso de

Especialização em Engenharia de Produção. Bauru: UNESP, 2000.

BRUM, D. V. Identificação das Perdas do Processo Produtivo na Fabricação

de Massas Alimentícias: Um Estudo Baseado em Sistemas de Custos, Santa Maria:

UFSM, 2006.

CHIARADIA, A. J. P. Utilização do Indicador de Eficiência Global de

Equipamentos na Gestão e Melhoria Contínua dos Equipamentos: Um Estudo de

Caso na Indústria Automobilística, Porto Alegre: UFRS, 2004.

CONTRIM, M. TPM – Uma metodologia voltada a Maximização do

Rendimento Operacional Global. São Paulo, 2002.

HANSEN, Robert C. Eficácia Global dos Equipamentos. 1ª Edição. Porto

Alegre: Artmed, 2006, 264 p.

JONSSON, P.; LESSHAMAR, M. Evaluation and improvement of

manufacturing performance measurement systems – the role of OEE. International

Journal of Operations & Production Management, v19, n.1, p. 55-78 1999.

JOHNSTON, R.; Clark, G. Administração de operações de serviço. São Paulo:

Atlas, 2002.

Page 62: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

62

KAYDOS, W.; Measuring, managing, and maximizing performance.

Productivity Press, Portland: 1991.

KORTH. H.F. Sistemas de Bancos de Dados, Makron Books, 2ª edição

revisada, 1994.

MENDES, D. Redes de Computadores: Teoria e Prática - Douglas Rocha

Mendes, São Paulo: NOVATEC, 2007.

MICROSOFT, Guia de Programação em C#, Disponível em:

<https://msdn.microsoft.com/pt-br/library/67ef8sbd.aspx> Acessado em: 20/02/2015.

MICROSOFT VISUAL STUDIO. In: Wikipédia: a enciclopédia livre.

Disponível em <http://pt.wikipedia.org/wiki/Microsoft_Visual_Studio>. Acessado em

20/02/2015.

NAKAJIMA, S. Total productive maintenance. Portland: Productivity Press,

1988.

NAKAJIMA, S. Introdução ao TPM. São Paulo: IM&C, 1989.

NAKAJIMA, S. La maintenance productive totale (TPM) mise en oeuvre de

la TPM. 3ª ed. Paris: Afnor, 1994.

OEE, Efetividade Global do Equipamento, Disponível em:

<www.oee.com.br>. Acessado em 16/02/2015.

OFICINA DA NET. Tudo sobre a Microsoft Access. Disponível em

<http://www.oficinadanet.com.br/artigo/790/tudo_sobre_o_microsoft_access>.

Acessado em 13/03/2014.

PACIEVITCH, Y. C#. Disponível em:

<http://www.infoescola.com/informatica/c-sharp/>. Acessado em 13/03/2014.

REBOUÇAS, F. Rede de Computadores. Disponível em

<http://www.infoescola.com/informatica/rede-de-computadores/>. Acessado em

01/08/2014.

Page 63: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

63

RIBEIRO, H. Total Productive Maintenance (TPM): Manutenção Produtiva

Total. São Paulo, 2003.

SETH, D.; TRIPATHI, D. A Critical Study of TQM and TPM Approaches

on Business Performance of Indian Manufacturing Industry – Total Quality

Management, Vo. 17, No. 7, 811-824, September 2006.

SHIROSE, K. TPM New Implementation Program in Fabrication and

Assembly Industries. JIPM – Japan Institute Plant Of Maintenance, Tokyo, 1996.

SUZUKI, T. TPM in process industries. Portland: Productivity Press, 1994.

TAKASHI, Y.; OSADA, T. Manutenção produtiva total. São Paulo: IMAM,

1993.

TREVISANI, T, S. Implantação da OEE em uma indústria siderúrgica. São

Paulo: UFSCAR, 2008.

Page 64: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

64

Apêndice A – Código Arduino

void setup ()

{

Serial.begin(9600); //Configuração da Comunicação Serial

pinMode(2,INPUT);

pinMode(7,OUTPUT); //Configuração das entradas digitais

}

void loop()

{

if (digitalRead(2)== LOW) //Lógica para detecção de pulso

{

while (digitalRead(2) == LOW)

{

digitalWrite(7,HIGH);

}

//Comunicação após ocorrência de Pulso

digitalWrite(7,LOW);

Serial.print(1);

}

}

Page 65: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

65

Apêncide B – Tela Login

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

namespace WindowsFormsApplication4

{

public partial class frm_inicial : Form

{

static string _Arquivo =

@"C:\Users\Danilodms\Documents\tgdanilo\dados.accdb";

static string strconn =

String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _Arquivo +

";Persist Security Info=False;");

//string vsql;

public frm_inicial()

{

InitializeComponent();

tb_usuario.Focus();

}

private void btn_engenharia_Click(object sender, EventArgs e)

{

try

{

//Conexão com o banco de dados

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT

[Usuario],[Senha],[Situacao] FROM Seguranca WHERE Usuario LIKE '" +

tb_usuario.Text + "'", conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.Read())

{

//Atribuição dos valores do banco a variáveis

string aux_senha = "";

string aux_situacao = "";

aux_senha = da["Senha"].ToString();

aux_situacao = da["Situacao"].ToString();

Page 66: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

66

//Confirmação de senha e definição da tela a ser aberta de acordo com a permissão

pré-estabelecida

if ((aux_senha == tb_senha.Text) && (aux_situacao == "admin"))

{

frm_admin frl = new frm_admin();

frl.ShowDialog();

}

else if ((aux_senha == tb_senha.Text) && (aux_situacao ==

"engenharia"))

{

frm_engenharia frl = new frm_engenharia();

frl.ShowDialog();

}

else if ((aux_senha == tb_senha.Text) && (aux_situacao == "producao"))

{

frm_producao frl = new frm_producao();

frl.ShowDialog();

}

else if ((aux_senha == tb_senha.Text) && (aux_situacao ==

"operacional"))

{

frm_operacional frl = new frm_operacional();

frl.ShowDialog();

}

else

{

//Menssagem caso não exista usuário ou senha incorreta

MessageBox.Show("Senha Incorreta", "Aviso.", MessageBoxButtons.OK,

MessageBoxIcon.Information);

}

}

da.Close();

conn.Close();

this.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

// frm_engenharia frl = new frm_engenharia();

//frl.Show();

}

private void btn_cancelar_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

Page 67: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

67

Apêncice C – Tela do Administrador

using System; //Declaração de Bicliotecas padrões do Visual Studio

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb; //Biblioteca de Dados

namespace WindowsFormsApplication4

{

public partial class frm_admin : Form

{

//Inicialização da planilha de banco de dados e definição do endereço da tabela

static string _Arquivo =

@"C:\Users\Danilodms\Documents\tgdanilo\dados.accdb";

static string strconn =

String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _Arquivo +

";Persist Security Info=False;");

string vsql;

public frm_admin()

{

InitializeComponent();

}

private void btn_confirmar_usuario_Click(object sender, EventArgs e)

{

//Sequência de Funções IF para garantir que o usuário preencha todos os campos antes

de ser realizada a conexão com o banco

if (tb_usuario.Text == "")

{

MessageBox.Show("Usuário em

branco.","Aviso.",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

else if (tb_senha.Text=="")

{

MessageBox.Show("Preencha a

Senha.","Aviso.",MessageBoxButtons.OK,MessageBoxIcon.Information);

Page 68: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

68

}

else if (cb_permissao.Text == "")

{

MessageBox.Show("Selecione a Permissão.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

//se todos os camposestão preenchidos a senha tem que ser confirmada

else if (tb_senha.Text == tb_confirmsaenha.Text)

{

//Rotina de inserção de usuário novo no banco de dados

try

{

OleDbConnection Conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", Conn);

Conn.Open();

vsql = "INSERT INTO Seguranca([Usuario],[Senha],[Situacao]) VALUES

('" + tb_usuario.Text + "','" + tb_senha.Text + "','" + cb_permissao.Text + "')";

cmd.CommandText = vsql;

cmd.ExecuteNonQuery();

Conn.Close();

MessageBox.Show("Usuário inserido com sucesso!", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

//Após inseridos os dados a tela volta as suas condições iniciais

tb_usuario.Text = "";

tb_senha.Text = "";

tb_confirmsaenha.Text = "";

cb_permissao.Items.Add("");

cb_permissao.Text = "";

Conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

else

{

//Se a senha não for confirmada não será inseridonovo usuário

MessageBox.Show("Senha não confirmada.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

Page 69: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

69

}

}

private void btn_novo_usuario_Click(object sender, EventArgs e)

{

groupBox2.Enabled = true;

}

private void btn_busca_usuario_Click(object sender, EventArgs e)

{

//Busca usuário

try

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT

[Usuario],[Senha],[Situacao] FROM Seguranca WHERE Usuario LIKE '" +

tb_busausuario.Text + "'", conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows) //Condição para existencia de cadastro

{

if (da.Read())

{

//Atribuição dos dados do campo para os textbox da tela

tb_usuario.Text = da["Usuario"].ToString();

tb_senha.Text = da["Senha"].ToString();

cb_permissao.Text = da["Situacao"].ToString();

da.Close();

conn.Close();

groupBox2.Enabled = true;

}

}

else

{

//Se não existir usuário será enviada mensagem ao usuário

MessageBox.Show("Não possui registros na data selecionada.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

Page 70: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

70

//Botão exclusão de usuário

private void btn_excluir_usuario_Click(object sender, EventArgs e)

{

//Consulta se administrador realmente deseja excluir usuário

DialogResult dialogresult = MessageBox.Show("Deseja realmente Excluir

Registro?", "Aviso.", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (dialogresult == DialogResult.Yes)

{

try

{

//Conexão com Banco de Dados para exclusão de produto

string descricao_alt = "Exclusão de produto : " +

tb_usuario.Text.Replace("\r\n", "");

OleDbConnection Conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", Conn);

vsql = "DELETE FROM Seguranca WHERE Usuario LIKE '%" +

tb_usuario.Text.Replace("\r\n", "") + "%'";

cmd.CommandText = vsql;

Conn.Open();

cmd.ExecuteNonQuery();

Conn.Close();

MessageBox.Show("Registro excluído com sucesso.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

else

{

MessageBox.Show("Registro não excluído.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

}

Page 71: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

71

Apêndice D – Tela da Engenharia e Materia Prima

Engenharia

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

namespace WindowsFormsApplication4

{

public partial class frm_engenharia : Form

{

static string _Arquivo =

@"C:\Users\Danilodms\Documents\tgdanilo\dados.accdb";

static string strconn =

String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _Arquivo +

";Persist Security Info=False;");

string vsql;

public frm_engenharia()

{

InitializeComponent();

btn_novo.Focus();

}

private void Form1_Load(object sender, EventArgs e)

{

btn_novo.Focus(); //Préseleção do botão “Novo”

}

private void menuPrincipalToolStripMenuItem_Click(object sender, EventArgs e)

{

//Abre aba de inserção de matéria prima

form_materia frl = new form_materia();

frl.Show();

}

private void btn_confirmar _Click(object sender, EventArgs e)

Page 72: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

72

{

//Condição que não permite inserir dados caso o grupo esteza bloquad.

if (gp_engenharia1.Enabled == false)

{

MessageBox.Show("Operação não permitida.", "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

//Sequencia de Ifs que não permitem aconexão de dados caso algum campo não esteja

preenchido

else if (tb_codproduto.Text == "")

{

MessageBox.Show("Preencha código do produto.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_descproduto.Text == "")

{

MessageBox.Show("Preencha descrição do produto.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_codmateria.Text == "")

{

MessageBox.Show("Preencha código da matéria prima.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_codaliment.Text == "")

{

MessageBox.Show("Preencha código da alimentação.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_temp.Text == "")

{

MessageBox.Show("Preencha temperatura.", "Preenchimento incorreto",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_fieira.Text == "")

{

MessageBox.Show("Preencha diâmetro da fieira.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_pino.Text == "")

{

MessageBox.Show("Preencha diâmetro do pino.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_diamin.Text == "")

{

MessageBox.Show("Preencha diâmetro mínimo.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

Page 73: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

73

else if (tb_dianom.Text == "")

{

MessageBox.Show("Preencha diâmetro nominal.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_diamax.Text == "")

{

MessageBox.Show("Preencha diâmetro máximo.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_velocidade.Text == "")

{

MessageBox.Show("Preencha velocidade.", "Preenchimento incorreto",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_nucleomin.Text == "")

{

MessageBox.Show("Preencha diâmetro do núcleo mínimo.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_nucleonom.Text == "")

{

MessageBox.Show("Preencha diâmetro do núcleo nominal.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_nucleomax.Text == "")

{

MessageBox.Show("Preencha diâmetro do núcleo máximo.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_espmin.Text == "")

{

MessageBox.Show("Preencha espessura da capa.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_espnom.Text == "")

{

MessageBox.Show("Preencha espessura nominal.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (tb_espmax.Text == "")

{

MessageBox.Show("Preencha espessura máxima.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else if (rb_pressao.Checked == false && rb_semi.Checked == false &&

rb_tubo.Checked == false)

{

MessageBox.Show("Selecione ajuste da ferramenta.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Page 74: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

74

}

else

{

//sequencia de Ifs que atribuem a variável tipo a palavra de acordo com o radiobutton

selecionado

string tipo = "";

if (rb_pressao.Checked == true)

{

tipo = "Pressão";

}

else if (rb_semi.Checked == true)

{

tipo = "Semi-Pressão";

}

else if (rb_tubo.Checked == true)

{

tipo = "Tubo";

}

try

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

//Conexão com o banco de dados para alteração de dados na ficha se check box alterar

estiver selecionado

if (chb_alterar.Checked == true)

{

// data_alt = data_cred.Text;

// descricao_alt = tb_descricao.Text;

// value = tb_valor.Text.Replace(".", ",");

vsql = "UPDATE Engenharia SET DesProduto = '" +

tb_descproduto.Text + "' , CodAliment = '" + tb_codaliment.Text + "' , DesAliment = '"

+ tb_descaliment.Text + "' , CodCapa = '" + tb_codmateria.Text + "' , DesCapa= '" +

tb_descmateria.Text + "' , Temperatura = '" + tb_temp.Text + "' , DiametroNominal =

'" + tb_dianom.Text + "' , DiametroMax = '" + tb_diamax.Text + "' , DiametroMin = '"

+ tb_diamin.Text + "' , DiaNucleoNominal = '" + tb_nucleonom.Text + "' ,

DiaNucleoMax = '" + tb_nucleomax.Text + "' , DiaNucleoMin = '" +

tb_nucleomin.Text + "' , Velocidade = '" + tb_velocidade.Text + "' , DiametroFieira =

'" + tb_fieira.Text + "' , DiametroPino = '" + tb_pino.Text + "' , TipoExtrusao = '" +

tipo + "' , Observacao = '" + tb_obs.Text + "' , EspessuraNominal = '" +

tb_espnom.Text + "' , EspessuraMax = '" + tb_espmax.Text + "' , EspessuraMin = '" +

tb_espmin.Text + "' WHERE CodProduto = '" + tb_codproduto.Text + "'";

cmd.CommandText = vsql;

Page 75: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

75

cmd.Connection = conn;

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

MessageBox.Show("Cadastro alterado com sucesso!", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

//chb_alterar.Checked = false;

//chb_alterar.Visible = false;

}

else

{

//se check box alterar não estiver selecionado será executada conexão SQL para inserir

dados

conn.Open();

vsql = "INSERT INTO

Engenharia([CodProduto],[DesProduto],[CodAliment],[DesAliment],[CodCapa],[Des

Capa],[Temperatura],[DiametroNominal],[DiametroMax],[DiametroMin],[DiaNucleo

Nominal],[DiaNucleoMax],[DiaNucleoMin],[Velocidade],[DiametroFieira],[Diametro

Pino],[TipoExtrusao],[Observacao],[EspessuraNominal],[EspessuraMax],[Espessura

Min],[Gravacao]) VALUES ('" + tb_codproduto.Text + "','" + tb_descproduto.Text +

"','" + tb_codaliment.Text + "','" + tb_descaliment.Text + "','" + tb_codmateria.Text +

"','" + tb_descmateria.Text + "','" + tb_temp.Text + "','" + tb_dianom.Text + "','" +

tb_diamax.Text + "','" + tb_diamin.Text + "','" + tb_nucleonom.Text + "','" +

tb_nucleomax.Text + "','" + tb_nucleomin.Text + "','" + tb_velocidade.Text + "','" +

tb_fieira.Text + "','" + tb_pino.Text + "','" + tipo + "','" + tb_obs.Text + "','" +

tb_espnom.Text + "','" + tb_espmax.Text + "','" + tb_espmin.Text + "','" +

tb_gravacao.Text + "')";

cmd.CommandText = vsql;

cmd.ExecuteNonQuery();

conn.Close();

tipo = "";

MessageBox.Show("Produto inserido com sucesso.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

gp_engenharia1.Enabled = false;

}

}

catch (OleDbException ex)

{

if (ex.ErrorCode.ToString() == "-2147467259")

{

MessageBox.Show("Dados Duplicados.", "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

else

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode,

"Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);

Page 76: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

76

}

}

// chb_alterar.Visible = false;

// tb_codproduto.Enabled = true;

}

}

private void btn_novo_Click(object sender, EventArgs e)

{

//botão que limpa todos os campos e deixa tela disponível para preenchimento de nova

ficha

gp_engenharia1.Enabled = true;

tb_codproduto.Text = "";

tb_codproduto.Enabled = true;

tb_descproduto.Text = "";

tb_codmateria.Text = "";

tb_descmateria.Text = "";

tb_codaliment.Text = "";

tb_descaliment.Text = "";

tb_temp.Text = "";

tb_fieira.Text = "";

tb_pino.Text = "";

tb_diamin.Text = "";

tb_dianom.Text = "";

tb_diamax.Text = "";

tb_velocidade.Text = "";

tb_nucleomin.Text = "";

tb_nucleonom.Text = "";

tb_nucleomax.Text = "";

tb_espmin.Text = "";

tb_espnom.Text = "";

tb_espmax.Text = "";

tb_gravacao.Text = "";

tb_obs.Text = "";

rb_pressao.Checked = false;

rb_semi.Checked = false;

rb_tubo.Checked = false;

chb_alterar.Checked = false;

chb_alterar.Visible = false;

chb_alterar.Enabled = true;

}

private void tb_codproduto_KeyPress(object sender, KeyPressEventArgs e)

{

//commando que so permite que sejam digitados numeros no campo codigo de produto

Page 77: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

77

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)

{

e.Handled = true;

}

}

private void tb_codaliment_KeyPress(object sender, KeyPressEventArgs e)

{

//commando que so permite que sejam digitados numeros no campo codigo de

Alimentação

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)

{

e.Handled = true;

}

}

private void tb_codmateria_KeyPress(object sender, KeyPressEventArgs e)

{

//commando que so permite que sejam digitados numeros no campo codigo de matéria

prima, este comando será repetido para os campos de dimensão da capa, espessura,

velocidade, temperatura, dimensões das ferramentas e dimensão do núcleo

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)

{

e.Handled = true;

}

}

private void tb_temp_KeyPress(object sender, KeyPressEventArgs e)

{

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)

{

e.Handled = true;

}

}

private void tb_velocidade_KeyPress(object sender, KeyPressEventArgs e)

{

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8 )

{

e.Handled = true;

}

}

private void tb_fieira_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

Page 78: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

78

}

private void tb_pino_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_diamin_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_dianom_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_diamax_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_nucleomin_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_nucleonom_KeyPress(object sender, KeyPressEventArgs e)

{

Page 79: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

79

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_nucleomax_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_espmin_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_espnom_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void tb_espmax_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) &&

!(e.KeyChar == ','))

{

e.Handled = true;

}

}

private void btn_excluir _Click(object sender, EventArgs e)

{

//questiona se usuário realmente deseja excluir registro

Page 80: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

80

DialogResult dialogresult = MessageBox.Show("Deseja realmente Excluir

Registro?", "Aviso.", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (dialogresult == DialogResult.Yes)

{

try

{

//Conexão com Banco de Dados para exlusão de registro

string descricao_alt = "Exclusão de produto : " +

tb_codproduto.Text.Replace("\r\n", "");

OleDbConnection Conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", Conn);

vsql = "DELETE FROM Engenharia WHERE CodProduto LIKE '%" +

tb_codproduto.Text.Replace("\r\n", "") + "%'";

cmd.CommandText = vsql;

Conn.Open();

cmd.ExecuteNonQuery();

Conn.Close();

MessageBox.Show("Registro excluído com sucesso.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

btn_excluir.Enabled = false;

}

else

{

MessageBox.Show("Registro não excluído.", "Aviso.", MessageBoxButtons.OK,

MessageBoxIcon.Information);

}

}

private void sairToolStripMenuItem_Click(object sender, EventArgs e)

{

frm_inicial frl = new frm_inicial();

frl.Show();

this.Visible = false;

}

private void Btn_busca_Click(object sender, EventArgs e)

{

//Habilita busca de ficha

Page 81: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

81

MessageBox.Show("Digite o código para busca.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

lb_pesquisa.Visible = true;

tb_busca.Text = "";

tb_busca.Visible=true;

btn_buscaok.Visible=true;

tb_busca.Focus();

chb_alterar.Visible = false;

chb_alterar.Enabled = true;

chb_alterar.Checked = false;

}

private void btn_buscaok_Click(object sender, EventArgs e)

{

try

{

//Conexão de busca ao banco de dados

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT

[CodProduto],[DesProduto],[CodAliment],[DesAliment],[CodCapa],[DesCapa],[Tem

peratura],[DiametroNominal],[DiametroMax],[DiametroMin],[DiaNucleoNominal],[

DiaNucleoMax],[DiaNucleoMin],[Velocidade],[DiametroFieira],[DiametroPino],[Tip

oExtrusao],[Observacao],[EspessuraNominal],[EspessuraMax],[EspessuraMin],[Grav

acao] FROM Engenharia WHERE CodProduto LIKE " + tb_busca.Text, conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

//Atribui valores do banco de dados aos campos do formulário

string aux = "";

tb_codproduto.Text = da["CodProduto"].ToString();

tb_descproduto.Text = da["DesProduto"].ToString();

tb_codaliment.Text = da["CodAliment"].ToString();

tb_descaliment.Text = da["DesAliment"].ToString();

tb_codmateria.Text = da["CodCapa"].ToString();

tb_descmateria.Text = da["DesCapa"].ToString();

tb_temp.Text = da["Temperatura"].ToString();

tb_fieira.Text = da["DiametroFieira"].ToString();

tb_pino.Text = da["DiametroPino"].ToString();

tb_diamin.Text = da["DiametroMin"].ToString();

tb_dianom.Text = da["DiametroNominal"].ToString();

Page 82: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

82

tb_diamax.Text = da["DiametroMax"].ToString();

tb_velocidade.Text = da["Velocidade"].ToString();

tb_nucleomin.Text = da["DiaNucleoMin"].ToString();

tb_nucleonom.Text = da["DiaNucleoNominal"].ToString();

tb_nucleomax.Text = da["DiaNucleoMax"].ToString();

tb_espmin.Text = da["EspessuraMin"].ToString();

tb_espnom.Text = da["EspessuraNominal"].ToString();

tb_espmax.Text = da["EspessuraMax"].ToString();

tb_gravacao.Text = da["Gravacao"].ToString();

tb_obs.Text = da["Observacao"].ToString();

aux = da["TipoExtrusao"].ToString();

if (aux == "Semi-Pressão")

{

rb_semi.Checked = true;

}

else if (aux == "Pressão")

{

rb_pressao.Checked = true;

}

else if (aux == "Tubo")

{

rb_tubo.Checked = true;

}

lb_pesquisa.Visible = false;

tb_busca.Visible = false;

btn_buscaok.Visible = false;

btn_excluir.Enabled = true;

chb_alterar.Visible = true;

gp_engenharia1.Enabled = false;

chb_alterar.Enabled = true;

}

else

{

//Menssagem caso não seja encontrado registro

MessageBox.Show("Produto não encontrado.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

da.Close();

conn.Close();

}

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

Page 83: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

83

}

private void tb_codaliment_Leave(object sender, EventArgs e)

{

if (tb_codaliment.Text != "")

{

//Busca descrição de acordo com código digitado no campo alimentação

try

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT [Descricao]

FROM Alimentacao WHERE Codigo LIKE " + tb_codaliment.Text, conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

tb_descaliment.Text = da["Descricao"].ToString();

}

}

else

{

MessageBox.Show("Código de Alimentação não encontrado.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tb_codaliment.Text = "";

this.Focus();

}

da.Close();

conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

tb_codaliment.Text = "";

}

}

}

private void tb_codmateria_Leave(object sender, EventArgs e)

{

//Busca descrição de matéria prima no banco

if (tb_codmateria.Text != "")

{

Page 84: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

84

try

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT [Descricao]

FROM MateriaPrima WHERE Codigo LIKE " + tb_codmateria.Text, conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

tb_descmateria.Text = da["Descricao"].ToString();

}

}

else

{

MessageBox.Show("Código de Materia não encontrado.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tb_codmateria.Text = "";

this.Focus();

}

da.Close();

conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

tb_codmateria.Text = "";

}

}

}

private void sairToolStripMenuItem1_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void chb_alterar_CheckedChanged(object sender, EventArgs e)

{

//Desbloqueia campos para realizer atualização de cadastros

if (chb_alterar.Checked == true)

{

tb_codproduto.Enabled = false;

gp_engenharia1.Enabled = true;

btn_excluir.Enabled = false;

Page 85: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

85

chb_alterar.Enabled = false;

}

}

private void logOffToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Visible = false;

frm_inicial frl = new frm_inicial();

frl.ShowDialog();

}

private void tb_codmateria_TextChanged(object sender, EventArgs e)

{

}

}

}

Materia Prima

//A janela de matéria prima possui as mesmas conexões da janela engenharia, no

entanto acessa a tabela Materia prima do banco de dados.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

namespace WindowsFormsApplication4

{

public partial class form_materia : Form

{

static string _Arquivo =

@"C:\Users\Danilodms\Documents\tgdanilo\dados.accdb";

static string strconn =

String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _Arquivo +

";Persist Security Info=False;");

Page 86: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

86

string vsql;

public form_materia()

{

InitializeComponent();

}

private void Form2_Load(object sender, EventArgs e)

{

}

private void tb_codcapa_KeyPress(object sender, KeyPressEventArgs e)

{

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)

{

e.Handled = true;

}

}

private void button1_Click(object sender, EventArgs e)

{

try

{

OleDbConnection Conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", Conn);

if (ckb_aterar.Checked == false)

{

if (tb_codcapa.Text == "")

{

MessageBox.Show("Preencha o código da matéria prima à ser

inserida.", "Preenchimento incorreto", MessageBoxButtons.OK,

MessageBoxIcon.Exclamation);

}

else if (tb_desccapa.Text == "")

{

MessageBox.Show("É necessário ter uma descrição.", "Preenchimento

incorreto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

this.Close();

}

else

{

Conn.Open();

vsql = "INSERT INTO MateriaPrima([Codigo],[Descricao]) VALUES

('" + tb_codcapa.Text + "','" + tb_desccapa.Text + "')";

cmd.CommandText = vsql;

cmd.ExecuteNonQuery();

Conn.Close();

Page 87: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

87

MessageBox.Show("Matéria prima inserida com sucesso.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tb_codcapa.Text = "";

tb_desccapa.Text = "";

this.Close();

}

}

else

{

Conn.Open();

vsql = "UPDATE MateriaPrima SET Descricao = '" + tb_desccapa.Text +

"' WHERE Codigo = " + tb_codcapa.Text;

cmd.CommandText = vsql;

cmd.Connection = Conn;

cmd.ExecuteNonQuery();

Conn.Close();

ckb_aterar.Checked = false;

ckb_aterar.Visible = false;

MessageBox.Show("Cadastro alterado com sucesso.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tb_codcapa.Enabled = false;

tb_desccapa.Enabled = true;

}

}

catch (OleDbException ex)

{

if (ex.ErrorCode.ToString() == "-2147467259")

{

MessageBox.Show("Dados Duplicados.", "Erro", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

else

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void button2_Click(object sender, EventArgs e)

{

if (tb_codcapa.Text == "")

{

MessageBox.Show("Digite o Código do Produto para Busca.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

Page 88: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

88

{

try

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT [Descricao]

FROM MateriaPrima WHERE Codigo LIKE " + tb_codcapa.Text, conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

tb_desccapa.Text = da["Descricao"].ToString();

}

ckb_aterar.Visible = true;

tb_codcapa.Enabled = false;

tb_desccapa.Enabled = false;

}

else

{

MessageBox.Show("Valor não encontrado", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

da.Close();

conn.Close();

}

catch(OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void ckb_aterar_CheckedChanged(object sender, EventArgs e)

{

tb_desccapa.Enabled = true;

}

private void btn_novo_Click(object sender, EventArgs e)

{

tb_codcapa.Enabled = true;

tb_desccapa.Enabled = true;

tb_desccapa.Text = "";

tb_codcapa.Text = "";

ckb_aterar.Visible = false;

Page 89: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

89

}

private void button4_Click(object sender, EventArgs e)

{

DialogResult dialogresult = MessageBox.Show("Deseja realmente Excluir

Registro?", "Aviso.", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (dialogresult == DialogResult.Yes)

{

try

{

//Conexão com Banco de Dados

string descricao_alt = "Exclusão de produto : " +

tb_codcapa.Text.Replace("\r\n", "");

OleDbConnection Conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", Conn);

vsql = "DELETE FROM MateriaPrima WHERE Codigo LIKE '%" +

tb_codcapa.Text.Replace("\r\n", "") + "%'";

cmd.CommandText = vsql;

Conn.Open();

cmd.ExecuteNonQuery();

Conn.Close();

MessageBox.Show("Registro excluído com sucesso.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tb_codcapa.Text = "";

tb_desccapa.Text = "";

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

else

{

MessageBox.Show("Registro não excluído.", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

}

Page 90: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

90

Apêndice E – Tela Operacional

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO.Ports; //Biblioteca que Permite comunicação Serial

namespace WindowsFormsApplication4

{

public partial class frm_operacional : Form

{

static string _Arquivo =

@"C:\Users\Danilodms\Documents\tgdanilo\dados.accdb";

//static string _Arquivo = @"" +Application.StartupPath+ "dados.accdb";

static string strconn =

String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _Arquivo +

";Persist Security Info=False;");

string vsql;

string rxstring = "";

int producao = 0, manutencao= 0, materia=0, setup=0, operador=0, utilidade=0,

programa=0, total=0, auxproducao = 0, auxparada = 30, auxvelocidade=3,

vel_padrao=0;

// double metros = 0;

double metrosparcial = 0, velocidade = 0;

int i = 0;

//int seg=0, min=0;

//int segsetup = 0, minsetup = 0, segmanut = 0, minmanut = 0, segmateria = 0,

minmateria = 0, segoperador = 0, minoperador = 0, segutilidade = 0, minutilidade =

0, segprograma = 0, minprograma = 0;

public frm_operacional()

{

InitializeComponent();

}

private void timer1_Tick(object sender, EventArgs e)//timer produção

{

//Timer 1 que conta o tempo de produção

//lb_producao.BackColor = System.Drawing.Color.Lime;

Page 91: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

91

//producao++;

// i++;

if (i % 2 == 0) //Label piscando cores para indicar funcionamento do timer

{

lb_producao.BackColor = System.Drawing.Color.Lime;

}

else

{

lb_producao.BackColor = System.Drawing.Color.White;

}

if (i <= 59) //formatação do label que indica o tempo passado

{

i++;

}

else

{

i = 0;

producao++;

auxproducao++;

lb_time_producao.Text = producao.ToString();

}

}

private void rb_producao_CheckedChanged(object sender, EventArgs e)

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

//Quando radio button produção e selecionado ele dispara timer da produção, habilita

timer que indicará parada, habilita contagem da produção e bloqueia a seleção de

outros radio buttons, só serão liberados as outras opções se houver parada de

máquina.

if (rb_producao.Checked == true)

{

i = 0;

timer_producao.Enabled = true;

timer_parada.Enabled = true;

timer_velocidade.Enabled = true;

//Serial_com.Open();

rb_materia.Enabled = false;

rb_manut.Enabled = false;

rb_operador.Enabled = false;

rb_programa.Enabled = false;

rb_setup.Enabled=false;

rb_utilidade.Enabled = false;

Page 92: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

92

tb_horainicio.Text = DateTime.Now.ToShortTimeString();

}

else

{

//quando é retirada a seleção do Rádio button da produçãosão inseridos os dados de

produção no banco, o tempo produzindo, os outros radio buttons são liberados para

acesso e automaticamente é selecionado falta de programa, devendo o operador

selecionar outro motivo de parada

try

{

conn.Open();

timer_velocidade.Enabled = false;

timer_parada.Enabled = false;

timer_producao.Enabled = false;

vsql = "UPDATE Disponibilidade SET TempoProducao = '" + producao

+ "' WHERE Data = CDate('" + dp_operacional.Value.Date.ToShortDateString() +

"')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

vsql = "INSERT INTO Eficiencia ([Data], [Lote], [CodProduto],

[Descricao], [Tempo], [Produzido], [Esperado], [Eficiencia] )VALUES ('" +

dp_operacional.Value.Date.ToString("dd/MM/yyyy") + "','" + tb_lote.Text + "','" +

tb_codproduto.Text + "','" + tb_descricao.Text + "','" + auxproducao + "','" + metros

+ "','" + auxproducao * vel_padrao + "','" + 100 * metros / (auxproducao *

vel_padrao) + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

lb_producao.BackColor = System.Drawing.Color.White;

Serial_com.Close();

auxproducao = 0;

auxparada = 30;

rb_materia.Enabled = true;

rb_manut.Enabled = true;

rb_operador.Enabled = true;

rb_programa.Enabled = true;

rb_setup.Enabled = true;

rb_utilidade.Enabled = true;

rb_producao.Enabled = false;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode,

"Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

Page 93: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

93

}

}

private void rb_setup_CheckedChanged(object sender, EventArgs e)

{

if (rb_setup.Checked == true)

{

//quando o radio button setup é selecionado inicia-se a contagem de tempo de setup da

linha, este commando se repete nos outros radio buttons de paradas.

i = 0;

timer_setup.Enabled = true;

}

else

{

//Ao ser retirada a seleção do radio button setup o valor cronometrado é atualizado no

banco de dados, este comando também se repete nos outros radio buttons de parada.

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

vsql = "UPDATE Disponibilidade SET TempoSetUp = '" + setup + "'

WHERE Data = CDate('" + dp_operacional.Value.Date.ToShortDateString() + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_setup.Enabled = false;

lb_pisca_setup.BackColor = System.Drawing.Color.White;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void timer_setup_Tick(object sender, EventArgs e)

{

if (i % 2 == 0)

{

lb_pisca_setup.BackColor = System.Drawing.Color.Lime;

Page 94: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

94

}

else

{

lb_pisca_setup.BackColor = System.Drawing.Color.White;

}

if (i <= 59)

{

i++;

}

else

{

i = 0;

setup++;

lb_time_setup.Text = setup.ToString();

}

}

private void rb_manut_CheckedChanged(object sender, EventArgs e)

{

if (rb_manut.Checked == true)

{

i = 0;

timer_manut.Enabled = true;

}

else

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

vsql = "UPDATE Disponibilidade SET TempoManutencao = '" +

manutencao + "' WHERE Data = CDate('" +

dp_operacional.Value.Date.ToShortDateString() + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_manut.Enabled = false;

lb_pisca_manutencao.BackColor = System.Drawing.Color.White;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

Page 95: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

95

}

}

private void rb_operador_CheckedChanged(object sender, EventArgs e)

{

if (rb_operador.Checked == true)

{

i = 0;

timer_operador.Enabled = true;

}

else

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

vsql = "UPDATE Disponibilidade SET TempoOperador = '" + operador +

"' WHERE Data = CDate('" + dp_operacional.Value.Date.ToShortDateString() + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_operador.Enabled = false;

lb_pisca_operador.BackColor = System.Drawing.Color.White;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void rb_programa_CheckedChanged(object sender, EventArgs e)

{

if (rb_programa.Checked == true)

{

i = 0;

timer_programa.Enabled = true;

}

else

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

Page 96: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

96

vsql = "UPDATE Disponibilidade SET TempoPrograma = '" + programa

+ "' WHERE Data = CDate('" + dp_operacional.Value.Date.ToShortDateString() +

"')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_programa.Enabled = false;

lb_pisca_programa.BackColor = System.Drawing.Color.White;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void rb_materia_CheckedChanged(object sender, EventArgs e)

{

if (rb_materia.Checked == true)

{

i = 0;

timer_materia.Enabled = true;

}

else

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

vsql = "UPDATE Disponibilidade SET TempoMateria = '" + materia + "'

WHERE Data = CDate('" + dp_operacional.Value.Date.ToShortDateString() + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_materia.Enabled = false;

lb_pisca_materia.BackColor = System.Drawing.Color.White;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

Page 97: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

97

}

private void rb_utilidade_CheckedChanged(object sender, EventArgs e)

{

if (rb_utilidade.Checked == true)

{

i = 0;

timer_utilidade.Enabled = true;

}

else

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

vsql = "UPDATE Disponibilidade SET TempoUtilidade = '" + utilidade +

"' WHERE Data = CDate('" + dp_operacional.Value.Date.ToShortDateString() + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_utilidade.Enabled = false;

lb_pisca_utilidade.BackColor = System.Drawing.Color.White;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void timer_manut_Tick(object sender, EventArgs e)

{

if (i % 2 == 0)

{

lb_pisca_manutencao.BackColor = System.Drawing.Color.Lime;

}

else

{

lb_pisca_manutencao.BackColor = System.Drawing.Color.White;

}

if (i <= 59)

{

i++;

}

else

{

Page 98: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

98

i = 0;

manutencao++;

lb_time_manut.Text = manutencao.ToString();

}

}

private void timer_operador_Tick(object sender, EventArgs e)

{

if (i % 2 == 0)

{

lb_pisca_operador.BackColor = System.Drawing.Color.Lime;

}

else

{

lb_pisca_operador.BackColor = System.Drawing.Color.White;

}

if (i <= 59)

{

i++;

}

else

{

i = 0;

operador++;

lb_time_operador.Text = operador.ToString();

}

}

private void timer_programa_Tick(object sender, EventArgs e)

{

if (i % 2 == 0)

{

lb_pisca_programa.BackColor = System.Drawing.Color.Lime;

}

else

{

lb_pisca_programa.BackColor = System.Drawing.Color.White;

}

if (i <= 59)

{

i++;

}

else

{

i = 0;

programa++;

lb_time_programa.Text = programa.ToString();

}

Page 99: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

99

}

private void timer_materia_Tick(object sender, EventArgs e)

{

if (i % 2 == 0)

{

lb_pisca_materia.BackColor = System.Drawing.Color.Lime;

}

else

{

lb_pisca_materia.BackColor = System.Drawing.Color.White;

}

if (i <= 59)

{

i++;

}

else

{

i = 0;

materia++;

lb_time_materia.Text = materia.ToString();

}

}

private void timer_utilidade_Tick(object sender, EventArgs e)

{

if (i % 2 == 0)

{

lb_pisca_utilidade.BackColor = System.Drawing.Color.Lime;

}

else

{

lb_pisca_utilidade.BackColor = System.Drawing.Color.White;

}

if (i <= 59)

{

i++;

}

else

{

i = 0;

utilidade++;

lb_time_utilidade.Text = utilidade.ToString();

}

}

Page 100: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

100

private void frm_operacional_Load(object sender, EventArgs e)

//ao iniciar o form, o programa verifica se ja existe linha no banco criada

{

try

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

conn.Open();

cmd = new OleDbCommand("SELECT [TempoProducao],

[TempoManutencao], [TempoSetUp], [TempoOperador], [TempoPrograma],

[TempoMateria], [TempoUtilidade] FROM Disponibilidade WHERE Data = CDate('"

+ dp_operacional.Value.Date.ToShortDateString() + "')", conn);

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

//atruibuição dos valores existentes no banco para as variáveis do programa

MessageBox.Show("Data já existente, produção será continuada.",

"Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);

producao = int.Parse(da["TempoProducao"].ToString());

manutencao = int.Parse(da["TempoManutencao"].ToString());

setup = int.Parse(da["TempoSetup"].ToString());

operador = int.Parse(da["TempoOperador"].ToString());

programa = int.Parse(da["TempoPrograma"].ToString());

materia = int.Parse(da["TempoMateria"].ToString());

utilidade = int.Parse(da["TempoUtilidade"].ToString());

da.Close();

}

}

//se não existe linha criada o programa cria uma nova linha e todos os valores da linha

são nulos atéque sejam atualizados

else

{

da.Close();

vsql = "INSERT INTO Disponibilidade([Data])VALUES ('" +

dp_operacional.Value.Date.ToString("dd/MM/yyyy") + "')";

cmd.CommandText = vsql;

cmd.ExecuteNonQuery();

MessageBox.Show("Linha criada com sucesso, Pronto para iniciar.",

"Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);

producao = 0;

manutencao = 0;

setup = 0;

operador = 0;

programa = 0;

Page 101: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

101

materia = 0;

utilidade = 0;

}

conn.Close();

lb_time_producao.Text = producao.ToString();

lb_time_manut.Text = manutencao.ToString();

lb_time_setup.Text = setup.ToString();

lb_time_operador.Text = operador.ToString();

lb_time_programa.Text = programa.ToString();

lb_time_materia.Text = materia.ToString();

lb_time_utilidade.Text = utilidade.ToString();

rb_programa.Checked = true;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private void btn_ficha_Click(object sender, EventArgs e)

{

if (tb_codproduto.Text == "") //para carregar a ficha necessita que exista o

código.

{

MessageBox.Show("Preencha o código do produto.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

else

{

Try

//após preenchido o codigo do produto o programa busca na tabela da engenharia a

descrição e velocidade padrão do produto

{

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("SELECT [DesProduto],

[Velocidade] FROM Engenharia WHERE CodProduto LIKE " + tb_codproduto.Text,

conn);

conn.Open();

OleDbDataReader da;

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

Page 102: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

102

tb_descricao.Text = da["DesProduto"].ToString();

tb_velocidade_padrao.Text = da["Velocidade"].ToString();

vel_padrao = int.Parse(da["Velocidade"].ToString());

}

//após a busca da descrição e velocidade, é gerado um relatório com todos os dados da

ficha utilizando a ferramenta reportviewer

frm_relatorio frm = new frm_relatorio(tb_codproduto.Text);

frm.ShowDialog();

}

else

{

//caso o produto não seja encontrado é enviada uma mensagem ao usuário

MessageBox.Show("Valor não encontrado", "Aviso.",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tb_codproduto.Text = "";

}

da.Close();

conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void Serial_com_DataReceived(object sender,

SerialDataReceivedEventArgs e)

{

//evento que indica comunicação serial, neste evento é chamada uma outra

função para que sejam tratados os dados;

rxstring = Serial_com.ReadExisting();

this.Invoke(new EventHandler(DisplayText));

}

double metros = 0;

private void DisplayText(object sender, EventArgs e)

{

//Nesta função e feita a contagem da produção que acontece de acordo com o

recebimento de dado serial, a cada recebimento é um pulso e a cada pulso significa

uma volta na rolda o que representa que 1 perímetro de cabo passou pela roldana.

tb_producao.Text = "";

metros = metros + 0.5338;

Page 103: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

103

metrosparcial = metrosparcial + 0.5338;

tb_producao.Text = metros.ToString("0.00");

auxparada = 30;

}

private void tb_serialport_KeyPress(object sender, KeyPressEventArgs e)

{

// If the port is closed, don't try to send a character.

if (!Serial_com.IsOpen) return;

// If the port is Open, declare a char[] array with one element.

char[] buff = new char[1];

// Load element 0 with the key character.

buff[0] = e.KeyChar;

// Send the one character buffer.

Serial_com.Write(buff, 0, 1);

// Set the KeyPress event as handled so the character won't

// display locally. If you want it to display, omit the next line.

e.Handled = true;

}

private void timer_velocidade_Tick(object sender, EventArgs e)

{

//Timer que irá fazer a contagem da velocidade instantânea do sistema e mostra-la na

tela

auxvelocidade--;

if (auxvelocidade == 0)

{

velocidade = (metrosparcial*60) / 3;

tb_velocidade_inst.Text = velocidade.ToString("0.0");

tb_eficiencia_instant.Text = (velocidade / vel_padrao).ToString("0.0");

auxvelocidade = 3;

metrosparcial = 0;

}

}

private void timer_parada_Tick(object sender, EventArgs e)

{

//timer que indica que a máquina está parada após 30 segundos sem receber

comunicação serial

auxparada--;

if (auxparada == 0)

{

Page 104: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

104

MessageBox.Show("Máquina parada, Selecione o motivo!", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

rb_producao.Checked = false;

// Serial_com.Close();

rb_programa.Checked = true;

timer_parada.Enabled = false;

}

}

private void groupBox2_Enter(object sender, EventArgs e)

{

}

private void btn_Inicio_Click(object sender, EventArgs e)

{

//Botão que irá habilitar o radiobutton para que seja iniciada a produção

if (tb_codproduto.Text == "")

{

MessageBox.Show("Preencha o código do produto para gerar ficha.",

"Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else if (tb_descricao.Text =="")

{

MessageBox.Show("Busque a descrição.", "Aviso", MessageBoxButtons.OK,

MessageBoxIcon.Information);

}

else if (tb_lote.Text == "")

{

MessageBox.Show("Preencha o lote da produção.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

tb_codproduto.Enabled = false;

tb_lote.Enabled = false;

btn_ficha.Enabled = false;

rb_producao.Enabled = true;

}

}

private void btn_nova_Click(object sender, EventArgs e)

{

// botão que habilitará inicio de nova produção

tb_codproduto.Enabled=true;

tb_lote.Enabled = true;

tb_horainicio.Text = "";

Page 105: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

105

tb_codproduto.Text = "";

tb_lote.Text = "";

tb_descricao.Text = "";

tb_producao.Text = "";

tb_velocidade_inst.Text = "";

tb_eficiencia_instant.Text = "";

tb_velocidade_padrao.Text = "";

}

private void frm_operacional_FormClosing(object sender, FormClosingEventArgs

e)

{

//ao fechar o form serão atualizados os registros com os tempos atuais.

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

try

{

conn.Open();

vsql = "UPDATE Disponibilidade SET TempoUtilidade = '" + utilidade + "',

TempoMateria = '" + materia + "', TempoPrograma = '" + programa +

"',TempoOperador = '" + operador + "', TempoManutencao = '" + manutencao + "',

TempoSetUp = '" + setup + "', TempoProducao = '" + producao + "' WHERE Data =

CDate('" + dp_operacional.Value.Date.ToShortDateString() + "')";

cmd.CommandText = vsql;

cmd.Connection = conn;

cmd.ExecuteNonQuery();

conn.Close();

timer_utilidade.Enabled = false;

lb_pisca_utilidade.BackColor = System.Drawing.Color.White;

MessageBox.Show("Dados salvos com sucesso.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex.ErrorCode, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

}

Page 106: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

106

Apêndice F – Tela Produção

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using System.IO.Ports;

namespace WindowsFormsApplication4

{

public partial class Form1 : Form

{

static string _Arquivo =

@"C:\Users\Danilodms\Documents\tgdanilo\dados.accdb";

//static string _Arquivo = @"" +Application.StartupPath+ "dados.accdb";

static string strconn =

String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _Arquivo +

";Persist Security Info=False;");

string vsql;

double tprod = 0, tm = 0, tsu = 0, to = 0, tp = 0, tmp = 0, tu = 0, total = 0, th = 0,

tr = 0, tparada = 0,te=0,tne=0;

double ef=0;

public Form1()

{

InitializeComponent();

}

public void eficienciadiaria() //Função do gráfico de eficiência diária

{

//Atribuições das propriedades do gráfico

chart1.Series.Clear();

chart1.Series.Add("Produção");

chart1.Series[0].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;

chart1.Series[0].IsValueShownAsLabel = true;

chart1.Series.Add("Meta");

chart1.Series[1].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;

chart1.Series[1].IsValueShownAsLabel = true;

Page 107: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

107

try

{

//Conexão do banco de dados que fará as operações que indicarão a eficiência e serão

apresentadas no gráfico

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

conn.Open();

cmd = new OleDbCommand("SELECT

[Data],SUM(Tempo*Eficiencia)/SUM(Tempo) AS [Geral] FROM [Eficiencia] WHERE

Month(Data)='" + dateTimePicker1.Value.Date.Month.ToString() + "' AND

Year(Data)='" + dateTimePicker1.Value.Date.Year.ToString() + "' GROUP BY

[Data]", conn);

OleDbDataReader da;

da = cmd.ExecuteReader();

//atribuição dos valores das series dos gráficos

while (da.Read())

{

double valor = double.Parse(da["Geral"].ToString());

int teste = (int)valor;

chart1.Series[0].Points.AddXY(da["Data"].ToString().Replace("00:00:00", ""), teste);

chart1.Series[1].Points.AddXY("Meta", 70);

}

da.Close();

conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private void Form1_Load(object sender, EventArgs e)

{

//define o formato do date picker

dateTimePicker1.CustomFormat = "MMMM/yyyy";

}

private void button1_Click(object sender, EventArgs e)

//Botão de atualização dos gráficos

{

eficienciadiaria();

disponibilidadediaria();

perdastotais();

resumoparadas();

Page 108: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

108

}

public void disponibilidadediaria() //Função do gráfico de disponibilidade diária

{

//Definições das propriedades do gráfico

chart2.Series.Clear();

chart2.Series.Add("Tempo Produção");

chart2.Series[0].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn;

chart2.Series[0].IsValueShownAsLabel = true;

chart2.Series.Add("Tempo Parado");

chart2.Series[1].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn;

chart2.Series[1].IsValueShownAsLabel = true;

chart2.Series[0].CustomProperties = "EmptyPointValue=Zero,

LabelStyle=Right";

chart2.Series[1].CustomProperties = "EmptyPointValue=Zero,

LabelStyle=Right";

chart2.ChartAreas[0].AxisX.LabelStyle.Angle = -45;

chart2.Series[1].LabelAngle = 35;

try

{

//Conexão com o banco que faz as somas dos tempos diários

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

conn.Open();

cmd = new OleDbCommand("SELECT [Data],[TempoProducao] as

[Prod],(TempoManutencao+TempoSetUp+TempoOperador+TempoPrograma+Tempo

Materia+TempoUtilidade) AS [Para] FROM [Disponibilidade] WHERE

Month(Data)='" + dateTimePicker1.Value.Date.Month.ToString() + "' AND

Year(Data)='" + dateTimePicker1.Value.Date.Year.ToString() + "' ORDER BY

[Data]", conn);

OleDbDataReader da;

da = cmd.ExecuteReader();

int i =0;

if (da.HasRows)

{

while (da.Read())

{

//Atribuição dos valores do banco ao gráfico

double valor = double.Parse(da["Para"].ToString());

double valor2 = double.Parse(da["Prod"].ToString());

int teste = (int)valor;

DateTime a = DateTime.Parse(da["Data"].ToString());

chart2.Series[0].Points.AddXY(a.ToString("dd/MM"), valor);

Page 109: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

109

chart2.Series[1].Points.AddXY(a.ToString("dd/MM"), valor2);

i++;

}

}

else {

MessageBox.Show("Não possui registros na data selecionada.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

da.Close();

conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

public void perdastotais() //gráfico de perdas totais no mês

{

try

{

//Conexão do banco de dados somando os tempos de produção e perdas

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

conn.Open();

cmd = new OleDbCommand("SELECT SUM(TempoProducao) as [Prod],

(Prod+TM+TSU+TO+TP+TMP+TU) as [Total], SUM(TempoManutencao) as [TM],

SUM(TempoSetUp) as [TSU], SUM(TempoOperador) as [TO], SUM(TempoPrograma)

as [TP], SUM(TempoMateria) as [TMP], SUM(TempoUtilidade) as [TU] FROM

[Disponibilidade] WHERE Month(Data)='" +

dateTimePicker1.Value.Date.Month.ToString() + "' AND Year(Data)='" +

dateTimePicker1.Value.Date.Year.ToString() + "'", conn);

OleDbDataReader da;

da = cmd.ExecuteReader();

int i = 0;

if (da.HasRows)

{

if (da.Read())

{

//Atribuição dos valores do banco as suas respectivas variáveis

tprod = int.Parse(da["Prod"].ToString());

tm = int.Parse(da["TM"].ToString());

tsu = int.Parse(da["TSU"].ToString());

to = int.Parse(da["TO"].ToString());

Page 110: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

110

tp = int.Parse(da["TP"].ToString());

tmp = int.Parse(da["TMP"].ToString());

tu = int.Parse(da["TU"].ToString());

total = int.Parse(da["Total"].ToString());

}

}

else

{

MessageBox.Show("Não possui registros na data selecionada.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

da.Close();

cmd.CommandText = "SELECT

[Data],(SUM(Tempo*Eficiencia)/SUM(Tempo)) AS [EF] FROM [Eficiencia] WHERE

Month(Data)='" + dateTimePicker1.Value.Date.Month.ToString() + "' AND

Year(Data)='" + dateTimePicker1.Value.Date.Year.ToString() + "' GROUP BY

[Data]";

da = cmd.ExecuteReader();

if (da.HasRows)

{

if (da.Read())

{

ef = double.Parse(da["EF"].ToString());

}

}

else {

MessageBox.Show("Não possui registros na data selecionada.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

da.Close();

conn.Close();

//operações que compilarão os dados para ter um resumo das perdas e eficiência

th = (((total-tp)/total)*100);

th = double.Parse(th.ToString("N2"));

tr = (((th*total/100) - (to + tm + tsu + tmp + tu))/total)*100;

tr = double.Parse(tr.ToString("N2"));

tparada = ((to + tm + tsu + tmp + tu)/total)*100;

tparada = double.Parse(tparada.ToString("N2"));

te = (((tr * total / 100 * (ef / 100)) / total) * 100);

te = double.Parse(te.ToString("N2"));

tne = (((tr * total / 100 * (1 - (ef / 100))) / total) * 100);

tne = double.Parse(tne.ToString("N2"));

tp = ((tp/total)*100);

tp = double.Parse(tp.ToString("N2"));

Page 111: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

111

//Atribuição de legenda nas series

chart3.Series.Clear();

chart3.Series.Add("Tempo Disponivel");

chart3.Series.Add("Tempo Habilitado");

chart3.Series.Add("Tempo de Falta de Programa");

chart3.Series.Add("Tempo Rodando");

chart3.Series.Add("Tempo de Parada");

chart3.Series.Add("Tempo Eficiente");

chart3.Series.Add("Tempo Não Eficiente");

//Definição do tipo de gráfico

chart3.Series[0].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

chart3.Series[1].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

chart3.Series[2].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

chart3.Series[3].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

chart3.Series[4].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

chart3.Series[5].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

chart3.Series[6].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar;

//permite que o valor da serie seja mostrado na legenda

chart3.Series[0].IsValueShownAsLabel = true;

chart3.Series[1].IsValueShownAsLabel = true;

chart3.Series[2].IsValueShownAsLabel = true;

chart3.Series[3].IsValueShownAsLabel = true;

chart3.Series[4].IsValueShownAsLabel = true;

chart3.Series[5].IsValueShownAsLabel = true;

chart3.Series[6].IsValueShownAsLabel = true;

//Atribuições de valores a serie

chart3.Series[0].Points.AddXY(3,100);

chart3.Series[1].Points.AddXY(3, 0) ;

chart3.Series[2].Points.AddXY(3, 0);

chart3.Series[3].Points.AddXY(3, 0);

chart3.Series[4].Points.AddXY(3, 0);

chart3.Series[5].Points.AddXY(3, 0);

chart3.Series[6].Points.AddXY(3, 0);

//series que não possuem vlores não terão labels

chart3.Series[1].Points[0].IsValueShownAsLabel = false;

chart3.Series[2].Points[0].IsValueShownAsLabel = false;

Page 112: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

112

chart3.Series[3].Points[0].IsValueShownAsLabel = false;

chart3.Series[4].Points[0].IsValueShownAsLabel = false;

chart3.Series[5].Points[0].IsValueShownAsLabel = false;

chart3.Series[6].Points[0].IsValueShownAsLabel = false;

//atribui valores as series

chart3.Series[0].Points.AddXY(2, 0);

chart3.Series[1].Points.AddXY(2, th);

chart3.Series[2].Points.AddXY(2, tp);

chart3.Series[3].Points.AddXY(2, 0);

chart3.Series[4].Points.AddXY(2, 0);

chart3.Series[5].Points.AddXY(2, 0);

chart3.Series[6].Points.AddXY(2, 0);

//series que não possuem vlores não terão labels

chart3.Series[0].Points[1].IsValueShownAsLabel = false;

chart3.Series[3].Points[1].IsValueShownAsLabel = false;

chart3.Series[4].Points[1].IsValueShownAsLabel = false;

chart3.Series[5].Points[1].IsValueShownAsLabel = false;

chart3.Series[6].Points[1].IsValueShownAsLabel = false;

//atribui valores as series

chart3.Series[0].Points.AddXY(1, 0);

chart3.Series[1].Points.AddXY(1, 0);

chart3.Series[2].Points.AddXY(1, 0);

chart3.Series[3].Points.AddXY(1, tr);

chart3.Series[4].Points.AddXY(1, tparada);

chart3.Series[5].Points.AddXY(1, 0);

chart3.Series[6].Points.AddXY(1, 0);

//series que não possuem vlores não terão labels

chart3.Series[0].Points[2].IsValueShownAsLabel = false;

chart3.Series[1].Points[2].IsValueShownAsLabel = false;

chart3.Series[2].Points[2].IsValueShownAsLabel = false;

chart3.Series[5].Points[2].IsValueShownAsLabel = false;

chart3.Series[6].Points[2].IsValueShownAsLabel = false;

//atribui valores as series

chart3.Series[0].Points.AddXY(0, 0);

chart3.Series[1].Points.AddXY(0, 0);

chart3.Series[2].Points.AddXY(0, 0);

chart3.Series[3].Points.AddXY(0, 0);

chart3.Series[4].Points.AddXY(0, 0);

chart3.Series[5].Points.AddXY(0, te);

chart3.Series[6].Points.AddXY(0, tne);

Page 113: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

113

//series que não possuem vlores não terão labels

chart3.Series[0].Points[3].IsValueShownAsLabel = false;

chart3.Series[1].Points[3].IsValueShownAsLabel = false;

chart3.Series[2].Points[3].IsValueShownAsLabel = false;

chart3.Series[3].Points[3].IsValueShownAsLabel = false;

chart3.Series[4].Points[3].IsValueShownAsLabel = false;

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

public void resumoparadas()

//Função que dará o gráfico de resumo das paradas

{

//Definição das propriedades do grafico

chart4.Series.Clear();

chart4.Series.Add("Paradas");

chart4.Series[0].ChartType =

System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;

chart4.Series[0].IsValueShownAsLabel = true;

chart4.Series[0].CustomProperties = "PieLabelStyle=Outside";

try

{

//Conexão com o banco

OleDbConnection conn = new OleDbConnection(strconn);

OleDbCommand cmd = new OleDbCommand("", conn);

conn.Open();

cmd = new OleDbCommand("SELECT SUM(TempoProducao) as [Prod],

(TM+TSU+TO+TMP+TU) as [Total], SUM(TempoManutencao) as [TM],

SUM(TempoSetUp) as [TSU], SUM(TempoOperador) as [TO], SUM(TempoPrograma)

as [TP], SUM(TempoMateria) as [TMP], SUM(TempoUtilidade) as [TU] FROM

[Disponibilidade] WHERE Month(Data)='" +

dateTimePicker1.Value.Date.Month.ToString() + "' AND Year(Data)='" +

dateTimePicker1.Value.Date.Year.ToString() + "'", conn);

OleDbDataReader da;

da = cmd.ExecuteReader();

int i = 0;

if (da.HasRows)

{

Page 114: UNESP UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE … · Figura 10 - Fluxograma de funcionamento do sistema. ... manutenção que reconhece a importância de confiabilidade, manutenção

114

if (da.Read())

{

//Atribuição de valores ao gráfico, quando diferentes de zero

if (double.Parse(da["TM"].ToString()) != 0)

{

chart4.Series[0].Points.AddXY("Manutenção",

double.Parse(da["TM"].ToString()));

}

if (double.Parse(da["TSU"].ToString()) != 0)

{

chart4.Series[0].Points.AddXY("SetUp",

double.Parse(da["TSU"].ToString()));

}

if (double.Parse(da["TO"].ToString()) != 0)

{

chart4.Series[0].Points.AddXY("Falta de Operador",

double.Parse(da["TO"].ToString()));

}

if (double.Parse(da["TMP"].ToString()) != 0)

{

chart4.Series[0].Points.AddXY("Falta de Matéria Prima",

double.Parse(da["TMP"].ToString()));

}

if (double.Parse(da["TU"].ToString()) != 0)

{

chart4.Series[0].Points.AddXY("Falta de Utilidade",

double.Parse(da["TU"].ToString()));

}

}

}

else {

MessageBox.Show("Não possui registros na data selecionada.", "Aviso",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

da.Close();

conn.Close();

}

catch (OleDbException ex)

{

MessageBox.Show("Erro ao carregar os dados :" + ex, "Erro",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

}