• Nenhum resultado encontrado

Ricardo s. Santos Prh34 Ufsc Das g

N/A
N/A
Protected

Academic year: 2021

Share "Ricardo s. Santos Prh34 Ufsc Das g"

Copied!
104
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO INDUSTRIAL

Automação das Plataformas P-34 e P-48:

Tratamento dos Pontos de Entrada e Saída

Monografia submetida à Universidade Federal de Santa Catarina como requisito para a aprovação da disciplina:

DAS 5511: Projeto de Fim de Curso

Ricardo Souza Santos

(2)

Automação das Plataformas P-43 e P-48: Tratamento dos

Pontos de Entrada e Saída

Ricardo Souza Santos

Esta 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 Automação Industrial

Banca Examinadora:

Fernando Gonçalves Costa

Orientador Empresa

Daniel Juan Pagano

Orientador do Curso

Prof. Augusto Humberto Bruciapaglia

Responsável pela disciplina

Prof. Julio Elias Normey Rico, Avaliador

Rafael Carvalho Uberti, Debatedor

Pedro Alves Brito de Azambuja, Debatedor

(3)

Agradecimentos

Aos meus pais, por terem me apoiado incondicionalmente, e por terem me dado todas as condições de concluir os meus objetivos.

Aos meus irmãos, pelo tempo que passamos juntos e por sempre terem me ajudado.

Aos amigos que fiz em todos nestes 5 anos de convivência na UFSC.

Aos professores do DAS, pela extrema competência e dedicação, 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 petróleo.

Ao orientador Fernando Gonçalves Costa, com quem tive calorosas e valorosas discussões.

(4)

Resumo

A P-43 e P-48 são as mais novas plataformas de exploração de petróleo desenvolvidas pela estatal Petrobras. Elas são a aposta da auto-suficiência na produção de petróleo no Brasil depois de anos em busca desta meta.

A construção de estruturas de grandes proporções como estas exige um longo trabalho de logística e engenharia. Neste contexto, a Unicontrol foi a responsável por toda a parte de desenvolvimento e implantação do sistema de automação destas plataformas.

O sistema de controle é baseado em automação por CLP. No caso das plataformas, isto significa controle central com entradas e saídas distribuídas através de redes de comunicação. O sistema é composto de vários subsistemas redundantes que cuidam, cada uma deles, de uma função de controle. Assim por exemplo, existe o sistema de controle do processo, o sistema de desligamento de emergência e assim por diante.

Este sistema de controle é diretamente dependente da interação com os sinais de campo. Neste trabalho, foi desenvolvido o Sistema de Tratamento dos Pontos de Entrada e Saída, uma interface de software que visa garantir o cumprimento de especificações de projeto. Estas especificações são definidas pela Petrobras e visam facilitar o desenvolvimento da lógica e garantir uniformidade e confiabilidade na comunicação entre os sinais de campo e os controladores centrais (CLPs).

O desenvolvimento do software se deu em linguagem STL para o CLP Siemens da família S7-400. Blocos de programa foram desenvolvidos e testados em laboratório e cumprem com os requisitos especificados. O Sistema de Tratamento dos Pontos de Entrada e Saída substituiu outro, desenvolvido anteriormente, com vantagens em relação ao tempo de execução, clareza da lógica e principalmente em relação ao espaço de memória utilizado.

(5)

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.

(6)

Sumário

Agradecimentos... i Resumo ... ii Abstract ... iii Sumário ... iv Capítulo 1: Introdução ...1

Capítulo 2: Unicontrol no Projeto...4

Capítulo 3: Características Construtivas das Plataformas...7

3.1: Características do Óleo...9

3.2: Visão Geral do Processo ...9

Capítulo 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 Nível Superior de Controle ...14

Capítulo 5: S7-400 e S7-300 ...18

5.1: Hardware — Controlador Central...18

5.2: Princípios de Programação do S7-400 ...24

Capítulo 6: Tratamento de Entradas e Saídas ...47

6.1: Objetivo do Tratamento de Entradas e Saídas...47

6.2: Mapeamento de Memória do CLP ...49

6.3: Implementação ...50

Capítulo 7: Resultados ...86

7.1: Condições de Obtenção dos Resultados...86

(7)

7.3: Resultados Obtidos...87

Capítulo 8: Conclusões ...90

Bibliografia:...92

(8)

Capítulo 1:

Introdução

Os Campos de Produção de Óleo de Caratinga e Barracuda estão localizados na parte central da Bacia de Campos, onde a lâmina d’água atinge 1040 metros. O Projeto das Plataformas P-43 / Barracuda e P-48 / Caratinga consiste da construção 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 cúbicos por dia nas condições normais de temperatura e pressão) de gás natural cada uma. Estas plataformas são responsáveis pela extração de um total de 45 poços (26 para P-43 / Barracuda e 19 para P-48 / Caratinga). Nestas refinarias flutuantes, onde a primeira fase do refino é executada, o petróleo dos reservatórios é transportado para a superfície, separado da água, gás e areia que o acompanham.

Fig. 1.1 — Localização dos Campos de Barracuda e Caratinga

Estas plataformas exigem um complexo e extenso sistema de controle e supervisão de maneira a promover o funcionamento automatizado do sistema. Uma rede eficiente, com possibilidade de integração a outros sistemas, é uma das ferramentas necessárias ao atendimento deste requisito.

(9)

A rede de controle utilizada nestas plataformas é na verdade um conjunto de redes que atuam em conjunto para garantir segurança e confiabilidade ao sistema. Sua arquitetura e tecnologia foram projetadas para evitar ao máximo que falhas afetem a controlabilidade do sistema. Um exemplo disso são os anéis de comunicação que interligam os painéis remotos aos CLPs: além da redundância, seguem caminhos alternativos na plataforma. São ainda construídos em fibra ótica garantindo segurança nas áreas classificadas, imunidade a ruídos eletromagnéticos e menor perda de pacotes de informação. Outra rede existente, utilizada especificamente para fazer a manutenção preditiva da instrumentação baseada em sinais de 4 a 20 mA, é o protocolo Hart. Há ainda a rede do AFDS (Sistema Endereçável de Detecção de Fogo), responsável pela interligação dos sensores de fogo e gás.

O sistema supervisório está concentrado na ECOS (Estação Central de Operação e Supervisão), 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 através 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 são parte fundamental do sistema de controle da plataforma. O tratamento de sinais de E/S visa prover o sistema de controle de informação vinda do campo de uma maneira padronizada, realizando funções de temporização, bypass de entrada e travamento de estado (selo de alarme). A saída do sistema é igualmente tratada, dando ao operador do sistema a flexibilidade de sobrescrever os bits da lógica do intertravamento, através do supervisório.

Uma dificuldade em implementar tal sistema está no fato de a linguagem disponível para programação ser de baixo nível. Para fazer a varredura (scan) de todos os bits teve-se de utilizar um ponteiro especial que dá informação de endereço e comprimento de área. Além disso, o fato de se utilizar temporização (na verdade, um atraso no sinal) cria uma dificuldade adicional que será explicada no capítulo específico.

Nos capítulo 2, será feita a descrição do papel da Unicontrol no projeto, principalmente do escopo de suprimento.

(10)

No capítulo seguinte, algumas características construtivas das plataformas serão descritas, assim como uma visão geral do processo.

