Ricardo s. Santos Prh34 Ufsc Das g

download Ricardo s. Santos Prh34 Ufsc Das g

of 104

Transcript of Ricardo s. Santos Prh34 Ufsc Das g

UNIVERSIDADE FEDERAL DE SANTA CATARINACURSO DE ENGENHARIA DE CONTROLE E AUTOMAO INDUSTRIAL

Automao das Plataformas P-34 e P-48: Tratamento dos Pontos de Entrada e Sada

Monografia submetida Universidade Federal de Santa Catarina como requisito para a aprovao da disciplina: DAS 5511: Projeto de Fim de Curso

Ricardo Souza Santos

Florianpolis, Maro de 2004.

Automao das Plataformas P-43 e P-48: Tratamento dos Pontos de Entrada e Sada

Ricardo Souza SantosEsta monografia foi julgada no contexto da disciplina DAS 5511: Projeto de Fim de Curso e aprovada na sua forma final pelo Curso de Engenharia de Controle e Automao Industrial Banca Examinadora:

Fernando Gonalves Costa Orientador Empresa Daniel Juan Pagano Orientador do Curso Prof. Augusto Humberto Bruciapaglia Responsvel pela disciplina Prof. Julio Elias Normey Rico, Avaliador Rafael Carvalho Uberti, Debatedor Pedro Alves Brito de Azambuja, Debatedor

2

Agradecimentos

Aos meus pais, por terem me apoiado incondicionalmente, e por terem me dado todas as condies de concluir os meus objetivos. Aos meus irmos, pelo tempo que passamos juntos e por sempre terem me ajudado. Aos amigos que fiz em todos nestes 5 anos de convivncia na UFSC. Aos professores do DAS, pela extrema competncia e dedicao, em especial aos professores Augusto Humberto Bruciapaglia e Daniel Juan Pagano que me deram uma oportunidade de ingressar no mundo da pesquisa e, at o momento, no mundo do petrleo. Ao orientador Fernando Gonalves Costa, com quem tive calorosas e valorosas discusses. Unicontrol pela excelente oportunidade que me deu.

i

Resumo

A P-43 e P-48 so as mais novas plataformas de explorao de petrleo desenvolvidas pela estatal Petrobras. Elas so a aposta da auto-suficincia na produo de petrleo no Brasil depois de anos em busca desta meta. A construo de estruturas de grandes propores como estas exige um longo trabalho de logstica e engenharia. Neste contexto, a Unicontrol foi a responsvel por toda a parte de desenvolvimento e implantao do sistema de automao destas plataformas. O sistema de controle baseado em automao por CLP. No caso das plataformas, isto significa controle central com entradas e sadas distribudas atravs de redes de comunicao. O sistema composto de vrios subsistemas redundantes que cuidam, cada uma deles, de uma funo de controle. Assim por exemplo, existe o sistema de controle do processo, o sistema de desligamento de emergncia e assim por diante. Este sistema de controle diretamente dependente da interao com os sinais de campo. Neste trabalho, foi desenvolvido o Sistema de Tratamento dos Pontos de Entrada e Sada, uma interface de software que visa garantir o cumprimento de especificaes de projeto. Estas especificaes so definidas pela Petrobras e visam facilitar o desenvolvimento da lgica e garantir uniformidade e confiabilidade na comunicao entre os sinais de campo e os controladores centrais (CLPs). O desenvolvimento do software se deu em linguagem STL para o CLP Siemens da famlia S7-400. Blocos de programa foram desenvolvidos e testados em laboratrio e cumprem com os requisitos especificados. O Sistema de Tratamento dos Pontos de Entrada e Sada substituiu outro, desenvolvido anteriormente, com vantagens em relao ao tempo de execuo, clareza da lgica e principalmente em relao ao espao de memria utilizado.

ii

Abstract

P-43 and P-48 are the newest oil platforms developed by the stated-owned Petrobras. With this two projects, Brazil will accomplish its goal of self-sufficiency in oil production. To build structures like these, a whole engineering and logistic work is needed. In this context, Unicontrol has been responsible for the development and implementation of the automation system. The control system is based in central PLCs controlling distributed I/O over a networked system. The system is composed by a set of redundant subsystems which are responsible, each one, for a control function. Thus, for example, there is the Process Control System, the Emergency Shutdown System, etc. This control system is directly dependant on the communication with field signaling. In this work, it has been developed an I/O Signals Management System, a software interface which aims at a project specification accomplishment. These specifications are defined by Petrobras to facilitate the logic development and to ensure sameness and reliability in the communication between field signaling and PLCs. The software has been developed in STL (Statement List) Language for Siemens S7-400 PLC. Software blocks have been developed and tested in laboratory and they accomplish the specifications required. This system has displaced another one, previously developed, with advantages related to the scan time and mainly related to the memory space required for the logic. In this way, control system gets faster ensuring a whole system better performance.

iii

Sumrio

Agradecimentos................................................................................................. i Resumo ............................................................................................................ ii Abstract ........................................................................................................... iii Sumrio ........................................................................................................... iv Captulo 1: Introduo ......................................................................................1 Captulo 2: Unicontrol no Projeto......................................................................4 Captulo 3: Caractersticas Construtivas das Plataformas................................7 3.1: Caractersticas do leo..........................................................................9 3.2: Viso Geral do Processo .......................................................................9 Captulo 4: Arquitetura Geral das Redes de Controle ....................................11 4.1: Acesso aos Dados Remotos................................................................12 4.2: Rede Profibus DP ................................................................................13 4.3: Profibus FMS e Nvel Superior de Controle .........................................14 Captulo 5: S7-400 e S7-300 ..........................................................................18 5.1: Hardware Controlador Central.........................................................18 5.2: Princpios de Programao do S7-400 ................................................24 Captulo 6: Tratamento de Entradas e Sadas ...............................................47 6.1: Objetivo do Tratamento de Entradas e Sadas ....................................47 6.2: Mapeamento de Memria do CLP .......................................................49 6.3: Implementao ....................................................................................50 Captulo 7: Resultados ...................................................................................86 7.1: Condies de Obteno dos Resultados.............................................86 7.2: Visualizao do Funcionamento ..........................................................87 iv

7.3: Resultados Obtidos..............................................................................87 Captulo 8: Concluses ..................................................................................90 Bibliografia:.....................................................................................................92 Anexo A Instrues STL utilizadas ............................................................93

v

Captulo 1: Introduo

Os Campos de Produo de leo de Caratinga e Barracuda esto localizados na parte central da Bacia de Campos, onde a lmina dgua atinge 1040 metros. O Projeto das Plataformas P-43 / Barracuda e P-48 / Caratinga consiste da construo de duas plataformas FPSO (Floating Production, Storage and Offloading Units) para processar 150.000 bpd (barris por dia) de leo cru e 3.000.000 Nm3/d (metros cbicos por dia nas condies normais de temperatura e presso) de gs natural cada uma. Estas plataformas so responsveis pela extrao de um total de 45 poos (26 para P-43 / Barracuda e 19 para P-48 / Caratinga). Nestas refinarias flutuantes, onde a primeira fase do refino executada, o petrleo dos reservatrios transportado para a superfcie, separado da gua, gs e areia que o acompanham.

Fig. 1.1 Localizao dos Campos de Barracuda e Caratinga

Estas plataformas exigem um complexo e extenso sistema de controle e superviso de maneira a promover o funcionamento automatizado do sistema. Uma rede eficiente, com possibilidade de integrao a outros sistemas, uma das ferramentas necessrias ao atendimento deste requisito.

1

A rede de controle utilizada nestas plataformas na verdade um conjunto de redes que atuam em conjunto para garantir segurana e confiabilidade ao sistema. Sua arquitetura e tecnologia foram projetadas para evitar ao mximo que falhas afetem a controlabilidade do sistema. Um exemplo disso so os anis de comunicao que interligam os painis remotos aos CLPs: alm da redundncia, seguem caminhos alternativos na plataforma. So ainda construdos em fibra tica garantindo segurana nas reas classificadas, imunidade a rudos eletromagnticos e menor perda de pacotes de informao. Outra rede existente, utilizada especificamente para fazer a manuteno preditiva da instrumentao baseada em sinais de 4 a 20 mA, o protocolo Hart. H ainda a rede do AFDS (Sistema Enderevel de Deteco de Fogo), responsvel pela interligao dos sensores de fogo e gs. O sistema supervisrio est concentrado na ECOS (Estao Central de Operao e Superviso), localizado na sala de controle. O sistema de controle central e basicamente formado por 5 CPUs de CLP redundantes, totalizando 10 CPUs. A ECOS ligada aos CLPs atravs de uma rede Ethernet. As plataformas P-43 e P-48 fazem parte da categoria das grandes plataformas. Seu sistema de controle possui mais de 15.000 pontos de E/S. Estes sinais so parte fundamental do sistema de controle da plataforma. O tratamento de sinais de E/S visa prover o sistema de controle de informao vinda do campo de uma maneira padronizada, realizando funes de temporizao, bypass de entrada e travamento de estado (selo de alarme). A sada do sistema igualmente tratada, dando ao operador do sistema a flexibilidade de sobrescrever os bits da lgica do intertravamento, atravs do supervisrio. Uma dificuldade em implementar tal sistema est no fato de a linguagem disponvel para programao ser de baixo nvel. Para fazer a varredura (scan) de todos os bits teve-se de utilizar um ponteiro especial que d informao de endereo e comprimento de rea. Alm disso, o fato de se utilizar temporizao (na verdade, um atraso no sinal) cria uma dificuldade adicional que ser explicada no captulo especfico. Nos captulo 2, ser feita a descrio do papel da Unicontrol no projeto, principalmente do escopo de suprimento. 2

No captulo seguinte, algumas caractersticas construtivas das plataformas sero descritas, assim como uma viso geral do processo. No quarto captulo, a arquitetura das redes de controle ser mostrada. As particularidades de cada uma e sua importncia no alcance do projeto. No quinto captulo, as caractersticas do hardware sero mostradas, assim como as de software. Alguns conceitos bsicos do CLP utilizado sero mostrados para que no sexto captulo seja caracterizada a implementao propriamente dita. No stimo captulo sero apresentados os resultados obitidos e ser discutida a soluo adotada. No oitavo e ltimo captulo, sero expostas as concluses acerca do trabalho realizado.

