Vous êtes sur la page 1sur 44

Seminrio de Sistemas Digitais e Microprocessadores Autmatos Programveis

Traduo e adaptao de extractos do livro "Automates Programmables" de Andr Simon, ditions L'lan, 1983, Lige 1. Concepo de um automatismo 1.1 Caractersticas de um automatismo Os automatismos so dispositivos que permitem que mquinas e instalaes funcionem automaticamente. Um automatismo bem conccebido: - simplifica consideravelmente o trabalho do homem que, liberto em relao mquina, pode dedicar-se a tarefas mais nobres; -elimina tarefas complexas, perigosas, penveis ou indesejveis, fazendo-as executar pela mquina; - facilita as modificaes no processo produtivo, possibilitando a transio de uma quantidade ou tipo de produo para outra; - melhora a qualidade dos produtos, controlando a mquina de modo a manter critrios de produo e tolerncias respeitadas constantemente; - aumenta a produo assim como a produtividade; - permite a realizao de economias de matria prima e de energia; - aumenta a segurana do pessoal;

- controla e protege as instalaes e as mquinas. Os automatismos intervm em todas as fases da produo industrial, em domnios to diversos como os das indstrias de transformao, de transporte, das mquinas-ferramenta...assim como no sector tercirio. 1.2 Estrutura de um automatismo Desde a sua concepo um automatismo deve ser decomposto em duas partes: - a parte comando ou autmato, que elabora as ordens necessrias execuo do processo, em funo dos pedidos que recebe s entradas e dos resultados de execuo que lhe so fornecidos pela parte operativa; - a parte operativa ou parte de potncia, que efectua as operaes, executando ordens que lhe so transmitidas pela parte comando. Para alm deste dilogo por ordens e resultados com a parte operativa, a parte comando troca informaes com o exterior do sistema (piloto, utilizador, vigilante,...) donde recebe as ordens e a quem fornece resultados visuais ou sonoros. Distingue-se em qualquer sistema automatizado, a mquina ou instalao, e a parte comando constituida pelos equipamentos de automatismo. Esta parte comando assegurada por componentes que respondem do ponto de vista esquemtico a quatro funes base: a deteco, o processamento de dados, o comando de potncia e o dilogo.

fig.1 Diagrama de blocos das funes do comando Componentes para a deteco interruptores de posio, detectores de proximidade, clulas fotoelctricas, detectores de velocidade, manostatos, etc. Componentes para o processamento de dados autmatos programveis, microsistemas, sequenciadores, clulas lgicas, rels, contactores auxiliares, etc. Componentes para o comando de potncia

variadores de velocidade, arrancadores, distribuidores, contactores, etc. Componentes para o dilogo homem-mquina ecrs de controle, mesas de comando, botoneirras pendentes, botes e luzes avisadoras, etc.

fig.2 Separao das partes Comando e Operativa Esta estrutura possibilita um dilogo proveitoso entre o futuro utilizador do sistema e o profissional de automatismos responsvel pela parte comando. Exemplo: Num elevador, o conjunto electromecnico (cabina, motor, portas) constitui a parte operativa, os botes de chamada, a lgica e os armrios dos aparelhos constituem a parte comando.

fig.3 Exemplo de comando de elevador O profissional de automatismos encarregue da concepo e da realizao da parte comando precisa de encontrar no caderno de encargos uma descrio clara, precisa, sem ambiguidades, nem omisses, do papel e das caractersticas do equipamento a realizar.

Para facilitar esta tarefa, desejvel que essa descrio seja dividida em dois nveis sucessivos e complementares. Primeiro nvel: especificaes funcionais O primeiro nvel descreve o comportamento da parte comando em relao parte operativa. So as especificaes funcionais que permitem que o conceptor compreenda: - o que o automatismo deve fazer, face s diferentes situaes que se possam apresentar; - qual dever ser o papel da parte comando a construir. Essas especificaes devem portanto definir, de um modo claro e preciso, as diferentes funes, informaes e comandos implicados na automatizao da parte operativa, assim como das seguranas de funcionamento previstas. Pelo contrrio, nesse nvel, a escolha da tecnologia a utilizar no necessariamente efectuada, pois pouco importa se o deslocamento de um mvel deve ser efectuado atravs de um mbolo pneumtico ou de um motor elctrico. O que importa saber so as circunstncias em que o deslocamento se deve efectuar. Segundo nvel: especificaes tecnolgicas e operacionais O segundo nvel completa as exigncias funcionais e traz, atravs das especificaes tecnolgicas e operacionais, as precises indispensveis s condies de funcionamento dos equipamentos. As especificaes tecnolgicas precisam as condies em que o automatismo dever inserir-se fisicamente no conjunto que constitui o sistema automatizado e o seu ambiente. apenas a esse nvel que devem intervir as informaes sobre a exacta natureza dos captores e accionadores, as suas caractersticas e as limitaes do seu uso. A essas especificaes de interface, podem ainda juntar-se as especificaes do ambiente em que vai funcionar o automatismo: temperatura, humidade, poeira, riscos de exploso, tenses de alimentao, etc. As especificaes operacionais tratam do modo de funcionamento do automatismo ao longo da sua existncia. A trata-se das consideraes que respeitam ao equipamento, uma vez realizado e posto em servio: fiabilidade, ausncia de avarias perigosas, disponibilidade, possibilidades de modificao do equipamento em funo das transformaes da parte operativa, facilidades de manuteno, dilogo homem-mquina, etc. Estas consideraes so primordiais para a explorao do processo a automatizar e tm uma incidncia marcante no modo de projectar o equipamento. 1.3 Instalao de um automatismo A colocao em funcionamento de qualquer sistema automatizado implica o cumprimento de uma srie de tarefas que constituem outras tantas etapas sucessivas, naturalmente interdependentes. Podem-se distinguir com efeito, quatro grupos de tarefas, representadas na figura: - Estudo prvio

- Estudo propriamente dito e preparao - Fabricao e ensaios - Colocao em servio e explorao.

fig. 4 As quatro etapas sucessivas para o estudo de um automatismo industrial

fig. 5 Etapas do estudo prvio de um automatismo industrial Campos de aplicao Estrutura; caractersticas Arquitectura de um autmato (CPU; memrias;entradas e sadas E/S; mdulos especiais) Funcionamento Hoje em dia, construtores de equipamentos de comando e engenheiros de automtica no podem j ignorar os autmatos programveis ou "Programmable Controllers" (PC). O ponto de referncia a partir do qual estes sistemas de comando relativamente recentes se tornam de um preo comparvel, se no mesmo inferior, ao dos equipamentos de comando tradicionais em lgica cablada, recua constantemente. Para a maior parte dos problemas de comando, convm portanto determinar a tecnologia de comando mais apropriada, e a esse respeito, a escolha incide cada vez mais nos autmatos programveis. Antes de mais, trata-se no somente de uma questo de preo, mas principalmente do ganho de tempo, da facilidade de manipulao, da alta fiabilidade, da localizao e eliminao rpida dos erros. Ao mesmo tempo, o produto final, isto a mquina ou a instalao equipada com um tal autmato adquire um nvel tcnico mais elevado. O objectivo das pginas seguintes o de mostrar que qualquer tcnico que deseje adquirir conhecimentos novos, est altura de utilizar os autmatos programveis. 2. Caractersticas Gerais 2.1 Origem e perspectivas Os autmatos programveis surgiram nos E.U.A. em 1969-70, e mais em particular no sector da indstria automvel; comearam a ser utilizados na Europa dois anos mais tarde. A data do seu aparecimento coincide com o incio da era do microprocessador e com a generalizao da lgica cablada modular. O autmato a primeira mquina-linguagem, isto , um calculador lgico (digital) cujo conjunto de instrues est orientado para os problemas de lgica e para os sistemas de evoluo sequencial. de notar que, cada vez mais, a universalidade dos computadores tende a desaparecer e o futuro parece abrir-se para esta nova classe de equipamentos: mquinas para tratamento de sinais, mquinas para gesto de bases de dados... O autmato programvel , portanto e nesse sentido, um percursor e constitui um esboo da verdadeira mquina para os tcnicos da automtica. O crescimento constante das aplicaes electrnicas, a diminuio fantstica do preo dos componentes, o nascimento e o desenvolvimento dos microprocessadores e sobretudo a miniaturizao das memrias, permitem imaginar autmatos programveis, cujos preos atractivos, para caractersticas mais evoluidas, abriro novos campos de aplicao. O autmato programvel pode ser utilizado isolado ou inserido num sistema repartido de controlo de processos e isso, em instalaes to variadas como uma cervejaria, uma padaria, uma fundio, uma refinaria, um telefrico ou uma instalao de aquecimento. Com uma combinao de possibilidades de regulao e de comando sequencial, o autmato programvel satisfaz as exigncias dos processos simultaneamente contnuos e descontnuos (analgicos e digitais), regula as presses, temperaturas, nveis e dbitos e assegura todas as funes de temporizao, cadncia, contagem e lgica associadas.

