ICSML: إطار تعلُّم الآلة لأنظمة التحكُّم الصناعي للاستدلال المُحَلِّي باستخدام شِفرة IEC 61131-3

كونستانتين دومانيديس

براشانت هاري نارايان راجبوت

ميخائيل مانياتاكوس

الملخّص

لعبت أنظمة التحكُّم الصناعي (ICS) دورًا محوريًّا في تمكين الثورة الصناعيّة الرابعة. تُؤتمت أجهزة ICS مثل وحدات التحكُّم المنطقيّة القابلة للبرمجة (PLCs) وتُراقِب وتتحكَّم في العمليات الحيويّة في البيئات الصناعيّة وقطاع الطاقة والبيئات التجاريّة. وقد أدّى تقارُب تقنيّات تكنولوجيا العمليات (OT) التقليديّة مع تكنولوجيا المعلومات (IT) إلى فتح مشهد تهديدات جديد ومميَّز. ألهم ذلك أبحاث دفاع تركز بدرجة كبيرة على أساليب اكتشاف الشذوذ المعتمدة على تعلُّم الآلة (ML) التي تعمل على عتاد IT خارجي، ما يزيد التكلفة ويوسِّع سطح الهجوم. لإزالة هذا القيد، نقدّم إطار الاستدلال لتعلُّم الآلة في أنظمة التحكُّم الصناعي (ICSML) الذي يُمكِّن من تنفيذ استدلال نماذج تعلُّم الآلة محلِّيًّا على الـPLC. نُفِّذ ICSML باستخدام شِفرة IEC 61131-3 ويقدّم عدة تحسينات لتجاوز القيود التي تفرضها لغات البرمجة المتخصِّصة في المجال. وبذلك يعمل على كُلّ PLC دون الحاجة إلى دعم من المُصنِّع. يوفِّر ICSML مجموعة كاملة من المكوِّنات لبناء نماذج تعلُّم آلي متكاملة بطريقة تُشبه الأُطر المعروفة. أجرينا سلسلة من اختبارات الأداء لدراسة الذاكرة وزمن التنفيذ، وقارنّا حلّنا بإطار الاستدلال TFLite. وبالتوازي، طوّرنا تحسينات خاصّة بالمجال لزيادة كفاءة ICSML. ولإثبات قدرات الإطار، قيَّمنا دراسة حالة لدِفاع عملي ضد هجمات مُدرِكة للعملية تستهدف محطة تحلية مياه.

ملاحظة تقنيّة: كلمات محجوزة ومفاتيح تمييز الصياغة
Additional keywords:
case, of, if, then, end_if, end_case, super, function_block, function, extends, var,
constant, byte, end_var, var_input, real, bool, var_output,
dint, udint, word, dword, array, of, uint, not, adr, program, for, end_for,
while, do, end_while, repeat, end_repeat, until, to, by, else, elsif

Other symbols:
:, :=, <>, ;, ., [, ], ^, TRUE, FALSE, {attribute, hide}

keywords=[1]:
case, of, if, then, end_if, end_case, super, function_block, extends, var,
constant, byte, end_var, var_input, real, bool, var_output,
dint, udint, word, dword, array, of, uint, not, adr, :, :=, <>, ;, ., [, ], program, function, for, end_for,
while, do, end_while, repeat, end_repeat, until, to, by, else, elsif, sizeof

keywords=[2]: TRUE, FALSE
keywords=[3]: {attribute, hide}
sensitive=false
more_comments=[l] // 
more_comments=[s] (* *)
more_strings=[b] "  and  ' 
تصنيف المفاهيم (ACM CCS)
<ccs2012>
  <concept>
    <concept_id>10010520.10010553.10010562</concept_id>
    <concept_desc>تنظيم أنظمة الحاسوب — الأنظمة المُدمَجة</concept_desc>
    <concept_significance>500</concept_significance>
  </concept>
  <concept>
    <concept_id>10010147.10010257.10010293</concept_id>
    <concept_desc>منهجيّات الحوسبة — مقاربات تعلُّم الآلة</concept_desc>
    <concept_significance>500</concept_significance>
  </concept>
  <concept>
    <concept_id>10002978.10002997.10002999</concept_id>
    <concept_desc>الأمن والخصوصيّة — أنظمة كشف التسلُّل</concept_desc>
    <concept_significance>300</concept_significance>
  </concept>