3

Captulo 2: Unicontrol no Projeto

O projeto de construo das plataformas Barracuda e Caratinga P-43 / P-48 teve incio com a abertura da licitao. A Petrobras no constri as plataformas mas contrata empresas competentes para faz-lo. A vencedora da licitao para a construo foi a empresa KBR, ligada americana Halliburton. A KBR recebeu da Petrobras um contrato de cerca de U$ 1,3 bilho para ser usado na perfurao dos poos e construo das duas plataformas. Devido magnitude do projeto, e diversidade de tarefas envolvidas na construo, nem todos os servios so realizados pela ganhadora da licitao (Tabela 2-1). Outras empresas so usualmente contratadas para tarefas mais especficas como por exemplo a automatizao das plataformas. Neste contexto, a Unicontrol foi ento escolhida pela KBR para ser a responsvel pela automao da plataforma.Tabela 2-1 Ordem de Contratao das Empresas

Produo de Petrleo Construo da P-43 e P-48

Automao

O papel da Unicontrol envolveu o suprimento de todo o equipamento e servios para a ECOS (Estao Central de Operao e Superviso), incluindo:

11 painis de E/S remotos com grau de proteo IP54.

4

12 painis de E/S remotos com grau de proteo IP65. 45 km de fibra tica (halogen free para evitar propagao de incndio). CLPs para todos os subsistemas de controle e painis de E/S, num total de 10 CPUs e 1750 cartes de E/S.

8 estaes de trabalho e 2 servidores. 19 microcomputadores e notebooks para manuteno, administrao e aplicaes de terceiros.

Sistema de deteco de Fogo & Gs (AFDS).

A Unicontrol cobriu as reas de engenharia, manufatura, compra, desenvolvimento de software e comissionamento. Toda a parte de engenharia foi concentrada no Brasil j que a Halliburton / KBR e Petrobras tm seus centros de operao para este projeto no Rio de Janeiro. A compra dos equipamentos foi feita atravs do escritrio da Unicontrol em So Paulo. Os painis com grau de proteo IP54 (proteo contra poeira e projees dgua) foram usados para reas no-classificadas enquanto os painis IP65 (proteo total contra poeira e contra jatos dgua), tiveram de ser projetados e manufaturados pela Unicontrol, com o processo de certificao feito no Brasil. Estes foram posteriormente enviados Singapura, local da construo naval da P-43, conforme a necessidade. Toda a programao do CLP, desde a anlise das matrizes de causa-efeito at o desenvolvimento, aprovao e implementao dos blocos de funo esto sob a responsabilidade da Unicontrol. A Arquitetura de Controle por Unidade de Processo (MCPU) divide a segurana e as funes do processo de qualquer unidade em cinco grupos: Controle do Processo (Control), Fogo & Gs (F&G VAC), Utilidades da Embarcao (Vessel), Gerenciamento de Energia (Electrical) e Desligamento de Emergncia (ESD). Cada grupo funcional implementado na configurao do seu prprio hardware redundante.

5

O uso da Arquitetura MCPU resulta em cada unidade do processo sendo controlada por at cinco controladores diferentes, cada um responsvel por um dos grupos funcionais descritos acima. Neste sentido, a perda de parte da funcionalidade em algum grupo funcional no significar que a plataforma como um todo ser afetada. Devido configurao por funes, a cada dispositivo inteligente permitido comunicar-se com os elementos instalados em cada rea de processo da plataforma. Para garantir maior confiabilidade ao sistema, todos os servios diretamente envolvidos com a ECOS (Estao Central de Operao e Superviso) esto tambm sob a responsabilidade da Unicontrol. Isto inclui: Todo o projeto, desenvolvimento e implementao de todos os aspectos de engenharia da ECOS. Todos os servios de campo, da instalao ao comissionamento, startup, operao assistida e treinamento. Interligao a outros pacotes j instalados, garantindo sua total integrao ECOS.

6

Captulo 3: Caractersticas Construtivas das Plataformas

Quanto s plataformas, esta a primeira vez que duas plataformas esto sendo construdas em dois lugares diferentes (Singapura e Brasil) para iniciar a produo quase que simultaneamente. A P-48 est sendo construda no estaleiro Bras Fels em Angra dos Reis RJ. A parte de construo naval da P-43 foi quase que totalmente realizada em Singapura, no Estaleiro Jurong. Isto devido inexistncia, no Brasil, de um outro dique seco que comportasse o seu porte (337 m de comprimento). Atualmente, a P-43 encontra-se no Estaleiro Mau-Jurong em Niteri RJ em fase de comissionamento e instalao dos mdulos. As plataformas P-43 e P-48 so resultado da converso de antigos navios petroleiros em plataformas e so mais um passo da Petrobras em busca da autosuficincia no mercado de petrleo. Juntas ambas podem produzir 300 mil barris de petrleo por dia. Os petroleiros utilizados nestas plataforamas no poderiam mais ser utilizados no transporte de petrleo pelo fato de possurem casco simples (normas ambientais internacionais no permitem mais a utilizao deste tipo de navio nesta atividade). Foram ento transformadas em FPSOs (Floating Production, Storage and Offloading), unidades flutuantes que produzem, separando o leo da gua e areia, armazenam at um certo limite e depois descarregam o leo produzido em outro navio de transporte. So versteis devido a sua capacidade de locomoo, feita atravs de rebocadores, e por no precisarem de dutos ligando-as terra para o escoamento a produo. A FPSO P-43, por exemplo, tem uma capacidade de armazenamento mxima maior do que 1,5 milho de barris, o que equivale a aproximadamente a 75% da mdia diria de produo da Petrobras em 2003, que foi de 2.001.100 bpd [1]. A produo esperada da plataforma de 150 mil bpd, ou seja, pode ficar aproximadamente 10 dias em produo continuada sem descarregamento. No entanto, quando estiver em funcionamento, prev-se que o descarregamento da produo se dar a cada 7 dias durando dois dias. A capacidade de bombeamento mxima, da P-43 para o navio de transporte, superior a 60 mil barris por hora. 7

Fig. 3.1 Stena Continent: Navio convertido na P-43

Fig. 3.2 P-43 chegando de Singapura (sem os mdulos superiores)

8

3.1: Caractersticas do leoO leo a ser produzido em Barracuda tem um API de 26, o que caracteriza um leo pesado, tpico da Bacia de Campos. Seus valores de viscosidade so de 30,0 cP (30 C); 21,0 cP (50 C) e 15,7 cP (60 C). O incio do deposio de parafina ocorre a 15 C.

3.2: Viso Geral do ProcessoNumerosos poos alimentam as FPSOs de Barracuda e Caratinga (26 poos do campo de Barracuda para a P-43 e 19 do campo de Caratinga para a P-48). Estes poos so ligados ao navio atravs de dutos flexveis (risers). Existem tambm as linhas que fazem a transmisso dos sinais de controle chamadas de umbilicais. O controle de abertura do poo feito atravs de acionamento hidrulico pela rvore de natal1 molhada, ou seja, localizada no fundo do mar. O leo extrado chega plataforma e passa pelo manifold2. Neste local existe um conjunto de tubulaes grandes propores, preparadas para receber o petrleo vindo dos poos. Existem na plataforma trs manifolds: dois de produo e um de testes do leo produzido. Os testes so necessrios para verificar se leo encontra-se dentro dos padres esperados para aquela regio e para analisar o efeito dos mtodos de elevao artificial na composio do leo. Isto inclui a relao gua / leo e a quantidade de areia. O leo vindo dos manifolds de produo ento encaminhado aos separadores para a retirada de gua e gs (Fig. 3.3). A separao neste caso d-se por decantao: a gua, assim como algumas impurezas presentes no leo, mais densas, tendem a descer enquanto o leo e o gs, menos densos, tendem a subir. A gua retirada no pode ser simplesmente descartada. Ela passa por um processo de filtragem no hidrociclone e depois descartada.

1

rvores de natal so conjuntos de conectores e vlvulas usadas para controlar o fluxo dos

fluidos produzidos ou injetados, instalados em cima da cabea do poo.2

Manifold um equipamento de passagem e de manobra da produo, onde o leo

agrupado em um mesmo coletor.

9

Deste separador inicial, o leo segue para o desidratador de leo e depois para o tratador eletrosttico. O tratador eletrosttico retira as impurezas restantes ainda presentes que no saram por decantao. Deste, o leo segue at os separadores atmosfricos para a retirada do restante do gs. J sem gua e sem gs, o leo pode ser armazenado nos tanques de estocagem do navio. Uma parte do gs pode ser utilizada na elevao artificial por gas lift. Existem vasos para armazen-lo j que o gs o combustvel utilizado para a gerao de energia na plataforma. O excesso de gs queimado no flare. Ainda existem processos auxiliares para a desidratao de gs.

Fig. 3.3 Fluxo de Processo

10

Captulo 4: Arquitetura Geral das Redes de Controle

O bom funcionamento da automao da plataforma diretamente dependente das redes de comunicao entre os sensores, controladores e atuadores. Um bom projeto de engenharia essencial neste caso que envolve mais de 15000 pontos de entrada e sada. evidente que esta quantidade de sinais no pode ser ligada diretamente a mdulos de E/S na sala de controle a quantidade de cabos torna praticamente impossvel esta abordagem. A arquitetura preocupouse ento em distribuir o controle usando painis remotos com estes cartes de E/S deixando a comunicao com o controlador central sob responsabilidade de uma rede Profibus DP. Desta maneira, reduz-se a fiao e permite-se que os instrumentos fiquem fisicamente mais prximos de seus cartes de integrao. Garante-se desta maneira maior confiabilidade ao sistema e maior resistncia a falhas. O controle da plataforma feito centralmente, a partir de CLPs localizados em uma sala de painis ao lado da sala de controle. Mais especificamente, realizado por 5 CLPs Siemens S7-400 redundantes alimentados por uma fonte de alimentao da mesma srie. Cada um destes CLPs responsvel por uma funo de controle, os chamados subsistemas de controle. Esto presentes na plataforma os seguintes subsistemas de controle:

Emergency Shutdown Subsystem (Sistema de Desligamento de Emergncia) composto por duas CPUs de CLP redundantes.

Vessel Control Subsystem (Sistema de Controle de Utilidades da Embarcao) composto por duas CPUs de CLP redundantes

