220267748-NIKU-STX.pdf

May 18, 2019 | Author: BrunodeAmorim | Category: Window (Computing), Mass, Transmission (Mechanics), Graphical User Interfaces, Piston
Share Embed Donate


Short Description

Download 220267748-NIKU-STX.pdf...

Description

MATERIAL SUPLEMENTAR PARA ACOMPANHAR

INTRODUÇÃO À ROBÓTICA ANÁLISE, CONTROLE, APLICAÇÕES Segunda Edição Saeed Benjamin Niku, Ph.D., P.E. Professor do Departamento de Engenharia Mecânica Da California Polytechnic State University San Luis Obispo

Tradução e Revisão Técnica

Sérgio Sérgi o Gilber Gi lberto to Taboada Docteur Ingénieur École Nationale Supérieure Supér ieure de l’Aéronautique et de l’Espace, Toulouse, França Professor Associado II do Centro Federal de Educação Tecnológica Tecnológica Celso Ce lso Suckow da Fonseca (CEFET-RJ) (CEFET-RJ)

i

O Material Suplementar contém apresentações com texto e ilustrações, manual de soluções, programa SimulationX com tutorial que podem ser usados como apoio para o livro

INTRODUÇÃO À ROBÓTICA – ANÁLISE, CONTROLE, APLICAÇÕES , 2a EDIÇÃO, 2013. O acesso aos materiais suplementares desta edição está sujeito ao cadastramento no site da LTC LIVROS TÉCNICOS E CIENTÍFICOS EDITORA LTDA. Materiais Suplementares traduzidos do material original: – Ilustrações da obra em formato de apresentação (acesso restrito a docentes); – Manual de soluções para todos os exercícios do livro-texto livro-texto (acesso restrito a docentes); – Tutoriais do SimulationsX disponíveis para download explicando passo a passo como utilizar o programa (acesso livre). Material Suplementar compilado do site que acompanha a edição original: – Lecture PowerPoint Slides arquivos em formato de apresentação para uso em sala de aula, em inglês (acesso restrito a docentes); – SimulationX programa programa multidisciplinar, multidisciplinar, em inglês, para simulações de projetos, análises análises e otimização de sistemas complexos desenvolvidos numa única plataforma. Versão para

teste (acesso livre).

Material Suplementar traduzido do material original: INTRODUCTION TO ROBOTICS: ANALYSIS, CONTROL, APPLICATIONS, SECOND EDITION Copyright © 2011 by John Wiley & Sons, Inc. All Rights Reserved. This translation published under license with the original publisher John Wiley & Sons Inc. ISBN: 978-0470-60446-5 Material Suplementar compilado do site que acompanha a edição original: INTRODUCTION TO ROBOTICS: ANALYSIS, CONTROL, APPLICATIONS, SECOND EDITION Reprinted by permission of John Wiley & Sons, Inc. Copyright © 2011 by John Wiley & Sons, Inc. All Rights Reserved. ISBN: 978-0470-60446-5 Obra publicada pela LTC Editora: INTRODUÇÃO À ROBÓTICA – ANÁLISE, CONTROLE, APLICAÇÕES, 2 a EDIÇÃO Direitos exclusivos para a língua portuguesa Copyright © 2013 by LTC __ Livros Técnicos e Científicos Editora Ltda. Uma editora integrante do GEN | Grupo Editorial Nacional Capa: RDC Publishing Group Sdn Bhd Imagem de Capa: Alexey Dudoladov/iStockphoto. Editoração Eletrônica: R.O. Moura

ii

Sumário

Tutorial 1 – Introdução 1 Tutorial 2 – Unidade de Cilindro Hidráulico 13 Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores 28 Tutorial 4 – Evaporador Superaquecedor 46 Tutorial 6 – Crie um Modelo Mecânico Multicorpo 53 Tutorial 10 – Máquinas Virtuais 61 Tutorial 16 – Interface OPC em SimulationX 76 Tutorial 17 – Introdução ao Modelica® Edition 81 Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW 90 Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand 106 Tutorial 20 – Exportação de modelos para CarSim, BikeSim, TruckSim 133 Tutorial 22 – Cossimulação com CarSim, BikeSim, TruckSim 146

iii

Tutoriais do SimulationX

iv

Tutorial 1 – Introdução Objetivo Neste tutorial, vamos guiá-lo passo a passo para o trabalho com SimulationX. Usando exemplos simples de modelos você irá adquirir as habilidades necessárias para a modelagem em SimulationX. Com base em um oscilador de duas massas, explicamos a estrutura de um modelo. Você pode repetir isso facilmente em seu próprio computador. Muitas ações podem ser realizadas de várias maneiras. Nesta introdução, geralmente apenas uma delas é demonstrada e usada.

Interface Gráfica do Usuário (GUI) 1 A área de trabalho do SimulationX pode ser subdividida em diferentes janelas e zonas (Figura 1). A barra da biblioteca oferece acesso aos tipos de elementos instalados. Para maior clareza, os tipos de elementos são subdivididos em bibliotecas (grupos). Na exibição em árvore, os tipos de elementos e as bibliotecas são mostrados de acordo com a sua hierarquia. Os tipos de elementos na vista de biblioteca são representados por símbolos, que são administrados em pastas. Dentro da biblioteca “Favoritos” você pode criar seus próprios grupos. Assim como no Windows, os links são criados arrastando e soltando os tipos de elementos e as bibliotecas. Em “Favoritos” você pode copiar, mover e excluir sub-bibliotecas e links.

Geral da Interface • Visão Gráfica do Usuário com • Trabalhando exemplos simples de modelos

seu próprio • Criando modelo

• Realizando uma simulação • Observação dos resultados

Barra de Menu Barra de Biblioteca

Barra de Tarefas Vista do Modelo Gerenciador da Janela de Resultados

Explorador do Modelo

 Área de Saída

Figura 1: Interface Gráfica do Usuário

1

 Sigla a partir do termo em inglês Graphical User Interface  (GUI). (N.T.)

1

Tutorial 1 – Introdução

2

A vista do modelo serve para a representação gráfica da estrutura e para a modificação do modelo de simulação, cujos componentes são elementos e conexões. Os elementos têm conectores que podem ser ligados entre si através de uma conexão, que pode ser ramificada de forma arbitrária, ou seja, você pode vincular mais de dois conectores à mesma conexão. Existem diferentes tipos de conectores, como os conectores mecânicos (lineares e rotativos), hidráulicos e elétricos, bem como entradas e saídas de sinal. Somente conectores do mesmo tipo podem ser ligados uns aos outros. Cada conector possui um nome não ambíguo no que diz respeito ao elemento correspondente. Estes nomes podem ser visíveis através do menu “View/ Pin Labels”. Elemento

Massa1

Mola1  

Conexão

 Amortecedor1  

Conexão

Figura 2: Componentes O explorador de modelos oferece acesso às propriedades dos componentes de um modelo de simulação. A hierarquia de elementos e de classes do modelo é representada em uma árvore. Os parâmetros e os resultados de um componente selecionado são mostrados em uma tabela, onde podem ser modificados.

Parâmetros

Resultado

Figura 3: Explorador de modelos Mensagens, avisos e erros são registrados na área de saída. Estas mensagens são atribuídas a diferentes categorias (por exemplo, simulação, arquivo). O conteúdo do bloco de saída pode ser salvo, exportado como texto e impresso.

Figura 4: Área de saída

Tutoriais do SimulationX

3

Trabalhando com Modelos de Exemplo Com a instalação de SimulationX você recebeu também uma coleção de modelos de exemplo. É possível abrir esses modelos, alterar parâmetros e realizar simulações. Você vai encontrar os modelos de exemplo no diretório ...\SimulationX3.o\Samples\... Existem vários subdiretórios para as diferentes bibliotecas, tais como, por exemplo,

• ...\SimulationX 3.o\Samples\Mechanics\... para mecânica (geral) • ...\SimulationX 3.o\Samples\Pneumatics\... para pneumática • ...\SimulationX 3.o\Samples\Hidraulics\... para hidráulica etc.

a) Abrindo um Arquivo de Modelo

Para abrir um arquivo de modelo, clique no botão ou selecione “File/Open ...”. Após a abertura, a estrutura do modelo será exibida na vista do modelo e no explorador de modelos e algumas janelas de resultados com curvas de resultados já calculadas aparecem.

b) Alteração dos Parâmetros Se o modelo já foi simulado, você deve primeiro reiniciar a simulação clicando no botão ou selecionando “Simulation/Reset”. Agora você pode dar um clique duplo em qualquer símbolo de um elemento, a fim de abrir a caixa de diálogo de parâmetros. Para cada parâmetro em SimulationX, você pode inserir valores numéricos constantes, expressões matemáticas ou condições lógicas. Para obter informações detalhadas sobre os elementos (parâmetros, variáveis de resultado, suposições e cálculos) você pode pressionar o botão “Help” ( ). O sistema de ajuda online aparecerá, fornecendo as informações necessárias. Para digitar números nos campos de parâmetros, primeiro selecione a unidade desejada e digite o valor numérico. O valor do parâmetro será convertido automaticamente se você alterar a unidade depois. Você pode impedir a conversão pressionando a tecla Shift durante a seleção de unidade.

Figura 5: Caixa de diálogo de parâmetros

Tutorial 1 – Introdução

4

Para salvar os resultados da simulação para apresentação posterior, você deve ativar o atributo protocolo ( ) para os valores de resultados desejados.

Figura 6: Caixa de diálogo de variáveis de resultado Na página “General”, na janela de propriedades, você pode mudar o nome do elemento, atribuir um comentário e ajustar a posição da etiqueta do elemento na vista do modelo (Figura 7).

Figura 7  Janela de propriedades Feche a caixa de diálogo de parâmetros com o botão fechar ( diálogo.

) ou clicando fora da janela de

c) Executando uma Simulação Inicie a simulação clicando no botão ou selecionando “Simulation/Start”. A simulação será executada até o tempo de parada especificado. Você pode observar o tempo de simulação atual no canto inferior direito (Simulation Time: 1.00000000 s). Para alterar o valor predefinido do tempo de parada, abra o painel de controle de simulação, selecionando “Simulation/Transient Settings ...”. Agora você pode editar os parâmetros de simulação (“tStop”, por exemplo).

Tutoriais do SimulationX

5

d) Abrindo uma Janela de Resultados Se você tiver ativado o atributo protocolo ( ) para valores de resultados antes de executar a simulação, agora você pode traçar estes resultados como diagramas y = f (t). Você pode abrir uma janela de resultados clicando com o botão direito do mouse em um elemento e selecionando o valor de resultado desejado a partir do menu pop-up.

Se nenhum valor de resultado estiver disponível para um elemento, nenhum protocolo de atributo foi ativado ( ) O trabalho com janelas de resultados é descrito na sequência.

Criando o seu próprio modelo Agora vamos desenvolver o modelo inicialmente mencionado “Oscilador de Duas Massas”. Os passos individuais são explicados e mais detalhes se encontram nos capítulos que se seguem. Ao criar o seu próprio modelo, você deve sempre começar com um novo arquivo (botão ou menu “File/New”). Em seguida, faça o seguinte:

a) Selecionando Elementos Vamos agora montar o nosso primeiro modelo simples – o “oscilador de duas massas”. Para colocar um novo elemento usando Arrastar & Soltar na exibição do modelo, faça o seguinte: 1. Encontre o tipo de elemento correspondente na árvore da barra de biblioteca.

2. Clique com o botão esquerdo do mouse sobre a entrada na árvore e mantenha-o pressio-

nado.

3. Com o botão esquerdo pressionado, mova o ponteiro do mouse para a posição na vista de

modelo em que o novo elemento deve ser inserido.

4. Ao soltar o botão do mouse, o elemento é criado na posição desejada no modelo.

Tutorial 1 – Introdução

6

Você pode simplificar o posicionamento dos elementos ativando a opção “Snap to grid” (menu “Elements”). Para colocar vários elementos de um tipo na vista do modelo, você pode repetir o procedimento anterior.

Exemplo de aplicação: Selecione duas massas (massa1, massa2) e um elemento mola-amortecedor (MolaAmortecedor1) da biblioteca “Linear mechanics” e coloque-os na vista do modelo.

Figura 8: Barra biblioteca e modelo Os elementos do modelo podem ainda ser manipulados, isto é, eles podem ser deslocados, girados e espelhados. Este elemento é selecionado por um clique do mouse. Agora, ele pode ser deslocado com o botão esquerdo do mouse pressionado para um novo local na vista do modelo. Por meio das ferramentas você pode controlar a rotação do elemento e com você pode alternar sua direção entre horizontal e vertical. Assim, você pode organizar os elementos na posição e direção desejadas para conectá-los.

b) Conectando Elementos O próximo passo é conectar os elementos para obter a estrutura de modelo desejada. Para criar uma conexão entre dois conectores, você pode fazer o seguinte: 1. Coloque o ponteiro do mouse sobre o conector a partir do qual você deseja desenhar a nova conexão. A mudança do ponteiro do mouse, assim como a mudança da cor do conector, indica que você está tocando o conector.

2. Pressione o botão esquerdo do mouse e mova o ponteiro do mouse para o conector alvo

da nova ligação, mantendo o botão pressionado.

Tutoriais do SimulationX

7

3. Quando você soltar o botão do mouse, a conexão será criada.

Você pode cancelar a criação de uma nova ligação a qualquer momento liberando o botão do mouse sobre uma região vazia na vista do modelo ou usando a tecla de escape (ESC). O encaminhamento de uma conexão será determinado automaticamente, mas uma mudança de caminho é possível a qualquer instante. Para fazer isto, mova o mouse sobre uma conexão enquanto pressiona a tecla Alt. O ponteiro do mouse mostra em que direção você pode mover o segmento selecionado da linha de conexão.

Para melhorar a clareza do modelo, você também pode ramificar conexões. Assim, você pode criar conexões entre conectores livres e conexões existentes em ambas as direções.

Exemplo de aplicação: Conecte as duas massas com o elemento mola-amortecedor de acordo com a seguinte estrutura.

Figura 9: Estrutura do modelo Observe que você pode conectar apenas elementos do mesmo domínio físico (por exemplo, uma mola mecânica não irá se conectar a um regulador de pressão hidráulico). SimulationX impede automaticamente a criação de tal conexão.

c) Como Selecionar um Elemento Um elemento é escolhido por um clique do mouse. Uma vez selecionado, será opticamente acentuado por uma moldura. Elementos individuais podem ser selecionados também pela seleção do item correspondente no explorador de modelos.

Tutorial 1 – Introdução

8

Como Selecionar Vários Elementos Para selecionar vários elementos, existem duas possibilidades: 1. Desenhe um quadro em torno dos respectivos elementos.

2. Um elemento pode ser acrescentado à seleção atual pressionando a tecla Shift e clicando

com o mouse sobre o elemento. A remoção de um elemento a partir da seleção é realizada da mesma maneira.

d) Introduzindo Parâmetros Para poder trabalhar com nosso modelo, primeiro temos que inserir os parâmetros do elemento desejados. Selecione o componente (elemento ou conexão) que você deseja editar, seja na vista de modelo ou na vista de árvore do explorador de modelos. Um componente selecionado na vista de modelo também é selecionado na vista de árvore do explorador de modelos e vice-versa. Para o componente selecionado, os parâmetros relacionados e as variáveis de resultados são mostrados em duas tabelas. Para a edição de um item, clique no campo desejado da tabela. Agora você pode editar o conteúdo do campo ou escolher um item na lista de seleção correspondente. Enquanto o campo é editado, o parâmetro correspondente não é atualizado. A transferência do novo valor para o parâmetro ocorre somente após a conclusão e validação da entrada. Para a realização da entrada, há as seguintes possibilidades:

• • •

Mude para outra linha com as chaves do cursor ↗ e ↙ ou clique sobre o novo campo Pressione a tecla Return Mude o foco para outra janela, por exemplo, clicando na vista do modelo.

 As modificações podem ser desfeitas utilizando o botão Undo ou o menu “Edit/Undo”. Para alternar o atributo de protocolo de uma variável de resultado, clique no símbolo correspondente na coluna de protocolo (

).

O valor atual de uma variável de resultado não pode ser alterado. No entanto, a unidade de medida em que a variável deve ser mostrada pode ser alterada.

Tutoriais do SimulationX

9

Exemplo de aplicação: Insira os seguintes parâmetros:

Tabela 1:

Parâmetros dos elementos

massa1 massa2 MolaAmortecedor1

Massa Deslocamento Inicial Massa Rigidez do Contato Amortecimento do Contato

m

250

g

 

x0

5

mm

m

2

kg

k

1

N/mm

b

2

Ns/m

 

Você pode fazer isso usando a caixa de diálogo de Propriedade de um elemento (clique duas vezes sobre ele) ou usando o explorador de modelos. Clicando em um elemento aparecem seus parâmetros no explorador de modelos. Então, na parte superior do explorador de modelos (veja a Figura 10), os parâmetros estarão acessíveis para alteração e, na parte inferior, as variáveis de resultado podem ser acessadas.

Figura 10: Parâmetros da massa1 no explorador de modelos

Observe que sempre se usa um ponto (e não vírgula!) como separador decimal. Além disso, você ativa os atributos de protocolo para as variáveis de resultados que podem ser registradas, para que possam ser traçadas durante ou após a simulação. Ative atributos de protocolo para as variáveis de resultados a seguir:

• • • •

massa1 massa2 MolaAmortecedor1 MolaAmortecedor1

Deslocamento (x) Deslocamento (x) Força Interna (Fi) Diferença de Deslocamento (dx)

e) Execução da Simulação Com o modelo de amostra preparado, você pode realizar todos os cálculos implementados em SimulationX:

• Simulação no modo transitório • Cálculo do equilíbrio •  Análise do modelo linear (frequências naturais e modos de vibração)

Tutorial 1 – Introdução

10

Vamos nos restringir à simulação no modo transitório. A Figura 11 mostra a janela de controle de simulação. Você abre a caixa de diálogo do painel de controle de simulação utilizando o menu “Simulation/Transient Settings”.

Figura 11:  Janela de propriedades “Simulação” Agora você pode iniciar a simulação através do menu “Simulation/Start” ou com o botão na barra de ferramentas. A computação ocorre até o tempo de parada dado. O valor padrão para o tempo de parada é 1s. Você pode alterar esse valor em “Simulation/Transient Settings”.

f) Abrindo uma Janela de Resultados Vamos agora apresentar os resultados da simulação. Símbolos de protocolo ativados podem ser arrastados para a vista do modelo ou uma janela de resultado já aberta. Para isso, clique no símbolo de protocolo e mova-o para o local desejado, mantendo o botão pressionado. Ao soltar o botão, o protocolo de resultado é mostrado tanto em uma nova janela como em uma  janela de resultado existente.

Exemplo de aplicação: Criamos uma exibição do resultado para a variável massa1.x em um diagrama y = f (t). Para abrir a janela de resultado adequada, utilize o procedimento Arrastar & Soltar descrito acima. Selecione o elemento “Massa1” na vista de modelo com um clique do mouse. No explorador de modelos, as variáveis de resultados disponíveis são exibidas. Você clica no atributo de protocolo para o deslocamento de “Massa1” com o botão esquerdo do mouse e o arrasta para a vista de modelo. Ao soltar o botão do mouse, a janela de resultado torna-se visível.

Tutoriais do SimulationX

11

Figura 12:  Janela de resultado para “massa1.x”

Exemplo de aplicação: Agora vamos adicionar a variável de resultado “massa2.x” à janela de resultado já existente. Para isso, selecione o elemento “massa2” na vista do modelo e arraste o símbolo de atributo de protocolo para o deslocamento para a janela de resultado existente. A janela mostra agora duas curvas.

Figura 13:  Janela de resultados com duas curvas Gostaríamos de mostrar a diferença de deslocamento (dx) do elemento mola-amortecedor (MolaAmortecedor1) sobre a força interna do elemento (diagrama y(x)). Nós já ativamos os atributos de protocolo correspondentes; portanto, os resultados foram armazenados durante a simulação. Agora você cria uma janela de resultado comum contendo dx e Fi (como descrito acima para o deslocamento da massa). O gráfico do resultado é alternado para o modo y(x) pressionando o botão na barra de ferramentas da janela de resultados. Você verá a curva, como mostrado na Figura 14, e pode trocar os dois eixos pressionando o botão .

Tutorial 1 – Introdução

12

Figura 14:  Janela de resultado com uma representação y(x) Agora é possível manipular o modelo. Você pode reiniciar a simulação com o botão , aplicar parâmetros ou alterações estruturais no modelo e começar a simulação novamente. Ao reiniciar, todas as curvas de resultado são excluídas. Nota: Se você quiser preservar uma curva de resultado, você pode congelá-la com o botão antes de reiniciar. Assim, a curva continua visível e você pode observar diretamente os efeitos das alterações de parâmetros comparando o novo resultado com a curva congelada.

