HPR4728: Controles Lógicos Programáveis - Episódio 3

Por Whiskeyjack16/09/2026 às 00:00290 visualizações
Foto: CC BY-SA / Hacker Public Radio
🎙 Whiskeyjack · Hacker Public Radio

Este programa foi marcado como "Limpo" pelo anfitrião.

--------------------

01 Introdução

Este é o terceiro episódio de uma série de 8 partes.

02

No episódio anterior, cobrimos:

* A história inicial dos computadores no controle industrial

* A história inicial dos PLCs, incluindo como eles ganharam seu nome

* Quem são as principais marcas

* Como eles são fisicamente.

Uma descrição básica da arquitetura da máquina abstrata.

Uma breve olhada no que é um programa de PLC.

O conceito de varredura.

As principais linguagens de programação de PLC.

As linguagens de programação de PLC secundárias.

A popularidade relativa de cada uma das linguagens de programação.

03

Neste episódio, começaremos analisando um dos primeiros PLCs da era em que eles começaram a ser amplamente utilizados.

Eu nem vou tentar ser abrangente, apenas fornecerei uma visão geral ampla no tempo limitado que tenho aqui.

Comecei com um modelo mais antigo porque sua simplicidade e recursos limitados permitem uma introdução mais fácil ao tema.

--------------------

04 Allen Bradley PLC/2

O Allen Bradley PLC/2 foi lançado no mercado em 1977.

Não foi sua primeira incursão nesse campo, mas foi a primeira realmente bem-sucedida.

Não tenho conhecimento de um histórico abrangente de sua linha de produtos inicial, mas um de seus modelos de venda inicial mais importantes foi o PLC2/30.

Isso também é conhecido como sua série 1771.

--------------------

05 Layout Físico

O módulo CPU era uma grande caixa de metal que ficava ao lado da prateleira de entrada/saída e era conectada a ela por um cabo.

A prateleira de entrada/saída (I/O) era uma caixa com frente aberta e uma série de ranhuras nas quais podiam ser encaixadas caixas altas e estreitas contendo os módulos de I/O.

06

Um backplane atravessava a parte de trás, conectando os módulos de I/O ao processador central (CPU).

Vários racks podiam ser conectados entre si por meio de cabos.

Para o PLC2/30, era possível ter um máximo de 896 pontos de entrada/saída digital.

07

Os racks tinham 315 mm de altura e entre 247 mm e 610 mm de largura, estando disponíveis em modelos com 4, 8, 12 e 16 slots.

O CPU tinha a mesma altura do rack e um formato aproximadamente quadrado.

08

À medida que a microeletrônica avançava, o módulo CPU era capaz de ser reduzido de tamanho, cabendo em uma ranhura do rack, o que se tornou o padrão para PLCs.

--------------------

09 Os componentes eletrônicos internos

Os primeiros modelos de PLC/2s utilizavam algum tipo de processador de 8 bits, algumas fontes dizem que era um Intel 8080.

10

Eles também utilizavam quatro processadores AMD 2900 bit slice como co-processadores lógicos.

Se você não está familiarizado com processadores bit slice, esses são chips que são como uma fatia vertical de 4 bits de um processador, e podem ser unidos com chips lógicos para formar um CPU completo.

Esses são os que foram usados para construir minicomputadores.

11

Eles eram usados como co-processadores nos primeiros PLCs porque microprocessadores por si só eram simplesmente muito lentos para lidar com a execução do programa do usuário rapidamente o suficiente para permitir um tamanho de programa útil.

Um ou mais microprocessadores também eram usados para coordenar a operação geral e a gestão do sistema.

12

À medida que os microprocessadores se tornavam mais rápidos e poderosos, a necessidade de co-processadores lógicos diminuiu e eles acabaram sendo descartados.

As primeiras versões usavam memória de núcleo magnético.

Mais tarde, eles mudaram para algum tipo de RAM de estado sólido, provavelmente RAM estática de algum tipo.

13

Detalhes sobre o tipo de processadores dentro de qualquer PLC são, na verdade, muito difíceis de encontrar, pois os fabricantes geralmente não falam sobre esse tipo de coisa.

Eles desejam que o usuário veja isso como apenas uma caixa preta.

--------------------

