Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila de PM, Notas de estudo de Automação

Programação pra Manufatura, Controle da porta paralela do computador com visual basic!

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 11/08/2010

felipe-dias-48
felipe-dias-48 🇧🇷

1 documento

1 / 83

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Co nt rola nd o a p or ta p ar alela P ro Fel ipe Dias
1
Controlando
a
Porta
Paralela
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53

Pré-visualização parcial do texto

Baixe Apostila de PM e outras Notas de estudo em PDF para Automação, somente na Docsity!

Controlando

a

Porta

Paralela

Apostila de PM – Programação para

Manufatura

Conteúdo

* Comunicação através da porta paralela

COMUNICAÇÃO VIA PORTA PARALELA DO PC

INTRODUÇÃO Nosso objetivo principal é a comunicação de um PC com um dispositivo de hardware que permita o controle de sistemas externos por um software específico feito pelo aluno, nas nossas aulas trabalharemos com a porta paralela do PC, conhecida como a porta da impressora (LPT), na qual pode ser utilizada como saída ou entrada. Inicialmente vamos concentrar nossos estudos para a saída de dados. A porta paralela conhecida também como porta Centronics é utilizada no interfaceamento entre o computador e um hardware específico (periférico). Atualmente vários dispositivos utilizam-se dela, tais como:

  • Zip Drivers;
  • Scanners;
  • Câmeras e outros; A Porta paralela é baseada na tecnologia TTL, isto é, trabalha com 0V ou 5V que significam respectivamente, nível baixo e nível alto, ou ainda desligado e ligado.

ENDEREÇAMENTO DA PORTA PARALELA

Para começarmos o trabalho, primeiramente deve-se saber onde está à porta, o computador as nomeia de LPT1, LPT2, LPT3 etc., mas a porta física default (padrão) é a LPT1 e seus endereços são 378H, 379H e 37AH. O “H” faz referência ao sistema hexadecimal de numeração.

Endereço Descrição
378H Envia um byte de dados para a porta.
379H Utilizado para receber um byte através da porta.
37AH Utilizada para enviar dados.

DESCRIÇÃO DA PINAGEM DA PORTA CONFORME O ENDEREÇO

Endereços 278H e 378H Endereços 279H e 379H Endereços 27AH e 37AH D7 Pino 9 D7 Pino 11 D7 NC D6 Pino 8 D6 Pino 10 D6 NC D5 Pino 7 D5 Pino 12 D5 NC D4 Pino 6 D4 Pino 13 D4 NC D3 Pino 5 D3 Pino 15 D3 Pino 17 D2 Pino 4 D2 NC D2 Pino 16 D1 Pino 3 D1 NC D1 Pino 14 D0 Pino2 D0 NC D0 Pino 1

CONECTOR DB

Legenda: NC: Não conectado; D0..D7: Dado 1.. Dado 7;

Não há necessidade do uso de todos os pinos, pode-se utilizar apenas pinos 2 a 9 (Vcc = 5V) e os pinos 18 a 25 (GND).

Um detalhe muito importante, é tomar muito cuidado com a corrente (I) na porta paralela, é aconselhável a utilização de Buffers que serão responsáveis tanto pela isolação quanto a amplificação do sinal. Mesmo sabendo-se que a porta paralela do computador trabalha sob a tecnologia TTL, não se pode simplesmente ligar CI’s TTL na sua saída, pois seu computador pode utilizar tanto a tecnologia TTL LS (Low Power Schottky) ou TTL HC (High Speed CMOS), que não possuem corrente suficiente para excitar os CI’s TTL, no caso do meu computador à porta paralela apresentou uma corrente de saída em torno de 14mA uma corrente de valor baixo, porém este fato não deve ser encarado como um problema, já que podemos contar com alguns artifícios eletrônicos, tais como:

  • Acopladores ópticos;
  • Relés;
  • Buffers (a literatura especializada recomenda o CI 74LS514);