Provido de uma carta (placa) de comunicaes adicional, o autmato transforma-se num potente satlite, inserido numa rede de controlo distribuido. Definio Autmato programvel um aparelho electrnico programvel por uma utilizador de automtica e destina-se a pilotar, em ambiente industrial, mquinas ou processos lgicos sequenciais. 2.2 Estrutura de um autmato programvel a- Constituio O autmato programvel propriamente dito constituido por: - uma fonte de alimentao que assegura a transformao da energia elctrica fornecida pela rede elctrica (tenso alternada 220V/50 Hz) nas tenses contnuas exigidas pelos componentes electrnicos; - uma interface de entradas e sadas (E/S ou I/O) assegurando a transformao e adaptao dos sinais elctricos provenientes dos sensores (transdutores) para o autmato (mudana de nvel de tenso, isolamento, filtragem) e recprocamente dos sinais que vo do autmato para os accionadores; - um processador (CPU), normalmente um microprocessador genrico ou especfico, que o "motor" do autmato programvel e que l e interpreta as instrues que constituem o programa guardado em memria e da deduz as operaes a realizar; - uma memria, constituda por componentes electrnicos (tipo RAM ou ROM), que assegura a memorizao do programa, dos dados (sinais das entradas) e dos accionadores (sinais das sadas). Por outro lado, torna-se necessrio utilizar uma consola de programao para escrever e modificar o programa, assim como para proceder s afinaes e testes. Esta consola torna-se intil, pelo contrrio, durante a explorao industrial do autmato.

fig.6 Diagrama de blocos de um autmato programvel b - Evoluo sequencial No quadro dos autmatos programveis, a noo de evoluo sequencial muito abrangente; refere-se no somente aos tradicionais automatismos por sequncias, nos quais todas as variveis de entrada e de sada so do tipo tudo ou nada (exemplo 1 da figura 2), mas igualmente possvel atribuir predicados aos acontecimentos tudo-ou-nada clssicos. Uma grandeza contnua (analgica) ou quantificada pode assim intervir numa operao de comparao. O exemplo 2 mostra que uma subida da temperatura cessa logo que se atinja uma temperatura de 200oC e desde que exista autorizao de prosseguir o desenvolvimento do processo. possvel avanar um pouco mais na noo de evoluo sequencial considerando que as aces lanadas esto associadas a comandos analgicos. O exemplo 3 ilustra uma regulao por patamar de um regulador.

fig. 7 Exemplos de evoluo sequencial c - Panorama geral Os autmatos programveis so equipamentos electrnicos com cablagem interna independente do processo a comandar (equipamento, hardware). O autmato programvel adaptado mquina ou instalao a comandar por meio de um programa que define o modo de desenvolvimento das operaes desejado (software) e de uma cablagem directa entre os elementos de entrada e de sada do autmato. Os elementos de entrada so, por exemplo, os auxiliares de comando, os contactos de fim de curso, os detectores de proximidade, mas tambm, as tenses analgicas ou os detectores de corrente. Os contactores, as electrovlvulas, os dispositivos de acoplamento ptico, as lmpadas, etc, so elementos de sada. O autmato programvel executa comandos de tipo lgico e sequencial nas fbricas, isto , prximo de mquinas, num ambiente industrial. Um autmato de concepo avanada pode ter a sua explorao adaptada formao e aos hbitos dos profissionais que o utilizam ou mantm. O nmero de instrues tratadas varia de um autmato para outro. O programa directamente concebido pelo profissional de automatismos, o electricista ou o mecnico. Este trabalho ainda facilitado pela existncia de uma consola de programao. Um autmato programvel torna-se num equipamento especfico logo que dotado de um programa e acoplado aos elementos de entrada e de sada. Para que o autmato possa trabalhar, o programa deve ser armazenado numa memria interna do autmato. Em geral utilizam-se memrias semicondutoras como memria interna de programa. Conforme o tipo de memria interna de programa, assim se distinguem os autmatos como de programao livre ou de programao altervel. Os autmatos de programao livre esto equipados com memria de escrita e de leitura (RAM) na qual se pode introduzir o programa, sem necessidade de qualquer dispositivo particular, por meio da consola de programao. A memria RAM perde o programa no caso de corte da tenso de alimentao, mas issso pode ser evitado atravs de uma bateria-tampo.

Os autmatos de programao altervel so equipados de memrias apenas de leitura (ROM, PROM ou EPROM), que devem ser substituidas no caso de alterao do programa. As memrias EPROM podem ser apagadas por raios ultravioleta (UV) e ser de novo reprogramadas. Pelo contrrio, as memrias PROM uma vez programadas no podem ser modificadas. Se se quizer proceder a modificaes, torna-se necessrio uma nova memria PROM para substituir a anterior. Um autmato programvel apresenta-se ou na forma de conjunto de placas (cartas) colocadas em bastidor ou em placa nica, no caso dos modulares. As ligaes entre as cartas fazem-se por meio de um bus(barramento) de ligaes. d - Noo de desenvolvimento cclico. A maioria dos autmatos actuais baseia-se na noo de desenvolvimento cclico das instrues colocadas em memria. O programa uma sequncia de instrues colocadas na memria. Um ciclo de execuo consiste em primeiro lugar da tomada em conta das entradas que sero a partir da fixadas para todo o ciclo, j que o autmato executa instruo a instruo at ao fim da memria. As ordens a executar so ento definidas e podem ser colocadas nas sadas. O ciclo reproduz-se assim indefinidamente. de referir que em cada ciclo todo o programa executado. Por outro lado, desde que existam instrues de salto (ou de ramificao), elas no permitem seno incrementar o contador de programa. Esta noo tem uma importncia fundamental no que respeita aos mtodos de implantao dos sistemas sequenciais. A sucesso "leitura das Entradas (E)-Processamento (P)- afectao das sadas (S)" corresponde a um ciclo sncrono quanto s entradas-sadas. precisamente a forma mais clssica e a que apresenta menos riscos de acasos de funcionamento.

fig. 8 ciclo sncrono Existem outros tipos de ciclo: - ciclo sncrono quanto s entradas, assncrono quanto s sadas

fig. 9 ciclo sncrono nas entradas e assncrono nas sadas As entradas so todas lidas no incio do ciclo e afectam toda a durao do ciclo. Pelo contrrio, as ordens calculadas so colocadas nas sadas medida que forem processadas. Neste tipo de ciclo preciso desconfiar dos acasos de ordens contraditrias ou de descontinuidade para as sadas. - ciclo totalmente assncrono