No quarto capítulo, a arquitetura das redes de controle será mostrada. As particularidades de cada uma e sua importância no alcance do projeto.

No quinto capítulo, as características do hardware serão mostradas, assim como as de software. Alguns conceitos básicos do CLP utilizado serão mostrados para que no sexto capítulo seja caracterizada a implementação propriamente dita.

No sétimo capítulo serão apresentados os resultados obitidos e será discutida a solução adotada. No oitavo e último capítulo, serão expostas as conclusões acerca do trabalho realizado.

(11)

Capítulo 2: Unicontrol no Projeto

O projeto de construção das plataformas Barracuda e Caratinga P-43 / P-48 teve início com a abertura da licitação. A Petrobras não constrói as plataformas mas contrata empresas competentes para fazê-lo. A vencedora da licitação para a construção foi a empresa KBR, ligada à americana Halliburton. A KBR recebeu da Petrobras um contrato de cerca de U$ 1,3 bilhão para ser usado na perfuração dos poços e construção das duas plataformas. Devido à magnitude do projeto, e à diversidade de tarefas envolvidas na construção, nem todos os serviços são realizados pela ganhadora da licitação (Tabela 2-1). Outras empresas são usualmente contratadas para tarefas mais específicas como por exemplo a automatização das plataformas. Neste contexto, a Unicontrol foi então escolhida pela KBR para ser a responsável pela automação da plataforma.

Tabela 2-1 — Ordem de Contratação das Empresas

Produção de Petróleo

Construção da P-43 e P-48

Automação

O papel da Unicontrol envolveu o suprimento de todo o equipamento e serviços para a ECOS (Estação Central de Operação e Supervisão), incluindo:

(12)

• 12 painéis de E/S remotos com grau de proteção IP65.

45 km de fibra ótica (halogen free para evitar propagação de incêndio).

• CLPs para todos os subsistemas de controle e painéis de E/S, num total de 10 CPUs e 1750 cartões de E/S.

• 8 estações de trabalho e 2 servidores.

19 microcomputadores e notebooks para manutenção, administração e aplicações de terceiros.