14 - Tabela de Dados

Do ponto de vista de um programador, a coisa mais importante a se entender primeiro é a tabela de dados.

A tabela de dados é a memória de dados do PLC.

15

Para um PLC2, isso é um array de palavras de 16 bits.

Cada palavra consiste em dois bytes de 8 bits.

Endereçamento tanto para bits e palavras é em octal.

16

Para aqueles que não estão familiarizados com eles, números octais seguem um sistema de contagem que vai de 0 a 7.

O próximo número após 7 é 10.

A contagem prossegue então de 11, 12, 13, etc., até 17, 20, 21, etc.

Cada dígito octal leva exatamente 3 bits.

17

Bits individuais na notação PLC2 podem ser endereçados especificando a palavra seguida por uma barra, e então o bit.

Por exemplo, 030/12 é o 12º bit na palavra 030. Lembre-se de que isso é octal, então 12 não é o 12º bit se você estiver contando em decimal.

18 Organização da Memória

No PLC2/30, a tabela de dados tem a seguinte organização.

19

Os endereços de palavras 000 a 007 são o número 1 da Área de Trabalho do Processador.

Isso não é acessível pelo usuário.

20

Os endereços de palavras 010 até 100, mas não incluindo 100, são a Tabela de Imagem de Saída.

Esta é uma imagem mapeada na memória das saídas de I/O.

De 010 a 077 é para Prateleira 1.

De 020 a 027 é para Prateleira 2.

Este padrão continua até a Prateleira 7, que é de 070 a 077.

21

Os endereços de palavras de 100 a 107 são o número 2 da Área de Trabalho do Processador.

Isso também não é acessível pelo usuário.

22

Os endereços de palavras de 110 até 200 não incluem a Tabela de Imagem de Entrada.

Esta é uma imagem mapeada na memória dos inputs/saídas.

Está organizada da mesma forma que a Tabela de Imagem de Saída, e vai de 110 a 177.

De 110 a 117 é para a Prateleira 1.

De 120 a 127 é para a Prateleira 2.

Este padrão continua até a Prateleira 7, que é de 170 a 177.

23

Você notarás que a tabela de saída de imagem e a tabela de entrada de imagem parecem se referir aos mesmos slots de rack.

Elas realmente fazem isso.

Quanto a qual endereço um slot específico em um rack específico mapeia depende se há um cartão de entrada ou um cartão de saída naquele slot.

24

Os endereços de 200 a 277 são para valores acumulados do Timer/Contador.

Um valor acumulado é o tempo ou contagem atual.

25

Os endereços de 300 a 377 são para valores pré-definidos do Timer/Contador.

Um valor pré-definido é o tempo ou contagem-alvo que, quando atingido, faz com que o temporizador ou contador indique que atingiu o valor desejado.

26

A memória acima de 400 pode ser configurada para dividi-la em uma área de armazenamento de dados e área de programa do usuário.

A área de armazenamento de dados é onde você armazenaria os dados que seu programa precisa usar, que não fazem parte da entrada/saída (E/S) ou dos contadores.

Você precisa encontrar o equilíbrio correto entre os dados do usuário e o tamanho do programa.

27

Existem várias coisas que podem ser alteradas e configuradas em relação ao acima, mas eu não vou cobrir isso em profundidade, pois isso não é um tutorial sobre o PLC2.

=

No entanto, você deve ter uma ideia bastante boa da memória de um modelo inicial de PLC.

As coisas a entender são que as E/S são mapeadas para endereços de memória, e

diferentes intervalos de memória são usados para diferentes propósitos.

28

Toda a gestão de memória era manual.

Era responsabilidade do usuário acompanhar quais endereços de memória seriam usados para quais propósitos.

Allen Bradley forneceu generosamente formulários em papel que você poderia copiar, os quais poderia usar para planejar e documentar para que cada endereço seria usado.

Parte do trabalho do programador era fazer uso eficiente e lógico da memória, ao mesmo tempo deixando espaço para mudanças futuras.

--------------------

O Programa do Usuário

O programa do usuário é composto de instruções.

Cada instrução normalmente ocupa uma palavra de memória.

No entanto, instruções complexas podem ocupar até 8 palavras de memória.

30

Existe um programa principal.