SEQÜÊNCIAL DE LED’S Um circuito muito simples para testar a porta paralela do PC é um circuito chamado de seqüencial de led’s que é apresentado a seguir.

Lista de Componentes:

  • 8 led’s de 5mm; 3 vermelhos; 3 verdes; e 2 amarelos
  • 8 resistores de 220Ω (vermelho, vermelho, marrom);
  • 1 placa de circuito impresso (10x5cm) de 1 face;
  • 1 conector DB25 macho, fios;
  • 1 Conector tipo borneira de 9 vias.

O circuito funciona da seguinte maneira: - Em cada uma das 8 saídas (Pinos 2 a 9) é ligado um led em série com um resistor de 220Ω, sendo que cada led é ligado no pino que possui o sinal de terra (GND pinos 18 a 25) do DB25. Deve-se tomar muito cuidado com a polaridade dos led’s, pois os mesmo são da mesma categoria dos

diodos, isto é, possuem polaridade específica e a corrente (I) flui em apenas um sentido. No início é mandado um sinal para a porta, com se fora um número binário e esse número corresponde a um byte (8 bits), sendo assim cada led representa um bit, e agirá como tal. Por exemplo, se mandarmos o número 41 em decimal que em binário corresponde a 00101001, teríamos acesos os led’s 1,4 e 6, porque são os que correspondem aos uns, ou seja, estão em nível lógico alto, ou ainda estão injetando corrente no circuito. A seguir é apresenta um possível diagrama para confecção da placa de circuito impresso.

Os pinos de 2 a 9 do DB25 são conectados na placa onde esta o sinal de “+”. Os pinos de 18 a 25 são conectados onde tem o sinal de “-”. No entanto para que o circuito entre em operação, é necessária uma linguagem de programação, que será responsável pelo acionamento do circuito, ao longo do nosso curso nós utilizaremos o Visual Basic, pois é um compilador de simples entendimento e rápida aprendizagem para os recursos que nós utilizaremos!

O que é o Visual Basic?

O Visual Basic é um compilador do tipo QuickBasic para criação de aplicativos para Windows, ele é na realidade, uma aplicação do próprio Windows. É dessa forma que os programas em Visual Basic podem ser criados, rodados, depurados e compilados diretamente no Windows. O Visual Basic possibilita aos usuários a programação baseada em eventos e objetos. Isto quer dizer que o programador coloca na janela todas as opções (menus, botões, ícones, controles, etc...) para que o usuário selecione uma delas com o mouse ou com o teclado. Antes do Visual Basic uma aplicação era desenvolvida em linguagem C, juntamente com o Kit de Desenvolvimento de Software do Windows, o que demandava muito tempo de aprendizagem.

Linguagem Baseada em Eventos

Ao darmos um clique com o mouse em um determinado objeto de um aplicativo Visual Basic, por exemplo, um botão, estamos gerando um evento dentro do Windows o qual fará com que um determinado pedaço de código seja executado. Podemos, também, colocar da seguinte maneira: um determinado pedaço de código foi executado em decorrência de um evento gerado com o clique do mouse. Se o tal botão nunca for apertado aquele código poderá jamais ser executado. Programadores de linguagens voltadas para DOS, estão acostumados a escrever códigos que são executados de maneira sequencial, ou seja, o programa é orientado por sequência, isto quer dizer que as linhas de código são executadas uma após a outra durante todo o programa. Enquanto o programa não chega à última linha de código ele não para a não ser que o usuário intervenha finalizando o programa antes que ele termine. No Windows é diferente. Não existe um corpo de programa com início, meio e fim. O programa é orientado por eventos. Normalmente, um programa para Windows apresenta várias opções possíveis na tela para que o usuário as selecione conforme sua necessidade, representando, assim, um modo completamente novo de se programar. O Visual Basic é uma linguagem baseada em eventos. Isso quer dizer que o responsável pelo fluxo do programa é o usuário e não mais o programador. Devemos ter isso em mente quando estivermos projetando um aplicativo. Na programação orientada por sequência, normalmente o usuário entra com os dados na sequência determinada pelo programador. O Visual Basic permite que o usuário entre com os dados na ordem que preferir.

