GithubHelp home page GithubHelp logo

boiler-controller's Introduction

Boiler-controller

Objetivo

Implementar o controle e a supervisão do sistema descrito em http://www.romulosilvadeoliveira.eng.br/livrotemporeal/Trabalhos/controle-caldeira-2.pdf.

Dependências

  • GCC
  • Java

Execução

cd ~
mkdir workspace
cd workspace
git clone https://github.com/bruno-szdl/Boiler-controller
cd Boiler-controller
sh run.sh

Simulador da caldeira

Simulador (http://www.romulosilvadeoliveira.eng.br/livrotemporeal/Trabalhos/aquecedor2008_1.jar) é usado para simular uma unidade de caldeira e é chamado com: java -jar aquecedor2008_1.jar <número-porta-escutada>

A caldeira possui instrumentação embutida e aceita os seguintes comandos: "sta0" lê valor de Ta "st-0" lê valor de T "sti0" lê valor de Ti "sno0" lê valor de No "sh-0" lê valor de H "ani123.4" define valor de Ni como 123.4 "aq-567.8" define valor de Q como 567.8 "ana123.4" define valor de Na como 123.4 "anf123.4" define valor de Nf como 123.4

Cuidado com a formatação dos valores em ponto flutuante.

Requisitos do trabalho

Implementar em C no Linux o programa CONTROLADOR, o qual deve incluir as seguintes funcionalidades de controle:

  • Laço de controle como tarefa periódica para a temperatura;

  • Laço de controle como tarefa periódica para o nível (pode considerar estratégias separadas e não multivariável);

  • Uso do tanque auxiliar e da saída de água;

  • Informações na tela sobre a situação corrente;

  • Verificação da temperatura a cada 10ms para disparo de tarefa de alarme caso esteja acima de 30 graus.

  • Entrada através do teclado dos valores de referência para nível e temperatura;

  • Armazenagem periódica dos valores lidos de temperatura e armazenagem desses dados em arquivo, através de buffer duplo (produtor/consumidor).

Outros requisitos:

  • Usar mutex para proteger as variáveis compartilhadas;
  • Tarefas periódicas implementadas com precisão e não com sleep fixo;
  • Período do controlador de temperatura deve ser 50ms;
  • Período do controlador de nível deve ser 70ms;
  • Atualização da tela pode ser com sleep simples de 1 segundo.

Alguns aspectos para a composição da nota do trabalho do controlador:

  • Fez no Linux, em C, usando a biblioteca das pthreads ?
  • Foi usado um mutex para cada estrutura compartilhada ?
  • A aplicação apresenta valores dos sensores na tela ?
  • A aplicação possui laços de controle para temperatura e nível ?
  • A aplicação acessa teclado durante a execução do controlador, afeta valor de referência ?
  • A aplicação grava leituras em arquivo ?
  • As tarefas de controle são realmente periódicas ?
  • Existe uma tarefa para o alarme ?

boiler-controller's People

Contributors

bruno-szdl avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.