Você pode pensar nisso como a função "main" em C.

Se você não achar essa analogia útil, então pense nisso como o ponto de partida do seu programa.

O programa principal continua com um degrau de cada vez até alcançar a declaração "END".

31

Também há uma área de subrotina.

O programa principal chama uma subrotina usando uma instrução "Jump to Subroutine" (JSR).

Terminal de Programação T3.

Quando o PLC2 foi lançado, coisas como laptops ainda estavam muito distantes no futuro.

Mesmo o primeiro PC Compaq Portátil no estilo de mala ainda estava anos longe.

De fato, o primeiro PLC/2 foi lançado logo após o primeiro kit PC Altair.

33

Inicialmente, a programação era feita utilizando um terminal de programação especial conhecido como T3.

O T3 era uma caixa do tamanho de uma mala com uma pequena tela CRT no final e um teclado conectado abaixo da tela.

Se isso soa como os primeiros PCs portáteis, lembre-se de que isso, na verdade, os precedeu por vários anos.

34

O teclado não era um tipo de máquina de escrever ou estilo QWERTY.

Ele tinha um teclado de membrana com símbolos gráficos.

Lembre-se do episódio anterior sobre diagramas de controle usando relés e como esses foram documentados usando símbolos esquemáticos em desenhos.

O teclado do terminal T3 tinha símbolos correspondentes a uma versão simplificada e modificada dos símbolos usados nesses desenhos esquemáticos.

35

Quando um programador pressionava um desses símbolos no teclado, o símbolo correspondente aparecia na tela na localização atual do cursor.

O programador poderia, então, inserir o endereço de dados ao qual o símbolo deveria corresponder utilizando a parte numérica do teclado.

36

Um engenheiro, técnico ou eletricista poderia, portanto, criar e inserir programas usando um ambiente totalmente gráfico que utilizava seu conhecimento prévio de controle utilizando componentes de hardware.

Eles não viam isso como programar um computador, viam como algo completamente diferente e não relacionado a computadores.

37

A programação ocorria com o T3 conectado ao PLC enquanto o PLC estava no modo de programa.

As instruções eram inseridas diretamente do terminal para a memória do PLC.

Os programas poderiam ser salvos ou restaurados para fita cassete.

O programa seria executado quando o PLC fosse definido para modo de execução.

38

Além disso, o terminal T3 permitia depuração online dos programas.

Quando o T3 era conectado em modo de execução, o diagrama de escada seria atualizado em tempo real.

Quando uma condição lógica era verdadeira, ela seria destacada.

Quando a condição lógica era falsa, seria exibida em um estado não destacado.

39

Ao observar uma etapa específica, você poderia ver se a série gráfica de instruções esperadas estava todas destacadas em um padrão que resultaria na saída final da etapa sendo verdadeira ou falsa, conforme o esperado.

Isso foi uma ferramenta de solução de problemas inestimável para encontrar tanto bugs de software quanto falhas de hardware.

Terminais de programação se tornaram uma parte indispensável do equipamento essencial de um eletricista de manutenção industrial.

40

Eventualmente, à medida que computadores portáteis e, mais tarde, laptops se tornaram disponíveis, o T3 se tornou obsoleto e essas funções foram transferidas para softwares que rodam em PCs padrão.

No entanto, eles ainda funcionam basicamente da mesma maneira.

Capacidades adicionais foram adicionadas, como a capacidade de escrever programas sem estar conectado ao PLC.

Etiquetas descritivas e comentários poderiam ser adicionados aos endereços de memória para documentá-los e facilitar a leitura do programa.

Referências cruzadas tornariam mais fácil encontrar quais endereços foram usados para o que.

etc.

--------------------

41 Instruções

Agora vou listar os tipos de instruções que estavam disponíveis para uso.

Não vou tentar explicar tudo, mas isso deve, pelo menos, dar a você uma ideia vaga de como esses programas eram escritos.

Usarei os nomes de Allen Bradley para esses, o que devo enfatizar não corresponde ao que outros fabricantes chamam de nomes.

Instruções de tipo de relé 42

Estas são instruções booleanas e consistem no seguinte.

Instruções de entrada 43

Estas examinam bits na memória e produzem um estado lógico dependendo do valor do bit que elas abordam.

