Sunteți pe pagina 1din 25

1

MANUAL DO CSLADDER MIC

1.0 INTRODUO

O CSLadder Mic, uma ferramenta didtica construda por Rocha (2012),


como trabalho de concluso de curso na formao de Engenharia de Computao
da Pontifcia Universidade Catlica de Minas Gerais no ano de 2012. Sobre
orientao do professor Luiz Carlos Figueiredo.

O objetivo da ferramenta auxiliar os estudantes a elaborar programas de


CLP (Controlador Lgico Programvel) na Linguagem Ladder, com utilizao de
microcontrolador em substituio ao CLP. Onde foi selecionado o microcontrolador
ATmega328 da fabricante ATMEL, com a plataforma de desenvolvimento Arduino
Duemilanove composta com compilador (Arduino alpha, Open-Source) e placa de
gravao de microcontrolador. O recurso didtico ainda possibilita a depurao do
programa atravs do Ambiente de simulao.

O Csladder Mic permite realizar edies na linguagem grfica Ladder,


gerando de forma automtica (etapas de compilao) o cdigo objeto na linguagem
C/C++, para posteriormente ser compilado na Integrated Development Environment
(IDE), do Arduino alpha.

As instrues da linguagem Ladder permitidas na verso 1.0 do CsLadder Mic


so: Normal Aberto (NA), Normal Fechado (NF), Output Terminal Energize (OTE),
Output Terminal Energize Latch (OTL) e Output Terminal Unlatch (OTU) (MORAES,
2007).

2.0 FUNCIONALIDADES

A seguir sero descritos as funcionalidades do CSLadder Mic. A Figura 1


apresenta o Diagrama de Caso de Uso do CSLadder Mic, exibindo as possibilidades
de ao do usurio com o aplicativo.
2

FIGURA 1 Caso de Uso do CSLadder Mic

Fonte: Elaborado pelo autor

2.1 Barra de ferramentas do Menu arquivo

A Figura 2 apresenta os botes de atalhos para o menu arquivo, a seguir


sero descritas suas funcionalidades.

A Figura 2 item a ou no menu bar arquivonovo, corresponde a criar um


novo diagrama Ladder apagando todo contedo j editado.

A Figura 2 item b ou menu bar arquivo/abrir, corresponde a abrir um


programa Ladder salvo.

Na Figura 2 item c ou menu bar arquivo/salvar, corresponde a salvar um


programa Ladder. Visto que o CSLadder Mic salva seu diagramas Ladder na
extenso LAD.

Na Figura 2 item d ou menu bar arquivo/exportar BMP, corresponde a


exportar uma imagem com a extenso BMP do programa Ladder editado pelo
usurio.
3

FIGURA 2 - Botes de manipulao de arquivos

Fonte: Elaborado pelo autor

2.2 Formas de Edio no CSLAdder MIC

2.2.1 Editor Grfico Ladder

Este editor consiste em elaborar o diagrama Ladder atravs do mouse. No


permite ao usurio elaborar edies em que as conexes no apresentem um
caminho possvel a ser energizado da barra da esquerda at a da direita.

2.2.1.1 Consideraes de Edio

A seguir sero descritos alguns padres adotados para as edies.


cada matriz lgica, possui dimenses . Sabendo que , ento tem-se a
variao de e , totalizando 36 clulas.
Por padro, nas colunas mpares apenas podem ser inseridas instrues ou
conexo de continuidade e nas colunas pares somente so inseridas as conexes
da linguagem Ladder.
O nmero de matrizes lgicas limitado quantidade de memria do
computador. Cada matriz s poder conter uma instruo de sada na clula ,
por isso as clulas , e destinadas para instrues de sada no tero
funcionalidade.
A memria e os pinos de entrada e sada do microcontrolador so limitados,
por isso foi necessrio criar uma padronizao dos pinos digitais e limitar o nmero
de instrues utilizadas no programa Ladder. O padro utilizado ser apresentado a
seguir:
4