ITI SimulationX para modelagem e análise de sistemas heterogêneos Use as possibilidades de ITI SimulationX para uma solução de problemas rápida e eficiente, bem como durante a avaliação e otimização de sistemas técnicos: ou menu Analysis/Variants Wizard ...) • Estudos de parâmetros automaticamente (botão •  Análise de sistemas lineares: Analise Frequências naturais e Modos de Vibração de seu sistema (botão ou menu Analysis/Natural Frequencies...)

•  Análise de sistemas lineares: Análise de Entrada-Saída (botão

ou menu Analysis/Input-Output

 Analysis)

•  Amplie elementos existentes (botão ou menu Elements/Derive) ou menu Elements/Summarize) • Criação de Compostos (botão • Use o TypeDesigner/FluidDesigner para criar seus próprios tipos de elementos • Implemente seus próprios algoritmos específicos do usuário • Cossimulação • Exportação de código • Simulação de estado estacionário

e fluidos

Tutorial 2 – Unidade de Cilindro Hidráulico Objetivo Neste tutorial, você criará um modelo para uma unidade de cilindro hidráulico simples, que é controlada por uma válvula de controle proporcional direcional. Em um primeiro passo, você criará um sistema em Malha Aberta, o que significa que não há realimentação da posição real do cilindro para a válvula de controle. Em uma segunda etapa, a posição do cilindro é medida e comparada com o sinal de comando de posição, de modo a criar um sistema em Malha Fechada. O objetivo do circuito é elevar (ou baixar, respectivamente), a massa da carga na direção vertical de acordo com o sinal de comando da válvula de controle proporcional direcional. Para a alimentação de pressão, simplesmente usamos uma bomba de deslocamento constante, acionada a uma velocidade constante e ligada a uma válvula de alívio de pressão. A vantagem deste sistema é a sua estrutura simples. Obviamente, mostra uma eficiência muito fraca, uma vez que uma grande quantidade de energia é consumida pelo fluxo através da válvula de alívio.

• Modelagem multidomínio de • Desenvolvimento modelos simples a estendidos

de estruturas de • Controle unidades de cilindro dos resultados e • Análise melhoria de comportamento

• Estudos de parâmetros

Supõe-se que você está familiarizado com a funcionalidade básica do SimulationX. Portanto, por favor, consulte o “Tutorial 1: Introdução” para uma introdução geral sobre como selecionar elementos das bibliotecas, como conectá-los e introduzir os parâmetros, como executar uma simulação e como abrir janelas de resultados.

Parte 1: Sistema em Malha Aberta Crie o modelo SimulationX da unidade de cilindro hidráulico de acordo com a Figura 1. Use os elementos contidos na Tabela 1. Você pode alterar o texto e a posição da etiqueta de cada objeto, clicando duas vezes em um elemento e selecionando “General / Name ...”. É necessário escrever o nome sem espaços em branco (por exemplo, “UnidadeCilindro”). Ao conectar os elementos uns com os outros, você deve se lembrar que em SimulationX você só pode conectar as portas de elementos do mesmo tipo. A massa do êmbolo do cilindro não está incluída no objeto cilindro. Portanto, é necessário modelar a massa do pistão, ligando um elemento “Massa” (Library MechanicsLinear MechanicsMass) ao cilindro. Ela representa a massa do êmbolo e a massa de carga ao mesmo tempo. Para cortar uma ligação já existente, clique sobre ela e pressione “Del”. O caminho de uma conexão será determinado automaticamente, mas a alteração do caminho é possível a qualquer momento. Para fazer isso, mova o mouse sobre uma conexão, enquanto pressiona a tecla Alt. O ponteiro do mouse mostra em que direção você pode mover a linha de conexão selecionada. 13

Tutorial 2 – Unidade de Cilindro Hidráulico

14

Figura 1: Estrutura do modelo da Unidade de Cilindro em Malha Aberta Tabela 1:

Elementos necessários para o circuito da Figura 1

Número de Elementos

Nome da Biblioteca

Nome do Elemento

1

Hydraulics/ Actuators

cilindroDif1

1

Hydraulics/ Actuators

motorBomba1

1

Hydraulics/ Basic Elements

volume1

1

Hydraulics/Valves/ Pressure Valves

valvulaAlivioPressao1

1

Hydraulics/ Basic Elements

tanque1

Símbolo

(continua)

Tutoriais do SimulationX

Tabela 1:

15 Elementos necessários para o circuito da Figura 1 (continuação)

Número de Elementos

Nome da Biblioteca

Nome do Elemento

1

Hydraulics/ Valves/Proportional Directional Control Valves

valvulaPropDif1

1

Mechanics/ Linear Mechanics

massa1

1

Mechanics/ Linear Mechanics

fonte1

1

Mechanics/ Rotational Mechanics

ajuste1

1

Signal Blocks/ Signal Source

curva1

Símbolo

Depois de ter conseguido criar a estrutura do modelo de acordo com a Figura 1, você tem que inserir os parâmetros para os elementos e ativar o atributo de protocolo para as variáveis que você pretende representar graficamente após a simulação. Como quase todos os elementos têm parâmetros padrão, você só tem que introduzir os parâmetros que são diferentes dos valores padrão. A Tabela 2 apresenta uma visão geral sobre esses parâmetros. Algumas das caixas de diálogo de parâmetros têm mais de uma página.

Tabela 2:

 As definições de parâmetros para os elementos contidos na Tabela 1

Elemento

Entrada de Parâmetro

Cilindro (cilindroDif1)

Página de Diálogo “Geometry”: • Ajuste o Curso Máximo do Cilindro para 400 mm

• Ajuste o “Dead Volume” nas Portas A e B para 1 dm3 (primeiro selecione a unidade apropriada e depois introduza o valor)

• Ajuste a “Transformation of Piston Housing” para -200 mm

A transformação de coordenadas dxh de -200 mm significa que o deslocamento da “Massa” é zero quando o curso do cilindro é 200 mm. Isto coloca o centro de massa na metade do curso do pistão. Página de Diálogo “Friction”:

(continua)

Tutorial 2 – Unidade de Cilindro Hidráulico

16

Tabela 2:

 As definições de parâmetros para os elementos contidos na Tabela 1 (continuação)

Elemento

Entrada de Parâmetro Página de Diálogo “Results 2”: • Ative os atributos de resultados

Massa (massa1)

• Ajuste a massa em 100 kg

• Ajuste o deslocamento da massa em zero

• Ative os atributos de protocolo

ForçaGravidade (fonte1)

• Ajuste a força para (massa1.m*9.81) N

Observe que em SimulationX você pode introduzir valores constantes assim como expressões aritméticas ou booleanas, variáveis e funções para qualquer parâmetro. No caso acima, a expressão considera a força da gravidade em massa1.m (100) kg. Ao usar o elemento “External Force”, você deve decidir se conecta o lado esquerdo ou o direito ao elemento mecânico (isto é, massa). No nosso caso, conectamos o lado esquerdo da força à massa (veja Figura 1). Isto significa que a força agirá contra o sentido positivo de movimento da massa. As pequenas setas vermelhas indicam o sentido positivo da coordenada do elemento (massa), o sentido positivo da coordenada da força é indicado pelas setas brancas grandes. • Ative os atributos de protocolos para a força:

Bomba (motorBomba1)

Página de Diálogo “Geometry”: • Ajuste o volume de deslocamento em 50 cm3

Página de Diálogo “Friction”:

(continua)

Tutoriais do SimulationX

Tabela 2:

17  As definições de parâmetros para os elementos contidos na Tabela 1 (continuação)

Elemento

Entrada de Parâmetro Página de Diálogo “Leakage”:

Página de Diálogo “Results2” • Ative os atributos de protocolo para o fluxo na porta A

Motor (ajuste1)

Página de Diálogo “Parameters”: • Selecione o tipo “Rotational Speed”

• Selecione primeiro a unidade “rpm” e depois o valor da velocidade de rotação

• Ative os atributos de protocolo para “Torque” e “Power”

ValvulaAlivio (valvulaAlivioPressao1)

ValvulaControle Proporcional (valvulaPropDir1)

Ative os atributos de protocolo para as variáveis de resultados “Pressure Drop”, “Volume Flow” e “Power Dissipation”

Página de Diálogo “Stroking”: • Na caixa de seleção “Stroke Signal”, selecione “Normalized Signal”

Observe que “Normalized Signal” significa que a gama válida para o sinal de entrada deve ser de -1 a +1. Em um sinal de entrada de zero, a válvula estará na sua posição central. Página de diálogo “Dinamics”: • Desligue a caixa de seleção para a dinâmica da válvula

(continua)

Tutorial 2 – Unidade de Cilindro Hidráulico

18

Tabela 2:

 As definições de parâmetros para os elementos contidos na Tabela 1 (continuação)

Elemento

Entrada de Parâmetro Página de diálogo “Q-y-Function”: • Na caixa de seleção “Type of Edges”, selecione “Identical Edges”

• Defina o fluxo por mudança de Curso em (60 l/min). Altere a unidade para (l /min)/ - em primeiro lugar 

Nota: Um valor de 60 (l/min)/ - significa que teremos um fluxo de 60 l/ min a uma queda de pressão de 35 bar (em uma extremidade única) para o curso completo de abertura da válvula. Página de diálogo “Results”: • Ative os atributos de protocolo para o “Relative Valve Stroke”

• Ative os atributos de protocolo para o fluxo nas portas A & B

• Ative os atributos de protocolo para “Power Dissipation”

A dissipação de energia permite que você investigue a eficiência global do seu sistema. SinalControle (curva1)

Diálogo “Parameters”: • Selecione “Simulation Time t [s]”

• Clique no botão “Edit” para abrir a caixa de diálogo para “Input of Values”.

• Selecione a quantidade e os rótulos para os eixos, usando o botão “Properties”

na barra de ferramentas. (continua)

Tutoriais do SimulationX

Tabela 2:

19  As definições de parâmetros para os elementos contidos na Tabela 1

Elemento

(continuação)

Entrada de Parâmetro

Na janela “Properties” você deve digitar os comentários e as quantidades para os eixos. Insira para o eixo X o tempo de simulação e para o eixo Y como comentário “Sinal de Saída” e quantidade - “Quantidades Básicas / Amplitude Relativa”. • Insira os seguintes dados e clique em OK quando terminar:

Você também pode carregar dados existentes de arquivos ASCII ou clicar duas vezes diretamente no gráfico à direita. Alternativamente, você pode usar outros elementos a partir da biblioteca “Signal Sources”. • Ative os atributos de protocolo para a variável de resultado “Signal Output”.

VP (volume1)

Página de diálogo “Parameters”: • Defina o volume em 1 dm3

Observe que os volumes não são necessários em SimulationX. No entanto, um volume da bomba de zero resultaria em uma variação de pressão infinitamente rápida, o que não é realista. Página de diálogo “Results”: • Ative os atributos de protocolo para a pressão

20

Tutorial 2 – Unidade de Cilindro Hidráulico

Deixe as configurações de simulação como padrão. Depois de ter introduzido os parâmetros do modelo, você pode executar a simulação e observar os resultados. A Figura 2 mostra alguns dos resultados da simulação. Você também pode alterar o fluido hidráulico, clicando duas vezes na conexão e selecionando um líquido. O padrão é “HLP 46”, um óleo mineral com um comportamento de viscosidade de acordo com a norma ISO VG 46. O sinal de controle indica as características especificadas. Se o sinal de curso para a válvula é negativo, a bomba é ligada à porta A do cilindro, ou seja, a massa da carga é levantada.

O fluxo das Portas A e B da válvula é, em certa medida, proporcional ao sinal de curso. Uma vez que temos um cilindro diferencial, o fluxo apresenta um comportamento assimétrico. O fluxo máximo positivo não pode exceder 50 l/min, que é o fluxo da bomba.

A pressão no volume “VP” não pode ser superior a 100 bar, que é a pressão de ajuste para a válvula de descarga. Na abertura negativa completa da válvula de controle, a pressão da bomba “VP” cai para 32 bar, uma vez que a bomba não pode fornecer fluxo suficiente.

A velocidade do pistão é proporcional ao fluxo na válvula. À medida que a pressão da bomba decai de 100 bar a 32 bar, a velocidade também diminui ligeiramente. Quando a válvula de controle é fechada, o êmbolo oscila devido à compressibilidade do óleo.

Figura 2: Resultados de simulação para a unidade de cilindro em malha aberta

Tutoriais do SimulationX

21

É possível manipular o modelo de simulação, a fim de melhorar o desempenho da unidade de malha aberta do cilindro (não se esqueça de reiniciar o modelo antes de fazer modificações!). Algumas mudanças interessantes no comportamento do sistema serão óbvias, se você • alterar a pressão de ajuste pSet na válvula de alívio de 100 bar a 200 bar, e • utilizar uma válvula de controle proporcional menor (ou seja, alterar o “Flow per Change of Stroke” de 60 (l/min) para 20 (l/min)

Especialmente com a última modificação, a pressão da bomba permanecerá constante, já que a demanda de fluxo do cilindro está diminuída.

Figura 3: Pressão e características de velocidade melhoradas com uma válvula de controle menor 

Tutorial 2 – Unidade de Cilindro Hidráulico

22

Parte 2: Adicionando um Acumulador

Figura 4: Modelo de estrutura modificado com acumulador  Você agora vai adicionar um acumulador ao sistema, a fim de compensar as exigências de fluxo breves do cilindro, as quais excedem o fluxo da bomba. Antes de você fazer isso, redefina o parâmetro “Flow per Change of Stroke” da válvula de controle proporcional de 20 (l/min) para 60 (l/min) e ajuste a pressão na válvula de alívio para 100 bar. Para adicionar o acumulador ao modelo, execute os seguintes passos: ) • Reinicie o modelo de simulação. ( • Exclua o volume VP. • Abra a biblioteca de “Hydraulics” (Accessories and Sensors) e ligue o “Hydropneumatic Accumulator”

Tabela 3:

de acordo com a Figura 4:

Parâmetros do acumulador 

Accu (acumuladorl)

Página de diálogo “Construction 1”: • Defina o tipo de construção como “Bladder Accumulator (vertical)”

(continua)

Tutoriais do SimulationX

Tabela 3:

23 Parâmetros do acumulador  (continuação)

• Defina o volume de gás do acumulador em 5 dm3

• Defina a “Pre-Fill Pressure” em 80 bar 

• Defina o volume morto no lado do óleo em 100 cm3

Página de diálogo “Operating Conditions”: • Defina a “Initial Oil Pressure” em 100 bar 

Página de diálogo “Results 1”: • Ative os atributos de protocolo para “Oil Pressure”

• Ative os atributos de protocolo para “Volume Flow of Oil”

• Ative os atributos de protocolo para “Gas Pressure”

• Ative os atributos de protocolo para “Gas Volume”

Se você executar a simulação, encontrará que o cilindro atinge o seu ponto final depois de 0,3 s. Neste momento, a velocidade do êmbolo começa a oscilar com uma frequência muito elevada, por causa da alta rigidez final de parada do cilindro.

Figura 5: Velocidade melhorada com o acumulador  Agora seria possível adaptar a rigidez e o amortecimento da parada final do cilindro à força do cilindro e do pistão e à massa da carga. No entanto, em vez disso, você vai transformar o sistema em uma unidade de cilindro em malha fechada.

Tutorial 2 – Unidade de Cilindro Hidráulico

24

Parte 3: Sistema em Malha Fechada Para muitas aplicações industriais, uma unidade de cilindro em malha aberta não é suficiente. Sistemas em malha fechada são usados em tais casos. Você pode facilmente aumentar o exemplo dado da unidade de cilindro para torná-la uma unidade em malha fechada. Adicione os novos objetos, como mostrado na Figura 6 e na Tabela 4.

Figura 6: Unidade de cilindro em malha fechada Tabela 4:

Novos objetos necessários para o sistema em malha fechada

Objeto

Biblioteca

Sensor (sensor1)

Mechanics

ErroPistao (soma1)

Signal Blocks

Parâmetros Nenhum

• Defina as mudanças de sinal como a seguir 

(continua)

Tutoriais do SimulationX

Tabela 4: Objeto

25 Novos objetos necessários para o sistema em malha fechada (continuação)

Biblioteca

Parâmetros

Observe que, para o controle do processo, devemos comparar o deslocamento real com o deslocamento dado. • Ative os atributos de protocolo para o sinal de saída

Ganho (p1)

Signal Blocks / Linear Signal Blocks

padrão

Como próximo passo, você deve adaptar a tabela de dados para o sinal de comando a partir de uma quantidade relativa (-) a um sinal de deslocamento (mm). Para fazer isso, abra o diálogo de parâmetro para o objeto de modelo “CommandSignal” e proceda da seguinte forma: • Abra a janela do editor de curva clicando no botão “Editar” na caixa de diálogo “Parâmetros”

• Edite a unidade, clicando no botão “Properties” Defina a quantidade do sinal de saída como deslocamento:

Adapte os valores da tabela para um máximo de 100 mm:

Feche a janela do editor de curvas com OK.

26

Tutorial 2 – Unidade de Cilindro Hidráulico

Agora você terminou a introdução de parâmetros e podemos executar a simulação. Você alterou um sinal de comando para um sinal de posição. Isso significa um comportamento diferente do anterior, porque agora você controla a posição e não o sinal para a VálvulaControleProporcional (ProportionalControlValve). Mostra o resultado do deslocamento do pistão em relação ao valor do sinal de comando. Pode-se observar que o sinal do ganho está bom, mas o valor de 1 é muito pequeno.

Figura 7: Resultados de simulação para a unidade de cilindro em malha fechada com um ganho de 1 Assim, vamos aumentar o ganho do bloco de sinal “Gain” de 1 para 30:

Se executar a simulação novamente, você observará que o desempenho melhorou consideravelmente.

No entanto, se você abrir a  janela de resultado para a velocidade da massa, você vai ver que o sistema tende a ser instável.

Figura 8: Resultado da simulação com um ganho de 50 Se tal efeito ocorre, na realidade, o ganho deve ser reduzido. No entanto, em seu modelo, você negligenciou o comportamento dinâmico da válvula de controle. Portanto, você tem que incluir a dinâmica da válvula editando os parâmetros da “ProportionalControlValve”:

Tutoriais do SimulationX

Tabela 5:

27 Novos parâmetros de “ProportionalControlValve”

ProportionalControlValve

• Ative a dinâmica da válvula:

• Defina a “Natural Frequency” não amortecida em 18 Hz e a “Damping Ratio” em 0.8:

Se executar a simulação novamente com a dinâmica da válvula incluída, você observará que o sistema apresenta agora um comportamento estável – veja a Figura 9. Você pode manipular o modelo de simulação a fim de incluir nela outros efeitos físicos (por exemplo, atrito ou vazamento no cilindro) ou para otimizar a estratégia de controle (por exemplo, substituindo o simples bloco P-Gain por um bloco PID). Alternativamente, a ferramenta de otimização incluída poderia ser usada para encontrar os valores ótimos para o controlador.

Figura 9: Um comportamento estável da velocidade da massa com um ganho de 50 com a dinâmica da válvula incluída no modelo

Finalmente, vamos retomar alguns pontos sobre os benefícios deste tutorial:

• Você aprendeu como construir modelos de sistemas de acionamento hidráulico em •

• • •

SimulationX. A maioria dos elementos tem parâmetros padrão e opções escaláveis (por exemplo, atrito e vazamento do cilindro). Blocos de sinal em SimulationX (por exemplo, fontes de sinal) podem ser adaptados para o seu propósito em termos de quantidades físicas, unidades e nomes dos parâmetros e quantidades de resultado. Tabelas de dados complexas podem ser inseridas ou mesmo importadas de arquivos externos. SimulationX é uma ferramenta para simulação de sistemas intuitivas, já que modelos com mistura de domínios físicos (mecânica, hidráulica e controles, por exemplo) podem ser criados muito rapidamente. A abordagem orientada a objetos de SimulationX permite que você modifique a estrutura do modelo dado muito facilmente e o adapte às novas tarefas e especificações. O modelo SimulationX assemelha-se claramente à estrutura do circuito do sistema hidráulico. Isto significa que você pode se concentrar em sua tarefa de engenharia em vez de pensar sobre o fundo matemático de seu sistema. Além disso, outros engenheiros podem facilmente voltar a usar e entender os seus próprios modelos.

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores Objetivo Este tutorial vai levar você passo a passo para um modelo de grupo motopropulsor de complexidade variável. Inicialmente será formado um modelo de motor simples que, então, será ampliado para conter componentes básicos do grupo motopropulsor (embreagem, engrenagens, rodas), a massa do carro e as resistências de condução, para simular processos como a partida do carro da velocidade zero. O terceiro passo de refinamento conduz a um modelo que permite a simulação de diferentes tipos de fenômenos de vibração da caixa de câmbio. Uma perspectiva de outras possibilidades de desenvolvimento de modelos mais detalhados é dada. Supõe-se que você está familiarizado com a funcionalidade básica do SimulationX. Portanto, consulte o “Tutorial 1: Introdução” para uma introdução geral sobre como selecionar elementos das bibliotecas, como conectá-los e introduzir os parâmetros, como executar uma simulação e como abrir janelas de resultados.

Parte 1: Simulação de Aceleração do Veículo 1. Modelagem do Motor

Para acelerar um veículo, um modelo muito simples de motor será suficiente. Normalmente, um motor é descrito em termos do torque em função da velocidade do motor. Crie o modelo SimulationX mostrado na Figura 1.

Figura 1: Modelo Simples de Motor 

Para girar um elemento do modelo, selecione o elemento com o botão esquerdo do Mouse e escolha “Rotate Left” ou “Rotate Right” no menu “Elements”. Você também pode usar os botões para esta operação. 28

fácil de • Modelagem componentes de grupo motopropulsor 

• Observação de resultados • Ampliação de modelos dos resultados com • Análise variação dos parâmetros de diversos • Influência parâmetros

Tutoriais do SimulationX

29

Para alterar a etiqueta de um elemento, clique duas vezes sobre ele para abrir a janela de propriedades. Use a página de diálogo “General” para editar o nome. Aqui você também tem a possibilidade de posicionar a etiqueta em relação ao objeto.

Tabela 1:

Elementos contidos no modelo de motor 

Número de Elementos

Nome da Biblioteca

Nome do Elemento Função

1

Mechanics / Rotational Mechanics

Inércia Inércia do volante, da embreagem e do eixo de entrada da caixa de velocidades. Elemento para aplicação do torque do motor e para a medição da velocidade do motor 

1

Mechanics / Rotational Mechanics

Torque externo Torque dependente da velocidade do motor 

1

Mechanics / Rotational Mechanics

Sensor  Medição da velocidade do motor (Sensor do volante)

1

Signal Blocks / Signal Sources

Curva Característica velocidade-torque

1

Signal Blocks

 f (x)

Símbolo

Recipiente para um parâmetro de modelo, que pode ser mudado e é usado em diversos elementos do modelo

Depois de ter conseguido criar a estrutura do modelo de acordo com a Figura 1, você deve inserir os parâmetros para os elementos e deve ativar os atributos de protocolos para as variáveis de resultado que você deseja traçar após a simulação:

Tabela 2:

Entrada de parâmetros

Modelo de Objeto InitialSpeed

Entrada de Parâmetros Em “Initial Speed” define-se um parâmetro modelo, que deverá ser facilmente acessível e que pode ser utilizado em diferentes elementos do modelo na simulação. Como a função-elemento só tem uma quantidade base, temos que definir o valor usado por uma string . Isto determina a unidade do parâmetro. • Defina a função f(x) em 800 rpm

(continua)

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

30

Tabela 2:

Entrada de parâmetros (continuação)

Modelo de Objeto

Entrada de Parâmetros Observe que você pode adicionar uma unidade a um parâmetro sem unidade anexando o nome da unidade entre aspas simples. • Ative o atributo de protocolo para a Saída de Sinal

Volante

• Defina o parâmetro “Moment of Inertia” como 0,35 kgm2 − um valor típico para um motor de carro de passageiros

• Introduza uma referência para o parâmetro F do elemento “InitialSpeed” (InitialSpeed.F) para a velocidade inicial de rotação do volante

• Ative o atributo de protocolo para “Rotational Speed” e altere a unidade de medida para “rpm”

EngineTorque

• Atribua o torque da fonte ao seu sinal de entrada inserindo o nome da entrada (in1)

Torque_  characteristic

• Ajuste o “Reference Value” em “Input x”, a fim de tornar o resultado (torque) dependente da entrada (velocidade do motor)

• Abra a janela de curva clicando no botão Edit

• Defina um nome para o intervalo e o domínio da curva, bem como os domínios físicos e unidades de medida correspondentes cl icando no botão “Properties”

(continua)

Tutoriais do SimulationX

Tabela 2:

31 Entrada de parâmetros (continuação)

Modelo de Objeto

Entrada de Parâmetros • Selecione para x “Mechanics (Rotary)/Rotary Velocity” com uma unidade “rpm” e o nome “Speed” • Selecione para y “Mechanics (Rotary)/Torque” com uma unidade “Nm” e o nome “Torque” • Insira os seguintes valores

• Ative o atributo de protocolo para “Signal Output”

Agora você está pronto para realizar o teste de funcionamento do seu motor. Para vê-lo trabalhando, abra a janela de resultados para a velocidade do volante (selecione “Result Curve.../Rotational Speed” no menu de contexto do objeto do volante) e inicie a simulação. É possível ver o aumento de velocidade até atingir o máximo de 5000 rpm definidos na característica de torque (veja Figura 2).

Figura 2: Partida do motor de 800 rpm até o máximo de 5000 rpm

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

32

2. Modelagem do grupo motopropulsor

Você pode agora avançar para o restante do veículo − caixa de câmbio (com engrenagens fixas), engrenagens de eixos, rodas, massa do carro e resistência de condução devida à resistência do ar e ao atrito de rolamento. Primeiro reinicie sua simulação e então construa o seu modelo de grupo motopropulsor, como mostrado na Figura 3.

Figura 3: Modelo de grupo motopropulsor completo

Tabela 3:

Os seguintes novos objetos estão contidos no modelo

Número de Elementos

Nome da Biblioteca

Nome do Objeto Função

1

Mechanics / Rotational Mechanics

Atrito Rígido Modelagem da embreagem

2

Mechanics / Rotational Mechanics

Marcha Relações de transmissão para a marcha selecionada e a engrenagem diferencial

1

Mechanics / Rotational Mechanics

Transformação Rotacional Linear  As Rodas

1

Mechanics / Linear Mechanics

Massa A massa do carro

2

Mechanics / Linear Mechanics

Força externa Resistência de condução − resistência do ar e atrito das rodas

Símbolo

Você pode renomear os objetos como de costume. Em seguida, os novos modelos de objetos são parametrizados.

Tutoriais do SimulationX

Tabela 4:

33 Entrada de parâmetros

Modelo de Objeto Embreagem

Entrada de Parâmetros • Neste elemento de atrito rotativo, o torque no estado de deslizamento e o torque necessário para romper com o estado adesivo devem ser especificados. O torque de liberação deve ser maior do que o torque máximo entregue pelo motor, de modo que o configuramos em 300 Nm. O torque de des lizamento é definido para um valor menor. Escolha 100 Nm a fim de torná-lo tão grande quanto o torque do motor na velocidade inicial (800 rpm). Assim, a velocidade do motor se mantém constante até que a embreagem esteja completamente fechada.

• Ative o atributo de protocolo para a variável de resultado “State of Friction”, a fim de observar o comportamento do elemento de embreagem durante a simulação.

Caixa de Câmbio

• Em “Gearbox”, a relação de transmissão para a marcha selecionada tem que ser dada. Selecionamos o transformador de maneira que a relação de engrenagens seja calculada como a relação entre as velocidades de rotação (o tipo é “Gear Ratio om1/om2”):

Os índices correspondem aos respectivos conectores. O conector com a seta vermelha é o conector 1. Supondo que o carro tem uma relaç ão de transmissão de 3,32 (83 e 25 dentes) em primeira marcha, o seguinte é inserido no diálogo de parâmetro:

Diferencial

• A relação de engrenagens diferencial é selecionada da mesma forma como a relação de engrenagem da caixa de câmbio. Use a relação 4, que é razoável para uma engrenagem diferencial.

Roda

• Aqui devemos especificar a translação do movimento de rotação do sistema de transmissão para o movimento de translação do carro. Esta transformação é realizada nas rodas. Quanto às engrenagens, a relação da velocidade na conexão de translação (ligada à massa do carro) para a velocidade da conexão rotativa (ligada ao diferencial) deve ser determinada. Esta é a razão entre a circunferência da roda (em metros) e o ângulo correspondente (em radianos), isto é, o raio da roda. Selecionando um raio 0,35 m, o seguinte deve ser inserido: (continua)

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

34

Tabela 4:

Entrada de parâmetros (continuação)

Modelo de Objeto

Entrada de Parâmetros

Observe que no nosso arranjo (Figura 3), a roda é construída “ao contrário”; o conector 2 aponta para o lado do motor, o conector 1 para a massa. MassaCarro

• O carro deve ter uma massa de 1400 kg, o que é inserido na caixa de diálogo de parâmetros do elemento CarMass

Os valores iniciais para o deslocamento e a velocidade devem ser definidos como zero (e fixados utilizando o pino azul para evitar que o calculador o altere durante o cálculo do valor inicial), a fim de simular uma forma com velocidade e deslocamento iniciais de zero. • Ative os protocolos de atributos para os valores dos resultados “Velocity” e “Acceleration” e defina a unidade de medida de velocidade em km/h.

ArrastoAr 

• Ao se mover, um carro mantém duas forças de resistência importantes: a resistência do ar e o atrito de rolamento. A resistência do ar é ca lculada como

C d  = 0,31 - coeficiente de resistência do ar, A = 2,2 m2 - área projetiva do

carro,

- densidade do ar, ν  - velocidade do veículo

A fórmula acima pode ser digitada diretamente no parâmetro para a força. Uma propriedade especial é explorada a fim de obter a velocidade necessária para o cálculo do arrasto do ar. O SimulationX fornece as variáveis de estado do movimento (deslocamento, velocidade, aceleração) como qualquer outro pa râmetro ou variável do sistema. Usando o nome do elemento corre spondente, eles podem ser acessados. No nosso modelo de exemplo, usamos a velocidade CarMass.v. Ao digitar os valores, observe que todos eles devem ser dados em unidades de base do SI (que é o caso aqui)

AtritoRolamento

• A segunda resistência de condução é a força resultante do atrito de rolamento, que é praticamente constante ao longo de intervalos largos da velocidade do veículo. É calculado como

(continua)

Tutoriais do SimulationX

Tabela 4:

35 Entrada de parâmetros (continuação)

Modelo de Objeto

Entrada de Parâmetros γ  R  =

0,01 - coeficiente de atrito de rolamento (estrada de asfalto),

m = 1400kg - massa do carro,

- Gravidade. Novamente temos que introduzir todos os valores em suas unidades de base SI

Nesta etapa, salve o modelo para que você possa reutilizá-lo na parte 2 do tutorial. Agora os testes de aceleração podem ser realizados. Abra as janelas de resultados para o estado do atrito da embreagem, a velocidade de massa do carro e a aceleração da massa do carro. Defina o “Stop Time” da simulação (Menu “Simulation/Settings”) em 5 s e selecione “Start” para começar a simulação. Você vai ver as curvas mostradas nas Figuras 4 e 5. As curvas então são exibidas em quatro janelas. A fim de formar telas comuns, clique no marcador colorido da curva na legenda (canto superior direito do gráfico), arraste-o para a janela de destino (outra exibição do resultado), e solte-o ao liberar o botão do mouse.

Figura 4: Estado da embreagem e velocidade do motor 

A velocidade do motor se mantém constante até que a embreagem esteja completamente fechada. Como você fez o torque de deslizamento tão grande quanto o torque inicial do motor, o torque do motor é totalmente utilizado para a aceleração do carro através da embreagem de atrito e, assim, o motor permanece a uma velocidade constante. Depois que a embreagem é engatada, o carro acelera até que a velocidade máxima do motor seja atingida. A Figura 5 mostra a aceleração do carro da velocidade zero a cerca de 50 km/h. Na fase inicial, a embreagem está patinando e o carro acelera com aceleração constante. Com a embreagem fechada, a aceleração cai inicialmente, uma vez que não só a massa do veículo, mas também a inércia do volante têm de ser aceleradas agora (o motor ganha velocidade). A aceleração para quando a velocidade do motor atinge o seu máximo.

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

36

Figura 5: Velocidade e aceleração do carro Em seguida, você vai observar a aceleração em marchas mais altas. Como na vida real, as marchas superiores são apenas selecionadas com o veículo em movimento a uma velocidade elevada, de modo que uma velocidade inicial tem de ser aplicada à massa do carro. Para simular esta aceleração, altere os seguintes parâmetros:

Tabela 5:

Mudanças de parâmetros

Modelo de Objeto

Entrada de Parâmetros

Gearbox

• Suponha que você está agora em 4a marcha, por exemplo, com uma relação de marchas de 0,97:

CarMass

• Você vai fazer o carro começar a 100 km/h − não se esqueça de mudar a unidade de medida adequadamente.

Agora reinicie a simulação, defina o “Stop Time” da simulação (Menu “Simulation/Settings”) em 30 s e selecione “Start” para começar a simulação novamente.

Figura 6: Velocidade e aceleração do carro quando se muda de marcha a 100 km/h

Tutoriais do SimulationX

37

Como seria de esperar, a aceleração é menor do que no primeiro exemplo, com a baixa velocidade. Uma vez que a velocidade máxima para a marcha é atingida (aqui 170 km/h), a aceleração cessa. A última experiência realizada com este exemplo é o estudo da influência de arrasto do ar. Antes de começar, congele as curvas de velocidade e aceleração, pressionando o botão na barra de ferramentas das janelas de resultados.

Tabela 6:

 Agora, a resistência do ar é aumentada

Modelo de Objeto Resistência de condução (Arrasto do ar)

Entrada de Parâmetros • Mude o coeficiente de resistência do ar para um valor significativamente maior. Usamos 0,36 como exemplo

Depois de reiniciar a simulação, é possível observar o impacto do aumento da resistência do ar − uma aceleração um pouco menor, o que faz com que a velocidade máxima seja alcançada quase 2s depois.

Figura 7: Comparação entre diferentes coeficientes de resistência de ar 

Parte 2: Simulação de Ruídos da Caixa de Câmbio Na segunda parte do tutorial, vamos voltar nossa atenção para um problema mais especializado − a análise de ruídos da caixa de câmbio. Existem dois tipos de ruído na caixa de velocidades, que devem ser estudados aqui • Chocalhar de dentes • Gemido dos dentes da caixa de câmbio sob carga. O estudo desses efeitos requer um maior detalhe no modelo. Primeiro você tem que usar outro modelo de motor. Os ruídos na caixa de câmbio são excitados pela irregularidade da rotação do motor, que é causada pelas mudanças no torque do cilindro durante a compressão e a

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

38

combustão. Para os ruídos da caixa de velocidades você precisa de um modelo que incorpore folga nas engrenagens (responsável pelo chocalhar) e considere a rigidez e a articulação da engrenagem (a articulação da engrenagem pode excitar frequências mais elevadas no sistema, que pode ser audível como gemido na caixa de câmbio). 1. Simulação do chocalhar de dentes

Você começa a partir do modelo salvo anteriormente na Parte 1 e substitui alguns de seus componentes. Antes de começar você pode fechar as janelas de resultados, a fim de arrumar seu espaço de trabalho. Além disso, primeiro reinicie a simulação, para que você possa editar o seu modelo. Rearranje o modelo original (mostrado na Figura 3) de tal forma que se obtenha o novo modelo mostrado na Figura 8. Suponha que a caixa de câmbio é de uma fase (isto é, só existe uma relação de engrenagem entre a entrada da caixa de câmbio e os eixos de saída), como é utilizado em veículos com tração dianteira, por exemplo.

Figura 8: Modelo de grupo motopropulsor refinado Os seguintes elementos novos aparecem no modelo:

Tabela 7:

Novos elementos

Número de Elementos

Nome da Biblioteca

Nome do Objeto Função

1

Power Transmission/ Motors and Engines

Motores de Combustão

Símbolo

O modelo do motor descreve a influência do processo de combustão em cada cilindro do torque fornecido por funções típicas normalizadas. 2

Signal Blocks

 f (x)

Provisão dos sinais do pedal do acelerador e do pedal de embreagem a serem alimentados no motor e na embreagem. 1

Power Transmission/ Couplings and Clutches

Disco de Embreagem Embreagem seca de disco único operada por pedal (continua)

Tutoriais do SimulationX Tabela 7:

39

Novos elementos (continuação)

Número de Elementos

Nome da Biblioteca

Nome do Objeto Função

1

Mechanics/ Rotational Mechanics

Inércia

Símbolo

Inércia do disco de embreagem e da entrada da caixa de câmbio; elemento auxiliar para conectar os dois elementos – Embreagem e Caixa de Câmbio 1

Power Transmission/ Transmission Elements

Engrenagem Modelo detalhado de um contato de engrenagem incluindo rigidez, amortecimento e folga

Você pode renomear os novos objetos como você quiser; na sequência, eles serão chamados pelos nomes mostrados na Figura 8. Como de costume, o modelo deve ser parametrizado − os novos componentes devem ser adaptados e alguns dos existentes devem ser modificados. As modificações necessárias são listadas na tabela seguinte: Tabela 8:

Entrada de parâmetros para o elemento modelo

Elemento de Modelo Motor 

Entrada de Parâmetros •

Para a parametrização do motor, você precisa saber a potência nominal, a velocidade nominal e o número de cilindros. Os valores nominais aparecem nos pontos de máxima potência de saída do motor. A partir da característica de torque utilizada anteriormente, é possível calcular a curva de potência simplesmente multiplicando a velocidade do motor pelo torque. Não se esqueça de converter a rotação do motor para unidades de rad/s antes do cálculo!! Observa-se que a potência máxima é atingida a 4500 rpm e é de cerca de 99 kW. O motor deve ter 4 cilindros. Então você insere na página de diálogo de parâmetros 1:

Note-se que a limitação a 5000 rpm usada no modelo simples era um pressuposto arbitrário sobre o controle do motor e o elemento motor usado aqui funciona até uma velocidade mais elevada. A fim de alcançar o mesmo comportamento, um controle de velocidade máxima pode ser implementado. Para os experimentos realizados na sequência, isso não é essencial e, portanto, pode ser omitido. Na página de diálogo parâmetros 2: •

Defina o torque do motor para 0,35 kgm2 (antes no volante)

(continua)

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

40

Tabela 8:

Entrada de parâmetros para o elemento modelo

Elemento de Modelo

(continuação)

Entrada de Parâmetros • Relacione a velocidade inicial com “InitialSpeed.F”

PedalAcelerador 

O comportamento do elemento do motor é controlado por um sinal normalizado entre 0 (ausência de sinal de aceleração) e 1 (aceleração total). Você irá executar a nossa experiência com aceleração total, ou seja, um 1 é inserido no diálogo parâmetro:

Embreagem

Para a parametrização da embreagem, você seleciona os valores típicos de uma embreagem de veículos de passageiros, que corresponde à produção de torque do motor. A embreagem deve ser do tipo seca de disco único, ou seja, com duas superfícies de atrito. Ajustes razoáveis para os restantes parâmetros são:  – Diâmetro externo: 220 mm  – Diâmetro interno: 130 mm – Coeficiente de atrito estático: 0,8 (este é maior do que os valores típicos, mas não queremos que a embreagem deslize devido a picos de torque, uma vez que esteja fechada)  – Valor de atrito deslizante: 0,2 – Força de pressão: 8000 N Todos os outros valores permanecem com suas configurações padrão, como indicado na janela de parâmetros. Os parâmetros são definidos na seção “Parameters” da janela:

AtuadorEmbreagem

Assim como o motor, a embreagem é acionada por um sinal normalizado − 0 para aberto e 1 para fechado. Se o sinal mudar de 0 para 1, a embreagem fecha automaticamente, controlada pela configuração do parâmetro “Force Engaging Time” da embreagem (nós o deixamos na configuração padrão). A fim de permitir que o motor ganhe um pouco de velocidade antes de a embreagem ser fechada, você troca o sinal de atuação em 0,1s. A maneira mais fácil de executar isto é a exploração de uma expressão lógica. A expressão se t > 0,1 então 1 senão 0 elegantemente define um sinal, que começa em 0 e muda o seu valor para 1 no tempo 0,1s. Isto é inserido no diálogo de parâmetros do sinal de bloqueio.

(continua)

Tutoriais do SimulationX

Tabela 8:

41 Entrada de parâmetros para o elemento modelo

(continuação)

Elemento de Modelo

Entrada de Parâmetros

Engrenagens_Embreagem

• Defina o parâmetro “Moment of Inertia” para 0,01 kgm2 (representando o disco de embreagem e as peças do motor do lado da caixa de velocidades, mas sendo principalmente um nó auxiliar):

• Verifique se “Velocidade Inicial” é definida como zero:

CaixaCambio

• Neste modelo de objeto, você pode definir uma série de parâmetros e tem uma variedade de opções conforme a rigidez, o amortecimento e o enga jamento de dentes são especificados. Para o nosso experimento simples, deixe todos os parâmetros em seus valores padrão exceto para o número de dentes para as duas rodas de engrenagem e as folgas. Estes números são selecionados, de modo a resultar exatamente na mesma relação de engrenagens utilizada para a primeira marcha no modelo na Parte 1 do tutorial:  – No de dentes, Roda 1:25  – No de dentes, Roda 2:83 Além disso, especifique uma folga de 0,1 mm

• Certifique-se de que “Consideration of Stiffness Change” não esteja marcada. Esta opção será usada em uma experiência posterior.

• Agora vá para a página “Results” da janela de parâmetros e ative o atributo de protocolo para as forças normais nas superfícies dos dentes

Diferencial

• O objeto caixa de velocidades detalhado se comporta como um verdadeiro conjunto de engrenagens. Por conseguinte, o eixo de saída roda em sentido inverso em relação ao eixo de entrada. Este não foi o caso no modelo de veículo simples, ou seja, com a nova configuração, o veículo se moveria para trás na verdade. Como a resistência do ar e as configurações de resistência ao rolamento só funcionam para um movimento para frente, é necessário compensar o sentido inverso de rotação. (continua)

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

42

Tabela 8:

Entrada de parâmetros para o elemento modelo

Elemento de Modelo

(continuação)

Entrada de Parâmetros Isto é convenientemente realizado no diferencial, alterando o sinal da relação de engrenagens

MassaCarro

• Certifique-se de que você redefiniu a velocidade inicial do carro para zero (ela pode ter outro valor a partir de experiências anteriores)

e que os atributos de protocolo de velocidade e aceleração estão habilitados

Agora você está pronto para executar a simulação. Para este conjunto, defina o tempo de parada da simulação em 5 s e o “Min. Output Step...” (dtProtMin) em 0,0001 s. Isso irá assegurar que componentes de maior frequência sejam exibidas corretamente também. Abra as janelas de resultados para a “Rotatory Speed” do motor e das forças dos dentes da caixa de câmbio. Depois de executar a simulação, você vai ver os resultados exibidos nas Figuras 9 a 10. É claramente visível que a velocidade do motor aumenta, até que a embreagem comece a fechar. Em seguida, a velocidade é reduzida novamente até que a embreagem esteja completamente fechada, quando o carro começa a se mover devido ao torque de atrito transmitido pela embreagem. Uma vez que a embreagem esteja completamente fechada, todo o conjunto acelera. Examinando as forças nos dentes, observa-se que há uma força normal à esquerda e sobre a superfície direita do dente. Como existe uma folga na caixa de velocidades, isso significa que as engrenagens chocalham. O chocalhar começa primeiro após a embreagem fechar e, em seguida, mostra uma ressonância a cerca de 2700 rpm, que cessa com velocidades do motor acima de 3300 rpm.

Figura 9: Velocidade do volante

Tutoriais do SimulationX

43

Vamos agora dar uma olhada no processo de chocalhar. Para isso, mova o marcador na legenda de uma das janelas de força para a outra, a fim de formar uma exibição conjunta das duas forças. Depois am plie a visão de modo que você possa ver uma seção na faixa de ressonância. Clique na lupa e amplie a visão da área desejada ou escolha a opção “Settings” de diálogo, vá para a janela “X-axis”, desmarque a opção “Automatic Scaling”, insira 1,8 s e 1,83 s como valores “Min” e “Max” e defina o número de “Ticks” como 3. Agora você vê as curvas mostradas na Figura 12. Obviamente, as engrenagens estão em contato (isto é, há uma força normal) de forma intermitente. No meio existe um período no qual as engrenagens rodam umas em relação às outras e não existem forças normais, pois não há contato.

Figura 10: Força

normal na superfície direita do dente (lado de acionamento)

Figura 11: Força normal na superfície esquerda do dente

Figura 12: Forças normais com maior resolução, mostrando o chocalhar dos dentes

Tutorial 3 – Simulação de Grupo Motopropulsor e de Veículos Automotores

44

Analisando o período dos sinais de força (os picos se repetem com 11 ms de distância uns dos outros), você pode identificar facilmente as razões para o chocalhar dos dentes. Como você tem um motor de quatro cilindros, há duas ignições por revolução. A cerca de 2800 rpm, esses impulsos aparecem com uma frequência de 93 Hz e, portanto, estão a cerca de 11 ms de di stância um do outro.

Você pode medir pontos da curva (e, portanto, períodos neste exemplo), selecionando a curva desejada na legenda (ela é marcada com um triângulo) e clicando com o botão esquerdo no diagrama sem deixar de pressionar. Aparece uma cruz com a mesma coordenada x do ponteiro do mouse e é colocada sobre a curva. As coordenadas atuais do ponto são mostradas na barra de ferramentas. Movendo o mouse você obtém as coordenadas de outros pontos da curva.

Este é um exemplo de comportamento indesejado de uma caixa de câmbio. Em um projeto do carro usando SimulationX, você teria visto o problema na fase inicial do projeto e teria sido capaz de tomar medidas para remediá-lo. 2. Análise do gemido da caixa de câmbio

Agora você vai fazer uma mudança na caixa de câmbio, o que permite observar um outro tipo de ruído na caixa de câmbio – o gemido −, que é provocado pela engrenagem dos dentes. Para realizar esta simulação, deixe o modelo como está e mudez apenas um parâmetro:

Tabela 9:

Mudança de parâmetros da caixa de câmbio na página “Parameters”

Elemento CaixaCambio

Entrada de Parâmetros • Marque a caixa de seleção para a “Consideration of Stiffness Change” no diálogo de parâmetros

Isto levará a uma rigidez que depende do número real de dentes envolvidos e do grau de envolvimento. Esta variação da rigidez é periódica com a frequência do trem de engrenagem e pode provocar vibrações no conjunto propulsor.

Para a simulação, você tem que dimensionar a janela de saída (como usado na Figura 12) ao longo da direção de força. Desative o “Automatic scaling” no “Y-axis” da página de diálogo “Settings” e insira uma força máxima de 60.000 N. O número de “Ticks” tem de ser alterado para 7, em conformidade os demais dados. Reinicie a sua simulação agora e execute-a novamente. Depois de um tempo, você vai ver as curvas de força do intervalo de tempo selecionado aparecerem na janela de resultados. O resultado é apresentado na Figura 13. Obviamente, existe agora uma componente com uma frequência consideravelmente mais elevada. Medindo a distância entre os picos vizinhos encontra-se aproximadamente 0,85 ms, ou seja, 1,18 kHz como frequência fundamental. A fim de confirmar que o trem de engrenagem ocasiona isto, você pode calcular a frequência de engrenagem, que é de 25 dentes por rotação do motor. Isto dá cerca de 1,18 kHz a uma velocidade do motor de 2800 rpm.

Tutoriais do SimulationX

45

Figura 13: Forças normais em maior resolução mostrando o chocalhar e o gemido dos dentes Conclusão

Agora você está livre para experimentar com os modelos de simulação e alterar parâmetros ou ampliar os modelos com maior detalhe. Isto pode incluir a rigidez, a inércia, o amortecimento de eixos diferentes do conjunto propulsor, a descrição do comportamento dos pneus ou um tipo detalhado de motor refletindo a inércia, a rigidez e o amortecimento do eixo de manivelas, as forças de massa do pistão e modelos para o processo de combustão. Você pode construir muitos elementos detalhados, como um eixo Cardan e vários modelos detalhados de cilindros ou motores com o TypeDesigner e estes podem ser adicionados à coleção de tipos nas bibliotecas SimulationX. Portanto, você tem a flexibilidade de fazer o seu modelo tão detalhado conforme necessário para a sua simulação e análise de tarefas. Vamos, finalmente, retomar as metas, que deveriam ter sido alcançadas neste tutorial.

• Você já sabe como construir modelos de carros e conjuntos propulsores para diferentes

• • •

• • •

metas de simulação. Os elementos mais complexos do modelo geralmente vêm com um conjunto de parâmetros padrão, que muitas vezes você pode deixar inalterados. No entanto, você deve sempre pensar sobre a correção dos parâmetros que você usa, a fim de garantir que o modelo mapeia a realidade com precisão. Você aprendeu vários métodos para parametrizar objetos - não apenas números, mas também fórmulas matemáticas e expressões lógicas. Além disso, agora você sabe como acessar outras variáveis e parâmetros, fazendo referência a quantidades correspondentes. Você é capaz de usar blocos de sinal para tornar disponíveis múltiplas variáveis usadas , tais como parâmetros comuns de vários objetos, e você sabe como atribuir significados físicos e unidades a sinais. Você viu que a quantidade de detalhes no modelo cresceu com a complexidade dos efeitos que eram observados. Aqui vale uma consideração em cada simulação. A crescente complexidade no modelo aumenta o tempo total de simulação. Assim, o modelo deve ser sempre apenas tão complexo quanto necessário para mapear o efeito a ser observado. SimulationX é uma ferramenta para simulação intuitiva de sistemas, já que modelos com mistura de domínios físicos (em nossos exemplos, mecânica e sistemas de controle) podem ser construídos muito rapidamente. A abordagem orientada a objetos de SimulationX permite que você modifique a estrutura do modelo dado muito facilmente e o adapte às novas tarefas e especificações. Os modelos SimulationX refletem claramente a estrutura dos s istemas físicos subjacentes, para que você sempre veja o seu problema do mundo real quando olha para o modelo.

Tutorial 4 – Evaporador Superaquecedor Objetivo Um modelo de um permutador de calor simples em duas fases será criado como objetivo deste tutorial. Inicialmente, o modelo será criado exclusivamente para representar o comportamento físico do sistema. Na segunda etapa, os meios para realizar alguns testes serão adicionados. O objetivo do circuito é evaporar a água, em uma primeira fase, e superaquecê-la posteriormente. O sistema modelado pode ser parte de um processo de geração de energia a vapor. Supõe-se que você esteja familiarizado com a funcionalidade básica do SimulationX. Portanto, consulte o “Tutorial 1: Introdução” para uma introdução geral sobre como selecionar elementos das bibliotecas, como conectá-los e introduzir os parâmetros, como executar uma simulação e como abrir janelas de resultados.

Parte 1: Sistema de Malha Aberta Crie o modelo SimulationX do evaporador superaquecedor de acordo com a Figura 1. Use os elementos e os nomes (marcador azul entre parênteses) listados na Tabela 1. Você pode alterar o texto e a posição da etiqueta de cada objeto clicando duas vezes em um elemento e selecionando “General/Name ...”. Escreva o nome sem espaços em branco (por exemplo, “superaquecedor”). Alguns elementos devem ser girados antes da ligação. Ao conectar os elementos uns com os outros, você deve lembrar que em SimulationX só é possível conectar as portas de elementos do mesmo tipo.

Figura 1: Estrutura do modelo da configuração do Evaporador Superaquecedor 

O caminho de uma conexão será determinado automaticamente, mas a mudança do caminho é possível a qualquer momento. Para fazer isso, mova o mouse sobre uma conexão enquanto pressiona a tecla “Alt”. O ponteiro do mouse mostra em que direção você pode mover a linha de conexão selecionada. Para cortar uma ligação já existente, clique sobre ela e pressione “Del”. 46

• Modelagem multidomínio dos resultados e • Análise balanço de testes • Estudos de parâmetros

Tutoriais do SimulationX

47

Uma vez que todos os elementos forem conectados corretamente, escolha uma conexão e clique com o botão direito sobre ela. No menu de contexto que aparece, selecione propriedades e o diálogo de propriedades será mostrado. Na aba “Fluid”, o fluido tem de ser alterado de “Air_  IDG” padrão para “Water”.

Isso tem de ser feito apenas uma vez para uma conexão arbitrária, já que a informação do fluido é propagada automaticamente para todas as outras ligações dentro do circuito.

Tabela 1:

Elementos necessários para o circuito na Figura 1

Número de Elementos

Nome da Biblioteca

Nome do Elemento

2

Thermal-Fluid

Fonte de pressão (pFonte1)

1

Thermal-Fluid

Transformador dinâmico (bomba)

1

Thermal-Fluid

Evaporador   (evaporador)

1

Thermal-Fluid

Trocador de calor   (superaquecedor)

Símbolo

Depois de ter conseguido criar a estrutura do modelo de acordo com a Figura 1, você tem que inserir os parâmetros para os elementos e ativar o atributo de protocolo para as variáveis que pretende representar graficamente após a simulação. Como quase todos os elementos têm parâmetros padrão, você só tem que introduzir os parâmetros que são diferentes dos valores padrão. A Tabela 2 apresenta uma visão geral sobre os parâmetros que você tem que inserir. Alguns dos diálogos de parâmetros têm mais de uma página.

Tabela 2:

Configurações de parâmetros

Elemento

Entrada de Parâmetro

pFonte1

• Deixe todos os valores padrão como estão. Note-se que a caixa de seleção para a qualidade do vapor não é marcada porque o fluido entra no evaporador puramente líquido.

(continua)

Tutorial 4 – Evaporador Superaquecedor 

48

Tabela 2:

Configurações de parâmetros (continuação)

Elemento Bomba

Entrada de Parâmetro • Deixe o valor padrão para o tipo de transformação:

• Mude a configuração do fluxo para fluxo de massa.

• Configure o fluxo de massa para 0,6 kg/min. Não se esqueça de mudar a unidade.

Evaporador

Na aba Global Parameter, deixe o Specification Mode padrão e configure: • Alimentação do calor para 30kW.

No SimulationX, ativa-se os atributos do resultado mudando os ícones de protocolo. • Ative os atributos de protocolos para a transferência de calor do lado 1 para 2:

Nas outras abas, deixe os valores padrão inalterados. Superaquecedor

Na aba Global Parameter, deixe o Specification Mode padrão e configure: • Alimentação do calor para 5kW.

• Ative os atributos de protocolo para a transferência de calor do lado 1 para 2:

Nas outras abas, deixe os valores padrão inalterados. pFonte2

Página de diálogo “Parameters”: • Deixe a caixa de seleção “Fix pressure” como está, mas desmarque a opção “Fix temperature”. Note-se que a caixa de seleção para a qualidade de vapor também não está marcada porque o fluido vai deixar o sistema aqui, não importa em que fase. Ajuste a pressão para 8 bar.

(continua)

Tutoriais do SimulationX

Tabela 2:

49 Configurações de parâmetros (continuação)

Elemento

Entrada de Parâmetro

Conexao2

Página de diálogo “Parameters”, estabelecendo as condições iniciais: • Deixe o valor padrão da temperatura, mas defina p0 como pFonte2. pSrc.

Conexao3

Página de diálogo “Parameters”, estabelecendo as condições iniciais: • Deixe o valor padrão da temperatura, mas defina a pressão p0 como a pressão de fonte de pFonte2.

Propriedades da simulação

Defina o tempo de parada da Simulação em 200 s.

Depois de ter introduzido os parâmetros do modelo, você pode executar a simulação e observar os resultados. A figura 2 mostra alguns dos resultados da simulação. Uma janela de resultados será aberta ao arrastar o ícone de um atributo de protocolo ativado para a vista do modelo. A fim de mostrar os resultados de duas curvas em apenas uma janela de resultado, o ícone de um segundo atributo de protocolo tem de ser arrastado para a janela de resultado existente.

Os valores dos fluxos de calor transferidos dentro do evaporador e do superaquecedor são ilustrados respectivamente.

Figura 2: Fluxo de calor transferido no evaporador e superaquecedor 



Você pode manipular o modelo de simulaçãoparater uma noção de como o modelo vai reagir a mudanças de parâmetros. (Não se esqueça de reiniciar o modelo antes de fazer modificações!)

Tutorial 4 – Evaporador Superaquecedor 

50

Parte 2: Realizando Alguns Testes Agora será descrita a forma como alguns testes de equilíbrio podem ser realizados a fim de verificar a exatidão dos resultados. Será verificado se o aumento das entalpias será correspondente aos fluxos de calor transferidos ou não. Para isso, alguns sensores de estado e dois blocos de função serão adicionados.

Figura 3: Estrutura modificada do modelo

Para adicionar estes elementos ao modelo, realize os seguintes passos:

• Redefina o modelo de simulação. ( ) • Adicione três sensores de estado e ligue-os ao modelo existente de acordo com a Figura 3. Adicione também dois elementos de função com duas entradas da biblioteca de blocos de sinal. Renomeie esses elementos, como sugerido.

Tabela 3:

Parâmetros do acumulador 

Sensor de Estado (sensorEstado1; sensorEstado2; sensorEstado3)

Função (testeEvap; testSuperaquecedor)

Página de diálogo “Parameters”: • Defina o sinal de saída como “Specific enthalpy”. Observe que você pode selecionar todos os três Sensores de Estado clicando sobre os elementos enquanto a tecla Control é pressionada. Em seguida, um duplo clique sobre um elemento irá abrir a janela de propriedades e o sinal de saída apropriado deve ser definido apenas uma vez.

• Na página de diálogo “Parameters”, introduza o seguinte, que corresponde ao aumento do fluxo de entalpia. x2 e xl contêm os valores da entalpia na entrada e na saída do evaporador e do superaquecedor, respectivamente; veja os sensores de estado. O fluxo de massa através dos trocadores de calor é igual ao da bomba quando a simulação atinge um estado estacionário.

(continua)

Tutoriais do SimulationX

Tabela 3:

51 Parâmetros do acumulador  (continuação)

Selecione os atributos utilizando o botão e mude a quantidade do padrão para ThermofluidicsHeat Flow para o parâmetro e a variável de resultado.

• Ative os atributos de protocolo para o sinal de saída y:

Escolha como unidade W.

Arraste os ícones de resultados dos elementos de função para a janela de resultado já existente, a Figura 2. Execute a simulação e compare os valores do fluxo de calor transferido com o correspondente aumento de fluxo de entalpia.

Figura 4: Comparação entre o fluxo de calor e o aumento do fluxo de entalpia

Na Figura 4, é bem perceptível que, depois de chegar ao estado estacionário, o equilíbrio de energia é atingido.

Tutorial 4 – Evaporador Superaquecedor 

52

Finalmente, vamos retomar alguns pontos sobre os benefícios deste tutorial

• Você aprendeu como construir modelos de sistemas termofluídicos em SimulationX. A •

• • •

maioria dos elementos têm parâmetros padrão e opções escaláveis. Os blocos de sinal em SimulationX (por exemplo, fontes de sinal) podem ser adaptados para o seu propósito em termos de quantidades físicas, unidades e nomes dos parâmetros e quantidades de resultado. Além disso, podem ser usados para executar o equilíbrio e outros controles. SimulationX é uma ferramenta intuitiva para simulação de sistemas, já que modelos com mistura de domínios físicos (por exemplo, mecânicos, hidráulicos, termofluídicos e controles) podem ser criados muito rapidamente. A abordagem orientada a objetos de SimulationX permite que você modifique a estrutura do modelo dado muito facilmente e a adapte a novas tarefas e especificações. O modelo SimulationX assemelha-se claramente à estrutura do circuito do sistema termofluídico. Isto significa que você pode se concentrar em sua tarefa de engenharia em vez de pensar sobre o fundo matemático de seu sistema. Além disso, outros engenheiros podem facilmente voltar a usar e entender os seus próprios modelos.

Tutorial 6 – Crie um Modelo Mecânico Multicorpo Objetivo Neste tutorial, você irá modelar um robô simples, consistindo de dois braços e acionamentos cinemáticos. O exercício começa com a criação da estrutura de MBS básica, que consiste em dois braços rígidos ligados por articulações rotativas. A variante orientada da articulação rotativa nos permite adaptar modelos 1D de acionamento ao modelo de robô 3D. O movimento do braço do robô é determinado pelos ângulos relativos das articulações definidos em curvas independentes. Os torques de acionamento e as forças nas articulações, bem como a trajetória do TCP são resultados utilizados em estudos adicionais de projetos robóticos.

da biblioteca • Utilização Mecânica Multicorpo

• Criação de modelos 3D de modelos • Parametrização 3D • Animação de modelos 3D

Supõe-se que você está familiarizado com a funcionalidade básica do SimulationX. Portanto, por favor, consulte o “Tutorial 1: Introdução” para uma introdução geral sobre como selecionar elementos das bibliotecas, como conectá-los e introduzir os parâmetros, como executar uma simulação e como abrir janelas de resultados. Os elementos listados serão utilizados na tarefa de modelagem. Verifique se as bibliotecas estão disponíveis com a sua licença SimulationX. Biblioteca Mecânica Mechanics/MBS

– Rigid Bodies/Cuboid para modelar o braço –  Joints/Actuated Revolute Joint para ligar os braços e definir os –

modelos GDL AbsoluteKinematicSensor para representar o TCP e monitorar a trajetória de TCP

Biblioteca Mecânica Mechanics/Rotary



Restrita a acionamentos cinemáticos em ambas as articulações

Biblioteca de Blocos de Sinal –

Signal Sources/Curve para definir o movimento dos braços do robô 53

Tutorial 6 – Crie um Modelo Mecânico Multicorpo

54

Exemplo: • Configuração do ambiente SimulationX Temos a intenção de criar um modelo 3D do robô. Isto quer dizer que deve haver uma vista 3D além da vista do diagrama que deve ser aberta por meio de Menu/Window/New 3D View.

Sugerimos organizar Diagram View e 3D View em dois Grupos de Abas Verticais. Isto é realizado escolhendo e posicionando a Aba da 3D View, como na figura abaixo.

Vamos começar o exercício com Diagram View e 3D View dispostas em paralelo. Ocasionalmente, você deve usar o botão “zoom all” para reajustar a 3D View do seu modelo. A 3D View mostra o modelo atual apenas no estado não calculado. Se as alterações não são mostradas, você tem que usar o botão “zoom all” ou redefinir o seu modelo para começar a partir de um cálculo anterior.

• Introdução Vamos criar o primeiro braço do nosso robô. Abra a biblioteca Bar / Mechanics / MBS Mechanics. Lá você encontra sub-bibliotecas como Bodies, Joints, Constraints, Forces... Selecione Rigid Bodies/ Cuboid para modelar o braço do robô. Mude o nome do elemento de cuboid1 para braco1. É o primeiro espaço fixo (conector cinético livre ctr1). Você pode testar este fato iniciando uma simulação transitória. O braco1 recebe seu grau de liberdade (GDL) ao ser colocada uma articulação rotativa (1 GDL rotacional) entre a terra e braco1. Selecione as Joints / Actuated Revolute Joint para adicionar um trem de acionamento 1D depois. Renomeie o elemento actuatedRevoluteJointl para articulacaol. Ligue o conector cinético ctr2 (amarelo) de articulacaol ao conector cinético ctr1 (branco) de braco1 e obtenha o resultado mostrado. Use “wireframe” para ver todos os componentes.

Tutoriais do SimulationX

55

• Configuração das propriedades das articulações A posição e a orientação são dadas em relação a sua referência predecessora (que é igual à origem para conectores cinéticos livres). A posição e a orientação permanecem inalteradas, mas selecione o eixo Y como eixo de rotação das articulações.

As propriedades de visualização estão definidas para um raio rd = 50 mm e comprimento lz = 130 mm. A articulação é mostrada como um cilindro na direção y com um comprimento e um raio mais adaptados às dimensões dos braços.

• Definindo propriedades do corpo rígido braco1 A posição e a orientação são dadas em relação a sua referência predecessora (que é a da articulação, mostrada como um tripé na seleção da articulação). A referência do braço e a referência das articulações agora coincidem. O braço tem que ser deslocado pela metade do seu comprimento na direção x para colocar sua extremidade esquerda na articulação. Altere o vetor posição para {0.5,0,0} m (ou {lx/2, 0, 0} para um modelo paramétrico). A orientação permanece inalterada. A massa deve ser alterada para 10 kg (o valor padrão é 1 kg). A geometria permanece inalterada.

Tutorial 6 – Crie um Modelo Mecânico Multicorpo

56

• Intervalo O primeiro passo foi dado: a modelagem o pêndulo simples. Você pode demonstrar sua função executando a simulação transitória Para executar alguns ciclos do pêndulo, o tempo de parada deve ser ajustado para 20 s usando o diálogo de propriedades na barra de ferramentas de controle de simulação (“Transient” deve ser definido como “Kind of Simulation”).

O cálculo é feito tão rápido que a vista 3D muda da posição inicial para a posição final imediatamente. Ative “record” para animar os resultados após a execução da simulação.

Para executar a animação, você tem que mudar o “Kind of Simulation” de “Transient” para “Animation”. Isso deve ser feito na barra de ferramentas de Controle de Simulação. Observação

Há um vetor gravidade predefinido = {0, 0, -9,8065} m/s2 atuando em cada corpo na direção z negativa.

• Criando o segundo braço Crie o segundo braço simplesmente copiando e colando o modelo e ligando articulacao2.ctr1 com braco1. ctr2. O resultado é mostrado à esquerda.

Mude o vetor posição x0 da articulacao2 para [0.5, 0, 0] (ou [braco1.lx/2, 0, 0] para um modelo paramétrico). A orientação continua inalterada. O braco2 está na sua posição correta devido às nossas configurações anteriores para braco1.

Tutoriais do SimulationX

57

O segundo passo está dado e você já modelou o pêndulo duplo.

• Posição inicial do modelo Para definir a posição inicial do nosso robô de acordo com a figura em p.1, existem duas soluções possíveis. 1. Defina o ângulo inicial das articulações em -90 graus para articulacao1 e 90 graus para articulacao2. 2. Gire os elementos comuns em torno do eixo y em relação a suas referências, definindo os ângulos de rotação (sequência x-y-z) para {0,-90, 0} graus para articulacao1 e {0, 90, 0} graus para articulacao2. Isso deixa os ângulos iniciais das articulações com o valor inicial de 0 grau. Nós preferimos este método. Certifique-se de ter alterado a unidade de “rad” para “º” ou “graus”.

• Resultado Intermediário A parte MBS do modelo agora está completa. Braços e articulações foram definidos, conectados e parametrizados. Os ângulos iniciais comuns são 0 grau. Para finalizar o modelo, temos que adicionar algum modelo de acionamento. O próximo ponto é lidar com essa tarefa.

Tutorial 6 – Crie um Modelo Mecânico Multicorpo

58

• Modelagem dos acionamentos Adicione um elemento de restrição da biblioteca Mechanics/ Rotational Mechanics / Constraint para modelar um acionamento cinemático. Renomeie-o para acionamento1 e conecte acionamento1.ctr1 a articulacao1.ctrR1 e acionamento1. ctr2 a articulacao1.ctrR2. Adicione um elemento curva1 da biblioteca Signal Blocks / Signal Sources / Curve para definir o conjunto de movimento dado.

Para utilizar a variável de saída y de curva1 como o parâmetro de acionamento1, criamos uma referência a curva1.y como a diferença angular dphi.

Copie e cole o acionamento cinemático agora criado para articulacao2 também e defina a referência para curva2.y em acionamento2.

Finalmente, deve ser definida uma curva para cada acionamento determinando o ângulo de articulação. É importante definir a quantidade física das curvas y para ângulo. Isso é feito no diálogo de propriedades curva.

no assistente de

Certifique-se de definir a quantidade de y para ângulo e a unidade para “graus” ou “°”.

Tutoriais do SimulationX

59

Para editar curvas, veja os Tutoriais 2 e 3. Em seguida, você pode continuar com a entrada das curvas dadas.

Confirmando as curvas, o modelo está pronto para a realização de uma simulação.

• Executando a simulação transitória Se os resultados da primeira execução da simulação gerarem uma mensagem de erro: “Calculation of initial values failed!”, é necessária uma modificação das configurações dos valores iniciais. Verificando as curvas de movimento dadas, você vê um ângulo inicial de 0 graus, mas um gradiente (velocidade inicial) diferente de 0. Isto tem de ser considerado nas configurações iniciais dos valores das articulações. Soltando o pino no diálogo Initial Velocity para ambas as articulações, o modelo funciona bem. O robô está agora executando o movimento dado.

Para executar o ciclo completo do movimento o Stop Time deve ser ajustado para 20 s usando o diálogo property na barra de ferramentas Simulation Control (“Transient” deve ser definido como “Kind of Simulation”)

• Exibição dos resultados Nós temos que adicionar um elemento sensor de Mechanics / MBS Mechanics / Sensor / Absolute Kinematic Sensor para monitorar a trajetória de TCP. Renomeie o sensor para TCP.

Tutorial 6 – Crie um Modelo Mecânico Multicorpo

60

Ligando o conector cinético ctr1 dos sensores ao conector cinético ctr2 de braco2, temos que definir a sua posição com relação ao sistema de coordenadas de braco2 (referência antecessora) para x0 = {braco2.lx / 2, 0, 0}.

Selecionando o x[3] apropriado em Kinematic Result / Displacement e traçando as curvas de resultado, podemos seguir o movimento do TCP no tempo.

As curvas resultantes são mostradas à direita. Obtemos o elemento x[2] igual a zero devido ao movimento planar no plano x-z. Assim, a curva x[2] deve ser excluída escolhendo o item “x [2]-TCP” e usando o menu Edit / Clean na janela de resultados.

Podemos combinar as curvas x [1] (= x) e x[3] (= z) ao longo do tempo para traçar a trajetória da TCP z em relação a x como x [3](x [1]) = z (x) usando o botão

Finalmente, vamos retomar alguns pontos sobre os benefícios deste tutorial

• Geramos uma estrutura básica MBS 3D usando o posicionamento paramétrico das

articulações e corpos em uma cadeia cinemática. • A orientação das articulações e corpos é definida como a rotação em torno do eixo articular para atender a determinada posição inicial dos braços do robô. • A estrutura básica MBS é impulsionada por acionadores cinemáticos 1D seguindo curvas de movimento dadas. • A trajetória de TCP é traçada com a introdução do sensor cinemático absoluto.

Tutorial 10 – Máquinas Virtuais Objetivo Neste tutorial, vamos guiá-lo passo a passo para o trabalho com Máquinas Virtuais em SimulationX. Usando os modelos de exemplo você adquire as habilidades necessárias para a modelagem em SimulationX e o conhecimento sobre os dispositivos de controle. O uso de uma Máquina Virtual ITI permite à engenharia simultânea de mecânica e programas de controle – Simular o comportamento da máquina real - sem um protótipo caro Testar programas de controle e estados críticos em seu PC - sem – riscos, em tempo real. O SimulationX oferece as possibilidades de juntar a simulação dinâmica da máquina com dispositivos de controle reais.

geral da interface de • Visão Máquinas Virtuais com modelos de • Trabalho exemplo existentes de controladores • Conexão reais com máquinas virtuais de uma • Execução simulação de efeitos • Observação durante a comutação de sensor 

Em cada um dos exemplos deste tutorial apenas uma máquina virtual é usada. Uma transmissão por correia, que está transportando uma caixa, é modelada. O movimento da caixa sobre a correia é controlado por um programa de PLC. O PLC lê os valores dos sensores B1 e B2. Se um dos sensores está ativo = a caixa é detectada pelo sensor, o sentido do movimento da correia é alterado pelo PLC. A direção do acionamento é controlada pelos sinais K1 e K2. A correia pode ser impulsionada em um modo de movimento normal e em um modo de movimento lento (sinal K3). O modelo SimulationX é construído a partir de suas próprias bibliotecas internas, em que os blocos são criados como compostos e complementados pela superfície de controle. As amostras estão disponíveis em “SimulationX 3,1 \ Samples\ VirtualMachine \ ...”. Neste caminho também são armazenadas as configurações dos diferentes dispositivos de controle (dados de projeto). Para versões de SimulationX antes 3.1.102, você terá eventualmente de corrigir: substitua “PLCSimFunc.dll” pela nova versão na pasta: “C:\ Documents and Settings\All Users\Documents\SimulationX 3.0\ External Functions”. 61

Tutorial 10 – Máquinas Virtuais

62

Há três opções para conectar dispositivos de controle com máquinas virtuais:

Agora vamos analisar mais atentamente os modelos de amostra fornecidos com o SimulationX 3.0 para simular máquinas virtuais. 1. Acoplando o S7 PLCSIM com um Modelo SimulationX

A amostra “Conveyor_S7_PLCSIM.ism” demonstra a utilização dos elementos PLCSimController, to_PLC_lnput_E e from_PLC_Output_A para realizar uma cossimulação com o simulador PLC 57-PLCSIM. Prepare o SimulationX para a cossimulação.

• Passo 1 - Abra o modelo “Conveyor_S7_PLCSIA/l.ism” (veja a Figura 1) O modelo consiste nos seguintes blocos: sensor1 sensor2 Sensor B1 Sensor B2 falhaSensorBl falhaSensorB2 carga2 contato1 acionamentoCorreia1 acionamento1 rack1 B1, B2 K1, K2, K3 controladorpLCSim1 param1

Início do Sensor Correia Fim do Sensor Correia Interruptor Liga / Desliga - Falha do Sensorl (Início da Correia) Interruptor Liga / Desliga - Falha do Sensor2 (Fim da Correia) Ativar / Desativar falha do Início do Sensor de Correia Ativar / Desativar falha do Fim do Sensor de Correia Modelo da caixa Modelo do elemento de contato Modelo do acionamento da correia Modelo do acionamento Geometrias 3D do rack Exemplos de bloco de cossimulação s - to_PLC_lnput_E Exemplos de bloco de cossimulação s - from_PLC_lnput_E Elemento de acoplamento para cossimulação com S7-PLCSIM Diálogo de Parâmetro

Tutoriais do SimulationX

63

Figura 1: Modelo “Conveyor_S7_PLCSIM.ism” de SimulationX

• Passo 2 - Parâmetros Check / Set Connection As definições dos parâmetros de conexão são feitas da seguinte forma:

Se já não estiverem presentes no modelo, os blocos de ligação para S7-PLCSIM são inseridos automaticamente através da leitura da tabela de símbolos S7 do arquivo “conveyor.asc” (gerados pelo Gerente Simatic). Veja acima como os parâmetros de conexão devem ser definidos para este bloco. Os parâmetros para os elementos “from_PLC_Output_A” são definidos da seguinte forma:

Figura 2: Definição dos parâmetros para cossimulação com S7-PLCSIM (continua)

Tutorial 10 – Máquinas Virtuais

64

O elemento K2 utiliza o Bit 2 do byte de saída ABO.

O elemento K3 utiliza o Bit 2 do byte de saída ABO.

Para o elemento “to_PLCInput_E”, os seguintes parâmetros são definidos:

O elemento B2 utiliza o Bit 2 do Byte de entrada EBO.

Figura 2:

(continuação)

1.1. Preparação do S7-PLCSIM para cossimulação

• Passo 3 – Baixe o programa S7em S7-PLCSIM Inicie o software Siemens Simatic Manager. Abra o projeto S7 “Conveyor”, que é fornecido com a instalação do SimulationX. Em seguida, inicie S7-PLCSIM (Figura 3).

Figura 3: SIMATIC Manager - Start S7-PLCSIM

Tutoriais do SimulationX

65

Durante o início da S7-PLCSIM, algumas janelas serão abertas por SIMATIC Manager. Defina e confirme as opções como mostrado na Figura 4.

Figura 4:  Janelas durante a abertura PLCSIM Faça o download do programa para PLCSIM pressionando o botão de download . Certifique-se de que “blocks” foi destacado (veja a Figura 3). Em seguida, escolha “No” na caixa de mensagem que aparece, como mostrado na Figura 5!

Figura 5: Caixa de mensagem durante o download do programa Somente a versão 5.4 SP1 do S7-PLCSIM é suportada para cossimulação com SimulationX.

Tutorial 10 – Máquinas Virtuais

66 1.2. Executando a cossimulação

• Passo 4 - Prepare a Simulação em SimulationX Por favor, verifique os valores padrão dos elementos:

ON = Verde

Configurações de Simulação

Permite a ativação do rastreamento do assert statement do Modelica.

Figura 6: Definição dos parâmetros de simulação

• Passo 5 – Inicie a simulação de transitórios em SimulationX. Inicie simulação de transitórios em SimulationX.

Tutoriais do SimulationX

67

A simulação da S7-PLCSIM é iniciada automaticamente pelo SimulationX no fundo. Se a análise simbólica global dentro SimulationX é feita - por favor, configure a entrada PLC EB1.0 dentro de 57 PLCSIM - Figura 7.

Figura 7: S7-PLCSIM GUI e a tabela de símbolos correspondente Agora a caixa azul deve ser movida entre Sensorl e Sensor2 na correia

• Passo 6 – Manipule entradas do PLC durante a cossimulação Durante a cossimulação, os sensores B1 e B2 podem ser manipulados pressionando os Interruptores On / Off do Sensor B1 e/ou Sensor B2. Ao pressionar o botão On/Off do Sensor B1 e/ou Sensor B2, uma falha dos sensores será simulada e a caixa estará caindo no final da correia. O modo de câmera lenta da correia pode s er ativado/desativado através da definição do bit de entrada EB1.1 dentro de S7-PLCSIM - consulte a tabela de símbolos S7 na Figura 7. 2.

Interface Nl PCI-6518

A amostra “Conveyor_PCI6518.ism” demonstra o uso dos elementos Nl PCI 6518 para realizar uma comunicação com a placa DAQ PCI-6518 da National Instruments. As Entradas/Saídas da PCI-6518 podem ser conectadas a qualquer PLC, dispositivos de campo ou também a um painel de comando. Para executar este exemplo os seguintes componentes são necessários: • Placa DAQ PC/-6578 da National Instruments • um PLC, dispositivos de campo ou um painel de comando com entradas e saídas padrão de 24 V Os pinos de entrada e de saída do PCI-6518 devem ser ligados ao PLC.

No que se segue descreve-se a ligação da placa NI PCI-6518 a um CLP Siemens CPU 314C2DP.

Tutorial 10 – Máquinas Virtuais

68 2.1. Preparação de SimulationX para cossimulação

• Passo 1 - Abra o modelo “Conveyor_PCI6518.ism”

Figura 8: Modelo SimulationX “Conveyor_PG6518.ism” O modelo é constituído pelos blocos:

sensorl

Início do Sensor de Correia

sensor2

Fim do Sensor de Correia

Sensor Bl

Interrutor On / Off - Falha do Sensorl

Sensor B2

Interruptor On / Off - Falha do Fim Sensor de Correia

falhaSensorBl

Ativar / Desativar falha do Início do Sensor de Correia

falhaSensorB2

Ativar / Desativar falha do Fim do Sensor de Correia

carga2

Modelo da caixa

contato1

Modelo do elemento de contato

acionamentoCorreia1

Modelo do acionamento da correia

acionamento1

Modelo do acionamento

rack1

geometrias 3D do rack

nI_PCI_6518

Elemento de acoplamento para cossimulação com o PCI NI 6518

param1

Diálogo de Parâmetros

Tutoriais do SimulationX

69

• Passo 2 - Verificar / Definir Parâmetros de Comunicação A Figura 9 mostra como os parâmetros devem ser definidos. Lembre-se que o nome do dispositivo é o mesmo dado no Measurement Automation Explorer.

Figura 9: Definição de parâmetros para a comunicação com o PCI-6518 2.2.

Preparação do PLC para cossimulação

• Passo 3 - Download do programa S7 na CPU PLC Abra o projeto S7 “Conveyor”, que é fornecido com a instalação SimulationX (Amostra PLCSIM), dentro do Gerenciador de software Siemens Simatic. Depois, baixe o Programa S7 para a CPU do PLC 314C-2DP dentro de SIMATIC Manager (Figura 10).

Figura 10: Gerenciador de Simatic e tabela de símbolos S7 – Download do Programa S7 Agora ligue as entradas / saídas do PLC com a placa. NI-6518. Depois de baixar o programa, defina a CPU do PLC para RUN-Mode.

Tutorial 10 – Máquinas Virtuais

70 2.3. Executando a Simulação

• Passo 4 - Prepare a simulação em SimulationX Verifique os valores padrão do elemento paraml:

ON = Verde

Configurações de Simulação

Permite a ativação do rastreamento do assert statement do Modelica.

Figura 11: Configurações de Simulação 3.

Cliente OPC para interface síncrona

O exemplo “Conveyor_OPC.ism” demonstra o uso do elemento Cliente OPC de interface síncrona para realizar uma comunicação com o servidor OPC Simatic.Net. O movimento da caixa sobre a correia é controlado por um programa PLC executado no Siemens WinLC-RTX. O WinLC-RTX lê os valores dos sensores B1 e B2. Se um dos sensores está ativo = a caixa é detectada pelo sensor, o sentido do movimento da correia é alterado pelo PLC. A correia pode ser impulsionada em um modo de movimento normal e em um modo de movimento lento. Toda troca de dados entre o SimulationX e o WinLC-RTX é feita através do servidor OPC Simatic.Net.

Tutoriais do SimulationX 3.1.

71

Preparação Prepar ação do SimulationX para Comunicação

• Passo 1 - Abra o modelo “Conveyor_OPC.ism”

Figura 12: Modelo SimulationX “Conveyor_OPC.ism” O modelo consiste nos blocos: sensorl

Início do Sensor de Correia

sensor2

Fim do Sensor de Correia

Sensor B1

Interruptor On / Off - Falha do Sensorl

Sensor B2

Interruptor On / Off - Falha do Fim do Sensor de Correia

falhaSensorBl

Ativar / Desativar falha do Início do Sensor de Correia

falhaSensorB2

Ativar / Desativar falha do Fim do Sensor de Correia

carga2

Modelo da caixa

contato1

Modelo do elemento de contato

acionamentoCorreia1

Modelo do do ac acionamento da da co correia

acionamento1

Modelo do acionamento

rack1

geometrias 3D do rack

GrupoDemo1

Elemento de acoplamento para cossimulação com o PCI NI 6518

param1

Diálogo de Parâmetros

Tutorial 10 – Máquinas Virtuais

72

• Passo 2 - Verifique / Defina os parâmetros de conexão A Figura 13 mostra as configurações dos parâmetros OPC.

Estes dados são lidos a partir do arquivo “Conveyor_OPC. Opp”.

Os dados de entrada de OPC estão ligados ao elemento acionamento1.

O SimulationX escreve esses dados no OPC.

Figura 13: Definição de parâmetros para comunicação com o servidor OPC Simatic.Net Estes parâmetros são lidos a partir de um projeto de OPC gerado pelo software OPC-Scout. OPC-Scout é enviado dentro da instalação Siemens. 3.2.

Prepare o WinLC-RTX e o Simatic.Ne Simatic.Nett OPC-Ser OPC-Server ver para Comuni Comunicação cação

• Passo 3 - Baixe o programa S7 em WinLC-RTX Abra o projeto S7 “Conveyor_OPC”, que é fornecido com a instalação SimulationX, dentro dentro do Manager Simatic de Siemens software. Depois, inicie WinLC-RTX e baixe o Programa S7 dentro do Simatic Manager (Figura 14). Verifique se todos os símbolos de S7 estão publicados no servidor OPC − Figura 14.

Tutoriais do SimulationX

73

Figura 14: SIMATIC Manager - Download do Simatic PC-Station Durante os processos de download para WinLC-RTX, algumas janelas serão abertas pelo Simatic Manager. Introduza e confirme as opções, como mostrado na Figura 15.

Figura 15: Download do programa S7 em WinLC-RTX Depois de baixar o programa, defina o WinLC-RTX para o modo RUN. O servidor OPC será iniciado automaticam automaticamente. ente.

Tutorial 10 – Máquinas Virtuais

74 3.3

Executando a Cossimulação

• Passo 4 - Prepare a Simulação em SimulationX Verifique os valores padrão do elemento param1:

ON = Verde

Configurações de Simulação

Permite ativar o rastreamento do assert statement do Modelica.

Figura 16: Configurações do SimulationX

• Passo 5 - Início da simulação de transitórios em SimulationX Inicie a simulação de transitórios no SimulationX.

Tutoriais do SimulationX

75

Figura 17: Definição dos parâmetros de simulação Se a Análise Simbólica Global dentro de SimulationX é executada, abra a tabela de variáveis VAT1, habilite o Monitor Variable (clique no ícone dos óculos) e defina a entrada PLC E1.0 dentro da tabela de variáveis VAT1 − Figura 18.

Figura 18: WinLC-RTX e Tabela de Variáveis S7 correspondente Agora a caixa azul deve ser movida entre Sensorl e Sensor2 na correia.

• Passo 6 - Manipule entradas do PLC durante a cossimulação Durante a cossimulação, os sensores B1 e B2 podem ser manipulados, pressionando os interruptores On/Off do Sensor B1 e/ou Sensor B2. Ao pressionar o interruptor On/Off do SensorB1 ou SensorB2, uma falha dos sensores será simulada e a caixa cairá na extremidade da correia. O modo de câmera lenta da correia pode ser ativado/desativado através da definição do bit de entrada EB1.1 dentro da tabela de variáveis VAT1 − consulte a tabela de símbolos S7 na Figura 18.

Tutorial 16 – Interface OPC em SimulationX Objetivo O SimulationX fornece uma interface que permite a troca de dados entre um modelo SimulationX e itens de dados OPC de um servidor OPC. Os itens de dados OPC têm um tipo e são organizados em grupos. Os Servidores, grupos e itens são identificados por nomes.

• Inicialização Virtual • Modelos físicos de plantas SiL ou HiL para • Técnicas equipamento controlado PLC

PLC da mesma • Código fonte durante o processo completo de projeto

do risco de • Minimização desenvolvimento de dados com • Troca sistemas de automação industrial

de conectividade •  Interface padronizada aberta (OPC)

O pacote de OPC de SimulationX contém tipos para a recepção de dados OPC (OPCReceiver), envio de dados do OPC (OPCSender) e modelos de exemplo.

Definindo conexões para itens OPC

O receptor e o emissor podem lidar com vários itens de um grupo OPC. Eles precisam do nome do servidor e do nome do grupo para estabelecer a conexão com o grupo OPC no servidor. Os seguintes parâmetros de emissor e receptor definem a conexão aos elementos do grupo: nData ... Número de itens a serem manuseados opc_names [nData] ... Vetor com os nomes de itens opc_types [nData] ... Vetor de tipos de itens O comprimento de opc_names e opc_types deve ser igual a nData. Os nomes e os tipos dos itens devem coincidir com as configurações dos itens no servidor. O exemplo seguinte acessa dois itens de “MeuGrupo” em “MeuServidor”: opc_server = “MeuServidor” opc_group = “MeuGrupo” nData = 2 opc_names = {“PrimeiroItem”, “SegundoItem”} opc_types = {OPCType.bool, OPCType.integer} 76

dinâmico de • Número dados trocados do código • Exportação disponível

Tutoriais do SimulationX

77

Intercâmbio de dados

Os dados vetoriais do OPCReceiver contêm os valores recebidos dos itens do servidor OPC. O comprimento dos dados é igual ao número de itens (nData). Outros elementos do modelo podem usar esses valores, fazendo referência a elementos do vetor de dados. Os dados vetoriais do OPCSender contêm as referências a valores no modelo SimulationX que devem ser enviados para itens do servidor OPC. O comprimento dos dados tem de ser igual ao número de itens (nData).

Tempo de simulação e tempo real

Os servidores OPC estão trabalhando em tempo real, mas o SimulationX executa o cálculo de simulação o mais rápido possível. Para modelos simples, o cálculo do tempo real pode ser menor do que o intervalo de tempo simulado. É possível diminuir o tamanho máximo do passo (dtMax), a fim de aumentar o tempo de cálculo real.

Interface OPC e modelo executável Codeexport

Se você quiser usar o codeexport para modelos com OPCSenders ou OPCReceivers, então deve copiar OPCClient.dll para o caminho do projeto e adicionar a biblioteca cliente OPC ao projeto de exportação de código.

Figura 1: Pós-Processamento de Code Export

Tutorial Este tutorial descreve como um modelo SimulationX pode ser conectado a um servidor OPC. O Servidor de Simulação MatrikonOPC é usado como servidor OPC. Você pode obtê-lo a partir de http://www.matrikonopc.com gratuitamente.

Tutorial 16 – Interface OPC em SimulationX 

78 1.1. Configurando o SimulationX

Para instalar o pacote OPC, você tem que extrair o arquivo iti_opc.zip para uma pasta do caminho de procura Modelica. Você pode verificar o caminho de pesquisa Modelica nas opções de SimulationX.

Figura 2: Configuração do caminho de pesquisa Modelica e do caminho de pesquisa de função externa

A interface OPC usa funções externas em OpcClient.dll. Você vai encontrar OpcClient.dll na subpasta “Funções Externas” do arquivo extraído. Adicione esta subpasta à lista de diretórios de funções externas em SimulationX. 1.2. Configurando o OPCServer Matrikon

Depois de instalar o OPCServer Matrikon você deve iniciar o MatrikonOPC Explorer.

Figura 3: MatrikonOPC Explorer  O explorador lista todos os servidores OPC instalados em seu PC. Selecione o servidor com o nome Matrikon.OPC.Simulation.1 e conecte-se a ele. Agora você pode adicionar seus próprios grupos e itens OPC ao servidor. No diretório de exemplos OPC, você vai encontrar um arq uivo de configuração (OPCTutorial.xml), que acrescenta os itens necessários ao tutorial.

Tutoriais do SimulationX

79

Após abrir o arquivo XML, o servidor OPC deve ter os dois grupos: “ServerInputs” e “ServerOutputs”. Cada um destes grupos contém um item para cada tipo de dados suportado (Boolean, Int2, Int4 Real4, Real8). Não feche o Explorer MatrikonOPC a fim de manter o funcionamento do servidor OPC. 1.3.

Criação do modelo SimulationX

Primeiro crie um novo modelo e adicione um OPCSender e um OPCReceiver. Renomeie o OPCSender para opc  _s e o OPCReceiver para opc  _r. 1.1.1 Definição da conexão com grupo OPC

Ajuste os seguintes parâmetros para definir a conexão aos grupos OPC do servidor OPC selecionado. opc_r: opc_server: “Matrikon.OPC.Simulation.1” opc_group: “ServerOutput” opc_s: opc_server: “Matrikon.OPC.Simulation.1” opc_group: “ServerInput” Agora opr  _r pode receber dados de todos os itens do opc_group “ServerOutput” e ocp_s pode enviar para todos os itens em “ServerInput”. O OPCSender e o OPCReceiver podem fazer referência ao mesmo grupo, mas eles não devem usar os mesmos itens. 1.1.2 Definição da conexão com itens OPC

Figura 4: Troca de

dados entre o OPCServer e o SimulationX

Neste tutorial nós queremos receber um valor (aleatório) gerado a partir do item OPC “Random. Int4” e enviar uma curva senoidal para o item OPC “BucketBrigade.RecvInt4”. A imagem a seguir mostra os parâmetros de opc  _ r :

Figura 5:

Parâmetros do OPC Receiver opc_r 

Tutorial 16 – Interface OPC em SimulationX 

80

O parâmetro nData define o número de itens a serem recebidos do servidor OPC. Os vetores opc_names e data_types devem corresponder a nomes de itens e tipos de itens no servidor OPC. Escreva o vetor data_types à mão. A caixa combo não define o vetor de valores necessário. Para ver os dados recebidos, você deve habilitar o protocolo de atributos nos dados de resultado e adicionar uma janela de resultados. O quadro a seguir mostra os parâmetros de opc_s:

Figura 6: Parâmetros do Transmissor OPC opc_s Os transmissores OPC têm os mesmos parâmetros que os receptores OPC para identificar os itens OPC, mas os dados de parâmetro contêm os dados a serem enviados. 1.1.3 Ajustar as configurações de simulação

Depois de conectar os itens OPC podemos começar a simulação. Se todas as configurações estiverem certas, então a simulação deve ser executada sem qualquer mensagem de erro. A janela de resultados deve mostrar curva (aleatória) semelhante à curva na imagem.

Figura 7: Dados recebidos a partir do item OPC “Random.Int4” Mas o tempo de cálculo é muito curto para ver os dados enviados pelo SimulationX ao explorador OPC Matrikon. Para ver as alterações no explorador OPC, temos que abrandar o cálculo em SimulationX definindo um menor tamanho para o passo máximo (por exemplo, 1e-005 s). Organize as janelas do Explorer MatrikonOPC e do SimulationX lado a lado, selecione o grupo OPC “ServerInput” no Explorer MatrikonOPC e inicie a simulação em SimulationX. Agora você pode verificar as alterações de dados do item “Bucket Brigade.RecvInt4” no Explorer MatrikonOPC. O item recebe os dados do transmissor OPC opc_s durante a simulação em SimulationX.

Tutorial 17 – Introdução ao Modelica® Edition Objetivo Este tutorial fornece uma introdução ao SimulationX Modelica Edition, explicando os primeiros passos, desde abrir modelos e pacotes existentes até a modelagem, incluindo a interpretação dos resultados. Para uma melhor ilustração do processo, um oscilador de massa simples será construído usando elementos da Biblioteca-Padrão Modelica.

arquivos e pacotes • Abrindo Modelica

Fluxo de trabalho

editável Modelica •  Código criado automaticamente

Os passos que se seguem devem ser realizados • Conheça a interface gráfica do usuário de SimulationX • Exemplos abertos da Biblioteca-Padrão Modelica • Crie um modelo simples de um oscilador de uma massa • Execute uma simulação e analise os resultados • Abra o modelo gerado

com • Modelagem biblioteca-padrão Modelica

de análise • Possibilidades versátil

Interface Gráfica do Usuário A Figura 1 mostra a interface gráfica do usuário de SimulationX incluindo diferentes vistas, janelas e gestores. Ao contrário de outras ferramentas do Modelica, a GUI é totalmente personalizável para que você possa decidir onde e quando vistas e janelas devem ser visíveis. As vistas podem ser ativadas através do menu View.

Figura 1: Interface gráfica de usuário personalizável de SimulationX 81

Tutorial 17 – Introdução ao Modelica® Edition

82

Exemplos com a Biblioteca-Padrão Modelica Para abrir um dos exemplos da biblioteca-padrão Modelica na Vista Diagrama, clique com o botão direito do mouse sobre o exemplo desejado e selecione Open Diagram View , como visto na Figura 2.

Figura 2: Abra um exemplo da Biblioteca-Padrão Modelica Com a ajuda das configurações da Barra Biblioteca, você pode definir suas ações-padrão específicas. Com isso, é possível abrir exemplos Modelica como modelos SimulationX através de duplo clique, como você pode saber a partir de Dymola ®. Além disso, você pode decidir se o nome ou comentário do modelo ou até mesmo ambos serão exibidos na árvore de biblioteca.

Criação de um modelo simples Para a criação do modelo de oscilador de uma massa, você precisa organizar os três elementos, Mass, SpringDamper  e Fix da biblioteca-padrão Modelica na Vista Diagrama. Portanto, basta arrastar e soltar os elementos de Mechanics.Translational.Components  na Vista Diagrama.

Figura 3: Organize os elementos mecânicos na vista do modelo

Tutoriais do SimulationX

83

A definição das propriedades e parâmetros da massa deslizante deve ser realizada em três passos: 1. Abra a janela de propriedades através de duplo clique no elemento 2. Defina a massa na guia Parameters para 100 kg 3. Alterne para a guia General  e mude o nome para Massa ... como pode ser visto na Figura 4.

Figura 4: Definição dos parâmetros do elemento Massa O próximo passo é definir as propriedades e parâmetros do amortecedor de mola. Assim, a constante de mola e a constante de amortecimento devem ser definidas incluindo as respectivas quantidades específicas. 1. Abra a janela de propriedades do elemento springDamperl 2. Abra a janela Attribute e altere a quantidade com a ajuda do menu drop-down para Linear Stiffness . Defina o valor para 10000 N/m. Quantidades equivalentes podem ser escolhidas através do menu drop-down 3. Defina a quantidade da constante de amortecimento para Linear Damping , com o valor de 100 Ns/m 4. Altere o nome do elemento para AmortecedorMola

Figura 5: Edição do AmortecedorMola

Tutorial 17 – Introdução ao Modelica® Edition

84

O elemento fixed1 é editado da seguinte forma: 1. Gire o elemento, clicando na seta vermelha e movendo o mouse com o botão do mouse

pressionado 2. Mude o nome para Restricao

Antes de conectar os elementos, é útil rotular os pinos através do menu View  > Pin Labels . Depois, as ligações podem ser desenhadas clicando no botão esquerdo do mouse no pino flange_b do elemento Massa e movimentando o mouse com o botão pressionado para flange_a do elemento  AmortecedorMola.  AmortecedorMola e Restricao são ligados da mesma maneira. Finalmente, é necessária uma fonte para ativar o sistema mecânico. Escolha o elemento ConstantForce  em Mechanics.Translational.Sources, defina seu parâmetro Nominal Force  para 10 kN e mude seu nome para Forca. Para alterar a quantidade indicada do parâmetro, use o menu drop-down no lado direito da janela Property. Agora o modelo do oscilador de uma massa está terminado e pronto para a simulação.

Figura 6: Página Geral do TypeDesigner 

Visualização do código Modelica Um novo recurso do SimulationX 3.3 é a opção Text View, que lhe permite editar o Código Modelica. Abra a Text View pelo botão direito na aba da Diagram View e selecione New Text View . Uma segunda vista chamada Model1*: 2 mostra o código Modelica do modelo. Ao contrário de Dymola®, o SimulationX fornece a exibição paralela tanto da Diagram como da Text View, clicando em uma das abas e selecionando New Vertical Tab Croup. Os passos principais são mostrados na Figura 7 e o resultado na Figura 8.

Figura 7: Crie a Text View do modelo

Tutoriais do SimulationX

85

Figura 8: Diagram View e Text View do modelo

Para uma simples demonstração da possibilidade de modelagem textual, vamos girar o elemento Restricao. Portanto, basta alterar o ângulo de rotação da anotação de localização de 90 para 0 graus, como mostrado na Figura 9. Depois de clicar na Diagram View, a rotação no sentido horário do elemento Restricao é visível.

Figura 9: Modificação do código Modelica

Tutorial 17 – Introdução ao Modelica® Edition

86

Salvando o modelo Ao salvar o seu modelo, você pode escolher entre três tipos de arquivo: o SimulationX Model  (*.ism), o SimulationX Project  (*.isx) e Modelica File  (*.mo) através de um menu drop-down. Se você salvar como *.ism ou *.isx-File, os modelos são salvos incluindo todos os dados, comentários e resultados, mas há várias opções para reduzir o espaço em disco necessário, por exemplo, salvando o modelo sem resultados ou compactando-os (Figura 10).

Figura 10: Opções de salvamento

Simulação e análise O primeiro passo é definir os parâmetros para a simulação de transitórios. Portanto, clique com o botão esquerdo no Property Dialog e defina o Stop Time tStop para 10 segundos.

Figura 11: Definição dos parâmetros de simulação

Tutoriais do SimulationX

87

A fim de economizar espaço, os resultados não são identificados automaticamente. Em vez disso, você os escolhe explicitamente antes de iniciar a simulação. Portanto, selecione o elemento Massa na Diagram View e ative o protocolo de atributos da velocidade absoluta v   no Model Explorer. Depois, clique com botão direito no elemento Massa e selecione Results(transient) absolute velocity of component v , como mostrado na Figura 12. A janela de resultado que mostra a velocidade v da Massa como uma função de tempo será exibida.

Figura 12: Selecione os resultados Para adicionar um segundo resultado, ative o protocolo de atributos de absolute position of the center of component s no Model Explorer e abra a Janela de Resultados arrastando e soltando o botão de ativação para a Vista de Estrutura. Para exibir ambos os resultados em uma janela comum, basta arrastar e soltar a quantidade de saída s – Massa na Janela de Resultados de v – Massa e ajustar o tamanho da janela.

Tutorial 17 – Introdução ao Modelica® Edition

88

Figura 13: Pronto para a simulação incluindo resultados de velocidade e posição Agora, o modelo pode ser simulado. Inicie a simulação usando o ícone de início da barra de ferramentas pressionando F5 ou use o menu Simulation > Start. Depois de ter terminado a simulação, informações detalhadas sobre o tempo de computação, passos calculados etc. são exibidos na janela de saída (Figura 14).

Figura 14: Simulação concluída com êxito

Análise Para exibir as duas grandezas de saída em um gráfico, selecione s – Massa e arraste-o para o gráfico da velocidade v – Massa. Clicando com o botão esquerdo em Options > Properties > Tab: Y-Axes > Common Axes, você pode exibir características dos eixos comuns.

Tutoriais do SimulationX

89

Para indicar a velocidade absoluta da Massa como uma função de sua posição, clique em Options > y(x)-Chart  e altere os eixos. As parcelas descritas são mostradas na Figura 15.

Figura 15: Diferentes opções de gráficos y(t) e y(x) No menu View > Measure Bar  você pode medir todos os tipos de gráficos clicando com o mouse.

Figura 16: Opções de medidas

Abrindo Modelos Em SimulationX você tem duas opções para abrir modelos. O método mais óbvio é através do menu File > Open ou do símbolo pasta. Uma segunda opção é arrastar o arquivo a partir do Windows Explorer para a Vista Diagrama do SimulationX. Um fato que ambas as opções têm em comum é que o modelo é aberto na mesma vista que ele foi salvo, incluindo todas as janelas de resultados.

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW  Objetivo LabVIEW da National Instruments é um ambiente de programação gráfica para o desenvolvimento de sistemas sofisticados de medida, teste e controle. Oferece integração com milhares de dispositivos de hardware e fornece centenas de bibliotecas built-in para análise avançada e visualização de dados − tudo para a criação de instrumentação virtual. O LabVIEW Control Design and Simulation Module pode ser usado para construir e simular modelos dinâmicos de controladores e plantas. Este tutorial demonstra como modelos SimulationX podem ser exportados para o LabVIEW. Mostramos passo a passo a criação do modelo SimulationX, a exportação utilizando o SimulationX Code Export Wizard, e explicamos como usar esse modelo dentro do LabVIEW Control Design and Simulation Module. Supõe-se que o leitor está familiarizado com a funcionalidade básica tanto do SimulationX como do LabVIEW. Para uma introdução ao SimulationX, por favor, consulte o “Tutorial 1: Introdução” e o “Tutorial 2: Unidade de cilindro hidráulico”. Os módulos de software a seguir são necessários para resolver o exercício deste tutorial: • SimulationX (inclui uma licença válida para o Code Export Target “LabVIEW Control Design and Simulation”) • NI LabVIEW (inclui uma licença válida para o Control Design and Simulation Module) • Microsoft Compiler (por exemplo, o Microsoft Developer Studio Express Edition, gratuito)

Exportação de modelos para Nl LabVIEW – Para que pode ser utilizada? A interface NI LabVIEW de SimulationX pode ser usada para implementar modelos de simulação complexos e dinâmicos, criados em SimulationX, no ambiente LabVIEW, para análise de sistemas e projetos de controle adicionais. O SimulationX fornece um grande número de elementos predefinidos em diferentes domínios físicos para criar modelos detalhados de simulação com base física. Usar esses modelos dentro do LabVIEW permite: • Teste de controladores LabVIEW utilizando modelos de plantas do SimulationX (Software-in-the-Loop - SiL) • Implantação de controladores em tempo real utilizando o LabVIEW Real Time para testes Hardware-in-the-Loop (HiL) • Criação de interfaces gráficas de usuário em torno de modelos SimulationX 90

físicos detalhados • Modelos para LabVIEW necessário o LabVIEW • ÉControl Design and Simulation Module

de controladores de • Teste LabVIEW em circuito fechado com modelos físicos detalhados de SimulationX

em tempo • Implantação real para aplicativos HiL de usuário final • Aplicativos usando modelos SimulationX sem programação

Tutoriais do SimulationX

91

• Integração de modelos SimulationX em aplicações de usuários finais:

Aplicativos de simulação para não especialistas Aplicativos de medição e de análises Controle preditivo do modelo • Análises de modelos SimulationX usando funções de análise NI LabVIEW   

Exemplo Sobre a base do modelo de exemplo CylinderDrive.ism do SimulationX o processo de exportação expor tação será demonstrado. Um modelo baseado em física de um acionamento de cilinci lindro hidráulico será exportado para o LabVIEW. O controlador e a excitação da unidade de cilindro serão modelados em LabVIEW. O modelo pode ser encontrado em SimulationX via menu “Help - Sample Browser ...”. Use o Sample Browser para selecionar s elecionar Hydraulics  e abrir o exemplo CylinderDrive.ism . Depois de abrir o modelo em SimulationX, o Sample Browser pode ser fechado.

Figura 1: Modelo de

amostra CylinderDrive.ism do SimulationX

Primeiro salve o modelo em seu diretório de trabalho usando um nome diferente, por exemplo C: \ Usuários \ ... \ Documentos \ SimulationX 3.3 \ Modelos\CylinderDrive_to_  LabVIEW.ism \ através do menu “File - Save as ...”. Os seguintes passos devem ser feitos para converter o modelo em um estado que está mais relacionado com o comportamento de um verdadeiro acionamento de cilindro. • Elimine elementos ajusteCurva, soma e controladorPID. • O sensor de deslocamento tem que ser substituído por um elemento sensor de Mechanics. Linear Mechanics.Sensor.

Figura 2: Sensor

substituído na haste do êmbolo do acionamento de cilindro

92

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

• O modelo nesta fase não inclui o tubo ou linha de mangueira de conexão entre a válvula

de controle e o cilindro. Para considerar, pelo menos, o volume de fluido incluído e a elasticidade da parede dos tubos, adicione dois elementos de volume (Library: Hydraulics. Basic Elements.Volume) Elements.Volume) entre as portas do cilindro e as portas da válvula. O volume pode ser calculado dentro do parâmetro V do Elemento de volume. Supõe-se um comprimento de tubo de 0,5 m, um diâmetro interior de tubo de 12 mm e uma capacidade de parede estimada de 50 mm3/bar. A caixa de diálogo de parâmetros do volume vA é mostrada na Figura 3.

Figura 3: Caixa de diálogo de Propriedades do volume vA

• Reinicie a posição inicial x0 de massa1 para o valor padrão 0. ( Library: Signal Blocks.Function) e nomeie-a ValveInput. • Adicione um bloco de função (Library:

Este bloco de função será usado para testar o modelo no interior de SimulationX e depois servirá como entrada para o sinal de controlador no LabVIEW. A Figura 4 mostra a estrutura do modelo após as modificações anteriores.

Figura 4: Teste do acionamento de cilindro hidráulico

Tutoriais do SimulationX

93

Dependendo da nova tarefa de aplicação em LabVIEW, o modelo pode ser simulado com diferentes solucionadores. Se o modelo deve ser calculado com um solucionador LabVIEW de passo fixo, ele deve ser testado em SimulationX com um solucionador de passo fixo também. Um ponto crítico nesse sentido é o caso em que o êmbolo vai para os batentes de extremidade do cilindro. Isto é devido ao fato de que o modelo se torna rígido, nesse ponto de operação. Os passos seguintes devem ser dados para realizar este teste: Inicialmente,, selecione o solucionador de passo fixo usando o menu “Simulation • Inicialmente Transient Settings ...”, guia “Solver”.

Figura 5: Controle de Simulação - Solucionador 

• Altere as configurações de tamanho do passo de acordo com a figura a seguir.

Figura 6: Controle de Simulação - Geral

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

94

• Para levar o pistão a ambos os batentes, em primeiro lugar carregue a porta esquerda do

cilindro com pressão, seguido por outra porta posteriormente. Portanto, a válvula proporcional tem de ser conduzida primeiro com um sinal de entrada negativo e depois com um positivo. Digite a instrução “ if time > 0.5 then 1 else -1” para o parâmetro F do bloco de função ValveInput. • Execute a simulação. • Os resultados de simulação para o curso do êmbolo e as pressões da câmara de cilindro são mostrados na Figura 7 e na Figura 8. mm

xPiston - diffCylinder1

220 200 180 160 140 120 100 80 60 40 20 0 s

-20 0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Figura 7: Resultados de Simulação do Curso do Pistão pA - cilindroDif1 bar

pB - cilindroDif2

140

120

100

80

60

40

20 s

0 0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Figura 8: Resultados da Simulação das Pressões da Câmara A e da Câmara B A fim de verificar a correção dos resultados, o modelo deve ser simulado usando tamanhos menores de passo ou um dos solucionadores de tamanho variável do SimulationX. Para usar a entrada de pinos x de ValveInput no LabVIEW como entrada do modelo, o enunciado “if time > 0.5 then 1 else -1 ” tem que ser substituído pelo termo “ self.x”, que atribui a saída y à entrada x.

Tutoriais do SimulationX

95

• Exportação do Código-C Para exportar o modelo, abra o Code Export Wizard através do menu “ Export-C-Code”. Na primeira página, selecione LabVIEW Control Design & Simulation como tipo de projeto, digite um nome de projeto e selecione um diretório de destino:

Na página seguinte, selecione as entradas que estarão disponíveis em LabVIEW

Na página seguinte, selecione as saídas.

96

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

Para acessar os parâmetros do modelo após a exportação, selecione propDirValve43.D e pressure.pSrc como parâmetros na próxima página do assistente.

Passando à página do assistente, o compilador SimulationX Modelica simplifica o modelo e gera o código-C no diretório de destino.

Tutoriais do SimulationX

97

Na página de Pós-Processamento, a DLL que fará a importação para LabVIEW deve ser compilada pressionando o botão “ Build”.

Se a caixa de lista do compilador está vazia no seu computador, instale um dos seguintes compiladores Microsoft: • Microsoft Visual C/C + + 6 • Microsoft Visual C/C + + 2003, 2005, 2008, ou 2010 • Microsoft Visual C/C + + Toolkit 7.0 (grátis) • Microsoft Visual C/C + + 2008 Express Edition (grátis) Como alternativa, abra o arquivo de projeto gerado CylinderDrive_LabVIEW.dsw no diretório de destino e compile a DLL diretamente no seu Developer Studio da Microsoft. Agora estamos prontos para incorporar o modelo exportado em um LabVIEW VI.

Incorporando o modelo exportado dentro do LabVIEW  1. Abra o LabVIEW 2. Crie um novo VI (menu » File » New VI)

Figura 9: Caixa de Diálogo de introdução do LabVIEW

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

98 3. 4. 5. 6.

CylinderDrive_Simulation.vi Abra Menu»View »Functions Vá para Control Design and Simulation» Simulation Selecione Control & Simulation Loop e transfira-o para o Diagrama de Blocos Salvar como

Figura 10: Control&Simulation Loop Implementado 7. As configurações do Solucionador, como o método de solução usado, tamanhos de passo

e tempo de simulação final podem ser alteradas na caixa de diálogo de parâmetros da malha de controle de simulação (clique duplo na caixa superior esquerda). No nosso exemplo, o método de solução é alterado para o método solucionador de Runge-Kutta 4 de passo fixo. O tamanho do passo é reduzido a 5e-4 seg e o parâmetro Tempo Final é definido como 1 seg. Feche a caixa de diálogo de Parâmetros de Simulação com OK.

Figura 11: Caixa de Diálogo de Parâmetro de Simulação

Tutoriais do SimulationX

tamanho do bloco, porque alguns blocos devem ser colocados no laço Control&Simulation. 9. Insira um External Model de Control Design and Simulation » Simulation » Utilities. 8.

Aumente  o

99

Figura 12: Modelo Externo Adicionado 10. Selecione a DLL exportada de SimulationX.

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

100 11.

Mude Icon Style para Express para mostrar os nomes de entrada e de saída do modelo externo.

12. Criando o controlador 

Para controlar o acionamento do cilindro, um Controlador PIDT1 deve ser implementado. O controlador será criado utilizando elementos básicos fornecidos pelo LabVIEW. Entrada 1 Soma de Control Design and Simulation » Simulation » Signal Arithmetic

Conecte a saída sensor1.x do modelo externo com a entrada negativa do elemento Soma

(continua)

Tutoriais do SimulationX

101

(continuação) Crie um Controle para o valor estabelecido no pino de entrada positivo do elemento Soma, renomeie-o como SetValue

Insira um Bloco Transfer Function para Controller Dynamics: PT1 Transfer Function com constante de tempo 0,5ms (a1  0,005) e b0 -1 de Control Design and Simulation » Simulation » Continuous Linear Systems =

=

Insira 3 elementos de Multiplicação de Control Design and Simulation » Simulation » Signal Arithmetic

Insira um elemento Derivador e um Integrador de Control Design and Simulation » Simulation » Continuous Linear Systems

Insira 3 elementos de Controle para Controller parameters Gain, Derivative Time e Integrating Time Insira uma carta SimTimeWaveform para mostrar os resultados do SimulationX de snsor1.x. Renomeie-o como Displacement

102

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

13. Ajustando os valores padrão aos controles

• Clique com o botão direito do mouse em SetValue no Front Panel • Selecione Data Operations >> Make Current Value Default

Tutoriais do SimulationX 14. Configuração do formato da apresentação no gráfico Displacement

• Clique com o botão direito do mouse em Displacement Chart, Properties

15. Execute o VI (Menu>>Operate (Menu>>Operate>>Run) >>Run)

Figura 13: Front Panel CylinderDrive_LabVIEW.vi

103

104

Tutorial 18 – Exporte Modelos SimulationX para NI LabVIEW

Estudos de Variantes em LabVIEW 

Agora o LabVIEW pode ser usado para analisar o modelo com diferentes ajustes de parâmetros. Para isto, executamos o modelo com diferentes parâmetros parâ metros de Ganho, por exemplo, 10, 100 e 200.

Figura 14: Resposta do curso do pistão do acionamento do cilindro a um passo de 0,1m (Ganho  10) =

Figura 15: Resposta do curso do pistão do acionamento do cilindro a um passo de 0,1m (Ganho  100) =

Tutoriais do SimulationX

105

Figura 16: Resposta do curso do pistão do acionamento do cilindro a um passo de 0,1m (Ganho  200) =

Resumo

Finalmente, vamos retomar alguns pontos sobre os benefícios deste tutorial • Você aprendeu como exportar um modelo SimulationX usando o Assistente de Exportação de código. Entradas, saídas e parâmetros que devem estar disponíveis no LabVIEW podem ser selecionados no Code Export Wizard. • Foi salientado que um modelo que vai ser exportado deve ser testado para resultados corretos dentro do SimulationX antes de iniciar a exportação do código. Demonstramoss como importar e utilizar esse modelo para o LabVIEW utilizando o • Demonstramo Control Design and Simulation Module. • Você sabe como adicionar controles e indicadores no LabVIEW para fazer uma simulação variante interativa.

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand Objetivo VeriStand da National Instruments é um ambiente de software para gerar testes e aplicações hardware-in-the-loop (HIL) em tempo real. É possível importar algoritmos de controle, modelos de simulação e outras tarefas do software NI LabVIEW ou de outros ambientes como SimulationX. Este tutorial demonstra como modelos SimulationX podem ser exportados para VeriStand. Mostramos passo a passo a criação do modelo de SimulationX, a exportação utilizando o SimulationX Code Export Wizard e explicamos como usar esse modelo dentro do VeriStand. Supõe-se que o leitor esteja familiarizado com a funcionalidade básica tanto do SimulationX como do VeriStand. Para uma introdução ao SimulationX, consulte o “Tutorial 1: Introdução” e “Tutorial 2: Unidade de Cilindro Hidráulico”. Os módulos de software a seguir são necessários para executar este tutorial:

• SimulationX incluindo uma licença válida para o Code Export Target “NI VeriStand / LabVIEW Simulation Interface” • NI VeriStand 2010 • Microsoft Compiler (por exemplo, o Microsoft Developer Studio Express Edition, gratuito)

Exportação de Modelo para NI VeriStand – Para que pode ser utilizada? A interface NI VeriStand de SimulationX pode ser usada para implementar modelos de simulação complexos e dinâmicos, criados em SimulationX para o ambiente VeriStand para posterior análise de sistemas e simulações hardware-in-the-loop (HIL) em tempo real. O SimulationX fornece um grande número de elementos predefinidos em diferentes domínios físicos para criar modelos de simulação com base física detalhada. O uso desses modelos dentro de VeriStand permite:

• Teste em tempo real de elementos de hardware reais (por

exemplo, controladores) utilizando modelos de plantas SimulationX (Hardware-in-the-Loop - HiL) • Teste em tempo real de novo código de controlador usando modelos de plantas SimulationX (Software-in-the-Loop-SiL) • Criação de interfaces gráficas de usuário sobre modelos SimulationX com espaços de trabalho VeriStand 106

físicos detalhados • Modelos para NI VeriStand em tempo • Implantação real para soluções HIL e RCP

gráfica facilitada • Geração do modelo e Code-Export Wizard amigável

para usuário • Aplicativos final usando modelos SimulationX sem programação

Tutoriais do SimulationX

107

Exemplo Com base no exemplo de modelo CylinderDrive.ism do SimulationX, o processo de exportação será demonstrado. Um modelo baseado em física de um acionamento de cilindro hidráulico será exportado para VeriStand. O modelo pode ser encontrado em SimulationX pelo menu “ Help - Sample Browser...”. Use o navegador de exemplo para selecionar Hydraulics e abrir o exemplo CylinderDrive.ism. Depois de abrir o modelo em SimulationX, o Sample Browser pode ser fechado.

Figura 1:

Modelo de exemplo de CylinderDrive.ism em SimulationX

O exemplo consiste no modelo da pla nta do acionamento de cilindro hidr áulico e um con trolador PID. Normalmente, em aplicações HIL, as entradas e saídas elétricas de um controlador real existente estão conectadas ao hardware de E/S do alvo em tempo real. Neste exemplo do tutorial não queremos usar qualquer hardware, portanto, dividimos o modelo em duas partes e criamos dois modelos, que serão exportados para VeriStand separadamente:

• •

O modelo do controlador (parte de sinal do exemplo de modelo) O modelo de planta (parte hidráulica e mecânica do exemplo de modelo)

Depois de exportá-los para VeriStand, vamos conectar os dois modelos através de mapeamento de sinal da mesma forma que um modelo de planta seria ligado aos sinais de hardware de E/S. Então, primeiro execute os seguintes passos para criar o modelo de controlador:

• • •

Elimine todos os elementos no exemplo de modelo , exceto de setCurve, soma e PIDController (veja a Figura 5) Substitua o elemento PIDController  por um controlador PIDT1 de SignalBlocks.Linear. PIDT1 e nomeie-o Controlador Altere os parâmetros do controlador, como mostrado na Figura 2

108

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 2: Caixa de diálogo de Propriedades do elemento controlador PIDT1

• Substitua o elemento curva setCurve por um bloco de função e denomine-o setValue. • Mude o valor F: de setValue para self.x na Figura 2.

Figura 3: Caixa de diálogo de Propriedades do elemento função setValue

• Altere as configurações de tamanho de passo mínimo ( dtMin = 5e-4 s) e o tempo de

parada (tStop = 1 s) de acordo com a figura a seguir no controle de simulação “Simulation -Transient Settings...” na guia General. O tamanho do passo mínimo dtmin = 5e-4 s é o tamanho do passo de integração interno utilizado pelo solucionador exportado de passo fixo durante a computação em VeriStand. O tamanho do passo mínimo de saída tem de ser equivalente à Target Rate em VeriStand, então vamos mudar esse parâmetro mais tarde no projeto VeriStand.

Tutoriais do SimulationX

109

Figura 4: Controle de Simulação – Geral

• Salve o modelo no diretório de trabalho usando um nome diferente, por exemplo, CylinderDrive_Controller.ism através do menu “ File - Save as ...”.

A Figura 5 mostra a estrutura do exemplo do controlador de modelo, após essas modificações anteriores.

Figura 5: Modelo do controlador  Abra um segundo exemplo de modelo do acionamento de cilindro (“ Help - Sample Browser ...”) e siga os passos a seguir para criar o modelo da planta do acionamento de cilindro:

• Elimine os elementos setCurve, soma e PIDController . • O sensor de deslocamento tem que ser substituído por um elemento sensor de Mechanics.Linear Mechanics.Sensor.

110

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 6: Sensor substituído na haste do êmbolo do acionamento de cilindro

• O modelo nesta fase não inclui o tubo ou conexão de linha de mangueira entre a válvula

de controle e o cilindro. Para considerar, pelo menos, o volume de fluido incluído e a elasticidade da parede dos tubos, adicione dois elementos de volume (Library: Hydraulics. Basic Elements.Volume) entre as portas do cilindro e as portas da válvula. O volume pode ser calculado dentro do parâmetro V do Elemento de volume. Supõe-se um comprimento de tubo de 0,5 m, um diâmetro interno de tubo de 12 mm e uma capacidade de parede estimada de 50 mm3/bar. A caixa de diálogo de parâmetros do volume vA é mostrada na Figura 7.

Figura 7: Caixa de diálogo de Propriedades do volume vA

• Reinicie a posição inicial x0 de massa1 ao valor padrão 0. • Selecione também para este modelo um tamanho mínimo de passo dtMin de 5e-4 e um tempo de parada tStop de 1 segundo (veja a Figura 4) • Salve o modelo em seu diretório de trabalho usando um nome diferente, por exemplo, CylinderDrive_PlantModel.ism através do menu “File - Save as ...”.

Tutoriais do SimulationX

111

A Figura 8 mostra a estrutura do modelo da planta após as modificações anteriores.

Figura 8:

Acionamento do Cilindro Hidráulico - Modelo de Planta

O Assistente de Exportação de Código de SimulationX (SimulationX Code Export) gera um componente para VeriStand que contém a funcionalidade do modelo e um solucionador. A fim de apoiar o comportamento de tempo real em VeriStand, um solucionador de passo fixo é usado aqui. Então, o modelo deve ser testado em SimulationX com um solucionador de passo fixo também. Um ponto crítico neste sentido é o caso em que o êmbolo vai para os batentes d e extremidade do cilindro. Isto se deve ao fato de que o mo delo se torna rígido neste ponto de operação. Os passos seguintes devem ser dados para realizar este teste:



Inicialmente, selecione adicionar um bloco de função (Library: Signal Blocks.Function) e nomeie-o ValveInput.

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

112

Figura 9: Modelo de planta - Teste do Solucionador de Passo Fixo

• Para levar o pistão a ambos os batentes, em primeiro lugar submeta a porta esquerda do

cilindro à pressão, seguida por outra porta posteriormente. Portanto, a válvula proporcional tem de ser acionada em primeiro lugar com um sinal de entrada negativo e, mais tarde, com um positivo. Digite a declaração “ if time > 0.5 then 1 else -1”para o parâmetro F do bloco de função ValveInput. • Execute a simulação. • Os resultados de simulação para o curso do pistão e as pressões da câmara de cilindro são mostrados na Figura 10 e na Figura 11. xPistao - cilindroDif1

mm 220 200 180 160 140 120 100 80 60 40 20 0

s

-20 0

0,1

0,2

0,3

0,4

0,5

0,6

Figura 10: Resultados da Simulação do Curso do Cilindro

0,7

0,8

0,9

1

Tutoriais do SimulationX

113 pA- cilindroDif1; pB- cilindroDif1

bar 140

120

100

80

60

40

20 s

0 0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Figura 11: Resultados da simulação das pressões na câmara A e na câmara B A fim de verificar a correção dos resultados, o modelo deve ser simulado usando tamanhos menores de passo ou um dos solucionadores de tamanho variável de passo do SimulationX. Após este teste, você deve excluir o bloco de função ValveInput e salvar o modelo da planta.

• Exportação do Código C Primeiro, queremos exportar o modelo de controlador (Figura 5), então mudamos para esse modelo. Para exportar o modelo, abra o Code Export Wizard através do menu “ Export – C-Code”. Na primeira página, selecione NI VeriStand / LabVIEW Simulation Interface como o tipo de projeto, digite um nome de projeto e selecione um diretório de destino:

Figura 12: Code Export Wizard Página 1 (Projeto) - Modelo de controlador  Na página seguinte, selecione as entradas, que estarão disponíveis em VeriStand (soma.x2, setValue.x ), com um clique duplo sobre as entradas desejadas. As entradas selecionadas são exibidas na lista Selection:

114

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 13: Code Export Wizard Página 2 (Entradas) - Modelo de controlador  Na próxima página, selecione as saídas ( Controlador.y)

Figura 14: Code Export Wizard Página 3 (Saídas) - Modelo de controlador  Para acessar os parâmetros do modelo do Controlador PID após a exportação, selecione Controlador.G (ganho do controlador PIDT1) como parâmetros na próxima página do assistente:

Tutoriais do SimulationX

115

Figura 15: Code Export Wizard Página 4 (Parâmetros) - Modelo de controlador  Ao avançar para a próxima página do assistente, o compilador SimulationX Modelica simplifica o modelo e gera o código C do modelo e do solucionador de passo fixo no diretório de destino. Na página de pós-processamento, a DLL que iremos importar para VeriStand deve ser compilada pressionando o botão “ Build”.

Figura 16: Code Export Wizard Página 6 (Pós-processamento) - Modelo de controlador  Se a caixa de lista do compilador estiver vazia no seu computador, instale um dos seguintes compiladores Microsoft: • Microsoft Visual C/C++ 6 • Microsoft Visual C/C++ 2003, 2005, 2008, ou 2010 • Microsoft Visual C/C++ Toolkit 7.0 (grátis) • Microsoft Visual C/C++ 2008 Express Edition (grátis)

116

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Como alternativa, abra o arquivo de projeto gerado, CylinderDrive_Controller.dsw, no diretório de destino e compile a DLL diretamente no seu Developer Studio da Microsoft. O modelo do controlador está agora pronto para ser implementado em VeriStand, mas devemos fazer o mesmo processo de exportação para o modelo da planta de acionamento do cilindro. Portanto, mude o modelo da planta (Figura 8) e certifique-se de que o bloco de função ValveInput que foi usado durante o teste do solucionador de passo fixo (Figura 9) foi eliminado antes do processo de exportação. Inicie o Code Export Wizard para o modelo pelo menu “ Export – C-Code”. Na primeira página, selecione novamente Ni VeriStand / LabVIEW Simulation Interface como tipo de projeto, entre com um nome de projeto e selecione um diretório-alvo.

Figura 17: Code Export Wizard Página 1 (Projeto) – Modelo da planta

Na página seguinte, selecione as entradas que estarão disponíveis em VeriStand (valvulaPropDir43.y)

Figura 18: Code Export

Wizard Página 2 (Entradas)  – Modelo da planta

Na próxima página, selecione as saídas ( sensor1.x, vA.p, vB.p):

Tutoriais do SimulationX

117

Figura 19: Code Export Wizard Página 3 (Saídas) – Modelo da planta Para acessar os parâmetros do modelo do Controlador PID após a exportação, selecione pressao.pSrc (pressão da fonte de pressão) como parâmetros na próxima página do assistente.

Figura 20: Code Export Wizard Página 4 (Parâmetros) – Modelo da planta Pressione o botão “Build” na página de Pós-processamento para gerar a DLL que importaremos em VeriStand.

118

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 21: Code Export Wizard Página 6 (Pós-processamento) – Modelo da planta Agora estamos prontos para incorporar os dois modelos exportados em um projeto VeriStand.

• Incorporando o modelo exportado dentro do VeriStand Primeiro, inicie o VeriStand 2010 e crie um novo projeto CylinderDrive através do botão New NI VeriStand Project.

Figura 22:  Janela principal de VeriStand

Tutoriais do SimulationX

119

Depois disto, o explorador do projeto (Figura 24) deve abrir automaticamente. Por favor, feche-o primeiro para voltar à janela principal (Figura 22). Sob Projeto Ativo você pode ver a pasta onde todos os dados do projeto (por exemplo, o arquivo de definição do sistema) estão armazenados. Abra a pasta e copie ambos os arquivos DLL gerados, do controlador e do modelo da planta, para este local.

Figura 23: Modelos exportados na pasta de projeto do VeriStand Agora abra o explorador de projeto novamente através do botão Configure Project na janela principal do VeriStand (Figura 24).

Figura 24: Explorador de projeto do VeriStand Abra o arquivo de definição do sistema do projeto CylinderDrive com um clique duplo em CylinderDrive.nivssdf  e clique em Controlador na estrutura de árvore.

120

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 25: Explorador de sistema do VeriStand Em Target Specification você pode escolher que tipo de alvo deve ser usado em tempo real. Selecione Windows em Sistema Operacional para usar o PC como alvo em tempo real. Se você quiser usar outro alvo em tempo real (por exemplo, um controlador PXI ou um PC em tempo real) que esteja conectado com seu HOST-PC via rede, escolha PharLap como sistema operacional e digite o endereço IP do alvo. Certifique-se de que a Target Rate (em Timing Source Settings) é equivalente ao parâmetro dtProtMin do modelo SimulationX exportado. Você pode encontrar este parâmetro em SimulationX no Controle de Simulação (“Simulation – Transient Settings”, na guia General; veja a Figura 4). O tamanho mínimo do passo de saída dtProtMin é de 0,001 s; portanto, digite 1000 Hz para a Target Rate. Depois disso, clique com o botão direito sobre Simulation Models/Models na estrutura de árvore e escolha Add Simulation Model. Clique no botão de dados ao lado da caixa Path e selecione o modelo CylinderDrive.Controller.dll na janela aberta:

Tutoriais do SimulationX

121

Figura 26: Adicionar Modelo de Simulação (Add Simulation Model ) Mude para a aba Parameters and Signals da janela Add Simulation Model e ative as opções Common Import e Import all Parameters (Figura 27).

Figura 27: Ativar Importação de Parâmetros Feche as janelas com OK .

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

122

dll.

Use o mesmo processo de adição para o segundo modelo CylinderDrive.PlantModel.

Agora ambos os modelos devem aparecer na estrutura de árvore do System Explorer em Models.

Figura 28: Modelos no System Explorer  Para estabelecer a conexão de sinais entre os modelos, clique em System Mappings na estrutura de árvore e clique no botão Configure Mappings :

Tutoriais do SimulationX

123

Figura 29: Abrir Mapeamentos do Sistema Uma janela System Configuration Mappings é aberta. Para Fonte, escolha ... / Models / CylinderDrive_Controller / Outports / Controller.y; para Destino, escolha .../ Models / CylinderDrive_PlantModel / Inports / valvulaPropDir43.y e pressione o botão Connect para estabelecer a conexão. Faça o mesmo para uma segunda conexão com uma Fonte .../ Modelos / CylinderDrive_PlantModel / Outports / sensor1.x e um Destino / Models / CylinderDrive_Controller/Inports/soma.x2:

124

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 30: Mapeamentos de Configuração do Sistema (System Configuration Mappings) Feche System Configuration Mappings através de OK   e pressione o botão Refresh no Systems Explorer (Figura 29). Na lista do System Mappings você pode encontrar as duas conexões agora. Certifique-se de que o sinal sensorl.x seja mapeado com soma1.x2 e Controlador.y seja mapeado com valvulaPropDir43.y. Agora feche o explorador do sistema e abra o Workspace de projetos clicando em CylinderDrive.nivsscreen no explorador do projeto (Figura 24). Uma área de trabalho vazia é aberta. Mude para o Modo de Edição (Screen – Edit Mode):

Tutoriais do SimulationX

125

Figura 31: Modo Edição do Espaço de Trabalho (Workspace) Primeiro queremos criar um botão para controlar o valor definido do modelo de controlador. Clique na aba Workspace Controls, do lado esquerdo, para abrir a biblioteca de espaço de trabalho e colocar um elemento de seleção (Workspace Controls - Numeric Control - Dial), através da ferramenta “arrastar e soltar” na área de trabalho. A caixa de diálogo de Propriedades permanece aberta:

Figura 32: Elemento de Seleção com Espaço de Trabalho Agora clique no botão  janela do navegador:

ao lado da caixa de canal na guia General e escolha setValue.x na

126

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 33:  Janela do navegador  Mude para guia Format & Precision e digite os seguintes parâmetros:

Figura 34: Format & Precision - Seleção Feche a caixa de diálogo com OK  e mova o elemento de seleção para o canto superior esquerdo da área de trabalho. Depois disso, queremos criar um gráfico temporal do valor especificado e da posição atual do cilindro. Use o gráfico simples (Workspace Controls – Graph - Simple) e coloque-o no espaço de trabalho. Na janela Graph Channel Selection, escolha setValue.x e sensor1.x:

Tutoriais do SimulationX

127

Figura 35: Seleção do Canal Gráfico Faça as seguintes modificações na aba Format & Precision:

Figura 36: Format & Precision - Gráfico Feche a caixa de diálogo com OK  e coloque o gráfico abaixo do elemento de seleção. Coloque dois indicadores numéricos  (Workspace Controls – Numeric Indicator – Gauge) no espaço de trabalho para visualizar as pressões reais do cilindro. O canal do primeiro indicador deve ser vA.p e o canal do segundo indicador deve ser vB.p:

128

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Figura 37: Propriedades dos Itens - Indicadores Ajuste o Scale Factor em ambos os indicadores para 1e-5, de forma a apresentar as pressões em bar e não na unidade Pascal do SI (Figura 37). Coloque os dois indicadores próximos ao seletor. Mude para a aba Format & Precision e introduza os seguintes parâmetros para ambos os indicadores:

Figura 38: Format & Precision - Indicadores

Tutoriais do SimulationX

129

Depois de acabar com o modo de edição (Screen - Edit Mode) a área de trabalho deve se parecer com isso:

Figura 39: Espaço de Trabalho final Para reabrir o diálogo de propriedades você pode usar um clique com o botão direito sobre o seletor e medidores ou pressionar o botão Configurar no elemento gráfico. Feche o espaço de trabalho e o Project Explorer para voltar à janela principal do VeriStand (Figura 22).

• Simulação com VeriStand Você pode iniciar a simulação com o botão Run Project na janela VeriStand principal (Figura 22). O modelo de simulação é implantado no sistema operacional

Figura 40: Implantação do Processo Depois de fechar a janela (Figura 40), o espaço de trabalho é aberto e a simulação é iniciada imediatamente.

130

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

Mova o seletor para o valor ajustado da posição do cilindro e siga o gráfico do ajuste e da posição atual:

Figura 41: Espaço de trabalho durante a simulação A posição atual do cilindro (sensor1.x; vermelho) segue a posição ajustada (setValue.x: amarelo) com um pequeno retardo. Os indicadores visualizam a pressão nos volumes vA e vB. Abra o Model Parameter Manager (Tools - Model Parameter Manager):

Figura 42: Model Parameter Manager  Aqui todos os parâmetros do modelo importado são listados. listados . Abra a seguinte caixa de diálogo com um clique duplo no ganho do controlador G, mude-o de 10 para 2 e pressione o botão OK :

Tutoriais do SimulationX

131

Figura 43: Mudança de parâmetros de modelo Pressione o botão Apply New (Figura 42). O valor do parâmetro G do sistema muda para 2. Feche o Model Parameter Manager. Depois da mudança de parâmetros do ganho do controlador, mova o seletor para o valor ajustado novamente e siga o gráfico do ajuste e da posição real:

Figura 44: Espaço de Trabalho durante a simulação, após a mudança de parâmetro (G = 2)

Tutorial 19 – Exportação de Modelos SimulationX para NI VeriStand

132

O atraso entre a posição atual e a ajustada é agora muito maior por causa do menor ganho do controlador.

Resumo

Finalmente, vamos retomar alguns pontos sobre os benefícios deste tutorial: • Você aprendeu como exportar um modelo de SimulationX para NI VeriStand usando o Code Export Wizard. Entradas, saídas e parâmetros que devem estar disponíveis em VeriStand podem ser selecionados no Code Export Wizard. • Foi salientado que um modelo que será exportado e executado em tempo real deve ser testado com um solucionador de passo fixo para resultados corretos dentro de SimulationX antes da exportação do código. Nós tocamos neste tópico somente com relação às configurações de tamanho do passo. A capacidade de tempo real de modelos de simulação depende igualmente da sua complexidade e do desempenho do tempo real alvo. Consulte o manual do usuário de SimulationX para mais informações sobre as capacidades dos modelos em tempo real. • Demonstramos como incorporar e utilizar esse modelo em VeriStand. • Você já sabe como gerar e usar um espaço de trabalho VeriStand simples para controlar o modelo durante a execução da simulação.

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim, TruckSim Objetivo Este tutorial mostra passo a passo como modelos de SimulationX podem ser exportados para VehicleSim (CarSim, BikeSim, TruckSim). VehicleSim é um conjunto de ferramentas para a simulação eficiente de carros, caminhões e motocicletas [1]. Os modelos de SimulationX podem ser exportados usando o Code Export Wizard. A API (Application Programming Interface) [2] de VehicleSim é usada para a integração de modelos de SimulationX dentro de VehicleSim. Supõe-se que o leitor está familiarizado com a funcionalidade básica tanto de SimulationX como de VehicleSim. Para uma introdução ao SimulationX, consulte o “Tutorial 1: Introdução”. Os módulos de software a seguir são necessários para executar este tutorial: • SimulationX - inclui uma licença válida para o Code Export Target “VehicleSim (CarSim, BikeSim, TruckSim)” • VehicleSim (CarSim, BikeSim, TruckSim) Versão 8 • Microsoft Compiler (por exemplo, Microsoft Developer Studio Express Edition, gratuito)

de CarSim com • Ampliação modelos SimulationX integração de • Perfeita modelos SimulationX dentro de CarSim, BikeSim, TruckSim

programação • Nenhuma manual necessária total da • Flexibilidade modelagem SimulationX disponível em CarSim

Fluxo de trabalho Os passos que se seguem devem ser realizados: Prepare o modelo VehicleSim Prepare o modelo SimulationX  Exporte o Código do modelo SimulationX  Integração e simulação em VehicleSim Pós-processamento em VehicleSim

A exportação do modelo foi testada com CarSim. Por isso, usaremos o termo CarSim na seguinte descrição. Ela deve funcionar com BikeSim e TruckSim da mesma maneira.

133

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim,TruckSim

134

O Modelo de Exemplo Neste tutorial, vamos mostrar como o modelo SimulationX de um motor combinado com uma motorização é exportado para CarSim. O modelo é mostrado na figura a seguir.

Figura 1: Modelo

SimulationX do motor com um modelo muito simples de volante de massa dupla.

Todos os parâmetros do motor são mantidos em seus valores padrão. Os parâmetros alterados dos outros objetos do modelo são mostrados na tabela a seguir. Nome

Valor

Unidade

dms1.J dmsl.omO dms2.J dms2.omO springDamper.kind springDamper.k springDamper.b injection.F

0,02 800 (Fixo) 0,02 800 (Fixo) Mola-Amortecedor  10000 10 1

kgm2 rpm kgm2 rpm Nm/rad Nms/rad

Preparação do Modelo CarSim Primeiramente, o modelo CarSim tem que ser preparado. Temos que mudar a configuração do trem de engrenagens para substituir o modelo interno do motor pelo nosso motor SimulationX. Abra a tela powertrain em CarSim e mude para o “External engine model”, como mostrado na figura a seguir.

Figura 2: Alteração do modelo de motor Externo

Tutoriais do SimulationX

135

O diagrama de blocos muda como mostrado acima. A fim de substituir o modelo de motor, a velocidade interna do motor deve ser computada pelo modelo SimulationX e alimentada a CarSim como IMP_AV_ENG. O torque de reação do sistema de transmissão (EXP_M_EngOut) deve ser realimentado para o motor em SimulationX. Para preparar esta troca de dados, a variável IMP_AV_ENG de CarSim deve ser importada para CarSim do modelo SimulationX. Mude para a página Run Control de CarSim, clique no botão “Models” e mude para “Models: Self-Contained Solvers”.

Figura 3: Mudança para Self-Contained Solvers Crie um novo conjunto de dados, chame-o “SimulationX” e abra-o. Nesta tela, mude um dos “Misc. Links” para “I/O Channels/I/O Channels: Import:”, como mostrado abaixo.

Figura 4: Preparação da importação de variáveis Crie um novo conjunto de dados, como de costume, e adicione a variável IMP_AV_ENG à lista Active Import Variables.

136

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim,TruckSim

Figura 5: Adição da variável de importação Selecione “Replace” para o modo, como mostrado na figura acima. Se o seletor “Mode” estiver desativado, abra a Parsfile associada e faça a mudança lá. A forma como esta variável é ligada a uma saída SimulationX e como as saídas CarSim estão ligadas às entradas SimulationX é mostrada abaixo.

Preparação do Modelo SimulationX Nosso modelo de motor tem que ser alterado um pouco. Para alimentar o torque EXP_M_  EngOut, calculado em CarSim, voltando para o modelo SimulationX, adicionamos um elemento External Torque (Mechanics.Rotation.Source) ao modelo, como mostrado na figura a seguir, e o renomeamos loadTorque.

Figura 6: Modelo de motor preparado para exportar para CarSim Deixe o parâmetro T na sua configuração padrão “in1”. Deste modo, o valor do sinal de entrada “in1” é alimentado como torque de carga à linha de transmissão. Se você quiser exportar seus próprios modelos SimulationX, cuide do sinal das variáveis trocadas. Os modelos SimulationX exportados para CarSim contêm um solucionador de passo fixo (fix step solver). Antes de proceder à exportação de código, você deve testar se o seu modelo pode ser computado por um solucionador fixo e qual tamanho de passo deve ser usado. O Fixed Step Solver de SimulationX pode ser selecionado através do menu Simulation/Transient Settings/ Solver. O Min. Calculation Step Size dtMin (página General) é usado como tamanho de passo de integração para o Fixed Step Solver dentro de SimulationX e como o valor padrão para o modelo exportado para CarSim. Este tamanho de passo pode ser alterado em CarSim. O nosso modelo de tutorial funciona de forma estável com um tamanho de passo dtMin  5e–4 s. =

Tutoriais do SimulationX

137

Exportação de Código do Modelo SimulationX

Agora, o modelo pode ser exportado para CarSim. Abra o Code Export Wizard usando o menu Export/C-Code. Inicialmente, selecione “CarSim, BikSim, TruckSim component” como tipo de projeto, digite um nome de projeto e selecione um caminho de projeto, como mostrado abaixo.

Figura 7: Code Export Wizard do SimulationX Na página seguinte do assistente, você deve selecionar as entradas para o modelo SimulationX que podem ser conectadas a variáveis CarSim. Em nosso exemplo, você deve alimentar o torque EXP_M_EngOut calculado pelo CarSim como torque de carga para o nosso modelo de motor. Daí, selecione o loadTorque.ini de entrada e insira EXP_M_EngOut como nome VehicleSim.

138

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim,TruckSim

Figura 8: Seleção de entradas As entradas, que não são atribuídas a uma variável CarSim, são definidas como zero durante a execução da simulação. Em seguida, temos que selecionar as saídas. A velocidade no lado direito do nosso modelo deve ser ligada à variável de importação IMP_AV_ENG de CarSim. Selecione dms2.om como saída e digite IMP_AV_ENG como nome VehicleSim. As variáveis do modelo, que só podem ser observadas no CarSim também podem ser selecionadas. Se nenhum Nome VehicleSim é inserido, a variável é adicionada à base de dados CarSim utilizando seu identificador SimulationX. CarSim suporta strings com um comprimento máximo de 8 caracteres usando ALL CAPS (maiúsculas). Por isso, o identificador SimulationX é truncado e transformado para MAIÚSCULAS antes de ser adicionado ao banco de dados CarSim. Se um dado nome de VehicleSim não pode ser encontrado na base de dados de CarSim , a variável é adicionada usando esse nome.

Tutoriais do SimulationX

139

Figura 9: Seleção de saídas CarSim utiliza unidades básicas SI para a sua computação da mesma maneira que SimulationX. Assim, você não precisa se preocupar com conversões de unidade. Na página seguinte, podemos selecionar os parâmetros que devem ser mutáveis em CarSim. Mais uma vez, um nome VehicleSim pode ser inserido. Nós selecionamos a quantidade de injeção e alguns parâmetros do motor. Abaixo, vamos mostrar como esses parâmetros podem ser alterados em CarSim. Os parâmetros mantêm seus valores originais de SimulationX se você não alterá-los no CarSim.

140

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim,TruckSim

Figura 10: Seleção de parâmetros Quando você muda para a próxima página do Code Export Wizard, o modelo é analisado e o código C é gerado. Como último passo, temos de compilar o código gerado. Mude para a página de pós-processamento e pressione o botão Build para fazer isso. Um dos compiladores com suporte Microsoft deve ser instalado em seu computador.

Figura 11: Compilação do código gerado

Tutoriais do SimulationX

141

O resultado da compilação é um programa executável que contém todas as chamadas necessárias para as funções API de CarSim para ligar as entradas e saídas e para realizar os cálculos necessários.

Integração e simulação em VehicleSim Para integrar o executável gerado dentro de CarSim, você deve selecioná-lo como programa wrapper externo. Abra o conjunto de dados que criamos no início clicando no botão SimulationX na tela de controle de execução.

Figura 12: O conjunto de dados SimulationX Selecione “Use external wrapper program” e selecione o arquivo executável gerado pelo SimulationX, como mostrado abaixo.

Figura 13: Seleção do executável gerado como programa wrapper externo O cálculo começa como de costume, clicando em Run Math Model na página principal. Antes que a computação comece, algumas informações sobre parâmetros alterados e conexão de entradas/saídas são mostradas em uma janela do console. Essa janela é fechada por procedimento padrão após a execução da simulação. Para mantê-la aberta, digite “OPT_PAUSE 1” em “Miscellaneous settings for advanced users”.

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim,TruckSim

142

Para alterar os parâmetros, insira seus nomes seguidos dos novos valores (em unidades SI) no campo de comando de edição, como mostrado abaixo.

Figura 14: Conjunto de dados completo para a integração do modelo SimulationX dentro de CarSim.

Os parâmetros do modelo do solucionador SimulationX podem ser alterados também aqui. Nosso executável gerado adiciona parâmetros do tamanho do passo de integração (SIMX_DT) e o método de integração (SIMX_MODE) como parâmetros do banco de dados CarSim. Eles podem ser alterados como mostrado acima. O tamanho de passo de integração SimulationX deve ser menor ou igual ao de CarSim. O tamanho do passo CarSim deve ser um múltiplo inteiro do tamanho do passo de integração SIMX_DT de SimulationX. Deste modo, o modelo SimulationX pode ser calculado usando um tamanho de passo menor do que o usado pelo modelo CarSim. O parâmetro SIMX_MODE altera o método de integração utilizado da seguinte forma:

SIMX_MODE

Método de Integração

0 1 2 3 4

Euler direto ITI padrão Método de Heun TRKF23 DOPRI5

Executar a simulação após estas alterações leva aos seguintes resultados durante este processo.

Tutoriais do SimulationX

143

Figura 15: Saídas durante a execução da simulação Os parâmetros, entradas e saídas adicionados à base de dados ou atribuídos a CarSim são listados. Mensagens de acompanhamento, alerta e de erro do modelo SimulationX e estatísticas são mostrados.

Tutorial 20 – Exportação de Modelos para CarSim, BikeSim,TruckSim

144

Pós-processamento em VehicleSim

Após a simulação ser executada, as funções normais de pós-processamento (Animate, Plot) estão disponíveis. Além das variáveis de CarSim, as saídas do modelo SimulationX também podem ser traçadas. Você pode selecionar estas saídas, como de costume, na ferramenta plot.

Figura 16: Seleção da saída de torque do motor e janela de gráfico ampliada. O tamanho de passo do arquivo de saída CarSim foi ajustado para 0,001 s para aumentar a resolução dos dados representados graficamente.

Comparação entre SimulationX Code Export e Co-Simulation Além deste code export target, você pode conectar modelos SimulationX com VehicleSim usando a interface de cossimulação (veja o Tutorial 22: “Cossimulação com CarSim, BikeSim, TruckSim”). As seguintes sugestões devem ajudar a decidir qual opção é mais adequada para você:

• Utilizando o code export target, o modelo SimulationX é exportado para código C,

• •

• •

compilado e integrado com VehicleSim. Estes passos devem ser realizados cada vez que o modelo SimulationX é alterado. Em uma fase de projeto com mudanças frequentes, este modelo leva um pouco de tempo. No caso de cossimulação, o SimulationX e o VehicleSim são executados em paralelo. Assim, as mudanças de modelo em SimulationX podem ser feitas como de costume. Não há sobrecarga de tempo devido à exportação de código e compilação. Além disso, o pós-processamento em SimulationX pode ser feito como de costume, fazendo cossimulação. Você tem acesso a todos os parâmetros do modelo e variáveis normalmente. Usando a opção de exportação de código, só é possível acessar as variáveis SimulationX que são definidas como saídas para pós-processamento. Uma vez que é feita a exportação de código, o modelo SimulationX exportado funciona sem precisar de uma licença SimulationX. Isso facilita a troca de modelos com parceiros e clientes. Após a exportação do código, a funcionalidade do modelo SimulationX não pode ser vista pelo utilizador. O algoritmo do modelo é compilado e, assim, escondido. Isto assegura sua propriedade intelectual (algoritmos do controlador, parâmetros de componentes técnicos). Além disso, o modelo exportado não pode ser alterado pelo utilizador. Ambos os pontos são importantes para a troca de modelos com parceiros e clientes.

Tutoriais do SimulationX

145

Problemas comuns Tome cuidado com os seguintes pontos para evitar problemas: • Se você não introduzir nomes VehicleSim para as saídas, as variáveis serão adicionadas ao banco de dados usando identificadores SimulationX truncados. Certifique-se de que esses identificadores truncados são únicos. • O modelo SimulationX exportado contém um solucionador de passo fixo. Você deve testar dentro de SimulationX se o seu modelo pode ser calculado de forma estável com um solucionador de passo fixo. • O modelo SimulationX é calculado paralelamente ao modelo CarSim. Antes de cada passo de tempo de CarSim: as entradas para os modelos SimulationX são lidas, o passo de tempo do modelo SimulationX é calculado, as saídas que são importadas para o modelo CarSim são atualizadas. Desta forma, o atraso de um passo de tempo é introduzido nos modelos de malha fechada (como indicado no [2] capítulo “4. Extending Math Models Using Import and Export Arrays”). Isso pode levar a instabilidades numéricas em modelos com um forte acoplamento. Reduza o tamanho do passo CarSim em tais casos. ■ ■ ■

Bibliografia

[1] www.carsim.com [2] Mechanical Simulation Corporation: The VehicleSim API, Running and Extending VSSolver Programs. August 2010

Tutorial 22 – Cossimulação com CarSim, BikeSim, TruckSim Objetivo Este tutorial mostra passo a passo como modelos de SimulationX podem ser conectados a VehicleSim (CarSim, BikeSim, TruckSim) usando a cossimulação. VehicleSim é um conjunto de ferramentas para a simulação eficiente de carros, caminhões e motocicletas [1]. Os modelos SimulationX e os modelos VehicleSim são conectados por meio de um bloco especial de cossimulação no modelo SimulationX. Este bloco utiliza a API (Application Programming Interface) de VehicleSim [2] para troca de dados e sincronização de SimulationX e VehicleSim. Supõe-se que o leitor está familiarizado com a funcionalidade básica tanto de SimulationX como de VehicleSim. Para uma introdução ao SimulationX, consulte o “Tutorial 1: Introdução”. Os módulos de software a seguir são necessários para executar este tutorial: SimulationX - inclui uma licença válida para a opção de cossimulação “VehicleSim (CarSim, BikeSim, TruckSim)” VehicleSim (CarSim, BikeSim, TruckSim) Versão 8

Fluxo de trabalho Os passos a seguir devem ser realizados para se fazer a cossimulação entre SimulationX e VehicleSim: Prepare o modelo VehicleSim Prepare o modelo SimulationX  Execute a simulação em SimulationX e VehicleSim Pós-processamento em VehicleSim e SimulationX 

A cossimulação foi testada com CarSim. Por isso, usaremos o termo CarSim na seguinte descrição. Deve funcionar com BikeSim e TruckSim da mesma maneira.

146

de CarSim com • Ampliação modelos SimulationX integração de • Perfeita modelos SimulationX dentro de CarSim, BikeSim, TruckSim

total de • Flexibilidade modelagem SimulationX disponível em CarSim

em • Pós-processamento CarSim e SimulationX

Tutoriais do SimulationX

147

O Modelo de Exemplo Neste tutorial, vamos mostrar como o modelo SimulationX de um motor combinado com uma transmissão substitui o modelo de motor de CarSim. O modelo SimulationX é mostrado na figura a seguir.

Figura 1: Modelo

SimulationX do motor com um modelo muito simples de volante de massa dupla

Todos os parâmetros do motor são mantidos em seus valores padrão. Os parâmetros alterados dos outros objetos do modelo são mostrados na tabela a seguir. Nome

Valor

Unidade

dms1.J dmsl .om0 dms2J dms2.om0 molaAmortecedor.kind molaAmortecedor.k molaAmortecedor.b injecao.F

0,02 800 (Fixo) 0,02 800 (Fixo) Mola-Amortecedor  10000 10 1

kgm2 rpm kgm2 rpm Nm/rad Nms/rad

Preparação do Modelo CarSim Primeiro o modelo CarSim deve ser preparado. Temos que mudar a configuração do grupo motopropulsor para substituir o modelo interno do motor pelo nosso motor SimulationX. Abra a tela powertrain em CarSim e mude para “External engine mode”, como mostrado na figura a seguir.

Figura 2: Mudança para modelo de motor externo

148

Tutorial 22 – Cossimulação com CarSim, BikeSim,TruckSim

O diagrama de blocos muda, como mostrado acima. A fim de substituir o modelo interno do motor, a velocidade do motor deve ser computada pelo modelo SimulationX e alimentada a CarSim como IMP_AV_ENG. O torque de reação do sistema de transmissão (EXPJ_M_  EngOut) deve ser realimentado para o bloco propulsor em SimulationX. Para preparar esta troca de dados, a variável IMP_AV_ENG de CarSim deve ser importada para CarSim do modelo SimulationX. Mude para a página Run Control de CarSim, clique no botão “Models” e mude para “Models: Self-Contained Solvers”.

Figura 3: Mudança para Self-Contained Solvers Crie um novo conjunto de dados, chame-o de “SimulationX” e abra-o. Nesta tela, mude um dos “Misc. Links” para “I/O Channels/I/O Channels: Import”, como mostrado abaixo.

Figura 4: Preparação da importação de variáveis

Tutoriais do SimulationX

149

Crie um novo conjunto de dados, como de costume, e adicione a variável IMP_AV_ENG à lista Active Import Variables.

Figura 5: Adição da variável de importação

Selecione “Replace” para o modo, como mostrado na figura acima. Se o seletor “Modo” estiver desativado, abra a Parsfile associada e faça a mudança lá. A forma como esta variável é ligada a uma saída SimulationX e como as saídas CarSim estão ligadas às entradas SimulationX é mostrado na seção seguinte.

Preparação do Modelo SimulationX Nosso modelo de motor deve sofrer algumas mudanças. Para alimentar o torque EXP_M_  EngOut calculado em CarSim de volta ao modelo SimulationX, adicionamos um elemento External Torque (Mechanics.Rotation.Source) ao modelo, como mostrado na Figura 6, e o renomeamos torqueCarga. Deixe o parâmetro T na sua configuração padrão “ in1”. Deste modo, o valor do sinal de entrada “in1” é alimentado como torque de carga para a linha de transmissão. Se você deseja conectar suas outras variáveis para CarSim, preste atenção ao sinal. A velocidade do grupo motopropulsor será enviada para CarSim e atribuída à variável IMP_AV_ENG. Consequentemente, adicionamos um sensor de velocidade (Mechanics.Rotation.Sensor) ao nosso modelo.

Figura 6: Modelo com torqueCarga e sensor de velocidade

150

Tutorial 22 – Cossimulação com CarSim, BikeSim,TruckSim

Agora vamos adicionar o bloco de cossimulação VehicleSim. Ele é incluído no pacote CoSimulation de VehicleSim.

Figura 7: Bloco de cossimulação de SimulationX e VehicleSim O bloco tem as seguintes propriedades:

Figura 8:  Janela de propriedades do bloco de cossimulação de VehicleSim

Tutoriais do SimulationX

151

Nome Simfile (simfile):

Para se comunicar com CarSim usando sua API, a simfile.sim recentemente utilizada deve ser dada. Este arquivo contém links para os outros arquivos de dados usados por CarSim. O arquivo está localizado na pasta de banco de dados atual. Esta pasta é selecionada durante a inicialização de CarSim na caixa de diálogo seguinte.

Figura 9: Seleção de banco de dados durante a inicialização de CarSim Uma janela de seleção de arquivos se abre quando você pressiona o botão na extremidade da caixa de edição de parâmetros da simfile. Vá para a pasta do banco de dados atual e selecione a simfile de CarSim atual.

Tamanho do passo ts:

Este tamanho de passo é utilizado para se comunicar com CarSim e atualizar as entradas e saídas. O tamanho do passo CarSim deve ter o mesmo valor. Se for diferente, uma mensagem de erro é mostrada e a execução da simulação não começa. Como afirmado no [2] Capítulo 4 (Extending Math Models Using Import and Export Arrays), um atraso de um passo é introduzido entre CarSim e SimulationX. Isto pode conduzir a instabilidades numéricas para modelos em malha fechada com um forte acoplamento. Reduza o tamanho do passo ts em tais casos. Para o nosso modelo de exemplo, usamos um tamanho de passo de 1 ms.

Número de Entradas nu, Número de saídas ny:

O bloco se comunica através do sinal de entrada u e do sinal de saída y, com o modelo SimulationX delimitador. Estes conectores de sinal podem transportar vetores de variáveis. A dimensão destes vectores é definida por nu (para entrada u) e ny (para saída y). Para a ligação de conectores de sinal escalares para estes conectores vetoriais, os multiplexadores e demultiplexadores do pacote CoSimulation.MuxDemux podem ser usados (veja adiante). No nosso exemplo, um sinal (a velocidade do conjunto propulsor) é enviado para CarSim. Daí definimos nu = 1. O torque de reação do modelo CarSim é realimentado para o modelo de grupo propulsor. Adicionalmente, deseja-se observar a velocidade do carro calculada em CarSim. Assim definimos ny = 2.

Variável de importação uImp[nu], Variáveis de exportação yExp[ny]:

Estes parâmetros são vetores de strings. As dimensões são, respectivamente, nu e ny. Aqui devemos inserir os nomes das variáveis CarSim que têm de ser conectadas com as entradas e saídas de bloco. Se um dos nomes não for encontrado na base de dados CarSim, uma mensagem de aviso é mostrada durante a inicialização da execução de simulação. A velocidade do conjunto propulsor é importada para CarSim (veja Figura 5) como IMP_  AV_ENG. Portanto, insira {“IMP_AV_ENC”} para uImp. Além do torque de reação CarSim (EXP_M_EngOut), queremos observar a velocidade do veículo (VX). Sendo assim, insira {“EXP_M_EngOut”, “VX”} para yExp.

Tutorial 22 – Cossimulação com CarSim, BikeSim,TruckSim

152

No final das modificações descritas, o bloco deve ter as seguintes propriedades:

Figura 10: Parâmetros do bloco de cossimulação Como último passo, o bloco de cossimulação deve ser conectado com o modelo de conjunto propulsor. Nós conectamos a entrada u com a saída do sensor de velocidade (speed.om). A saída tem a dimensão ny = 2. Por isso, precisamos de um demultiplexador (MuxDemux.Demultiplex2) para dividir esse vetor em escalares. Desta forma, vamos acabar com o seguinte modelo:

Figura 11: Modelo

SimulationX pronto para cossimulação com CarSim

Agora, o modelo SimulationX está pronto para cossimulação com CarSim. Se você quiser transferir mais do que um sinal para CarSim, você deve adaptar a dimensão usando o parâmetro nu e usando o bloco multiplexador correspondente para combinar os sinais em um vetor. No pacote CoSimulation.MuxDemux, multiplexadores e desmultiplexadores de dimensão 2-5 são fornecidos. Se você precisar de dimensões maiores, pode facilmente criar seus próprios blocos utilizando os já existentes como diretriz. A implementação destes blocos é aberta e pode ser visualizada utilizando o TypeDesigner SimulationX (veja Tutorial 5: TypeDesigner).

Cossimulação Após as seguintes configurações na página CarSim “Self Contained Solvers”, a cossimulação pode ser iniciada. Mude agora para CarSim e abra o conjunto de dados que criamos no início clicando no botão SimulationX na tela de controle de execução.

Figura 12: O conjunto de dados SimulationX

Tutoriais do SimulationX

153

Ligue o “Use external wrapper program” e selecione o executável VehicleSimXStarter.exe como programa wrapper externo. A aplicação VehicleSimXStarter está localizada no caminho SimulationX/Tools/VehicleSim.

Figura 13: Seleção de VehicleSimXStarter.exe como programa wrapper externo Depois disso, insira 0,001 s como passo de tempo. Este valor deve ser igual ao parâmetro ts do bloco de cossimulação SimulationX. Agora, a execução da simulação pode ser iniciada pressionando o botão Run Math Model na tela de controle Run CarSim. Certifique-se de que o SimulationX está em execução e o modelo que contém o bloco de cossimulação VehicleSim é o ativo. Em vez de a rotina de cálculo interna CarSim, a aplicação VehicleSimXStarter é iniciada. Este aplicativo executa as seguintes ações: • Conecta-se à instância SimulationX em execução ou abre uma nova instância SimulationX. • Conecta-se ao modelo ativo. • Verifica se este modelo contém um bloco de cossimulação VehicleSim. • Redefine o modelo ativo, se necessário. • Inicia a simulação em SimulationX. Agora, o bloco de cossimulação VehicleSim se comunica com CarSim através da API de VehicleSim. • Mostra mensagens de status durante a execução da simulação. • Fecha após a execução da simulação. • Se SimulationX não pôde ser encontrado ou aberto ou se o modelo ativo não contém um bloco de cossimulação VehicleSim, uma mensagem de erro é mostrada e a execução da simulação não é iniciada.

Figura 14: O

VehicleSimXStarter está ligado a SimulationX; a cossimulação está em execução

Tutorial 22 – Cossimulação com CarSim, BikeSim,TruckSim

154

A execução de cossimulação para nas seguintes condições:

• Se o botão Stop do VehicleSimXStarter é pressionado. Ela pode ser continuada ao

pressionar o botão Start. • Se o tempo de parada de CarSim é atingido ou uma condição de parada CarSim torna-se verdadeira. Neste caso, uma mensagem é mostrada em SimulationX. • Se o botão Stop no SimulationX é pressionado, o tempo de parada é alcançado ou uma condição de terminação torna-se verdadeira. O VehicleSimXStarter fecha automaticamente. A simulação pode ser continuada pressionando o botão Start de SimulationX. A execução da simulação pode ser iniciada, como de costume, a partir de SimulationX também. Neste caso, é possível que os dados do modelo CarSim não sejam transferidos para os arquivos da base de dados, que são carregados pela API de CarSim durante a cossimulação. Mesmo se você salvar o banco de dados de CarSim, os dados não são gravados para estes arquivos. Isso é feito por CarSim quando você iniciar o programa wrapper externo − o VehicleSimXStarter, no nosso caso. Por isso, é mais seguro iniciar a cossimulação a partir de CarSim. É seguro, entretanto, iniciar a cossimulação em SimulationX se você já começou uma vez usando CarSim e não mudou o modelo CarSim nesse meio tempo.

Pós-processamento em CarSim e SimulationX Fase seguinte à cossimulação ter executado as funções usuais de pós-processamento de CarSim (Animate, Plot) e ao SimulationX estar disponível. A figura a seguir mostra a janela de resultado de SimulationX e o gráfico CarSim da velocidade do veículo.

Figura 15: Velocidade do veículo em SimulationX e CarSim

Problemas comuns Tome cuidado com os seguintes pontos para evitar problemas: • O bloco de cossimulação VehicleSim está contido no pacote CoSimulation. Este pacote é armazenado pelo instalador na primeira posição do caminho de procura SimulationX Modelica (Menu: Extras/Options/Directories). Se você alterar ou excluir esse caminho mais tarde, o pacote não poderá ser encontrado. • O bloco de cossimulação VehicleSim utiliza funções externas implementadas na DLL ITI_  CSVehicleSim.DLL. Este arquivo é armazenado pelo instalador na primeira posição do caminho External Functions (Menu: Extras/Options/Directories) de SimulationX). Se você alterar ou excluir esse caminho mais tarde, a função externa não poderá ser encontrada e a cossimulação não será iniciada. • O modelo SimulationX é calculado ao lado do modelo CarSim. Antes de cada passo de tempo de CarSim: as entradas para os modelos SimulationX são lidas, o passo de tempo do modelo SimulationX é calculado, as saídas que são importadas para o modelo CarSim são atualizadas.   

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF