s:

Tamanho: px
Começar a partir da página:

Download "s:"

Transcrição

1 GERAÇÃO AUTOMÁTICA DE AUTÔMATOS TEMPORIZADOS PARA DIAGRAMAS DE BLOCOS FUNCIONAIS Leandro Dias da Silva, Luiz Paulo de Assis Barbosa, Kyller Gorgônio, Angelo Perkusich, Antonio Marcus Nogueira Lima Universidade Federal de Alagoas Instituto de Computação Maceió, Alagoas Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Laboratório de Sistemas Embarcados e Computação Pervasiva Campina Grande, Paraíba s: leandro@dee.ufcg.edu.br, luizpaulo@dee.ufcg.edu.br, kyller@dee.ufcg.edu.br, perkusic@dee.ufcg.edu.br, amnlima@dee.ufcg.edu.br Abstract Safety Instrumented Systems (SIS) are designed to prevent accidents, avoid undesirable situations and guarantee the continuous operation of production systems such as oil and gas facilities. In this scenario, it is important to be able to validate the SIS implementation against its specification in order to increase the reliability of the system. In this work a technique to improve the dependability of SIS is introduced. A method to obtain a timed automata from a Function Block Diagram is presented and applied to a case study provided by Petrobras (Brazilian oil company). Keywords Safety Instrumented Systems, FBD, Timed Automata. Resumo Sistemas Instrumentados de Segurança são projetados para prevenir acidentes, evitar situações indesejáveis e garantir a operação contínua de sistemas de produção tais como os de petróleo e gás. Neste cenário é importante poder validar a implementação do SIS contra sua especificação para aumentar a confiabilidade do sistema. Neste trabalho é introduzida uma técnica para melhorar a confiabilidade dos SIS. Um método para obter automaticamente um autômato temporizado a partir de Diagramas de Bloco Funcionais (FBD, do inglês Function Block Diagram) é apresentado e aplicado a um estudo de caso provido pela Petrobras. Palavras-chave Sistemas Instrumentados de Segurança, FBD, Autômatos Temporizados. 1 Introdução Na operação de plantas de processamento de óleo e gás é necessária a utilização de um sistema de segurança para prevenir acidentes, evitar a ocorrência de situações indesejadas e garantir a operação contínua da planta. Para isso, são utilizados os Sistemas Instrumentados de Segurança (SIS). O SIS funciona de forma independente do controle supervisório, e está um nível acima do mesmo na hierarquia de segurança e controle. Um conjunto de sensores e atuadores, mais um Controlador Lógico Programável (CLP) de segurança formam o sistema. Dos sensores vêm as informações que serão processadas pelo código executando no CLP. As saídas produzidas são aplicadas aos atuadores que realizarão as ações de controle. O ciclo de desenvolvimento de um SIS é mostrado na Figura 1. Primeiramente a companhia de óleo gera um conjunto de requisitos na forma de uma matriz de causa e efeito e algum texto adicional explicando coisas que não estão presentes na tabela e detalhando alguns procedimentos que devem ser realizados. A partir desses requisitos um conjunto de diagramas lógicos ISA 5.2 (Ins, 1992) é gerado. Todos esses artefatos juntos constituem a especificação do sistema. Finalmente, uma equipe especializada em automação industrial é encarregada de realizar o desenvolvimento do sistema baseado na especificação. O código é então gerado para ser executado em um CLP. Para validar o código desenvolvido é realizado um Teste de Aceitação de Fábrica (TAF). O TAF é realizado por engenheiros da companhia de óleo da seguinte maneira: as entradas da tabela de causa e efeito são reproduzidas em campo e o comportamento do SIS para essas entradas é então comparado com o comportamento especificado. Se o comportamento corresponde ao especificado o código é aceito, caso contrário, a empresa responsável pelo desenvolvimento do código realiza as correções necessárias. Figura 1: Processo de desenvolvimento do SIS Um aspecto importante do ciclo de desenvolvimento descrito é que a empresa contratante não tem nenhuma garantia formal de que o código recebido corresponde a especificação fornecida. Além disso, no caso da existência de erros o processo de desenvolvimento torna-se bastante lento, pois os erros só são detectados no TAF que é realizado no produto final, ou seja, na última etapa do desenvolvimento. O TAF é um processo

