aula10-RSLogix5000

6
1 Laboratório de Informática Industrial – Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos – DELT/EE-UFMG - 2012 Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica Laboratório de Informática Industrial 10ª AULA - PROGRAMAÇÃO SOB A NORMA IEC 61131-3 (III): LINGUAGEM SFC Objetivos: Desenvolvimento de aplicações na linguagem SFC (Structured Function Chart) para o CLP CompactLogix da Roclwell Automation. Atividades Prévias 1. Leia atenciosamente, em casa, o texto desta prática. 2. Desenvolva previamente, ainda em casa, o programa na linguagem SFC descrito no item “Atividades de Projeto e Programação” desta prática. 3. Ao chegar ao laboratório, discuta sua solução com seus colegas de grupo e decidam, em conjunto, qual programa será o adotado nesta prática. Introdução Em aplicações de automação industrial, freqüentemente um projeto é quebrado em partes menores de forma a facilitar seu desenvolvimento e também permitir que diferentes equipes possam trabalhar em paralelo. Neste sentido, a linguagem SFC (Sequential Function Chart) é muito útil pois permite que um projeto de software seja desenvolvido na técnica top-down, na qual parte-se de uma idéia genérica, sem muitos detalhes, que vai sendo sucessivamente “quebrada” em blocos menores com graus de detalhamento crescentes, até chegar-se ao grau de refinamento desejado que possibilite o desenvolvimento dos programas. Desta forma, com a linguagem SFC podemos ter um programa composto de poucos estados mas onde as ações de cada estado, por sua vez, são expressas na forma de outro diagrama SFC, e assim sucessivamente até alcançar-se o grau de refinamento desejado. Criação de novas tarefas no RSLogix 5000 A atividade prática a ser executada nesta aula requer a criação de novas tarefas (tasks) a serem executadas pelo CLP CompactLogix. Tarefas correspondem a aplicações independentes ou colaborativas entre si que são executadas concorrentemente pelo sistema operacional multitarefa do CLP CompactLogix. No modelo 1769-L32E do CompactLogix podem ser configuradas até 6 tarefas, sendo apenas uma contínua e as demais periódicas ou por eventos. A tarefa contínua (se existente) é sempre executada em background (ou seja, com menor prioridade que as demais). Tarefas periódicas executam em intervalos regulares de tempo definidos pelo programador, e podem ter diferentes níveis de prioridade entre si. Como já mencionado no guia de aula anterior que introduz a programação na norma IEC 61131, ao criar-se um projeto com o RSLogix 5000 são automaticamente definidos uma tarefa (MainTask), um programa (MainProgram) e uma rotina (MainRoutine). A tarefa MainTask é definida inicialmente como uma tarefa de execução contínua, podendo contudo ser alterada para uma tarefa periódica ou por eventos se assim o desejarmos. Para adicionar novas tarefas, execute os seguintes passos: 1. Clique com o botão direito do mouse no item Tasks, no organizador de programas, e selecione New Task (Fig. 1).

description

RSLogix5000

