Partilhar via


Configurar o acelerador de soluções de Fábrica Ligada

Importante

Enquanto atualizamos este artigo, veja Azure Industrial IoT (IoT Industrial do Azure ) para obter os conteúdos mais atualizados.

O acelerador de soluções fábrica ligada mostra um dashboard simulado para uma empresa fictícia Contoso. Esta empresa tem fábricas em numerosas localizações globais a nível global.

Este artigo utiliza a Contoso como exemplo para descrever como configurar a topologia de uma solução de Fábrica Ligada.

Configuração de fábricas simuladas

Cada fábrica da Contoso tem linhas de produção que consistem em três estações cada. Cada estação é um verdadeiro servidor OPC UA com uma função específica:

  • Estação de montagem
  • Estação de teste
  • Estação de empacotamento

Estes servidores OPC UA têm nós OPC UA e o OPC Publisher envia os valores destes nós para a Fábrica Ligada. O que está incluído:

  • Estado operacional atual, como o consumo de energia atual.
  • Informações de produção, como o número de produtos produzidos.

Pode utilizar o dashboard para explorar a topologia de fábrica da Contoso a partir de uma vista global até uma vista ao nível da estação. O dashboard fábrica ligada ativa:

  • A visualização de figuras OEE e KPI para cada camada na topologia.
  • A visualização dos valores atuais dos nós OPC UA nas estações.
  • A agregação dos números OEE e KPI do nível da estação para o nível global.
  • A visualização de alertas e ações a executar se os valores atingirem limiares específicos.

Topologia de Fábrica Ligada

A topologia de fábricas, linhas de produção e estações é hierárquica:

  • O nível global tem nós de fábrica quando crianças.
  • As fábricas têm nós de linha de produção quando crianças.
  • As linhas de produção têm nós de estação quando crianças.
  • As estações (servidores OPC UA) têm nós OPC UA quando crianças.

Cada nó na topologia tem um conjunto comum de propriedades que definem:

  • Um identificador exclusivo para o nó de topologia.
  • Um nome.
  • Uma descrição.
  • Uma imagem.
  • As crianças do nó de topologia.
  • Valores mínimos, de destino e máximos para os valores OEE e KPI e as ações de alerta a executar.

Ficheiro de configuração de topologia

Para configurar as propriedades listadas na secção anterior, a solução Fábrica Ligada utiliza um ficheiro de configuração chamado ContosoTopologyDescription.json.

Pode encontrar este ficheiro no código fonte da solução na WebApp/Contoso/Topology pasta.

O fragmento seguinte mostra um destaque do ContosoTopologyDescription.json ficheiro de configuração:

{
  <global_configuration>,
  "Factories": [
    <factory_configuration>,
    "ProductionLines": [
      <production_line_configuration>,
      "Stations": [
        <station_configuration>,
        <more station_configurations>
      ],
      <more production_line_configurations>
    ]
    <more factory_configurations>
  ]
}

As propriedades comuns de <global_configuration>, <factory_configuration>, <production_line_configuration>e <station_configuration> são:

  • Nome (cadeia de tipo)

    Define um nome descritivo, que deve ser apenas uma palavra para o nó de topologia mostrar no dashboard.

  • Descrição (cadeia de tipo)

    Descreve o nó de topologia mais detalhadamente.

  • Imagem (cadeia de tipo)

    O caminho para uma imagem na solução WebApp para mostrar quando as informações sobre o nó de topologia são apresentadas no dashboard.

  • OeeOverall, OeePerformance, OeeAvailability, OeeQuality, Kpi1, Kpi2 (tipo <performance_definition>)

    Estas propriedades definem valores mínimos, de destino e máximos da figura operacional utilizada para gerar alertas. Estas propriedades também definem as ações a executar se for detetado um alerta.

Os <factory_configuration> itens e <production_line_configuration> têm uma propriedade:

  • Guid (cadeia de tipo)

    Identifica exclusivamente o nó de topologia.

<factory_configuration> tem uma propriedade:

  • Localização (tipo <location_definition>)

    Especifica onde a fábrica está localizada.

<station_configuration> tem propriedades:

  • OpcUri (cadeia de tipo)

    Esta propriedade tem de ser definida como o URI da Aplicação OPC UA do servidor OPC UA. Uma vez que tem de ser globalmente exclusivo pela especificação OPC UA, esta propriedade é utilizada para identificar o nó de topologia da estação.

  • OpcNodes, que são uma matriz de nós OPC UA (tipo <opc_node_description>)

<location_definition> tem propriedades:

  • Cidade (cadeia de tipo)

    Nome da cidade mais próximo da localização

  • País ( cadeia de tipo)

    País/região da localização

  • Latitude (tipo duplo)

    Latitude da localização

  • Longitude (tipo duplo)

    Longitude da localização

<performance_definition> tem propriedades:

  • Mínimo (tipo duplo)

    Limiar inferior ao qual o valor pode atingir. Se o valor atual estiver abaixo deste limiar, será gerado um alerta.

  • Destino (tipo duplo)

    Valor de destino ideal.

  • Máximo (tipo duplo)

    Limiar superior que o valor pode alcançar. Se o valor atual estiver acima deste limiar, será gerado um alerta.

  • MinimumAlertActions (tipo <alert_action>)

    Define o conjunto de ações, que podem ser tomadas como resposta a um alerta mínimo.

  • MaximumAlertActions (tipo <alert_action>)

    Define o conjunto de ações, que podem ser tomadas como resposta a um alerta máximo.

<alert_action> tem propriedades:

  • Tipo (cadeia de tipo)

    Tipo da ação de alerta. Os seguintes tipos são conhecidos:

    • AcknowledgeAlert: o estado do alerta deve ser alterado para reconhecido.
    • CloseAlert: todos os alertas mais antigos do mesmo tipo já não devem ser apresentados no dashboard.
    • CallOpcMethod: deve ser chamado um método OPC UA.
    • OpenWebPage: deve ser aberta uma janela do browser com informações contextuais adicionais.
  • Descrição (cadeia de tipo)

    Descrição da ação apresentada no dashboard.

  • Parâmetro (cadeia de tipo)

    Parâmetros necessários para executar a ação. O valor depende do tipo de ação.

    • AcknowledgeAlert: não é necessário nenhum parâmetro.
    • CloseAlert: não é necessário nenhum parâmetro.
    • CallOpcMethod: as informações e os parâmetros do nó do método OPC UA para chamar no formato "NodeId do nó principal, NodeId do método a chamar, URI do servidor OPC UA".
    • OpenWebPage: o URL a mostrar na janela do browser.

<opc_node_description> contém informações sobre nós OPC UA numa estação (servidor OPC UA). Os nós que não representam nós OPC UA existentes, mas que são utilizados como armazenamento na lógica de computação do Connected Factory, também são válidos. Tem as seguintes propriedades:

  • NodeId (cadeia de tipo)

    Endereço do nó OPC UA no espaço de endereços da estação (servidor OPC UA). A sintaxe tem de ser conforme especificado na especificação OPC UA para um NodeId.

  • SymbolicName (cadeia de tipo)

    Nome a mostrar no dashboard quando for apresentado o valor deste nó OPC UA.

  • Relevância (matriz de cadeia de tipo)

    Indica para que computação de OEE ou KPI o valor do nó OPC UA é relevante. Cada elemento de matriz pode ser um dos seguintes valores:

    • OeeAvailability_Running: o valor é relevante para o cálculo da Disponibilidade OEE.
    • OeeAvailability_Fault: o valor é relevante para o cálculo da Disponibilidade OEE.
    • OeePerformance_Ideal: o valor é relevante para o cálculo do Desempenho OEE e é normalmente um valor constante.
    • OeePerformance_Actual: o valor é relevante para o cálculo do Desempenho OEE.
    • OeeQuality_Good: o valor é relevante para o cálculo da Qualidade OEE.
    • OeeQuality_Bad: o valor é relevante para o cálculo da Qualidade OEE.
    • KPI1: o valor é relevante para o cálculo do KPI1.
    • KPI2: o valor é relevante para o cálculo de KPI2.
  • OpCode (cadeia de tipo)

    Indica como o valor do nó OPC UA é processado em consultas do Time Series Insight e cálculos OEE/KPI. Cada consulta do Time Series Insight destina-se a um período de tempo específico, que é um parâmetro da consulta e fornece um resultado. O OpCode controla a forma como o resultado é calculado e pode ser um dos seguintes valores:

    • Diferença: diferença entre o último e o primeiro valor no intervalo de tempo.
    • Média: a média de todos os valores no intervalo de tempo.
    • Soma: a soma de todos os valores no intervalo de tempo.
    • Último: atualmente não utilizado.
    • Contagem: o número de valores no intervalo de tempo.
    • Máximo: o valor máximo no intervalo de tempo.
    • Mínimo: o valor mínimo no intervalo de tempo.
    • Valor: o resultado é o valor especificado pela propriedade ConstValue.
    • SubMaxMin: a diferença entre o valor máximo e mínimo.
    • Intervalo de tempo: o período de tempo.
  • Unidades (cadeia de tipo)

    Define uma unidade do valor a apresentar no dashboard.

  • Visível (tipo booleano)

    Controla se o valor deve ser apresentado no dashboard.

  • ConstValue (escreva duplo)

    Se o OpCode for Const, esta propriedade é o valor do nó.

  • Mínimo (tipo duplo)

    Se o valor atual ficar abaixo deste valor, será gerado um alerta mínimo.

  • Máximo (tipo duplo)

    Se o valor atual aumentar acima deste valor, será gerado um alerta máximo.

  • MinimumAlertActions (tipo <alert_action>)

    Define o conjunto de ações, que podem ser tomadas como resposta a um alerta mínimo.

  • MaximumAlertActions (tipo <alert_action>)

    Define o conjunto de ações, que podem ser tomadas como resposta a um alerta máximo.

Ao nível da estação, também verá Objetos de simulação . Estes objetos são utilizados apenas para configurar a simulação de Fábrica Ligada e não devem ser utilizados para configurar uma topologia real.

Como os dados de configuração são utilizados no runtime

Todas as propriedades utilizadas no ficheiro de configuração podem ser agrupadas em diferentes categorias, consoante a forma como são utilizadas. Estas categorias são:

Aspeto visual

As propriedades nesta categoria definem o aspeto visual do dashboard Fábrica Ligada. Os exemplos incluem:

  • Nome
  • Descrição
  • Imagem
  • Localização
  • Unidades
  • Visible

Endereçamento interno da árvore de topologia

A WebApp mantém um dicionário de dados interno que contém informações de todos os nós de topologia. As propriedades Guid e OpcUri são utilizadas como chaves para aceder a este dicionário e têm de ser exclusivas.

Computação OEE/KPI

Os números OEE/KPI da simulação de Fábrica Ligada são parametrizados por:

  • Os valores do nó OPC UA a incluir no cálculo.
  • Como a figura é calculada a partir dos valores de telemetria.

A Fábrica Ligada utiliza as fórmulas OEE, conforme publicado pelo http://www.oeefoundation.org.

Os objetos de nó OPC UA nas estações permitem a identificação para utilização no cálculo OEE/KPI. A propriedade Relevância indica para a qual figura OEE/KPI deve ser utilizado o valor do nó OPC UA. A propriedade OpCode define como o valor é incluído na computação.

Processamento de alertas

A Fábrica Ligada suporta um mecanismo de geração de alertas mínimo/máximo baseado em limiar simples. Existem várias ações predefinidas que pode configurar em resposta a esses alertas. As seguintes propriedades controlam este mecanismo:

  • Máximo
  • Mínimo
  • MaximumAlertActions
  • MinimumAlertActions

Correlacionar com dados telemétricos

Para determinadas operações, como visualizar o último valor ou criar consultas do Time Series Insight, a WebApp precisa de um esquema de endereçamento para os dados telemétricos ingeridos. A telemetria enviada para o Connected Factory também tem de ser armazenada em estruturas de dados internas. As duas propriedades que ativam estas operações estão ao nível da estação (servidor OPC UA) e OPC UA:

  • OpcUri

    Identifica (globalmente exclusivo) o servidor OPC UA de onde provém a telemetria. Nas mensagens ingeridas, esta propriedade é enviada como ApplicationUri.

  • NodeId

    Identifica o valor do nó no servidor OPC UA. O formato da propriedade tem de ser conforme especificado na especificação OPC UA. Nas mensagens ingeridas, esta propriedade é enviada como NodeId.

Veja O que é o OPC Publisher para obter mais informações sobre como os dados telemétricos são ingeridos na Fábrica Ligada.

Exemplo: Como o KPI1 é calculado

A configuração no ficheiro controla a ContosoTopologyDescription.json forma como os valores OEE/KPI são calculados. O exemplo seguinte mostra como as propriedades neste ficheiro controlam a computação do KPI1.

No KPI1 de Fábrica Ligada, é utilizado para medir o número de produtos fabricados com êxito na última hora. Cada estação (servidor OPC UA) na simulação fábrica ligada fornece um nó OPC UA (NodeId: "ns=2;i=385"), que fornece a telemetria para calcular este KPI.

A configuração deste nó OPC UA tem o seguinte aspeto:

{
  "NodeId": "ns=2;i=385",
  "SymbolicName": "NumberOfManufacturedProducts",
  "Relevance": [ "Kpi1", "OeeQuality_Good" ],
  "OpCode": "SubMaxMin"
},

Esta configuração permite a consulta dos valores de telemetria deste nó com o Time Series Insights. A consulta do Time Series Insights obtém:

  • O número de valores.
  • O valor mínimo.
  • O valor máximo.
  • A média de todos os valores.
  • A soma de todos os valores para todos os OpcUri exclusivos (ApplicationUri), NodeId emparelha num determinado período de tempo.

Uma característica do valor do nó NumberOfManufactureredProducts é que apenas aumenta. Para calcular o número de produtos fabricados no período de tempo, a Fábrica Ligada utiliza o SubMaxMindo OpCode. O cálculo obtém o valor mínimo no início do período de tempo e o valor máximo no final do período de tempo.

O OpCode na configuração configura a lógica de computação para calcular o resultado da diferença de valor máximo e mínimo. Estes resultados são então acumulados de baixo para cima até ao nível de raiz (global) e apresentados no dashboard.

Passos seguintes

Um passo seguinte sugerido é saber como Personalizar a solução de Fábrica Ligada.