• Sistema de detecção de Fogo & Gás (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 têm seus centros de operação para este projeto no Rio de Janeiro. A compra dos equipamentos foi feita através do escritório da Unicontrol em São Paulo.

Os painéis com grau de proteção IP54 (proteção contra poeira e projeções d’água) foram usados para áreas não-classificadas enquanto os painéis IP65 (proteção total contra poeira e contra jatos d’água), tiveram de ser projetados e manufaturados pela Unicontrol, com o processo de certificação feito no Brasil. Estes foram posteriormente enviados à Singapura, local da construção naval da P-43, conforme a necessidade.

Toda a programação do CLP, desde a análise das matrizes de causa-efeito até o desenvolvimento, aprovação e implementação dos blocos de função estão sob a responsabilidade da Unicontrol.

A Arquitetura de Controle por Unidade de Processo (MCPU) divide a segurança e as funções do processo de qualquer unidade em cinco grupos: Controle do Processo (Control), Fogo & Gás (F&G VAC), Utilidades da Embarcação (Vessel), Gerenciamento de Energia (Electrical) e Desligamento de Emergência (ESD). Cada grupo funcional é implementado na configuração do seu próprio hardware redundante.

(13)

O uso da Arquitetura MCPU resulta em cada unidade do processo sendo controlada por até cinco controladores diferentes, cada um responsável por um dos grupos funcionais descritos acima. Neste sentido, a perda de parte da funcionalidade em algum grupo funcional não significará que a plataforma como um todo será afetada.

Devido à configuração por funções, 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 serviços diretamente envolvidos com a ECOS (Estação Central de Operação e Supervisão) estão também sob a responsabilidade da Unicontrol. Isto inclui:

• Todo o projeto, desenvolvimento e implementação de todos os aspectos de engenharia da ECOS.

• Todos os serviços de campo, da instalação ao comissionamento, startup, operação assistida e treinamento.

• Interligação a outros pacotes já instalados, garantindo sua total integração à ECOS.

(14)

Capítulo 3: Características Construtivas das Plataformas

Quanto às plataformas, esta é a primeira vez que duas plataformas estão sendo construídas em dois lugares diferentes (Singapura e Brasil) para iniciar a produção quase que simultaneamente. A P-48 está sendo construída no estaleiro Bras Fels em Angra dos Reis – RJ. A parte de construção naval da P-43 foi quase que totalmente realizada em Singapura, no Estaleiro Jurong. Isto devido à inexistência, 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 Niterói – RJ em fase de comissionamento e instalação dos módulos.

As plataformas P-43 e P-48 são resultado da conversão de antigos navios petroleiros em plataformas e são mais um passo da Petrobras em busca da auto-suficiência no mercado de petróleo. Juntas ambas podem produzir 300 mil barris de petróleo por dia.

Os petroleiros utilizados nestas plataforamas não poderiam mais ser utilizados no transporte de petróleo pelo fato de possuírem casco simples (normas ambientais internacionais não permitem mais a utilização deste tipo de navio nesta atividade). Foram então 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. São versáteis devido a sua capacidade de locomoção, feita através de rebocadores, e por não precisarem de dutos ligando-as à terra para o escoamento a produção.

A FPSO P-43, por exemplo, tem uma capacidade de armazenamento máxima maior do que 1,5 milhão de barris, o que equivale a aproximadamente a 75% da média diária de produção da Petrobras em 2003, que foi de 2.001.100 bpd [1]. A produção esperada da plataforma é de 150 mil bpd, ou seja, pode ficar aproximadamente 10 dias em produção continuada sem descarregamento. No entanto, quando estiver em funcionamento, prevê-se que o descarregamento da produção se dará a cada 7 dias durando dois dias. A capacidade de bombeamento máxima, da P-43 para o navio de transporte, é superior a 60 mil barris por hora.

(15)

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

(16)

3.1: Características do Óleo

O óleo a ser produzido em Barracuda tem um API de 26º, o que caracteriza um óleo pesado, típico da Bacia de Campos. Seus valores de viscosidade são de 30,0 cP (30º C); 21,0 cP (50º C) e 15,7 cP (60º C). O início do deposição de parafina ocorre a 15º C.

3.2: Visão Geral do Processo

Numerosos poços alimentam as FPSOs de Barracuda e Caratinga (26 poços do campo de Barracuda para a P-43 e 19 do campo de Caratinga para a P-48). Estes poços são ligados ao navio através de dutos flexíveis (risers). Existem também as linhas que fazem a transmissão dos sinais de controle chamadas de umbilicais. O controle de abertura do poço é feito através de acionamento hidráulico pela árvore de natal1 molhada, ou seja, localizada no fundo do mar. O óleo extraído chega à plataforma e passa pelo manifold2. Neste local existe um conjunto de tubulações grandes proporções, preparadas para receber o petróleo vindo dos poços. Existem na plataforma três manifolds: dois de produção e um de testes do óleo produzido. Os testes são necessários para verificar se óleo encontra-se dentro dos padrões esperados para aquela região e para analisar o efeito dos métodos de elevação artificial na composição do óleo. Isto inclui a relação água / óleo e a quantidade de areia.

O óleo vindo dos manifolds de produção é então encaminhado aos separadores para a retirada de água e gás (Fig. 3.3). A separação neste caso dá-se por decantação: a água, assim como algumas impurezas presentes no óleo, mais densas, tendem a descer enquanto o óleo e o gás, menos densos, tendem a subir. A água retirada não pode ser simplesmente descartada. Ela passa por um processo de filtragem no hidrociclone e é depois descartada.

1 Árvores de natal são conjuntos de conectores e válvulas usadas para controlar o fluxo dos fluidos produzidos ou injetados, instalados em cima da cabeça do poço.

2 Manifold é um equipamento de passagem e de manobra da produção, onde o óleo é agrupado em um mesmo coletor.

(17)

Deste separador inicial, o óleo segue para o desidratador de óleo e depois para o tratador eletrostático. O tratador eletrostático retira as impurezas restantes ainda presentes que não saíram por decantação. Deste, o óleo segue até os separadores atmosféricos para a retirada do restante do gás.

Já sem água e sem gás, o óleo pode ser armazenado nos tanques de estocagem do navio. Uma parte do gás pode ser utilizada na elevação artificial por gas lift. Existem vasos para armazená-lo já que o gás é o combustível utilizado para a geração de energia na plataforma. O excesso de gás é queimado no flare. Ainda existem processos auxiliares para a desidratação de gás.

(18)

Capítulo 4: Arquitetura Geral das Redes de Controle

O bom funcionamento da automação da plataforma é diretamente dependente das redes de comunicação entre os sensores, controladores e atuadores. Um bom projeto de engenharia é essencial neste caso que envolve mais de 15000 pontos de entrada e saída. É evidente que esta quantidade de sinais não pode ser ligada diretamente a módulos de E/S na sala de controle — a quantidade de cabos torna praticamente impossível esta abordagem. A arquitetura preocupou-se então em distribuir o controle usando painéis remotos com estes cartões de E/S deixando a comunicação com o controlador central sob responsabilidade de uma rede Profibus DP. Desta maneira, reduz-se a fiação e permite-se que os instrumentos fiquem fisicamente mais próximos de seus cartões de integração. Garante-se desta maneira maior confiabilidade ao sistema e maior resistência a falhas.

O controle da plataforma é feito centralmente, a partir de CLPs localizados em uma sala de painéis ao lado da sala de controle. Mais especificamente, é realizado por 5 CLPs Siemens S7-400 redundantes alimentados por uma fonte de alimentação da mesma série. Cada um destes CLPs é responsável por uma função de controle, os chamados subsistemas de controle.

Estão presentes na plataforma os seguintes subsistemas de controle:

• Emergency Shutdown Subsystem (Sistema de Desligamento de Emergência) – composto por duas CPUs de CLP redundantes.

• Vessel Control Subsystem (Sistema de Controle de Utilidades da Embarcação) – composto por duas CPUs de CLP redundantes

• Electrical Control Subsystem (Sistema de Controle Elétrico) – composto por duas CPUs de CLP redundantes.

• Fire & Gas Subsystem (Sistema de Contenção de Fogo & Gás) – composto por duas CPUs de CLP redundantes.

(19)

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

Além destes, existem outros dois CLPs, também redundantes, totalizando quatro CPUs, que fazem o controle do Sistema de Gerenciamento de Energia e do Gerador de Emergência. Estes dois sistemas não estiveram sob responsabilidade da Unicontrol e não serão abordados neste trabalho.

4.1: Acesso aos Dados Remotos

A comunicação entre os instrumentos de campo e os CLPs é feita através de subredes que estão 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 próprios pontos de entrada e saída.

A arquitetura básica é formada por painéis de entrada e saída remotos, localizados no campo, próximos aos instrumentos, que centralizam a coleta e distribuição dos dados. Todos os instrumentos automatizados são ligados a estes painéis. Nestes painéis estão alocados cartões de E/S digitais e analógicos, responsáveis pela transformação dos sinais, da série Siemens S7-300 e uma fonte alimentadora. Desta maneira os sinais podem ser endereçados pela CPU S7-400 (controlador central) e utilizados nas rotinas de controle.

Os sinais de um mesmo subsistema são agrupados em um mesmo módulo de interface chamado IM. Deste módulo existe uma ligação a um conversor OLM elétrico / ótico.

Existem usualmente duas abordagens em relação à redundância no campo. Uma delas prevê a duplicação do I/O, isto é, a utilização de dois instrumentos de campo para a leitura do mesmo sinal. Outra se utiliza da redundância do meio de transmissão. Para escolher uma ou outra deve-se levar em conta os custos de engenharia. Foi devido ao grande número de instrumentos de campo que a segunda opção foi escolhida. Os cabos redundantes percorrem caminhos diferentes na

(20)

plataforma para garantir maior segurança. Isto porque, caso houver rompimento de um deles, não necessariamente o outro se romperá.

Esta rede redundante utiliza o protocolo Profibus DP e interliga painéis e controladores centrais.

4.2: Rede Profibus DP

No caso do acesso aos dados dos painéis, é utilizada a rede Profibus DP, considerada uma das redes de campo de mais rápidas e confiáveis disponíveis atualmente. É um formato de troca de mensagens especificamente projetado para acesso serial às entradas e saídas. O sufixo DP (decentralized periphery) refere-se à periferia descentralizada, que é usado para descrever a arquitetura de E/S distribuído com controle centralizado. No caso das plataformas, como já dito anteriormente, é imperativa a utilização de um barramento de campo como este. Com mais de 15000 pontos de E/S, seria impossível 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 conexões, 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 periférico que processa informação e envia sua saída ao mestre. O escravo é uma estação passiva na rede já que não tem direito a aceso ao barramento e pode apenas enviar sinais de reconhecimento de mensagens recebidas ou enviar mensagens de resposta ao mestre sob requisição. Todos os escravos Profibus têm a mesma prioridade e toda a comunicação da rede se origina do mestre. A CPU S7-400, utilizada no controle central, suporta a utilização do protocolo Profibus DP e possui uma entrada específica para este protocolo. No caso da rede utilizada na plataforma, esta CPU faz o papel de mestre de comunicação. Os mestres são as estações ativas na rede. Eles determinam a velocidade de transmissão e os escravos detectam automaticamente esta taxa. Os mestres lidam com o envio e recebimento de dados

(21)

de seus escravos e agem como os controladores na troca de informação de E/S com seus escravos, fazendo uma atualização cíclica dos dados.

Os mestres podem acessar escravos de maneira individual, de maneira grupal (multicast) ou podem endereçar escravos de maneira geral para todos os escravos conectados (broadcast). Os escravos retornam respostas para todos as mensagens endereçadas individualmente a eles. Eles não 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 cíclica (periódica) ele é um protocolo determinístico. Isto significa que o sistema Profibus garante um tempo máximo de ciclo no qual todos os dispositivos serão atualizados. De fato, a rede Profibus DP foi projetada para ter este comportamento determinístico. Isto garante mais confiabilidade ao sistema pelo fato de nenhum sinal ficar sem ser lido em um tempo determinado, ou seja, não ocorre a postergação indefinida no acesso. Isto é especialmente importante na plataforma pois quase todos os sinais trazem, direta ou indiretamente, informações sobre segurança do sistema.

Na Fig. 4.1 pode-se ter uma visão geral do sistema, incluindo as redes Profibus DP e Profibus FMS, que será abordada no próximo item.

4.3: Profibus FMS e Nível Superior de Controle

Cada CLP se comunica com seu redundante via enlace ótico instalado na própria CPU. A redundância de hardware é mais uma das características do sistema que visa garantir a segurança do controle. Todo o rack que contém as CPUs é duplicado. Isto inclui as fontes de alimentação, as próprias CPUs (com entradas MPI e Profibus DP), o modulo de comunicação via Ethernet, o módulo de comunicação Profibus FMS e, em alguns subsistemas, os módulos de comunicação 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 informações e para “avisar” que a outra deve entrar em ação devido a alguma falha na CPU principal. A este sistema dá-se o nome de hot stand by.

(22)

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 Emergência) são interligadas em um anel de fibra ótica que funciona utilizando o protocolo Profibus FMS. Para a utilização desta tecnologia, está acoplado ao rack da CPU S7-400 um módulo Siemens CP443-5 que contém um cartão específico para esta finalidade. Deste módulo existe uma ligação a uma OLM, um dispositivo conversor elétrico / ótico. Este dispositivo possui uma saída elétrica 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 característica que a torna vantajosa em relação a outras. Em caso de rompimento do cabo em algum ponto, ainda assim a comunicação via Profibus FMS entre as CPUs poderá acontecer, pois existirá um caminho ligando todas elas.