fig. 10 ciclo assncrono O valor das entradas tido em conta medida que as variveis so processadas no programa e as sadas so assncronas como no ciclo precedente. Este processamento utiliza numerosas variveis internas para fixar ao longo do programa o valor de uma entrada. Efectivamente, imperativo para a coerncia de uma equao lgica, que as variveis mantenham o mesmo valor durante o processamento da equao. Essa complexidade do programa pode ser vantajosa quando se pretendem criar redundncias de processamento de uma equao associada s seguranas e necessitando de um tempo de resposta mais rpido. e - estrutura geral Para que haja o funcionamento cclico, a memria pilotada por um contador de programa, que pode ser um simples contador. Para os autmatos que realizam saltos complexos, o contador de programa est integrado no microprocessador, constituindo um registo. A memria contem apenas instrues, que se organizam em dois blocos: uma parte, o cdigo de operao, transferido para o processador; uma outra, o endereo, transferido para o bloco de entradas/sadas e indica a referncia do operando para a instruo em curso. de referir que esta parte indica tambm o valor de salto (JUMP) nos autmatos evoluidos, pelo que transferida neste caso para o processador. O bloco E/S (entradas/sadas) serve de orgo de ligao com os perifricos: memoriza os valores presentes nas linhas de entrada no instante de leitura das entradas; coloca os valores calculados nas linhas de sada. O processador a unidade de processamento lgico que executa os clculos booleanos em funo das instrues do programa. A unidade de processamento central (CPU) possui tambm um conjunto de variveis internas utilizadas para memorizar temporariamente os dados, registos de tempo e de contagem, registos de ndice,...

fig.11 Princpio de funcionamento de um autmato Notas:

1) Chama-se registo a uma memria na qual se conserva temporariamente um bit ou uma palavra binria; 2) Acumulador um registo especial que utilizado para guardar os operandos e os resultados, quando do processamento; 3) CPU a unidade de processamento central (Central Processing Unit). 2.3 As Entradas/Sadas (E/S) As entradas/sadas (E/S ou I/O inglesa), ligam o autmato aos orgos exteriores do automatismo ou da instalao. Os mdulos de interface de entrada asseguram a adaptao de nvel, o isolamento e a filtragem dos sinais provenientes dos diversos detectores e transdutores colocados na mquina. Estes esto ligados aos orgos de comando: - manuais: botes de presso, comutadores, selectores, combinadores, etc. - automticos: fins de curso por aco mecnica, detectores indutivos ou capacitivos de proximidade, clulas fotoelctricas, indicadores de velocidade, de nvel, de presso, etc. Estes sinais de entrada, de provenincia e de natureza diversas, tenses alternadas ou contnuas, polaridades diferentes, de tipo "tudo ou nada", numricos ou analgicos, tm que ser transformados antes de serem processados na unidade de processamento do autmato. Por outro lado, devem ser protegidos contra as sobretenses e os sinais parasitas, por vezes de valor elevado e que podero ser considerados como um sinal e tratados como tal. Os mdulos de interface de sada, asseguram o nvel do sinal de sada e o seu isolamento da electrnica do autmato; transmitem as ordens aos orgos comandados: motores (por intermdio de contactores), electrovlvulas elctricas, hidrulicas ou pneumticas, impressoras, sinalizadores luminosos, etc. Em funo da natureza dos accionadores, os sinais de sada so amplificados em mdulos estticos a corrente contnua ou alternada, ou comandam rels electromagnticos. A separao galvnica de entradas e sadas A separao galvnica permite a transmisso de sinais entre partes diferentes de uma instalao sem potencial de referncia comum.

A aplicao aos autmatos programveis implica uma clara separao entre a alimentao da parte de processamento do sinal e os circuitos de carga (entradas e sadas). Normalmente a separao de potenciais exige uma transformao dos sinais elctricos numa outra grandeza fsica - a luz. Utilizam-se para isso dispositivos optoelectrnicos (semicondutores fotosensveis). Nesses dispositivos optoacopladores, a transmisso do sinal de um circuito para outro, faz-se pela emisso luminosa de um dodo de arsenieto de glio, emissor de infra-vermelhos. Por outro lado, o fototransistor inserido no outro circuito vai entrar em comutao em funo da luz recebida. fig. 12 Optoacoplador 4N25

Nota sobre optoacopladores: A passagem de corrente no dodo leva o transistor a conduzir, como se tivesse corrente de base. Como no caso de um vulgar transistor, necessrio aplicar uma tenso ao colector para que o fototransistor funcione na regio activa. Os dispositivos acoplados opticamente apresentam um isolamento tpico da ordem dos milhares de Volt entre a entrada e a sada. Quando se ligam ao autmato, sensores de dois terminais, tais como sensores fotoelctricos ou de proximidade, o sinal de entrada pode ser erradamente considerado ON (ligado) por correntes de fuga (leakage currents). Para evitar esta situao, deve ligar-se uma resistncia de drenagem, como na figura 13.

fig. 13 Resistncia de drenagem na entrada De igual modo, sempre que exista o risco de aparecimento de correntes de fuga que levem o transistor ou triac de sada a mau funcionamento, deve ligar-se uma resistncia de drenagem como na figura 14.

fig. 14 Resistncia de drenagem na sada A proteco para cargas indutivas Os receptores indutivos - bobinas de contactores, rels e electrovlvulas - geram no corte, em funo da sua indutncia prpria, picos elevados de tenso parasita que actuam em oposio tenso de servio. Estes picos de tenso podem atingir 4, 6 e mesmo 10 kV. Iremos distinguir os receptores a tenso contnua e os receptores a tenso alternada.

fig. 15 Proteco por dodo em roda livre a) No que respeita s bobinas de tenso contnua de pequena indutncia, como o caso dos pequenos rels, recomenda-se a ligao de um dodo em roda livre. A tenso de corte resulta fortemente atenuada por esta medida e reduz-se queda de tenso no dodo (0,7 V). Neste caso, o tempo de amortecimento aumenta em funo do valor da indutncia. b) Se se ligar um dodo de Zener em paralelo com a bobina, a tenso de corte ficar limitada ao valor da tenso de Zener, que em geral de 30 V aproximadamente, para uma tenso de alimentao de 24V CC. A energia magntica acumulada na bobina escoa-se mais depressa que na montagem com o dodo. Para valores inferiores tenso de Zener, o campo magntico anula-se sem atenuao. Da resulta uma reduo considervel do tempo de corte. A figura 16 apresenta uma ligao com dodo de Zener, vulgarmente utilizada nas sadas dos autmatos programveis (sada a transistor).

fig. 16 Proteco por dodo de Zener c) Em tenso alternada recomenda-se, em particular para o caso de bobinas a 220V CA, a utilizao de de um circuito RC de proteco, em paralelo com a bobina (ex. R=50 Ohms; C=0.47uF).

fig. 17 Proteco por circuito RC, no caso de cargas indutivas em CA Note-se que a utilizao de elementos de acoplamento optoelectrnico nem sempre impede a destruio das placas, por sobretenso. Com efeito, na situao de sobretenso, todos os elementos colocados antes do optoacoplador podem ser destrudos, assim como o dodo emissor do optoacoplador. i) mdulos sem separao galvnica A figura mostra um caso tpico, onde se podem ver os blocos de filtragem e de adequao do nvel de sinal.

fig. 18 mdulo de entradas sem separao galvnica ii) mdulos com separao galvnica