Entradas (EN) - so entradas digitais do microcontrolador, variando de


EN0 (pino digital 0) at EN7 (pino digital 7), totalizando 8 entradas;
Sadas (S) - so sadas digitais do microcontroladores, variando de S8
(pino digital 8) at S13 (pino digital 13), totalizando 6 sadas;
Contadores (C) - so os contadores Ladder da instruo CTU, variando de
C0 (contador 0) at C7 (contador 7), totalizando 8 contadores;
Temporizadores (T) ou cronmetros - so os temporizadores Ladder da
instruo TON, variando de T0 (temporizador 0) at T4 (temporizador 4),
totalizando 5 temporizadores;
Flags (F) - so bobinas internas utilizadas para expandir o nmero de
instrues Ladder NA, NF, OTE, OTU e OTL, variando de F0 (flag 0) at
F15 (flag 15), totalizando 16 flags.

2.2.1.2 Construo das ramificaes

No aplicativo foi padronizado que um programa em LD deve possuir no


mnimo uma matriz lgica. O usurio pode adicionar ou remover uma matriz lgica
por vez, atravs dos botes apresentados na Figura 3 itens "a" e "b",
respectivamente.
FIGURA 3 - Botes da ferramenta de edio

Fonte: Elaborado pelo autor

Inicialmente toda matriz a ser editada possui um conjunto de conexes de


seguimento na primeira linha que leva a barra da esquerda direita, como mostrado
pela Figura 4.
5

FIGURA 4 - Matriz padro inicial

Fonte: Elaborado pelo autor

Para construir as ramificaes ou degraus, o usurio deve construir das linhas


superiores s inferiores e em cada uma destas realizada a construo das colunas
da esquerda direita. J as desconstrues devem seguir o caminho inverso sendo
realizado das linhas inferiores s superiores e para cada uma destas se destri as
colunas mais a direita.
A construo ou destruio de degraus realizada passo-a-passo, sendo que
o semicircuito que ser construdo ou destrudo aparecer selecionado ao usurio,
para enfim decidir se deseja remover ou construir o circuito correto. Na Figura 3 itens
"c" e "d", so apresentados os botes de construo e destruio da ramificao,
respectivamente. O usurio deve escolher um deles e depois selecionar o local da
matriz onde deseja realizar a edio.
Para facilitar a edio do programa Ladder, s permitido ao usurio
construir conexes em paralelo esquerda e seguida de conexes em sries ou
paralelas. A Figura 5 apresenta uma matriz Ladder que no pode ser construda e
sua adaptao para ser construda no CSLadder Mic representada pela Figura 6.

FIGURA 1 - Lgica em Ladder FIGURA 6 - Adaptao no


CSLadder Mic

FIGURA 2 - Adaptao no CSLadder Mic

Fonte: Elaborado pelo autor

Na Figura 4 item "e" utilizado para remover uma instruo.


6

sugerido ao usurio construir primeiramente todas as ramificaes de cada


matriz e em seguida inserir as instrues Ladder na mesma.

2.2.1.3 Insero de instruo

Para inserir uma instruo de entrada ou sada o usurio dever selecionar a


instruo na barra de ferramentas representa pela Figura 8 e direcionar ao local a
ser inserido, assim ser substituda uma conexo de continuidade pela instruo
desejada.

FIGURA 3 - Botes de instrues

Fonte: Elaborado pelo autor

A Figura 8 itens "a" e "b", apresentam as instrues NA e NF,


respectivamente. Quando inseridas em local correto aparecer janela
representada na Figura 9 onde so mostradas as opes de instrues.
FIGURA 4 - Insero de instruo NA e NF

Fonte: Elaborado pelo autor


7

As instrues de entradas e sadas se refere aos pinos digitais do