(23)

Fig. 4.2 — Redundância dos racks, enlace ótico e rede Profibus FMS

A transmissão de dados por uma via Profibus FMS (Fieldbus Message Specification) é adequada para a transmissão 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 (padrão) e então 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 distinção é feita entre:

• Cliente FMS: requisita um serviço, assumindo que este é um dispositivo mestre.

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

(24)

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 nível dos CLPs, é deste tipo.

(25)

Capítulo 5: S7-400 e S7-300

Como exposto anteriormente, o sistema de controle da plataforma é central e realizado pelo CLP Siemens série S7-400, com a CPU 417H. São dez CPUs, cinco delas ativas e cinco em modo stand by. Os módulos de expansão de E/S são da série S7-300. Ambas as séries fazem parte da família Simatic Step 7.

5.1: Hardware — Controlador Central

Os CLPs encontram-se nos racks na sala de painéis, ao lado da sala de controle da plataforma. A configuração utilizada pode ser visualizada na Fig. 5.1.

Fig. 5.1 — Configuração do Rack

5.1.1: Fonte de Alimentação PS 407

É responsável pela alimentação de todos os dispositivos presentes no rack. É capaz de fornecer uma tensão de saída de 5 V DC e 24 V DC dependendo da aplicação. O fornecimento se dá via barramento backplane, localizado na parte de trás do rack. A tensão de entrada pode ser tanto 120 quanto 230 V AC.

A PS 407 suporta uma corrente máxima de fornecimento de 10 A e ocupa o espaço correspondente a dois slots no rack.

(26)

A fonte PS 407 possui, em seu painel frontal:

Leds para confirmar tensão de saída em conformidade, tensão correta na bateria de backup e led para indicar falha interna;

• Chave para reconhecimento de falha;

Compartimento para bateria de backup;

• Chave para ativação do monitoramento da bateria;

• Seletor de tensão de entrada;

Conexão com plug de 3 pinos. Fig. 5.2 — PS 407

Tabela 5-1 — Especificações Técnicas PS 407 10A R Especificações Técnicas PS 407 10A R

Entrada Tensão de Entrada

Tensão Classificada 110 / 230 VDC

120 / 230 VAC

Tensão Permitida 88 até 300 VDC

85 até 264 VAC Freqüência do Sistema

Freqüência Classificada 50 / 60 Hz

Freqüência Permitida 47 até 63 Hz

Saída

Tensão de Saída (Valores Classificados) 5 / 24 VDC

(27)

5.1.2: CPU 417-4H

É a Unidade Central de Processamento usada na plataforma, utilizada para sistemas que requerem alto desempenho e segurança. Esta é a CPU mais poderosa da família S7-400.

Possui entrada para dois módulos de sincronia para conectar as CPUs redundantes através de um cabo de fibra ótica. Na plataforma, eles são utilizados.

Possui ainda uma interface mestre Profibus DP [3] e uma MPI (Multi-Point Interface) integradas diretamente à CPU.

Fig. 5.3 — Visão esquemática da CPU 417-4H

Pode-se ainda utilizar cartões para expandir a memória de carga. Existem cartões de diversos tamanhos e dependendo da aplicação deve-se optar por mais ou menos memória. Na plataforma, foi utilizado um cartão de expansão de memória RAM de 2 MB.

Fig. 5.4 — CPU 417-4H

Tabela 5-2 — Especificações Técnicas CPU 417-4H Especificações Técnicas CPU 417-4H

Memória Memória do Usuário

2 MB para programa Integrada

2 MB para dados

(28)

Até 10 MB para dados Memória de Carga

Integrada 256 kB RAM

Expansível FEPROM Cartão de Memória até 64 MB

Expansível RAM Cartão de Memória até 64 MB

Tempo de Execução das Instruções Operação com Bits (mín.) 0,1 µs

Operação com Palavras (mín.) 0,1 µs Operação com Ponto fixo (mín.) 0,1 µs Operação com Ponto-flutuante (mín.) 0,6 µs

Temporizadores / Contadores

Contadores S7 512

Retentividade Selecionável 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

Memória de bits 16 kB

Retentividade Selecionável MB 0 até MB 16383 Entradas e Saídas

Área total de endereçamento 16 kB Tabela Imagem da Periferia 16 kB

Canais Digitais 131072

Canais Analógicos 8192

5.1.3: CP 443-1

O módulo CP 443-1 é o responsável pela comunicação do S7-400 com a rede Industrial Ethernet. A taxa de transmissão é de 10 ou 100 Mbits. A conexão com a rede Ethernet se dá através de um conector de 15 pinos [3].

(29)

Tabela 5-3 — Especificações Técnicas do Módulo Ethernet CP 443-1 Especificações Técnicas CP 443-1

Interfaces

Conexão Industrial Ethernet Soquete de 15 pinos Consumo de Corrente

@ +5 V DC Aproximadamente 1,4 A

@ 24 V DC Típico 220 mA, máx. 340 mA

Perda de Potência 8,6 W

Condições Ambientais de Operação Temperatura de Operação 0 a 60° C Temperatura de Transporte / Armazenagem -40 a 70° C Umidade Relativa @ 25° C Máx. 95% @ 25° C

5.1.4: CP 443-5 BASIC

O CP 443-5 BASIC é o responsável pela integração do S7-400, como mestre, à rede Profibus FMS. Suas funcionalidades incluem a operação com sistemas S7 redundantes, como os presentes na aplicação da plataforma [3].

Fig. 5.6 — CP 443-5 BASIC

Tabela 5-4 — Especificações Técnicas do Módulo Profibus CP 443-5 BASIC Especificações Técnicas CP 443-5 BASIC

Taxa de transmissão de dados 9,6 kbits/s a 12 Mbits/s Interface

Tecnologia de transmissão Cabo RS-485

Conexão Soquete de 9 pinos

Tensão de alimentação 5 V DC ± 5%

Consumo de corrente @ 5 V 1,2 A

(30)

Condições Ambientais de Operação Temperatura de Operação 0 a 60° C Temperatura de Transporte / Armazenamento -40 a 70° C Umidade Relativa Máx. 95% @ 25° C

