Integração com sistemas de execução de fabrico de terceiros

Algumas organizações de fabrico que utilizam o Microsoft Dynamics 365 Supply Chain Management utilizam a funcionalidade nativa no Dynamics 365 para controlar as suas atividades de fabrico para máquinas, equipamentos e pessoal. No entanto, outras organizações de fabrico, sobretudo as que têm requisitos de fabrico avançados, optam por utilizar um sistemas de execução de fabrico de terceiros (MES). As organizações podem escolher uma solução MES de terceiros porque, por exemplo, está especificamente adaptada à respetiva indústria vertical.

Na solução integrada, a troca de dados está totalmente automatizada e ocorre em tempo quase real. Portanto, os dados são mantidos atuais em ambos os sistemas e não é necessária nenhuma entrada de dados manual. Por exemplo, quando o consumo de material é registado no MES, a integração garante que o mesmo consumo também é registado no Dynamics 365. Por conseguinte, os registos de inventário atualizados estão disponíveis para outros processos importantes, como o planeamento e as vendas.

A solução torna mais rápido, mais fácil e mais barato para os utilizadores do Supply Chain Management para integração com MESs de terceiros. Oferece as seguintes funcionalidades:

  • Eventos empresariais e interfaces que suportam os principais processos de execução de fabrico
  • Um dashboard centralizado poderá monitorizar o histórico de processamento do evento, bem como os processos de resolução de problemas e correção que falham

A ilustração que se segue mostra uma coleção típica de eventos empresariais, processos e mensagens que são trocados numa solução integrada.

Cenário de integração típico.

Ativar a funcionalidade de integração MES

Antes de utilizar esta funcionalidade, um administrador tem de ativá-lo no seu sistema, conforme descrito no seguinte procedimento.

  1. Aceda a Administração do sistema > Configuração > Configuração de licenças.
  2. Certifique-se de que a chave de licença de Tempo e participação está ativada (mostra uma marca de verificação). Esta chave de licença é necessária porque controla a funcionalidade e os dados do sistema de execução de fabrico. Se não estiver ativada, execute os seguintes passos:
    1. Coloque o seu sistema em modo de manutenção, conforme descrito na secção Modo de manutenção.
    2. Na página Configuração de licença, selecione a caixa de verificação Tempo e participação .
    3. Desligue o modo de manutenção, conforme descrito em Modo de manutenção
  3. Vá para Gestão de funcionalidades das áreas de trabalho de >> administraçãodo sistema.
  4. Utilize a área de trabalho Gestão de funcionalidades para ativar a funcionalidade de integração do sistema de execução de fabrico. (A partir da versão 10.0.29 do Supply Chain Management, esta funcionalidade está ativada por predefinição. A partir da versão 10.0.32 do Supply Chain Management, é obrigatória e não pode ser desativada.)

Processos disponíveis para a integração com o MES

Pode ativar qualquer um ou todos os seguintes processos para a integração.

Nome de processo Descrição
Lançar ordens de produção e eventos empresariais de alteração de estado de ordens de produção Este processo fornece um evento empresarial que o MES pode ouvir para obter informações sobre as ordens de produção que devem ser produzidas. Espera-se que os dados de referência relacionados com a ordem de produção sejam partilhados do Supply Chain Management para o MES através do protocolo OData (Open Data Protocol) ou entidades de dados.
Iniciar ordem de produção Este processo fornece ao Supply Chain Management informações sobre as ordens de produção que estão a ser iniciadas ao utilizar o MES. Garante que ambos os sistemas têm uma vista atualizada de todas as atividades de fabrico.
Reportar quantidade produzida ou descartada Este processo fornece ao Supply Chain Management informações sobre as quantidades corretas e com erro que são reportadas num trabalho de produção ao utilizar o MES. Garante que os supervisores do local de produção têm uma vista atualizada do progresso do plano de produção.
Reportar consumo de material Este processo fornece ao Supply Chain Management informações do MES sobre as quantidades de materiais que são consumidas. Disponibiliza os registos de inventário atualizados para outros processos importantes, como o planeamento e as vendas.
Reportar o tempo consumido para a operação Este processo fornece ao Supply Chain Management informações sobre o tempo empregue para uma operação específica.
Terminar ordem de produção Isto processo informa o Supply Chain Management que o MES atualizou uma ordem de produção para o seu estado final de Terminado. Este estado indica que não serão produzidas mais quantidades na ordem de produção.