microcontrolador e seus respectivos estados lgicos. Os Cronmetros referem se
ao estado do bit DN de um temporizador, os Contadores referem se ao bit DN de
um contador e as Flags referem se ao estado lgico de uma flag utilizada no
programa.
A Figura 8 itens "c" (referente instruo OTE), "e" (L referente instruo
OTL) e "f" (U referente instruo OTU), so as bobinas de sadas de uma matriz.
Quando inseridas em local correto a janela da Figura 10 ser exibida e tambm
apresentar as opes de utilizao para sadas digitais e Flags.

FIGURA 5 Insero de instrues OTE, OTL e OTU

Fonte: Elaborado pelo autor

Na Figura 8 o item "g" (TON) utilizado para insero de um temporizador em


uma matriz. Quando inserido em local correto, ser exibida a janela da Figura 31
que apresenta os temporizadores especficos e o usurio dever definir o
temporizador e o tempo em segundos do Preset do mesmo.
8

FIGURA 6 Insero da instruo TON

Fonte: Elaborado pelo autor

Na Figura 8 o item "h" (CTU) utilizado para insero de um contador em


uma matriz. Quando inserido em local correto, aparecer janela da Figura 12 que
apresenta os contadores especficos e o usurio dever definir o contador e o valor
do Preset do mesmo.

FIGURA 7 Insero da instruo CTU

Fonte: Elaborado pelo autor


9

Na Figura 8 no item "d" foi criada a instruo Reset (RES) de uma matriz,
para que seja possvel reiniciar um contador ou temporizador especficos. Quando
inserido em local correto, aparecer a janela da Figura 13 onde apresenta as opes
para que os contadores ou cronmetros utilizados possam voltar ao estado inicial.

FIGURA 8 Insero de instruo RES

Fonte: Elaborado pelo autor

2.3 Ambiente de Simulao da linguagem Ladder

Este ambiente uma das sadas do CSLadder Mic. Consiste em botes de


entradas grficos e painis de visualizao dos atributos das instrues LD. O
Ambiente de Simulao, Depurador, Debugger ou Simulador possui um objetivo
didtico, pois simula o funcionamento do programa Ladder para que o usurio possa
visualizar previamente as aes realizadas pelo seu programa para uma aplicao
especfica.
Na Figura 14 item a ou menu bar Simulador/simular para que seja
inicializada a simulao do programa Ladder. realizada aps a edio do usurio e
a no ocorrncia de erros.
Na Figura 14 item b ou menu bar Simulador/parar simulao
10

FIGURA 14 Ferramenta de incio de simulao

Fonte: Elaborado pelo autor

A Figura 15 apresenta o painel de simulao interativo.


A seguir ser descrita a funcionalidade de cada componente do ambiente de
simulao.

Entradas digitais - EN0 at EN7 so botes virtuais que simulam chaves


ligadas s entradas digitais disponveis. A alterao do estado da chave
realizada pelo usurio atravs do clique do mouse. Quando a chave est
fechada o estado da entrada verdadeiro e quando aberta falso;
Sadas digitais - S8 at S13 so bobinas visuais, que simulam leds
virtuais ligados s sadas digitais disponveis. A alterao de estado dos
leds realizada atravs da lgica antecipadamente programada, sendo
que quando o led est com a cor verde o estado da sada verdadeiro ou
alto e quando preto falso ou baixo;
Contadores - C0 at C8 so contadores visuais, que atravs de uma
tabela simulam os valores dos atributos internos da instruo CTU. A
alterao dos valores dos atributos realizada atravs da lgica
antecipadamente programada, sendo que em vermelho possui o valor do
Preset, verde valor do Accum e azul o estado lgico do bit DN;
Cronmetros - T0 at T4 so temporizadores visuais, que atravs de uma
tabela, simulam os valores dos atributos internos da instruo TON. A
Alterao dos valores dos atributos realizada atravs da lgica
antecipadamente programada, sendo que em vermelho possui o valor do
Preset, verde valor do Accum e azul o estado lgico do bit DN;
Flags - F0 at F15 so bobinas internas visuais que simulam o estado do
bit das flags. A alterao realizada atravs da lgica antecipadamente
11