Transcript of aula10-RSLogix5000

  • 1

    Laboratrio de Informtica Industrial Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos DELT/EE-UFMG - 2012

    Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrnica Laboratrio de Informtica Industrial 10 AULA - PROGRAMAO SOB A NORMA IEC 61131-3 (III): LINGUAGEM SFC Objetivos: Desenvolvimento de aplicaes na linguagem SFC (Structured Function Chart) para o CLP CompactLogix da Roclwell Automation.

    Atividades Prvias 1. Leia atenciosamente, em casa, o texto desta prtica. 2. Desenvolva previamente, ainda em casa, o programa na linguagem SFC descrito no item

    Atividades de Projeto e Programao desta prtica.

    3. Ao chegar ao laboratrio, discuta sua soluo com seus colegas de grupo e decidam, em conjunto, qual programa ser o adotado nesta prtica.

    Introduo

    Em aplicaes de automao industrial, freqentemente um projeto quebrado em partes menores de forma a facilitar seu desenvolvimento e tambm permitir que diferentes equipes possam trabalhar em paralelo. Neste sentido, a linguagem SFC (Sequential Function Chart) muito til pois permite que um projeto de software seja desenvolvido na tcnica top-down, na qual parte-se de uma idia genrica, sem muitos detalhes, que vai sendo sucessivamente quebrada em blocos menores com graus de detalhamento crescentes, at chegar-se ao grau de refinamento desejado que possibilite o desenvolvimento dos programas.

    Desta forma, com a linguagem SFC podemos ter um programa composto de poucos estados mas onde as aes de cada estado, por sua vez, so expressas na forma de outro diagrama SFC, e assim sucessivamente at alcanar-se o grau de refinamento desejado.

    Criao de novas tarefas no RSLogix 5000

    A atividade prtica a ser executada nesta aula requer a criao de novas tarefas (tasks) a serem executadas pelo CLP CompactLogix. Tarefas correspondem a aplicaes independentes ou colaborativas entre si que so executadas concorrentemente pelo sistema operacional multitarefa do CLP CompactLogix. No modelo 1769-L32E do CompactLogix podem ser configuradas at 6 tarefas, sendo apenas uma contnua e as demais peridicas ou por eventos. A tarefa contnua (se existente) sempre executada em background (ou seja, com menor prioridade que as demais). Tarefas peridicas executam em intervalos regulares de tempo definidos pelo programador, e podem ter diferentes nveis de prioridade entre si.

    Como j mencionado no guia de aula anterior que introduz a programao na norma IEC 61131, ao criar-se um projeto com o RSLogix 5000 so automaticamente definidos uma tarefa (MainTask), um programa (MainProgram) e uma rotina (MainRoutine). A tarefa MainTask definida inicialmente como uma tarefa de execuo contnua, podendo contudo ser alterada para uma tarefa peridica ou por eventos se assim o desejarmos. Para adicionar novas tarefas, execute os seguintes passos:

    1. Clique com o boto direito do mouse no item Tasks, no organizador de programas, e selecione New Task (Fig. 1).

  • 2

    Laboratrio de Informtica Industrial Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos DELT/EE-UFMG - 2012

    Figura 1: Criao de uma nova tarefa.

    2. Na nova janela que ser aberta, defina o nome da nova tarefa, uma descrio para a mesma, o seu tipo (caso j exista uma tarefa continua, os tipos possveis sero apenas Periodic ou Event) e, no caso de tarefas peridicas, o intervalo de execuo, como exemplificado na Fig. 2.

    Figura 2: Definies sobre uma nova tarefa criada.

    3. Criada uma nova tarefa, clique com o boto direito do mouse sobre a mesma, no organizador de programas, e defina um novo programa para a mesma como exemplificado nas Figs. 3 e 4 a seguir:

    Figura 3: Criao de um programa para uma determinada tarefa.

  • 3

    Laboratrio de Informtica Industrial Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos DELT/EE-UFMG - 2012

    Figura 4: Definies sobre um novo programa criado.

    4. Finalmente, clique com o boto direito do mouse sobre o novo programa criado e selecione New Routine para criar uma nova rotina para o mesmo, como exemplificado na Fig. 5. Se forem criadas duas ou mais rotinas, uma delas deve necessariamente ser definida como a principal. Este passo j foi coberto nas aulas anteriores e no ser detalhado aqui.

    Figura 5: Criao de uma rotina para um programa de uma dada tarefa.

    Atividades de Projeto e Programao

    Uma indstria de produtos tensoativos (detergentes, desinfetantes, saponceos, etc.) fabrica uma batelada de determinado produto adicionando um componente-base a um reservatrio, agitando o mesmo durante 10 segundos e depois escoando completamente o reservatrio. Quando este se esvazia, nova batelada tem incio. Desenvolva uma aplicao que execute o controle automtico deste sistema, composta das seguintes tarefas:

    MainTask Tarefa contnua que executar o controle automtico do reservatrio. Esta tarefa corresponde a um programa composto por duas rotinas: o seqfull rotina principal, a ser desenvolvida na linguagem SFC o encheR rotina secundria, tambm em SFC, que ser chamada pela rotina principal.

    simul_sensores Tarefa peridica responsvel pela simulao dos sensores de nvel baixo e de nvel alto do reservatrio. Deve conter a rotina nivelR, a ser desenvolvida na linguagem FBD.

    simul_nivel Tarefa peridica que simular o enchimento e esvaziamento do reservatrio. Deve conter a rotina simul, a ser desenvolvida na linguagem ST (texto estruturado).

    A seguir so apresentados os requisitos de operao das rotinas correspondentes a estas trs tarefas.

  • 4

    Laboratrio de Informtica Industrial Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos DELT/EE-UFMG - 2012

    Rotina seqfull

    A rotina principal seqfull dever implementar a seguinte seqncia: 1. Inicialmente o sistema permanece no estado desligado. 2. Verifica se o operador deu a partida no sistema. 3. Caso a condio 2 seja verdadeira, executar a rotina encheR que ir controlar o enchimento ou

    esvaziamento do reservatrio. 4. Verifica se a seqncia foi desabilitada (desligada) pelo operador. 5. Caso a condio 4 seja verdadeira, parar tudo, ou seja, fechar as vlvulas e desligar o agitador. 6. Retornar ao passo 2. Rotina encheR

    A rotina secundria encheR dever implementar a seguinte seqncia: 1. Verifica se o reservatrio est vazio. 2. Caso esteja, abrir a vlvula de entrada para encher o reservatrio. 3. Quando o estado da varivel reserv_cheio for verdadeiro, fechar a vlvula de entrada e ligar o

    agitador por 10s. 4. Decorridos os 10s, desligar o agitador e abrir a vlvula de sada para esvaziar o reservatrio. 5. Verificar se o reservatrio est vazio atravs da varivel reserv_vazio. Caso esteja, retornar para

    o passo 1. Rotina nivelR

    A rotina peridica nivelR deve atribuir os valores 0 ou 1 s variveis globais reserv_cheio e reserv_vazio de acordo com o valor da varivel nivel, cuja faixa de valores 0 a 100%. Rotina simul

    A rotina peridica simul ir simular o enchimento e esvaziamento do reservatrio, incrementando ou decrementando a varivel nivel de acordo com o estado das vlvulas de entrada e sada. Para que a simulao do enchimento ou esvaziamento do silo ocorra em um tempo aceitvel, defina o perodo de execuo da tarefa simul_nivel como 50ms.

    Ao final do processo de criao destas tarefas e respectivos programas e rotinas, seu organizador de programas deve apresentar uma aparncia semelhante seguinte:

    Figura 6: Tarefas, programas e rotinas definidas para esta prtica.

    O smbolo de uma seta circular indica uma tarefa contnua.

    O smbolo de um relgio indica uma tarefa peridica.

    O smbolo 1 designa a rotina principal de cada tarefa.

  • 5

    Laboratrio de Informtica Industrial Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos DELT/EE-UFMG - 2012

    A tabela a seguir apresenta as variveis de entrada e sada a serem utilizadas.

    Tabela 1: Variveis de entrada e sada

    Nome Descrio Tipo Modo Endereo Mdulo MICA executa_seq Liga/Desliga Sequncia Automtica BOOL Input Local:1:I.Data.0 Liga/Desliga do Contator C1 liga_agitador Liga agitador BOOL Output Local:3:0:Data.0 Servo-motor valv_entrada Aciona vlvula de entrada BOOL Output Local:3:0:Data.1 Lmpada Vermelha valv_saida Aciona vlvula de sada BOOL Output Local:3:0:Data.2 Lmpada Verde reserv_cheio Status de reservatrio cheio BOOL Base -------------------- ------------------------------------ reserv_vazio Status de reservatrio vazio BOOL Base -------------------- ------------------------------------ nivel Nvel do reservatrio DINT Base -------------------- ------------------------------------

    Observaes Importantes:

    1. Em todas as tarefas criadas, no se esquea de definir a rotina que agir como a principal. Isto necessrio mesmo para as tarefas que possuem apenas uma rotina.

    2. Ao criar os tags referentes s variveis internas e de E/S, no se esquea de defini-los como tags globais, de forma que sejam visveis a todas as rotinas do programa. Para tal, declare-os no escopo do controlador (ou seja, no escopo do projeto associado ao controlador) e no no escopo de cada programa ou rotina (figura 7).

    Figura 7: Escopo de declarao de variveis (tags)

    Se voc errar neste passo, ser obrigado a cancelar os tags e declar-los novamente!

    3. Para que a rotina principal seqfull chame, no passo adequado, a rotina secundria encheR, use o comando Jump to Subroutine (JSR):

    JSR(nome_da_rotina);

    Este comando ir provocar o desvio da execuo da rotina principal para a rotina referenciada. Observe, contudo, que quando o passo que chama a rotina secundria desativado, na prxima ativao deste passo a rotina chamada reiniciar do ponto onde teve sua execuo interrompida. Se desejarmos que a rotina chamada reinicie a partir de seu passo inicial, devemos adicionar a instruo SFC Reset (SFR), especificando a rotina a ser reinicializada e o passo inicial:

    SFR(nome_da_rotina, passo_inicial);

  • 6

    Laboratrio de Informtica Industrial Profs. Carmela M. P. Braga / Luiz T. S. Mendes / Michelle M. Santos DELT/EE-UFMG - 2012

    A instruo SFR pode ser executada antes da instruo JSR, com o qualificador P1, ou depois da instruo JSR, com o qualificador P0. A figura abaixo exemplifica o emprego destas instrues:

    Figura 8: Passo de um diagrama SFC com as instrues JSR e SFR.

    4. Observe que as diferentes tarefas colaboram entre si atravs das variveis globais. O resultado

    coletivo das tarefas executadas que resulta na ao de controle desejada.

    5. Teste seu programa minuciosamente. comum, em automao industrial, ignorarmos (por descuido ou desconhecimento) algumas situaes operacionais importantes durante o projeto, as quais, porm, podem ser reveladas mediante um teste cuidadoso. Em particular, a lgica descrita para a aplicao desta prtica omite um detalhe de funcionamento importante, que voc poder identificar facilmente testando-a de forma cuidadosa.

    Instrues de montagem no MICA

    Nesta prtica, caber a voc identificar as interligaes necessrias entre os sensores e atuadores do MICA e os cartes de E/S do CLP, bem como realizar as respectivas conexes necessrias. Lembre-se porm dos seguintes cuidados:

    1. Com o MICA energizado, certifique-se que o boto de emergncia esteja pressionado durante qualquer operao de montagem;

    2. Confira com ateno a sua montagem antes de rearmar o boto de emergncia.

    Crditos

    Esta nota de aula foi realizada com a colaborao do aluno Danilo Ribeiro, aluno do curso de Engenharia de Controle e Automao, e bolsista de monitoria do Laboratrio de Automao.

    Referncias

    Rockwell Automation, SFC programming, 1756-pm006 Rockwell Automation, SFC and ST programming, 1756-pm003