Octave Engine

Introdução

O motor Octave (ferramenta open-source compatível com MatLab) no Módulo de Scripting permite aos utilizadores realizar cálculos complexos no Requirements & Systems Portal que não são muito fáceis de executar/calcular no Módulo de Design de Sistemas. Pode referenciar os Valis necessários para os cálculos como Valis de entrada e o resultado como Valis de saída. Alguns exemplos comuns deste tipo de cálculo incluem a resolução de equações não lineares, multiplicação de matrizes ou casos condicionais.

Fluxo de scripting para scripts do motor Octave

O fluxo de trabalho típico para utilizar o Módulo de Scripting é apresentado abaixo. Cada passo é explicado em cada uma das subsecções.

1. Criar um novo script Octave

Para criar um novo script Octave no seu projeto, passe o cursor sobre o módulo de simulações (1) e selecione “+ Script” (2). Ao clicar, abre-se uma janela pop-up; introduza o nome e selecione “Octave engine (Matlab compatibilite)” (3) e clique em “Create”. Veja a imagem Creating Octave Script.

Criar script Octave - Pode criar facilmente um script Octave no módulo de scripting para realizar cálculos mais complexos.

2. Entradas e saídas

O utilizador pode adicionar os Valis de entrada e de saída. Por exemplo, quando o utilizador referencia o Vali nas entradas ou saídas, pode fornecer um nome curto para o Vali, que será depois utilizado no seu código de cálculo Octave.

Example:

Se estiver a utilizar um Vali chamado “PowerConsumption.CRUISE” do seu módulo de componentes, pode simplesmente atribuir uma abreviatura à variável, como “cruise“ (1). Assim que o Vali é referenciado nas entradas, o Requirements & Systems Portal adiciona automaticamente os valores juntamente com as unidades (2).

O utilizador também pode alterar a unidade de simulação. Por exemplo, o PowerConsumption definido para cruise no Módulo de Design de Sistemas está em W, mas para a simulação é utilizado kW, o que é definido na coluna “simulation unit” (3). Veja a imagem Setting up Valis.

Configurar Valis - Os Valis podem ser definidos como entradas ou saídas para o script Octave.

Pode utilizar qualquer Vali do Módulo de Design de Sistemas como entrada ou saída, mas não simultaneamente como ambos.

3. Cálculo/código Octave

Como mencionado anteriormente, o módulo de simulação do Requirements & Systems Portal utiliza um motor Octave que lhe permite usar a sintaxe do Octave . É semelhante ao Matlab e tem excelente compatibilidade com este, pelo que não terá de se familiarizar com uma nova framework para criar cálculos complexos. Pode consultar a GNU Octave Documentation Page se precisar de mais informações.

Os utilizadores têm de escrever o código Octave no ficheiro “main.m”(1). As instruções sobre como o utilizador pode definir as entradas e saídas estão escritas na área de código (2). Consulte a Figura Octave Script para mais informações.

Script Octave - Aceder ao ficheiro main.m e definir as entradas e saídas no script.

Depois de o código ser adicionado ao ficheiro main.m, o utilizador pode guardar o script clicando em “Save”(3).

4. Executar simulações/resultados

Quando terminar o seu script, pode clicar no botão de reprodução, que se encontra no canto inferior esquerdo, como mostrado na Figura Running Script.

Executar script - Ao clicar no botão de reprodução no canto inferior direito, o script é executado.

Assim que a simulação estiver concluída, o Requirements & Systems Portal atualiza automaticamente os valores de saída. Como resultado, os Valis de saída no Módulo de Design de Sistemas são atualizados automaticamente. Se os Valis de saída estiverem a ser utilizados como constantes em fórmulas para calcular outros Valis, o Requirements & Systems Portal recalcula automaticamente todos os Valis associados ao Vali de saída.

5. Caso de utilização de Scripting + Automação

Se quaisquer valores de entrada forem alterados no Módulo de Design de Sistemas, o utilizador tem de voltar a executar a simulação para recalcular os valores de saída.

Para evitar executar simulações após cada alteração nos valores de entrada, pode ser criada uma ligação entre as Automations e o Módulo de Scripting. De facto, podem ser configuradas novas automações com um acionador constante para voltar a executar automaticamente cada simulação afetada por uma alteração de um Vali, como mostrado no pequeno clipe abaixo.

Neste caso específico, o tempo de voo do nosso Valicopter é ajustado de 15 min para 10 min, o que desencadeia automaticamente um recálculo da capacidade total de bateria necessária. Uma vez que a massa total do subsistema de potência é calculada com base na capacidade de bateria necessária (quantas baterias são necessárias), com menos tempo de voo e, consequentemente, menor capacidade de bateria necessária, a massa do subsistema de potência também é recalculada e reduzida.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Conteúdo