</ccs2012>

المقدّمة

يشمل مصطلح أنظمة التحكُّم الصناعي (ICS) جميع الأجهزة والأنظمة التي تُمكِّن أتمتة العمليات الصناعيّة، بما في ذلك أنظمة التحكُّم وأجهزة القياس والشبكات ومكوّنات أخرى. تُستَخدم أجهزة ICS على نطاق واسع في البُنى التحتيّة الحيويّة للتحكُّم في العمليات الفيزيائيّة الحسّاسة. تضمن هذه الأجهزة التشغيل السلس والموثوق لبيئات صناعيّة وطاقيّة وتجاريّة مثل خطوط التجميع، ومحطّات تحلية المياه، والشبكات الكهربائيّة الذكيّة، ومحطّات المعالجة الكيميائيّة، والبنية التحتيّة للتعدين. ووفقًا لتقرير صادر عن Research and Markets عام 2021، من المتوقّع أن تبلغ القيمة السوقيّة العالميّة للتحكُّم الصناعي 49.6 مليار دولار أمريكي بحلول عام 2025.

مع بروز الثورة الصناعيّة الرابعة (Industry 4.0)، بدأت الصناعات في الاستفادة من أجهزة تكنولوجيا المعلومات (IT) داخل قطاع تكنولوجيا العمليات (OT)، ما أتاح تحسين الإنتاجية في الزمن الحقيقي، والمراقبة والتحكُّم عن بُعد، والصيانة التنبؤية، وزيادة الأتمتة، وغير ذلك. كان يُعتقَد سابقًا أن قطاع OT آمن بفضل عزله عن الشبكات (air-gapped). لكن الثورة الصناعيّة الرابعة طمَسَت الحدود بين IT وOT، ما جعل الأخير عُرضة لهجمات الشبكة عن بُعد. على سبيل المثال، ثغرة Log4j (CVE-2021-44228) التي اعتُبرت على نطاق واسع مشكلة تخصّ مجال IT، أثّرت في الواقع في عدد كبير من مورّدي ICS: شملت أكثر من 100 منتج من Siemens، و8 أجهزة من Rockwell مثل Plex IIoT وغيرها، وبرمجيّات Smart Script من WAGO، والعديد من الشركات الأخرى. ونتيجة لذلك، يمكن للمهاجمين استغلال ثغرات في بُنية IT لنشر الهجمات إلى شبكة OT وإلحاق أضرار جسيمة بالبُنى التحتيّة الحيويّة.

مع ازدياد عدد أجهزة OT المتّصلة بالإنترنت، ومع الحوافز المتمثّلة في العوائد الماليّة المرتفعة وإمكانية إحداث ضرر كبير بوجود ثغرات عديدة، أصبح قطاع OT هدفًا أكثر جاذبيّة للهجمات. ووفقًا لـPacketlabs، تعرّض 33.8% من حواسيب ICS عالميًّا لهجمات في النصف الأوّل من عام 2021. علاوة على ذلك، زادت ثغرات ICS بنسبة 41% مقارنة بالنصف الثاني من عام 2020، وكان 71% منها قابلًا للاستغلال عن بُعد.

شهد مجال ICS العديد من الهجمات البارزة: أصاب Stuxnet أكثر من 200,000 حاسوب وتسبّب في تلف عدد كبير من أجهزة الطرد المركزي المستخدمة في تخصيب اليورانيوم. وبدأت هجمة شبكة الكهرباء الأوكرانية عام 2015 بسرقة بيانات VPN، حيث قام المهاجمون بفتح القواطع، وإخراج محطات فرعيّة عن الخدمة، وكتابة برمجيّات ثابتة خبيثة لتعطيل الأوامر عن بُعد، ما أدّى إلى انقطاع الكهرباء عن نحو 230,000 شخص. كما أُحبِطت هجمات أخرى، مثل الهجوم على محطة معالجة المياه في أولدسمار، فلوريدا، حيث حاول المهاجمون زيادة تركيز هيدروكسيد الصوديوم في المياه إلى 100 ضعف الكميّة الطبيعيّة.

