Toda geração ouve a mesma coisa da geração anterior: “Você não sabe a sorte que tem”. O chão de fábrica não é diferente. A tarefa aparentemente simples de passar caracteres entre dois dispositivos elétricos foi um verdadeiro desafio nos primeiros tempos. Não havia uma maneira padrão de um teclado, impressora, leitor de código de barras ou monitor codificar e decodificar facilmente caracteres imprimíveis. E então, alguém teve uma ótima ideia
Foi em 1961 quando um grupo de engenheiros de camisa branca e gravata preta da IBM liderou o esforço do American National Standards Institute (ANSI) para desenvolver uma única maneira comum de trocar números entre computadores. Antes disso, era uma bagunça. Diferentes fornecedores não apenas representavam letras e números de maneira diferente em seus computadores, mas também usavam diferentes números de bits. Muitos fornecedores usavam 6 bits (apenas 64 combinações diferentes!).
Os caras da IBM convenceram a todos de que todos os computadores deveriam representar letras, números e caracteres especiais da mesma maneira. Seu esforço levou ao Código Padrão Americano para Intercâmbio de Informações, ou ASCII (pronuncia-se AS-kee).
Em 1968, o presidente Lyndon Johnson assinou um memorando adotando o ASCII como padrão para computadores federais, mas não foi até a Intel inventar os microprocessadores de oito bits no início dos anos 1970 que oito bits e ASCII se tornaram comuns. No final daquela década, os computadores IBM 360 (que todas as empresas da Fortune 500 usavam) empregavam um antigo padrão chamado EBCDIC (Extended Binary Coded Decimal Interchange Code), que foi finalmente aposentado com a introdução do computador pessoal em 1981.
ASCII é 128 caracteres especificados que são categorizados em números inteiros de sete bits que definem uma codificação padrão para caracteres de letras, números e símbolos.
ASCII era a tecnologia usada em quase todos os periféricos de PC. Também se tornou o padrão do governo dos Estados Unidos em 1968. Comandos simples e estruturas de resposta foram usadas para criar protocolos de controle personalizados.
Aqui estão alguns exemplos de strings de Comando (CMD)/Resposta (RSP).
CMD: Pega tudo?
RSP: 79.8,44.3,186_c,ON,Error2
CMD: ACQ?
RSP: ACQ:ENZERO=5,VMIN=6,AVG=8,99
CMD: ACQ?ENZERO,VMIN
RSP: ACQ:ENZERO=5,VMIN=6
Agora que sabemos o que é ASCII e quais dispositivos utilizam a codificação de caracteres de 7 bits, vamos falar sobre as duas camadas físicas mais comuns usadas para passar mensagens ASCII.
Durante a maior parte de sua vida, a comunicação ASCII ocorreu em uma camada física serial. Freqüentemente, essa camada física era RS-232, onde os caracteres ASCII eram convertidos em bits binários e transmitidos por uma tensão de sinal de +/- 3-13 VDC. A principal limitação era que os dispositivos precisavam estar próximos e a maior parte da comunicação era de 1 para 1. Isso forçou os primeiros PCs e PLCs a terem muitas portas seriais. Os PLCs, como os PCs, eliminaram em grande parte as portas seriais nativas hoje.
Ethernet TCP/IP é mais confiável com suas execuções mais longas do que sua contraparte serial. Os dispositivos seriais que utilizam mensagens ASCII foram os primeiros a trocar as camadas físicas. A mesma carga útil de dados ASCII foi colocada dentro de um pacote TCP/IP padrão. Isso oferece o benefício adicional de uma rede que suporta vários nós.
ASCII ainda está ao nosso redor em dispositivos RFID, scanners de código de barras e impressoras. Caramba, é até usado em estações meteorológicas para enviar dados. É o único formato de dados que pode ser universalmente decodificado por qualquer computador do planeta. ASCII era a codificação mais comum usada na Internet até ser substituída pelo Unicode no início dos anos 2000. O ASCII formou a base do Unicode e, portanto, foi incluído em seu conjunto, bem como em seu sucessor, UTF-8, e nas codificações padrão criadas hoje.
Se você é um aficionado por ASCII, não se preocupe. Mesmo depois de 75 anos, o ASCII não vai desaparecer. As strings continuarão a se mover entre todos os tipos de dispositivos: controladores, impressoras, etiquetadoras, leitores de código de barras, aplicativos corporativos, servidores em nuvem e muito mais. Enquanto precisarmos mover strings pelo chão de fábrica, enquanto as pessoas precisarem de informações sobre o tipo de string para se comunicar, enquanto os leitores de código de barras lerem códigos de barras e as impressoras imprimirem strings, sempre teremos ASCII.
A pergunta pertinente para todos nós é: como vamos mover esses dados ASCII no futuro? No passado, usávamos RS-232 e RS-485, às vezes com protocolos como Modbus, para mover dados para PLCs. Essas tecnologias funcionavam, mas eram lentas e pouco confiáveis. Hoje, substituímos muito disso por USB. O envio de dados ASCII para PLCs via USB tornou-se a maneira padrão de códigos de barras entrarem em PLCs. O USB é mais rápido que as tecnologias seriais, mais confiável e mais barato. No entanto, o USB é limitado por questões de distância e conectividade inerentes à tecnologia.
A melhor escolha, é claro, é Ethernet. Ethernet é a camada física padrão para o chão de fábrica. Tudo e qualquer coisa no chão de fábrica terá Ethernet no futuro, até mesmo sensores. Observe que o uso de Ethernet e TCP/IP requer a implementação de algum tipo de camada de aplicativo para mover dados ASCII.
Ao se deparar com um dispositivo que utiliza comandos ASCII para operar, é vantajoso ter ferramentas que permitam visualizar os comandos no fio. Para ASCII over Ethernet, nossa equipe usa SocketTest . Para ASCII baseado em série, recomendamos MTTTY . Ter essas duas ferramentas à mão pode ser útil no campo para ajudar a resolver algumas dores de cabeça. O melhor de tudo, eles são gratuitos.
INOVEX DIGITAL. Todos os direitos reservados.