Linguagem Baseada em Objetos

Outra característica importante do Visual Basic é a de ser uma linguagem baseada em objetos. As linguagens como o C++ e o Pascal, por exemplo, também baseadas em objetos, possuem classe e herança. No Visual Basic, os objetos são pré-definidos, isto é, já existe uma coleção de objetos que acompanham o software.

Barra de Objetos

Essa barra está localizada à esquerda da tela do Visual Basic, logo abaixo da barra de ferramentas e possui os objetos gráficos (botões, caixas de texto, caixa de figura, etc...) disponíveis para serem utilizados dentro do projeto. O Visual Basic chama esses objetos de controles. O ambiente que você está utilizando pode apresentar mais figuras do que o mostrado abaixo. Isso deve-se ao fato de o Visual Basic ser um ambiente de programação aberto e extensível, ou seja, além dos controles disponíveis no Visual Basic, podemos adquirir outros controles fornecidos por outras empresas ou construir o nosso próprio controle.

Janela de Propriedades

As propriedades definem as características de cada objeto - controle da aplicação. O conjunto de propriedades depende do controle selecionado. Por exemplo, um formulário tem propriedades diferentes de uma figura. As propriedades podem ser alteradas em tempo de projeto ou de execução, sendo que algumas delas somente em tempo de execução. Para alterar o valor de uma propriedade em tempo de execução só por meio de programação a ser carregada através de um objeto, por exemplo, um botão ou assim que o programa for carregado, já em tempo de projeto, devemos:

  1. Selecionar o controle cuja propriedade deseja alterar;
  2. Rolar pela lista de propriedades até encontrar a propriedade desejada;
  3. Digitar o novo valor;
  4. Pressionar ENTER para confirmar a alteração efetuada.

Janela de Projetos

Essa janela possui uma lista dos arquivos que estão sendo utilizados dentro do programa que estamos desenvolvendo. Podemos ter arquivos com extensões "BAS", "FRM”, "VBP" e outros dentro dessa janela. O Visual Basic organiza os trabalhos por projeto, permitindo que cada projeto possa ter vários módulos.

Janela de Código

Essa janela contém a declaração de variáveis, constantes e rotinas. Na figura ao lado, podemos ver dois quadros combo, um contendo a lista de objetos dentro do nosso programa e o outro uma lista de eventos disponíveis para cada um dos objetos. Podemos observar na figura que o evento selecionado é o "Click" e o objeto é o formulário. O comando Beep na linguagem do Visual Basic gera um aviso originário do alto-falante do PC. Portanto cada vez que o usuário der um clique com o mouse no formulário o procedimento "Form_Click( )" será executado e gerará um "beep".

Funções e Sub-Rotinas

As funções (functions) e sub-rotinas (subs) são chamadas de procedimentos (procedures). Existem três tipos de procedimentos: 1.) do Visual Basic; 2.) associados aos eventos; 3.) criados pelo programador.

Os procedimentos do Visual Basic são, por exemplo, os métodos, as funções matemáticas, as funções manipuladoras de "Strings", etc. Os procedimentos associados aos eventos são aqueles procedimentos que são chamados em resposta a um evento. Adicionamos códigos a eles através da Janela de Código do formulário. Os procedimentos criados pelo programador são aquelas sub-rotinas e funções utilizadas para melhorar a estruturação do código. Podemos ter, por exemplo, uma função que abre um arquivo. Essa função trataria os possíveis erros e retornaria o número do arquivo aberto. Esse procedimento estaria declarado dentro do objeto " General " da Janela de Código de um formulário ou de um módulo. Dentro do Visual Basic, a diferença entre uma função e uma sub-rotina é que a função retorna um valor e a sub-rotina não.

Formulário