programada, sendo que em azul possui seu estado lgico em1 quando
verdadeiro e 0 quando falso.

FIGURA 9 Painel de Simulao

Fonte: Elaborado pelo autor

2.4 Compilao Ladder

A Compilao do programa Ladder realizada no momento de simulao do


usurio, exportao do cdigo C/C++ e ainda o usurio pode fazer a compilao
prvia do programa atravs do boto da Figura 16.

FIGURA 10 Boto de compilao

Fonte: Elaborado pelo autor


12

Os possveis erros de implementao Ladder so:


Instruo RES de reincio de um contador ou temporizador no utilizado;
Multiplicidades de Temporizadores e Contadores, como instruo de sada;
Flags e Sadas digitais utilizadas como NA ou NF, no utilizadas como
instrues de sadas (OTE, OTL, OTU).
Na ocorrncia de erros exibido ao usurio um conjunto de mensagem com o
nmero total de erros e suas descries como exibido pela Figura 17.

FIGURA 11 Exemplo de erros

Fonte: Elaborado pelo autor

2.5 Gerao de Cdigo C/C++ para plataforma Arduino Alpha

Esta gerao um dos objetivos do CSLadder Mic, que gera o cdigo objeto
C/C++ equivalente ao programa fonte Ladder. Esta gerao ocorre se caso no haja
erro nos diagramas Ladder.
Para Exportar o cdigo C/C++ s clicar no boto da Figura 18 item a ou menu
bar compilador/Exportar C/C++, onde ser salvo no destino especificado o arquivo
com a extenso PDE que a utilizada pela IDE Arduino alpha.
Aps o arquivo PDE ter sido exportado e se caso o compilador Arduino Alpha j
estiver instalado no computador e todas as extenses PDEs do Sistema operacional
forem direcionadas para abrir o compilador Arduino Alpha, com o clique do boto da
Figura 18 item b ou menu bar compilador/Arduino Alpha pode abrir o cdigo
objeto C/C++ na plataforma Arduino Alpha.
13

FIGURA 18 Ferramenta de exportao de cdigo C/C++

Fonte: Elaborado pelo autor

As entradas digitais foram padronizadas utilizando o resistor pull-up, onde em


nvel alto se deve ligar ao ground e o adverso estar desconectado.

necessrio a utilizao da biblioteca csladdermic.h , no apndice A apresenta


esta com suas implementaes csladdermic.cpp, contida no apndice B.

Para no utilizar em todos os projetos pode se criar uma pasta como o nome
csladdermic dentro da pasta libraries da IDE Arduino, adicionando os
csladdermic.cpp e csladdermic.h, no necessitando adicionar toda vez em um novo
projeto.

3.0 Exemplo de exerccios de automatizao implementados no CSLadder Mic

A seguir descreveremos alguns problemas de automatizao que foram


implementados no CSLadder MIC.

3.1 Sistema de Reservatrio

Implementar um programa em Ladder para o CLP em um sistema de


reservatrio composto de uma vlvula de entrada P, duas bombas
(acionadas por M1 e M2), um alarme AL e quatro sensores de nvel (a, b, c,
d), conforme ilustrado na Figura 19. As condies de funcionamento so as
seguintes: se o nvel for 'a', ento fecha-se a vlvula P. Se o nvel for inferior
a 'b', ento abre-se a vlvula P. Acima de 'b', M1 e M2 bombeiam. Abaixo de
'b', somente M1 bombeia. Abaixo de 'c', soa o alarme AL. Em 'd', nenhuma
das bombas dever funcionar (SILVEIRA; SANTOS, 2009, p.114-115).

A Figura 20 apresenta a soluo em LD para o problema.

FIGURA 19 - Sistema de Reservatrio

Fonte: SILVEIRA; SANTOS, 2009.


14

FIGURA 20 - Programa fonte em Ladder para o Sistema de Reservatrio

Fonte: Elaborado pelo autor


3.2 Rels com Dependncia

