التكامل مع أنظمة تنفيذ التصنيع التابعة لجهات خارجية

تستخدم بعض مؤسسات التصنيع التي تستخدم Microsoft Dynamics 365 Supply Chain Management الوظائف الأصلية في Dynamics 365 للتحكم في أنشطة التصنيع الخاصة بها للآلات والمعدات والموظفين. ومع ذلك، فإن مؤسسات التصنيع الأخرى، خاصة تلك التي لديها متطلبات تصنيع متقدمة، تستخدم نظام تنفيذ التصنيع لطرف ثالث (MES) بدلاً من ذلك. قد تختار المؤسسات حل MES لجهة خارجية لأنه، على سبيل المثال، مصمم خصيصًا للصناعة الرأسية الخاصة بهم.

في الحل المتكامل، يتم تبادل البيانات آليًا بالكامل ويحدث في الوقت الفعلي تقريبًا. لذلك، يتم الاحتفاظ بالبيانات محدثة في كلا النظامين، ولا يلزم إدخال بيانات يدويًا. على سبيل المثال، عند تسجيل استهلاك المواد في MES، يضمن التكامل تسجيل نفس الاستهلاك أيضًا في Dynamics 365. لذلك، تتوفر سجلات المخزون الحديثة لعمليات مهمة أخرى، مثل التخطيط والمبيعات.

يجعل الحل من الاندماج أسرع وأسهل وأرخص تكلفة لمستخدمي Supply Chain Management مع الأنظمة MES التابعة لجهات خارجية. يقدم الميزات التالية:

  • واجهات وأحداث العمل التي تدعم عمليات تنفيذ التصنيع الرئيسية
  • لوحة معلومات مركزية حيث يمكنك تتبع محفوظات معالجة الحدث واستكشاف الأخطاء وإصلاحها وإصلاح العمليات التي تفشل

يوضح الرسم التوضيحي التالي مجموعة نموذجية من أحداث الأعمال والعمليات والرسائل التي يتم تبادلها في حل متكامل.

سيناريو التكامل النموذجي.

تشغيل ميزة تكامل MES

قبل أن تتمكن من استخدام هذه الميزة، يجب على أحد المسؤولين تشغيلها في النظام لديك كما هو موضح في الإجراء التالي.

  1. انتقل إلى إدارة النظام > الإعداد > تكوين الترخيص.
  2. تأكد من تمكين مفتاح ترخيص الوقت والحضور (يظهر علامة اختيار). مفتاح الترخيص هذا مطلوب لأنه يتحكم في وظائف وبيانات نظام تنفيذ التصنيع. في حالة عدم تمكينه، اتبع الخطوات التالية:
    1. وضع النظام في وضع الصيانة كما هو موضح في وضع الصيانة.
    2. في صفحة تكوين الترخيص، حدد خانة اختيار الوقت والحضور.
    3. إيقاف تشغيل وضع الصيانة كما هو موضح في وضع الصيانة
  3. انتقل إلى إدارة النظام > مساحات العمل > إدارة الميزات.
  4. استخدم مساحة عمل أداره الميزات لتشغيل ميزه تكامل نظام تنفيذ التصنيع. (اعتبارًا من الإصدار 10.0.29 من Supply Chain Management، هذه الميزة قيد التشغيل بشكل افتراضي. اعتبارًا من الإصدار 10.0.32 من Supply Chain Management، فهي إلزامية ولا يمكن إيقاف تشغيلها.)

العمليات المتاحة لتكامل MES

يمكنك تمكين أي من العمليات التالية أو جميعها للتكامل.