Electrical Control Subsystem (Sistema de Controle Eltrico) composto por duas CPUs de CLP redundantes.

Fire & Gas Subsystem (Sistema de Conteno de Fogo & Gs) composto por duas CPUs de CLP redundantes.

11

Process Control Subsystem (Sistema de Controle de Processos) composto por duas CPUs de CLP redundantes.

Alm destes, existem outros dois CLPs, tambm redundantes, totalizando quatro CPUs, que fazem o controle do Sistema de Gerenciamento de Energia e do Gerador de Emergncia. Estes dois sistemas no estiveram sob responsabilidade da Unicontrol e no sero abordados neste trabalho.

4.1: Acesso aos Dados RemotosA comunicao entre os instrumentos de campo e os CLPs feita atravs de subredes que esto associadas a cada um dos subsistemas que formam o sistema de controle (Emergency Shutdown ESD; Vessel Control VCS; Electrical Control ECS; Fire & Gas FGV; Process Control PCS). Cada subsistema da plataforma possui seus prprios pontos de entrada e sada. A arquitetura bsica formada por painis de entrada e sada remotos, localizados no campo, prximos aos instrumentos, que centralizam a coleta e distribuio dos dados. Todos os instrumentos automatizados so ligados a estes painis. Nestes painis esto alocados cartes de E/S digitais e analgicos, responsveis pela transformao dos sinais, da srie Siemens S7-300 e uma fonte alimentadora. Desta maneira os sinais podem ser endereados pela CPU S7-400 (controlador central) e utilizados nas rotinas de controle. Os sinais de um mesmo subsistema so agrupados em um mesmo mdulo de interface chamado IM. Deste mdulo existe uma ligao a um conversor OLM eltrico / tico. Existem usualmente duas abordagens em relao redundncia no campo. Uma delas prev a duplicao do I/O, isto , a utilizao de dois instrumentos de campo para a leitura do mesmo sinal. Outra se utiliza da redundncia do meio de transmisso. Para escolher uma ou outra deve-se levar em conta os custos de engenharia. Foi devido ao grande nmero de instrumentos de campo que a segunda opo foi escolhida. Os cabos redundantes percorrem caminhos diferentes na

12

plataforma para garantir maior segurana. Isto porque, caso houver rompimento de um deles, no necessariamente o outro se romper. Esta rede redundante utiliza o protocolo Profibus DP e interliga painis e controladores centrais.

4.2: Rede Profibus DPNo caso do acesso aos dados dos painis, utilizada a rede Profibus DP, considerada uma das redes de campo de mais rpidas e confiveis disponveis atualmente. um formato de troca de mensagens especificamente projetado para acesso serial s entradas e sadas. O sufixo DP (decentralized periphery) refere-se periferia descentralizada, que usado para descrever a arquitetura de E/S distribudo com controle centralizado. No caso das plataformas, como j dito anteriormente, imperativa a utilizao de um barramento de campo como este. Com mais de 15000 pontos de E/S, seria impossvel ligar todos os dispositivos diretamente aos controladores centrais, usando um par de fios para cada dispositivo como no modo mais usual. Os problemas de cabeamento seriam evidentes, tanto na quantidade como na qualidade das conexes, trazendo muitos problemas ao controle devido a falhas. O protocolo permite que os dispositivos de E/S sejam conectados aos seus respectivos controladores centrais por apenas um par de fios. O Profibus DP utiliza um mestre no barramento para controle de acesso ao cabo serial RS-485. Um escravo Profibus DP qualquer dispositivo perifrico que processa informao e envia sua sada ao mestre. O escravo uma estao passiva na rede j que no tem direito a aceso ao barramento e pode apenas enviar sinais de reconhecimento de mensagens recebidas ou enviar mensagens de resposta ao mestre sob requisio. Todos os escravos Profibus tm a mesma prioridade e toda a comunicao da rede se origina do mestre. A CPU S7-400, utilizada no controle central, suporta a utilizao do protocolo Profibus DP e possui uma entrada especfica para este protocolo. No caso da rede utilizada na plataforma, esta CPU faz o papel de mestre de comunicao. Os mestres so as estaes ativas na rede. Eles determinam a velocidade de transmisso e os escravos detectam automaticamente esta taxa. Os mestres lidam com o envio e recebimento de dados 13

de seus escravos e agem como os controladores na troca de informao de E/S com seus escravos, fazendo uma atualizao cclica dos dados. Os mestres podem acessar escravos de maneira individual, de maneira grupal (multicast) ou podem enderear escravos de maneira geral para todos os escravos conectados (broadcast). Os escravos retornam respostas para todos as mensagens endereadas individualmente a eles. Eles no respondem a um multicast ou um broadcast de um dispositivo mestre. Devido ao fato de o Profibus DP usar um algoritmo que permite o acesso ao barramento de maneira cclica (peridica) ele um protocolo determinstico. Isto significa que o sistema Profibus garante um tempo mximo de ciclo no qual todos os dispositivos sero atualizados. De fato, a rede Profibus DP foi projetada para ter este comportamento determinstico. Isto garante mais confiabilidade ao sistema pelo fato de nenhum sinal ficar sem ser lido em um tempo determinado, ou seja, no ocorre a postergao indefinida no acesso. Isto especialmente importante na plataforma pois quase todos os sinais trazem, direta ou indiretamente, informaes sobre segurana do sistema. Na Fig. 4.1 pode-se ter uma viso geral do sistema, incluindo as redes Profibus DP e Profibus FMS, que ser abordada no prximo item.

4.3: Profibus FMS e Nvel Superior de ControleCada CLP se comunica com seu redundante via enlace tico instalado na prpria CPU. A redundncia de hardware mais uma das caractersticas do sistema que visa garantir a segurana do controle. Todo o rack que contm as CPUs duplicado. Isto inclui as fontes de alimentao, as prprias CPUs (com entradas MPI e Profibus DP), o modulo de comunicao via Ethernet, o mdulo de comunicao Profibus FMS e, em alguns subsistemas, os mdulos de comunicao via Modbus. O enlace tico (Fig. 4.2) a maneira pela qual as CPUs de um mesmo subsistema se comunicam para manter a sincronia das informaes e para avisar que a outra deve entrar em ao devido a alguma falha na CPU principal. A este sistema d-se o nome de hot stand by.

14

Fig. 4.1 Arquitetura do sistema de controle principal

Todas as CPUs dos 14 CLPs (subsistemas de controle, Sistema de Gerenciamento de Energia e Gerador de Emergncia) so interligadas em um anel de fibra tica que funciona utilizando o protocolo Profibus FMS. Para a utilizao desta tecnologia, est acoplado ao rack da CPU S7-400 um mdulo Siemens CP443-5 que contm um carto especfico para esta finalidade. Deste mdulo existe uma ligao a uma OLM, um dispositivo conversor eltrico / tico. Este dispositivo possui uma sada eltrica e duas ticas, formando um T que permite a topologia em anel. Desta forma, todas as CPUs do sistema ficam penduradas no anel (Fig. 4.2). A topologia em anel possui uma caracterstica que a torna vantajosa em relao a outras. Em caso de rompimento do cabo em algum ponto, ainda assim a comunicao via Profibus FMS entre as CPUs poder acontecer, pois existir um caminho ligando todas elas.

15

Fig. 4.2 Redundncia dos racks, enlace tico e rede Profibus FMS

A transmisso de dados por uma via Profibus FMS (Fieldbus Message Specification) adequada para a transmisso de dados estruturados [2], neste caso entre as CPUs dos CLPs. A grande vantagem do protocolo Profibus FMS que estruturas de dados podem ser transferidas em um formato neutro (padro) e ento convertidos no formato exigido pelo dispositivo final. O direito de acesso rede definido pelo token que passado de um dispositivo mestre para outro. Os dispositivos escravos s reagem quando requisitados por um mestre. Em termos de funcionalidade de um dispositivo FMS, uma distino feita entre:

Cliente FMS: requisita um servio, assumindo que este um dispositivo mestre.

Servidor FMS: fornece o servio requisitado. Tanto um mestre no Profibus como um escravo podem atuar como servidores.

16

Um sistema mestre FMS formado por dispositivos que tenham, todos eles, capacidade de se comunicar no formato FMS na mesma subrede Profibus. A rede utilizada na plataforma, no nvel dos CLPs, deste tipo.

17

Captulo 5: S7-400 e S7-300

Como exposto anteriormente, o sistema de controle da plataforma central e realizado pelo CLP Siemens srie S7-400, com a CPU 417H. So dez CPUs, cinco delas ativas e cinco em modo stand by. Os mdulos de expanso de E/S so da srie S7-300. Ambas as sries fazem parte da famlia Simatic Step 7.

5.1: Hardware Controlador CentralOs CLPs encontram-se nos racks na sala de painis, ao lado da sala de controle da plataforma. A configurao utilizada pode ser visualizada na Fig. 5.1.

Fig. 5.1 Configurao do Rack

5.1.1: Fonte de Alimentao PS 407 responsvel pela alimentao de todos os dispositivos presentes no rack. capaz de fornecer uma tenso de sada de 5 V DC e 24 V DC dependendo da aplicao. O fornecimento se d via barramento backplane, localizado na parte de trs do rack. A tenso de entrada pode ser tanto 120 quanto 230 V AC. A PS 407 suporta uma corrente mxima de fornecimento de 10 A e ocupa o espao correspondente a dois slots no rack.

18

A fonte PS 407 possui, em seu painel frontal:

Leds para confirmar tenso de sada em conformidade, tenso correta na bateria de backup e led para indicar falha interna;

Chave para reconhecimento de falha; Compartimento para bateria de backup; Chave para ativao do monitoramento da bateria;

Seletor de tenso de entrada; Conexo com plug de 3 pinos.Fig. 5.2 PS 407

Tabela 5-1 Especificaes Tcnicas PS 407 10A R

Especificaes Tcnicas PS 407 10A R Entrada Tenso de Entrada Tenso Classificada Tenso Permitida Freqncia do Sistema Freqncia Classificada Freqncia Permitida Tenso de Sada (Valores Classificados) Corrente de Sada (Valores Classificados) 50 / 60 Hz 47 at 63 Hz Sada 5 / 24 VDC 5 VDC: 10 A / 24 VDC: 1,0 A 110 / 230 VDC 120 / 230 VAC 88 at 300 VDC 85 at 264 VAC