2 que despende muito tempo, geralmente dias ou mesmo semanas, devido as temporizações envolvidas no controle dos processos e a grande quantidade de entradas a serem testadas. Ainda existe a possibilidade de que erros permaneçam ocultos no código mesmo após a realização do TAF. A existência de uma metodologia que auxilie no processo de desenvolvimento, permitindo que os erros sejam detectados ainda durante a fase de desenvolvimento, e que proporcione um meio de realizar a validação do código com uma maior quantidade de testes e em tempo reduzido, será de grande valia no processo de desenvolvimento de um SIS. Baresi utiliza redes de Petri temporizadas de alto nível (HLTPN) para modelar diagramas de blocos funcionais (FBDs) (Baresi et al., 2000). A planta da fábrica é descrita por um conjunto de equações diferenciais, enquanto a lógica de controle é provida através de FBDs. As HLTPN são obtidas com o objetivo de validar o projeto e gerar o código fonte do sistema. O foco principal deste trabalho é na geração automática de autômatos temporizados, a partir de FBDs para realizar testes de conformidade automáticos. Os diagramas ISA 5.2 servem como especificação do controle que deve ser implementado para parte de um SIS presente nas instalações da Petrobras. Os programas em FBD correspondem a implementação do controle descrito nos diagramas. O restante deste trabalho está organizado da seguinte forma. Na Seção 2 os autômatos temporizados são informalmente introduzidos. Na Seção 3 a linguagem FBD é apresentada. Na Seção 4 a metodologia para geração automática dos autômatos é descrita. Na Seção 5 são discutidas as conclusões e sugestões para trabalhos futuros. 2 Autômatos Temporizados Um autômato temporizado é uma máquina de estados finitos estendida com variáveis de relógio que são avaliadas como números reais (Alur e Dill, 1994). Todos os relógios declarados progridem de forma síncrona. Na ferramenta Uppaal os modelos são estendidos através do uso de variáveis inteiras limitadas (Behrmann et al., 2004). Assim como em linguagens de programação, tais variáveis podem ser lidas, escritas e submetidas a operações aritméticas. Um estado do sistema é definido de acordo com as localidades do autômato, as restrições de relógio, e os valores das variáveis discretas. Todo autômato pode executar uma ação separadamente ou sincronamente com outro autômato, atingindo dessa forma um novo estado. Na Figura 2(a) um autômato temporizado que modela o funcionamento de uma lâmpada é mostrado. A lâmpada tem três possíveis estados: desligada, fraco e forte. Cada um desses estados é modelado por uma localidade no autômato, sendo cada localidade representada por um círculo. Se o usuário apertar o botão, gerando o evento press, a lâmpada é acesa. Se o usuário apertar o botão novamente, a lâmpada será desligada. Entretanto, se o usuário apertar o botão duas vezes seguidas, como em um duplo clique no mouse de seu computador, a lâmpada será acesa e ficará mais forte. Note que o estado do autômato é determinado pela localidade ativa, e pelos valores das variáveis envolvidas. No caso o relógio y que é usado para determinar se o usuário apertou o botão duas vezes seguidas (y < 5) ou não (y 5). O modelo do usuário, que nesse caso representa o ambiente em que o sistema é executado, é mostrado na Figura 2(b). O usuário pode pressionar o botão a qualquer instante de tempo ou simplesmente não pressioná-lo. desl y=0 y>=5 fraco (a) Lâmpada press! (b) Usuário y<5 forte Figura 2: Uma lâmpada muito simples Observe que os autômatos das Figuras 2(a) e 2(b) são sincronizados através do evento press que é gerado pelo usuário. O envio de evento é modelado adicionando um ponto de exclamação ao nome do evento (press!) e o recebimento adicionando uma interrogação (). Observe que o envio e recebimento ocorrem de forma síncrona. Em outras palavras, quando o usuário pressiona o botão (press!) a lâmpada imediatamente muda de estado (). Apesar de bastante simples, o exemplo acima introduz a sintaxe e a semântica dos autômatos temporizados. 3 Diagramas de Blocos Funcionais A linguagem gráfica FBD usa blocos funcionais para representar as ações que devem ser realizadas. Esses blocos podem ser escolhidos dentro de um conjunto pré-definido pelo fabricante ou construídos pelo usuário de acordo com sua necessidade. Um bloco funcional possui um conjunto de parâmetros de entrada e saída, um conjunto de variáveis internas e um algoritmo que é executado quando é solicitada a execução do bloco. Esse algoritmo define a relação entre os valores correntes dos parâmetros de entrada, de saída e das variáveis internas. A presença de variáveis internas faz com que o bloco funcional possua um estado associado a cada uma de suas instâncias. Outra característica a ser destacada é que a correspondência entre os valores dos parâmetros de entrada

3 e saída não é unívoca como em uma função, já que os valores das variáveis internas são considerados no cálculo dos parâmetros de saída. Um programa FBD pode ser visto de maneira análoga a um diagrama elétrico, ou seja as conexões mostram o caminho dos sinais entre os blocos que formam a rede. A linguagem FBD é usada geralmente para descrever soluções que envolvem malhas de controle e lógica. O padrão define que o fluxo dos sinais em um FBD ocorre da esquerda para a direita, das saídas de funções ou blocos funcionais (FBs do inglês, Function Blocks) para as entradas de outras funções ou FBs. A negação dos sinais é feita de forma semelhante aos diagramas lógicos, pela presença de um círculo na entrada ou saída dos FBs, ou pelo uso do bloco NOT. O padrão define também uma forma de controlar a execução das funções explicitamente através de um sinal booleano ENO que adquire o valor verdadeiro ao final de uma execução bem sucedida da função. A saída ENO de uma função é ligada na entrada EN da função seguinte, que por sua vez, só executa quando o valor presente em EN for verdadeiro. Os FBDs podem conter caminhos de realimentação e para tratar esses casos o padrão define que o valor do sinal dentro do caminho de realimentação deve ser guardado após o final de uma execução da rede, para ser utilizado como valor de entrada na próxima execução. O padrão define também que a ordem de avaliação dos blocos envolvidos na realimentação seja definida explicitamente, mas o método para se realizar isso não é mencionado. Algumas regras de avaliação para um programa FBD devem ser observadas para garantir a consistência dos dados trocados entre os blocos. Nenhum elemento deve ser avaliado a menos que os valores de todos os sinais conectados às entradas do mesmo estejam disponíveis. A avaliação de um elemento não está completa até que os valores de todas as saídas produzidas pelo elemento tenha sido determinados. A avaliação de uma rede FBD não esta completa até que todas as saídas de todos os elementos tenham sido determinadas. Finalmente, quando existe transferência de dados de uma rede para outra, todos os valores vindos da primeira rede devem ser produzidos pela mesma avaliação da rede. A segunda rede só deve iniciar sua avaliação, após todos os sinais de entrada vindos da primeira rede estarem disponíveis. 4 Extração de Autômatos Temporizados de FBD A metodologia descrita neste trabalho é baseada na metodologia descrita em (de Assis Barbosa et al., 2007) e consiste na especificação de templates para geração automática de automatos temporizados. No caso especifico deste trabalho abordamos a linguagem FBD, enquanto que no trabalho anterior foi desenvolvida a metodologia para ISA 5.2. Ambos modelos são utilizados para geração e execução automática de teste de conformidade utilizando a ferramenta TRON 1. Desta forma, a metodologia consiste em extrair automaticamente automatos temporizados da especificação (ISA 5.2) e da implementação (FBD) e confrontá-los via testes de conformidade para garantir formalmente a conformidade entre eles. Para formar o exemplo de aplicação e como base para o estudo da geração dos autômatos a partir do código FBD, foi escolhida uma parte do controle utilizado em uma unidade de geração de hidrogênio para ser implementada utilizando a linguagem FBD. O diagrama descrevendo o controle escolhido para implementação é mostrado na Figura 3. O programa mostrado na Figura 3 é formado apenas por blocos funcionais pré-definidos para a plataforma alvo. Apenas elementos lógicos, temporizados e células de memória são representados. As conexões lógicas presentes nos diagramas, são representadas por conexões diretas entre os elementos no programa. Não são utilizadas funções matemáticas, blocos definidos pelo usuário, ou variáveis que não sejam do tipo Booleano. No programa a ordem de avaliação dos elementos é determinada explicitamente por um número que é atribuído a cada bloco que faz parte da descrição do programa. As variáveis de entrada e saída são associadas à regiões de memória física. O tempo de execução do programa é configurável e deve corresponder a um valor entre 200ms no mínimo e 500ms no máximo. 4.1 Desenvolvimento do Modelo O conjunto de elementos modelados consiste dos elementos de lógica Booleana (AND e OR), elementos com memória (flip-flops) e elementos temporizados. Uma descrição detalhada do desenvolvimento e do procedimento para geração automática para os modelos para ISA 5.2 pode ser encontrada em (de Assis Barbosa et al., 2007). O modelo para FBD é constituído por quatro tipos de autômatos. Os dois primeiros são modelos do sistema, que descrevem os flip-flops, os elementos temporizados e os elementos lógicos, e modelos do ambiente, que descrevem as entradas físicas. Os dois últimos estão relacionados com o controle da ordem de avaliação dos blocos que formam o programa. Estes autômatos são responsáveis pelo cálculo da convergência individual de cada bloco e da convergência da rede de blocos como um todo. Por motivos de limitação de espaço os autômatos para leitura das variáveis de entrada e para escrita das saídas serão omitidos. Além disso, apenas os modelos de flip-flops e temporizadores DI serão ilustrados e discutidos. 4.2 Detalhamento do Controle de Execução do Modelo O ciclo de varredura do CLP é dividido em três etapas. Leitura dos sensores, execução do código 1

