Integráció külső gyártásvégrehajtási rendszerekkel

Egyes gyártó szervezetek, amelyek a Microsoft Dynamics 365 Supply Chain Management natív funkcióit használják a Dynamics 365-ben, gépekre, berendezésekre és személyzetre vonatkozó gyártási tevékenységeik szabályozására. Azonban más gyártó szervezetek, különösen azok, amelyek gyártási követelményei magas szintűek, egy harmadik fél gyártás-végrehajtási rendszerét (MES) használják helyette. A szervezetek például egy harmadik féltől származó MES-megoldást választhatnak, mivel ez például a iparágra szabott.

Az integrált megoldásban az adatcsere teljesen automatizált, és a közel valós időben történik. Emiatt az adatok mindkét rendszerben naprakészek maradnak, és nem szükséges manuális adatbevitel. Ha például az anyagfelhasználás regisztrálva van a MES rendszerből, az integráció biztosítja, hogy ugyanaz a felhasználás is regisztrálva lesz a Dynamics 365-ben. Ennek megfelelően a többi fontos folyamat, például a tervezés és az értékesítés, naprakész készletrekordok érhetők el.

A megoldás lehetővé teszi, hogy az ellátásilánc-kezelő felhasználók gyorsabban, egyszerűbben és könnyebben integrálják az ellátásilánc-kezelő felhasználókat a külső MES-ekkel. A következő funkciókat kínálja:

  • A kulcsgyártási végrehajtási folyamatokat támogató üzleti események és interfészek
  • Egy központosított irányítópult, amely nyomon követheti az eseményfeldolgozási előzményeket, és elháríthatja és kijavíthatja a sikertelen folyamatokat.

A következő ábra az integrált megoldásban cserélt üzleti események, folyamatok és üzenetek egy jellemző gyűjteményét mutatja be.

Tipikus integrációs helyzet.

A MES-integráció funkció bekapcsolása

A funkció használata előtt a rendszergazdának a következő eljárás szerint be kell kapcsolnia azt a rendszerben.

  1. Ugrás a Rendszerfelügyelet – Beállítás > licenckonfigurációhoz >.
  2. Győződjön meg róla, hogy a Idő és jelenlét licenckulcs engedélyezve van (pipa látható). Erre a licenckulcsra azért van szükség, mert szabályozza a gyártásvégrehajtási rendszer funkcióit és adatait. Ha nincs engedélyezve, tegye a következő lépéseket:
    1. Helyezze a rendszert karbantartási módba a Karbantartási módban leírtak szerint.
    2. Jelölje be a Licenc konfigurációs lapján a Idő és jelenlét jelölőnégyzetet.
    3. A karbantartási mód kikapcsolása a Karbantartási módban leírt módon
  3. Ugrás a Rendszerfelügyeleti > munkaterületek funkciókezeléshez >.
  4. A Szolgáltatáskezelési munkaterületen bekapcsolhatja a Gyártás-végrehajtási rendszer integrációs szolgáltatását. (Az Ellátásilánc-kezelés 10.0.29-es verziója szerint ez a funkció alapértelmezés szerint be van kapcsolva. Az Ellátásilánc-kezelés 10.0.32-es verziója szerint kötelező, és nem lehet kikapcsolni.)

MES-integrációhoz elérhető folyamatok

Az alábbi folyamatok bármelyikét engedélyezheti integrációra.