دُرست الهجمات على ICS في الأدبيّات، وتشمل الهجمات على وحدات التحكُّم المنطقيّة القابلة للبرمجة (PLCs) لتغيير منطق التحكُّم أو معلمات العملية، وتعديل البرمجيّات الثابتة، وتزوير قراءات الحساسات ضمن هجمات حقن بيانات زائفة (FDI) تُغذِّي الـPLC ببيانات مُضلِّلة للهجوم على العملية الفيزيائيّة المُتحكَّم بها. كما دُرست مسائل اكتشاف الثغرات في برمجة PLC وتصحيحها، ورصد البرمجيّات الخبيثة. وبالمثل، طُرحت دفاعات ضد الهجمات على عتاد ICS، من بينها حماية PLC عبر ثوابت التحكُّم (العلاقات بين قراءات الحساسات وأوامر PLC)، واستخراج قواعد منطق التحكُّم، وكشف انتهاكات السلامة. كما استُخدمت حلول معتمدة على تعلُّم الآلة لاكتشاف هجمات FDI.

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

غالبًا ما تُبنى هذه الحلول المعتمدة على تعلُّم الآلة باستخدام لغات عالية المستوى، ولا يمكن تشغيلها إلا على PLCs تستخدم نظام تشغيل يدعم تنفيذ البرمجيّات العامّة. ولسوء الحظ، تعمل فئة واسعة من الأجهزة مباشرة على العتاد أو باستخدام أنظمة تشغيل خاصّة، ما يمنع مثل هذه العمليات. علاوة على ذلك، تعمل هذه الحلول في كثير من الأحيان خارج الجهاز إمّا في وضع جمع البيانات عبر الإنترنت أو دون اتصال. وبالتالي، يتعذّر نشرها عمليًّا نظرًا للحاجة إلى جهاز إضافي لكل PLC مع إمكانية الوصول إلى مدخلات الحساسات المستخدمة في الحل المعتمد على ML. يوضّح الشكل [fig:traditional_setup] الحالة الراهنة: يجب أن يتلقّى أي حل معتمد على ML مدخلات العملية (عادةً تناظريّة) بشكل منفصل عن الـPLC، وينفِّذ الاستدلال وربما يكتشف شذوذًا، ثم يتّصل هذا الجهاز الخارجي (عادةً حاسوبًا تقليديًّا) بشبكة OT لنقل نتيجة الاستدلال. من البيّن أن وجود جهاز IT تقليدي داخل شبكة OT يوسّع سطح الهجوم وقد يرفع شدّة الأثر.

لإلغاء الحاجة إلى إدخال ودمج حاسوب تقليدي في دفاعات الأمن المعتمدة على ML، نقدّم ICSML؛ إطار استدلال لتعلُّم الآلة مُنفَّذ محلّيًّا بلغة النص الهيكلي (ST)، ومُتوافقًا بذلك مع جميع الأجهزة المتوافقة مع IEC 61131-3. وبما أنّ الإطار مبنيًّا بلغة ST، فإنّه يندمج مع أي مشروع IEC ويُتيح تنفيذ الدفاعات المعتمدة على ML على الجهاز نفسه. يمكن لهذا الحل أن يعمل على الـPLC دون أجهزة خارجيّة إضافية، ويبقى مرتبطًا بشكل وثيق بمدخلات الحساسات المرسلة إلى الـPLC. يوضّح الشكل [fig:icsml_setup] ICSML، حيث يسمح بالاستدلال داخل الـPLC دون: 1) التضحية بدقّة الاستدلال، و2) التأثير على التشغيل الاعتيادي للـPLC، و3) الحاجة إلى دعم المُصنِّع. يمكن تلخيص مساهماتنا كما يلي:

المبادئ الأساسيّة

أنظمة التحكُّم الصناعي

تشمل أنظمة التحكُّم الصناعي (ICS) أنظمة التحكُّم وأجهزة القياس المرتبطة بها التي تُراقب وتُدير وتتحكَّم وتُؤتمت العمليات الصناعيّة الفيزيائيّة، وغالبًا ما تُستخدم في البُنى التحتيّة الحيويّة. إحدى اللبنات الأساسيّة في ICS هي وحدات التحكُّم المنطقيّة القابلة للبرمجة (PLCs)، وهي أجهزة متكاملة ذات تصميم متين لضمان التشغيل الموثوق في البيئات الصناعيّة القاسية. تعمل الـPLCs وفق نموذج تشغيلي دوري يُعرف بدورة المسح (scan cycle)، حيث تُقرأ مدخلات الحساسات، وتُنفَّذ الحسابات بناءً على منطق التحكُّم، وتُضبط المُشغِّلات. يُبرمج منطق التحكُّم لأجهزة الـPLC من قِبل مهندسي العمليات باستخدام مجموعة من لغات البرمجة المتخصِّصة التي يحدِّدها معيار IEC 61131.

