COMUNICACAO PORTA PARALELA - USB

ANGELOAFFT 05/04/2012 08:07:27
#399172
Bom Dia! Comprei um cabo usb – paralelo do site Rogercom.com, e estou usando para receber dados 4 entradas e saída controlar 8 reles, minha dificuldade é: Não consigo identificar quem é quem nos sensores de entrada. O que é recebido é salvo em uma variável mas a única diferença é que o sensor 1 manda 256 e o dois 56 (estou sem o projeto comigo agora os valores não são bem esses), então o sensor 1 recebe 4 vezes o sinal e o 2 recebe 1 sinal. Minha dificuldade é: como identificar quando o sensor dois coincide com o um ele inicia uma contagem 1, 2, 3, 4, 1, 2, 3,4...
Como posso fazer isso?
INFOSISTEMAS 05/04/2012 11:44:09
#399205
Resposta escolhida
seja mas um pouquinho especifico na sua pergunta ? sobre a comunicação com a porta no propio site onde vc comprou o cabo tem muita coisa !
AJSO 05/04/2012 12:40:43
#399213
Caro ANGELOAFFT

Primeiro vamos identificar o tipo de circuito você esta usando.

Este cabo esta conectado a sua placa usando um chip FT232BM que é fabricado pela FTDI ou tem outra forma de utilizar o USB (Serial, Paralela)
Este circuito é microcontrolado PIC 16FXXX, 8051 ou 80XX, ATMEGA ou outros.

Tipo de linguagem que você esta usando para conectar esta interface (VB6, VB.Net, C#, C++, C, JAVA2EE, ASEMBLY, etc.....)
Como você esta utilizando a comunicação para comando Porta RS232 ou Porta RS485.
Seu sistema gera comando em HEXA DECIMAL ou BINÁRIO para ativar ou desativar chaves lógicas.

Qual exatamente foi o projeto que você adquiriu do ROGERCOM para identificar a forma de comunicação......

Nos informe mais sobre seu projeto para podermos ajudar melhor..............


Bos Sorte
ANGELOAFFT 06/04/2012 16:01:49
#399273
Boa Tarde! INFOSISTEMAS e AJSO
Estou usando Vb6, para comunicar com o micro estou usando um Buffer 74ls541. Junto com o cabo vem uma Dll para comunicação com o cabo e um exemplos.
O comando é Hexa, e para receber o sinal do sensor estou utilizando um rele. No caso do sensor 1 ele manda (248) e o sensor 2 (56) quando não tem sinal (120)
O codigo que recebe:
Dim Valor as String
Valor = LPT_ReadByte (hDiver, PP_STATUS)
O problema é que todos os sensores são recebido nesta variavel, e estou com dificuldade de criar um codigo para verificar quando recebe 248 e 56 [Ô]juntos[Ô] , dai iniciando uma contagem apenas no sensor 2. Exemplo 248 e 56 [Ô]juntos[Ô] então inicia uma contagem o 248 [Ô]junto[Ô] com o 56 é o primeiro o proximo 56 é o segundo até o quarto iniciando a contagem novamente sem usar o sinal do sensor 1.
AJSO 06/04/2012 23:53:46
#399289
Caro ANGELOAFFT

Pelo que entendi vc esta recebendo do um conjunto de 04 CI 74LS138 ligados em parale com com o CI74LS541

Nesta Configuração de seu schema eletronico da placa
Diagrama genérico do byte enviado através da Porta Paralela no endereço 378h ou 888d para controlar o circuito. Correto

Representação neste schema do CI74LS541

D0=> Seleciona Saida
D1=> Seleciona Saida
D2=> Seleciona Saida

D3= Ativar/Desativar Saida

D4= Seleciona CI 74LS138 de numero 04
D5= Seleciona CI 74LS138 de numero 02
D6= Seleciona CI 74LS138 de numero 03
D7= Seleciona CI 74LS138 de numero 04

Este é o modelo eletrico de comunicação do CI 74LS541 para controle de até 32 equipamento.

O problema de ser em HEX o sinal é que ele só pode receber Binário 0 e 1 para montar seu comando de abrir e fechar porta do CI

Nesse modelo a forma de envio do comando do CI74LS541 seria:

D7 D6 D5 D4 D3 D2 D1 D0
1 1 1 0 0 1 1 0

este é a forma do CI74LS541 estar conectado pela USB SERIAL PARALELA receber um comando e interpretar por binário (00000000)

Este código é puro mas pode ser outra forma pelo controle MSComm32.ocx

Boa Sorte.
ANGELOAFFT 07/04/2012 11:10:44
#399297
Bom dia!
NA verdade estou trabalhando com dois Buffer 74ls541, um na entrada e um na saida.
O problema é que todos os sensores são recebido nesta variavel, e estou com dificuldade de criar um codigo para verificar quando recebe 248 e 56 [Ô]juntos[Ô] , dai iniciando uma contagem apenas no sensor 2. Exemplo 248 e 56 [Ô]juntos[Ô] então inicia uma contagem o 248 [Ô]junto[Ô] com o 56 é o primeiro o proximo 56 é o segundo até o quarto iniciando a contagem novamente sem usar o sinal do sensor 1.
Como posso fazer isso no vb6 :
Dim Valor as String
Valor = LPT_ReadByte (hDiver, PP_STATUS)
agora como tratar esses valores recebidos?
ANGELOAFFT 08/04/2012 13:25:08
#399317
Boa Tarde! problema solucionado, do sensor 2 recebo 4 sinais e 1 do sensor 1, o do sensor é para saber quem é o primeiro dos quatros do sensor 2 então vou tirar um do 2 vai ficar 3 sinais sendo primeiro do sensor 1= 56 248 248248, 56 248 ....
Obrigado a todos.
Tópico encerrado , respostas não são mais permitidas