fig. 19 mdulos de entradas e sadas com separao por optoacoplamento 2.4. O Processador A funo do processador a de ler permanentemente e a grande velocidade os estados lgicos (0 ou 1) dos sinais provenientes dos captores perifricos (entradas), em funo do programa armazenado em memria e, no instante adequado, calcular e transmitir as ordens de sada para os accionadores. Os circuitos a rels apresentam um tempo de resposta associado colagem e descolagem dos contactos. Por sua vez, os elementos electrnicos apresentam um tempo de comutao (ex: passagem do transistor de sada da saturao ao corte). O autmato programvel apresenta um tempo de resposta que funo da durao do ciclo. Com efeito, examinemos o intervalo de tempo que separa a alterao de uma entrada, da alterao da sada da decorrente, no caso clssico de um ciclo sncrono em relao s entradas e s sadas. A situao mais desfavorvel a apresentada no grfico da figura:

fig. 20 Cronograma mostrando o tempo de resposta do processador Neste caso, o tempo de resposta a uma variao de estado de uma entrada pode estar compreendido entre um e dois ciclos.

O tempo de leitura do programa evidentemente funo do nmero de informaes, mas, na maior parte dos casos, da ordem dos milisegundos (inferior a 10 ms). Da resulta que qualquer modificao do estado de uma entrada produz quase simultaneamente o sinal de sada correspondente que comanda o accionador. 2.5. As memrias As memrias caracterizam-se pelo comprimento da palavra tratada, expressa em nmero de bits (dgito binrio, binary digit)) e pelo nmero de milhares de palavras (de 8 bits ( byte) ou de 16 bits) que pode armazenar. (k = kilo palavras = 1024 palavras). O comprimento da palavra d indicaes sobre a complexidade da ordem que se pode escrever com uma palavra. A capacidade de memria dos autmatos programveis varivel, de 0.25 k palavras a 16 k palavras. Tipos de memrias, utilizadas nos autmatos: - RAM (Random Accesss Memory) Estas memrias tm a vantagem de poder ser alteradas a cada momento, pois so memrias de escrita e de leitura (Read and Write Memories). So portanto muito utilizadas quer na fase de projecto e depurao do programa, quer na fase operacional, para guardar os dados e informaes resultantes do processamento. Como este tipo de memrias voltil (perde a informao em caso de corte de energia), torna-se necessrio garantir a existncia de baterias de alimentao. - EPROM (Erasable Progammable Read Only Memory) Estas memrias no perdem o seu contedo no caso de falha de tenso, mas no podem ser apagadas selectivamente, isto , por endereo de memria, pois na operao de apagamento para reutilizao, so utilizados raios ultravioletas (UV) que apagam toda a memria. Trata-se de um tipo de memria muito utilizado, mas que pressupe uma prvia programao e testes utilizando a memria RAM. S aps a depurao do programa (verificao do seu funcionamento sem erros), se procede gravao em EPROM. - EEPROM (Electrical Erasable Programmable Read Only Memory) Este tipo de de memria, de utilizao recente mas rara, dado o seu preo elevado, permite a alterao dos valores guardados em cada endereo, por meios elctricos. 2.6 A consola de programao A consola de programao de um autmato utilizada para a escrita e a depurao dos programas. Algumas consolas possibilitam a realizao de testes e a colocao da instalao em funcionamento. Uma consola constituida por um teclado e por um sistema de visualizao. O teclado dotado da simbologia necessria escrita do programa: letras, nmeros, sinais especficos, etc. O sistema de visualizao, que pode ser do tipo grfico (visualizao de diagramas de contactos, logigramas, diagramas Grafcet, etc) ou tipo ASCII (visualizao das linhas de programa que so digitadas ou que esto guardadas em memria). A consola de programao , portanto, uma ferramenta fisicamente independente do autmato. Uma consola possibilita, nomeadamente:

- a escrita do programa, a sua modificao ou anulao; - a leitura do programa contido na memria; - a operacionalizao do programa, por simulao das entradas e execuo das instrues; - a transferncia do programa para um dispositivo de armazenamento exterior (cassete audio, disquete, ou uma impressora); - a verificao em cada instante e durante o funcionamento do autmato em modo normal, do estado dos detectores e accionadores, assim como do desenvolvimento da sequncia de operaes; - a verificao e sinalizao dos erros de programao (erros de sintaxe). Trata-se portanto de uma ferramenta particularmente completa e que permite uma reduo significativa do tempo de operacionalizao de um determinado equipamento.

fig. 21 diagrama de blocos de um autmato com consola de programao 3. Concepo de um automatismo 3.1 Mtodos de anlise do funcionamento de um automatismo sequencial . Para analisar o funcionamento de um automatismo, o projectista dispe de vrios mtodos de expresso. a - Esquema elctrico de contactos. Pode raciocinar-se com base neste esquema, utilizando elementos em srie e em paralelo.

fig. 22 Esquema elctrico de contactos Se "a" no est aberto (ausncia de aco sobre "a") e se "b" est fechado (presena de aco sobre "b") ou se "s" est fechado (presena de aco sobre "s") e "d" no est aberto (ausncia de aco sobre "d"), ento "S accionado. b- Logigrama Iremos relembrar as diversas funes lgicas e as suas expresses em linguagem booleana. Seja um contacto "a" :

O contacto "a" pode ocupar duas posies: 0 (aberto) ou 1 (fechado).

fig. 23 Funo E (AND)

fig. 24 Funo OU (OR) O exemplo da figura pode igualmente ser representado na forma grfica bem conhecida dos profissionais de automatismos, com o auxlio dos smbolos E e OU.

fig. 25 Logigrama Se houver ausncia de aco sobre "a" ( a ) E presena de aco sobre "b" ( b) OU presena de aco sobre "a" E ausncia sobre "d" ( d ), ento a sada S ser validada (activada). c- Equaes lgicas ou booleanas So igualmente utilizadas equaes lgicas para descrever o funcionamento dos automatismos. A seguinte equao booleana equivalente aos dois esquemas precedentes (figuras 22 e 25 ).

d- Diagrama funcional - Grafcet Sempre que as especificaes so expressas em linguagem corrente, existe um risco permanente de imcompreenso ou de malentendidos entre o redactor e o leitor de um caderno de encargos.

Com efeito, algumas palavras e expresses so pouco precisas, mal definidas, possuem vrios sentidos, ou so retiradas de um calo tcnico imcompreensvel para os no-iniciados. Por outro lado, a linguagem corrente revela-se mal adaptada a uma decrio precisa dos sistemas sequenciais, em particular sempre que estes possuem escolhas entre diversas opes possveis ou sequncias de desenvolvimento simultneo (paralelo). por essa razo que til dispor de uma ferramenta de representao de um caderno de encargos que seja normalizada, desprovida de ambiguidade e ao mesmo tempo, fcil de compreender e de utilizar. O GRAFCET (Grafo de Comando Etapa-Transio), prope-se responder a estas exigncias. (ver documento anexo: O GRAFCET - Diagrama funcional para automatismos sequenciais) e - Organigrama O organigrama uma representao grfica particularmente bem adaptada aos sistemas programados, mas que pode ter uma aplicao universal. 3.2 As escolhas tecnolgicas A partir do momento em que o projectista descreveu o funcionamento do automatismo, seja utilizando o GRAFCET ou o ORGANIGRAMA, ou qualquer outro meio de expresso, estamos em condies de proceder escolha, entre as diversas solues tecnolgicas possveis, para a realizao da parte comando do automatismo. Com efeito, trs grandes famlias tecnolgicas esto ao dispor dos projectistas de automatismos: as solues electromagnticas, as electrnicas e as pneumticas. Dentro de cada uma das famlias deve ter-se em considerao a natureza do processamento: - lgica cablada para as electromagnticas e pneumticas, - lgica cablada ou programada para a electrnica. Uma terceira caracterstica diz respeito ao tipo de utilizao, ligado natureza do sistema em construo: universal para os sistemas unitrios ou semelhantes, especfica para os sistemas repetitivos.