19

5.1.2: CPU 417-4H

a Unidade Central de Processamento usada na plataforma, utilizada para sistemas que requerem alto desempenho e segurana. Esta a CPU mais poderosa da famlia S7-400. Possui entrada para dois mdulos de sincronia para conectar as CPUs redundantes atravs de um cabo de fibra tica. Na plataforma, eles so utilizados. Possui ainda uma interface mestre Profibus DP [3] e uma MPI (Multi-Point Interface) integradas diretamente CPU.Fig. 5.3 Viso esquemtica da CPU 417-4H

Pode-se ainda utilizar cartes para expandir a memria de carga. Existem cartes de diversos tamanhos e dependendo da aplicao deve-se optar por mais ou menos memria. Na plataforma, foi utilizado um carto de expanso de memria RAM de 2 MB.Fig. 5.4 CPU 417-4H

Tabela 5-2 Especificaes Tcnicas CPU 417-4H

Especificaes Tcnicas CPU 417-4H Memria Memria do Usurio 2 MB para programa 2 MB para dados At 10 MB para programa 20

Integrada Expansvel

At 10 MB para dados Memria de Carga Integrada 256 kB RAM Expansvel FEPROM Carto de Memria at 64 MB Expansvel RAM Carto de Memria at 64 MB Tempo de Execuo das Instrues Operao com Bits (mn.) 0,1 s Operao com Palavras (mn.) 0,1 s Operao com Ponto fixo (mn.) 0,1 s Operao com Ponto-flutuante (mn.) 0,6 s Temporizadores / Contadores Contadores S7 512 Retentividade Selecionvel C 0 at C 511 Alcance dos Contadores 0 at 999 Contadores IEC Sim Tipo SFB Temporizadores S7 512 Alcance 10 ms a 9990 s Temporizadores IEC Sim Tipo SFB reas de Dados Memria de bits 16 kB Retentividade Selecionvel MB 0 at MB 16383 Entradas e Sadas rea total de endereamento 16 kB Tabela Imagem da Periferia 16 kB Canais Digitais 131072 Canais Analgicos 8192

5.1.3: CP 443-1

O

mdulo

CP

443-1

o

responsvel pela comunicao do S7400 com a rede Industrial Ethernet. A taxa de transmisso de 10 ou 100 Mbits. A conexo com a rede Ethernet se d atravs de um conector de 15 pinos [3].Fig. 5.5 CP 443-1

21

Tabela 5-3 Especificaes Tcnicas do Mdulo Ethernet CP 443-1

Especificaes Tcnicas CP 443-1 Interfaces Conexo Industrial Ethernet Soquete de 15 pinos Consumo de Corrente @ +5 V DC Aproximadamente 1,4 A @ 24 V DC Tpico 220 mA, mx. 340 mA Perda de Potncia 8,6 W Condies Ambientais de Operao Temperatura de Operao 0 a 60 C Temperatura de Transporte / -40 a 70 C Armazenagem Umidade Relativa @ 25 C Mx. 95% @ 25 C

5.1.4: CP 443-5 BASIC

O CP 443-5 BASIC o responsvel pela integrao do S7-400, como mestre, rede Profibus FMS. Suas funcionalidades incluem a operao com sistemas S7 como os presentes na redundantes,

aplicao da plataforma [3].Fig. 5.6 CP 443-5 BASIC

Tabela 5-4 Especificaes Tcnicas do Mdulo Profibus CP 443-5 BASIC

Especificaes Tcnicas CP 443-5 BASIC Taxa de transmisso de dados Tecnologia de transmisso Conexo Tenso de alimentao Consumo de corrente @ 5 V Perda de Potncia 9,6 kbits/s a 12 Mbits/s Interface Cabo RS-485 Soquete de 9 pinos 5 V DC 5% 1,2 A 6,5 W 22

Condies Ambientais de Operao Temperatura de Operao 0 a 60 C Temperatura de Transporte / -40 a 70 C Armazenamento Umidade Relativa Mx. 95% @ 25 C

5.1.5: CP 441-2O mdulo CP 441-2 utilizado nos subsistemas Vessel e Fogo & Gs que possuem comunicao Modbus. No caso do subsistema Vessel, este tipo de comunicao seria usado para controle do nvel dos tanques de produo, enquanto no sistema Fogo & Gs ele usado pelo AFDS (Sistema Enderevel de Deteco de Fogo). O mdulo foi projetado para comunicao ponto a ponto serial de alta velocidade. Ele aceita interfaces variveis (2 com 2) para uma comunicao mais eficiente.Fig. 5.7 CP 441-2

Tabela 5-5 Especificaes Tcnicas do Mdulo Modbus CP 441-2

Especificaes Tcnicas CP 441-2 Nmero de entradas Mtodo de transmisso Interface 2, varivel 20 mA (TTY) (mx. 19,2 kbits/s) RS232 (V24) (mx. 115,2 kbits/s) RS422 / RS485 (X27) (mx. 115,2 kbits/s) 115,2 kbits/s distribudos nas 2 interfaces RS 232C (V24): 10m 20 mA (TTY): 1000m RS 422 / 485 (X27): 1200m Parametrizao Via Step 7

Taxa de Trasmisso Mxima Distncia de Transmisso Mxima

23

Existe, neste mdulo, um driver disponvel para comunicao em Modbus no formato RTU.

5.1.6: Rack do Controlador CentralA integrao dos dispositivos descritos nos itens acima pode ser visualizada na Fig. 5.8.

Fig. 5.8 Vista geral do Rack

5.2: Princpios de Programao do S7-400A maior parte da programao se d atravs do software SIMATIC Manager que a principal aplicao para execuo do projeto pois, atravs dele, pode-se configurar, editar e fazer testes nos programas. O primeiro passo para se iniciar um projeto configurar o hardware da aplicao. A primeira comunicao do terminal de programao (geralmente um PC) com o CLP deve ser atravs da MPI (Multi-Point Interface) pois este o nico meio que se conecta ao CLP sem configurao. A MPI tem como objetivo conectar o CLP ao terminal de programao ou interface de operao, ou ainda a outros CLPs. Na CPU existe somente uma MPI porm possvel acessar atravs dela todos os outros mdulos programveis. 24

Geralmente, utiliza-se a MPI para se fazer o download de uma configurao de hardware para a CPU. Isto porque sua taxa de transmisso de 187,5 kbps, muito abaixo da taxa de uma rede Ethernet por exemplo que de 10 Mbps ou 100 Mbps. Ento, utiliza-se a MPI somente para configurar uma rede Ethernet para acessar o CLP do terminal de programao. A programao no CLP Siemens S7-400 segue a norma IEC 1131. Esta norma um documento escrito por um consrcio de fabricantes de CLPs, casas de sistemas e instituies direcionadas a desenvolver plataformas para nveis de padronizaes na automao industrial. Contm caractersticas de funes e definies de termos gerais comuns para CLPs. Por exemplo, processamento cclico, imagem de processo, divises de tarefas entre dispositivos de programao, CLPs e Interfaces Homem Mquina. De maneira geral, o ciclo de processamento da CPU se d como mostrado na Fig. 5.9. Ele consiste de trs partes principais:

A CPU atualiza o estado dos sinais de entrada na tabela imagem das entradas;

A CPU executa o programa do usurio com as respectivas operaes chamadas pelo OB 1;

A CPU escreve os valores da tabela imagem das sadas no mdulo de sadas.

As tabelas imagem de entrada e sada so reas da CPU onde os estados das entradas e sadas so a cada ciclo armazenadas. Existem reas distintas para as entradas e para as sadas. Normalmente o programa de usurio, quando acessa uma entrada ou sada, est acessando na realidade esta rea. A tabela imagem das entradas do processo o local onde o estado das entradas so arquivadas na CPU. Antes do incio de cada ciclo de programa, a CPU l a periferia (mdulos de entrada) e transfere os estados dos sinais digitais para esta rea. Da mesma maneira, a tabela imagem das sadas contm o valor das

25

sadas resultantes do processamento do programa. Somente no final do ciclo de programa, estes valores de sada so transferidos para os mdulos de sada. Esta abordagem garante que um mesmo sinal de entrada ou sada tenha sempre o mesmo valor durante um scan do CLP.

Fig. 5.9 Ciclo de Processamento da CPU

5.2.1: reas de MemriaExistem trs reas de memria na CPU S7-400: a memria de carga, a memria de trabalho e a memria de sistema (Fig. 5.10). A memria de carga parte do mdulo programvel. Ela contm objetos criados pelo dispositivo de programao e pode ser tanto um carto de memria como uma memria integrada na CPU. ainda dividida em memria de carga dinmica e memria de carga retentiva. A memria de trabalho do tipo RAM e aquela que o processador da CPU acessa quando executa o programa de usurio. Contm o programa de usurio executvel.

26

Fig. 5.10 reas de Memria da CPU S7-400

A memria de sistema tambm RAM e integrada na CPU. Ela armazena dados de temporizadores, contadores, da memria de bits e dados necessrios internamente pelo sistema operacional. Possui ainda a pilha de blocos (ordem de chamada dos blocos), a pilha de interrupo e o buffer de diagnstico (que d informaes dos ltimos eventos ocorridos com a CPU). A memria de sistema dividida internamente em algumas reas que podem ser acessadas pelo programa de usurio como mostrado na Tabela 5-6.Tabela 5-6 reas de Endereo da Memria de Sistema

Memria de Sistema rea de Endereo Tabela Imagem da Periferia de Entrada Tabela Imagem da Periferia de Sada Memria de Bit Temporizadores Notao no S7 Iy Descrio No comeo do ciclo de varredura (scan) a CPU l as entradas dos mdulos de entrada e salva estes valores nesta rea. Durante o ciclo de varredura (scan) o programa calcula os valores de sada e os aloca nesta rea. No final do ciclo, a CPU envia estes valores calculados aos mdulos de sada. Esta rea fornece espao para resultados intermedirios calculados no programa. Fornece espao para temporizadores. 27

Qy

My T

Contadores

C

Fornece espao para contadores. Blocos de Dados contm informao para o programa. Eles podem ser definidos para uso geral ou podem ser determinados para um especfico Bloco de Funo ou Bloco de Funo do Sistema. So abertos no programa de usurio com a instruo OPN DB So Blocos de Dados abertos no programa com a instruo OPN DI. Esta rea contm dados temporrios de um bloco enquanto este est sendo executado. A L stack tambm fornece memria para transferncia de parmetros e para salvar resultados temporrios.

Bloco de Dados

DBy

Bloco de Dados Instance Dados Locais

DIy

Ly

Obs. 1: y fornece a dimenso de acesso rea. Pode ser B para bytes, W para words e D para double words. Obs. 2: quando o acesso ao bit no preciso usar o indicador de dimenso de acesso y, exceto quando o acesso for em um DB ou em um DI. Neste caso devese utilizar X para acess-lo.

5.2.2: Acesso Direto s E/SPode-se acessar diretamente os sinais de entrada e sada. Isto demanda mais tempo j que necessrio acesso rede que conecta os perifricos ao CLP (no caso das plataformas, a rede Profibus DP). Para estas reas, no possvel o acesso a bits, porque este acesso foi projetado exclusivamente para endereamento a variveis analgicas.Tabela 5-7 Acesso direto rea de E/S

rea Periferia de Entrada rea Periferia de Sada

PIy PQy

As reas Periferia de Entrada e Sada permitem acesso direto s entradas e sadas centrais e distribudas.

28

5.2.3: RegistradoresExistem quatro tipos de registradores na CPU S7-400: os acumuladores, os registradores de endereos, os registradores de blocos de dados e a palavra de status. A seguir, sero descritos o funcionamento e a utilidade de cada um deles. 5.2.3.1: Acumuladores Existem quatro acumuladores presentes na CPU S7-400. Eles so utilizados para instrues envolvendo bytes, words e double words em operaes aritimticas, comparaes e outras. O tamanho dos acumuladores de 32 bits. Eles so referenciados por ACCU X, onde X o nmero do acumulador. Ainda podem ser referenciados por ACCU X-L ou ACCU X-H, sendo que L se refere word menos significativa e H word mais significativa. Da mesma maneira, pode haver uma referncia ao byte. Neste caso, utilizam-se duas letras, como por exemplo ACCU 1-L-L, que se refere ao byte menos significativo da word menos significativa do acumulador 1.

Fig. 5.11 Acumuladores no S7-400

Tabela 5-8 Exemplo de comandos envolvendo acumuladores

L

Carrega o byte, word ou double word no ACCU 1 (acumulador 1) endereado depois de o antigo contedo do ACCU 1 ter sido salvo no ACCU 2 e depois de ACCU 1 ter sido resetado. Copia o contedo do ACCU 1 no endereo de destino. O nmero de bytes copiado do ACCU 1 depende do tamanho especificado no endereo de destino. Troca o contedo do ACCU 1 com o contedo do ACCU 2.

T TAK

29

5.2.3.2: Registrador de Endereos Dois registradores de endereo de 32 bits cada um so usados como ponteiros para o registro de endereamento indireto. Eles so referenciados por AR1 e AR2. O registrador de endereo contm informao da rea de memria (I, Q, M, DB, etc.), do byte e do bit endereado. O registro enderea univocamente os bits de todas as reas, exceto dos Blocos de Dados (DBs). Para estes, deve-se informar a priori o nmero do DB a ser utilizado.

Fig. 5.12 Formato do Registrador de Endereos

5.2.3.3: Registrador de Bloco de Dados Os registradores de bloco de dados contm os nmeros dos blocos de dados que esto abertos (ativos). Eles possuem 16 bits (tamanho necessrio para armazenar um nmero inteiro). Assim possvel que dois DBs estejam simultaneamente abertos; um DB no registrador de DB e o outro como DB Instance no registrador DI.

Fig. 5.13 Registradores de Bloco de Dados

Para abrir um Bloco de Dados, deve-se guardar o nmero deste no registrador de bloco de dados. Para isso existe a instruo OPN cujo funcionamento est descrita no Anexo A.

30

5.2.3.4: Palavra de Status A Palavra de Status contm vrios bits que refletem o resultado ou o estado lgico de instrues individuais durante a execuo do programa. Possui 16 bits mas apenas os 9 primeiros so utilizados.

Fig. 5.14 Formato da Palavra de Status

O bit 1 da palavra de status o bit RLO (Result of Logic Operation). usado como memria temporria em operaes de lgica binria. Uma instruo gerada verifica o estado de um contato e o combina logicamente com o resultado do cheque (bit de status) de acordo com as regras da lgica. O resultado armazenado no bit de RLO. Existem comandos que atuam diretamente no RLO. Com SET pode-se forar RLO para 1, com CLR para 0, e com NOT inverte-se o estado de RLO. O bit 2 da palavra de status o bit STA (bit de status). Este contm o valor de um bit endereado. O bit de status sempre mostra, por leitura ou escrita o estado do bit endereado. Estes so os principais bits da palavra de status e os que so efetivamente utilizados.

5.2.4: Linguagens de ProgramaoEsto disponveis no SIMATIC Manager 4 tipos de linguagens de prograo: LAD (ladder), FBD (function block diagram), STL (statement list) e o SCL que uma programao baseada em Pascal. 5.2.4.1: LAD Ladder Tambm chamada de linguagem de diagrama de contatos, esta linguagem remete conexo entre lgebra de Boole e circuitos eltricos. Na linguagem ladder, cada contado, ao assumir dois estados (fechado ou aberto), representa uma varivel booleana, ou seja, uma varivel que assume dois estados: verdadeiro ou falso [4]. 31

Fig. 5.15 Exemplo de diagrama ladder

Pela facilidade de construo e pela semelhana com os quadros de comando eltrico, o diagrama ladder (que quer dizer escada ou cascata) foi uma das primeiras tcnicas de programao de CLPs. Na Fig. 5.15 tem-se um exemplo de diagrama ladder. Neste caso, a equao booleana representada em ladder : Y = A.C + B. O diagrama possui duas linhas verticais, representando barras de alimentao. As relaes causa-efeito so representadas por linhas horizontais formadas por um elemento controlado (bobina de rel) e um conjunto de condies para o controle do elemento (rede de contatores). O diagrama , no entanto, uma representao lgica e no considera a tenso das barras de alimentao. O funcionamento no CLP se d por uma varredura, chamada scan, de cada linha horizontal do programa. As bobinas de rels apresentam ento um estado lgico dependente do estado lgico dos contatores que as controlam. As instrues bsicas da linguagem, disponveis em todos os CLPs so contatores normalmente abertos (NA ou NO), contatores normalmente fechados (NF ou NC), bobinas, bobinas inversas, bobinas de rearme (set), bobinas de desarme (reset), contatores sensveis borda de subida e contatores sensveis borda de descida. Ainda existem instrues de temporizador, instrues de contadores, instrues de movimentao, instrues de comparao e instrues de operaes algbricas que variam de acordo com o fabricante do CLP e outras definidos pela IEC (International Eletrotechnical Commission). No SIMATIC Manager pode-se agrupar um determinado nmero de linhas horizontais para formar uma network. As networks facilitam o entendimento do cdigo porque separam o cdigo em pequenos blocos que podem ser comentados e nomeados.

32

5.2.4.2: FBD Function Block Diagram Esta linguagem difere um pouco da linguagem ladder mas possui o mesmo objetivo. A diferena est no fato de que em FBD a programao escrita da mesma maneira que no diagrama de portas lgicas. Esta linguagem possui as mesmas funcionalidades da linguagem ladder, apenas a representao diferente. Como exemplo, temos na Fig. 5.16, a representao em FDB da equao Y = A.C + B, a mesma mostrada na Fig. 5.15 em ladder.

Fig. 5.16 Exemplo de Programao em FBD

5.2.4.3: STL Statement List Programming Language STL uma linguagem textual das mais poderosas do CLP S7-400. Com ela pode-se fazer uma programao mais eficiente porque so eliminadas linhas desnecessrias de cdigo. Alm disso, permitido o uso de ponteiros, fazendo com que a programao fique mais gil. Na Fig. 5.17 mostrado o exemplo de como seria a representao da equao booleana Y = A.C + B em STL.

Fig. 5.17 Exemplo de Programao em STL

Em STL, cada instruo corresponde a um passo da CPU. Um certo nmero de instrues, definido pelo usurio, pode ser agrupado para formar uma network. As instrues so muito mais prximas linguagem de mquina. Por exemplo, para mover um byte em ladder, basta utilizar o bloco especfico para isto. Em STL, 33

necessrio carregar o byte no acumulador e depois copiar o contedo do acumulador para o local desejado.Tabela 5-9 Comandos STL

Exemplos de Comandos em STL JC Se RLO = 1, JC interrompe a varredura seqencial do programa e pula para o destino identificado por jump label. Compara o contedo do ACCU 1 com o contedo do ACCU 2 . O contedo interpretado como nmeros inteiros de 32 bits. O resultado indicado pelo RLO; caso RLO = 1 a comparao verdadeira, caso contrrio, a comparao falsa. Copia o contedo de ACCU 1 no registrador de endereos AR1. Faz a operao de soma entre o ACCU 1-L e o ACCU 2-L e armazena o resultado em ACCU 1-L.

==D LAR1 +I

5.2.5: Ponteiros e seus formatosPode-se fazer uma programao em STEP 7 com a utilizao de ponteiros. Nesta seo ser descrito o funcionamento e a chamada destes. 5.2.5.1: POINTER O primeiro tipo de ponteiro o POINTER. O POINTER um ponteiro de 6 bytes que pode armazenar endereos de todas as reas de memria de sistema.

Fig. 5.18 Formato do POINTER

Os dois primeiros bytes se referem ao nmero do Bloco de Dados (DB) endereado. Caso o ponteiro no esteja endereando um DB, deve-se preencher 34

estes bytes com 0. O byte 2 se refere rea de memria endereada. So 7 reas endereveis e cada uma delas possui um cdigo hexadecimal como mostrado na Tabela 5-10. Os bytes 3, 4 e 5 endeream os diretamente o byte e o respectivo bit.Tabela 5-10 Cdigos das reas de Memria

Cdigo Hexadecimal 81 82 83 84 85 86 87

rea de Memria I Q M DB DI L V