Essa é a janela do nosso aplicativo. Quando o usuário iniciar o programa, a mesma aparecerá. A janela possui os quadros minimizar, maximizar, fechar e menu de controle. É nessa janela que colocaremos os controles gráficos (botões, quadros de texto, etc.) e também o código associado a esses objetos. Para abrir uma janela de código, basta dar um duplo clique em cima do objeto do qual um evento deve ser tratado.

Esta segunda instrução faz a declaração da função Out, que se encontra
na biblioteca “inpout32.dll” sob o nome “Out32”.
Aqui também o underline (_) indica que o comando continua na linha de baixo. A
mesma instrução pode ser escrita em uma única linha, conforme abaixo:

Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer

Agora que terminamos a construção da interface gráfica, vamos para parte da
programação. Como é nosso primeiro projeto, vamos fazer juntos desde o início, para que o
formulário fique centralizado na tela do Windows, basta dar dois cliques no formulário e
colocar a seguinte linha de comando no evento Load, que quer dizer, ao carregar:
Private Sub Form_Load ( )
Top = (Screen.Height - Height) / 2
Left = (Screen.Width - Width) / 2
End Sub
Vamos ao funcionamento do nosso programa:
Quando um daqueles oito botões for pressionado, ira acender o led
correspondente ao seu numero, e ira aparecer na Label à seguinte frase:
O led “nº?” está aceso. O botão “apaga”, apaga todos os leds acesos, e o
botão “sair”, sai do programa.
Formulário pronto com todos os botões e a label.

Código fonte do programa acima:

Private Sub cmdapagar_Click() 'linha de código do botão apagar (evento Click) Out &H378, "&h" & 0 'envia para o endereço H378(porta paralela) 'o valor zero, que apaga todos os led's Label1.Caption = "" 'muda o valor da propriedade caption do objeto label 'para vazio End Sub ‘fim da linha de comando

Private Sub cmdsair_Click() 'linha de código do botão sair (evento Click) End 'comando simples para encerrar o programa End Sub ‘fim da linha de comando

Private Sub Command1_Click() 'linha de código do botão 1 (evento Click) Out &H378, "&h" & 1 'envia para o endereço H378(porta paralela) 'o valor 1 que acende o primeiro led Label1.Caption = "O led nº1 está aceso" 'muda o valor da propriedade 'caption do label1 para o texto entre aspas End Sub ‘fim da linha de comando

Private Sub Command2_Click() Out &H378, "&h" & 2 Label1.Caption = "O led nº2 está aceso" End Sub

Private Sub Command3_Click() Out &H378, "&h" & 4 Label1.Caption = "O led nº3 está aceso" End Sub

Private Sub Command4_Click() Out &H378, "&h" & 8 Label1.Caption = "O led nº4 está aceso" End Sub

Private Sub Command5_Click() Out &H378, "&h" & 10 Label1.Caption = "O led nº5 está aceso" End Sub

Private Sub Command6_Click() Out &H378, "&h" & 20 Label1.Caption = "O led nº6 está aceso" End Sub

Private Sub Command7_Click() Out &H378, "&h" & 40 Label1.Caption = "O led nº7 está aceso" End Sub

Private Sub Command8_Click() Out &H378, "&h" & 80 Label1.Caption = "O led nº8 está aceso" End Sub

Private Sub Form_Click() 'linha de código do formulário (evento Click) Beep 'comando que reproduz um som nos auto falantes. End Sub ‘fim da linha de comando

Private Sub Form_Load() 'linha de comando do formulário (evento Load) = ao carregar

Top = (Screen.Height - Height) / 2 'comandos que mandam o formulário para o Left = (Screen.Width - Width) / 2 'Centro do monitor ao carregar.

End Sub ‘fim da linha de comando

Observação: As informações que seguem, serão usadas apenas para possíveis consultas, pois para

satisfazer as necessidades das nossas aulas, o conteúdo descrito até aqui basta, as informações complementares serão passadas durante as aulas.

Menu Project