اسم العملية Description
تحرير أوامر الإنتاج وتغيير حالة أمر الإنتاج وأحداث العمل توفر هذه العملية حدثًا تجاريًا يمكن أن تستمع إليه MES، للحصول على معلومات حول أوامر الإنتاج التي ينبغي إنتاجها. من المتوقع مشاركة البيانات المرجعية المتعلقة بأمر الإنتاج من Supply Chain Management إلى MES من خلال بروتوكول البيانات المفتوحة (OData) أو كيانات البيانات.
بدء أمر الإنتاج توفر هذه العملية لـ Supply Chain Management معلومات حول أوامر الإنتاج التي يتم بدء تشغيلها باستخدام MES. يضمن أن كلا النظامين لهما عرض محدث لجميع أنشطة التصنيع.
الإبلاغ عن الكمية المنتجة أو الملغاة توفر هذه العملية لـ Supply Chain Management معلومات حول كميات البضائع والخطأ التي يتم الإبلاغ عنها في وظيفة الإنتاج باستخدام MES. إنه يضمن أن المشرفين على أرض المتجر لديهم عرض محدث لتقدم خطة الإنتاج.
الإبلاغ عن استهلاك المواد توفر هذه العملية لـ Supply Chain Management معلومات من MES حول كميات المواد المستهلكة. إنه يجعل سجلات المخزون المحدثة متاحة للعمليات الهامة الأخرى، مثل التخطيط والمبيعات.
الإبلاغ عن الوقت المستغرق في العملية تزود هذه العملية Supply Chain Management بمعلومات حول الوقت المستخدم لعملية معينة.
إنهاء أمر الإنتاج تُعلم هذه العملية Supply Chain Management بأن MES قد قامت بتحديث أمر الإنتاج إلى حالته النهائية منتهي. تشير هذه الحالة إلى أنه لن يتم إنتاج المزيد من الكميات في أمر الإنتاج.

مراقبة الرسائل الواردة

لمراقبة رسائل MES الواردة إلى النظام، انتقل إلى التحكم في الإنتاج > الإعداد > تنفيذ التصنيع > تكامل أنظمة تنفيذ التصنيع.

تتم معالجة كافة الرسائل الخاصة بأمر إنتاج معين بالتسلسل الذي تم استلامها به. ومع ذلك، قد لا تتم معالجة الرسائل الخاصة بأوامر الإنتاج المختلفة في التسلسل المستلم لأن وظائف الدُفعات تتم معالجتها بالتوازي. في حالة الفشل، ستحاول الوظيفة الدفعية معالجة كل رسالة ثلاث مرات قبل تعيينها إلى الحالة فشلت.

تعمل صفحة تكامل أنظمة تنفيذ التصنيع بنفس الطريقة التي تعمل بها صفحة رسائل معالج الرسائل وتمثل وظائف متشابهة جدًا. (حتى أنه يعرض رسائل MES بالإضافة إلى أنواع الرسائل الأخرى.) للحصول على معلومات حول كيفية استخدام أي من الصفحتين لمراجعة الرسائل والعثور على الرسائل الفاشلة وإصلاحها والمزيد، راجع صفحة رسائل معالج الرسائل

استدعاء API

للاتصال بواجهة برمجة تطبيقات تكامل MES، أرسل طلب POST إلى عنوان URL لنقطة النهاية التالية:

/api/services/SysMessageServices/SysMessageService/SendMessage

يجب أن يكون نص الطلب الذي ترسله مشابهًا للمثال التالي. قم باستبدال قيم _companyId، و_messageType، و_messageContent على النحو المطلوب. للحصول على معلومات حول أنواع الرسائل المختلفة التي تدعمها API وكيفية تصميم محتواها، راجع القسم التالي.

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

أنواع رسائل API ومحتوياتها

يصف هذا القسم كل نوع من أنواع الرسائل التي يمكن تبادلها من خلال واجهة برمجة تطبيقات تكامل MES.

رسالة بدء أمر الإنتاج

بالنسبة إلى رسالة بدء أمر الإنتاج، تكون قيمة _messageType هي ProdProductionOrderStart. يوضح الجدول التالي الحقول التي تدعمها هذه الرسالة.

اسم الحقل Status النوع
ProductionOrderNumber إلزامي سلسلة
StartedQuantity اختياري حقيقي
StartedDate اختياري التاريخ
AutomaticBOMConsumptionRule اختياري Enum (FlushingPrincip | Always | Never)

رسالة الإبلاغ عنها كمنتهية

بالنسبة لرسالة الإبلاغ عنها كمنتهية، تكون قيمة _messageType هي ProdProductionOrderReportFinished. يوضح الجدول التالي الحقول التي تدعمها هذه الرسالة.

اسم الحقل Status النوع
ProductionOrderNumber إلزامي سلسلة
ReportFinishedLines إلزامي قائمة السطور (واحد على الأقل)، يحتوي كل منها على الحمولة الموضحة في الجدول التالي

يعرض الجدول التالي الحقول التي يدعمها كل سطر في قسم ReportFinishedLines من رسالة ProdProductionOrderReportFinished.