Descrio Tabela Imagem das Entradas Tabela Imagem das Sadas rea de Memria de Bits Bloco de Dados Bloco de Dados Instance Dados Locais (pilha) Dados Locais Prvios

A seguir so dados exemplos de como entrar com um dado do tipo POINTER no programa:

P#DB23.DBX5.5 ponteiro para o bit 5, byte 5 do DB 23; P#M20.0 ponteiro para o bit 0, byte 20 da Memria de bits; M20.0 ponteiro se o parmetro j foi declarado como sendo POINTER

5.2.5.2: Ponteiro ANY O parmetro ANY um ponteiro um pouco mais completo que o parmetro POINTER. So necessrios 10 bytes para armazen-lo. O parmetro ANY, ao contrrio do POINTER pode enderear toda uma rea de memria, alm de poder apontar para temporizadores, contadores e blocos de programa. Ele pode ser usado em um bloco quando o tipo de dado do parmetro desconhecido ou quando qualquer tipo de dado pode ser usado. Na tabela de declarao de variveis do bloco, deve-se declarar o parmetro como sendo um ANY. Pode-se ento determinar um tipo de dado de qualquer tipo ao parmetro. O STEP 7 gerencia de maneira diferente os dados contidos no ponteiro ANY, de acordo com o seu contedo. Se o ponteiro estiver passando um tipo de dado 35

elementar ou complexo o formato deferente daquele quando o ponteiro passa um tipo de parmetro (contadores, temporizadores e blocos de programa). Para tipos de dados elementares ou complexos, o ponteiro ANY (Fig. 5.19) armazena: o tipo do dado, o fator de repetio, o nmero do DB, a rea de memria na qual a informao est armazenada e o endereo inicial dos dados.

Fig. 5.19 Formato do Ponteiro ANY

O fator de repetio identifica a quantidade do tipo de dado indicado a ser transferido pelo ponteiro ANY. Ele funciona como uma espcie comprimento de rea. Se, por exemplo, se quiser transferir 10 bytes, o valor 10 deve ser inserido no fator de repetio e o cdigo de bytes deve ser inserido no campo tipo de dado. O campo nmero do DB deve ser mantido em 0 se a rea endereada no for um Bloco de Dados. O campo seguinte identifica a rea de memria (os cdigos so os mesmos que os utilizados para o POINTER). O endereo restante armazenado no formato byte.bit. Caso o campo tipo de dado identifique a passagem de um contador, temporizador ou bloco de programa, a avaliao dos campos feita de maneira diferente (Fig. 5.20).

36

Fig. 5.20 Formato do ponteiro ANY passando tipos de parmetros

5.2.6: Blocos de ProgramaA programao em STEP 7 permite que o programa de usurio seja estruturado, fazendo com que este seja repartido em sees de programa. Isso traz uma srie de vantagens como facilidade de compreenso do cdigo, padronizao de sees, organizao, facilidade de manuteno no cdigo, debug apenas nas sees desejadas e facilidade de comissionamento. Os exemplos mostram que a diviso em tarefas individuais em um grande processo vantajosa. As sees de programa de um programa de usurio estruturado correspondem a estas tarefas individuais (na maioria dos casos) e so conhecidas como blocos de um programa.

5.2.7: Tipos de BlocosOs blocos de programa so divididos basicamente em dois tipos: blocos de sistema e blocos de usurio. Os blocos de sistema so funes pr-definidas ou blocos de funo integradas ao sistema operacional da CPU. Estes blocos no ocupam nenhum espao adicional na memria do usurio. Os blocos de sistema so chamados pelos programas de usurio. Os blocos de usurio so reas disponveis para escrever o cdigo e os dados para o programa. Baseado nas necessidades da aplicao, pode-se estruturar o programa com vrias opes de blocos de usurio. Alguns blocos podem ser executados ciclicamente enquanto outros podem ser executados 37

somente quando necessitado. Blocos de usurio so tambm chamados de blocos de programa. 5.2.7.1: Blocos de Usurio Dentre os blocos de usurio, o mais importante deles o OB 1. Este faz o processamento cclico do programa, ou seja, executado no incio de cada scan e tem por funo chamar os outros blocos e porventura executar instrues.

Blocos de organizao (OB): Faz a interface entre a CPU e o programa do usurio. O OB 1 o bloco de processamento cclico que executado a cada scan. Pode-se escrever todo o programa todo nele, mas uma programao mais elegante usa o OB 1 para chamar outros blocos quando necessrio. Alm do OB 1, o sistema operacional pode chamar outros OBs que reagem a certos eventos, tais como: interrupo de data programada, interrupo de diagnstico, interrupo de erros, interrupo de tempo de ciclo, interrupo de hardware, start-up do hardware. Caso dois OBs estejam programados para ser executados ao mesmo tempo, a prioridade do OB ser levada em considerao. Para evitar que isso acontea, pode-se usar um deslocamento temporal em um deles (offset) para que as interrupes ocorram em instantes distintos. Obs.: os OBs temporais utilizam o clock do CLP para ser ativados. O OB 1, apesar de ser um OB cclico, no possui um tempo de execuo fixo pois a cada ciclo podem ocorrem eventos que alteram o tempo de ciclo (por exemplo: chamada de outro OB, alterao nas entradas que provoquem a chamada de outro bloco, etc.).

Blocos de funo (FB): Um bloco de funo uma funo ou uma seqncia de comandos armazenados em um bloco lgico, onde os prmetros podem ser arquivados em uma memria. O FB utiliza uma memria adicional na forma de um Bloco de Dados Instance. Parmetros passados para o FB e alguns dos dados locais so arquivados neste bloco de dados associado (Instance DB). Outros 38

dados temporrios so arquivados na pilha local (L stack). Dados arquivados em Instance DB so retidos quando o bloco de funo fechado. Dados arquivados na pilha local no so retidos. Funo (FC): A funo um bloco de operao lgica similar ao bloco de funo para o qual no designado rea de memria. Um FC no necessita de um bloco de dados instance. As variveis locais so arquivadas na pilha local (L stack) at que a funo esteja concluda, sendo perdidos quando o FC termina a execuo. Bloco de Dados (DB): Um bloco de dados uma rea de dados permanente na qual dados ou informaes que outras funes coletaram so armazenados. Blocos de dados so reas de leitura / escrita que podem ser carregadas na CPU como parte do programa.Tabela 5-11 Tipos de Blocos de Usurio

Tipos de Blocos Blocos de Organizao (OB)

Bloco de Funo (FB)

Funo (FC)

Blocos de Dados (DB)

Blocos de Usurio Caractersticas Interface do usurio entre sistema e o programa; Nveis de prioridades (1 a 26); Informaes especiais de inicializao na pilha de dados locais. Um valor de retorno ser transferido (parmetros devem ser designados para a chamada); Parametrizvel / Retentivo; No Parametrizvel / Retentivo; No Parametrizvel / No Retentivo. Um valor de retorno ser transferido (parmetros devem ser designados para a chamada); Parametrizvel / No Retentivo. Estruturado, arquiva dados locais (DB instance); Estruturado, arquiva dados globais (shared DB).

5.2.7.2: Blocos de Sistema Estes so os blocos que no ocupam espao adicional na memria. Quando so FCs ou FBs, tm o cdigo protegido contra leitura.

39

Funo de Sistema (SFC): Funo de Sistema uma funo prprogramada e testada que integrada na CPU. Algumas das tarefas suportadas por estas funes so setar parmetros dos mdulos, comunicao de dados, funes de cpia, etc. Uma SFC pode ser chamada pelo programa principal mas mesmo assim no ocupar memria de trabalho.

Blocos de Funo de Sistema (SFB): Um Bloco de Funo de Sistema funciona de maneira similar a um FB porm no ocupa espao na memria de trabalho. Da mesma maneira, deve ser associado a um DB que deve ser transferido CPU como parte do programa.

Blocos de Dados do Sistema (SDB): Um Bloco de Dados de Sistema uma rea de memria que a ferramenta cria para arquivar dados necessrios para o controle de operaes. Informaes, tais como dados de configurao, conexes de comunicao e parmetros so salvos em SDBs.Tabela 5-12 Tipos de Blocos de Sistema

Tipo de Bloco Funo de Sistema (SFC) Bloco de Funo Sistema (SFB) Blocos de Dados Sistema (SDB)

de de

Blocos de Sistema Caractersticas Arquivados no sistema operacional das CPUs; Usurio pode chamar esta funo (sem memria). Arquivados no sistema operacional das CPUs; Usurio pode chamar esta funo (com memria). Blocos de dados para configurao de dados e parmetros.

5.2.8: Endereamento com S7-400Existem vrias maneiras de se fazer o endereamento no SIMATIC Manager. Dependendo da aplicao, pode ser mais ou menos interessante usar uma ou outra maneira. A seguir, sero exemplificadas as maneiras de se fazer isto.

40

5.2.8.1: Endereamento Direto Com Endereamento Direto, o local da memria a ser acessado codificado na prpria instruo, ou seja, na prpria intruo est o endereo que a instruo deve processar. Ainda h um subdiviso no Endereamento Direto. Os endereos podem ser endereados absolutamente ou simbolicamente. No endereamento absoluto utilizada a identificao da rea de memria (I, M, Q, DB, DI, etc.) seguida da dimenso do acesso (B, W ou D) e do nmero do byte. No necessrio usar dimenso de acesso quando se enderea o bit, exceto no caso de DB ou DI. Neste caso deve-se usar X para endere-los.Tabela 5-13 Exemplos de Endereamento Absoluto

I 10.3 MW 6 QD 12 DBX 13.0 DIB 10

Acesso ao quarto bit (bit 3), do byte 10 da tabela imagem da periferia de entrada. Acesso word que se inicia no byte 6 (e inclui o byte 7) da memria de bit. Acesso double word que se inicia no byte 12 (e inclui os bytes 13, 14 e 15) da tabela imagem da periferia de sada. Acesso ao bit 0 do byte 13 do DB que estiver aberto (aquele cujo nmero estiver armazenado no registrador de DB). Acesso ao byte 10 do DB Instance (aquele cujo nmero estiver armazenado no registrador de DI).

