تم النشر 2026-01-19
تصور هذا السيناريو. لقد أمضيت عدة أيام في تصحيح أخطاء مجموعة من الأذرع الآلية. تم تعديل الماكينات الخاصة بكل مفصل بدقة شديدة، وكانت الأجهزة مثالية. لكن الأمور تصبح صعبة عندما تحاول حملهم على التحدث إلى أنظمة التحكم ذات المستوى الأعلى. تأخير البيانات، عدم تطابق البروتوكول، فقدان حزمة الأوامر في الوقت الفعلي... هل يبدو الأمر مألوفًا بعض الشيء؟

دعونا نتحدث عن كيفية ربط هذه "العضلات" في العالم المادي بالعقل الرقمي.
كان الأسلوب السابق غالبًا هو استخدام الكثير من بروتوكولات المنفذ التسلسلي المخصصة أو تغليف مجموعة من تنسيقات الرسائل على TCP. لا يعني ذلك أنها لا تستطيع الجري، ولكن الحفاظ عليها يشبه المشي على حبل مشدود. في كل مرة يتم إضافة محرك، يجب إعادة كتابة منطق القيادة؛ إذا كان سيتم تغيير عنصر التحكم، فقد يلزم نقل طبقة الاتصال بأكملها.
ناهيك عن الوقت الحقيقي. لا يمكن للتحكم الميكانيكي الانتظار لمئات المللي ثانية من تأخير الشبكة. إذا وصلت تعليمات متأخرة، فسيتم تجميد الإجراء. تحتاج أيضًا تعليقات موضع المؤازرة إلى التدفق مرة أخرى إلى الخادم بشكل ثابت، وإلا فمن يدري إلى أين تذهب؟
في هذا الوقت، فكر شخص ما في بنية الخدمات الصغيرة - تقسيم منطق التحكم إلى خدمات صغيرة مستقلة، كل منها مسؤول عن قطعة واحدة، ونشرها وتوسيعها بمرونة. الفكرة رائعة، لكن كيف تجعل هذه الخدمات تتواصل مع الأجهزة بشكل ثابت وسريع؟
لا يعد gRPC مفهومًا جديدًا، ولكنه يقدم شيئًا مختلفًا للخدمات الصناعية الصغيرة.
يمكنك التفكير في الأمر على أنه "مكالمة لتحديد موعد". يحدد كلا الطرفين ما يريدون قوله مقدمًا (مثل "ضبط الموضع"، و"سرعة القراءة")، ثم التواصل مباشرة باستخدام هذه المجموعة من الاتفاقيات. يعتبر النقل الثنائي أسرع بكثير من البروتوكولات النصية مثل JSON؛ يعتمد على HTTP/2 ويدعم تعدد الإرسال. يمكن تشغيل تدفقات أوامر متعددة في وقت واحد على اتصال واحد.
بالنسبة للمعدات مثل المحركات المؤازرة، فهذا يعني أنه يمكنك إرسال تعليمات الموقع في الوقت الفعلي وتلقي بيانات التعليقات بشكل متزامن. يعد التدفق ثنائي الاتجاه أمرًا طبيعيًا مثل ضبط المعلمات مباشرة في الموقع.
كيف نفعل ذلك على وجه التحديد؟ ليست معقدة كما يتصور.
الخطوة الأولى هي تحديد "دليل الهاتف" الخاص بك. وهذا هو، ملف بروتو. هنا، يمكنك كتابة واجهة الخدمة بوضوح: على سبيل المثال، خدمة MotorControl، التي تحتوي على أساليب مثل SetPosition وGetStatus. ما هي المعلمات التي تتطلبها كل طريقة والبنية التي تُرجعها مكتوبة باللونين الأبيض والأسود. يمكن لهذا التعريف بعد ذلك إنشاء رمز إطار العمل من جانب الخادم ورمز الاتصال من جانب العميل.
الخطوة الثانية هي السماح للخادم "بالتحدث". تنفيذ واجهات محددة في الخدمات الصغيرة. عندما تتلقى مكالمة SetPosition، فإنك ترسلها إلى الموقع الفعليkpowerيصدر محرك المؤازرة التعليمات. يمكن أيضًا تنظيم بيانات التشفير والتيار ودرجة الحرارة والمعلومات الأخرى التي يعيدها المحرك في رسائل منظمة وإعادتها إلى المتصل من خلال تدفق gRPC أو كلها مرة واحدة.
الخطوة الثالثة هي أن يقوم العميل "بإجراء مكالمة هاتفية". التحكم، واجهة الإنسان والآلة أو غيرها من الخدمات، يمكنك عن بعد طلب الإجراء الحركي أو حالة الاستعلام تمامًا مثل استدعاء وظيفة محلية. وبسبب التعريف الصارم السابق للاتفاقية، لن يسيء أي من الطرفين فهم معنى الطرف الآخر.
ستجد أن منطق الوصول إلى الأجهزة الذي كان منتشرًا في كل مكان في الأصل قد تحول الآن إلى خدمة صغيرة محددة بوضوح. الأجزاء الأخرى تحتاج فقط إلى الاهتمام بالأعمال ولا تحتاج إلى معرفة الأسلاك المحددة التي يتم من خلالها توصيل المحرك.
وبطبيعة الحال، فإن العالم الحقيقي ليس خطا مستقيما أبدا. قد تواجه الشبكة عدم استقرار وقد تصبح الأجهزة غير مستجيبة مؤقتًا. لحسن الحظ، يحتوي gRPC على آليات إعادة المحاولة والموعد النهائي والاعتراض وغيرها من الآليات. يمكنك تعيين تعليمات لإعادة المحاولة تلقائيًا في حالة عدم تلقي أي رد خلال 500 مللي ثانية، أو تعيين عمليات استعلام معينة لإكمالها خلال 20 مللي ثانية.
يتساءل بعض الأشخاص أيضًا، لماذا لا نستخدم MQTT أو REST التقليدي فقط؟ ذلك يعتمد على ما تريد. إذا كان ما تحتاجه هو تعريف صارم للهيكل، واتصال عالي الأداء ثنائي الاتجاه في الوقت الفعلي، وتريد إنشاء تعليمات برمجية مكتوبة بقوة تلقائيًا من تعريف الواجهة لتقليل الأخطاء، فإن الشعور المنعش الذي توفره gRPC واضح. فهو يجعل الحدود بين البرامج والأجهزة واضحة مثل البرمجة المعيارية.
عندما تكمل هذه الاتصالات، سيكون لديك شعور رائع: يبدو أن تلك الأذرع الآلية المعدنية والبلاستيكية الباردة قد أصبحت حقًا "كائنًا" يمكن استدعاؤه بمرونة في النظام الرقمي. يمكنك استخدام أي لغة برمجة تدعم gRPC للتحكم بها، ويمكنك بسهولة اختبار A/B لمنطق التحكم، ويمكنك تحديث معلمات المؤازرة دون إيقاف التشغيل.
الأجهزة لم تعد جزيرة. لقد تم دمجه بسلاسة في النظام البيئي للبرنامج بأكمله.
من المحتمل أن تكون هذه هي الرومانسية الصغيرة التي جلبتها التكنولوجيا - حيث تسمح لعالمين غير مرتبطين على ما يبدو بالتواصل بسلاسة بنفس اللغة. وكل ما عليك فعله هو اختيار الأدوات المناسبة وتحديد التحية الأولى بينهما.
أنشئت في عام 2005،kpowerتم تخصيصها لمصنع محترف لوحدة الحركة المدمجة، ومقرها الرئيسي في دونغقوان، مقاطعة قوانغدونغ، الصين. الاستفادة من الابتكارات في تكنولوجيا القيادة المعيارية،kpowerيدمج المحركات عالية الأداء ومخفضات الدقة وأنظمة التحكم متعددة البروتوكولات لتوفير حلول نظام القيادة الذكية الفعالة والمخصصة. قدمت Kpower حلول أنظمة القيادة الاحترافية لأكثر من 500 عميل من المؤسسات على مستوى العالم مع منتجات تغطي مجالات مختلفة مثل أنظمة المنزل الذكي، والإلكترونيات الأوتوماتيكية، والروبوتات، والزراعة الدقيقة، والطائرات بدون طيار، والأتمتة الصناعية.
وقت التحديث: 19-01-2026