fig. 26 Quadro das tecnologias Lgica cablada O automatismo realizado com a ajuda de mdulos ligados entre si. O funcionamento no depende seno da cablagem; os mdulos so electromagnticos, elctrnicos, pneumticos ou fludicos. A lgica cablada bastante rpida quanto ao funcionamento, mas as ligaes entre mdulos limitam a acomplexidade e o volume dos equipamentos grande. Lgica programada Um automatismo utilizando a lgica programada apresenta-se sob a forma de um computador, microcomputador ou de um autmato programvel. O seu funcionamento depende do programa guardado em memria. Autmatos Programveis Os autmatos programveis so projectados para realizarem um ciclo de funcionamento automtico a partir de um programa escrito com a ajuda de uma consola de programao. Trata-se de um sistema de comando informatizado (geralmente baseado num microprocessador) dotado de interfaces para o comando de processos industriais sequenciais ou combinatrios, com uma linguagem de programao estudada para tcnicos de vrias especialidades (Mecnicos, Electricistas, Electrnicos, Tcnicos de Automtica). Alguns autmatos possuem uma linguagem de programao adaptada aos mtodos tradicionais (esquemas elctricos de contactos, equaes e esquemas lgicos), outros, mais evoluidos, permitem ainda a programao directa a partir do diagrama funcional GRAFCET. Ver anexo 1.

4. Programao

Autmato SYSMAC C20K da OMRON 4.1 reas de memria So necessrios vrios tipos diferentes de dados para um correcto e eficaz controlo. Para facilitar o manuseamento destes dados, o autmato programvel possui diferentes reas de memria para dados, cada uma delas com funes diferentes. As reas normalmente acessveis ao utilizador para uso na programao so denominadas de reas de dados. A outra rea de memria a Memria de Programa, onde o programa do utilizador guardada. Iremos aqui descrever cada uma destas reas. O nome, acrnimo (designao abreviada constituida pelas iniciais), limites e funo de cada rea est sumariadaa na tabela da figura. Com excepo da ltima rea (Program Memory), todas as outras so reas de dados.

(a) metade direita (b) metade esquerda (c) os nmeros TC so utilizados para acesso a outras informaes

fig. 27 reas de memria do autmato C20K Bits de trabalho e palavras Sempre que alguns bits ou palavras, em certas reas de dados, no sejam utilizados para o fim a que se destinam, podem ser utilizadas na programao conforme as necessidades para controlar outros bits. Os bits e palavras disponveis para esse efeito so designados por bits de trabalho (work bits) e palavras de trabalho (work words). Flags e bits de controlo Algumas reas de dados contm flags e/ou bits de controlo. As flags so bits que so colocados automaticamente ON ou OFF para indicar um determinado estado. Embora algumas flags possam ser colocadas ON ou OFF pelo utilizador, a maioria apenas de leitura; no podem ser controladas directamente.

Os bits de controlo so colocados ON ou OFF pelo utilizador, para controlar aspectos especficos de funcionamento. Estrutura da rea de Dados Ao designar uma rea de dados, sempre necessrio referir o acrnimo, com excepo das reas IR e SR. Embora estes acrnimos sejam indicados frequentemente por questes de clareza, no so necessrios nomeadamente na programao.Qualquer designao da rea de dados sem acrnimo, subentende-se estar ou na rea IR ou na rea SR. Como os endereos destas duas reas so contguos, os endereos de palavra ou bit so suficientes para diferenciar as duas reas. A localizao de um dado numa rea qualquer, com excepa da rea TC, fica indicada peleo endereo. O endereo indica o bit e/ou a palavra na rea onde se localiza o dado. A< rea TR constituida por bits individuais, usados para guardar condies de execuo em pontos de ramificao dos diagramas de contactos. A rea TC constituida por nmeros TC, cada um dos quais utilizado para um temporizador especfico, ou contador definido no programa. As restantes reas de dados (isto , as reas IR, SR, HR e DM) so constituidas por palavras, cada uma das quais com 16 bits, numeradas de 00 a 15 da direita para a esquerda. As palavras IR 00 e 01 so apresentadas na figura abaixo, com os bits respectivos. Neste caso, o contedo de todos os bits foi definido como sendo zero. O bit 00 designado bit mais direita; o bit 15, designado o bit mais esquerda.

fig.28 A rea DM apenas acessvel por palavra; no possvel isolar um dado bit na rea DM. Os dados das reas IR, SR e HR so acessveis seja por bit, seja por palavra, conforme a instruo que utiliza os dados. Para designar uma destas reas por palavra, tudo o que necessrio o acrnimo, caso seja obrigatrio, e a palavra de endereo de um ou dois dgitos. Para designar uma rea por bit, a palavra de endereo tem que ser combinada com o nmero de bit, num endereo nico de trs ou quatro dgitos. Os dois dgitos mais direita da designao de um bit tm que indicar um bit entre 00 e 15. O mesmo nmero TC pode ser indicado para designar quer a palavra que contem o valor actual (PV, Present Value), do temporizador ou contador, quer o bit que funciona como flag de fim de contagem do temporizador ou contador.

fig. 29 exemplos de designaes de bits e palavras. rea IR A rea IR utilizada quer como pontos de controlo de E/S (entrada/sada) quer como bite de trabalho, na manipulao e armazenamento de dados internos. A rea acessvel quer por palavra, quer por bit. As palavras que podem ser utilizadas como pontos de controlo de E/S so chamadas de palavras E/S. Os bits das palavras E/S so chamados de bits E/S. Se um dispositivo uma entrad noo autmato, o bit associado um bit de entrada; se o dispositivo envia uma sada do autmato, o bit associado um bit de sada. Para activar uma sada, o bit associado deve ser posto ON. Os bit E/S que no forem associados a pontos de E/S podem ser utilizados como bits de trabalho, salvo as devidas excepes (ver mapa de atribuio de endereos). Utilizao dos bits de entrada Os bits de entrada podem trazer directamente sinais do exterior para o autmato e podem ainda ser usados de qualquer maneira na programao. Cada bit de entrada pode ser utilizado em tantas as instrues quantas as necessrias para o controlo. No podem, no entanto ser utilizados em instrues de controlo de bit (OUT, DIFU e KEEP) Utilizao dos bits de sada Os bits de sada so utilizados para fazer sair os resultados da execuo do programa e podem ser utilizados de qualquer maneira na programao. Como as sadas so lidas apenas uma vez durante cada ciclo, qualquer bit de sada apenas pode ser usado numa instruo que controle o seu estado, incluindo OUT, KEEP, DIFU, DIFD e SFT. Se um bit de sada for utilizado em mais do que uma destasa instrues, apenas o estado da ltima constituir a sada do autmato. A tabela seguinte estabelece o mapa de endereos E/S do autmato C20K:

fig. 30 Tabela dos Input e Output bits do autmato C20K rea SR A rea SR contem flags e bits de controlo utilizados para monitorao do funcionamento do sistema, para acesso a geradores de impulsos e para sinalizao de erros. A rea SR ocupa os endereos que vo da palavra 18 19 e os bits de endereo 1808 a1907. A tabela junta faz a listagem das funes das flags e bits de controlo da rea SR. Desde que nada seja estabelecido em contrrio, as flags esto OFF at a condio especificada acontecer, altura em que passam a ON. Os bits 1903 a 1907 so postos OFF quando o autmato executa a instruo END. Os restantes bits de controlo esto OFF at alterao pelo utilizador.