No endereamento simblico, o acesso feito atravs de nomes e no de endereos absolutos. Para isto necessrio determinar um nome (smbolo) ao endereo desejado. Isto pode ser feito de duas maneiras. Numa delas o smbolo determinado dentro de um bloco na tabela de declarao de variveis do bloco. Neste caso o smbolo local e vlido somente dentro do bloco. Quando utilizado, o smbolo estar precedido de #. A outra maneira determinar um smbolo global na tabela de smbolos que ser vlido em todo o projeto. Quando utilizado no programa, o smbolo estar entre aspas duplas. Podem ser endereados simbolicamente bits, bytes, words e double words.

41

5.2.8.2: Endereamento Indireto Com o endereamento indireto, pode-se acessar reas de memria que, ao contrrio do endereamento absoluto, so definidas ou modificadas durante a execuo do programa. O endereamento indireto permite que partes do programa sejam executadas repetidamente (loop), cada uma delas com um endereo diferente. Existe ainda uma subdiviso do endereamento indireto: endereamento indireto de memria e endereamento indireto de registro. No endereamento indireto de memria, o endereo a ser acessado armazenado em uma rea da prpria memria do usurio. A esta rea pode-se dar, se necessrio, um nome simblico. No endereamento indireto de registro, o endereo armazenado em um dos registradores de endereo (AR1 ou AR2) em vez de ser armazenado em uma rea de memria.

5.2.8.2.1: Endereamento Indireto de Memria Usando Endereo de 32 bits: com este tipo de endereamento, o endereo da varivel se encontra em uma rea de memria (M, L ou DB) a qual pode ter ou no um nome simblico definido. A instruo, para se usar endereamento indireto de memria, contm a prpria instruo (A, L, etc.), um identificador de rea (I, Q, M, DB, etc.), uma dimenso de acesso (B, W ou D) e uma varivel. Esta varivel possui 32 bits, ou seja, uma double word, deve estar entre colchetes e contm o endereo da varivel a ser acessada. Ex.: L MD30 A #pointer_1 A DBX [#dbn] //Faz a lgica E do bit apontado por #dbn I [#pointer_1] //Faz a lgica E da entrada apontada por MW [MD 30] //Carrega no ACCU 1 a MW apontada por

localizado no DB que estiver aberto (DB cujo nmero estiver no registrador de DB)

42

Fig. 5.21 Formato do ponteiro de 32 bits

Para se armazenar um ponteiro em uma locao de memria deve-se primeiro carreg-lo no ACCU1 e depois copi-lo para o local desejado. Ex.: L bit 2 T DBD 12 //Copia o contedo do ACCU1 para a double P#5.2 //Carrega no ACCU1 um ponteiro para o byte 5,

word 12 do DB que estiver aberto A I [DBD 12] //Faz a lgica E do bit de entrada 5.2

Usando Endereo de 16 bits: este endereamento, ao contrrio do endereamento de 32 bits, usado para localizar DBs, temporizadores e contadores alm de FBs e FCs. O endereo armazenado em uma word na memria (M, L ou DB). O programa interpreta o ponteiro como um inteiro sem sinal entre 0 e 65535. Ex.: UC FC [MW 12] //Chama incondicionalmente a FC cujo nmero

