LearnElectricals · أسئلة الإنترفيو · القسم ⁦5⁩ من ⁦9⁩

الـ ⁦PLC⁩

أسئلة الـ ⁦PLC⁩ في الإنترفيو بتختبر فهمك للفكرة مش ماركة معيّنة. اتكلّم بالمفاهيم (⁦Scan⁩، ⁦Edge⁩، ⁦Scaling⁩) واذكر أمثلة من الماركة اللي اشتغلت عليها (⁦Siemens⁩ أو ⁦Allen-Bradley⁩ أو ⁦Mitsubishi⁩ أو ⁦Delta⁩…). أشهر فخ: سؤال «زرار الـ ⁦Stop NC⁩، تكتبه في البرنامج إيه؟».

1مبتدئ

الـ ⁦PLC⁩ بيتكوّن من إيه؟

الإجابة المختصرة

باور سبلاي، ⁦CPU⁩ (المعالج والذاكرة)، كروت دخل وخرج ديجيتال وأنالوج، ومنافذ كوميونيكيشن. بيقرا المداخل وينفّذ البرنامج ويغيّر المخارج.

اشرحها أكتر

الـ ⁦PLC⁩ ممكن يبقى ⁦Compact⁩ (كل حاجة في جسم واحد زي ⁦S7-1200⁩ أو ⁦FX⁩) أو ⁦Modular⁩ (CPU وكروت على ⁦Rack⁩ زي ⁦S7-1500⁩ أو ⁦ControlLogix⁩).

وفيه ⁦Remote I/O⁩ بيتوصّل بالشبكة عشان توفّر كابلات للأماكن البعيدة.

2مبتدئ

اشرح الـ ⁦Scan Cycle⁩.

الإجابة المختصرة

الـ ⁦PLC⁩ بيعمل دورة مستمرة: ⁦(1)⁩ يقرا كل المداخل ويحطها في صورة المداخل ⁦(Process Image)⁩، ⁦(2)⁩ ينفّذ البرنامج من أوله لآخره، ⁦(3)⁩ يكتب النتايج على المخارج، ⁦(4)⁩ يعمل شغل داخلي وكوميونيكيشن. وبعدين يعيد.

اشرحها أكتر

زمن الدورة ⁦(Scan Time)⁩ غالبًا من أقل من ⁦1 ms⁩ لعشرات الـ ⁦ms⁩ حسب حجم البرنامج.

النتيجة العملية:

  • إشارة أقصر من زمن الدورة ممكن الـ ⁦PLC⁩ ميشوفهاش، فبنستخدم ⁦Interrupt⁩ أو ⁦High Speed Counter⁩
  • البرنامج بيشوف حالة المداخل ثابتة طول الدورة، حتى لو اتغيّرت في النص
  • المخارج بتتحدّث مرة واحدة آخر الدورة
اللي بيغلط فيه الناس: تفتكر إن البرنامج بيتنفّذ «في نفس اللحظة» كله. ترتيب الـ ⁦Rungs⁩ بيفرق، والسطر اللي تحت ممكن يغيّر نتيجة اللي فوقه.
3متوسط

لو نفس الـ ⁦Output (Coil)⁩ اتكتب في مكانين في البرنامج، إيه اللي بيحصل؟

الإجابة المختصرة

آخر مكان في الترتيب هو اللي بيكسب، لأن المخرج بيتكتب على الكارت آخر الدورة بآخر قيمة. ده اسمه ⁦Double Coil⁩، وهو غلط برمجي مشهور بيخلّي المخرج يتصرّف بشكل غريب.

اشرحها أكتر

الحل: اكتب المخرج في مكان واحد بس، واجمع الشروط بـ ⁦OR⁩ قبله، أو استخدم ⁦Set/Reset⁩ بحرص.

في بعض البيئات الـ ⁦Compiler⁩ بيدّيك ⁦Warning⁩ لما ده يحصل.

4مبتدئ

إيه الفرق بين حساس ⁦PNP⁩ و ⁦NPN⁩؟

الإجابة المختصرة