fig. 31 Tabela dos bits da rea SR e respectivas funes Ver a explicao promenorizada de cada bit no Operation Manual. rea DM A rea DM utilizada para guardar dados internos e transferncia de dados, sendo apenas acessvel por palavra. Os endereos vo de DM 00 a DM 63. Embora constitudas por 16 bits, como qualquer outra palavra da memria, as palavras DM no podem ser endereadas por bit, para utilizao em instrues com operando de bit, como LOAD, OUT, AND ou OR. A rea DM preserva os dados mesmo quando se verifica corte de alimentao. rea HR A rea HR utilizada para guardar e manipular diversos tipos de dados, e pode ser acedida seja por palavra, seja por bit. Os endereos vo de HR 000 at HR 915. Os bits HR podem ser utilizados por qualquer ordem e podem ser programados as vezes que forem necessrias. A rea HR preserva os dados mesmo quando se verifica alterao do modo de operao do sistema ou corte de alimentao. rea TC A rea TC utilizada para a criao e rpogramao de temporizadores e contadores e guarda as flags de fim de contagem, os valores definidos (set values, SV) e os valores actuais (present values, PV) para os contadores e temporizadores. A gama vai de TC 00 a TC 47. Cada nmero TC definido como contador ou como temporizador, pelas instrues seguintes: TIM, TIMH, CNT ou CNTR. Uma vez definido por qualquer uma destas instrues, o nmero TC no pode ser redefinido no programa, usando a mesma ou outra instruo. rea TR

A rea TR possui oito bits que so utilizados apenas pelas instrues LD e OUT de modo a possibilitar determinados tipos de programao com ramificaes do diagrama de contactos. Os endereos TR vo de TR 0 a TR 7. cada um destes bits pode ser utilizado as vezes necessrias e na ordem desejada, desde que o mesmo bit TR no seja utilizado mais do que uma vez no mesmo bloco de instrues. 4.2 Terminologia Existem dois tipos de instrues utilizadas na programao por diagrama de contactos ou diagrama de escada (ladder diagram): as instrues que correspondem a condies no diagrama e que apenas se utilizam na forma de instruo quando da passagem do programa para cdigo mnemnico e as instrues que se utilizam direita do diagrama de contactos e que so activadas de acordo com as condies existentes nas linhas de instruo que vo at elas. A maior parte das instrues possui pelo menos um operando com elas associado. Os operandos indicam ou fornecem os dados sobre os quais vai incidir a aco da instruo. Estes dados podem ser introduzidos directamente, mas so normalmente indicados pelos endereos da sua localizao em memria. Por exemplo, a instruo Move que tem IR 00 como operando origem, ir deslocar o contedo de IR 00 para uma outra localizao. A outra localizao tambm designada por operando. Um bit cujo endereo designado como operando chamado de bit operando; uma palavra cujo endereo seja designado como operando chamada de palavra operando. 4.3 O diagrama de contactos (Ladder Diagram) O diagrama de contactos ou em escada, constituido por uma linha ao alto esquerda de onde partem linhas de ramificao para a direita (horizontais). A linha esquerda chamada de barramento (bus); as linhas que ligam ao barramento so chamadas de linhas de instruo. Ao longo das linhas de instruo existem condies que conduzem a outras instrues ao lado direito. As combinaes lgicas destas condies determinam quando e como as instrues direita so activadas. Na figura apresenta-se um diagrama de contactos.

fig.32 Exemplo de diagrama de contactos (ladder diagram) Como se v no diagrama, as linhas de instruo podem ramificar e voltar a juntar-se. O smbolo constituido por um par de linhas verticais uma condio. As condies que no possuem linhas diagonais so chamadas condies normais e correspondem s instrues LOAD, AND ou OR. As condies com linhas diagonais so chamadas condies NOT ou inversoras e correspondem a LOAD NOT, AND NOT ou OR NOT. O nmero que encima cada condio indica o bit operando da instruo. precisamente o estado lgico do bit associado a cada condio que determina a condio de activao das instrues seguintes. A funo de cada uma das instrues que correspondem condio descrita mais abaixo. Antes disso iremos explicar alguma terminologia bsica. 4.3.1 Terminologia Bsica

Cada condio num diagrama de contactos ou est ON ( verdadeira, verifica-se) ou OFF ( falsa, no se verifica), dependendo do estado lgico do bit operando que lhe est associado. Uma condio normal est ON se o bit operando estiver ON; pelo contrrio estar OFF se o bit estiver OFF. Em termos gerais utiliza-se uma condio normal sempre que se queira que algo acontea quando um bit estiver ON e uma condio inversa quando se quizer que algo acontea quando o bit estiver OFF:

fig.33 Condies normal e inversora Condies de activao - Na programao por diagrama de contactos, a combinao lgica de condies ON e OFF antes de uma instruo determina a condio composta condicionante da activao da instruo. Esta condio que pode ser ON ou OFF, chamada de condio de activao (execuo) da instruo. Todas as instrues, com excepo das instrues LOAD, possuem condies de activao. Bits operandos - Os operandos de cada uma das instrues do diagrama de contactos podem ser qualquer um dos bits das reas IR, SR, HR e TC. Isto significa que as condies no diagrama de contactos podem ser determinadas por bits E/S (I/O), flags, bits de trabalho (work bits), temporizadores e contadores, etc. As instrues de leitura e de sada podem tambm utilizar a rea de bits temporrios TR, mas apenas em condies especiais. Blocos lgicos - As condies associadas a cada instruo, so determinadas pela relao entre as condies estabelecidas pelas linhas de instruo associadas. Cada grupo de instrues que conjuntamente criam um resultado lgico chamado de bloco lgico. Embora se possam projectar diagramas de contactos sem utilizar blocos lgicos individuais, necessrio compreender os blocos lgicos para que haja uma programao eficiente e torna-se mesmo essencial quando da passagem dos programas para cdigo mnemnico. 4.3.2. Instrues de contactos LOAD e LOAD NOT A primeira condio que inicia qualquer bloco lgico num diagrama de contactos corresponde a uma instruo LOAD ou LOAD NOT.

fig.34 Instrues LOAD e LOAD NOT Quando esta a nica condio na linha de instrues, a condio de activao da instruo direita fica ON quando a condio estiver ON. Para a instruo LOAD (isto , para uma condio normal), a condio de activao ser ON quando IR0000 estiver ON; para a instruo LOAD NOT (isto , uma condio inversora), a condio de activao estar ON quando IR0000 estiver OFF. AND e AND NOT Quando duas ou mais condies estiverem em srie na mesma linha de instruo, a primeira corresponde a uma instruo LOAD ou LOAD NOT; as restantes condies correspondem a instrues AND e AND NOT. O exemplo seguinte mostra trs condies que correspondem respectivamente, da esquerda para a direita, a uma instruo LOAD, uma AND NOT e a uma AND.

fig. 35 instrues AND e AND NOT A instruo direita ter uma condio de execuo ON, apenas quando todas as trs condies estiverem ON, isto , quando IR0000 estiver ON, IR0100 estiver OFF e HR000 estiver ON. programa 0000 LOAD 0000 0001 AND NOT 0100 0002 AND HR000

... OR e OR NOT Quando duas ou mais condies estiverem em linhas de instruo diferentes (paralelas) e que se ligam posteriormente, a primeira condio corresponde a uma instruo LOAD ou LOAD NOT; as restantes condies correspondem a instrues OR ou OR NOT.

fig. 36 instrues OR e OR NOT A instruo direita ter uma condio de execuo quando qualquer uma das trs condies estiver ON, isto , quando IR0000 estiver OFF, quando IR0100 estiver OFF ou quando HR000 estiver ON. programa 0000 LOAD 0000 0001 OR NOT 0100 0002 OR HR000 ... Combinando instrues AND e OR Quando instrues AND e OR se combinam em diagramas mais complexos, podem por vezes ser consideradas individualmente, onde cada instruo estabelece uma operao lgica afectando a condio de execuo e o estado (nvel lgico) do bit operando. Considere-se o exemplo da figura:

fig. 37 instrues AND e OR combinadas Neste exemplo, existe um AND entre o estado de 0000 e o estado de 0001 que determinam a condio de execuo com um OR com o estado de 0200. O resultado desta operao determina a condio de execuo para um AND com o estado de 0002 que, por sua vez determina a condio de execuo por um AND com a negao do estado de 0003. programa 0000 LOAD 0000 0001 AND 0001 0002 OR 0200 0003 AND 0002 0004 AND NOT 0003 ... Em diagramas mais complexos, contudo, necessrio considerar blocos lgicos antes que uma condio de execuo seja determinada para a instruo final e nesses casos que as instrues AND LOAD e OR LOAD so utilizadas. 4.3.3 Instrues de Blocos Lgicos As instrues de blocos lgicos no correspondem a condies especficas no diagrama de contactos; antes descrevem relaes entre blocos lgicos. A instruo AND LOAD efectua o AND lgico entre as condies de execuo de dois blocos lgicos. A instruo OR LOAD efectua o OR lgico entre as condies de execuo de dois blocos lgicos. AND LOAD Embora simples na aparncia, o diagrama da figura exige a utilizao de uma instruo AND LOAD.

fig. 38 instruo AND LOAD Os dois blocos lgicos esto assinalados por linhas a tracejado. A anlise deste exemplo mostra que uma condio de execuo ON s ser produzida quando simultaneamente se verificarem: 1) qualquer uma das condies do bloco lgico da esquerda estiver ON (isto , quando 0000 ou 0001 estiver ON) e 2) qualquer uma das condies do bloco lgico da direita estiver ON (isto , quando 0002 estiver ON ou 0003 estiver OFF). Analisando o diagrama em termos de instrues, a condio em 0000 seria uma instruo LOAD e a instruo seguinte pode ser uma instruo OR entre os estados de 0000 e de 0001. A condio em 0002 seria outra instruo LOAD e a condio seguinte uma instruo OR NOT, isto , um OR entre o estado de 0002 e a negao de 0003. Finalmente para chegar condio de execuo direita, seria necessria uma instruo AND entre os resultados das condies de execuo destes dois blocos. A instruo AND LOAD permite-nos fazer isso. programa 0000 LOAD 0000 0001 OR 0001 0002 LOAD 0002 0003 OR NOT 0003 0004 AND LOAD ... OR LOAD Embora se no descreva aqui com detalhe esta instruo, o diagrama seguinte vai exigir uma instruo OR LOAD o bloco lgico

superior e o bloco lgico inferior. Teremos uma condio de execuo ON para a instruo direita do diagrama quando 0000 e 0001 estiverem ON ou quando 0002 estiver ON e 0003 estiver OFF.

fig. 39 instruo OR LOAD programa 0000 LOAD 0000 0001 AND 0001 0002 LOAD 0002 0003 AND NOT 0003 0004 OR LOAD ... 4.3.4. Ramificao de linhas de instruo Quando uma linha de instruo se ramifica em duas ou mais linhas, por vezes necessrio utilizar ou encravamentos (interlocks) ou bits temporrios TR para guardar a condio de execuo que existia no ponto de ramificao. Esta situao decorre do facto de que a execuo de uma linha de instrues se processa da esquerda para a direita at instruo terminal direita e, s depois se verifica o retorno ao ponto de ramificao para execuo das instrues das linhas ramificadas. Se a condio de execuo tiver mudado durante este perodo, perde-se a anterior condio de execuo e no ser possvel uma execuo correcta, sem que, de algum modo, se preserve a anterior condio. Os diagramas seguintes ilustram esta situao. Em ambos os diagramas, a instruo 1 executada antes do retorno ao ponto de ramificao e da execuo da instruo 2.

fig. 40 instrues ramificadas Se, como se mostra no diagrama A, a condio de execuo que existia no ponto de ramificao no for modificada antes do retorno linha de ramificao (as instrues mais direita no modificam a condio de execuo), ento a linha ramificada ser executada correctamente e no ser necessria qualquer medida especfica de programao. Se, como se mostra no diagrama B, existir uma condio entre o ponto de ramificao e a ltima instruo da linha de instruo superior, ento a condio de execuo no ponto de ramificao e a condio de execuo no fim da linha superior podero ser por vezes diferentes, tornando impossvel assegurar a correcta execuo da linha ramificada. O sistema apenas se lembra da condio de execuo actual (isto , a soma lgica para uma linha inteira) e no se lembra de somas lgicas parciais nos diversos pontos ao longo da linha. Existem dois processos de construir programas com ramificaes, de modo a garantir as condies de execuo. Um deles utiliza os bits de armazenamento temporrio TR; o outro, utiliza encrava-mentos (interlocks). Os bits TR A rea de memria TR (Temporary Relay) possui oito bits, TR 0 a TR 7, que podem ser utilizados para armazenar temporariamente as condies de execuo. Se se utilizar um bit TR como operando de uma instruo de sada

(OUTput) colocada no ponto de ramificao, ento a condio de execuo existente ser armazenada no bit TR indicado. O armazenamento das condies de execuo, uma aplicao especial da instruo OUTput. Ao retornar ao ponto de ramificao, o mesmo bit TR utilizado como operando da instruo LOAD para restaurar a condio de execuo que existia na altura em que o ponto de ramificao foi pela primeira vez atingido na execuo do programa. O diagrama B pode ento ser escrito como na figura 41 de modo a assegurar uma execuo correcta.

fig. 41 Em termos de instrues, o diagrama seria transcrito como segue: o estado de 0000 lido (instruo LOAD), para estabelecer a condio de execuo inicial. Esta condio activa agora a sada para o bit TR 0, para assegurar o armazenamento da condio no ponto de ramificao (instruo OUT TR 0). Escreve-se ento uma instruo AND entre a condio de execuo e o estado de 0001, sendo ento executada a instruo 1. A condio de execuo que estava armazenada no bit TR 0 ento lida (instruo LOAD TR 0), sendo a instruo 2 ento executada. programa 0000 LOAD 0000 0001 OUT TR 0 0002 AND 0001 0003 INSTRUO 1 0004 LOAD TR 0 0005 AND 0002 0006 INSTRUO 2

O exemplo seguinte apresenta uma aplicao que utiliza dois bits TR.

fig. 42 utilizao de bits TR para soluo de ramificaes Neste exemplo, TR 0 e TR 1 so utilizados para guardar as condies de execuo nos pontos de ramificao. Aps a execuo da instruo 1, a condio de execuo guardada em TR1 lida para a execuo de um AND com o estado de 0003. A condio de execuo guardada em TR 0 lida duas vezes, a primeira vez para um AND com o estado de 0004 e a segunda para um AND com o inverso do estado de 0005. Os bits TR podem ser utilizados tantas vezes quantas as necessrias, desde que o mesmo bit TR no seja utilizado mais do que uma vez no mesmo bloco de instrues. Nesse caso um novo bloco de instrues recomea cada vez que a execuo retorna ao barramento. Se forem necessrios mais do que oito pontos de ramificao no mesmo bloco de instrues, ento torna-se necessrio utilizar encravamentos. Ao desenhar diagramas de contactos, deve cuidar-se em no utilizar bits TR, a no ser que sejam efectivamente necessrios. Encravamentos O problema da preservao das condies de execuo em pontos de ramificao, pode tambm ser resolvido utilizando as instrues Interlock IL(02) e Interlock Clear ILC(03). Quando uma instruo de encravamento colocada num ponto de ramificao de uma linha de instruo, e a condio de execuo para a instruo de encravamento estiver ON, cada ramo considerado como sendo uma nova linha de instrues, com a primeira

condio em cada ramo correspondendo a instrues LOAD ou LOAD NOT. Se a condio de execuo para a instruo de encravamento estiver OFF, todas as instrues direita dos ramos ligados ao ponto de ramificao recebem uma condio de execuo OFF, at linha de instruo de Interlock Clear. O diagrama B da figura 40 pode ser corrigido por meio de instrues de encravamento. Como se v pela figura, isso requere mais uma linha de instruo para a instruo Interlock Clear.