4 Figura 3: Especificação do controle e escrita das variáveis de saídas para os atuadores. Buscando reproduzir esse comportamento, o modelo do ambiente determina os instantes da geração dos novos valores para as variáveis de entrada, o que corresponde ao momento da leitura dos sensores realizada no início de cada ciclo de varredura. Além disso, monitora o tempo de processamento desses valores pela rede de autômatos do modelo, para não exceder o tempo programado. E, ao final do processamento, libera a geração dos eventos de saída, o que corresponde a escrita das variáveis que acionam os atuadores no processo físico. Os valores que são atribuídos às variáveis de entrada são escolhidos não deterministicamente entre os valores verdadeiro e falso, de forma a reproduzir o comportamento mais permissivo possível para o ambiente. Para gerar o modelo do ambiente são necessários quatro templates. Um que modela o ciclo de varredura, um para controlar a ordem na qual as variáveis são atualizadas, um para as variáveis e outro para receber os eventos de saída. O autômato do ciclo de varredura principal, mostrado na Figura 4, tem a função de garantir a ordem de avaliação correta dos blocos, controlar o tempo gasto para execução do modelo do programa e garantir que toda a rede modelada convergiu. Para garantir a ordem de avaliação, para cada ciclo secundário, é criada uma variável que habilita ou não a execução do ciclo. Ainda, para cada ciclo secundário é criada uma variável que indica o término da execução dos autômatos que modelam o bloco associado àquele ciclo. As variáveis que habilitam a execução dos ciclos são denominadas enable scan[blk] onde blk 0, 1, 2, 3... é um índice que identifica o bloco associado àquele ciclo seguindo a ordem de avaliação. O índice zero é utilizado para identificar o ciclo principal e os demais para os ciclos secundários. As variáveis que indicam a convergência dos ciclos são denominadas CN[blk]. update! CN[blk]==true t=0, write_out() Waiting read_in() Executing t<tscan synchro[blk]! CN[blk]==false && t>=0 && t<tscan && enable_scan[blk]==true CN[blk]=control() Figura 4: Autômato do ciclo de varredura principal A cada início de execução do ciclo principal, a variável que habilita a execução do primeiro ciclo secundário seguindo a ordem de avaliação, assume o valor verdadeiro, enquanto às demais variáveis é atribuído o valor falso. A função control() monitora a variável que indica a convergência do primeiro bloco e, de acordo com o valor dessa variável, habilita o próximo ciclo secundário que deve executar. Isso é feito de forma seqüencial para todos os ciclos secundários do modelo. A cada ciclo secundário só é permitido executar uma vez por execução do ciclo principal. A convergência da rede é atingida quando todas as variáveis que indicam as convergências dos ciclos secundários possuírem o valor verdadeiro. Uma vez terminada a execução do programa os valores produzidos são escritos no array out[], que representa o registrador de saída do CLP, pela função write out(). Após isso, é permitido aos autômatos do ambiente executarem, produzindo os novos valores para as variáveis de entrada. Os valores das entradas são guardados no array in[], que modela o registrador de entrada do CLP, e serão copiados para o array f lags[], pela função read in(). O array flags[] guarda os valores das variáveis do modelo durante a execução da rede de autômatos.