Feldolgozás neve Leírás
Termelési rendelések kiadása és a termelési rendelés állapotváltozási üzleti eseményei Ez a folyamat olyan üzleti eseményt biztosít, amelyet a MES figyelhet, hogy információkat kap a termelni szükséges termelési rendelésekről. A termelési rendeléshez kapcsolódó hivatkozási adatokat várhatóan megosztják az Ellátásilánc-kezelés és a MES között nyitott adat protokollal (OData) vagy adatentitásokkal.
Termelési rendelés indítása Ez a folyamat a MES használatával elindított termelési rendelésekről nyújt információkat az ellátásilánc-kezeléshez. Gondoskodik arról, hogy mindkét rendszer naprakészen legyen minden gyártási tevékenységről.
Termelt vagy selejtes mennyiség jelentése Ez a folyamat az ellátásilánc-kezeléshez információt nyújt a termelési feladattal kapcsolatban a MES segítségével jelentett helyes és hibás mennyiségekről. Gondoskodik arról, hogy az üzemvezetők naprakészen tekintsenek a termelési tervek folyamatáról.
Anyagfelhasználás jelentése Ez a folyamat az ellátásilánc-kezeléshez információt nyújt a MES számára a felhasznált anyagok mennyiségével kapcsolatban. Naprakész készletrekordokat tesz elérhetővé más fontos folyamatok, például a tervezés és az értékesítés számára.
A művelet felhasznált időének jelentése Ez a folyamat információt nyújt az ellátásilánc-kezelésnek arról az időről, amely egy adott művelethez szükséges.
Termelési rendelés befejezése Ez a folyamat tájékoztatja az ellátásilánc-kezelőt, hogy a MES frissítette a termelési rendelést a végleges állapotára . Ez az állapot azt jelzi, hogy a termelési rendelésen nem készül több mennyiség.

Bejövő üzenetek figyelése

A rendszerbe beérkező MES-üzenetek figyelése érdekében menjen a Gyártásvezérlés >> beállítása gyártás-végrehajtási > rendszerekkel való integrációhoz.

Egy adott termelési rendelés minden üzenetét a fogadási sorrendben feldolgozi a rendszer. A különböző termelési rendelések üzeneteit azonban a kapott sorrendben nem lehet feldolgozni, mert a kötegelt feladatok párhuzamos feldolgozásra futnak. Hiba esetén a kötegelt feladat háromszor próbál meg feldolgozni minden üzenetet, mielőtt Sikertelen állapotúra áll .

A Gyártás-végrehajtási rendszerek integrációs lapja ugyanúgy működik, mint az Üzenetfeldolgozó üzenetlapja, és nagyon hasonló funkciókat képvisel. (A többi üzenettípuson kívül MES-üzeneteket is tartalmaz.) A két lap használatával kapcsolatos tudnivalók az üzenetek áttekintését, a sikertelen üzenetek keresését és kijavítását, valamint további tudnivalókat lásd az Üzenetfeldolgozó üzenetek oldalon.

Az API hívása

A MES integrációs API hívásához küldjön egy kérést a POST következő végpont URL-címének:

/api/services/SysMessageServices/SysMessageService/SendMessage

A küldött kérés törzsének a következő példához hasonlónak kell lennie. Értékek cseréje a következőben _companyId és _messageType szükség _messageContent szerint: Az API által támogatott különféle üzenettípusokról és a tartalom megtervezéseről a következő szakaszban található tájékoztatás.

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

API-üzenettípusok és -tartalom

Ez a szakasz leírja az egyes üzenettípusokat, amelyek a MES integrációs API-n keresztül át cserélhetők.

Termelési rendelés üzenetének kezdete

A termelési rendelés indítási üzenetében ez _messageType az érték ProdProductionOrderStart. Az alábbi táblázat bemutatja az üzenet által támogatott mezőket.

Mezőnév Állapot Típus
ProductionOrderNumber Kötelező Sztring
StartedQuantity Választható Valós
StartedDate Választható Dátum
AutomaticBOMConsumptionRule Választható Enum (FlushingPrincip | Mindig | Soha)

Készként jelentés üzenete

A készként jelentés üzenetében ez _messageType az érték ProdProductionOrderReportFinished. Az alábbi táblázat bemutatja az üzenet által támogatott mezőket.

Mezőnév Állapot Típus
ProductionOrderNumber Kötelező Sztring
ReportFinishedLines Kötelező A következő táblában leírt rakományt tartalmazó sorok (legalább egy) listája

Az alábbi táblázat bemutatja azokat a mezőket, amelyek az ReportFinishedLinesProdProductionOrderReportFinished üzenet szakaszának egyes sorait támogatják.

Mezőnév Állapot Típus
LineNumber Választható Valós
ItemNumber Választható Sztring
ProductionType Választható Enum (MainItem | Képlet | Anyagjegyzék | Co_Product | By_Product | Nincs), extensible
ReportedErrorQuantity Választható Valós
ReportedGoodQuantity Választható Valós
ReportedErrorCatchWeightQuantity Választható Valós
ReportedGoodCatchWeightQuantity Választható Valós
AcceptError Választható Enum (Igen | Nem)
ErrorCause Választható Enum (nincs | Anyag | Gép | OperatingStaff), extensible
ExecutedDateTime Választható DateTime
ReportAsFinishedDate Választható Dátum
AutomaticBOMConsumptionRule Választható Enum (FlushingPrincip | Mindig | Soha)
AutomaticRouteConsumptionRule Választható Enum (RouteDependent | Mindig | Soha)
RespectFlushingPrincipleDuringOverproduction Választható Enum (Igen | Nem)
ProductionJournalNameId Választható Sztring
PickingListProductionJournalNameId Választható Sztring
RouteCardProductionJournalNameId Választható Sztring
FromOperationNumber Választható Egész
ToOperationNumber Választható Egész
InventoryLotId Választható Sztring
BaseValue Választható Sztring
EndJob Választható Enum (Igen | Nem)
EndPickingList Választható Enum (Igen | Nem)
EndRouteCard Választható Enum (Igen | Nem)
PostNow Választható Enum (Igen | Nem)
AutoUpdate Választható Enum (Igen | Nem)
ProductColorId Választható Sztring
ProductConfigurationId Választható Sztring
ProductSizeId Választható Sztring
ProductStyleId Választható Sztring
ProductVersionId Választható Sztring
ItemBatchNumber Választható Sztring
ProductSerialNumber Választható Sztring
LicensePlateNumber Választható Sztring
InventoryStatusId Választható Sztring
ProductionWarehouseId Választható Sztring
ProductionSiteId Választható Sztring
ProductionWarehouseLocationId Választható Sztring
InventoryDimension1 / InventoryDimension12 Választható Sztring

A 12 extensible dimenziót (InventoryDimension1InventoryDimension12át) testre kell szabni, és nem mindig használatosak. A dimenziókkal kapcsolatos további tudnivalókat lásd az Új készletdimenziók hozzáadása kiterjesztéssel.

Anyagfelhasználási (kitárolási lista) üzenet

Az anyagfelhasználási (kitárolási lista) üzenetnél _messageType az érték ProdProductionOrderPickingList Az alábbi táblázat bemutatja az üzenet által támogatott mezőket.

Mezőnév Állapot Típus
ProductionOrderNumber Kötelező Sztring
JournalNameId Választható Sztring
PickingListLines Kötelező A következő táblában leírt rakományt tartalmazó sorok (legalább egy) listája

Az alábbi táblázat bemutatja azokat a mezőket, amelyek az PickingListLinesProdProductionOrderPickingList üzenet szakaszának egyes sorait támogatják.

Mezőnév Állapot Típus
ItemNumber Kötelező Sztring
ConsumptionBOMQuantity Választható Valós
ProposalBOMQuantity Választható Valós
ScrapBOMQuantity Választható Valós
BOMUnitSymbol Választható Sztring
ConsumptionInventoryQuantity Választható Valós
ProposalInventoryQuantity Választható Valós
ConsumptionCatchWeightQuantity Választható Valós
ProposalCatchWeightQuantity Választható Valós
ConsumptionDate Választható Dátum
OperationNumber Választható Egész
LineNumber Választható Valós
PositionNumber Választható Sztring
IsConsumptionEnded Választható Enum (Igen | Nem)
ErrorCause Választható Enum (nincs | Anyag | Gép | OperatingStaff), extensible
InventoryLotId Választható Sztring

Művelethez (útvonalkártya) küldött üzenethez felhasznált idő

A művelethez (útvonalkártya-üzenethez) felhasznált időre ez az _messageType érték ProdProductionOrderRouteCard. Az alábbi táblázat bemutatja az üzenet által támogatott mezőket.