fig. 43 soluo de ramificao com encravamento Se 0000 estiver ON, o estado de 0001 e o estado de 0002 determinam respectivamente as condies de execuo para as instrues 1 e 2. Como 0000 est ON isso leva ao mesmo resultado que efectuar um AND aos estados destes dois bits, como ocorreria se no usasse encravamento, isto , as instrues Interlock (IL) e Interlock Clear (ILC) no afectam a execuo. Se 0000 estiver OFF, a instruo de encravamento produz uma condio de execuo OFF para as instrues 1 e 2, pelo que a execuo continuar com a linha de instruo seguinte linha que contem a instruo Interlock Clear. Como os ramos que saem de um ponto de ramificao com encravamento, constituem linhas de instruo independentes, as seces de programas com encravamento, podem ser redesenhadas sem o ponto de ramificao. O diagrama seguinte apresenta o mesmo comportamento que o diagrama da figura anterior, sendo implementado da mesma maneira e com as mesmas instrues.

fig. 44 forma simplicada sem ramificaes 4.3.5 Instrues de Salto Uma determinada seco de um programa pode ser saltada, em funo de uma dada condio de execuo. Embora isso seja semelhante ao que acontece no caso da condio de execuo de uma instruo de encravamento ser OFF, no caso do salto (Jump), os operandos das instrues mantm o estado. As instrues de salto podem assim ser utilizadas para controlar dispositivos que exigem sadas permanentes, isto , equipamentos pneumticos ou hidrulicos, enquanto os encravamentos podem ser utilizados para dispositivos que no exigem sadas permanentes, como os electrnicos. Obtem-se um salto por utilizao da instruo Jump (JMP(04)) e da instruo Jump End (JME(05)). Se a condio de execuo para uma instruo de salto for ON, o programa executado normalmente como se o salto no existisse. Pelo contrrio, se a condio for OFF, a execuo do programa transferida para a instruo Jump End sem modificao do estado do que estiver entre a instruo Jump e Jump End. Na realidade existem dois tipos de saltos. As instrues Jump e Jump End so associadas a nmeros entre 00 e 08. O nmero de salto utilizado define o tipo de salto.Os saltos com nmeros entre 01 e 08 apenas podem ser utilizados uma vez numa instruo Jump e uma vez numa instruo Jump End. Quando uma instruo Jump com algum destes nmeros executada, a execuo transfere-se imediatamente para a instruo seguinte Jump End com o mesmo nmero, como se as instrues existentes entre as duas no existissem. O diagram B do exemplo dado anteriormente para o bit TR e o encravamento pode agora ser redesenhado

com um salto. Embora se tenha usado o nmero 01 para o salto, qualquer nmero entre 01 e 08 serviria, desde que no tivesse ainda sido utilizado noutra parte do programa.

fig. 45 Diagrama B: corrigido com uma instruo Jump O outro tipo de salto criado com um salto de nmero 00. Podem criar-se tantos saltos 00 quantos quizermos, podendo ser utilizados consecutivamente sem uma instruo Jump End entre eles. A execuo de programas com mltiplas instrues Jump 00 para uma nica instruo Jump End, assemelha-se de seces de programa com encravamentos. O exemplo da figura resolve por meio de saltos de tipo JMP 00, o diagrama de contactos da figura 42.

fig. 46 Utilizao de mltiplos saltos JMP 00. 4.3.6 Controlo do estado de bits

Existem cinco instrues que podem ser utilizadas para controlar o estado individual de bits: Output ou OUT, Output NOT ou OUT NOT, Differentiation Up ou DIFU, Differentiation Down ou DIFD e KEEP. Todas estas instrues aparecem como ltima instruo de uma linha de instruo e possuem um endereo de bit como operando. Embora estas instrues sejam utilizadas para colocar ON ou OFF bits de sada da rea IR (isto , enviar ou parar sinais de sada para dispositivos exxternos), so tambm utilizados para controlar o estado de outros bits na rea IR ou noutras reas. OUT e OUT NOT As instrues OUT e OUT NOT so utilizadas para controlar o estado do bit operando em funo da condio de execuo. Com a instruo OUT, o bit operando ficar ON enquanto a condio de execuo estiver ON e comutar para OFF enquanto a condio de execuo estiver OFF. Com a instruo OUT NOT, o bit operando ficar ON enquanto a condio de execuo estiver OFF e comutar para ON enquanto a condio de execuo estiver ON. No exemplo da figura

fig. 47 instrues OUT e OUT NOT o bit 0500 ficar ON enquanto 0000 estiver ON e o bit 0501 ficar OFF enquanto 0001 estiver ON. Neste caso 0000 e 0001 so bits de entrada (input bits) e 0500 e 0501 so bits de sada (output bits) associados a dispositivos controlados pelo autmato. Differentiation Up e Down As instrues Differentiation Up e Differentiation Down so utilizadas para colocar ON o bit operando durante o decurso

de um ciclo (scan time). A instruo Differentiation Up activa o bit operando durante um ciclo, aps a condio de execuo, quando esta transita de OFF para ON; a instruo Differentiation Down activa o bit operando durante um ciclo, aps a condio de execuo, quando esta transita de ON para OFF. O exemplo seguinte mostra os mesmos bits E/S, mas desta vez so controlados pelas instrues Differentiation Up e Differentiation Down.

fig. 48 instrues Differentiation Up e Differentiation Down Neste exemplo, o bit 0500 passar a ON durante um ciclo, aps 0000 passar a ON. No ciclo seguinte, a instruo DIFU 0500 colocar o bit 0500 OFF, independentemente do valor de 0000. Por seu lado, bit 0501 passar a ON durante um ciclo, aps 0001 passar a OFF. No ciclo seguinte, a instruo DIFD 0501 colocar o bit 0501 ON, independentemente do valor de 0001. Keep A instruo KEEP utilizada para manter o estado do bit operando, com base em duas condies de execuo. Para isso, a instruo KEEP est ligada a duas linhas de instruo. Quando a condio de execuo existente no fim da primeira linha de instruo estiver ON, o bit operando da instruo KEEP activado ON.Quando a condio de execuo existente no fim da segunda linha de instruo estiver ON, o bit operando da instruo KEEP activado OFF. O bit operando de um ainstruo KEEP mantem o estado ON ou OFF, mesmo se estiver inserido numa seco de um diagrama com encravamento, enquanto a condio de execuo da instruo de encravamento estiver ON. No exemplo da figura, HR 000 ficar ON quando 0002 estiver ON e 0003 estiver OFF.

HR 000 manter o estado ON at que ou 0004 ou 0005 fique ON.

fig. 49 instruo KEEP Bits auto-alimentados Embora a instruo KEEP possa ser utilizada para criar bits auto-alimentados, por vezes necessrio project-los de outro modo, de forma a poderem ser desligados (OFF), mesmo numa seco de um programa com encravamento. Para criar um bit auto-alimentado, o bit operando de uma instruo Output usado como condio para a mesma instruo de Output num OR, de forma que bit operando da instruo Output permanecer ON ou OFF at que exista mudana noutro bit. usado um outro bit, pelo menos, para funcionar como Reset. Sem isso seria impossvel retirar o bit operando do estado em que ficar. O diagrama seguinte uma verso do diagrama da figura 49, mas utilizando um bit auto-alimentado.

fig. 50 bit auto-alimentado Neste exemplo, so utilizados dois bits de reset, isto , HR 000 colocado OFF, seja por 0004, seja por 0005 ficarem ON. END

A ltima instruo de qualquer programa tem que ser uma instruo END. Quando a CPU varre o programa, executa todas as instrues at encontrar a primeira instruo END, antes de retornar ao incio do programa e recomear a execuo novamente.

Vous aimerez peut-être aussi