اسم الحقل Status ‏‏النوع‬
LineNumber اختياري حقيقي
ItemNumber اختياري سلسلة
ProductionType اختياري Enum (MainItem | Formula | BOM | Co_Product | By_Product | None), extensible
ReportedErrorQuantity اختياري حقيقي
ReportedGoodQuantity اختياري حقيقي
ReportedErrorCatchWeightQuantity اختياري حقيقي
ReportedGoodCatchWeightQuantity اختياري حقيقي
AcceptError اختياري Enum (Yes | No)
ErrorCause اختياري Enum (None | Material | Machine | OperatingStaff), extensible
ExecutedDateTime اختياري التاريخ/الوقت
ReportAsFinishedDate اختياري التاريخ
AutomaticBOMConsumptionRule اختياري Enum (FlushingPrincip | Always | Never)
AutomaticRouteConsumptionRule اختياري Enum (RouteDependent | Always | Never)
RespectFlushingPrincipleDuringOverproduction اختياري Enum (Yes | No)
ProductionJournalNameId اختياري سلسلة
PickingListProductionJournalNameId اختياري سلسلة
RouteCardProductionJournalNameId اختياري سلسلة
FromOperationNumber اختياري عدد صحيح
ToOperationNumber اختياري عدد صحيح
InventoryLotId اختياري سلسلة
BaseValue اختياري سلسلة
EndJob اختياري Enum (Yes | No)
EndPickingList اختياري Enum (Yes | No)
EndRouteCard اختياري Enum (Yes | No)
PostNow اختياري Enum (Yes | No)
AutoUpdate اختياري Enum (Yes | No)
ProductColorId اختياري سلسلة
ProductConfigurationId اختياري سلسلة
ProductSizeId اختياري سلسلة
ProductStyleId اختياري سلسلة
ProductVersionId اختياري سلسلة
ItemBatchNumber اختياري سلسلة
ProductSerialNumber اختياري سلسلة
LicensePlateNumber اختياري سلسلة
InventoryStatusId اختياري سلسلة
ProductionWarehouseId اختياري سلسلة
ProductionSiteId اختياري سلسلة
ProductionWarehouseLocationId اختياري سلسلة
InventoryDimension1 إلى InventoryDimension12 اختياري سلسلة

تتطلب الأبعاد الـ 12 القابلة للتوسيع (InventoryDimension1 حتى InventoryDimension12) تخصيصًا ولا يتم استخدامها دائمًا. لمزيد من المعلومات حول هذه الأبعاد، راجع إضافة أبعاد مخزون جديدة من خلال التوسيع

رسالة استهلاك المواد (قائمة الانتقاء)

بالنسبة إلى رسالة استهلاك المواد (قائمة الانتقاء)، تكون قيمة _messageType هي ProdProductionOrderPickingList. يوضح الجدول التالي الحقول التي تدعمها هذه الرسالة.

اسم الحقل Status النوع
ProductionOrderNumber إلزامي سلسلة
JournalNameId اختياري سلسلة
PickingListLines إلزامي قائمة السطور (واحد على الأقل)، يحتوي كل منها على الحمولة الموضحة في الجدول التالي

يعرض الجدول التالي الحقول التي يدعمها كل سطر في قسم PickingListLines من رسالة ProdProductionOrderPickingList.

اسم الحقل Status النوع
ItemNumber إلزامي سلسلة
ConsumptionBOMQuantity اختياري حقيقي
ProposalBOMQuantity اختياري حقيقي
ScrapBOMQuantity اختياري حقيقي
BOMUnitSymbol اختياري سلسلة
ConsumptionInventoryQuantity اختياري حقيقي
ProposalInventoryQuantity اختياري حقيقي
ConsumptionCatchWeightQuantity اختياري حقيقي
ProposalCatchWeightQuantity اختياري حقيقي
ConsumptionDate اختياري التاريخ
OperationNumber اختياري عدد صحيح
LineNumber اختياري حقيقي
PositionNumber اختياري سلسلة
IsConsumptionEnded اختياري Enum (Yes | No)
ErrorCause اختياري Enum (None | Material | Machine | OperatingStaff), extensible
InventoryLotId اختياري سلسلة

رسالة الوقت المستخدم للتشغيل (بطاقة الطريق)

بالنسبة إلى رسالة الوقت المستخدم للتشغيل (بطاقة الطريق)، تكون قيمة _messageType هي ProdProductionOrderRouteCard. يوضح الجدول التالي الحقول التي تدعمها هذه الرسالة.

اسم الحقل Status النوع
ProductionOrderNumber إلزامي سلسلة
JournalNameId اختياري سلسلة
RouteCardLines إلزامي قائمة السطور (واحد على الأقل)، يحتوي كل منها على الحمولة الموضحة في الجدول التالي