Mezőnév Állapot Típus
ProductionOrderNumber Kötelező Sztring
JournalNameId Választható Sztring
RouteCardLines Kötelező A következő táblában leírt rakományt tartalmazó sorok (legalább egy) listája

Az alábbi táblázat bemutatja azokat a mezőket, amelyek az RouteCardLinesProdProductionOrderRouteCard üzenet szakaszának egyes sorait támogatják.

Mezőnév Állapot Típus
OperationNumber Kötelező Egész
OperationPriority Választható Enum (elsődleges | Másodlagos1 | Másodlagos2 | ... | Másodlagos20)
OperationId Választható Sztring
OperationsResourceId Választható Sztring
Worker Választható Sztring
HoursRouteCostCategoryId Választható Sztring
QuantityRouteCostCategoryId Választható Sztring
HourlyRate Választható Valós
Hours Választható Valós
GoodQuantity Választható Valós
ErrorQuantity Választható Valós
CatchWeightGoodQuantity Választható Valós
CatchWeightErrorQuantity Választható Valós
QuantityPrice Választható Valós
ProcessingPercentage Választható Valós
ConsumptionDate Választható Dátum
TaskType Választható Enum (QueueBefore | Beállítás | Folyamat | Átfedés | Szállítás | QueueAfter | Terhelés)
ErrorCause Választható Enum (nincs | Anyag | Gép | OperatingStaff), extensible
OperationCompleted Választható Enum (Igen | Nem)
BOMConsumption Választható Enum (Igen | Nem)
ReportAsFinished Választható Enum (Igen | Nem)

Termelési rendelés üzenetének vége

A termelési rendelés végének üzenete _messageType az érték ProdProductionOrderEnd. Az alábbi táblázat bemutatja az üzenet által támogatott mezőket.

Mezőnév Állapot Típus
ProductionOrderNumber Kötelező Sztring
ExecutedDateTime Választható DateTime
EndedDate Választható Dátum
UseTimeAndAttendanceCost Választható Enum (Igen | Nem)
AutoReportAsFinished Választható Enum (Igen | Nem)
AutoUpdate Választható Enum (Igen | Nem)

Egyéb termelési adatok

Az üzenetek az üzletben történik műveleteket és eseményeket támogatják. A feldolgozásuk az ebben a cikkben ismertetett MES integrációs keretrendszer használatával folyamatban van. A terv feltételezi, hogy a rendszer más hivatkozási adatokat (például a termékhez kapcsolódó információkat, vagy az anyagjegyzéket vagy útvonalat (a konkrét beállítási és konfigurációs időivel) fájlátvitel útján), illetve OData adatok felhasználásával olvassa be a rendszerből.

Visszajelzés fogadása egy üzenet állapotáról

Miután a MES elküldte az üzenetet az ellátásilánc-kezelésnek, az ellátásilánc-kezelésnek vissza kell küldenie az üzenet állapotára vonatkozó visszajelzést. Néhány példa olyan esetekre, amelyekben fontos lehet ez a viselkedés:

  • Nincs olyan személy, aki felelős a MES-integráció folyamatos felügyeletéért.
  • A MES-integráció felügyeletéért felelős személyt e-mailben értesíteni kell, ha egy üzenet sikertelen, és tudják, hogy meg kell intézkedéseketük.
  • A MES-nek egy hibaüzenetet kell mutatnia, amely tájékoztatja az üzemben kezelőt vagy az informatikai részlegtől, hogy lépéseket kell- e küldeniük.
  • A MES-nek újra kellszámoznia a rendelés ütemezését, miután hibaüzenetet kapott (például mert egy termelési rendelést nem sikerült elindítani).

Ilyen esetekben az Ellátásilánc-kezelés általános figyelmeztetési szolgáltatása használható. A normál figyelmeztetések hogyan működnek, az alábbi forrásokban található tájékoztatás:

Beállíthatja például az alábbi figyelmeztetéseket, hogy visszajelzést ad az üzenetek állapotáról:

  • Hozzon létre egy olyan üzleti eseményt ("Külső küldés"), amely az üzenet sikertelen küldése esetén használatos.
  • Értesítés és e-mail küldése az rendszergazdának vagy a termelés felelősének.