لغات IEC 61131-3

يُعد IEC 61131 معيارًا دوليًّا لوحدات التحكُّم القابلة للبرمجة. ويحدِّد الجزء الثالث من المعيار (IEC 61131-3) عدّة لغات برمجة تشمل:

مخطّط السِّلّم (Ladder Diagram - LD): لغة رسوميّة منخفضة المستوى تمثِّل هيكلًا يشبه السُّلّم، مؤلَّفًا من سِكّتين رأسيّتين متوازيتين تتّصل بينهما «دَرَجات» أفقيّة. تُمثَّل المدخلات والمخرجات برموز «التلامس» و«الملفّات» على التوالي. تُعد LD مناسبة أكثر لفنيّي الصيانة الذين يفتقرون لخبرة برمجيّة عميقة.

مخطّط الكتل الوظيفيّة (Function Block Diagram - FBD): لغة رسوميّة تتكوّن من كتل وظيفيّة (FBs) قد تكون مُضمَّنة أو مكتوبة بأيٍّ من لغات IEC 61131-3 الأخرى، وتتّصل بخطوط أفقيّة تُعرف بخطوط تدفُّق الإشارة.

المخطّط التسلسلي للوظائف (Sequential Function Chart - SFC): لغة رسوميّة تُحدِّد السلوك التسلسلي وقادرة على التكامل مع لغات IEC الأخرى. تُحدِّد الكتل المستطيلة مراحل عملية التحكُّم وتتّصل عبر خطوط تدفُّق وانتقالات.

النصّ الهيكلي (Structured Text - ST): لغة نصيّة عالية المستوى تُشبه باسكال، وتُتيح برمجة وظائف معقّدة بما يلبّي تطوّر قدرات الـPLC.

تتكوّن مشاريع IEC من كتل برمجيّة تُسمّى وحدات تنظيم البرامج (POUs)، يمكن برمجتها بإحدى لغات IEC ثم استخدامها من قِبل اللغات الأخرى، ما يجعل اللغات متوافقة فيما بينها. تشمل الـPOUs: الدوال (Functions) التي تُعلن بطريقة مشابهة للدوال في اللغات العامّة، والكتل الوظيفيّة (Function Blocks) التي تعمل بشكل مشابه للكائنات في البرمجة الكائنيّة، إذ تحتوي على متغيّرات ودوال تُغلِّف الحالة والوظيفة. أمّا الواجهات (Interfaces) في IEC 61131-3 فتمثّل «عقودًا» تُعرِّف تواقيع الطرق التي تُنفِّذها الكتل الوظيفيّة. كما يدعم المعيار أيضًا الهياكل (Structs) التي تُعلن بطريقة مشابهة لهياكل لغة C.

تحتوي الدوال وطرق الكتل الوظيفيّة على أقسام مخصّصة لتعريف المتغيّرات وتهيئتها. تمثّل المتغيّرات المعرّفة ضمن VAR_INPUT مدخلات الدالّة أو الطريقة، بينما تمثّل المتغيّرات ضمن VAR_OUTPUT قيم الإرجاع. وتُعدّ المتغيّرات في قسم VAR محليّة النطاق. وأخيرًا، تُستخدم متغيّرات VAR_IN_OUT لتمرير المعطيات بالمرجع كمدخلات/مخرجات معًا.

صياغة المشكلة

نستكشف في هذا العمل قدرة الـPLCs على تنفيذ الاستدلال بكفاءة باستخدام لغات IEC 61131-3 للاستفادة من مزايا تعلُّم الآلة محلّيًّا على الـPLC. إن تنفيذ الاستدلال المعتمد على ML محلّيًّا على الـPLC يمثّل تحدّيًا للأسباب التالية:

  1. تُكتب تطبيقات الـPLC بلغات برمجة متخصِّصة ذات تعبيريّة محدودة وتُترجم إلى ملفات تنفيذيّة غير قياسيّة. تفتقر هذه اللغات إلى إدارة الذاكرة الديناميكيّة، ولا تدعم الاستدعاء الذاتي (recursion)، وغيرها من القيود التي تتطلّب حلولًا مبتكرة لدعم الاستدلال المعتمد على ML على نحوٍ سليم. سنوضّح ذلك في القسم 3.1.
  2. تأتي الـPLCs بتكوينات متباينة من حيث القدرة الحاسوبيّة، إذ تحتوي الغالبيّة على ذاكرة ومعالجات مدمجة محدودة، كما سنعرض في القسم 3.2. لذا يجب أن تكون الطرق المطوَّرة خفيفة الوزن وألّا تتداخل مع الهدف الحوسبي الأساسي للـPLC: التحكُّم والمراقبة.
  3. تتطلّب العمليات الصناعيّة عادةً استجابة في الزمن الحقيقي، وقد تكون دورة المسح (حلقة الاستشعار–الحوسبة–التفعيل) بفترات زمنية في حدود أجزاء من الثانية. لذا ينبغي تطوير الاستدلال بعناية مع مراعاة دورة المسح، كما سنناقش في القسم 3.3.

قيود لغات IEC 61131-3

يُفضي تنفيذ حلول تعلُّم الآلة لأنظمة التحكُّم الصناعي وجميع وظائفها ضمن بيئة المُصنِّع للـPLC وباستخدام لغات IEC 61131-3 إلى تحدّيات نابعة من القيود الخاصّة بهذه اللغات. وبعد موازنة مزايا وعيوب لغات IEC المتاحة، نجد أن Structured Text هي الأنسب لتطوير تطبيقات ML لكونها أقرب إلى اللغات التقليديّة وأكثر مرونة ضمن المعيار IEC 61131-3. ومن أبرز القيود في ST:

غياب إدارة الذاكرة الديناميكيّة: تفتقر ST، شأنها شأن بقية لغات IEC 61131-3، إلى إدارة الذاكرة الديناميكيّة أثناء التشغيل؛ ممّا يمنع مثلًا تخصيص مصفوفات بأطوال متغيرة.

تمرير المدخلات بالقيمة: تُمرَّر المدخلات المُصرَّح بها في VAR_INPUT إلى الـPOUs بالقيمة (يُنشَأ نُسَخ للبيانات لكل استدعاء)، ما لم تُمرَّر كـVAR_IN_OUT صراحةً.

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

عدم دعم الاستدعاء الذاتي (Recursion): يُحظَر الاستدعاء الذاتي المباشر أو غير المباشر في لغات IEC 61131-3، لعدم القدرة على ضمان حدّ أعلى آمن للذاكرة المستخدَمة. وقد تُتيح حِيَل مثل الاستدعاء غير المباشر تجاوز فحوصات المُترجِم الساكنة، لكنها تؤدّي إلى أعطال وقت التنفيذ.

غياب الدوال من الدرجة الأولى: لا تُعامَل الدوال في ST ككيانات من الدرجة الأولى، فلا يمكن تمريرها كوسائط إلى الـPOUs. يُقيِّد ذلك استخدام البرمجة الوظيفيّة المُعتادة في أُطر ML لبناء سلاسل معالجة بيانات وتكوين مكوّنات مثل طبقة Keras lambda.

العرض=1