est em MW12 OPN DB [#ent_dbn] //Abre o DB apontado por ent_dbn

Fig. 5.22 Formato do ponteiro de 16 bits

5.2.8.2.2: Endereamento Indireto de RegistroCom o Endereamento Indireto de Registro, o endereo da varivel a ser acessada est armazenado em um registrador de endereo. Tambm neste tipo de endereamento existe uma outra subdiviso: Endereamento Indireto de Registro de rea Interna e Endereamento Indireto de Registro de rea Cruzada. Este tipo de 43

endereamento serve para acessar dados (bits, bytes, word e double words) que estejam armazenados na memria. rea Interna: uma instruo utilizando o registrador de endereos (rea interna) consiste da prpria instruo (A, L, T, etc.), de um indentificador de rea (I, M, Q, DB, etc.), de uma dimenso de acesso (B, W ou DB) e de uma declarao do registrador utilizado junto com um offset entre colchetes. Ex.: L MW [AR1,P#0.0] // Carrega no ACCU1 a word da memria de

bits cujo endereo est no registrador de endereos 1 (AR1). A I [AR2,P#5.3] // Faz a lgica E da entrada apontada por AR2

mais 5 bytes e 3 bits. No registrador, deve estar armazenado um ponteiro com o endereo desejado. Para armazenar um ponteiro no registrador de endereo, existe uma instruo especial. Ex.: LAR1 P#2.0 bit 2. L ID [AR1,P#2.0] // Carrega no ACCU1 a double word de entrada // Carrega no AR1 um ponteiro para o byte 2,

cujo endereo est em AR1 mais 2 bytes, ou seja, ID 4. Obs.: para instrues com byte, word ou double word, o offset deve ter 0 no bit caso contrrio um erro ativado na CPU.

rea Cruzada: este o ponteiro mais completo pois contm alm do endereo do byte e do bit, a informao da rea de memria. Neste caso, ao armazenar o ponteiro no registrador de endereos, deve-se informar a rea de memria a ser acessada. Uma instruo utilizando o registrador de endereos (rea cruzada) consiste da prpria instruo (A, L, T, etc.), de uma dimenso de acesso (B, W ou DB) e de uma declarao do registrador utilizado junto com um offset entre colchetes. Neste caso no necessrio fazer a identificao de rea. Ela j foi feita quando o ponteiro foi armazenado.

44

Ex.: L

D [AR1,P#2.0]

// Carrega a double word apontada pelo AR1

deslocada de 2 bytes. O ponteiro armazenado em AR1 deve ter a informao de rea de memria, de bytes e de bits. Para armazenar o ponteiro com informao de rea de memria, de bytes e bits (endereo completo), deve-se utilizar novamente a instruo LAR1 ou LAR2. Ex.: LAR1 P#I 3.0 tabela imagem da periferia. L B [AR1,P#1.0] // Carrega no ACCU1 o byte 4 da entrada // Carrega no AR1 um ponteiro para o byte 3 da

(tabela imagem de periferia de entrada).Tabela 5-14 Formas de Endereamento no S7-400

Endereamento Direto Absoluto Simblico

Endereamento Indireto Memria Indireta Ponteiro de 16 bits Ponteiro de 32 bits (rea int.) Registrador Indireto Ponteiro de 32 bits (rea int.) Ponteiro de 32 bits (rea cruz.)

Exemplos:Q 6.5 MD 12 Pump_on #var_inc OPN DB[MW16] OPN DB[#epdbn] A M[MD30] L IW[analog] A I[AR1,P#6.0] L MB[AR2,P#0.0] A [AR1,P#0.0] T W[AR1,P#0.0]

5.2.9: Declarao de VariveisJuntamente com os comandos, as variveis so os mais importantes elementos do sistema de programao. Pode-se guardar nelas valores que podem ser salvos na memria no CLP para serem utilizados posteriormente no programa. As variveis possuem propriedades que as distinguem de uma rea de memria qualquer que so: nome simblico, tipo de dado, alcance (faixa de validade). Antes de utilizar uma varivel, deve-se primeiro cri-la, por meio de um processo de declarao de varivel. Existem trs maneiras de se declarar uma varivel em S7: por meio da tabela de smbolos global (somente para tipos de dados

45

elementares3), utilizando a tabela de declarao de variveis de um bloco de programa e tambm pela tabela de declarao de variveis de um Bloco de Dados global (para todos os tipos de dados, incluindo os dados complexos4 e dados definidos pelo usurio5). Uma propriedade das variveis declaradas na tabela de declarao de variveis dos blocos de programa o tipo de declarao. Dentre os tipos de declarao temos: in: so as variveis de entrada do bloco, ou seja, necessrias para a execuo; in/out: so variveis que necessrias na chamada do bloco e que podem ser utilizadas diretamente na sada; out: so variveis retorno da funo, ou seja, o resultado de seu processamento; temp: so as variveis temporrias; stat: so as variveis que ficam armazenadas de uma varredura para outra.

3

Entende-se por Dados Elementares os tipos de dados Bit (BOOL, BYTE, WORD, DWORD,

CHAR), os tipos de dados Matemticos (INT, DINT, REAL) e os tipos de dados Tempo (S5TIME, TIME, DATE, TIME_OF_DAY). Possuem at 32 bits.4

Entende-se por Dados Complexos os tipos de dados Tempo (DATE_AND_TIME), Matriz

(ARRAY), Estrutura (STRUCT) e Cadeia de Caracteres (STRING). Estes tipos de dados so maiores que 32 bits5

Entende-se por Dados Definidos pelo Usurio (UDT) os dados maiores do que 32 bits que

podem ser definidos pelo usurio.

46

Captulo 6: Tratamento de Entradas e Sadas

Para o tratamento dos pontos de entrada e sada foram desenvolvidos 9 blocos de programa. Ele utilizado em todas as plataformas em operao. Esta a primeira vez que o CLP Siemens utilizado no controle de plataformas da Petrobras portanto no havia experincia prvia de implementao deste sistema de tratamento. Algumas dificuldades foram encontradas no decorrer do trabalho principalmente porque as especificaes foram feitas baseadas em CLPs de outras marcas.

6.1: Objetivo do Tratamento de Entradas e SadasExistem alguns motivos pelos quais o tratamento dos pontos de entrada e sada se tornou uma norma da Petrobras. Eles sero expostos nas sees 6.1.1: Tratamento de Entradas e 6.1.2: Tratamento de Sadas.

6.1.1: Tratamento de EntradasO tratamento de entradas garante facilidade de programao atravs da uniformizao dos sinais de entrada. O que essa uniformizao quer dizer que o sinal 1 ocorre na lgica (no intertravamento) apenas quando este sinal est em sua condio anormal, ou seja, fora da condio considerada padro. Isto ocorre porque existem sinais de campo que esto, em sua condio normal, enviando 1 e outros que, em sua condio normal esto enviando 0. A uniformizao, chamada de polarizao de entrada, visa garantir que a programao do intertravamento seja transparente a estas particularidades. A segunda operao executada pelo tratamento de entradas a temporizao do sinal. Esta temporizao um atraso provocado pelo tratamento de entradas no sinal vindo do campo. Este atraso evita que transitrios ativem alguma lgica no intertravamento, ou seja, confirma atravs de um atraso de tempo, a real existncia de uma condio anormal. A terceira operao executada o bypass de entrada. Esta serve para o operador, atravs do supervisrio (ECOS), sobrescrever o sinal vindo do campo, ou seja, ignor-lo. O sinal resultante destas trs primeiras operaes utilizado no intertravamento. 47

Ainda existe uma quarta operao, responsvel pela comunicao com o supervisrio. Nesta funo, o sinal resultante das trs primeiras operaes travado logicamente e enviado ao supervisrio at que ocorra o reconhecimento. Este reconhecimento feito atravs do supervisrio e serve para garantir que o operador tomou conhecimento da alterao do estado do sinal no campo. Existe ainda uma quinta operao que serve para limpar (resetar) a tabela de reconhecimento de alarme. Esta funo teve de ser implementada porque no existe, no supervisrio utilizado, o comando pulsado. De maneira concisa, o que o sistema de tratamento de entradas deve fazer :

A lgica de polarizao da entrada; A lgica do filtro; A lgica de bypass; A lgica de travamento de alarme e de seu reconhecimento.

Fig. 6.1 Esquema Geral do Tratamento de Entradas

6.1.2: Tratamento de SadasO tratamento de sadas faz, como o prprio nome diz, o tratamento dos sinais provenientes da lgica de intertravamento com destino ao campo. Neste tratamento, 48

a primeira funo faz a lgica de sobrescrever 1 no sinal de sada do intertravamento, se assim desejado pelo operador. A segunda funo faz o contrrio, ou seja, a lgica de sobrescrever 0 no sinal proveniente da primeira funo. A terceira funo faz a lgica das sadas esperadas. Esta funo faz uma comparao da sada da segunda funo com um sinal pr-definido e envia o resultado ao campo. De maneira geral, o que o sistema de tratamento de sadas deve fazer :

A lgica de sobrescrever a sada da lgica; A lgica de polarizao da sada.

Fig. 6.2 Esquema Geral do Tratamento de Sadas

Todas

as

funes,

seus

objetivos,

e

sua

implementao,

sero

detalhadamente expostos a seguir.

6.2: Mapeamento de Memria do CLPTodos os sinais dos diagramas da Fig. 6.1 e da Fig. 6.2 so armazenados em tabelas que o CLP ou o supervisrio podem ler ou escrever. Dependendo do sinal, existem direitos dados ao CLP ou ao supervisrio de ler e escrever. A Tabela 6-1 mostra os direitos de acesso aos dados do tratamento de E/S. Por exemplo, o sinal de entrada fsica (da tabela ENT) interno ao CLP. Somente o controlador tem acesso a este sinal que ser posteriormente tratado e enviado ao supervisrio para leitura. A escrita igualmente proibida pelo supervisrio pois isto poderia trazer conseqncias imprevisveis para o controle, alm de no refletir a real situao de campo. Para modificar a situao real do

49

campo existe um outro sinal, o de requisio de bypass, ao qual o supervisrio tem direitos de escrita e leitura.Tabela 6-1 Memria do CLP

Mnemnico ENT EPB SAI SLG SLO EPT EBS REC BYP OV1 OV0 ESP Entrada fsica

Tabela

Ao permitida Interna ao CLP Interna ao CLP Interna ao CLP VXL l VXL l VXL l VXL l VXL l / escreve VXL l / escreve VXL l / escreve VXL l / escreve Definido no CLP

Entrada polarizada e bypassada Sada fsica Sada da lgica Sada sobrescrita da lgica Entradas polarizadas temporizadas Entradas polarizadas, bypassadas e seladas Reconhecimento de alarme Requisio de bypass Requisio de sobrescrever 1 Requisio de sobrescrever 0 Estado esperado da entrada

6.3: ImplementaoComo j dito anteriormente, o sinal fsico no ser utilizado diretamente na lgica, mas sim um sinal previamente tratado. Durante a varredura do CLP, algumas tabelas so alteradas e outras so usadas como auxiliares do sistema de tratamento.

6.3.1: Funo de Gerao das Entradas Polarizadas (EP)Para a gerao das entradas polarizadas, foi criado um bloco de programa do tipo funo. Este bloco faz uma operao com a tabela da Entrada Fsica (ENT) e 50

com a tabela Estado Esperado da Entrada (ESP) para a gerao de uma terceira tabela, a tabela das Entradas Polarizadas (EP). A operao lgica necessria a OU EXCLUSIVO (Tabela 6-2).ent esp = epTabela 6-2 Operao OU EXCLUSIVO entre ent e esp gerando ep

ent 0 0 1 1

esp 0 1 0 1

ep 0 1 1 0

Fig. 6.3 OU EXCLUSIVO

Na Tabela 6-2 mostrada a tabela verdade da operao OU EXCLUSIVO entre sinais provenientes de ENT e ESP gerando um sinal que ser alocado na tabela EP. Esta operao utilizada porque toda vez que o sinal de campo se encontra fora de sua condio normal, o sinal 1 deve ser ativado. Isto de fato ocorre quando se utiliza a operao OU EXCLUSIVO. Pode-se notar que toda vez que o sinal de campo (tab. ENT) diferente do sinal esperado (tab. ESP), o sinal de entrada polarizada (tab. EP) ativado. A tabela ENT proveniente da Tabela Imagem da Periferia de Entrada (I) enquanto a tabela ESP definida internamente no CLP podendo ser pertencente a um bloco de dados (DB) ou memria de bits (M). Da mesma forma, a tabela gerada EP pode ser alocada tanto em um bloco de dados (DB) como na memria de bits (M).

6.3.2: Funcionamento do FC 43 Gerador de Entradas PolarizadasO bloco FC 43 tem por funo fazer a operao OU EXCLUSIVO entre os pontos da tabela ENT e os pontos da tabela ESP. O resultado da operao deve ser 51

seqencialmente armazenado na tabela EP. Esta operao pode ser melhor visualizada na Fig. 6.4. Nesta figura, em cada tabela esto representados o endereo completo ( esquerda) e o contedo do endereo ( direita). O endereo completo est representado como se estivesse armazenado do registrador de endereos (Fig. 5.12).

Fig. 6.4 Atualizao da tabela EP

A chamada do bloco pode ser feita atravs da funo CALL. Quando se faz a chamada do bloco, todos os parmetros de entrada devem ser passados para este ser executado e para a tabela EP ser atualizada. Enquanto os parmetros no so passados as requisies de parmetro ficam em vermelho e o bloco que est chamando o outro no pode ser salvo.

Fig. 6.5 Chamada de Bloco no S7

Fig. 6.6 Chamada de Bloco com passagem de parmetros

52

Os parmetros do bloco FC 43 so trs ponteiros do tipo ANY que vo identificar todas as reas de memria a ser endereadas. Neste caso as tabelas ENT, ESP e EP. Sabe-se de antemo que a tabela ENT pertencente rea de memria Tabela Imagem da Periferia de Entrada (I) e que as tabelas ESP e EP pertencem Memria de bit (M) ou a um Bloco de Dados (DB). No ponteiro ANY deve ser identificada a rea de memria a qual os dados pertencem, bem como o endereo inicial, o tipo de dado endereado (no caso do tratamento de E/S todos sero double word) e o fator de repetio, que representa o comprimento da rea de memria. Caso a rea endereada seja um Bloco de Dados (DB) deve ainda ser identificado o nmero deste. Por exemplo, na Fig. 6.6, est representada uma chamada de bloco em que a tabela ENT se inicia no edereo 200.0 (byte 200, bit 0) da Tabela Imagem da Periferia de Entrada (I), possui 5 double words, ou seja 120 bits e ocupa 20 bytes da regio I. Da mesma forma, a tabela ESP est alocada na Memria de Bits, inicia-se no endereo 200.0 e possui 5 double words. J a tabela EP est em um Bloco de Dados de nmero 41, e se inicia no endereo 0.0 deste DB. Tambm possui 5 double words, ocupando um total de 20 bytes (at o endereo 19.7). A FC 43 possui ainda variveis declaradas na tabela de declaraes do bloco. Todas elas so do tipo temp, ou seja, temporrias.

Fig. 6.7 Tabela de declaraes de variveis do FC 43

53

A primeira network da FC 43 tem por objetivo armazenar nas variveis locais, definidas na tabela de declaraes, os dados provenientes do ponteiro ANY. Os dados armazenados so o fator de repetio, o nmero de DB (se existente) e o endereo inicial da rea apontada. Como o ponteiro ANY possui mais de 32 bits ele no pode ser transferido para nenhum dos acumuladores. Para extrair os dados nele contidos necessrio usar Endereamento Indireto de Registro de rea Cruzada.Network 1 FC 43 L P##ENT //Carrega endereo do ponteiro ENT LAR1 //Transfere para o AR1 L W [AR1,P#2.0] //Carrega a word (deslocada de bytes)cujo endereo est em AR1; esta armazena o fator de repetio T #ent_rep_factor //Transfere para a varivel local L D [AR1,P#6.0] //Carrega informao do endereo T #ent_end //Transfere para ent_end L P##ESP LAR1 L W [AR1,P#2.0] de repetio T #esp_rep_factor L W [AR1,P#4.0] existente, seno carrega zero) T #esp_dbn L D [AR1,P#6.0] T #esp_end L P##EP LAR2 L W [AR2,P#2.0] de repetio T #ep_rep_factor L W [AR2,P#4.0] existente, seno carrega zero) T #ep_dbn L D [AR2,P#6.0] T #ep_end

2

//Carrega endereo do ponteiro //Transfere para o AR1 //Carrega a word que contm o fator //Transfere para a varivel local //Carrega o nmero de DB //Transfere para varivel local //Carrega informao do endereo //Transfere para esp_end //Carrega endereo do ponteiro //Transfere para o AR2 //Carrega a word que contm o fator //Transfere para a varivel local //Carrega o nmero de DB //Transfere para varivel local //Carrega informao endereo //Transfere para ep_end (se (se

A segunda network da funo, um verificador de tamanho de tabelas. necessrio que a operao de polarizao de entradas seja feita entre tabelas de mesmo tamanho. Isto ocorre para evitar sobreposio de dados. Esta network faz ento uma srie de operaes de comparao entre os fatores de repetio das reas endereadas. O menor fator de repetio armazenado em uma varivel local para que seja utilizado posteriormente na execuo da operao entre tabelas.

54

Network 2 FC 43 L L