Instruções de entrada começam à esquerda do estágio e avançam para a direita à medida que mais são adicionadas.

Examinar ligado - Isso é verdadeiro quando o bit abordado está definido como 1.

Examinar desligado - Isso é verdadeiro quando o bit abordado está definido como 0.

Instruções de saída 44

Esses bits de ativação ligam ou desligam dependendo da soma das condições de lógica booleana que os precedem.

As instruções de saída estão à direita do degrau.

Deve haver pelo menos uma instrução de saída.

Saída Energize - Quando as condições de lógica que a precedem são verdadeiras, define um bit como 1.

Quando as condições de lógica que a precedem são falsas, define um bit como 0.

45

Saída Latch - Quando é verdadeira, liga o bit.

Quando é falsa, não faz nada.

Saída Unlatch - Quando é verdadeira, desliga o bit.

Quando falso, não faz nada.

46 Instruções de Ramificação

Elas não fazem nada por si só, mas criam conexões de fiação no diagrama.

Elas são importantes para permitir que as instruções listadas acima sejam colocadas em paralelo na mesma fase, de modo que possam fazer coisas como especificar condições OR.

Você pode pensar nelas como essencialmente transformando um exame ON/OFF em uma instrução OR ou OR NÃO.

--------------------

47 Instruções de Temporizador e Contador

Temporizadores e contadores são, como o nome implica, instruções que realizam operações de temporização e contagem.

Elas possuem valores pré-definidos e acumulados separados.

Elas são um tipo de instrução de saída, pois residem no lado direito do degrau da escada e seu funcionamento depende do estado da lógica do degrau à sua esquerda.

48

Os temporizadores e contadores funcionam em Decimal Codificado Binário, ou BCD.

Cada valor BCD ocupa 4 bits de memória.

No entanto, diferentemente do hexadecimal, apenas valores de 0 a 9 são válidos.

O que seria valores de A a F no hexadecimal não são valores válidos no BCD.

49

Os valores pré-definidos e acumulados são armazenados em palavras de 16 bits. Os primeiros 12 bits são usados para armazenar até 3 dígitos BCD.

Os 4 bits mais altos restantes são usados para armazenar bits de status de instrução, como se o temporizador ou contador estiver concluído e várias outras funcionalidades.

50 Temporizadores

A base de tempo do temporizador corresponde à resolução do temporizador.

As bases de tempo são 1,0 segundo, 0,1 segundos e 0,01 segundos.

Assim, um temporizador com base de tempo de 1 segundo pode cronometrar de 0 a 999 segundos com uma resolução de um segundo.

Um temporizador com base de tempo de 0,1 segundo pode cronometrar de 0 a 99,9 segundos com uma resolução de 0,1 segundos.

51

Existem três tipos de temporizador,

Temporizador de Atraso Ligado (ou TON),

Temporizador de Atraso Desligado (ou TOF),

Temporizador Retentivo (ou RTO).

52

Os temporizadores de atraso contam o tempo enquanto a condição de acionamento for verdadeira e são reiniciados quando ela se torna falsa.

Os temporizadores de atraso desligados contam o tempo após a condição de acionamento se tornar falsa e são reiniciados quando ela se torna verdadeira.

Os temporizadores retentivos são semelhantes aos temporizadores de atraso, mas retêm seu valor acumulado até serem reiniciados pela instrução de reinício do temporizador retentivo (RTR).

Geralmente, você inicia um temporizador e, em seguida, monitora seu bit "concluído" em outro lugar da lógica.

53 Contadores

Os contadores contam eventos.

Eles vêm nas seguintes variedades.

54

Contador ascendente (ou CTU).

Contador de descida (ou CTD)

Reiniciar contador (ou CTR)

Contador de varredura (ou SCT)

55

Contadores para cima contam de zero para cima, e contadores para baixo contam de um valor pré-definido para baixo.

O contador de varredura conta o número de varreduras do programa.

Isso não é algo que você normalmente encontraria uma aplicação, embora possa usá-lo, por exemplo, para calcular o tempo de varredura.

--------------------

56 Instruções de Manipulação de Dados

Instruções de manipulação de dados são usadas para ler, escrever e comparar dados de byte e palavra.

