Integrera med tillverkningsutförandesystem från tredje part
Vissa tillverkningsorganisationer som använder Microsoft Dynamics 365 Supply Chain Management använder de ursprungliga funktionerna i Dynamics 365 för att styra sina tillverkningsaktiviteter för maskiner, utrustning och personal. Andra tillverkningsorganisationer, särskilt de som har avancerade tillverkningskrav, använder emellertid i stället ett utförandesystem från tredje part ("MES"). Organisationer kan välja en MES-lösning för tillverkningsutförande från tredje part eftersom den till exempel är skräddarsydd efter deras vertikalintegrerade bransch.
I den integrerade lösningen är datautbytet helt automatiserat och sker i närapå realtid. Därför hålls data uppdaterad i båda system, och manuell datainmatning krävs inte. När materialförbrukning registreras i MES säkerkonfigurerartegreringen till exempel att samma förbrukning också registreras i Dynamics 365. Därför är uppdaterade lagerposter tillgängliga för andra viktiga processer, till exempel planering och försäljning.
Lösningen gör det snabbare, enklare och biligare för Supply Chain Management-användarna att integreras med MES från tredje part. Den erbjuder följande funktioner:
- Affärshändelser och gränssnitt som stöder nyckelprocesser för tillverkningskörning
- En centraliserad instrumentpanel där du kan spåra historiken för händelsebearbetning och felsöka samt åtgärda processer som misslyckas
I följande bild visas en typisk samling affärshändelser, processer och meddelanden som utbyts i en integrerad lösning.
Aktivera integreringsfunktionen för MES
Innan du kan använda den här funktionen måste en administratör aktivera den i ditt system enligt beskrivningen i följande procedur.
- Öppna Systemadministration > Inställningar > Licenskonfiguration.
- Kontrollera att licensnyckeln för tid och närvaro är aktiverad (markeras med en bockmarkering). Den här licensnyckeln krävs eftersom den styr tillverkningskörningssystemets funktioner och data. Om den inte är aktiverad gör du så här:
- Sätt ditt system i underhållsläge enligt beskrivningen i underhållsläge.
- På sidan Licenskonfiguration markerar du kryssrutan Tid och närvaro.
- Inaktivera underhållsläge enligt beskrivningen i underhållsläge
- Gå till Systemadministration > Arbetsytor > Funktionshantering.
- Använd arbetsytan funktionshantering när du vill aktivera funktionen Integrering med tillverkningskörningssystem. (Från och med version 10.0.29 av Supply Chain Management är denna funktion aktiverad som standard. Från och med version 10.0.32 av Supply Chain Management är denna funktion obligatorisk och kan stängas av.)
Tillgängliga processer för MES-integrering
Du kan aktivera en eller samtliga av följande processer för integrering.
Processnamn | Beskrivning |
---|---|
Frisläpp tillverkningsorder och affärshändelser för ändringar i produktionsorderstatus | Den här processen är en affärshändelse som MES kan lyssna på och som visar information om de tillverkningsorder som ska tillverkas. Referensdata som är relaterade till tillverkningsordern förväntas delas från Supply Chain Management till MES via Open Data Protocol (OData) eller dataenheter. |
Starta produktionsorder | Den här processen förser Supply Chain Management med information om tillverkningsorder som startas med hjälp av MES. Det garanterar att båda systemen har en aktuell vy över alla tillverkningsaktiviteter. |
Rapportera producerad eller kasserad kvantitet | Den här processen förser Supply Chain Management med information om lyckade och misslyckade kvantiteter som rapporteras för ett tillverkningsjobb med hjälp av MES. Det garanterar att arbetsledarna på golvet får en aktuell vy av produktionens planförlopp. |
Rapportera materialförbrukning | Den här processen förser Supply Chain Management med information från MES om de materialkvantiteter som förbrukas. Den gör uppdaterade lagerposter tillgängliga för andra viktiga processer, till exempel planering och försäljning. |
Rapportera den tid som förbrukats för åtgärden | Denna process förser Supply Chain Management med information om den tid som används för en viss åtgärd. |
Slutproduktionsorder | Denna process informerar Supply Chain Management om att MES har uppdaterat en tillverkningsorder till dess slutliga status Avslutad. Denna status indikerar att inga fler kvantiteter kommer att produceras på tillverkningsordern. |
Övervaka inkommande meddelanden
Om du vill övervaka inkommande MES-meddelanden till systemet går du till Produktionskontroll > Inställningar > Tillverkningskörning > Integrering med tillverkningskörningssystem.
Alla meddelanden för en viss tillverkningsorder bearbetas i den ordning de tas emot. Det kan dock hända att meddelanden för olika tillverkningsorder inte bearbetas i den mottagna serien eftersom batchjobb bearbetas parallellt. Om det misslyckas försöker batchjobbet att bearbeta varje meddelande tre gånger innan det får statusvärdet Misslyckat.
Sidan Integrering av körningssystem för tillverkning fungerar på samma sätt som Meddelandeprocessorn och representerar mycket likartade funktioner. (Den visar till och med MES-meddelanden utöver andra typer av meddelanden.) För information om hur du använder någon av sidorna för att granska meddelanden, hitta och åtgärda misslyckade meddelanden och mer, se Sidlänk för meddelandeprocessormeddelanden
Anropa API
Om du vill anropa API för MES-integrering ska du skicka en POST
-begäran till följande slutpunkts-URL:
/api/services/SysMessageServices/SysMessageService/SendMessage
Brödtexten i den begäran som du skickar bör se ut ungefär som i följande exempel. Byt ut värdena för _companyId
, _messageType
och _messageContent
efter behov. Information om olika meddelandetyper som API har stöd för och hur du utformar dessas innehåll finns i nästa avsnitt.
{
"_companyId": "USMF",
"_messageQueue": "JmgMES3P",
"_messageType": "ProdProductionOrderReportFinished",
"_messageContent":
"{\"ProductionOrderNumber\": \"P000123\", \"ReportFinishedLines\": [{\"ItemNumber\": \"A0001\", \"ReportedGoodQuantity\": 10, \"ReportAsFinishedDate\": \"2021-01-01\"}]}"
}
Meddelandetyper och innehåll för API
I det här avsnittet beskrivs varje enskild meddelandetyp som kan utbytas via API för MES-integrering.
Meddelandet Starta produktionsorder
För meddelandet om starta produktionsorder är värdet för _messageType
lika med ProdProductionOrderStart
. Följande tabell visar de fält som detta meddelande stöder.
Fältnamn | Status | Typ |
---|---|---|
ProductionOrderNumber |
Obligatoriskt | Sträng |
StartedQuantity |
Valfritt | Realtal |
StartedDate |
Valfritt | Datum |
AutomaticBOMConsumptionRule |
Valfritt | Uppräkning (FlushingPrincip | Alltid | Aldrig) |
Meddelandet Rapportera som färdig
För meddelandet Rapportera som färdig är värdet _messageType
lika med ProdProductionOrderReportFinished
. Följande tabell visar de fält som detta meddelande stöder.
Fältnamn | Status | Typ |
---|---|---|
ProductionOrderNumber |
Obligatoriskt | Sträng |
ReportFinishedLines |
Obligatoriskt | En lista med rader (minst en) där var och en innehåller den nyttolast som beskrivs i nästa tabell |
Följande tabell visar de fält som varje rad i ReportFinishedLines
-avsnittet av ProdProductionOrderReportFinished
-meddelandet stöder.
Fältnamn | Status | Typ |
---|---|---|
LineNumber |
Valfritt | Realtal |
ItemNumber |
Valfritt | Sträng |
ProductionType |
Valfritt | Uppräkning (MainItem | Formel | Strukturlista | Co_Product | By_Product | Ingen), utbyggbar |
ReportedErrorQuantity |
Valfritt | Realtal |
ReportedGoodQuantity |
Valfritt | Realtal |
ReportedErrorCatchWeightQuantity |
Valfritt | Realtal |
ReportedGoodCatchWeightQuantity |
Valfritt | Realtal |
AcceptError |
Valfritt | Enum (Ja | nej) |
ErrorCause |
Valfritt | Uppräkning (Ingen | Material | Maskin | OperatingStaff), utbyggbar |
ExecutedDateTime |
Valfritt | DatumTid |
ReportAsFinishedDate |
Valfritt | Datum |
AutomaticBOMConsumptionRule |
Valfritt | Uppräkning (FlushingPrincip | Alltid | Aldrig) |
AutomaticRouteConsumptionRule |
Valfritt | Uppräkning (RouteDependent | Alltid | Aldrig) |
RespectFlushingPrincipleDuringOverproduction |
Valfritt | Enum (Ja | nej) |
JournalNameId |
Valfritt | Sträng |
PickingListJournalNameId |
Valfritt | Sträng |
RouteCardJournalNameId |
Valfritt | Sträng |
FromOperationNumber |
Valfritt | Heltal |
ToOperationNumber |
Valfritt | Heltal |
InventoryLotId |
Valfritt | Sträng |
BaseValue |
Valfritt | Sträng |
EndJob |
Valfritt | Enum (Ja | nej) |
EndPickingList |
Valfritt | Enum (Ja | nej) |
EndRouteCard |
Valfritt | Enum (Ja | nej) |
PostNow |
Valfritt | Enum (Ja | nej) |
AutoUpdate |
Valfritt | Enum (Ja | nej) |
ProductColorId |
Valfritt | Sträng |
ProductConfigurationId |
Valfritt | Sträng |
ProductSizeId |
Valfritt | Sträng |
ProductStyleId |
Valfritt | Sträng |
ProductVersionId |
Valfritt | Sträng |
ItemBatchNumber |
Valfritt | Sträng |
ProductSerialNumber |
Valfritt | Sträng |
LicensePlateNumber |
Valfritt | Sträng |
InventoryStatusId |
Valfritt | Sträng |
ProductionWarehouseId |
Valfritt | Sträng |
ProductionSiteId |
Valfritt | Sträng |
ProductionWarehouseLocationId |
Valfritt | Sträng |
InventoryDimension1 till InventoryDimension12 |
Valfritt | Sträng |
De 12 utökningsbara dimensionerna (InventoryDimension1
genom InventoryDimension12
) kräver anpassning och används inte alltid. Mer information om dem finns i Lägg till nya lagerdimensioner via tillägg.
Meddelande om materialförbrukning (plocklista)
För meddelandet materialförbrukning (plocklista) är värdet för _messageType
lika med ProdProductionOrderPickingList
. Följande tabell visar de fält som detta meddelande stöder.
Fältnamn | Status | Typ |
---|---|---|
ProductionOrderNumber |
Obligatoriskt | Sträng |
JournalNameId |
Valfritt | Sträng |
PickingListLines |
Obligatoriskt | En lista med rader (minst en) där var och en innehåller den nyttolast som beskrivs i nästa tabell |
Följande tabell visar de fält som varje rad i PickingListLines
-avsnittet av ProdProductionOrderPickingList
-meddelandet stöder.
Fältnamn | Status | Typ |
---|---|---|
ItemNumber |
Obligatoriskt | Sträng |
ConsumptionBOMQuantity |
Valfritt | Realtal |
ProposalBOMQuantity |
Valfritt | Realtal |
ScrapBOMQuantity |
Valfritt | Realtal |
BOMUnitSymbol |
Valfritt | Sträng |
ConsumptionInventoryQuantity |
Valfritt | Realtal |
ProposalInventoryQuantity |
Valfritt | Realtal |
ConsumptionCatchWeightQuantity |
Valfritt | Realtal |
ProposalCatchWeightQuantity |
Valfritt | Realtal |
ConsumptionDate |
Valfritt | Datum |
OperationNumber |
Valfritt | Heltal |
LineNumber |
Valfritt | Realtal |
PositionNumber |
Valfritt | Sträng |
IsConsumptionEnded |
Valfritt | Enum (Ja | nej) |
ErrorCause |
Valfritt | Uppräkning (Ingen | Material | Maskin | OperatingStaff), utbyggbar |
InventoryLotId |
Valfritt | Sträng |
Tid som används för åtgärdsmeddelande (flödeskort)
För meddelandet tid som används för åtgärd (flödeskort) är värdet för _messageType
lika med ProdProductionOrderRouteCard
. Följande tabell visar de fält som detta meddelande stöder.
Fältnamn | Status | Typ |
---|---|---|
ProductionOrderNumber |
Obligatoriskt | Sträng |
JournalNameId |
Valfritt | Sträng |
RouteCardLines |
Obligatoriskt | En lista med rader (minst en) där var och en innehåller den nyttolast som beskrivs i nästa tabell |
Följande tabell visar de fält som varje rad i RouteCardLines
-avsnittet av ProdProductionOrderRouteCard
-meddelandet stöder.
Fältnamn | Status | Typ |
---|---|---|
OperationNumber |
Obligatoriskt | Heltal |
OperationPriority |
Valfritt | Uppräkning (Primär | Sekundär1 | Sekundär2 | ... | Sekundär20) |
OperationId |
Valfritt | Sträng |
OperationsResourceId |
Valfritt | Sträng |
Worker |
Valfritt | Sträng |
HoursRouteCostCategoryId |
Valfritt | Sträng |
QuantityRouteCostCategoryId |
Valfritt | Sträng |
HourlyRate |
Valfritt | Realtal |
Hours |
Valfritt | Realtal |
GoodQuantity |
Valfritt | Realtal |
ErrorQuantity |
Valfritt | Realtal |
CatchWeightGoodQuantity |
Valfritt | Realtal |
CatchWeightErrorQuantity |
Valfritt | Realtal |
QuantityPrice |
Valfritt | Realtal |
ProcessingPercentage |
Valfritt | Realtal |
ConsumptionDate |
Valfritt | Datum |
TaskType |
Valfritt | Uppräkning (QueueBefore | Konfiguration | Process | Överlappning | Transport | QueueAfter | Ej fakturerbart) |
ErrorCause |
Valfritt | Uppräkning (Ingen | Material | Maskin | OperatingStaff), utbyggbar |
OperationCompleted |
Valfritt | Enum (Ja | nej) |
BOMConsumption |
Valfritt | Enum (Ja | nej) |
ReportAsFinished |
Valfritt | Enum (Ja | nej) |
Meddelandet Avsluta produktionsorder
För meddelandet avsluta produktionsorder är värdet för _messageType
lika med ProdProductionOrderEnd
. Följande tabell visar de fält som detta meddelande stöder.
Fältnamn | Status | Typ |
---|---|---|
ProductionOrderNumber |
Obligatoriskt | Sträng |
ExecutedDateTime |
Valfritt | DatumTid |
EndedDate |
Valfritt | Datum |
UseTimeAndAttendanceCost |
Valfritt | Enum (Ja | nej) |
AutoReportAsFinished |
Valfritt | Enum (Ja | nej) |
AutoUpdate |
Valfritt | Enum (Ja | nej) |
Annan produktionsinformation
Meddelandena stöder åtgärder eller händelser som inträffar i arbetsgolvet. De bearbetas med hjälp av MES-integreringsramverket som beskrivs i denna artikel. Designen förutsätter att annan referensinformation som ska delas med MES (till exempel produktrelaterad information, strukturlista eller flöde (med dess specifika inställnings- och konfigurationstider) som används i en viss tillverkningsorder) hämtas från systemet med hjälp av dataenheter via filöverföring eller OData.
Få feedback om statusen för ett meddelande
När MES har skickat ett meddelande till Supply Chain Management kan det vara relevant för Supply Chain Management att returnera feedback om meddelandets status. Här följer några exempel på situationer där den här metoden kan vara användbar:
- Det finns ingen person som ansvarar för ansvar för konstant övervakning av MES-integreringen.
- Den person som ansvarar för att övervaka MES-integreringen vill meddelas via e-post när ett meddelande misslyckas, så att han eller hon vet att de måste vidta åtgärder.
- MES måste visa ett felmeddelande i syfte att informera operatorn på golvet eller någon på IT-avdelningen om att de måste vidta åtgärder.
- MES måste omberäkna orderschemat när det har fått ett felmeddelande (till exempel eftersom tillverkningsordern inte kunde starta).
I dessa fall kan du använda standard-notifieringsfunktionen i Supply Chain Management. Mer information om hur standardvarningar fungerar finns i följande resurser:
- Hjälpartikel: Notifieringar – översikt
- Video: Alternativ för notifieringsregel i Ekonomi och drift
Du kan till exempel konfigurera följande notifieringar om du vill ge återkoppling rörande en meddelandestatus:
- Skapa en affärshändelse ("Skicka externt") som används när ett meddelande misslyckats.
- Skicka ett meddelande och e-post till IT-admin eller produktionschefen.