الـ ⁦PNP⁩ بيوصّل ⁦+24 V⁩ على سلك الإشارة لما يشتغل ⁦(Sourcing)⁩. الـ ⁦NPN⁩ بيوصّل الـ ⁦0 V⁩ على سلك الإشارة لما يشتغل ⁦(Sinking)⁩. الألوان المعتادة في حساسات ⁦3⁩ أسلاك: بني ⁦+24 V⁩، أزرق ⁦0 V⁩، أسود إشارة.

اشرحها أكتر

في ⁦PNP⁩ الحمل (أو دخل الـ ⁦PLC⁩) متوصّل بين سلك الإشارة والـ ⁦0 V⁩. في ⁦NPN⁩ الحمل بين ⁦+24 V⁩ وسلك الإشارة.

⁦PNP⁩ هو الأكتر انتشارًا في أوروبا ومعظم المصانع عندنا، ⁦NPN⁩ منتشر في المعدات الآسيوي.

5متوسط

يعني إيه ⁦Sinking⁩ و ⁦Sourcing Input⁩؟ ومين يتوصّل مع مين؟

الإجابة المختصرة

الدخل الـ ⁦Sinking⁩ بيستقبل تيار داخل له، فالـ ⁦Common⁩ بتاعه بيتوصّل على ⁦0 V⁩، وده بيتوصّل معاه حساس ⁦PNP (Sourcing)⁩. الدخل الـ ⁦Sourcing⁩ بيطلّع تيار، فالـ ⁦Common⁩ بيتوصّل على ⁦+24 V⁩، وبيتوصّل معاه حساس ⁦NPN (Sinking)⁩. القاعدة: لازم واحد يطلّع تيار والتاني يستقبل.

اشرحها أكتر

كروت كتير بتبقى ⁦Sink/Source⁩ حسب توصيل الـ ⁦Common⁩ (S/S أو ⁦COM⁩)، فتقدر تختار.

تنبيه: التسميات مش موحّدة بين الصانعين. مثلًا ⁦Mitsubishi⁩ بتسمي التوصيل اللي فيه التيار طالع من الدخل (مع ⁦NPN⁩) «⁦Sink Input⁩». عشان كده متعتمدش على الاسم، بص على رسمة التوصيل: الـ ⁦COM⁩ رايح فين.

اللي بيغلط فيه الناس: توصّل حساس ⁦PNP⁩ على كارت الـ ⁦Common⁩ بتاعه ⁦+24 V⁩. اللمبة بتاعة الحساس هتنوّر والـ ⁦PLC⁩ مش هيشوف حاجة.
6متوسط

زرار ⁦Stop⁩ متوصّل ⁦NC⁩ في الـ ⁦PLC⁩. تكتبه في البرنامج كونتاكت ⁦NO⁩ ولا ⁦NC⁩؟

الإجابة المختصرة

⁦NO⁩ (⁦XIC⁩ أو كونتاكت مفتوح). الكونتاكت في البرنامج بيسأل «الـ ⁦Bit⁩ ده بـ ⁦1⁩؟» مش بيقلّد الزرار. الزرار الـ ⁦NC⁩ في الحالة العادية مقفول فالدخل بـ ⁦1⁩، فالكونتاكت ⁦NO⁩ في البرنامج يبقى مقفول والدايرة تمشي. لما تدوس ⁦Stop⁩ الدخل يبقى ⁦0⁩ فالكونتاكت يفتح والموتور يقف.

اشرحها أكتر

لو كتبته ⁦NC⁩ في البرنامج، الموتور مش هيشتغل غير وانت دايس ⁦Stop⁩. ده أشهر سؤال فخ في الـ ⁦PLC⁩.

نفس المنطق لأي حساس أمان أو ⁦Limit Switch⁩ متوصّل ⁦NC⁩: غالبًا بيتكتب في البرنامج كونتاكت ⁦NO⁩.

7مبتدئ

إيه أنواع التايمرز؟ واشرح ⁦TON⁩.

الإجابة المختصرة

⁦TON (On-delay)⁩: لما الدخل يبقى ⁦1⁩ بيبدأ يعدّ، ولما الوقت يوصل للـ ⁦Preset⁩ الخرج يبقى ⁦1⁩، ولو الدخل وقع قبلها أو بعدها يرجع صفر. ⁦TOF (Off-delay)⁩: الخرج يبقى ⁦1⁩ مع الدخل على طول، ولما الدخل يقع يستنى الوقت وبعدين يقع. ⁦TP (Pulse)⁩: يطلّع نبضة بطول ثابت. ⁦RTO⁩ أو ⁦TONR⁩: بيعدّ ويحتفظ بالوقت لو الدخل وقع، ومحتاج ⁦Reset⁩.

اشرحها أكتر

أمثلة: ⁦TON⁩ لتأخير تشغيل موتور بعد موتور، ⁦TOF⁩ لمروحة تبريد تكمّل بعد الوقوف، ⁦RTO⁩ لحساب ساعات تشغيل معدة.

8مبتدئ

الكاونترز ⁦CTU⁩ و ⁦CTD⁩ بيشتغلوا إزاي؟

الإجابة المختصرة

الـ ⁦CTU⁩ بيزوّد العدد بواحد مع كل نبضة صاعدة (من ⁦0⁩ لـ ⁦1⁩) على دخله، ولما يوصل للـ ⁦Preset⁩ الخرج يبقى ⁦1⁩. الـ ⁦CTD⁩ بينقص. الـ ⁦CTUD⁩ الاتنين. وكلهم محتاجين ⁦Reset⁩ يرجّع العدد.

اشرحها أكتر

مثال: عدّ الكراتين على سير بحساس، وبعد ⁦12⁩ كرتونة يدّي إشارة لماكينة التغليف ويعمل ⁦Reset⁩.

لو النبضات أسرع من الـ ⁦Scan Time⁩، الكاونتر العادي هيفوّت منها، فلازم ⁦High Speed Counter (HSC)⁩ مربوط على دخل سريع.

9متوسط

يعني إيه ⁦Edge Detection (Rising/Falling Edge)⁩ وليه نستخدمه؟

الإجابة المختصرة

بيطلّع ⁦1⁩ لمدة دورة ⁦Scan⁩ واحدة بس لحظة ما الإشارة تتغيّر من ⁦0⁩ لـ ⁦1 (Rising)⁩ أو من ⁦1⁩ لـ ⁦0 (Falling)⁩. بنستخدمه عشان أمر يتنفّذ مرة واحدة مهما فضل الزرار مضغوط.

اشرحها أكتر

أمثلة: زيادة عدّاد مرة واحدة لكل ضغطة، تسجيل وقت بداية عطل، إرسال رسالة مرة واحدة.

أسماؤه: ⁦P⁩ و ⁦N⁩ في ⁦Siemens⁩، ⁦ONS⁩ أو ⁦OSR⁩ في ⁦Allen-Bradley⁩، ⁦PLS⁩ و ⁦PLF⁩ أو ⁦LDP⁩ في ⁦Mitsubishi⁩.

اللي بيغلط فيه الناس: تستخدم ⁦Edge⁩ على ⁦Bit⁩ متغيّر في أكتر من مكان، أو تستخدم نفس الـ ⁦Memory Bit⁩ بتاع الـ ⁦Edge⁩ في اتنين ⁦Edge⁩ مختلفين، فيشتغلوا غلط.
10متوسط

إزاي تعمل ⁦Scaling⁩ لإشارة أنالوج؟ مثال: ترانسميتر ضغط ⁦0-10 bar⁩ على ⁦4-20 mA⁩ في ⁦Siemens⁩.

الإجابة المختصرة

المعادلة الخطية: القيمة الهندسية = (⁦Raw − RawMin) ÷ (RawMax − RawMin) × (EngMax − EngMin) + EngMin⁩. في ⁦Siemens S7-1200/1500⁩ الـ ⁦4 mA⁩ بتقرا ⁦0⁩ والـ ⁦20 mA⁩ بتقرا ⁦27648⁩ (لو الكارت مظبوط على ⁦4-20 mA⁩). فقيمة ⁦Raw 13824 = 5 bar⁩.

اشرحها أكتر
Eng = (Raw − Raw_min) / (Raw_max − Raw_min) × (Eng_max − Eng_min) + Eng_min

في ⁦Siemens⁩ بتستخدم ⁦NORM_X⁩ وبعدها ⁦SCALE_X⁩ (أو ⁦SCALE⁩ في الأقدم).

بالـ ⁦mA⁩ مباشرة: ⁦12 mA = 50% = 5 bar⁩.

في ماركات تانية الـ ⁦Raw Range⁩ مختلف (مثلًا ⁦0-4000⁩ أو ⁦0-32000⁩ أو حسب إعدادات الكارت)، فارجع للمانيوال.

اللي بيغلط فيه الناس: تظبط الكارت على ⁦0-20 mA⁩ والترانسميتر ⁦4-20 mA⁩، فالصفر بيقرا ⁦20%⁩ من المدى.
11متوسط

إزاي الـ ⁦PLC⁩ يعرف إن سلك إشارة ⁦4-20 mA⁩ اتقطع؟

الإجابة المختصرة

أي قيمة تحت حوالي ⁦3.6 mA⁩ (أو قريب منها حسب الكارت) معناها عطل، لأن الترانسميتر السليم عمره ما ينزل تحت ⁦4 mA⁩ (تقريبًا ⁦3.8⁩ كحد أدنى للقياس). كتير من الكروت فيها ⁦Diagnostic⁩ لقطع السلك بيظهر ⁦Bit⁩ أو قيمة خاصة (زي ⁦32767⁩ في ⁦Siemens⁩ لـ ⁦Overflow/Wire Break⁩).

اشرحها أكتر

توصية ⁦NAMUR NE43⁩: من ⁦3.8⁩ لـ ⁦20.5 mA⁩ قياس عادي، و ⁦3.6⁩ أو أقل، و ⁦21⁩ أو أكتر، معناهم عطل في الترانسميتر أو الدايرة.

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

12مبتدئ

إيه أنواع البيانات الأساسية في الـ ⁦PLC⁩؟

الإجابة المختصرة

⁦BOOL⁩ (بت واحد ⁦0⁩ أو ⁦1⁩)، ⁦INT⁩ (16 Bit من ⁦−32768⁩ لـ ⁦32767⁩)، ⁦DINT (32 Bit)⁩، ⁦REAL⁩ (رقم بكسور ⁦32 Bit⁩)، وكمان ⁦WORD⁩ و ⁦DWORD⁩ للبتات، و ⁦TIME⁩ و ⁦STRING⁩.

اشرحها أكتر
  • تحويل ⁦INT⁩ لـ ⁦REAL⁩ قبل القسمة عشان متخسرش الكسور
  • العداد اللي بيعدّ كتير لازم يبقى ⁦DINT⁩ عشان ميعملش ⁦Overflow⁩ بعد ⁦32767⁩
  • الأنالوج الخام غالبًا ⁦INT⁩، والمحسوب ⁦REAL⁩
اللي بيغلط فيه الناس: تقسم ⁦INT⁩ على ⁦INT⁩ وتستغرب إن النتيجة اتقرّبت (مثلًا ⁦7 ÷ 2 = 3⁩).
13متوسط

إيه الفرق بين ⁦Retentive⁩ و ⁦Non-retentive⁩ في الذاكرة؟

الإجابة المختصرة

الـ ⁦Retentive⁩ بيحتفظ بقيمته بعد فصل الكهربا أو تحويل الـ ⁦PLC⁩ من ⁦Stop⁩ لـ ⁦Run⁩. الـ ⁦Non-retentive⁩ بيرجع صفر.

اشرحها أكتر

نستخدم الـ ⁦Retentive⁩ في: عدّادات الإنتاج، ساعات التشغيل، الـ ⁦Setpoints⁩ اللي المشغّل دخلها، والوصفات.

لازم تفكّر في الأمان: أوامر التشغيل ⁦(Run Bits)⁩ يفضّل متبقاش ⁦Retentive⁩، عشان الماكينة متقومش لوحدها بعد رجوع الكهربا.

14متوسط

البرنامج في ⁦Siemens⁩ بيتنظّم إزاي؟ (⁦OB⁩ و ⁦FC⁩ و ⁦FB⁩ و ⁦DB⁩)

الإجابة المختصرة

الـ ⁦OB (Organization Block)⁩ هو اللي نظام التشغيل بيناديه، زي ⁦OB1⁩ الدورة الرئيسية و ⁦OB35⁩ أو ⁦Cyclic Interrupt⁩ للـ ⁦PID⁩. الـ ⁦FC⁩ فانكشن من غير ذاكرة خاصة. الـ ⁦FB⁩ فانكشن ليه ذاكرة خاصة ⁦(Instance DB)⁩ بتحفظ قيمه. الـ ⁦DB⁩ داتا بلوك لتخزين البيانات.

اشرحها أكتر

مثال: تعمل ⁦FB⁩ واحد للموتور ⁦(Start/Stop/Fault/Hours)⁩ وتستدعيه ⁦20⁩ مرة لـ ⁦20⁩ موتور، كل واحد بـ ⁦Instance DB⁩.

في ⁦Allen-Bradley⁩ الفكرة قريبة: ⁦Tasks⁩ و ⁦Programs⁩ و ⁦Routines⁩ و ⁦AOI (Add-On Instruction)⁩ و ⁦Tags⁩.

15مبتدئ

إيه لغات البرمجة في ⁦IEC 61131-3⁩؟

الإجابة المختصرة

⁦LD (Ladder)⁩ وده الأشهر للكهربائيين، ⁦FBD (Function Block Diagram)⁩، ⁦ST (Structured Text)⁩ زي لغات البرمجة النصية، ⁦SFC (Sequential Function Chart)⁩ للتسلسل، و ⁦IL (Instruction List)⁩ وده اتلغى في الإصدار الأخير.

اشرحها أكتر
  • ⁦Ladder⁩: منطق ديجيتال وتتبّع أعطال سهل للفنيين
  • ⁦ST⁩: حسابات ومعادلات ولوبس
  • ⁦SFC⁩: الماكينات اللي شغّالة خطوات ⁦(Steps)⁩
  • ⁦FBD⁩: تحكم أنالوج و ⁦PID⁩
16مبتدئ

إيه الفرق بين مخرج ⁦Relay⁩ ومخرج ⁦Transistor⁩ في الـ ⁦PLC⁩؟

الإجابة المختصرة

الـ ⁦Relay⁩: بيشغّل ⁦AC⁩ أو ⁦DC⁩، معزول، بيستحمل تيار أعلى (حوالي ⁦2 A⁩)، بس بطيء وعمر الكونتاكت محدود بعدد المرات. الـ ⁦Transistor: DC⁩ بس (غالبًا ⁦24 V⁩)، سريع جدًا ومناسب للنبضات (⁦Pulse Train⁩ للسيرفو والستيبر) والـ ⁦PWM⁩، وعمره طويل، بس تياره أقل (غالبًا ⁦0.5 A⁩) وحساس للحمل الزيادة.

اشرحها أكتر

مع الأحمال الحثية (كويلات) على مخرج ترانزستور: لازم دايود حماية أو تأكد إن الكارت فيه حماية داخلية.

مع مخرج ⁦Relay⁩ بيشغّل كتير جدًا (كل ثانية مثلًا)، هيبوظ بسرعة: استخدم ⁦Transistor⁩ أو ⁦SSR⁩.

17متوسط

لمبة الـ ⁦Output⁩ منوّرة على الـ ⁦PLC⁩ بس الحمل مش شغّال. تدوّر فين؟

الإجابة المختصرة

الـ ⁦PLC⁩ قام بدوره، المشكلة بعد الكارت. قيس الجهد على طرف المخرج بالنسبة للـ ⁦Common⁩ الصح. بعدين: فيوز المخرج أو الـ ⁦Common⁩، مصدر جهد الحمل (⁦24 V⁩ أو ⁦230 V⁩) موجود؟ السلك للحمل، ريليه وسيط ⁦(Interposing)⁩، والحمل نفسه.

اشرحها أكتر
  • في الكروت الترانزستور: لو الحمل محتاج تيار أكبر من الكارت، المخرج هيدخل حماية أو يتحرق
  • في الكروت اللي ليها ⁦Common⁩ منفصل لكل مجموعة: اتأكد إن الـ ⁦Common⁩ متوصّل
  • لو فيه ⁦Force⁩ على المخرج من البرنامج، شيله واختبر صح

والعكس: لو الحمل شغّال واللمبة طافية، غالبًا فيه ⁦Force⁩ أو توصيل غلط أو تسريب من مخرج ⁦Triac⁩.

18مبتدئ

⁦Modbus RTU⁩ و ⁦Modbus TCP⁩، إيه الفرق؟

الإجابة المختصرة

الاتنين نفس البروتوكول. الـ ⁦RTU⁩ على خط ⁦Serial⁩ غالبًا ⁦RS-485⁩ (سلكين ⁦A⁩ و ⁦B⁩)، بيتظبط فيه السرعة ⁦(Baud)⁩ والـ ⁦Parity⁩ و ⁦Stop Bits⁩ ورقم الجهاز (⁦Slave ID⁩ من ⁦1⁩ لـ ⁦247⁩). الـ ⁦TCP⁩ على ⁦Ethernet⁩ على بورت ⁦502⁩، والجهاز بيتعرف بالـ ⁦IP⁩ (وفيه ⁦Unit ID⁩).

اشرحها أكتر

النظام ⁦Master/Slave⁩ (أو ⁦Client/Server⁩ في ⁦TCP⁩): الماستر بيسأل والجهاز بيرد، الجهاز مبيبعتش لوحده.

أشهر الـ ⁦Function Codes⁩:

  • ⁦01⁩ قراية ⁦Coils⁩، و ⁦02⁩ قراية ⁦Discrete Inputs⁩
  • ⁦03⁩ قراية ⁦Holding Registers⁩، و ⁦04⁩ قراية ⁦Input Registers⁩
  • ⁦05⁩ كتابة ⁦Coil⁩ واحد، و ⁦06⁩ كتابة ⁦Register⁩ واحد
  • ⁦15⁩ كتابة ⁦Coils⁩ كتير، و ⁦16⁩ كتابة ⁦Registers⁩ كتير
19خبير

ربطت انفرتر بالـ ⁦PLC⁩ على ⁦Modbus RTU⁩ ومفيش رد. تراجع إيه؟

الإجابة المختصرة

نفس الـ ⁦Baud⁩ والـ ⁦Parity⁩ والـ ⁦Stop Bits⁩ في الناحيتين، رقم الـ ⁦Slave⁩ صح ومش متكرر، سلكين ⁦A⁩ و ⁦B⁩ متوصّلين صح (جرّب تبدّلهم لأن التسميات مش موحّدة)، مقاومة إنهاء ⁦120 Ω⁩ في أول وآخر الخط، والانفرتر مظبوط إنه ياخد الأوامر من الكوميونيكيشن.

اشرحها أكتر

وبعد ما الرد يرجع، مشاكل البيانات المعتادة:

  • الإزاحة بواحد ⁦(Offset)⁩: الجهاز بيقول ⁦Register 40001⁩ والـ ⁦PLC⁩ محتاج العنوان ⁦0⁩. أو العكس
  • أرقام ⁦32 Bit⁩ (REAL أو ⁦DINT⁩) على اتنين ⁦Registers⁩: ترتيب الـ ⁦Words⁩ أو الـ ⁦Bytes (Swap)⁩ بيفرق
  • قيم مضروبة في ⁦10⁩ أو ⁦100⁩ (مثلًا ⁦500⁩ يعني ⁦50.0 Hz⁩)
  • الـ ⁦Timeout⁩ قليل أو الـ ⁦Polling⁩ سريع زيادة على عدد أجهزة كبير
  • لو فيه أكتر من جهاز وفي مشاكل عشوائية: الخط محتاج ⁦Bias⁩، أو التوصيل ⁦Star⁩ مش ⁦Daisy chain⁩
20خبير

ليه شبكة ⁦RS-485⁩ لازم تبقى ⁦Daisy Chain⁩ ومقاومات إنهاء في الطرفين؟

الإجابة المختصرة

لأن الـ ⁦RS-485⁩ خط نقل بيانات ⁦(Transmission Line)⁩. أي فرع طويل (⁦Star⁩ أو ⁦Stub⁩) بيعمل انعكاسات للإشارة تبوّظ البيانات، خصوصًا في السرعات العالية. ومقاومات الإنهاء ⁦120 Ω⁩ (بتساوي معاوقة الكابل تقريبًا) بتمتص الإشارة في آخر الخط فمترجعش.

اشرحها أكتر
  • الطول لحد حوالي ⁦1200 m⁩ في السرعات القليلة
  • الحمل القياسي حوالي ⁦32⁩ جهاز ⁦(Unit Load)⁩ على الخط، وفيه ترانسيفرات بتسمح بأكتر
  • كابل ⁦Twisted Pair⁩ مع شيلد، وسلك تالت للـ ⁦Common (0 V)⁩ مفضّل
  • المقاومات في أول وآخر الخط بس، مش في كل جهاز
21متوسط

إيه الفرق بين ⁦Profibus⁩ و ⁦Profinet⁩؟

الإجابة المختصرة

⁦Profibus DP⁩ شبكة ⁦Serial⁩ على ⁦RS-485⁩، كل جهاز ليه عنوان رقمي ⁦(Station Address)⁩، وفيه مقاومات إنهاء في أول وآخر الخط (في الكونيكتور)، والسرعة لحد ⁦12 Mbps. Profinet⁩ على ⁦Ethernet⁩ صناعي، كل جهاز ليه ⁦Device Name⁩ والـ ⁦Controller⁩ هو اللي بيدّيله ⁦IP⁩ على أساس الاسم، وبتضيفه في المشروع بملف ⁦GSDML⁩.

اشرحها أكتر

في ⁦Profibus⁩ بتستخدم ملف ⁦GSD⁩. في ⁦Profinet⁩ الشبكة ممكن تبقى ⁦Line⁩ أو ⁦Star⁩ أو ⁦Ring⁩ (مع سويتشات أو ⁦MRP⁩).

⁦Profinet⁩ أسرع وبيسمح بالتشخيص والوصول للأجهزة من نفس الكابل.

22خبير

غيّرت جهاز ⁦Profinet⁩ (مثلًا انفرتر أو ⁦Remote I/O⁩) والـ ⁦PLC⁩ مش شايفه. ليه؟

الإجابة المختصرة

غالبًا الجهاز الجديد مالوش ⁦Device Name⁩ أو اسمه مختلف عن اللي في المشروع. في ⁦Profinet⁩ الـ ⁦PLC⁩ بيدوّر على الجهاز بالاسم. لازم تدّيه نفس الاسم ⁦(Assign Device Name)⁩ من السوفت وير أو تستخدم خاصية الاستبدال التلقائي (لو الشبكة متظبطة على ⁦Topology⁩).

اشرحها أكتر

مراجعات تانية: الـ ⁦Firmware⁩ أو الموديل مختلف عن اللي في المشروع ⁦(GSDML)⁩، الكابل والسويتش، والـ ⁦IP⁩ متكرر.

23متوسط

إيه خطورة الـ ⁦Force⁩ والـ ⁦Online Changes⁩؟

الإجابة المختصرة

الـ ⁦Force⁩ بيخلّي المدخل أو المخرج بقيمة ثابتة مهما كان المنطق أو الحالة الحقيقية، فممكن يشغّل معدة والناس فاكرينها واقفة، أو يلغي حماية. التعديل أونلاين ممكن يغيّر تصرّف الماكينة وهي شغالة.

اشرحها أكتر

قواعد شغل:

  • متعملش ⁦Force⁩ على حاجة ليها علاقة بالأمان
  • بلّغ المشغّل قبل أي تعديل، وخلّي حد جنب الماكينة
  • شيل كل الـ ⁦Forces⁩ قبل ما تمشي، وسجّل اللي عملته
  • خد ⁦Backup⁩ قبل أي تعديل
24خبير

الـ ⁦CPU⁩ دخل ⁦Stop⁩ أو ⁦Fault⁩ فجأة. إيه الأسباب المحتملة؟

الإجابة المختصرة

أشهرها: الـ ⁦Watchdog⁩ (زمن الـ ⁦Scan⁩ عدّى الحد بسبب ⁦Loop⁩ طويل أو برنامج تقيل)، خطأ برمجي زي قسمة على صفر أو عنوان مش موجود أو ⁦Array⁩ خارج الحدود، كارت ⁦I/O⁩ وقع أو اتشال، مشكلة في الباور سبلاي، أو بطارية/ذاكرة.

اشرحها أكتر

أول حاجة: افتح الـ ⁦Diagnostic Buffer (Siemens)⁩ أو ⁦Major/Minor Faults (Allen-Bradley)⁩ أو ⁦Error Code (Mitsubishi)⁩، وهيقولك السبب والمكان.

مثال: في ⁦S7-300/400⁩ لو حصل خطأ برمجي ومفيش ⁦OB121⁩ في البرنامج، الـ ⁦CPU⁩ بيروح ⁦Stop⁩. تصرّف الأجيال الأحدث بيختلف، فشوف المانيوال.

25خبير

اشرح الـ ⁦P⁩ و ⁦I⁩ و ⁦D⁩ في الـ ⁦PID⁩ باختصار.

الإجابة المختصرة

الـ ⁦P (Proportional)⁩: بيصحّح بنسبة الخطأ الحالي، لو كبّرته الاستجابة أسرع بس ممكن يتذبذب، ولوحده بيسيب خطأ ثابت. الـ ⁦I (Integral)⁩: بيجمّع الخطأ مع الوقت فيشيل الخطأ الثابت، بس لو كتير يعمل ⁦Overshoot⁩ وبطء في الاستقرار. الـ ⁦D (Derivative)⁩: بيبص على سرعة تغيّر الخطأ فيقلل الـ ⁦Overshoot⁩، بس حساس جدًا للتشويش.

اشرحها أكتر
  • معظم لوبات المصانع (ضغط، تدفق، مستوى) ⁦PI⁩ بس
  • الحرارة ممكن تحتاج ⁦D⁩ شوية لأنها بطيئة
  • ⁦Anti-windup⁩: لما الخرج يوصل ⁦100%⁩ والخطأ لسه موجود، الـ ⁦I⁩ بيفضل يجمّع، فلما الحاجة ترجع بيعمل ⁦Overshoot⁩ كبير. الحل إن الـ ⁦I⁩ يقف لما الخرج يتشبّع
  • الـ ⁦PID⁩ لازم يتنادى على زمن ثابت ⁦(Cyclic Interrupt)⁩، مش في الدورة العادية اللي زمنها متغيّر
26متوسط

إزاي تعمل ⁦Backup⁩ وتوثّق برنامج ⁦PLC⁩؟

الإجابة المختصرة

خد نسخة من البرنامج من الـ ⁦PLC⁩ نفسه ⁦(Upload)⁩ مش بس من اللابتوب، باسم فيه التاريخ ورقم النسخة، واحفظها في مكان مشترك. اكتب ⁦Comments⁩ على الـ ⁦Tags⁩ والـ ⁦Rungs⁩، وسجّل كل تعديل: إيه اللي اتغيّر، ليه، ومين.

اشرحها أكتر

وكمان خد ⁦Backup⁩ لباراميترات الانفرترات والسيرفوهات والـ ⁦HMI⁩، لأن تغيير جهاز من غيرها بيضيّع ساعات.

في المصانع الكبيرة فيه أنظمة ⁦Version Control⁩ للبرامج.

الإجابات دي عامة وبتغطي الشائع في الشغل. أرقام الباراميترات وأكواد الأعطال بتختلف من ماركة للتانية، والمانيوال والكود المحلي هما المرجع. علامات «عارفها» و«مش عارفها» بتتسجّل على الجهاز ده بس.