Elaborar um programa CLP para controlar dois rels (R1 e R2) de tal
maneira que R1 pode atuar de forma independente e R2 s pode atuar se
R1 estiver ligado, mas pode continuar ligado aps o desligamento de R1.
Os rels so ligados pelas botoeiras L1 e L2, e so desligados pelas
botoeiras D1 e D2 (SILVEIRA; SANTOS, 2009, p.115).

A Figura 21 apresenta a soluo em LD.


15

FIGURA 12 - Programa fonte em Ladder para os Rels com Dependncia

Fonte: Elaborado pelo autor

3.3 Mquina de Solda

Em uma mquina de solda, h dois elementos controlados por um CLP: um


contator (A) para fechamento do arco, e um rel (E) para avano do motor
do eletrodo. Quando o operador aciona o gatilho (G), a mquina deve entrar
em funcionamento, atuando primeiramente o motor e 1 segundo aps atuar
o eletrodo. No momento em que o operador solta o gatilho, uma operao
reversa deve ocorrer, ou seja, primeiramente desliga-se o eletrodo e aps 1
segundo desliga-se o motor. Com base nestas informaes elabore um
programa CLP para realizar tal controle (SILVEIRA; SANTOS, 2009, p.116).

A Figura 22 apresenta a soluo em Ladder para o problema proposto.


16

FIGURA 22 - Programa fonte em Ladder para a Mquina de Solda

Fonte: Elaborado pelo autor

3.4 Lmpada Intermitente

"Utilizando apenas um elemento temporizador, elabore um programa PLC


capaz de acionar uma lmpada de sinalizao piscante com perodo de 2 segundos
(SILVEIRA; SANTOS, 2009, p.116).
A Figura 23 apresenta o LD para o problema proposto.
17

FIGURA 13 - Programa fonte em Ladder para a Lmpada Intermitente

Fonte: Elaborado pelo autor

3.5 Contador de pulsos Mdulo Cinco

Utilizando-se dos recursos de contagem de CLP, elabore um programa


capaz de acionar uma lmpada sinalizadora sem que o nmeros de pulsos
recebidos em sua entrada for igual for mltiplo de 5 (cinco). Assim, no
desfecho do quinto pulso a lmpada acende, desligando-se no recebimento
do sexto; novamente acende no dcimo e desliga no dcimo primeiro
(SILVEIRA; SANTOS, 2009, p.116).

A Figura 24 apresenta o Ladder para o problema proposto.


18

FIGURA 14 - Programa fonte em Ladder para o Contador de Pulsos Mdulo


Cinco

Fonte: Elaborado pelo autor


19

4.0 REFERNCIAS

MORAES, Cicero C. Engenharia de Automao Industrial. 2. ed. Rio De Janeiro:


LTCn, 2007. ISBN 85-216-1532-9.

ROCHA, Diego Silva Caldeira. CSLADDER MIC: compilador e simulador Ladder


para microcontrolador ATMEGA328. 2012. 108 f. Monografia (Concluso de curso)
Pontifcia Universidade Catlica de Minas Gerais, Programa de Graduao em
Engenharia de Computao, Belo Horizonte.

SILVEIRA, Paulo Rogrio da; SANTOS, Winderson E. dos. Automatizao e


Controle Discreto. 3. ed. So Paulo: rica, 2009. ISBN 9788571945913.
20

APNDICE A BIBLIOTECA CSLADDERMIC.H

Este Apndice apresenta o enunciado das classes da biblioteca


csladdermic.h, utilizada para auxilio na gerao de cdigo objeto C/C++.
/*
BIBLIOTECA CSLADDERMIC.H
OBJETIVO: UTILZADA PARA GERAO DO CDIGO C++
AUTOR: DIEGO SILVA CALDEIRA ROCHA*/

#ifndef csladdermic_h
#define csladdermic_h
#include "WProgram.h" //BIBLIOTECA PADRO ARDUINO
#include "Bounce.h" // BIBLIOTECA PARA CONTROLE DE HISTERESE