5 O autômato do ciclo de varredura secundário, mostrado na Figura 5, possui uma guarda que testa o valor da variável que habilita a sua execução, e o valor da variável que indica a sua convergência. Isso é feito, para garantir que a execução inicia no momento determinado pelo ciclo principal e para evitar que o mesmo bloco avalie duas vezes na mesma execução do programa. A função start() é chamada no momento que o controle é passado para o ciclo secundário. Essa função evita a concorrência de execução entre os ciclos de varredura alterando o valor da variável que habilita a execução do ciclo principal para falso. A função control() calcula a convergência dos elementos que formam o bloco associado ao ciclo secundário. Ao final da execução do ciclo secundário o controle é devolvido ao ciclo principal através da chamada à função release(), que atribui o valor verdadeiro a variável que habilita a execução do ciclo principal. CN[blk]==true release() Waiting synchro[0]? enable_scan[blk]==true && CN[blk]==0 start() Executing synchro[blk]! CN[blk]==false && enable_scan[blk]==true CN[blk]=control() Figura 5: Autômato do ciclo de varredura secundário 4.3 Os Autômatos do Ambiente Para o ambiente temos os templates Scan Cycle, Env Controller, Env Signal e Env Event Receptor. Esses templates são utilizados como base para instanciação dos autômatos que desempenham o controle do modelo, desde a substituição do ambiente físico, até o controle da execução dos autômatos do modelo da implementação a ser testada (IUT, do inglês Implementation Under Test). O autômato do ciclo de varredura, Scan, é instanciado a partir do template Scan Cycle, mostrado na Figura 6. O autômato Scan, é responsável por reproduzir o comportamento do ciclo de varredura do CLP. Ela gera rótulos de sincronização que irão sincronizar com autômatos tanto do ambiente quanto do sistema, controlando o momento em que estes autômatos devem iniciar a execução de suas transições. O ciclo inicia-se pela geração dos valores das entradas, seguido pela execução dos autômatos do sistema e termina com a geração dos rótulos de sincronização de saída. Os rótulos synchro! e end! são utilizados respectivamente para sincronizar a execução e informar o fim da mesma para autômatos dos elementos temporizados do sistema. O rótulo write! sincroniza com o autômato do sistema que gera os rótulos de saída, iniciando essa operação. O rótulo update! CN==true CN=false write! CN==true CN=false, t =0 Writing end! CN==true && t==tscan Waiting start? read_in() synchro! CN=control() Executing t<=tscan synchro! CN==false && t>=0 && t<=tscan CN=control() Figura 6: Template Scan Cycle para o ciclo de varredura update! sincroniza com o autômato responsável pela geração dos novos valores para as variáveis de entrada, iniciando essa operação por parte do ambiente. O rótulo start! sincroniza com o autômato Scan iniciando uma nova execução da rede de autômatos. Os canais, synchro, end e write, permitem a comunicação dos processos do ambiente com os processos da IUT e são, portanto, do tipo observável. Os canais, update e start, permitem a comunicação apenas entre os processos do ambiente e, por isso, são classificados como canais internos do ambiente. Com exceção da transição que sincroniza com o rótulo start! e da transição que inicia a execução dos autômatos do sistema, todas as demais transições do autômato Scan testam em suas guardas a variável de controle CN. Essa variável assume o valor verdadeiro ao final das operações de execução dos autômatos do sistema, habilitando as transições que geram os rótulos end! e write!, e ao final da geração dos rótulos de saída, habilitando a transição que gera o rótulo update!. 4.4 Os Autômatos da IUT Para a IUT temos os seguintes templates: SR, DI, DT, PO, Event Generator. Todas as transições de todos os autômatos da IUT são disparadas em sincronismo com o rótulo synchro!, gerado pelo autômato Scan. Exceto o autômato que gera os eventos de saída que responde ao rótulo write!. Os autômatos do ambiente testam em suas guardas o valor de retorno da função evaluation. Essa função recebe como parâmetro o identificador da variável associada ao autômato, e testa as expressões que determinam que transição deve estar habilitada, para cada um dos autômatos do modelo. Os autômatos utilizados para modelar os flipflops, são instanciados a partir do template SR, mostrado na Figura 7. Para evitar ambigüidade na tomada de decisão quando os sinal de entrada desses elementos forem simultaneamente verdadeiros, é atribuída prioridade a uma das entradas. O tratamento da prioridade dos sinais de entrada para esse elemento é feito nas condições avaliadas pela função evaluation. A condição testada para habilitar a transição de baixa prioridade é formada

6 da seguinte maneira: guarda de baixa prioridade &&!guarda de alta prioridade. Dessa forma a transição de baixa prioridade só estará habilitada quando a expressão de maior prioridade for avaliada com falsa. De acordo com o valor retornado pela função evaluation, uma das transições possíveis é disparada, atualizando o valor da variável de saída do elemento modelado. Se nenhuma das condições de entrada é satisfeita, nenhuma transição é efetuada e o valor da variável de saída retém o último valor nela escrito, o que implementa a característica de memória do elemento. flags[id]=1 evaluation(id)==1 Off evaluation(id)==1 cycles = timer/tscan, cycles-- evaluation(id)==1 flags[id]=0 end? flags[id]=1 cycles == 0 && evaluation(id)==1 cycles > 0 && evaluation(id)==1 cycles-- Figura 8: Template DI On flags[id]=0 Figura 7: Template SR Os autômatos para os elementos temporizados, são instanciados a partir dos templates DI, DT e PO. Por motivo de limitação de espaço apenas o DI é ilustrado na Figura 8. A contagem do tempo é realizada considerando múltiplos do valor atribuído ao ciclo de varredura, ou seja, a menor temporização programada deve ser igual ao tempo de um ciclo de varredura, desta forma é realizada a contagem do número de ciclos equivalente a temporização programada. Isso pode ser feito pois as operações de atualização das variáveis de entrada e escrita das variáveis de saída são realizadas em tempo zero no modelo. Para obter o número de ciclos que devem ser efetuados antes de disparar a transição temporizada, é realizado o seguinte cálculo: cycles = timer/tscan. A variável cycles recebe a parte inteira da divisão do valor programado, timer, pelo tempo do ciclo de varredura, tscan, que é exatamente o número de ciclos desejado. A cada ciclo essa variável é decrementada, no momento em que o seu valor é igual a zero a transição temporizada deve ser disparada. Três localidades estão envolvidas no processo de contagem. Em cada uma delas existe um arco que permite que a contagem seja reiniciada a qualquer momento caso ocorrera uma mudança no valor das entradas do elemento após o início da contagem. As diferenças existentes entre os templates, dizem respeito ao comportamento do elemento modelado. 5 Conclusões Como resultado deste trabalho foi desenvolvida uma metodologia que para melhorar a confiança no funcionamento da implementação do SIS. A metodologia consiste em gerar modelos de autômatos temporizados da especificação, em ISA 5.2, e da implementação, em FBD, para confrontá-los via testes de conformidade. Para demonstrar o uso dessa metodologia foi desenvolvido um estudo de caso a partir de uma especificação fornecida pela Petrobras. Os diagramas utilizados correspondem à parte do controle de uma unidade de geração de hidrogênio da Refinaria Gabriel Passos (REGAP). O código FBD utilizado foi desenvolvido neste trabalho a partir da especificação. Como trabalhos futuros existe a necessidade de melhorar a geração dos testes para eliminar casos semelhantes e realizar o testes em uma planta real da Petrobras. Além disso, está sendo desenvolvida uma extensão deste trabalho para tratar a linguagem Ladder que também é muito utilizada em plantas de produção da Petrobras. Referências Alur, R. e Dill, D. L. (1994). A theory of timed automata, Theoretical Computer Science 126(2): Baresi, L., Mauri, M., Monti, A. e Pezzè, M. (2000). PLCTools: Design, formal validation, and code generation for programmable controllers, Proceedings of the IEEE Conference on System, Man, and Cybernetics, Vol. 4, IEEE Computer Society, Los Alamitos, CA, USA, pp Behrmann, G., David, A. e Larsen, K. G. (2004). A tutorial on uppaal, in M. Bernardo e F. Corradini (eds), Formal Methods for the Design of Real-Time Systems: 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM-RT 2004, number 3185 in LNCS, Springer Verlag, pp de Assis Barbosa, L. P., Gorgônio, K., Lima, A. M. N., Perkusich, A. e da Silva, L. D. (2007). On the automatic generation of timed automata models from isa 5.2 diagrams, Proceedings of 12th IEEE Conference on Emerging Technologies and Factory Automation, IEEE, Patras, Greece, pp Ins (1992). Binary Logic Diagrams for Process Operations, ISA (R1992) edn.

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Norma IEC 61131

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Norma IEC 61131 Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Norma IEC 61131 Heitor Medeiros Florencio Norma IEC 61131 A norma IEC (International Electrotechnical

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO Profª Danielle Casillo Ambiente de software desenvolvido para a programação, configuração, depuração e documentação de programas

Leia mais

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO Autores: Prof. Dr. André Riyuiti Hirakawa, Prof. Dr. Carlos Eduardo Cugnasca e Prof. Dr. Paulo Sérgio Cugnasca Versão 1.0-05/2005 1. OBJETIVO Esta experiência

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO Profª Danielle Casillo Aula 06 - Linguagem Ladder 2 Foi a primeira que surgiu para programação dos Controladores Lógicos

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

LÓGICA DIGITAL CONCEITOS DE CLOCK RELÓGIOS (CLOCK) Prof. Celso Candido ADS / REDES / ENGENHARIA

LÓGICA DIGITAL CONCEITOS DE CLOCK RELÓGIOS (CLOCK) Prof. Celso Candido ADS / REDES / ENGENHARIA RELÓGIOS (CLOCK) 1 Em muitos circuitos digitais, a ordem em que os eventos ocorrem é crítica. Às vezes um evento deve preceder outro, ou então dois eventos deverão ocorrer simultaneamente, para as relações

Leia mais

ü Na década de 1920 os dispositivos mecânicos foram substituídos pelos relés; ü O uso da lógica de relés dificultava modificações do processo;

ü Na década de 1920 os dispositivos mecânicos foram substituídos pelos relés; ü O uso da lógica de relés dificultava modificações do processo; O que são? CLP - CONTROLADOR LÓGICO PROGRAMÁVEL ü O CLP é um computador industrial, capaz de implementar funções de controle (sequência lógica, contagem e temporização), operações lógicas e aritméticas,

Leia mais

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Capítulo 3 Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer alguns dos principais circuitos digitais sequenciais

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. SDCD - Sistema Digital de Controle Distribuído

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. SDCD - Sistema Digital de Controle Distribuído Sistema Sistema Digital Digital de de Controle Controle Distribuído Distribuído SLIDE - 1 INTRODUÇÃO: AUTOMAÇÃO: Qualquer sistema, apoiado por computadores, que substitua o trabalho humano e que vise soluções

Leia mais

Modelagem de Processos Redes de Petri e Workflow nets. Silvana Pereira Detro

Modelagem de Processos Redes de Petri e Workflow nets. Silvana Pereira Detro Modelagem de Processos Redes de Petri e Workflow nets Silvana Pereira Detro Redes de Petri Propostas por Carl Adam Petri (1962), constituem se em uma técnica de modelagem que permite a representação de

Leia mais

Universidade Federal do Paraná Setor Palotina Departamento de Engenharias e Exatas Engenharia de Energias Renováveis

Universidade Federal do Paraná Setor Palotina Departamento de Engenharias e Exatas Engenharia de Energias Renováveis Universidade Federal do Paraná Setor Palotina Departamento de Engenharias e Exatas Engenharia de Energias Renováveis Disciplina: Automação Docente: Maurício Romani Acadêmico: Exercícios. 1) A figura a

Leia mais

LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE COMPUTAÇÃO)

LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE COMPUTAÇÃO) LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE 2005- COMPUTAÇÃO) 1) Apesar de todo o desenvolvimento, a construção de computadores e processadores continua, basicamente, seguindo a arquitetura clássica de von

Leia mais

Controle II. Márcio J. Lacerda. 2 o Semestre Departamento de Engenharia Elétrica Universidade Federal de São João del-rei

Controle II. Márcio J. Lacerda. 2 o Semestre Departamento de Engenharia Elétrica Universidade Federal de São João del-rei Controle II Márcio J. Lacerda Departamento de Engenharia Elétrica Universidade Federal de São João del-rei 2 o Semestre 2016 M. J. Lacerda Aula 1 1/24 Integral P 1 (100 pontos) - 22 de Setembro. P 2 (100

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção

Leia mais

4 Sistema Computacional:

4 Sistema Computacional: 4 Sistema Computacional: Hardware: são os componentes e dispositivos eletrônicos que operando em conjunto com outros componentes ou mesmo individualmente realizam uma das funções de um sistema de computação.

Leia mais

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE DISSERTAÇÃO DE MESTRADO

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE DISSERTAÇÃO DE MESTRADO UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA DISSERTAÇÃO DE MESTRADO GERAÇÃO AUTOMÁTICA DE TESTES DE CONFORMIDADE PARA

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC2 Organização de Computadores Digitais I 4ª Aula Revisão de Lógica Digital Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Aula ministrada por Prof. Paulo Sergio Lopes de Souza Revisão de Lógica Digital

Leia mais

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06. Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2 1 Processos A gerência de um ambiente multiprogramável é

Leia mais

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255 Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 Como discutido ao longo do livro, o 8031 deixa 8 bits para controle genérico de dispositivos. Em situações nas quais se necessita um

Leia mais

Profª Danielle Casillo

Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle Programação Ladder-SPDSW Profª Danielle Casillo Tipos de dados Todas as informações adquiridas e processadas pelo

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Modelagem Temporal com UML

Modelagem Temporal com UML Modelagem Temporal com UML! Tipo especial de diagrama de estados, onde são representados os estados de uma atividade, ao invés dos estados de um objeto.! Estados de Atividade: "Exemplo 1: passos de um

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO Santa Maria, 29 de Outubro de 2013. Revisão aula passada Modelagem de sistemas Perspectiva externa Perspectiva de iteração

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar - Aula 1 - O NÍVEL DA LÓGICA DIGITAL 1. INTRODUÇÃO Na parte inferior da hierarquia da figura abaixo encontramos o nível da lógica digital, o verdadeiro hardware do computador. Este nível situa-se na fronteira

Leia mais

Automação Industrial Parte 8

Automação Industrial Parte 8 Automação Industrial Parte 8 Prof. Ms. Getúlio Teruo Tateoki http://www.getulio.eng.br/meusalunos/autind.html -Vamos supor que seja necessário determinar a função lógica interna de um sistema desconhecido.

Leia mais

Sistemas Operacionais de Tempo Real - Teclados Matriciais

Sistemas Operacionais de Tempo Real - Teclados Matriciais 1 / 27 Sistemas Operacionais de Tempo Real - Teclados Matriciais por Henrique Frank W. Puhlmann Introdução Chaves eletromecânicas são uma forma quase primitiva de interface entre um sistema eletrônico

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO Profª Danielle Casillo Programável - CLP 2 Compactos Modulares Programável - CLP 3 Possuem incorporados em uma única unidade

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

CLP - Linguagens de Programação

CLP - Linguagens de Programação Curso: Técnico Subsequente em Petróleo e Gás Disciplina: CLP CLP - Linguagens de Programação Listas de Instruções Prof. Ms. Andouglas Gonçalves da Silva Júnior andouglasjr@gmail.com Listas de Instruções

Leia mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro airton.ribeiros@gmail.com Processador A função de um computador é executar tarefas com a finalidade de

Leia mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro Processador A função de um computador é executar tarefas com a finalidade de resolver problemas. Uma tarefa

Leia mais

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07 IA346 M Métodos de Pesquisa Para Engenharia de Computação Atividade 07 Nome: Janize Monteiro de Castilho RA: 150148 1. Tema de Pesquisa: Implementação de monitores para verificação de padrões de cenários

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO DOCENTE: ROGÉRIO VARGAS DISCENTE: MARIANNA NOVAES Semântica SEMÂNTICA Semântica é a área

Leia mais

Controlador Lógico Programável

Controlador Lógico Programável Controlador Lógico Programável Prof. Stefano 1 Definição IEC 1131-3 É um equipamento de controle composto de componentes eletrônicos e memória programável que contém dados e programas com a finalidade

Leia mais

Dispositivo de Selagem de Doce de Leite HI. Profª Danielle Casillo

Dispositivo de Selagem de Doce de Leite HI. Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle Dispositivo de Selagem de Doce de Leite HI Profª Danielle Casillo Estudo de Caso: Dispositivo de Selagem de Doce

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Edson T. Midorikawa/2006 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz).

Leia mais

MODELAGEM DE SISTEMAS

MODELAGEM DE SISTEMAS MODELAGEM DE SISTEMAS Profa. Rosemary Melo Representa a parte dinâmica do sistema Utilizado para modelar atividades, que podem ser um método ou um algoritmo, ou mesmo um processo completo. Na visão de

Leia mais

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis 2 Conceitos Neste capítulo são apresentados alguns conceitos necessários para o entendimento desta dissertação. Visto que esta proposta está inserida no contexto de sistemas multiagentes abertos, serão

Leia mais

Dispositivos de Lógica Programável

Dispositivos de Lógica Programável Dispositivos de Lógica Programável Evolução Válvula no início de 1940 Transistor em 1947 Não aquece como as válvulas Fisicamente menor 1961 primeiro integrado TTL 74LSXX Década de 1970 surge SPLD Simple

Leia mais

Guia para registro e análise do tráfego de mensagens GOOSE no SAS

Guia para registro e análise do tráfego de mensagens GOOSE no SAS Introdução Esse documento apresenta um roteiro para utilização do programa Wireshark, para captura de mensagens Ethernet transmitidas na infraestrutura de rede do Sistema de Automação de Subestações (SAS)

Leia mais

Fundamentos de Automação. Controlador 01/06/2015. Controladores. Controladores. Controladores. Considerações Iniciais CURSO DE AUTOMAÇÃO INDUSTRIAL

