العودة إلى المدونة
مكتبات Noorjax

مكتبة رافعة التكديس لأنظمة التخزين والاسترجاع الآلية (ASRS)

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

تحتوي هذه المكتبة المخصصة على وكيل رافعة تكديس يمكن ربطه بعنصر التخزين Storage في مكتبة مناولة المواد (MHL) الخاصة بـ AnyLogic. بالإضافة إلى ذلك، تحتوي المكتبة على كتلة عملية مدمجة يمكنها التعامل مع المواد/الوكلاء باستخدام رافعة التكديس، مع إمكانية تخزين وإعادة وضع واسترجاع الكائنات من وإلى التخزين.

شاهد هذا النموذج أثناء العمل على سحابة AnyLogic: https://cloud.anylogic.com/model/fbb78b8f-e175-4606-8a31-1b425e38fb49 يمكنك أيضًا مشاهدة عرض فيديو توضيحي عبر الرابط التالي: https://youtu.be/fQwLOUNW2s4

كيفية التحميل

يمكنك الحصول على النسخة المجانية مع قيود هنا: https://github.com/noorjax/stacker-crane

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

كيفية الحصول على ترخيص

للحصول على ترخيص، اتبع التعليمات في الرابط التالي:

/ar/blog/getting-a-license-for-a-library/

سعر هذه المكتبة:

  • الاستخدام الأكاديمي - سنة واحدة: 59 يورو (يجب إجراء الشراء ببريد إلكتروني جامعي)

  • الاستخدام التجاري - سنة واحدة: 175 يورو

أسعارنا قابلة للتغيير في أي وقت دون إشعار مسبق

مكتبة رافعة التكديس

تم اختبار هذه المكتبة مع AnyLogic 8.9.1. قد لا تعمل الإصدارات السابقة. تتيح لك هذه المكتبة استخدام نظام آلي لتخزين وإعادة وضع واسترجاع البالتات من كائن التخزين في AnyLogic.

الوصف العام

تحتوي المكتبة على أربعة كائنات/وكلاء تحتاج إلى استخدامها معًا لضمان الأداء السليم. وهي: StackerCrane و MoveByStackerCrane و SettingsSC و SpecialAgentSC.

كيفية الاستخدام

أولاً قم بتحميل المكتبة من https://github.com/noorjax/stacker-crane واحفظها في مكان آمن.

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

يمكنك سحب وإسقاط أي من الكائنات المتاحة لتطوير نموذجك، باستثناء Fork التي لا تُستخدم.

تستخدم المكتبة كائن Storage من AnyLogic MHL، لذا من المهم أن تكون على دراية بذلك قبل التعامل مع هذه المكتبة.

في الإصدار الحالي، هناك بعض القيود على رفوف البالتات التي يمكن استخدامها:

  • يجب أن يحتوي على رف واحد.

  • عدد الخلايا 1 لكل فتحة.

  • يجب أن يكون نوع وضع الرف Stand-alone.

رافعة التكديس

وكيل رافعة التكديس هو الكائن ثلاثي الأبعاد الذي سيكون مرئيًا وهو يقوم بجميع الإجراءات، مثل التقاط الوكلاء والتحرك والتخزين والاسترجاع. تتكون رافعة التكديس من شريحة خطية z، وهي العمود المربوط به الشوكة، والشوكة وهي الجزء الذي يجمع الكائنات.

اتبع الخطوات لتهيئة الوكيل:

  • اسحب وكيل رافعة التكديس من المكتبة وأسقطه حيث تريد استخدام الوكيل

  • تأكد من أن عرض رافعة التكديس يظهر في نقطة الأصل لوكيل البيئة. إن لم يكن كذلك، انقر على Show presentation في الخصائص المتقدمة لرافعة التكديس.

  • اسحب وضع عرض رافعة التكديس إلى المكان الذي تريد تحديد موقعها الأولي فيه. بما أن هذا الكائن يعمل فقط مع كائن Storage من MHL، يُوصى بوضع عرض رافعة التكديس أمام التخزين.

  • ليس من الضروري تدوير عرض رافعة التكديس، حيث يتم تحديد الدوران تلقائيًا وفقًا لدوران التخزين.

  • المسافة بين الموقع الأولي لرافعة التكديس والتخزين ستُعتبر “المسافة الآمنة” بين هذين الكائنين، لذلك ستراعي حركات رافعة التكديس هذه المسافة خلال كامل عملية تشغيل المحاكاة.