//CLASSE Entrada PARA UTILIZAO DE ENTRADAS DIGITAIS


class Entrada{

private:
bool sinal;//NIVEL ALTO OU BAIXO
int pino;// VALOR DO PINO
int Delay_read;//TEMPO DE HISTERESE

public:

Entrada(int Pin, int D_r);//CONSTRUTOR


void Setup();//CONFIGURAO INICIAL DA ENTRADA DIGITAL
bool get_state();//RETORNA O SINAL DA ENTRADA
int get_pino();//RETORNA O PINO UTILIZADO
void Read(); //LEITURA DO SINAL DA ENTRADA

};

//CLASSE Saida PARA UTILIZAO DE SAIDAS DIGITAIS


class Saida{

private:
bool sinal;//NIVEL ALTO OU BAIXO
int pino;// VALOR DO PINO

public:
Saida(int Pin);//CONSTRUTOR
void Setup();//CONFIGURAO INICIAL DA SADA DIGITAL
bool get_state();//RETORNA O SINAL DA SAIDA
int get_pino();//RETORNA O PINO UTILIZADO
void Read();//LEITURA DO SINAL DA ENTRADA
void set();//COLOCA A SADA DIGITAL EM NVEL ALTO
void reset(); //COLOCA A SADA DIGITAL EM NVEL BAIXO
};

//CLASSE Flag PARA UTILIZAAO NA LGICA INTERNA


class Flag{
private:
bool sinal;//NIVEL ALTO OU BAIXO
public:
Flag(bool t);//CONSTRUTOR
bool get_state();//RETORNA O SINAL DA FLAG
void set(); //COLOCAO A FLAG EM NVEL ALTO
21

void reset();//COLOCA A FLAG EM NVLE BAIXO


};

//CLASSE Ctu PARA UTILIZAAO DE CONTADORES


class Ctu{
private:
bool sinal, //NIVEL ALTO OU BAIXO
sinal_ant;//GUARDA O SINAL ANTERIOR
int presset,//ATEQUAL VALOR SE DESEJA CONTAR
accum;//VALOR ATUAL DA CONTAGEM

public:
Ctu(int PRST);//CONSTRUTOR
bool get_state();//RETORNA O SINAL CONTADOR
void set();//COLOCAO O CONTADOR EM NVEL ALTO
void reset();//COLOCA O CONTADOR EM NVEL BAIXO
void restart();//REINICIALIZA O CONTADOR
};

//CLASSE Ton PARA UTILIZAAO DE TEMPORIZADORES


class Ton{
private:
bool sinal;//NIVEL ALTO OU BAIXO
int presset;//ATEQUAL VALOR SE DESEJA TEMPORIZAR

public:
Ton(int PRST);//CONSTRUTOR
void set();//COLOCAO O TEMPORIZADOR EM NVEL ALTO
bool get_state();//RETORNA O SINAL DO TEMPORIZADOR
void reset();//REINICIALIZA O TEMPORIZADOR

};#end
22

APNDICE B BIBLIOTECA CSLADDERMIC.CPP

Este Apndice apresenta as implementaes dos mtodos das classes


da biblioteca csladdermic.h, utilizada para auxilio na gerao de cdigo objeto
C/C++.
/*
BIBLIOTECA CSLADDERMIC.CPP

OBJETIVO: IMPLEMENTAO DAS CLASSES DA CSLADDERMC.HI

AUTOR: DIEGO SILVA CALDEIRA ROCHA

*/

#include "WProgram.h" //BIBLIOTECA PADRO DO ARDUINO


#include <csladdermic.h>//CABEARIO
#include "Bounce.h" // BIBLIOTECA PARA CONTROLE DE HISTERESE

/*IMPLEMENTAO DOS MTODS DA CLASSE Entrada*/

//CONSTRUTOR PAR. 1 VALOR DO PINO, PAR. 2 VALOR DE ATRASO DE HISTERESE;