Fundamentos de Automação. Controlador 01/06/2015. Controladores. Controladores. Controladores. Considerações Iniciais CURSO DE AUTOMAÇÃO INDUSTRIAL Ministério da educação - MEC Secretaria de Educação Profissional e Técnica SETEC Instituto Federal de Educação Ciência e Tecnologia do Rio Grande do Sul Campus Rio Grande Considerações Iniciais Fundamentos

Leia mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas Operacionais. Conceitos de Hardware Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

364 SISTEMAS DIGITAIS

364 SISTEMAS DIGITAIS 364 SISTEMAS DIGITAIS APLICAÇÕES EM SISTEMAS DIGITAIS Nesta seção de aplicações em sistemas digitais, começamos a trabalhar com um sistema de controle de semáforo de trânsito. Estabelecemos aqui os requisitos

Leia mais

Automatismos. Lino Marques. Versão de 15/02/2007. Automação Industrial. Lino Marques 2008

Automatismos. Lino Marques. Versão de 15/02/2007. Automação Industrial. Lino Marques 2008 Lino Marques Versão de 15/02/2007 1 Conteúdo 2.1 O que são automatismos? 2.2 Arquitectura de um automatismo 2.3 Elementos de automatismos industriais 2.4 Especificação funcional: o método GRAFCET 2 O que

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Versão 2007 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz). Através da

Leia mais

Parte I Introdução. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Parte I Introdução.  professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática www.spei.br Sociedade Paranaense de Ensino e Informática Parte I Introdução 2 1 Uma máquina pode fazer o trabalho de cinquenta pessoas comuns. Máquina alguma pode fazer o trabalho de um homem incomum.

Leia mais

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a

Leia mais

Modelagem e CLP Autômatos

Modelagem e CLP Autômatos Modelagem e CLP Autômatos Rafael Garlet de Oliveira Instituto Federal Catarinense - IFC Câmpus Luzerna 5 de março de 2014 Rafael Garlet de Oliveira 1 / 20 Sumário 1 Autômato Determinístico Finito Definição

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

CLP ESTRUTURA E FUNCIONAMENTO ROGER NABEYAMA MICHELS

CLP ESTRUTURA E FUNCIONAMENTO ROGER NABEYAMA MICHELS CLP ESTRUTURA E FUNCIONAMENTO ROGER NABEYAMA MICHELS DISPOSITIVO CAPAZ DE Permitir fácil diagnóstico de funcionamento ainda na fase de projeto do sistema e/ou reparos em falhas que venham a ocorrer durante

Leia mais

5 Usando as Representações de Design Rationale

5 Usando as Representações de Design Rationale 5 Usando as Representações de Design Rationale Como mencionamos anteriormente, representar design rationale em uma linguagem formal usando o modelo formal dos artefatos nos permite atribuir semântica ao

Leia mais

MANUAL DO INSTALADOR DE CURSOS PORTÁTIL v.1.0

MANUAL DO INSTALADOR DE CURSOS PORTÁTIL v.1.0 ÍNDICE 1. Instalador de Cursos Portátil... 2 2. Executando o Instalador de Cursos Portátil... 2 3. Realizando o login... 4 4. Tela Principal... 6 4.1. Menu Atualizações... 6 4.1.1. Internas... 7 4.1.2.

Leia mais

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais

Diagrama de Máquina de Estados

Diagrama de Máquina de Estados Análise e Projeto de Sistemas OO Diagrama de Máquina de Estados Demonstra o comportamento de um elemento através de um conjunto de transições de estado. Um Estado representa a situação em que um objeto

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5

Leia mais

Benefícios de um CLP:

Benefícios de um CLP: Benefícios de um CLP: a) Permitir fácil diagnóstico de funcionamento ainda na fase de projeto do sistema e/ou de reparos em falhas que venham a ocorrer durante a sua operação. b) Ser instalado em cabines

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

Controladores Lógicos Programáveis (CLP) Disciplina: TAIE4

Controladores Lógicos Programáveis (CLP) Disciplina: TAIE4 (CLP) Disciplina: TAIE4 Profº. Fernando Barros Rodrigues 1 Um Controlador Lógico Programável (CLP) é um dispositivo eletrônico que possui memória programável para armazenar instruções e executar funções

Leia mais

TÍTULO: EMBALADORA DE TABULEIRO DE DAMAS CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E TECNOLOGIAS SUBÁREA: ENGENHARIAS

TÍTULO: EMBALADORA DE TABULEIRO DE DAMAS CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E TECNOLOGIAS SUBÁREA: ENGENHARIAS Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: EMBALADORA DE TABULEIRO DE DAMAS CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E TECNOLOGIAS SUBÁREA:

Leia mais

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

Memória SRAM 64x8 bits

Memória SRAM 64x8 bits UNIVERSIDADE FEDERAL DO PARANÁ Leonardo H. Menezes André N. Makoski Memória SRAM 64x8 bits Artigo elaborado como parte da avaliação da Disciplina de Circuitos Integrados Digitais, ministrada pelos Profs.:

Leia mais

Modelagem Temporal com UML

Modelagem Temporal com UML Modelagem Temporal com UML! Tipo especial de diagrama de estados, onde são representados os estados de uma atividade, ao invés dos estados de um objeto.! Estados de Atividade: "Exemplo 1: passos de um

Leia mais

O software conta ainda, com procedimento para geração de relatórios em EXCEL. Para gerar tais relatórios foi utilizado o tollkit Report Generation do

O software conta ainda, com procedimento para geração de relatórios em EXCEL. Para gerar tais relatórios foi utilizado o tollkit Report Generation do Desenvolvimento de um software para realização de testes de performance hidrodinâmica de próteses de válvulas cardíacas utilizando um Sistema Duplicador de Pulsos "O software conta ainda, com procedimento

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

4 Uma Linguagem Baseada em Máquinas de Estado 4.1. A Linguagem