As operações ocorrem quando o rung é verdadeiro.

57

O GET lê uma palavra de 16 bits de um local de memória.

O PUT escreve uma palavra de 16 bits em um local de memória.

O LES é resolvido como verdadeiro se o valor lido pela instrução GET for menor que um valor especificado.

O EQU é resolvido como verdadeiro se o valor lido pela instrução GET for igual a um valor especificado.

58

As instruções LES e EQU podem ser combinadas de várias maneiras entre si e com o GET para fornecer todas as permutações de comparação possíveis, como maior que, menor que ou igual a, etc.

59

O GET BYTE lê um byte de 8 bits de um local de memória.

O TESTE LIMIT é resolvido como verdadeiro se um valor de byte estiver entre os limites armazenados nos bytes superior e inferior de uma palavra.

O teste de limite é usado em combinação com GET BYTE.

--------------------

60 Instruções Aritméticas

As instruções aritméticas também operam em valores de palavra BCD.

As operações ocorrem quando o rung se torna verdadeiro.

O byte mais alto é usado para indicar coisas como overflow ou underflow aritmético.

Isso inclui:

61

Adição

Subtração

Multiplique

Divida

Converta BCD para Binário

Converta Binário para BCD

--------------------

62 Instruções de Transferência de Bloco

Instruções de Transferência de Bloco são instruções de saída usadas para transferir até 64 palavras de 16 bits de dados entre a tabela de dados e os módulos de E/S.

Essas são usadas com E/S inteligentes que trabalham com palavras, não com bits individuais.

63

Exemplos desses são coisas como

Entrada/Saída analógica que lê e escreve tensões variáveis, em vez de apenas ligar ou desligar.

PID que lida com o controle de loop fechado de coisas como temperatura.

Termopares que leem temperaturas.

Controle de motor servo que comanda as posições de motores servo.

Controle de motor passo a passo.

Codificadores de posição.

64

Não vou entrar em detalhes sobre transferências de blocos, mas isso deve ser suficiente para dar a você uma ideia geral de como o PLC poderia lidar com esse tipo de equipamento, em oposição aos estados simples de ligar/desligar dos módulos digitais.

Claramente, esses podem ser usados em combinação com GET, PUT e outras instruções de manipulação de dados que podem ler e escrever locais de memória.

--------------------

65 Instruções de Salto e Programação de Subrotina

Incluem as seguintes instruções.

66

Salto (ou JMP)

Rotulagem (ou LBL)

Salto para Subrotina (ou JSR)

Retorno (ou RET)

67

O Salto irá saltar a execução para uma posição de rotulagem.

Você pode pensar nisso como uma instrução GOTO.

68

Os rótulos são numéricos e podem variar de 00 a 77 no formato octal.

Instruções de salto são saídas acionadas, e quando a saída é acionada, a execução salta para o número de rótulo especificado na instrução.

Os rótulos são instruções de entrada e aparecem no início da saída onde a execução é retomada.

69

Saltos normais não podem saltar para dentro de uma subrotina, e eles só podem saltar para frente, não para trás.

Isso significa que loops não são possíveis usando salto.

Essa seria uma decisão de design deliberada para impedir que programas fiquem presos em um loop e para evitar que a varredura prossiga.

70

Subrotinas aparecem após o final do programa principal.

Elas são definidas por rótulos numéricos octais usando a instrução de rótulo.

Subrotinas são chamadas usando a instrução "Pular para Subrotina" (ou JSR).

No final da subrotina, a instrução "Retornar" (ou RET) retorna a execução para o próximo nível após o JSR que a chamou.

Você pode aninhar chamadas de subrotinas até 8 níveis profundos.

--------------------

71 Instruções de Transferência de Dados de Arquivo

Apesar do que você possa pensar pelo nome, não há arquivos em disco no PLC2.

Uma "instrução de arquivo" move, na verdade, blocos de palavras de um local de memória de dados para outro.

=

Isso inclui endereços de origem e destino, e vários outros parâmetros que controlam a operação.

Na verdade, há bastante envolvido nisso, mas não vou me dar ao trabalho de entrar nos detalhes.

Você só precisa saber que é possível mover blocos de memória de dados de um lugar para outro.

--------------------