Entrada :: Entrada(int Pin, int D_r)
{
pino=Pin;//SET PINO
D_r=Delay_read;//ATRASO DE HISTERESE
sinal=false; // TODA ENTRADA INICIALMENTE ESTA EM NVEL BAIXO

//INSTALAES INICIAIS DE ENTRADA


void Entrada::Setup()
{
pinMode(pino, INPUT);//colocando o pino como entrada
digitalWrite(pino, HIGH);//colocando o pino para o funcionamento DO reistor pull up ;
}

//RETORNA O ESTADO DA ENTRADA


bool Entrada :: get_state()
{
return sinal;
}

//RETORNA O PINO DE ENTRADA


int Entrada:: get_pino()
{
return pino;
}

//FAZ A LEITURA DA ENTRADA DIGITAL


void Entrada::Read()
{

//CONTROLE DE HISTERESE
Bounce bouncer = Bounce( pino,Delay_read );
bouncer.update ( );
if(bouncer.read()==0)//pull-up inverte a logica
23

sinal=true;
else
sinal=false;
}

/* IMPLEMENTAO DOS MTODoS DA CLASSE Saida*/

//CONSTRUTOR PAR. 1 VALOR DO PINO


Saida :: Saida(int Pin)
{
pino=Pin;
sinal=false;
digitalWrite(pino, LOW);
}

//INSTALAES INICIAIS DE ENTRADA


void Saida ::Setup()
{
pinMode(pino, OUTPUT);
}

//RETORNA O ESTADO DA SADA


bool Saida:: get_state()
{
return sinal;
}

//RETORNA O PINO DE SADA


int Saida:: get_pino()
{
return pino;
}

//COLOCA UMA SADA DIGITAL EM NIVEL ALTO


void Saida::set()
{
digitalWrite(pino, HIGH);
sinal=true;
}

//COLOCA UMA SADA DIGITAL EM NVEL BAIXO


void Saida::reset()
{
digitalWrite(pino, LOW);
sinal=false;
}

/* IMPLEMENTAO DOS MTODoS DA CLASSE Flag*/

//CONSTRUTOR PAR. 1 ESTADO INICIAL DA FLAG


Flag :: Flag(bool t )
{
sinal=t;

//RETORNA O ESTADO DA FLAG


bool Flag :: get_state()
{
return sinal;
24

//COLOCA A FLAG EM NVEL ALTO


void Flag :: set()
{
sinal=true;
}

//COLOCA A FLAG EM NVEL BAIXO


void Flag :: reset()
{
sinal=false;
}

/* IMPLEMENTAO DOS MTODoS DA CLASSE Ctu */

//CONSTRUTOR PAR 1 VALOR FIM DA CONTAGEM


Ctu :: Ctu(int PRST)
{
presset=PRST;
sinal=false;
sinal_ant=false;
accum=0;
}

//RETORNA O ESTADO DO CONTADOR


bool Ctu:: get_state()
{
return sinal;
}

//COLOCA O ESTADO DO CONTADOR EM NVEL ALTO


void Ctu::set()
{
sinal_ant=true;
}

//COLOCA O ESTADO DO CONTADOR EM NVEL BAIXO


void Ctu::reset()
{
if(sinal_ant==true&&accum<presset)
{
accum++;
sinal_ant=false;
}
if(accum==presset)
sinal=true;

//REINICIA A CONTAGEM DO CONTADOR


void Ctu::restart()
{
accum =0;
sinal=false;
sinal_ant=false;
}
/*IMPLEMENTAO DOS MTODoS DA CLASSE Ton*/
Ton :: Ton(int PRST)
{
25

presset=PRST;
sinal=false;

//RETORNA O ESTADO DO SINAL DO TEMPORIZADOR


bool Ton:: get_state()
{
return sinal;
}

//COLOCA O TEMPORIZADOR EM NVEL ALTO


void Ton::set()
{
sinal=true;
}

//COLOCAR O TEMPORIZADOR EM NVEL BAIXO


void Ton::reset()
{
sinal=false;
}

S-ar putea să vă placă și