O menu Project contém itens que possibilitam a inserção de vários procedimentos, janelas, códigos, módulos, etc. em seus projetos. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:

Menu Format
Menu Debug
Menu Run
Menu Tools
Menu Add-Ins

O menu Add-Ins lhe permite acessar ferramentas separadas que podem ser incorporadas ao Visual Basic. Existem dois Add-Ins fornecidos com várias versões do Visual Basic. O Report Manager, que é representado pelo software da empresa Seagate Crystal Reports, atualmente na versão 7.0, é uma ferramenta completa para modificar e criar relatórios que você poderá utilizar em seu programa. A outra ferramenta inclusa é o Visual Data Manager, que é usado para gerenciamento de Banco de Dados. Utilize o Add-In Manager para adicionar e Remover Add-Ins do menu. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:

Menu Window

Esta janela contém informações sobre o projeto em uso. É nela que serão exibidos todos os projetos utilizados ao mesmo tempo, caso existam, ou o único projeto aberto. Abaixo do projeto, estarão definidos os nomes dos formulários em uso no projeto. Você notará que existem dois nomes independentemente do que estiver sendo exibido nesta janela. O primeiro nome é o nome lógico (nome dado ao objeto) e o segundo nome é o nome físico (nome dado ao arquivo), este estará sendo exibido sempre entre parênteses. Ainda nesta janela através dos ícones, temos a possibilidade de ir até a janela de código, (janela em que se programa as atividades para os objetos), voltar para o modo de exibição do formulário e também exibir os formulários em formato de pastas de um projeto.

Janela de Propriedades

É nesta janela que o programador altera as características originais dos objetos utilizados no(s) formulário(s) do programa. Quando se cria um objeto dentro do formulário, devemos selecioná-lo clicando apenas uma vez nele mesmo no formulário e depois clicar na janela de propriedades, onde serão isoladas apenas as propriedades do objeto selecionado. Então o programador irá alterar algumas das propriedades adequando assim o objeto a ficar com as características e aparência desejada. Esta mesma janela, possui uma caixa combo situada ao topo. Esta caixa contém o nome de todos os objetos utilizados no formulário em desenvolvimento. Esta é a outra forma do programador localizar e selecionar o objeto para trabalhar com suas propriedades sem ter que selecioná-lo no formulário.

Obs: As propriedades dos objetos também podem ser alteradas através de programação na janela de código, para que os objetos sofram as alterações no decorrer do programa, devido aos eventos em que foram programados.

Janela de Posicionamento do Formulário

É através desta janela que o programador posiciona o local em que o formulário aparecerá assim que o programa for executado. Outra maneira de fazer isto, é acessando a propriedade do formulário Startup Position e escolher a opção Center Screen , mas não será possível acessar esta propriedade, caso esteja sendo usado um formulário do tipo MDI. Então o posicionamento deverá ser feito através de programação ou por esta janela.

Como centralizar um formulário através de programação:

Private Sub Form_Load ( ) Top = (Screen.Height - Height) / 2 Left = (Screen.Width - Width) / 2 End Sub

Comandos mais Utilizados

Os comandos mais comumente utilizados no Visual Basic, estão descritos nos sub-ítens deste capítulo, são eles:

Comandos Objetivo
MsgBox (Caixa de Mensagem) Emitir um aviso ao usuário
InputBox (Caixa de Entrada) Pedir informação ao usuário
If...End If (Se...Fim) Fazer Perguntas ou Validações
Unload me - End (Encerrar) Fechar um Formulário ou Software
Comentários

Comentários são utilizados, como lembretes de informação junto à programação e são muito importantes porque poderão auxiliar na documentação do software.

Vamos detalhar os principais comandos:

MsgBox

Descrição

Exibe uma mensagem em uma caixa de diálogo, esperando pelo usuário clicar um botão, e retorna um valor indicando que o usuário clicou o botão.

Sintaxe

MsgBox (prompt [, buttons][, title][, helpfile, context])

A sintaxe do comando MsgBox tem estes argumentos: