Integrer med produktionsudførelsessystemer fra tredjeparter

Nogle produktionsorganisationer, der bruger Microsoft Dynamics 365 Supply Chain Management anvender den oprindelige funktionalitet i Dynamics 365 til at styre deres produktionsaktiviteter for maskiner, udstyr og personale. Andre produktionsorganisationer, særligt dem, der har avancerede produktionskrav, bruger i stedet et produktionsudførelsessystem fra tredjepart (MES). Organisationer kan vælge en tredjeparts MES-løsning, fordi den f.eks. er specielt tilpasset deres lodrette branche.

I den integrerede løsning automatiseres dataudvekslingen fuldstændigt og finder sted i næsten realtid. Dataene holdes derfor aktuelle i begge systemer, og der kræves ingen manuel indtastning af data. Når der f.eks. registreres materialeforbrug i MES, sikrer integrationen, at samme forbrug også registreres i Dynamics 365. Derfor er opdaterede lagerposter tilgængelige for andre vigtige processer som f.eks. planlægning og salg.

Løsningen gør det hurtigere, nemmere og billigere for supply chain management-brugere at integrere med tredjeparts-MES'er. Det tilbyder følgende funktioner:

  • Forretningshændelser og grænseflader, der understøtter vigtige processer til produktionsudførelse
  • Et centraliseret dashboard, hvor du kan spore historikken til behandling af hændelser og lokalisere fejl og rette processer, der mislykkes

I følgende illustration vises en typisk samling forretningshændelser, processer og meddelelser, der udveksles i en integreret løsning.

Typisk integrationsscenarie.

Forudsætninger

For at integrere med et tredjeparts produktionsudførelsessystem skal Time and attendance licensnøglen være aktiveret i supply chain management. Følg disse trin for at tjekke, om det er aktiveret, og for at aktivere det, hvis det er nødvendigt:

  1. Gå til Systemadministration > Opsætning > Licenskonfiguration.
  2. Sørg for, at licensnøglen Tid og fremmøde er aktiveret (har markering). Denne licensnøgle er påkrævet, da den styrer produktionsudførelsessystemets funktioner og data. Hvis den ikke er aktiveret, skal du udføre følgende trin:
    1. Sæt systemet i vedligeholdelsestilstand som beskrevet under Vedligeholdelsestilstand.
    2. Markér afkrydsningsfeltet Tid og fremmøde på siden Licenskonfiguration.
    3. Slå vedligeholdelsestilstand fra som beskrevet under Vedligeholdelsestilstand

Processer til MES-integration

Du kan aktivere en hvilken som helst af eller alle følgende integrationsprocesser.

Procesnavn Beskrivelse
Frigive produktionsordrer og produktionsordrestatus af ændringsforretningshændelser Denne proces giver en forretningshændelse, som MES kan lytte til for at få oplysninger om de produktionsordrer, der skal produceres. Referencedata, der er relateret til produktionsordren, forventes at blive delt fra supply chain management til MES via Open Data Protocol (OData) eller dataenheder.
Start produktionsordre Denne proces giver supply chain management oplysninger om produktionsordrer, der startes ved hjælp af MES. Den sikrer, at begge systemer har en opdateret visning af alle produktionsaktiviteter.
Rapportere produceret eller kasseret antal Denne proces giver supply chain management oplysninger om de gode og fejlbehæftede mængder, der rapporteres på et produktionsjob ved hjælp af MES. Det sikrer, at produktionens tilsynsførende har en opdateret visning af status for produktionsplanen.
Rapportere materialeforbrug Denne proces giver supply chain management oplysninger fra MES om antallet af materialer, der forbruges. Den gør opdaterede lagerposter tilgængelige for andre vigtige processer som f.eks. planlægning og salg.
Rapportere tidsforbrug for operationen Denne proces giver supply chain management oplysninger om den tid, der bruges til en bestemt operation.
Slut på produktionsordre Denne proces informerer supply chain management om, at MES har opdateret en produktionsordre til dens endelige status som Afsluttet. Denne status angiver, at der ikke produceres flere mængder på produktionsordren.

Overvåge indgående meddelelser

Du kan overvåge indgående MES-meddelelser til systemet ved at gå til Produktionsstyring > Konfiguration > Produktionsudførelse > Integration af produktionsudførelsessystemer.

Alle beskeder for en specifik produktionsordre behandles i den rækkefølge, de modtages. Dog kan beskeder for forskellige produktionsordrer ikke blive behandlet i den modtagne sekvens, fordi batchjobs behandles parallelt. Hvis der opstår fejl, forsøger batchjobbet at behandle hver meddelelse tre gange, inden det angives til status Mislykket.

Siden Integration af produktionsudførelsessystemer fungerer på samme måde som siden Meddelelser om meddelelsesprocessor og repræsenterer meget lignende funktioner. (Den viser endda MES-beskeder ud over andre typer beskeder.) For information om, hvordan man bruger en af siderne til at gennemgå beskeder, finde og rette fejlede beskeder og mere, se Overvåg og styr meddelelsesprocessor-meddelelser.

Kalde API'en

Hvis du vil kalde MES-integrations-API'en, skal du sende en POST-anmodning til følgende URL-adresse for slutpunkt:

/api/services/SysMessageServices/SysMessageService/SendMessage

Indholdet af den anmodning, du sender, skal ligne følgende eksempel. Erstat værdierne for _companyId, _messageType og _messageContent efter behov. Du kan finde oplysninger om de forskellige meddelelsestyper, som API understøtter, og hvordan indholdet af dem designes, i næste afsnit.

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

API-meddelelsestyper og -indhold

Dette afsnit indeholder en beskrivelse af hver type meddelelse, der kan udveksles via MES-integrations-API.

Meddelelse om start af produktionsordre

For meddelelsen start produktionsordre er _messageType-værdien ProdProductionOrderStart. Følgende tabel indeholder de felter, som denne meddelelse understøtter.

Feltnavn Status Type
ProductionOrderNumber Obligatorisk String
StartedQuantity Valgfrit real
StartedDate Valgfrit Dato
AutomaticBOMConsumptionRule Valgfrit Fasttekst (FlushingPrincip | Altid | Aldrig)
AutomaticRouteConsumptionRule Valgfrit Fasttekst (RouteDependent | Altid | Aldrig)

Færdigmeldingsmeddelelse

For meddelelsen færdigmeld er _messageType-værdien ProdProductionOrderReportFinished. Følgende tabel indeholder de felter, som denne meddelelse understøtter.

Feltnavn Status Type
ProductionOrderNumber Obligatorisk String
ReportFinishedLines Obligatorisk En liste over linjer (mindst én), der hver især indeholder de nyttedata, der er beskrevet i næste tabel
PrintLabel Valgfrit (Kræver supply chain management version 10.0.45 eller nyere) Enum (Ja | Nej)

Følgende tabel viser de felter, som hver linje i sektionen ReportFinishedLines i meddelelsen ProdProductionOrderReportFinished understøtter.

Feltnavn Status Type
LineNumber Valgfrit real
ItemNumber Valgfrit String
ProductionType Valgfrit Fasttekst (MainItem | Formel | Stykliste | Samprodukt | Efter_produkt | Ingen), kan udvides
ReportedErrorQuantity Valgfrit real
ReportedGoodQuantity Valgfrit real
ReportedErrorCatchWeightQuantity Valgfrit real
ReportedGoodCatchWeightQuantity Valgfrit real
AcceptError Valgfrit Enum (Ja | Nej)
ErrorCause Valgfrit Fasttekst (Ingen | Materiale | Maskine | OperatingStaff), kan udvides
ExecutedDateTime Valgfrit Dato og klokkeslæt
ReportAsFinishedDate Valgfrit Dato
AutomaticBOMConsumptionRule Valgfrit Fasttekst (FlushingPrincip | Altid | Aldrig)
AutomaticRouteConsumptionRule Valgfrit Fasttekst (RouteDependent | Altid | Aldrig)
RespectFlushingPrincipleDuringOverproduction Valgfrit Enum (Ja | Nej)
JournalNameId Valgfrit String
PickingListJournalNameId Valgfrit String
RouteCardJournalNameId Valgfrit String
FromOperationNumber Valgfrit Integer
ToOperationNumber Valgfrit Integer
InventoryLotId Valgfrit String
BaseValue Valgfrit String
EndJob Valgfrit Enum (Ja | Nej)
EndPickingList Valgfrit Enum (Ja | Nej)
EndRouteCard Valgfrit Enum (Ja | Nej)
PostNow Valgfrit Enum (Ja | Nej)
AutoUpdate Valgfrit Enum (Ja | Nej)
ProductColorId Valgfrit String
ProductConfigurationId Valgfrit String
ProductSizeId Valgfrit String
ProductStyleId Valgfrit String
ProductVersionId Valgfrit String
ItemBatchNumber Valgfrit String
ProductSerialNumber Valgfrit String
GenerateLicensePlate Valgfrit (Kræver supply chain management version 10.0.45 eller nyere) Enum (Ja | Nej)
LicensePlateNumber Valgfrit String
InventoryStatusId Valgfrit String
ProductionWarehouseId Valgfrit String
ProductionSiteId Valgfrit String
ProductionWarehouseLocationId Valgfrit String
InventoryDimension1 Til InventoryDimension12 Valgfrit String