جدول 1: مواصفات عتاد PLC لدى شركات مختلفة
الشركة المُصنِّعة النماذج زمن/تعليمة تقريبي (\( \mu s \)) الذاكرة / RAM
ABB AC500 PM57x/58x/59x/595/50xx/55x/56x FP:0.7/0.5/0.004/0.001/0.6/1200 128-512KB/512KB-1MB/2-4MB/16MB/256KB-1MB/128-512KB
Allen Bradley Micro 810/20/30/50/70, CL 5380, 5560/70/80 2.5/0.3/0.3/0.3/0.3, N/A, N/A 2/20/8-20/20/40KB, 600KB-10MB, 3-40/2-32/2-32MB
Delta Electronics AS300, AH500 1.6, 0.02 LD N/A, 128KB-4MB
Eaton XC152, XC300 N/A, N/A 64MB, 512MB
Emerson Micro CPUE05/001, RX3i CPE400/CPL410 0.8 Bool/1.8, N/A 64/34KB, 64MB/2GB
Fatek B1, B1z 0.33, 0.33 31KB, 15KB
Festo CECC-D/LK/S N/A 16/16/44MB
Fuji Electric SPH5000M/H/D/3000D/300/2000/200 FP:0.0253/0.066/0.088/0.08/0.27/5600 4/4/2/2/2MB/128KB
Hitachi Micro EHV+, HX, EHV+ N/A, 0.006 FP, 0.08 1MB, 16MB, 2MB
Honeywell ControlEdge R170 PLC N/A 256MB ECC
Mitsubishi Electric MELSEC iQ-R/Q/L 0.0098 FP/0.0016 LD/0.065 LD 4MB/64-896KB/64K Steps
Panasonic FP 7/2SH/0R/X0/0H 0.011/0.03/0.08-0.58/0.08-0.58/0.01 1MB/20KB/64KB/16KB/64K Steps
Rexroth (Bosch) XM21/22/42, VPB FP:0.026/0.013/0.02/0.02 0.5/0.5/2/16GB
Schneider Electric Modicon M221/241/251/262 0.3/0.3/0.022/0.005 256KB/64MB/64MB/32MB
SIEMENS SIMATIC S7-1200/1500 2.3/0.006-0.384 150KB/150KB-4MB
WAGO PFC100/200 N/A, N/A 256/512MB

قيود عتاد الـPLC

نظرًا إلى أنّ الـPLCs تُنشَر غالبًا في بيئات صناعيّة مترابطة وقاسية، يتركّز تصميمها عادةً على المتانة والكفاءة والاتصال والصلابة، على حساب إدماج عتاد حوسبي عالي الأداء.

كما هو مبيَّن في الجدول [tbl:plc_hardware]، تستخدم الـPLCs من الفئة المبدئيّة مثل Allen Bradley Micro 810 معالجات منخفضة الطاقة وتحتوي على ذاكرة محدودة (2 كيلوبايت فقط). أمّا الـPLCs متوسّطة الأداء مثل Schneider Electric Modicon M241 فتضمّ معالجات أسرع (أحيانًا متعدّدة الأنوية) وذاكرة RAM أكبر (حوالي 64 ميجابايت). وأخيرًا، تحتوي الـPLCs عالية الأداء مثل WAGO PFC 200 عادةً على معالجات ARM أسرع وذاكرة RAM بسعة 512 ميجابايت.

وبالنظر إلى الموارد المحدودة المتاحة على الـPLCs، ينبغي كتابة تطبيقات تعلُّم الآلة لأنظمة التحكُّم الصناعي بكفاءة في استخدام المدخلات/المخرجات وزمن المعالج والذاكرة، لتحقيق الأداء المطلوب دون التأثير في مهام ICS الأخرى.

قيود الزمن الحقيقي

تتضمّن عمليات ICS عادةً مهامّ تعمل دوريًّا، مثل حلقات التغذية الراجعة PID. ولذلك تعمل الـPLCs وفق نموذج دوري يعتمد على تسلسل دورة المسح. في بداية الدورة، يقرأ الـPLC قيم المدخلات (عادةً قراءات الحساسات) ويحمّلها في الذاكرة لإجراء الحسابات. بعد ذلك، يُنفِّذ تسلسل التعليمات المُبرمَج باستخدام لغات IEC 61131-3. وأخيرًا، تُحدَّث مخرجات الـPLC وفق نتائج الخطوة السابقة، ويمكن استخدام هذه المخرجات لأغراض متعدّدة مثل تفعيل المُشغِّلات أو جمع البيانات وغيرها.

قد يختلف طول دورة المسح المرغوب فيه بحسب بيئة ICS. فمثلًا، قد يُطلَب من الـPLCs التي تتحكّم في الروبوتات الصناعيّة الاستجابة خلال أجزاء من الثانية، خصوصًا عندما تتعلّق المسألة بسلامة الإنسان. في المقابل، يمكن التحكّم في العمليات البتروكيميائيّة البطيئة بدورات مسح بطول ثوانٍ.

يُحدِّد عدد الحسابات الممكن تنفيذها في دورة مسح واحدة طولُ الدورة وقوّة المعالجة المتاحة. وقد يؤدّي انتهاك قيود الزمن الحقيقي لعملية ICS كما تمليها دورة المسح إلى عواقب وخيمة.

الموارد

ICSML مفتوح المصدر: https://github.com/momalab/ICSML