72 Instruções de Registro de Deslocamento

Estas operam em séries inteiras de palavras e incluem

=

Deslocar Arquivo para Cima

Deslocar Arquivo para Baixo

Carregar FIFO

Descarregar FIFO

73

Estas podem operar com 1 a 999 palavras.

Um uso típico dessas instruções seria rastrear uma parte enquanto ela se move pelas diversas estações de uma máquina.

--------------------

74 Bit Shifts

Esses operam em bits individuais e incluem os seguintes.

75

Shift Bit Esquerda

Shift Bit Direita

Examine Bit Off Shift

Examine Bit On Shift

Set Shift Bit

Reset Shift Bit

76

Elas funcionam mais ou menos como você esperaria em termos de deslocar bits para a esquerda ou para a direita.

No entanto, o registrador de deslocamento pode ser definido para ter qualquer comprimento entre 1 e 999 bits, então não está limitado ao tamanho de uma palavra.

--------------------

77 Instruções de Sequenciador

Instruções de sequenciador são uma emulação de software de controladores eletromecânicos de tambor.

Controladores de tambor permitiam que uma longa sequência de operações fosse executada.

Eles usavam um tambor rotativo que tinha uma série regular de buracos paralelos na superfície externa.

Acima de uma fileira desses buracos havia uma fileira de interruptores de limite.

Ao inserir ganchos em alguns desses buracos que entravam em contato com os interruptores de limite, o controlador de tambor podia ativar padrões de relés ou válvulas.

78

Alguns dos interruptores de limite poderiam ser conectados a sensores nos elementos móveis da máquina.

Quando as partes da máquina estavam na posição correta para aquele passo na sequência, o padrão de ganchos causaria um caminho elétrico completo através dos interruptores de limite e energizaria um solenóide que engatilharia o tambor para o próximo passo.

79

Isso é frequentemente comparado a uma caixinha de música ou a um antigo estilo de controle de máquina de lavar.

No entanto, no caso do controlador de tambor, os ganchos programariam as condições de correspondência de entrada, bem como a saída desejada.

O controlador de tambor PLC/2 emularia esse sequenciador.

Essa funcionalidade se tornou amplamente utilizada em equipamentos usados na indústria automotiva e em outros processos de fabricação orientados para montagem, e frequentemente formava o coração do programa PLC/2.

80

Não vou entrar em detalhes das instruções do sequenciador, mas existem instruções de sequência de entrada e saída separadas.

A sequência de entrada tentaria corresponder aos estados dos sensores, e a sequência de saída instruiria a ligar ou desligar várias saídas, controlando coisas como válvulas solenóides.

A própria sequência seria definida por uma série de palavras na memória, com cada bit correspondendo a uma entrada ou saída individual.

--------------------

81 Instruções Lógicas de Arquivo

As instruções lógicas de arquivo se traduziam em operações de array sobre palavras, embora o termo "arquivo" seja usado para o que, na terminologia de computadores, seria um "array".

Estas instruções incluíam

E

OU

OU Exclusivo

Complemento

--------------------

82 Técnicas Especiais de Programação

Estas são instruções diversas.

Estas consistem no seguinte.

Borda de Liderança em Um Solo Tiro

Borda de Tração em Um Solo Tiro

83

Um solo tiro é uma instrução de saída que causa a ativação do bit endereçado por uma varredura, após uma mudança de estado na condição lógica da fase.

Os solos tiros podem ser acionados por uma mudança de falso para verdadeiro ou de verdadeiro para falso, dependendo de qual das duas instruções foi utilizada.

--------------------

Por que o PLC2 usou BCD?

Você provavelmente está se perguntando por que o PLC2 usou números BCD em vez de inteiros normais.

Isso reflete o ambiente de operação que um PLC inicial teria que trabalhar.

Painéis de operadores iniciais usando dispositivos de entrada numérica mecânica e simples displays de saída eletrônica que, tipicamente, trabalhavam em BCD.

85

Interruptor de alavanca era pequenos dispositivos de rolagem em forma de tambor com números de 0 a 9 impressos na periferia.

Vários rodas seriam empilhados ao lado um do outro.

Eles pareciam, de certa forma, o odômetro mecânico que você encontraria em um carro mais velho.

