INÍCIO > Fórum > controladores SlimLine e Netsyst (LogicLab) > Gerenciar uma exibição alfanumérica com um módulo SlimLine
- Este tópico tem 30 respostas, 1 participante e foi atualizado pela última vez 4 anos, 2 meses atrás da Sergio Bertana.
-
autorPublique
-
Julho 8, 2013 em 8: 49 am #35379Anônimoinativo
Gostaria de saber se nos sistemas SlimLine mesmo o mais barato pode ser conectado e gerenciado via software no barramento de expansão I2C um display, por exemplo, 2 linhas x 16 caracteres, para visualizar os dados.
Julho 8, 2013 em 9: 24 am #37680Sergio BertanaAdministrador do fórumSim, com certeza todos os modelos de CPU SlimLine mesmo os modelos Compact (versões expansíveis) podem ser conectados a um display LCD com interface I2C. Buscando entre os diversos distribuidores de material eletrônico encontrei por exemplo o modelo BTHQ 21605V da BATRON (RS-Componentes código 743-6134), ou o modelo MCCOG21605C6W (Veja a folha de dados) do MIDAS (Farnell Code 2063203). Criamos uma função específica para gerenciamento SysI2CWrRd que permite que você gerencie o acesso de leitura e gravação de qualquer dispositivo I2C conectado ao barramento. Usando esta função é possível fazer o display coexistir sem problemas com nossos módulos de extensão. Claro que você terá que escrever um FB especial que, usando a função, inicializa o display e gerencia a escrita dos textos, talvez fornecendo como entrada do FB uma string de 32 caracteres que será transferida nas duas linhas de 16 caracteres do display. extrair sua fonte de alimentação diretamente do conector de extensão do módulo SlimLine. Para obter mais informações sobre como conectar a tela ao conector de expansão do módulo da CPU, consulte Manual de referência de hardware.
Setembro 3, 2013 em 12: 04 pm #37750AnônimoinativoTambém estou interessado na realização do projeto com display I2C. Pergunto se você avançou no projeto de realização do FB. Olá bom trabalho ...
Setembro 4, 2013 em 3: 08 pm #37751Sergio BertanaAdministrador do fórumEstimulado pelos pedidos aqui estou com um FB que gerencia a escrita em uma tela MC21605GL6W-SPI da Midas comprada da Farnell (Code 221-8947) da qual eu anexo o folha de dados. Liguei a tela ao barramento de extensão de um Módulo compacto da CPU ARM7 (Ver fotos), usando o seguinte esquema elétricoComo pode ser visto no programa (imprensa e Baixar), o bloco de função MC21605LCDMng gerencia o display conectado ao barramento, é necessário indicar o endereço I2C do display e o endereço do string a ser mostrado. Os primeiros 16 caracteres da string serão mostrados na linha superior do visor, enquanto os segundos 16 na linha inferior. Ao ativar a variável Escreva a string é transferida para o display. O FB é executado pelo programa ladder e o comando Write é ativado na borda positiva de SysClock1000, então a exibição é atualizada a cada segundo. O comando Escreva deve ser usado para sincronizar a atualização do display quando a string a ser exibida é alterada, como o display é atualizado ciclicamente um caractere em um loop de programa se a string muda enquanto o display é atualizado Eu corro o risco de exibir uma mensagem um pedaço dos dados antigos e um pedaço dos novos dados. O programa pode ser modificado para gerenciar exibições diferentes da que escolhi, talvez com um número maior de linhas e colunas.
Setembro 5, 2013 em 8: 45 am #37753AnônimoinativoBom trabalho ... só falta tentar ...
Setembro 24, 2013 em 8: 02 pm #37792AnônimoinativoOlá Bertaser, finalmente consegui o display Midas para o teste SlimLine com 2 × 16 LCD. Fiz o circuito conforme descrito na sua mensagem, baixei o programa, mas no começo eu só vejo todos os quadrados que formam os personagens, mudando o contraste muda o brilho dos quadrados.
Em seu diagrama você reporta aos pinos 7 e 8 do display SA0, SA1 Address Setting, coloquei um dip-sw para facilitar a inserção. no programa como endereço I2C você coloca 16 # 3C, pergunto onde encontro a tabela que especifica os endereços, não consigo encontrar na folha de dados.
Acho que é um problema de endereço, pois o resto deve ficar bem, o display é um MIDAS MC21605GL6W-SPTYI ligado SlimLine não me parece que haja configurações de hardware para ativar o I2C. Eu tenho SlimLine Versão do cartão OEM com I2C.
Desde já agradeço, aguardo sua resposta entretanto prossigo com as tentativas ...
Setembro 25, 2013 em 7: 02 am #37793AnônimoinativoProblema no LCD resolvido, foi um mau contato no cabo plano que conecta o monitor e SlimLine, um dos conectores estava com defeito. Resta saber como exibir as variáveis, como o valor do analógico ”ou o status dos temporizadores.
É melhor arrumar a fiação e possivelmente colocar uma foto.
Setembro 25, 2013 em 1: 08 pm #37794Sergio BertanaAdministrador do fórumFico feliz que a exibição funcione, você pode usar a função para exibir as variáveis SysVarsnprintf, impressão de variável em string, você compõe uma string com o texto e o valor das variáveis e depois a transfere para o display. Em relação ao endereçamento do display no barramento I2C, referi-me à ficha de dados onde está reportado.
Four 7-bit slave addresses (0111100, 0111101, 0111110 and 0111111) are reserved for the Controller. The least significant bit of the slave address is set by connecting the input SA0 (DB0) and SA1 (DB1) to either logic 0 (VSS) or logic 1 (VDD).
No meu circuito, ambos os sinais SA0 e SA1 estão conectados ao VSS, então o endereço é 16 # 3C.
Setembro 25, 2013 em 8: 29 pm #37797AnônimoinativoQuanto à função SysVarsnprintf Eu deveria ver na tela, o valor das entradas analógicas em volts, use as variáveis 2 REAL Volt_1 e Volt_2 provenientes de SysGetAnInp. Você tem algum exemplo de usar o SysVarsnprintf para converter e os valores REAL da string analog para serem enviados para a tela?
Fiz algumas tentativas de leitura de posts no fórum e no manual mas com "resultados ruins", então .. colocamos o programa disponível para download. Obrigado e deixo o cartão conectado para tentar ...
Setembro 26, 2013 em 12: 23 pm #37798Sergio BertanaAdministrador do fórumEntre os vários posts do fórum existem certamente alguns exemplos de uso da função SysVarsnprintfEm qualquer caso, aqui estão duas maneiras de exibir as variáveis REAL no visor. A variável LCDMessage do tipo STRING é mostrado no visor.
(* Real 1: xxx.xxx *)
(* Real 2: xx.x *)i: = SysVarsnprintf (ADR (LCDMessage), 16 + 1, 'Real 1:% 7.3f', REAL_TYPE, ADR (RVar [0]));
i: = SysVarsnprintf (ADR (LCDMessage) +16, 16 + 1, 'Real 2:% 4.1f', REAL_TYPE, ADR (RVar [1]));Como você pode ver, a primeira chamada para a função escreve o texto seguido pelo valor da variável RVAR [0] em dígitos inteiros 3 e dígitos decimais 3. A segunda chamada para a função escreve o texto seguido pelo valor da variável RVAR [1] em 2 inteiros e 1 dígito decimal. Ainda uso a pergunta para postar um programa (imprensa, Fonte Download), que exibe 2 mensagens diferentes ciclicamente (a cada 3 segundos):
Uma mensagem somente de texto.
Uma mensagem com as variáveis 2 REAL.
Uma mensagem com o valor de data e hora.Setembro 27, 2013 em 9: 42 am #37801AnônimoinativoObrigado e prossiga com os "testes". Eu diria que o display I2C é uma solução válida e econômica para exibir variáveis de processo e textos. Até a próxima ...
Outubro 7, 2013 em 1: 48 pm #37825AndreaparticipanteComprei este monitor por engano Farnell Código 2063203 em vez deste Farnell Código 2218947, mas agora estou com um problema com o diagrama de fiação, não tenho CSB ou SA0 e SA1 ... Existe alguma solução para usar isto ou tenho que comprar o correto ...
Outubro 7, 2013 em 2: 13 pm #37826Sergio BertanaAdministrador do fórumEu vi a folha de dados do monitor que você comprou e no nível de conexões elétricas não há problemas, conecte apenas os dois sinais SCL e SDA, mantenha o pino RESET do monitor em + 5VDC.
Não vi se todos os comandos I2C são exatamente iguais ao display que usei para os testes, mas geralmente as sequências de software para o gerenciamento são as mesmas para todos os displays. As sequências que utilizo são as mesmas que utilizo em outros equipamentos onde está montado um display com interface paralela.
Preste atenção ao endereço do display a ser dado ao bloco de função, como você pode ver na folha de dados do display Slaver address could only set to 0111110, no other slaver address could be set. Portanto, o endereço a ser usado é 16 # 37. Claro que, ao contrário do outro display que tinha a possibilidade de definir o endereço e, portanto, mais displays (até 4) poderiam compartilhar o barramento I2C, com este display você pode conectar apenas um.
Outubro 7, 2013 em 2: 38 pm #37827AndreaparticipanteMuito obrigado, você é sempre rápido e preciso nas suas respostas ... Procuro conectar e te avisar ...
Outubro 7, 2013 em 3: 05 pm #37828Sergio BertanaAdministrador do fórumSe houver um moderador gratuito, tentamos responder rapidamente, muitas vezes estamos envolvidos em trabalho externo e / ou assistência remota via TeamViewer e não temos tempo para responder.
-
autorPublique
- Você deve estar logado para responder a este tópico.