De 12 udvidelige dimensioner (InventoryDimension1 til InventoryDimension12) kræver tilpasning og bruges ikke altid. Du kan finde flere oplysninger om dem i Tilføje nye lagerdimensioner via udvidelse.

Meddelelse om materialeforbrug (plukliste)

For meddelelsen om materialeforbrug (plukliste) er _messageType-værdien ProdProductionOrderPickingList. Følgende tabel indeholder de felter, som denne meddelelse understøtter.

Feltnavn Status Type
ProductionOrderNumber Obligatorisk String
JournalNameId Valgfrit String
PickingListLines Obligatorisk En liste over linjer (mindst én), der hver især indeholder de nyttedata, der er beskrevet i næste tabel

Følgende tabel viser de felter, som hver linje i sektionen PickingListLines i meddelelsen ProdProductionOrderPickingList understøtter.

Feltnavn Status Type
ItemNumber Obligatorisk String
ConsumptionBOMQuantity Valgfrit real
ProposalBOMQuantity Valgfrit real
ScrapBOMQuantity Valgfrit real
BOMUnitSymbol Valgfrit String
ConsumptionInventoryQuantity Valgfrit real
ProposalInventoryQuantity Valgfrit real
ConsumptionCatchWeightQuantity Valgfrit real
ProposalCatchWeightQuantity Valgfrit real
ConsumptionDate Valgfrit Dato
OperationNumber Valgfrit Integer
LineNumber Valgfrit real
PositionNumber Valgfrit String
IsConsumptionEnded Valgfrit Enum (Ja | Nej)
ErrorCause Valgfrit Fasttekst (Ingen | Materiale | Maskine | OperatingStaff), kan udvides
InventoryLotId Valgfrit String
ProductColorId Valgfrit String
ProductConfigurationId Valgfrit String
ProductSizeId Valgfrit String
ProductStyleId Valgfrit String
ProductVersionId Valgfrit String
ItemBatchNumber Valgfrit String
ProductSerialNumber Valgfrit String
LicensePlateNumber Valgfrit String
InventoryStatusId Valgfrit String
ProductionWarehouseId Valgfrit String
ProductionSiteId Valgfrit String
ProductionWarehouseLocationId Valgfrit String
InventoryDimension1 Til InventoryDimension12 Valgfrit String

Meddelelse om den tid, der bruges til operationen (rutekort)

For meddelelsen om tid, der bruges til operation (rutekort) er _messageType-værdien ProdProductionOrderRouteCard. Følgende tabel indeholder de felter, som denne meddelelse understøtter.

Feltnavn Status Type
ProductionOrderNumber Obligatorisk String
JournalNameId Valgfrit String
RouteCardLines Obligatorisk En liste over linjer (mindst én), der hver især indeholder de nyttedata, der er beskrevet i næste tabel

Følgende tabel viser de felter, som hver linje i sektionen RouteCardLines i meddelelsen ProdProductionOrderRouteCard understøtter.

Feltnavn Status Type
OperationNumber Obligatorisk Integer
OperationPriority Valgfrit Fasttekst (Primær | Sekundær1 | Sekundær2 | ... | Sekundær20)
OperationId Valgfrit String
OperationsResourceId Valgfrit String
Worker Valgfrit String
HoursRouteCostCategoryId Valgfrit String
QuantityRouteCostCategoryId Valgfrit String
HourlyRate Valgfrit real
Hours Valgfrit real
GoodQuantity Valgfrit real
ErrorQuantity Valgfrit real
CatchWeightGoodQuantity Valgfrit real
CatchWeightErrorQuantity Valgfrit real
QuantityPrice Valgfrit real
ProcessingPercentage Valgfrit real
ConsumptionDate Valgfrit Dato
TaskType Valgfrit Fasttekst (QueueBefore | Konfiguration | Proces | Overlap | Transport | QueueAfter | Byrde)
ErrorCause Valgfrit Fasttekst (Ingen | Materiale | Maskine | OperatingStaff), kan udvides
OperationCompleted Valgfrit Enum (Ja | Nej)
BOMConsumption Valgfrit Enum (Ja | Nej)
ReportAsFinished Valgfrit Enum (Ja | Nej)

Meddelelse om slutning af produktionsordre

For meddelelsen slutning af produktionsordre er _messageType-værdien ProdProductionOrderEnd. Følgende tabel indeholder de felter, som denne meddelelse understøtter.

Feltnavn Status Type
ProductionOrderNumber Obligatorisk String
ExecutedDateTime Valgfrit Dato og klokkeslæt
EndedDate Valgfrit Dato
UseTimeAndAttendanceCost Valgfrit Enum (Ja | Nej)
AutoReportAsFinished Valgfrit Enum (Ja | Nej)
AutoUpdate Valgfrit Enum (Ja | Nej)

Andre produktionsoplysninger

Meddelelserne understøtter handlinger eller hændelser, der finder sted i produktionen. De behandles ved hjælp af MES-integrationsrammeværket, som beskrevet i denne artikel. I designet antages det, at andre referenceoplysninger, der skal deles med MES (f.eks. produktrelaterede oplysninger eller styklisten eller ruten (med de specifikke opsætnings- og konfigurationstider), der bruges i en bestemt produktionsordre), hentes fra systemet ved hjælp af dataenheder via filoverførsel eller OData.

Modtage feedback om meddelelsens tilstand

Når MES har sendt en meddelelse til supply chain management, kan det være relevant, at supply chain management returnerer feedback om meddelelsens tilstand. Her er nogle eksempler på situationer, hvor denne funktionsmåde kan være relevant:

  • Ingen person er ansvarlig for konstant at overvåge MES-integrationen.
  • Den person, der er ansvarlig for tilsyn med MES-integrationen, vil have besked via mail, når en meddelelse mislykkes, så de ved, at de er nødt til at gøre noget.
  • MES skal vise en fejlmeddelelse for at informere produktionsoperatøren eller nogen fra it-afdelingen om, at de skal gøre noget.
  • MES skal genberegne ordreplanen, når den har modtaget en fejlmeddelelse (f.eks. fordi en produktionsordre ikke kunne startes).

I disse tilfælde kan du benytte standardpåmindelsesfunktionen i supply chain management. Du kan finde oplysninger om, hvordan standardbeskeder fungerer, i følgende ressourcer:

Du kan f.eks. konfigurere følgende påmindelser for at levere feedback om meddelelsens tilstand:

  • Opret en forretningshændelse ("Send eksternt"), der bruges, når en meddelelse er Ikke udført.
  • Send en besked og en mail til it-administrationen eller produktionschefen.

Ryd op i behandlede og annullerede meddelelser fra meddelelsesprocessoren

Over tid kan behandlede og annullerede beskeder relateret til tredjeparts MES-systemer akkumuleres i systemet, hvilket potentielt påvirker ydeevne og datastyring. Derfor bør du jævnligt rydde op i disse beskeder for at opretholde systemets effektivitet. Læs mere i Rydning op af behandlede og annullerede beskedprocessor-beskeder.