الآن أنت جاهز لتهيئة جميع معلمات رافعة التكديس.

المعلمات العامة

  • التخزين: يجب اختيار كائن التخزين من MHL الذي سيُستخدم مع رافعة التكديس هذه. يجب أن يحتوي التخزين على رف واحد وعدد خلايا 1 لكل فتحة فقط للعمل بشكل صحيح. كما يجب أن يكون نوع استبدال الرف Stand-alone.

المجموعة عند الخروج: يجب أن تحتوي على مجموعة الوكلاء التي ستُنقل بواسطة رافعة التكديس هذه. هذا لإرجاع الوكلاء إلى المجموعة الأولية بعد نقلهم. استخدم هذا التركيب: (AgentArrayList)nameOfThePopulation احتفظ بما بداخل الأقواس وغير فقط nameOfThePopulation باسم المجموعة المخصصة للوكيل. مثال: إذا كان وكيلك يُسمى Pallet، فقد تكون المجموعة المخصصة للوكيل مسماة pallets، لذلك ما يجب كتابته في هذه المعلمة هو: (AgentArrayList)pallets

  • z الأولي: هو المكان الذي ستكون فيه شوكة رافعة التكديس على المحور z في بداية المحاكاة.

  • السرعة القصوى XY: السرعة القصوى التي يمكن الوصول إليها لرافعة التكديس في المستوى XY.

  • التسارع الأقصى XY: التسارع الأقصى لرافعة التكديس في المستوى XY.

  • السرعة القصوى Z: السرعة القصوى التي يمكن الوصول إليها لشوكة رافعة التكديس على المحور Z.

  • التسارع الأقصى Z: التسارع الأقصى لشوكة رافعة التكديس على المحور Z.

  • مسافة دخول الخلية: المسافة الآمنة بين رافعة التكديس وخلية التخزين عند الدخول إلى خلية.

  • وقت التحميل: وقت التحميل عند التقاط وكيل.

  • وقت التفريغ: وقت التفريغ عند إسقاط وكيل.

الدقة

خطأ الموضع المسموح: أقصى مسافة مسموح بها بين الموضع الحالي لرافعة التكديس والموضع المستهدف. إذا تم الوصول إلى هذا الخطأ المسموح، يمكن اعتبار أن رافعة التكديس وصلت بالفعل إلى الموضع المستهدف. if abs(targetPosition-CurrentPosition)<Position error allowed then the stacker crane is already at the target position.

  • خطأ السرعة المسموح: بالتزامن مع خطأ الموضع المسموح، هذه هي السرعة القصوى المسموح بها لإيقاف حركة رافعة التكديس، إذا كانت السرعة الحالية أكثر من ذلك، فلن تتوقف رافعة التكديس عن الحركة. ينطبق هذا فقط على حركة PID، التي سيتم شرحها لاحقًا.

  • تردد تحديث الموضع: الوقت بين كل تحديث في متغيرات رافعة التكديس، مثل الرسوم المتحركة والموضع والسرعة والتسارع وغيرها.

الحركات

الحركة محددة بواسطة: يحدد كيف ستُدار الحركة. يمكن أن يكون أحد الخيارات التالية:

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

PID (لا تستخدم إلا إذا كان لديك فهم عميق لمتحكمات PID وكيفية معايرتها): هو آلية تحكم تُستخدم على نطاق واسع في الأنظمة الصناعية والميكانيكية للحفاظ على مخرجات أو نقطة ضبط مرغوبة. يضبط مدخلات التحكم للنظام من خلال النظر في ثلاثة مكونات رئيسية: التناسبي-التكاملي-التفاضلي. في هذه الحالة المحددة، يُطبّق هذا المتحكم على تسارعات رافعة التكديس، مع ضبط التسارع تلقائيًا بناءً على معلمات K. هذه الـ K هي الثوابت أو المعاملات التي تضبط تأثير كل مكون، مع Kp للتناسبي و Ki للتكاملي و Kd للتفاضلي.

  • Ki جانبية: الثابت التكاملي لتسارع رافعة التكديس في الحركة الموازية بالنسبة للتخزين.

  • Kp جانبية: الثابت التناسبي لتسارع رافعة التكديس في الحركة الموازية بالنسبة للتخزين.

  • Kd جانبية: الثابت التفاضلي لتسارع رافعة التكديس في الحركة الموازية بالنسبة للتخزين.

  • Ki دخول الخلية: الثابت التكاملي لتسارع رافعة التكديس عند دخول ومغادرة خلية.

  • Kp دخول الخلية: الثابت التناسبي لتسارع رافعة التكديس عند دخول ومغادرة خلية.

  • Kd دخول الخلية: الثابت التفاضلي لتسارع رافعة التكديس عند دخول ومغادرة خلية.

  • Ki المحور z: الثابت التكاملي لتسارع شوكة رافعة التكديس عند التحرك لأعلى ولأسفل.

  • Kp المحور z: الثابت التناسبي لتسارع شوكة رافعة التكديس عند التحرك لأعلى ولأسفل.

  • Kd المحور z: الثابت التفاضلي لتسارع شوكة رافعة التكديس عند التحرك لأعلى ولأسفل.

المظهر

  • ارتفاع الشريحة الخطية Z: ارتفاع الشريحة الخطية z.

  • نصف قطر الشريحة الخطية Z: نصف قطر الشريحة الخطية z.

  • لون الشريحة الخطية Z: لون الشريحة الخطية z.

Special Agent SC

هذا هو نوع الوكيل الذي سيتم تخزينه في المخازن باستخدام رافعة التكديس. لتتمكن من استخدام المكتبة، من الضروري استخدام خيار “Extends other agent” في الإعدادات المتقدمة لنوع وكيل العنصر المادي الذي ستستخدمه في نموذجك. على سبيل المثال، إذا كنت تريد تخزين بالت في التخزين، سيكون لديك نوع وكيل Pallet الذي يجب أن يكون امتدادًا لـ SpecialAgent في هذه المكتبة.

MoveByStackerCrane

هذه هي كتلة المخطط الانسيابي التي يمكن استخدامها للتحكم في حركات وكيل رافعة التكديس. يمكن استخدام هذه الكتلة للتخزين وإعادة الوضع والاسترجاع للوكلاء من وإلى كائن التخزين.

عندما يدخل وكيل كتلة moveByStackerCrane، سيكون في انتظاره في طابور FIFO حتى يأتي دوره للتحرك. إذا لزم الأمر، لإزالة الوكيل من طابور الكتلة، يمكن للمستخدم استخدام الدالة moveByStackerCrane.remove(agent); (اعتبر أن هذه الدالة ستعمل بشكل صحيح فقط إذا لم يكن الوكيل يُنقل بواسطة رافعة التكديس).

كيفية التهيئة:

  • اسحب وأسقط الوكيل من مكتبة رافعة التكديس إلى حيث يوجد نموذج المنطق الخاص بك.

  • يجب أن يكون الوكيل الذي سيتحرك عبر هذه الكتلة امتدادًا لوكيل SpecialAgent من مكتبة رافعة التكديس.

الآن قم بتهيئة معلمات الكتلة

  • رافعة التكديس ASRS: اختر وكيل رافعة التكديس الذي تريد استخدامه مع هذه الكتلة.

إجراء ASRS: اختر الإجراء الآلي الذي تريد استخدامه مع الوكلاء. هناك ثلاثة خيارات:

التخزين: يمكن استخدامه لتخزين الوكلاء في التخزين. يعمل عندما يكون الوكيل في مكان ما بالقرب من التخزين وستذهب رافعة التكديس لالتقاطه ونقله إلى خلية تخزين.

  • X المصدر: موضع x للوكيل للالتقاط.

  • Y المصدر: موضع y للوكيل للالتقاط.

  • Z المصدر: موضع z للوكيل للالتقاط.

إعادة الوضع: ينقل الوكيل من الخلية الحالية إلى خلية جديدة في نفس التخزين.

سياسة التوزيع: الخلية المستهدفة للوكيل.

  • متاح عشوائيًا: خلية عشوائية متاحة في التخزين. إذا لم تكن هناك خلايا متاحة، سيتم إطلاق خطأ.

فتحة محددة: خلية مستهدفة محددة.

  • رف التخزين: مؤشر مستوى التخزين للموضع المستهدف.

  • خليج التخزين: مؤشر خليج التخزين للموضع المستهدف.

الاسترجاع: يجب استخدامه لاسترجاع وكيل من خلية ونقله خارج التخزين.

  • X الوجهة: موضع x للموضع المستهدف.

  • Y الوجهة: موضع y للموضع المستهدف.

  • Z الوجهة: موضع z للموضع المستهدف.

  • أولوية المهمة: أولوية المهمة للوكيل الوارد (كلما كانت أكبر كانت الأولوية أعلى). تساعد في تحديد أولوية الوكلاء الذين ينتظرون النقل بواسطة رافعة التكديس.

الإجراءات

يمكن استخدام الوكيل لاستخدامه ديناميكيًا.

  • عند دخول الطابور: الإجراء المُطلق عندما يدخل الوكيل الكتلة.

  • عند خروج الطابور: الإجراء المُطلق عندما يخرج الوكيل من الطابور، إما قبل بدء عملية التخزين أو بسبب استخدام دالة remove(agent);.

  • عند بدء عملية التخزين: الإجراء المُطلق عندما تبدأ رافعة التكديس بالتحرك نحو الوكيل الذي سيتم التقاطه.

  • عند انتهاء عملية التخزين: الإجراء المُطلق عندما تسقط رافعة التكديس الوكيل في موقعه المستهدف.

Settings SC

الرمز: ستحتاج إلى هذا لتتمكن من استخدام هذه المكتبة بكامل طاقتها. يمكن استخدام التراخيص على حاسوب واحد فقط. التحقق من إصدار جديد: إذا وضعت علامة على هذا المربع، سيتصل كائن الإعدادات بالخادم للتحقق مما إذا كان هناك إصدار جديد من هذه المكتبة. إذا كان موجودًا، ستتم طباعة ذلك في وحدة التحكم.

الأسئلة الشائعة

هل يمكنني استخدام عدة رافعات تكديس لتخزين واحد؟

لا. العلاقة بين التخزين ورافعة التكديس هي 1:1، تخزين واحد يمكن أن يحتوي على رافعة تكديس واحدة ورافعة تكديس واحدة يمكن ربطها بتخزين واحد فقط.

PID لا يعمل

يمكن استخدام متحكم PID فقط مع وحدات وقت النموذج بالثواني. إذا كان نموذجك يستخدم وحدات وقت أخرى، فلن يعمل PID. قد نغير هذا في المستقبل.

النموذج المُصدّر لا يعمل

عند تصدير نموذج، لا يتطلب ترخيصًا، طالما قمت بتصديره مع ترخيص (سواء للسحابة أو تصدير JAVA). لتصديره، يجب أن تكون قد شغلت نموذج المحاكاة مرة واحدة على الأقل في AnyLogic مع تشغيل الإنترنت، مما سيولد ملف licenseKey.txt صالح (إذا اشتريت ترخيصًا). يجب دمج هذا الملف في أي إصدار مُصدّر، وللقيام بذلك تحتاج إلى الذهاب إلى خصائص resources/data/licenseKey.txt وتشغيل “Resource is referrenced from user code”. سيسمح هذا للنموذج بتصدير ملف licenseKey.txt، كما ترى في الصورة التالية:

#Simulations