4 Uma Linguagem Baseada em Máquinas de Estado 4.1. A Linguagem 4 Uma Linguagem Baseada em Máquinas de Estado 4.1. A Linguagem Acredita-se nesse trabalho que características reativas e fortemente baseadas em modelos tornam necessária a criação de uma linguagem específica

Leia mais

BARRAMENTOS. Adão de Melo Neto

BARRAMENTOS. Adão de Melo Neto BARRAMENTOS Adão de Melo Neto 1 SUMÁRIO COMPUTADOR EXEMPLO DE UMA INSTRUÇÃO NA MEMÓRIA CICLO DE BUSCA/EXECUÇÃO DE UM INSTRUÇÃO INTERRUPÇÃO ACESSO DIRETO A MEMÓRIA (DMA DIRECT MEMORY ACESS) BARRAMENTO BARRAMENTO

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Circuitos Lógicos Sequenciais (Parte

Leia mais

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

LISTA DE EXERCÍCIOS #3 (BASEADO NO ENADE ENGENHARIA)

LISTA DE EXERCÍCIOS #3 (BASEADO NO ENADE ENGENHARIA) LISTA DE EXERCÍCIOS #3 (BASEADO NO ENADE 2008- ENGENHARIA) 1) Pseudocódigo é uma forma genérica de se escrever um algoritmo, da forma mais detalhada possível, utilizando-se uma linguagem simples, nativa

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

7. Resultados Experimentais

7. Resultados Experimentais 7. Resultados Experimentais 7.1.Sistema Experimental Os modelos de controle propostos nesta dissertação foram testados em uma máquina INSTRON modelo 8501 utilizada para ensaios de fadiga, do Laboratório

Leia mais

INTRODUÇÃO AOS CONTROLADORES LÓGICOS PROGRAMÁVEIS

INTRODUÇÃO AOS CONTROLADORES LÓGICOS PROGRAMÁVEIS Automação (AUT) Universidade do Estado de Santa Catarina (UDESC) Centro de Ciências Tecnológicas (CCT) Departamento de Engenharia Elétrica (DEE) INTRODUÇÃO AOS CONTROLADORES LÓGICOS PROGRAMÁVEIS 2018-2

Leia mais

Especificação de Sistemas de Tempo Real com Gramática de Grafos. Leonardo Michelon Simone Costa Leila Ribeiro

Especificação de Sistemas de Tempo Real com Gramática de Grafos. Leonardo Michelon Simone Costa Leila Ribeiro Especificação de Sistemas de Tempo Real com Gramática de Grafos Leonardo Michelon Simone Costa Leila Ribeiro Roteiro Introdução Gramática de Grafos Baseada em Objetos (GGBO) GGBO Temporizada Semântica

Leia mais

Capítulo 7. Expressões e Sentenças de Atribuição

Capítulo 7. Expressões e Sentenças de Atribuição Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário

Leia mais

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais 1 Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais Circuitos Digitais Circuito combinacional: Circuito não é capaz de armazenar um valor Possui portas lógicas conectadas para

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 PROGRAMA É um conjunto de instruções LINGUAGEM BINÁRIA INTRODUÇÃO Os caracteres inteligíveis não são A, B, +, 0, etc., mas apenas zero(0) e um (1). É uma linguagem de comunicação

Leia mais

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais. Interrupção e Exceção Sistemas Operacionais Interrupção e Exceção Interrupção e Exceção Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. Estes

Leia mais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

Campeonato de Gamão. 1. Regras. 2. Servidor

Campeonato de Gamão. 1. Regras. 2. Servidor Campeonato de Gamão 1. Regras O campeonato de gamão será disputado de acordo com as regras tradicionais do jogo, facilmente encontradas na Internet. As duas cores tradicionais das pedras do jogo serão

Leia mais

Engenharia de Software. Prof. Raquel Silveira

Engenharia de Software. Prof. Raquel Silveira Engenharia de Software Prof. Raquel Silveira MOTIVAÇÃO Você já perdeu alguma versão anterior do arquivo do projeto? Já teve problemas em manter diferentes versões do sistema rodando ao mesmo tempo? Alguém

Leia mais

Caixa Postal 3167 CEP Criciúma, SC, Brasil

Caixa Postal 3167 CEP Criciúma, SC, Brasil Desenvolvimento e Implementação de Animações Computacionais Baseadas em Autômatos Finitos com Saída utilizando a Teoria das Categorias Daniel da Silva Fernandes 1, Christine Vieira Scarpato 1 1 Universidade

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

Circuitos Sequenciais

Circuitos Sequenciais ircuitos Sequenciais! ircuitos Sequenciais ircuitos em que há uma realimentação da saída para a entrada, denominada estado interno. As condições atuais da entrada e do estado interno determinem a condição

Leia mais

Sistemas Operacionais. Concorrência

Sistemas Operacionais. Concorrência Sistemas Operacionais Concorrência Sumário 1. Introdução 2. Sistemas Multiprogramáveis 3. Interrupções e Exceções 4. Operações de E/S 1. Entrada e Saída Controlada por Programa 2. Evolução da Entrada e

Leia mais

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO - FUNDAMENTOS Sistema de computação Buffering Spooling DMA (Acesso direto a memória) Hierarquia

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo

Leia mais

P&ID - Piping & Instrument Diagram

P&ID - Piping & Instrument Diagram P&ID - Piping & Instrument Diagram Fluxograma de Engenharia Leitura e interpretação de Fluxogramas e Diagramas de Processo Muitos de nós podemos nos lembrar de experiências na infância, quando se desenhavam

Leia mais

Profª Danielle Casillo

Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle CLP ezap900 e Ambiente de programação SPDSW Profª Danielle Casillo Kit Didático ezap900 É um módulo didático baseado

Leia mais

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Controladores Lógicos Programáveis

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Controladores Lógicos Programáveis Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Controladores Lógicos Programáveis Heitor Medeiros Florencio Controladores Lógicos Programáveis (CLPs) Os

Leia mais