Monitorizar mensagens a receber

Para monitorizar as mensagens MES a receber no sistema, aceda a Configuração do controlo > de produção Execução >> de fabrico Integração de sistemas de execução de fabrico.

Todas as mensagens para uma ordem de produção específica são processadas na sequência em que são recebidas. No entanto, as mensagens para diferentes ordens de produção podem não ser processadas na sequência de recebimento porque as tarefas de lote são processadas em paralelo. Em caso de falha, a tarefa de lote tentará processar cada mensagem três vezes antes de defini-la como Estado falhado .

A página Integração de sistemas de execução de fabrico funciona da mesma forma que a página Mensagens do processador de mensagens e representa uma funcionalidade muito semelhante. (Ele ainda mostra mensagens MES, além de outros tipos de mensagens.) Para obter informações sobre como usar qualquer página para revisar mensagens, localizar e corrigir mensagens com falha e muito mais, consulte Página Mensagens do processador de mensagens

Chamar a API

Para chamar a API de integração com o MES, envie um POST pedido para o seguinte URL de ponto final:

/api/services/SysMessageServices/SysMessageService/SendMessage

O corpo do pedido que enviar deve assemelhar-se ao seguinte exemplo. Substitua os valores para _companyId, _messageType e _messageContent conforme necessário. Para obter informações sobre os vários tipos de mensagens que a API suporta e como conceber o seu conteúdo, consulte a secção seguinte.

{
    "_companyId": "USMF",
    "_messageQueue": "JmgMES3P",
    "_messageType": "ProdProductionOrderReportFinished",
    "_messageContent":
    "{\"ProductionOrderNumber\": \"P000123\", \"ReportFinishedLines\": [{\"ItemNumber\": \"A0001\", \"ReportedGoodQuantity\": 10, \"ReportAsFinishedDate\": \"2021-01-01\"}]}"
}

Tipos e conteúdos de mensagens da API

Esta secção descreve cada tipo de mensagem que pode ser trocada através da API de integração com o MES.

Mensagem Iniciar ordem de produção

Para a mensagem de ordem de produção de início, o _messageType valor é ProdProductionOrderStart. A seguinte tabela mostra os campos que esta mensagem suporta.

Nome do campo Estado Tipo
ProductionOrderNumber Obrigatório Cadeia
StartedQuantity Opcional Real
StartedDate Opcional Data
AutomaticBOMConsumptionRule Opcional Enum (FlushingPrincip | Sempre | Nunca)

Reportar como mensagem concluída

Para a mensagem de relatório como concluído , o _messageType valor é ProdProductionOrderReportFinished. A seguinte tabela mostra os campos que esta mensagem suporta.

Nome do campo Estado Tipo
ProductionOrderNumber Obrigatório Cadeia
ReportFinishedLines Obrigatório Uma lista de linhas (pelo menos uma), em que cada uma contém o payload descrito na tabela seguinte

A tabela seguinte mostra os campos que cada linha na ReportFinishedLines secção da ProdProductionOrderReportFinished mensagem suporta.

Nome do campo Estado Tipo
LineNumber Opcional Real
ItemNumber Opcional Cadeia
ProductionType Opcional Enum (MainItem | Fórmula | L.M. | Co_Product | By_Product | Nenhum), extensível
ReportedErrorQuantity Opcional Real
ReportedGoodQuantity Opcional Real
ReportedErrorCatchWeightQuantity Opcional Real
ReportedGoodCatchWeightQuantity Opcional Real
AcceptError Opcional Enum (Sim | Não)
ErrorCause Opcional Enum (Nenhum | Material | Máquina | OperatingStaff), extensível
ExecutedDateTime Opcional DateTime
ReportAsFinishedDate Opcional Data
AutomaticBOMConsumptionRule Opcional Enum (FlushingPrincip | Sempre | Nunca)
AutomaticRouteConsumptionRule Opcional Enum (RouteDependent | Sempre | Nunca)
RespectFlushingPrincipleDuringOverproduction Opcional Enum (Sim | Não)
ProductionJournalNameId Opcional Cadeia
PickingListProductionJournalNameId Opcional Cadeia
RouteCardProductionJournalNameId Opcional Cadeia
FromOperationNumber Opcional Número Inteiro
ToOperationNumber Opcional Número Inteiro
InventoryLotId Opcional Cadeia
BaseValue Opcional Cadeia
EndJob Opcional Enum (Sim | Não)
EndPickingList Opcional Enum (Sim | Não)
EndRouteCard Opcional Enum (Sim | Não)
PostNow Opcional Enum (Sim | Não)
AutoUpdate Opcional Enum (Sim | Não)
ProductColorId Opcional Cadeia
ProductConfigurationId Opcional Cadeia
ProductSizeId Opcional Cadeia
ProductStyleId Opcional Cadeia
ProductVersionId Opcional Cadeia
ItemBatchNumber Opcional Cadeia
ProductSerialNumber Opcional Cadeia
LicensePlateNumber Opcional Cadeia
InventoryStatusId Opcional Cadeia
ProductionWarehouseId Opcional Cadeia
ProductionSiteId Opcional Cadeia
ProductionWarehouseLocationId Opcional Cadeia
InventoryDimension1 até InventoryDimension12 Opcional Cadeia

As 12 dimensões extensíveis requeremInventoryDimension1InventoryDimension12 personalização e nem sempre são utilizadas. Para obter mais informações sobre elas, consulte Adicionar novas dimensões de inventário por meio da extensão.

Mensagem de consumo de material (lista de recolha)

Para a mensagem de consumo de material (lista de recolha), o _messageType valor é ProdProductionOrderPickingList. A seguinte tabela mostra os campos que esta mensagem suporta.

Nome do campo Estado Tipo
ProductionOrderNumber Obrigatório Cadeia
JournalNameId Opcional Cadeia
PickingListLines Obrigatório Uma lista de linhas (pelo menos uma), em que cada uma contém o payload descrito na tabela seguinte

A tabela seguinte mostra os campos que cada linha na PickingListLines secção da ProdProductionOrderPickingList mensagem suporta.

Nome do campo Estado Tipo
ItemNumber Obrigatório Cadeia
ConsumptionBOMQuantity Opcional Real
ProposalBOMQuantity Opcional Real
ScrapBOMQuantity Opcional Real
BOMUnitSymbol Opcional Cadeia
ConsumptionInventoryQuantity Opcional Real
ProposalInventoryQuantity Opcional Real
ConsumptionCatchWeightQuantity Opcional Real
ProposalCatchWeightQuantity Opcional Real
ConsumptionDate Opcional Data
OperationNumber Opcional Número Inteiro
LineNumber Opcional Real
PositionNumber Opcional Cadeia
IsConsumptionEnded Opcional Enum (Sim | Não)
ErrorCause Opcional Enum (Nenhum | Material | Máquina | OperatingStaff), extensível
InventoryLotId Opcional Cadeia

Mensagem Tempo utilizado para a operação (cartão de rota)

Para o tempo utilizado para a operação (cartão de rota)mensagem, o valor é _messageType . ProdProductionOrderRouteCard A seguinte tabela mostra os campos que esta mensagem suporta.

Nome do campo Estado Tipo
ProductionOrderNumber Obrigatório Cadeia
JournalNameId Opcional Cadeia
RouteCardLines Obrigatório Uma lista de linhas (pelo menos uma), em que cada uma contém o payload descrito na tabela seguinte

A tabela seguinte mostra os campos que cada linha na RouteCardLines secção da ProdProductionOrderRouteCard mensagem suporta.

Nome do campo Estado Tipo
OperationNumber Obrigatório Número Inteiro
OperationPriority Opcional Enum (Primário | Secundário1 | Secundário2 | ... | Secundário20)
OperationId Opcional Cadeia
OperationsResourceId Opcional Cadeia
Worker Opcional Cadeia
HoursRouteCostCategoryId Opcional Cadeia
QuantityRouteCostCategoryId Opcional Cadeia
HourlyRate Opcional Real
Hours Opcional Real
GoodQuantity Opcional Real
ErrorQuantity Opcional Real
CatchWeightGoodQuantity Opcional Real
CatchWeightErrorQuantity Opcional Real
QuantityPrice Opcional Real
ProcessingPercentage Opcional Real
ConsumptionDate Opcional Data
TaskType Opcional Enum (QueueBefore | Configuração | Processo | Sobreposição | Transportes | Fila Depois | Ônus)
ErrorCause Opcional Enum (Nenhum | Material | Máquina | OperatingStaff), extensível
OperationCompleted Opcional Enum (Sim | Não)
BOMConsumption Opcional Enum (Sim | Não)
ReportAsFinished Opcional Enum (Sim | Não)

Mensagem Terminar ordem de produção

Para a mensagem de ordem de produção final, o _messageType valor é ProdProductionOrderEnd. A seguinte tabela mostra os campos que esta mensagem suporta.

Nome do campo Estado Tipo
ProductionOrderNumber Obrigatório Cadeia
ExecutedDateTime Opcional DateTime
EndedDate Opcional Data
UseTimeAndAttendanceCost Opcional Enum (Sim | Não)
AutoReportAsFinished Opcional Enum (Sim | Não)
AutoUpdate Opcional Enum (Sim | Não)

Outras informações sobre a produção

As mensagens suportam ações ou eventos que acontecem no local de produção. São processados utilizando a estrutura de integração MES descrita neste artigo. A conceção pressupõe que outras informações de referência a partilhar com o MES (tais como informações relacionadas com o produto, a lista de materiais ou a rota (com as suas horas de configuração e configuração específicas) utilizadas numa ordem de produção específica) serão obtidas do sistema utilizando entidades de dados através da transferência de ficheiros ou OData.

Receber comentários sobre o estado de uma mensagem

Depois de o MES enviar uma mensagem para o Supply Chain Management, poderá ser relevante para o Supply Chain Management devolver comentários sobre o estado da mensagem. Seguem-se alguns exemplos de casos onde este comportamento pode ser relevante:

  • Não existe nenhuma pessoa responsável por supervisionar constantemente a integração com o MES.
  • A pessoa responsável pela supervisão da integração com o MES pretende ser notificada por e-mail quando uma mensagem falha, para que saiba que tem de agir.
  • O MES tem de mostrar uma mensagem de erro para informar o operador do local de produção ou alguém do departamento de TI que tem de agir.
  • O MES tem de recalcular a agenda de encomendas depois de receber uma mensagem de falha (por exemplo, porque uma ordem de produção não foi iniciada).

Nestes casos, pode tirar partido da funcionalidade de alerta padrão no Supply Chain Management. Para obter informações sobre como funcionam os alertas padrão, consulte os seguintes recursos:

Por exemplo, pode configurar os seguintes alertas para fornecer comentários sobre o estado de uma mensagem:

  • Crie um evento empresarial ("Enviar externamente") que seja utilizado quando uma mensagem é Falha.
  • Envie uma notificação e um e-mail para o administrador de TI ou gestor do local de produção.