5.1.5: CP 441-2

O módulo CP 441-2 é utilizado nos subsistemas Vessel e Fogo & Gás que possuem comunicação Modbus. No caso do subsistema Vessel, este tipo de comunicação seria é usado para controle do nível dos tanques de produção, enquanto no sistema Fogo & Gás ele é usado pelo AFDS (Sistema Endereçável de Detecção de Fogo).

O módulo foi projetado para comunicação ponto a ponto serial de alta velocidade. Ele aceita interfaces

variáveis (2 com 2) para uma comunicação mais eficiente. Fig. 5.7 — CP 441-2

Tabela 5-5 — Especificações Técnicas do Módulo Modbus CP 441-2 Especificações Técnicas CP 441-2

Interface

Número de entradas 2, variável

20 mA (TTY) (máx. 19,2 kbits/s) RS232 (V24) (máx. 115,2 kbits/s) Método de transmissão

RS422 / RS485 (X27) (máx. 115,2 kbits/s)

Taxa de Trasmissão Máxima 115,2 kbits/s distribuídos nas 2 interfaces

RS 232C (V24): 10m 20 mA (TTY): 1000m Distância de Transmissão Máxima

RS 422 / 485 (X27): 1200m

(31)

Existe, neste módulo, um driver disponível para comunicação em Modbus no formato RTU.

5.1.6: Rack do Controlador Central

A integração dos dispositivos descritos nos itens acima pode ser visualizada na Fig. 5.8.

Fig. 5.8 — Vista geral do Rack

5.2: Princípios de Programação do S7-400

A maior parte da programação se dá através do software SIMATIC Manager que é a principal aplicação para execução do projeto pois, através dele, pode-se configurar, editar e fazer testes nos programas.

O primeiro passo para se iniciar um projeto é configurar o hardware da aplicação. A primeira comunicação do terminal de programação (geralmente um PC) com o CLP deve ser através da MPI (Multi-Point Interface) pois este é o único meio que se conecta ao CLP sem configuração.

A MPI tem como objetivo conectar o CLP ao terminal de programação ou à interface de operação, ou ainda a outros CLPs. Na CPU existe somente uma MPI porém é possível acessar através dela todos os outros módulos programáveis.

(32)

Geralmente, utiliza-se a MPI para se fazer o download de uma configuração de hardware para a CPU. Isto porque sua taxa de transmissão é de 187,5 kbps, muito abaixo da taxa de uma rede Ethernet por exemplo que é de 10 Mbps ou 100 Mbps. Então, utiliza-se a MPI somente para configurar uma rede Ethernet para acessar o CLP do terminal de programação.

A programação no CLP Siemens S7-400 segue a norma IEC 1131. Esta norma é um documento escrito por um consórcio de fabricantes de CLPs, casas de sistemas e instituições direcionadas a desenvolver plataformas para níveis de padronizações na automação industrial. Contém características de funções e definições de termos gerais comuns para CLPs. Por exemplo, processamento cíclico, imagem de processo, divisões de tarefas entre dispositivos de programação, CLPs e Interfaces Homem Máquina.

De maneira geral, o ciclo de processamento da CPU se dá como mostrado na Fig. 5.9. Ele consiste de três partes principais:

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

• A CPU executa o programa do usuário com as respectivas operações chamadas pelo OB 1;

• A CPU escreve os valores da tabela imagem das saídas no módulo de saídas.

As tabelas imagem de entrada e saída são áreas da CPU onde os estados das entradas e saídas são a cada ciclo armazenadas. Existem áreas distintas para as entradas e para as saídas. Normalmente o programa de usuário, quando acessa uma entrada ou saída, está acessando na realidade esta área.

A tabela imagem das entradas do processo é o local onde o estado das entradas são arquivadas na CPU. Antes do início de cada ciclo de programa, a CPU lê a periferia (módulos de entrada) e transfere os estados dos sinais digitais para esta área. Da mesma maneira, a tabela imagem das saídas contém o valor das

(33)

saídas resultantes do processamento do programa. Somente no final do ciclo de programa, estes valores de saída são transferidos para os módulos de saída.

Esta abordagem garante que um mesmo sinal de entrada ou saída tenha sempre o mesmo valor durante um scan do CLP.

Fig. 5.9 — Ciclo de Processamento da CPU

5.2.1: Áreas de Memória

Existem três áreas de memória na CPU S7-400: a memória de carga, a memória de trabalho e a memória de sistema (Fig. 5.10).

A memória de carga é parte do módulo programável. Ela contém objetos criados pelo dispositivo de programação e pode ser tanto um cartão de memória como uma memória integrada na CPU. É ainda dividida em memória de carga dinâmica e memória de carga retentiva.

A memória de trabalho é do tipo RAM e é aquela que o processador da CPU acessa quando executa o programa de usuário. Contém o programa de usuário executável.

(34)

Fig. 5.10 — Áreas de Memória da CPU S7-400

A memória de sistema também é RAM e é integrada na CPU. Ela armazena dados de temporizadores, contadores, da memória de bits e dados necessários internamente pelo sistema operacional. Possui ainda a pilha de blocos (ordem de chamada dos blocos), a pilha de interrupção e o buffer de diagnóstico (que dá informações dos últimos eventos ocorridos com a CPU).

A memória de sistema é dividida internamente em algumas áreas que podem ser acessadas pelo programa de usuário como mostrado na Tabela 5-6.

Tabela 5-6 — Áreas de Endereço da Memória de Sistema Memória de Sistema

Área de Endereço Notação no S7 Descrição Tabela Imagem da

Periferia de

Entrada Iy

No começo do ciclo de varredura (scan) a CPU lê as entradas dos módulos de entrada e salva estes valores nesta área.

Tabela Imagem da

Periferia de Saída Qy

Durante o ciclo de varredura (scan) o programa calcula os valores de saída e os aloca nesta área. No final do ciclo, a CPU envia estes valores calculados aos módulos de saída.

Memória de Bit My Esta área fornece espaço para resultados intermediários calculados no programa. Temporizadores T Fornece espaço para temporizadores.

(35)

Contadores C Fornece espaço para contadores.

Bloco de Dados DBy

Blocos de Dados contêm informação para o programa. Eles podem ser definidos para uso geral ou podem ser determinados para um específico Bloco de Função ou Bloco de Função do Sistema. São abertos no programa de usuário com a instrução “OPN DB”

Bloco de Dados

“Instance” DIy São Blocos de Dados abertos no programa com a instrução “OPN DI”.

Dados Locais Ly

Esta área contém dados temporários de um bloco enquanto este está sendo executado. A “L stack” também fornece memória para transferência de parâmetros e para salvar resultados temporários.

Obs. 1: y fornece a dimensão de acesso à área. Pode ser B para bytes, W para words e D para double words.

Obs. 2: quando o acesso é ao bit não é preciso usar o indicador de dimensão de acesso y, exceto quando o acesso for em um DB ou em um DI. Neste caso deve-se utilizar X para acessá-lo.

5.2.2: Acesso Direto às E/S

Pode-se acessar diretamente os sinais de entrada e saída. Isto demanda mais tempo já que é necessário acesso à rede que conecta os periféricos ao CLP (no caso das plataformas, a rede Profibus DP). Para estas áreas, não é possível o acesso a bits, porque este acesso foi projetado exclusivamente para endereçamento a variáveis analógicas.