O operador, no entanto, poderia mover cada roda de dígito separadamente.

Cada dígito seria lido conectando 4 fios a 4 entradas no PLC.

Assim, cada dígito era inerentemente BCD devido à forma como o hardware da roda de polegar funcionava.

86

Ao girar as rodas individualmente, o operador podia ajustar coisas como temperaturas, velocidades, atrasos de tempo, entre outros, e assim modificar os parâmetros do processo.

As telas de saída do operador eram tipicamente displays de LED de 7 segmentos, neon ou fluorescente a vácuo.

Esses displays ou dispositivos semelhantes aos deles precederam os PLCs e, portanto, eram dispositivos industriais comuns que precisavam ser manuseados.

Cada dígito numérico tinha 4 entradas que seriam conectadas a 4 saídas no PLC.

Displays de 7 segmentos podem usar hexadecimal, mas isso não era muito útil se você estivesse tentando exibir uma temperatura em Celsius a um operador.

Assim, novamente, BCD era o tipo de número mais prático para trabalhar.

87

À medida que as PLCs (Controladores Lógicos Programáveis) e seus programas de usuário se tornaram mais capazes e sofisticados, eles começaram a trabalhar com inteiros normais e até com números de ponto flutuante.

No entanto, muitas, se não a maioria, das PLCs mantinham instruções para traduzir para e de BCD (Código Decimal Binaire).

--------------------

A Influência do PLC2

O PLC2 foi um produto extremamente bem-sucedido para a Allen Bradley e consolidou a empresa como uma das principais fornecedoras de PLCs, com a primeira posição no mercado norte-americano e entre os cinco primeiros no mundo.

No entanto, ele apresentava várias fraquezas, especialmente a memória e a arquitetura de subrotina muito primitivas, e o foco em números octais e BCD.

Ele era focado em substituir relés de controle e fez isso de maneira razoavelmente eficaz.

89

O próximo sucessor realmente bem-sucedido do PLC2 para a Allen Bradley foi o PLC5.

Este uniu o conjunto de instruções básico do PLC2 a um novo sistema de memória com novos tipos de dados, espaços de nomes separados e funções parametrizadas.

90

Parecia uma transição do programação em Basic com números de linha e saltos para o Pascal.

No entanto, ainda era possível utilizar as prateleiras e módulos de entrada/saída PLC2, um fator importante considerando que a maior parte do custo de um PLC estava no sistema de entrada/saída.

91

O PLC 5 foi, por sua vez, sucedido pela série Contrologix, que modernizou as coisas ainda mais, ao mesmo tempo em que tinha um fator de forma menor.

A Allen Bradley continua sendo um dos principais fornecedores de PLCs hoje, operando sob o nome Rockwell.

--------------------

92 Conclusão

Neste episódio, focamos em um PLC específico, mas amplamente utilizado, o Allen Bradley PLC2.

Abordamos os seguintes assuntos.

A eletrônica interna.

A tabela de dados.

O programa do usuário.

O terminal de programação T3.

E uma visão geral muito breve do conjunto de instruções.

93

Era um PLC bastante simples e, de certa forma, primitivo, mas você deve ter uma ideia aproximada dos conceitos por trás de um PLC, incluindo a tabela de dados e o conceito de varredura e o conjunto de instruções semelhante a um relê.

94

No próximo episódio, vamos analisar um PLC da maior empresa fornecedora mundialmente, a Siemens.

Neste exemplo, vamos examinar um modelo um pouco mais recente que o PLC2, a série S5.

Isso pode ser visto como um PLC de segunda geração.

Desde que não precisaremos repetir os conceitos básicos já abordados, podemos focar mais no que é novo e diferente no S5 em comparação com o PLC2.

95

Este foi o terceiro episódio de uma série de oito partes.

--------------------

Forneçafeedbacksobre este episódio..

Fonte
Hacker Public Radio
Abrir original ↗

Conteúdo traduzido automaticamente por máquina.

Esta notícia foi útil?

Debates 0

Seja o primeiro a contribuir com o debate.

Difunda suas informações e promova seu argumento

Não se acanhe de publicar alguma informação ou dado que possa ser positivo ou útil.

Para participar do debate, entre com sua conta ou crie uma gratuita.