يعرض الجدول التالي الحقول التي يدعمها كل سطر في قسم RouteCardLines من رسالة ProdProductionOrderRouteCard.

اسم الحقل Status ‏‏النوع‬
OperationNumber إلزامي عدد صحيح
OperationPriority اختياري Enum (Primary | Secondary1 | Secondary2 | ... | Secondary20)
OperationId اختياري سلسلة
OperationsResourceId اختياري سلسلة
Worker اختياري سلسلة
HoursRouteCostCategoryId اختياري سلسلة
QuantityRouteCostCategoryId اختياري سلسلة
HourlyRate اختياري حقيقي
Hours اختياري حقيقي
GoodQuantity اختياري حقيقي
ErrorQuantity اختياري حقيقي
CatchWeightGoodQuantity اختياري حقيقي
CatchWeightErrorQuantity اختياري حقيقي
QuantityPrice اختياري حقيقي
ProcessingPercentage اختياري حقيقي
ConsumptionDate اختياري التاريخ
TaskType اختياري Enum (QueueBefore | Setup | Process | Overlap | Transport | QueueAfter | Burden)
ErrorCause اختياري Enum (None | Material | Machine | OperatingStaff), extensible
OperationCompleted اختياري Enum (Yes | No)
BOMConsumption اختياري Enum (Yes | No)
ReportAsFinished اختياري Enum (Yes | No)

رسالة انتهاء أمر الإنتاج

بالنسبة إلى رسالة انتهاء أمر الإنتاج، تكون قيمة _messageType هي ProdProductionOrderEnd. يوضح الجدول التالي الحقول التي تدعمها هذه الرسالة.

اسم الحقل Status النوع
ProductionOrderNumber إلزامي سلسلة
ExecutedDateTime اختياري التاريخ/الوقت
EndedDate اختياري التاريخ
UseTimeAndAttendanceCost اختياري Enum (Yes | No)
AutoReportAsFinished اختياري Enum (Yes | No)
AutoUpdate اختياري Enum (Yes | No)

معلومات الإنتاج الأخرى

تدعم الرسائل الإجراءات أو الأحداث التي تحدث في ورشة العمل. تتم معالجتها باستخدام إطار عمل تكامل MES الموضح في هذا المقال. يفترض التصميم أن المعلومات المرجعية الأخرى التي سيتم مشاركتها مع MES (مثل المعلومات المتعلقة بالمنتج، أو فاتورة المواد أو المسار (مع أوقات الإعداد والتكوين المحددة) المستخدمة في أمر إنتاج معين) سيتم استردادها من النظام باستخدام كيانات البيانات عبر نقل الملفات أو OData.

تلقي ملاحظات حول حالة الرسالة

بعد أن ترسل MES رسالة إلى Supply Chain Management، قد يكون من المناسب لإدارة سلسلة التوريد إرجاع ملاحظات حول حالة الرسالة. فيما يلي بعض الأمثلة على الحالات التي قد يكون فيها هذا السلوك ملائمًا:

  • لا يوجد شخص مسؤول عن الإشراف المستمر على تكامل MES.
  • يريد الشخص المسؤول عن الإشراف على تكامل MES أن يتم إخطاره عبر البريد الإلكتروني عند فشل إحدى الرسائل، حتى يعلموا أنه يتعين عليهم اتخاذ إجراء.
  • يجب أن تعرض MES رسالة خطأ لإبلاغ عامل المتجر أو أي شخص من قسم تكنولوجيا المعلومات بأنه يتعين عليهم اتخاذ إجراء.
  • يجب أن تعيد MES حساب جدول الأمر بعد أن تتلقى رسالة فشل (على سبيل المثال، بسبب فشل بدء أمر الإنتاج).

في هذه الحالات، يمكنك الاستفادة من ميزة التنبيه القياسية في Supply Chain Management. للحصول على معلومات حول كيفية عمل التنبيهات القياسية، راجع الموارد التالية:

على سبيل المثال، يمكنك إعداد التنبيهات التالية لتقديم ملاحظات حول حالة الرسالة:

  • قم بإنشاء حدث عمل ("إرسال خارجيًا") يتم استخدامه عندما تكون الرسالة فاشلة.
  • أرسل إشعارًا وبريدًا إلكترونيًا إلى مسؤول تكنولوجيا المعلومات أو مدير طابق الإنتاج.