Tabela 5-7 — Acesso direto à área de E/S Área Periferia de

Entrada PIy

Área Periferia de

Saída PQy

As Áreas Periferia de Entrada e Saída permitem acesso direto às entradas e saídas centrais e distribuídas.

(36)

5.2.3: Registradores

Existem quatro tipos de registradores na CPU S7-400: os acumuladores, os registradores de endereços, os registradores de blocos de dados e a palavra de status. A seguir, serão descritos o funcionamento e a utilidade de cada um deles.

5.2.3.1: Acumuladores

Existem quatro acumuladores presentes na CPU S7-400. Eles são utilizados para instruções envolvendo bytes, words e double words em operações aritiméticas, comparações e outras. O tamanho dos acumuladores é de 32 bits. Eles são referenciados por ACCU X, onde X é o número 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 referência 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 <endereço> Carrega o byte, word ou double word no ACCU 1 (acumulador 1) endereçado depois de o antigo conteúdo do ACCU 1 ter sido salvo no ACCU 2 e depois de ACCU 1 ter sido resetado.

T <endereço> Copia o conteúdo do ACCU 1 no endereço de destino. O número de bytes copiado do ACCU 1 depende do tamanho especificado no endereço de destino.

(37)

5.2.3.2: Registrador de Endereços

Dois registradores de endereço de 32 bits cada um são usados como ponteiros para o registro de endereçamento indireto. Eles são referenciados por AR1 e AR2.

O registrador de endereço contém informação da área de memória (I, Q, M, DB, etc.), do byte e do bit endereçado. O registro endereça univocamente os bits de todas as áreas, exceto dos Blocos de Dados (DBs). Para estes, deve-se informar a priori o número do DB a ser utilizado.

Fig. 5.12 — Formato do Registrador de Endereços

5.2.3.3: Registrador de Bloco de Dados

Os registradores de bloco de dados contêm os números dos blocos de dados que estão abertos (ativos). Eles possuem 16 bits (tamanho necessário para armazenar um número inteiro). Assim é possível 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 número deste no registrador de bloco de dados. Para isso existe a instrução OPN cujo funcionamento está descrita no Anexo A.

(38)

5.2.3.4: Palavra de Status

A Palavra de Status contém vários bits que refletem o resultado ou o estado lógico de instruções individuais durante a execução do programa. Possui 16 bits mas apenas os 9 primeiros são 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 memória temporária em operações de lógica binária. Uma instrução 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 lógica. O resultado é armazenado no bit de RLO. Existem comandos que atuam diretamente no RLO. Com “SET” pode-se forçar 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 contém o valor de um bit endereçado. O bit de status sempre mostra, por leitura ou escrita o estado do bit endereçado.

Estes são os principais bits da palavra de status e os que são efetivamente utilizados.

5.2.4: Linguagens de Programação

Estão disponíveis no SIMATIC Manager 4 tipos de linguagens de progração: LAD (ladder), FBD (function block diagram), STL (statement list) e o SCL que é uma programação baseada em Pascal.

5.2.4.1: LAD — Ladder

Também chamada de linguagem de diagrama de contatos, esta linguagem remete à conexão entre álgebra de Boole e circuitos elétricos. Na linguagem ladder, cada contado, ao assumir dois estados (fechado ou aberto), representa uma variável

(39)

Fig. 5.15 — Exemplo de diagrama ladder

Pela facilidade de construção e pela semelhança com os quadros de comando elétrico, o diagrama ladder (que quer dizer escada ou cascata) foi uma das primeiras técnicas de programação de CLPs.

Na Fig. 5.15 tem-se um exemplo de diagrama ladder. Neste caso, a equação booleana representada em ladder é: Y = A.C + B.

O diagrama possui duas linhas verticais, representando barras de alimentação. As relações causa-efeito são representadas por linhas horizontais formadas por um elemento controlado (bobina de relé) e um conjunto de condições para o controle do elemento (rede de contatores). O diagrama é, no entanto, uma representação lógica e não considera a tensão das barras de alimentação.

O funcionamento no CLP se dá por uma varredura, chamada scan, de cada linha horizontal do programa. As bobinas de relés apresentam então um estado lógico dependente do estado lógico dos contatores que as controlam.

As instruções básicas da linguagem, disponíveis em todos os CLPs são contatores normalmente abertos (NA ou NO), contatores normalmente fechados (NF ou NC), bobinas, bobinas inversas, bobinas de rearme (set), bobinas de desarme (reset), contatores sensíveis à borda de subida e contatores sensíveis à borda de descida. Ainda existem instruções de temporizador, instruções de contadores, instruções de movimentação, instruções de comparação e instruções de operações algébricas 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 número de linhas horizontais para formar uma network. As networks facilitam o entendimento do código porque separam o código em pequenos blocos que podem ser comentados e nomeados.

(40)

5.2.4.2: FBD — Function Block Diagram

Esta linguagem difere um pouco da linguagem ladder mas possui o mesmo objetivo. A diferença está no fato de que em FBD a programação é escrita da mesma maneira que no diagrama de portas lógicas.

Esta linguagem possui as mesmas funcionalidades da linguagem ladder, apenas a representação é diferente. Como exemplo, temos na Fig. 5.16, a representação em FDB da equação Y = A.C + B, a mesma mostrada na Fig. 5.15 em ladder.

Fig. 5.16 — Exemplo de Programação 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 programação mais eficiente porque são eliminadas linhas desnecessárias de código. Além disso, é permitido o uso de ponteiros, fazendo com que a programação fique mais ágil. Na Fig. 5.17 é mostrado o exemplo de como seria a representação da equação booleana Y = A.C + B em STL.

Fig. 5.17 — Exemplo de Programação em STL

Em STL, cada instrução corresponde a um passo da CPU. Um certo número de instruções, definido pelo usuário, pode ser agrupado para formar uma network. As instruções são muito mais próximas à linguagem de máquina. Por exemplo, para mover um byte em ladder, basta utilizar o bloco específico para isto. Em STL, é

(41)

necessário carregar o byte no acumulador e depois copiar o conteúdo do acumulador para o local desejado.

Tabela 5-9 — Comandos STL Exemplos de Comandos em STL

JC <jump label> Se RLO = 1, JC interrompe a varredura seqüencial do programa e pula para o destino identificado por “jump label”.

==D

Compara o conteúdo do ACCU 1 com o conteúdo do ACCU 2 . O conteúdo é interpretado como números inteiros de 32 bits. O resultado é indicado pelo RLO; caso RLO = 1 a comparação é verdadeira, caso contrário, a comparação é falsa.

LAR1 Copia o conteúdo de ACCU 1 no registrador de endereços AR1. +I Faz a operação de soma entre o ACCU 1-L e o ACCU 2-L e armazena o resultado em ACCU 1-L.

5.2.5: Ponteiros e seus formatos

Pode-se fazer uma programação em STEP 7 com a utilização de ponteiros. Nesta seção 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 endereços de todas as áreas de memória de sistema.

Fig. 5.18 — Formato do POINTER

Os dois primeiros bytes se referem ao número do Bloco de Dados (DB) endereçado. Caso o ponteiro não esteja endereçando um DB, deve-se preencher

(42)

estes bytes com 0. O byte 2 se refere à área de memória endereçada. São 7 áreas endereçáveis e cada uma delas possui um código hexadecimal como mostrado na Tabela 5-10. Os bytes 3, 4 e 5 endereçam os diretamente o byte e o respectivo bit.

Tabela 5-10 — Códigos das Áreas de Memória

Código Hexadecimal Área de Memória Descrição

81 I Tabela Imagem das Entradas

82 Q Tabela Imagem das Saídas

83 M Área de Memória de Bits

84 DB Bloco de Dados

85 DI Bloco de Dados Instance

86 L Dados Locais (pilha)

87 V Dados Locais Prévios

A seguir são 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 Memória de bits;

• M20.0 — ponteiro se o parâmetro já foi declarado como sendo POINTER

5.2.5.2: Ponteiro ANY

O parâmetro ANY é um ponteiro um pouco mais completo que o parâmetro POINTER. São necessários 10 bytes para armazená-lo. O parâmetro ANY, ao contrário do POINTER pode endereçar toda uma área de memória, além de poder apontar para temporizadores, contadores e blocos de programa.

Ele pode ser usado em um bloco quando o tipo de dado do parâmetro é desconhecido ou quando qualquer tipo de dado pode ser usado. Na tabela de declaração de variáveis do bloco, deve-se declarar o parâmetro como sendo um ANY. Pode-se então determinar um tipo de dado de qualquer tipo ao parâmetro.

(43)

elementar ou complexo o formato é deferente daquele quando o ponteiro passa um tipo de parâmetro (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 repetição, o número do DB, a área de memória na qual a informação está armazenada e o endereço inicial dos dados.

Fig. 5.19 — Formato do Ponteiro ANY

O fator de repetição identifica a quantidade do tipo de dado indicado a ser transferido pelo ponteiro ANY. Ele funciona como uma espécie comprimento de área. Se, por exemplo, se quiser transferir 10 bytes, o valor 10 deve ser inserido no fator de repetição e o código de bytes deve ser inserido no campo tipo de dado. O campo número do DB deve ser mantido em 0 se a área endereçada não for um Bloco de Dados. O campo seguinte identifica a área de memória (os códigos são os mesmos que os utilizados para o POINTER). O endereço restante é armazenado no formato byte.bit.

Caso o campo tipo de dado identifique a passagem de um contador, temporizador ou bloco de programa, a avaliação dos campos é feita de maneira diferente (Fig. 5.20).

(44)

Fig. 5.20 — Formato do ponteiro ANY passando tipos de parâmetros

5.2.6: Blocos de Programa

A programação em STEP 7 permite que o programa de usuário seja estruturado, fazendo com que este seja repartido em seções de programa. Isso traz uma série de vantagens como facilidade de compreensão do código, padronização de seções, organização, facilidade de manutenção no código, debug apenas nas seções desejadas e facilidade de comissionamento.

Os exemplos mostram que a divisão em tarefas individuais em um grande processo é vantajosa. As seções de programa de um programa de usuário estruturado correspondem a estas tarefas individuais (na maioria dos casos) e são conhecidas como blocos de um programa.

5.2.7: Tipos de Blocos

Os blocos de programa são divididos basicamente em dois tipos: blocos de sistema e blocos de usuário.

Os blocos de sistema são funções pré-definidas ou blocos de função integradas ao sistema operacional da CPU. Estes blocos não ocupam nenhum espaço adicional na memória do usuário. Os blocos de sistema são chamados pelos programas de usuário.

Os blocos de usuário são áreas disponíveis para escrever o código e os dados para o programa. Baseado nas necessidades da aplicação, pode-se estruturar o programa com várias opções de blocos de usuário. Alguns blocos podem ser executados ciclicamente enquanto outros podem ser executados

(45)

somente quando necessitado. Blocos de usuário são também chamados de blocos de programa.

5.2.7.1: Blocos de Usuário

Dentre os blocos de usuário, o mais importante deles é o OB 1. Este faz o processamento cíclico do programa, ou seja, é executado no início de cada scan e tem por função chamar os outros blocos e porventura executar instruções.

• Blocos de organização (OB): Faz a interface entre a CPU e o programa do usuário. O OB 1 é o bloco de processamento cíclico que é executado a cada scan. Pode-se escrever todo o programa todo nele, mas uma programação mais elegante usa o OB 1 para chamar outros blocos quando necessário. Além do OB 1, o sistema operacional pode chamar outros OBs que reagem a certos eventos, tais como: interrupção de data programada, interrupção de diagnóstico, interrupção de erros, interrupção de tempo de ciclo, interrupção de hardware, start-up do hardware. Caso dois OBs estejam programados para ser executados ao mesmo tempo, a prioridade do OB será levada em consideração. Para evitar que isso aconteça, pode-se usar um deslocamento temporal em um deles (offset) para que as interrupções ocorram em instantes distintos. Obs.: os OBs temporais utilizam o clock do CLP para ser ativados. O OB 1, apesar de ser um OB cíclico, não possui um tempo de execução fixo pois a cada ciclo podem ocorrem eventos que alteram o tempo de ciclo (por exemplo: chamada de outro OB, alteração nas entradas que provoquem a chamada de outro bloco, etc.).

• Blocos de função (FB): Um bloco de função é uma função ou uma seqüência de comandos armazenados em um bloco lógico, onde os prâmetros podem ser arquivados em uma memória. O FB utiliza uma memória adicional na forma de um “Bloco de Dados Instance”. Parâmetros passados para o FB e alguns dos dados locais são arquivados neste bloco de dados associado (Instance DB). Outros

(46)

dados temporários são arquivados na pilha local (L stack). Dados arquivados em Instance DB são retidos quando o bloco de função é fechado. Dados arquivados na pilha local não são retidos.

• Função (FC): A função é um bloco de operação lógica similar ao bloco de função para o qual não é designado área de memória. Um FC não necessita de um bloco de dados instance. As variáveis locais são arquivadas na pilha local (L stack) até que a função esteja concluída, sendo perdidos quando o FC termina a execução.

• Bloco de Dados (DB): Um bloco de dados é uma área de dados permanente na qual dados ou informações que outras funções coletaram são armazenados. Blocos de dados são áreas de leitura / escrita que podem ser carregadas na CPU como parte do programa.

Tabela 5-11 — Tipos de Blocos de Usuário Blocos de Usuário

Tipos de Blocos Características

Blocos de Organização (OB) • Interface do usuário entre sistema e o programa;

• Níveis de prioridades (1 a 26);

• Informações especiais de inicialização na pilha de dados locais.

Bloco de Função (FB) • Um valor de retorno será transferido (parâmetros devem ser designados para a chamada);

• Parametrizável / Retentivo;

• Não Parametrizável / Retentivo;

• Não Parametrizável / Não Retentivo.

Função (FC) • Um valor de retorno será transferido (parâmetros devem ser designados para a chamada);

• Parametrizável / Não Retentivo.

Blocos de Dados (DB) • Estruturado, arquiva dados locais (DB instance);

• Estruturado, arquiva dados globais (shared DB).

5.2.7.2: Blocos de Sistema

Estes são os blocos que não ocupam espaço adicional na memória. Quando são FCs ou FBs, têm o código protegido contra leitura.

(47)

• Função de Sistema (SFC): Função de Sistema é uma função pré-programada e testada que é integrada na CPU. Algumas das tarefas suportadas por estas funções são setar parâmetros dos módulos, comunicação de dados, funções de cópia, etc. Uma SFC pode ser chamada pelo programa principal mas mesmo assim não ocupará memória de trabalho.

• Blocos de Função de Sistema (SFB): Um Bloco de Função de Sistema funciona de maneira similar a um FB porém não ocupa espaço na memória 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 memória que a ferramenta cria para arquivar dados necessários para o controle de operações. Informações, tais como dados de configuração, conexões de comunicação e parâmetros são salvos em SDBs.

Tabela 5-12 — Tipos de Blocos de Sistema Blocos de Sistema

Tipo de Bloco Características

Função de Sistema (SFC) • Arquivados no sistema operacional das CPUs;

• Usuário pode chamar esta função (sem memória). Bloco de Função de

Sistema (SFB) •• Arquivados no sistema operacional das CPUs; Usuário pode chamar esta função (com memória). Blocos de Dados de

Sistema (SDB) • Blocos de dados para configuração de dados e parâmetros.

5.2.8: Endereçamento com S7-400

Existem várias maneiras de se fazer o endereçamento no SIMATIC Manager. Dependendo da aplicação, pode ser mais ou menos interessante usar uma ou outra maneira. A seguir, serão exemplificadas as maneiras de se fazer isto.

(48)

5.2.8.1: Endereçamento Direto

Com Endereçamento Direto, o local da memória a ser acessado é codificado na própria instrução, ou seja, na própria intrução está o endereço que a instrução deve processar.

Ainda há um subdivisão no Endereçamento Direto. Os endereços podem ser endereçados absolutamente ou simbolicamente.

No endereçamento absoluto é utilizada a identificação da área de memória (I, M, Q, DB, DI, etc.) seguida da dimensão do acesso (B, W ou D) e do número do byte. Não é necessário usar dimensão de acesso quando se endereça o bit, exceto no caso de DB ou DI. Neste caso deve-se usar X para endereçá-los.

Tabela 5-13 — Exemplos de Endereçamento Absoluto

I 10.3 Acesso ao quarto bit (bit 3), do byte 10 da tabela imagem da periferia de entrada. MW 6 Acesso à word que se inicia no byte 6 (e inclui o byte 7) da memória de bit. QD 12 Acesso à double word que se inicia no byte 12 (e inclui os bytes 13, 14 e 15) da tabela imagem da periferia de saída.

DBX 13.0 Acesso ao bit 0 do byte 13 do DB que estiver aberto (aquele cujo número estiver armazenado no registrador de DB). DIB 10 Acesso ao byte 10 do DB Instance (aquele cujo número estiver armazenado no registrador de DI).

No endereçamento simbólico, o acesso é feito através de nomes e não de endereços absolutos. Para isto é necessário determinar um nome (símbolo) ao endereço desejado. Isto pode ser feito de duas maneiras. Numa delas o símbolo é determinado dentro de um bloco na tabela de declaração de variáveis do bloco. Neste caso o símbolo é local e válido somente dentro do bloco. Quando utilizado, o símbolo estará precedido de #. A outra maneira é determinar um símbolo global na tabela de símbolos que será válido em todo o projeto. Quando utilizado no programa, o símbolo estará entre aspas duplas. Podem ser endereçados simbolicamente bits, bytes, words e double words.

(49)

5.2.8.2: Endereçamento Indireto

Com o endereçamento indireto, pode-se acessar áreas de memória que, ao contrário do endereçamento absoluto, são definidas ou modificadas durante a execução do programa. O endereçamento indireto permite que partes do programa sejam executadas repetidamente (loop), cada uma delas com um endereço diferente.

Existe ainda uma subdivisão do endereçamento indireto: endereçamento indireto de memória e endereçamento indireto de registro. No endereçamento indireto de memória, o endereço a ser acessado é armazenado em uma área da própria memória do usuário. A esta área pode-se dar, se necessário, um nome simbólico. No endereçamento indireto de registro, o endereço é armazenado em um dos registradores de endereço (AR1 ou AR2) em vez de ser armazenado em uma área de memória.

5.2.8.2.1: Endereçamento Indireto de Memória

• Usando Endereço de 32 bits: com este tipo de endereçamento, o endereço da variável se encontra em uma área de memória (M, L ou DB) a qual pode ter ou não um nome simbólico definido. A instrução, para se usar endereçamento indireto de memória, contém a própria instrução (A, L, etc.), um identificador de área (I, Q, M, DB, etc.), uma dimensão de acesso (B, W ou D) e uma variável. Esta variável possui 32 bits, ou seja, é uma double word, deve estar entre colchetes e contém o endereço da variável a ser acessada.

Ex.: L MW [MD 30] //Carrega no ACCU 1 a MW apontada por MD30

A I [#pointer_1] //Faz a lógica E da entrada apontada por #pointer_1

A DBX [#dbn] //Faz a lógica E do bit apontado por #dbn localizado no DB que estiver aberto (DB cujo número estiver no registrador de DB)

(50)

Fig. 5.21 — Formato do ponteiro de 32 bits

Para se armazenar um ponteiro em uma locação de memória deve-se primeiro carregá-lo no ACCU1 e depois copiá-lo para o local desejado.

Ex.: L P#5.2 //Carrega no ACCU1 um ponteiro para o byte 5, bit 2

T DBD 12 //Copia o conteúdo do ACCU1 para a double word 12 do DB que estiver aberto

A I [DBD 12] //Faz a lógica E do bit de entrada 5.2

• Usando Endereço de 16 bits: este endereçamento, ao contrário do endereçamento de 32 bits, é usado para localizar DBs, temporizadores e contadores além de FBs e FCs. O endereço é armazenado em uma word na memória (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 número 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: Endereçamento Indireto de Registro

Com o Endereçamento Indireto de Registro, o endereço da variável a ser acessada está armazenado em um registrador de endereço. Também neste tipo de endereçamento existe uma outra subdivisão: Endereçamento Indireto de Registro de Área Interna e Endereçamento Indireto de Registro de Área Cruzada. Este tipo de

Referências

Documentos relacionados

O objetivo deste trabalho foi realizar o inventário florestal em floresta em restauração no município de São Sebastião da Vargem Alegre, para posterior

Portanto, mesmo percebendo a presença da música em diferentes situações no ambiente de educação infantil, percebe-se que as atividades relacionadas ao fazer musical ainda são

A Prefeitura de nossa cidade está vivendo bom momento economica- mente, mesmo tendo gastos com a pandemia, ainda assim, o vereador Marcos Nem (PSD) disse que no perí- odo de chuva

b) Execução dos serviços em período a ser combinado com equipe técnica. c) Orientação para alocação do equipamento no local de instalação. d) Serviço de ligação das

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Assim sendo, o espaço da estrada é determinante como facilitador de um exercício de uma sexualidade mais plena, aberta e satisfatória, pelo menos para Thelma, e ao

Dentre as principais conclusões tiradas deste trabalho, destacam-se: a seqüência de mobilidade obtida para os metais pesados estudados: Mn2+>Zn2+>Cd2+>Cu2+>Pb2+>Cr3+; apesar dos

62 daquele instrumento internacional”, verifica-se que não restam dúvidas quanto à vinculação do Estado Brasileiro à jurisdição da Corte Interamericana, no que diz respeito a