انواع محيطهاي برنامه نويسي و امكانات نرم افزاري در PLC

امروزه استاندارد هاي خاص بيت المللي مثل IEC 1131 براي برنامه نويسي و كار با PLC ها وجود دارد كه اغلب شركت هاي سازنده و طراح PLC كه معمولا نرم افزارهاي مخصوص PLC هاي خودشان را توليد مي كنند. از اين روشهاي استاندارد شده پيروي مي كنند و فقط تفاوتهاي جزيي در نرم افزارهاي آنها به چشم مي خورد كه اكثر آنها هم در اثر تفاوتهاي سخت افزاري سيستم هاي طراحي شده بوجود مي آيند.اما در اين بخش زبانها و محيطهاي مختلف برنامه نويسي به طور مختصر و خلاصه به طور عمومي و كلي مورد بررسي قرار مي گيرد تا در برخورد هاي احتمالي با اين محيطها دچارسردرگمي نشويد

.
بطور كلي مي توان زبانها برنامه نويس PLCرا به پنج دسته تقسيم كرد:
• زبان SFC يا Sequential Function Chart Language
• زبان FBD يا Function Block Diagram Language
• زبان LD يا Ladder Diagram Language
• زبان ST يا Structured Text Language
• زبان IL يا Instruction List Language

پنج زبان فوق زبان هاي استاندارد و شناخته شده PLC ها هستند و كمپاني هاي سازنده سخت افزار و نرم افزار PLCها با وجود اختلاف هاي جزيي كه ممكن است در نام يا ظاهر نرم افزار هايشان با نمونه هاي اصلي و جود داشته باشد، همگي بر اساس همين روشهاي استاندارد شده حركت مي كنند.

زبان SFC:
در اين محيط نيز مانند ديگر محيط هاي برنامه نويسي،ابزار هايي وجود دارند كه در ابتدا بايد با آنها آشنا شد، مهمترين ابزارهاي موجود Transition,Initialstep,Step است.
هر Step معرف مرحله اي از روتين كنترلي است كه در آن اتفاقاتي، براساس تعاريف نويسنده برنامه، به وقوع خواهد پيوست، هر step بايك مربع نشان داده مي شود وشماره اي كه معرف مرحله اي خاص از برنامه است داخل آن نوشته مي شود.

 

تعريف عمليات آن مرحله نيز در درون يك مستطيل نوشته مي شود كه به مربع اصلي متصل شده و هر دوي اينها معرف يك مرحله از برنامه هستند.
در هر زمان و هر سيكل اسكن برنامه،step مربوط به آن فعال خواهد شد، براي نشان دادن step هاي فعال و غير فعال از يك دايره كوچك استفاده مي شود كه درون مربع اصلي

:نمايش step فعال و غير فعال
Step قرار مي گيرد و در زمان اجراي برنامه مشخص مي كند كه كدام step فعال و كدام غير فعال است.
بديهي است كه دستورات مربوط به step فعال در همان لحظه در حال اجرا شدن است و step غير فعال، كاري انجام نمي دهد.براي نشان دادن وضعيت ابتدايي و در شروع برنامه SFC مي بايست از يك Initial step استفاده كنيم كه نشان دهنده شروع و مرحله آغاز برنامه است ، نماد گرافيكي step Initial يك مربع دو خطي است.

بديهي است كه هر برنامه SFC بايد فقط داراي يك Initial step باشد كه با شروع اجراي،به شكل فعال در خواهد آمد. شكل۳-۴: Initial step در شروع برنامه
مورد بعدي كه بايد در مورد آن صحبت شود Transition است كه بصورت يك خط افقي مسير ارتباطي بين دو step را قطع مي كند. شماره مربوط آن در گوشه پايين و سمت راست آن نوشته مي شودو توضيحات لازم را در قسمت راست مي نويسندمانند
لازم بذكر است كه قسمت توضيحات يك بخش آزاد و مجزا است و به هيچ عنوان قسمتي از برنامه محسوب نمي شود و تنها جنبه توضيح براي درك بهتر را دارد.

توابع كنترل پيوسته در PLC ها
در يك PLC با ورودي / خروجي آنالوگ ، پس از دريافت وروديها، عمليات رياضي مناسب روي آنها انجام مي شود و سپس خروجي هاي آنالوگ تعيين مي شوند. قابليت و سطح كنترل بستگي به سرعت و قابليت PLC در انجام عمليات رياضي دارد. دريك فرايند كنترلي ممكن است جملات تناسبي ،انتگرال و مشتق وجود داشته باشند. به عنوان مثال با انجام عمليات زير، كنترل با جمله تناسبي انجام مي شود :
۱٫مقدار ورودي سنسور را بخوان، مقدار اندازه گيري شده (MV)را با مقدار (SP) مقايسه كن و مقدار خطا (E)را به دست آور. E=SP-MV
2.خطا را در يك ضريب ثابت(بهره سيستم)KP ضرب كن.
۳٫نتيجه را به مبدل D/A ارسال كن و به مرحله ۱ برگرد.
البته در يك كنترل پيوسته براي بهبود پارامترهايي نظير سرعت پاسخ، نوسان و خطاهاي ماندگار لازم است از جملات مشتق و انتگرال نيز استفاده شود. در PLCهايي كه امكان كنترل PID را دارند، معمولاالگوريتم كنترل در حافظه PLCوجود دارد و كاربر تنها ظرايب ورودي / خروجي را معين مي كند. اين الگوريتمها ممكن است به صورت زير برنامه هايي باشند كه در برنامه اصلي فراخواني

شوند.البته پياده سازي كنترل PID با نرم افزار زمان زيادي را مي گيرد و سيكل اجراي برنامه را طولاني مي كند. در مواقعي كه طولاني شدن سيكل اجراي برنامه در روند كنترل اخلال ايجاد كند، كنترل PIDبه صورت سخت افزاري انجام مي شود.
ماژولهاي PID
با توجه به اينكه پياده سازي نرم افزاري زمان زيادي مي گيرد، سازنده هاي PLC ماژولهايي را مي سازند تا كنترل PID را به صورت سخت افزاري انجام دهند. اين ماژول ها ، ورودي/ خروجي آنالوگ دارند و يك پردازنده مستقل در آنها وجود دارد كه عمليات رياضي را انجام مي دهد.اين پردازنده موازي با پردازنده اصلي عمل مي كند و انجام كليه محاسبات PID را به عهده دارد، تنها لازم است پردازنده اصلي پارامترهاي كنترلي را به اين ماژول ارسال كند. ماژول PID پس از هرسيكل اجراي فرايند كنترل، اطلاعات وضعيت خود را در رجيستر هايي از فضاي I/O قرار مي دهد و پردازنده اصلي مي تواند آنها را خوانده و از عملكرد آن ماژول مطلع شود.
علاوه بر عمليات متداول در امر كنترل، معمولا لازم است نوعي پيش پردازش روي اطلاعات ورودي انجام شود،(مانند حذف نوسانات عددي و ناخواسته در اطلاعات ورودي) برخي از PLCها توابع خاصي را براي انجام اين كار دارند. به عنوان نمونه PLC سري GEM 80 از شركت GEM تابعي دارد كه يكنواخت سازي نمايي (مرتبه اول) روي ورودي انجام مي دهد.ثابت زماني اين تابع كه ANALAG(ANALOG LAG) نام دارد قابل برنامه ريزي است، البته استفاده از اين تابع اختياري است.
برنامه ريزي ماژولهاي PID

برنامه ريزي يك ماژول PID بستگي به نوع PLC دارد و ممكن است به استفاده از دياگرام نردباني يا واحد هاي برنامه ريزي خاص انجام شود. در دياگرام نردباني حلقه PID مانند يك تابع خاص تلقي مي شود كه پارامترهاي آن را كاربر تعيين مي كند، همانند يك تايمر كه زمان آنرا كاربر به آن وارد مي نمايد.

پانلهاي برنامه ريزي خاص معمولا منويي دارند كه پارامتر هاي لازم را از كاربر مي پرسد. پارامترهايي را كه مي توان انتخاب كرد عبارتند از : كنترل يك،دو يا سه جمله اي (PID,PI,P)،آدرس نقاط I/O به عنوان ورودي و خروجي، بهره ضرايب ، زمان انتگرال، زمان مشتق و سرعت نمونه برداري وغيره.
ماژول هاي PID معمولا حافظه اي دارند كه داده ها و اطلاعات وضعيت خود را در آن ذخيره مي كنند.پردازنده اصلي به اين داده ها دسترسي دارد و از آنها استفاده مي كند.
كاربرد ماژولهاي PID

الگوريتمهاي كنترلي كه در همه PLCها وجود دارد براي بيشتر كاربردها، كارايي و سرعت كافي را دارد، مثلا براي كنترل سرعت ، تنظيم فشارهيدروليك، كنترل دما، مديريت انرژي و غيره .
در بسياري از فرايندهاي كنترلي لازم است به تعداد زيادي ورودي /خروجي رسيدگي شود، معمولا در يك حلقه كنترلي با تغيير پارامترهاي لازم و بررسي كل فرايند ، پارامترهاي مطلوب جهت كنترل صحيح فرايند به دست مي آيد.
ارتباط در PLC ها
نياز مبادله اطلاعات بين PLC ها و ساير تجهيزات در يك كارخانه خودكار ، سبب شده است كه امكانات ارتباطي روي همه كنترل كننده ها نصب شود در PLC هاي كوچك سخت افزار و نرم افزارلازم در خود بدنه PLC نصب گردد و در PLC هاي بزرگ ، ماژول هاي ويژه اي جهت ارتباط وجود دارد.
باسهاي ارتباطي براي منظورهاي مختلفي استفاده مي شوند از جمله:
• نمايش داده ها و آلارم ها از طريق VDU يا چاپگر
• ذخيره داده ها در فايلهاي بايگاني(در يك كامپيو تر) تا براي بررسي كارايي فرايند و مديريت اطاعت استفاده شوند.
• ارسال پارامترهاي لازم از طريق اپراتور يا كنترل كننده ناظر به PLC ها
• تغيير برنامه PLCها از طريق كنترل كننده ناظر
• تغيير وضعيت نقاط I/O از طريق يك ترمينال راه دور
• اتصال PLC در يك سلسله مراتب كنترلي كه در آن PLC هاي متعددي وجو دارد.

: يك سيستم Redundant با خطوط دوبل اترنت و خطوط دوبل Remote I/O و منابع تغذيه دوبل روي هر Remote I/O
ورودي/خروجي دور دست و ارتباط با آنها:
هنگاميكه تعداد زيادي ورودي /خروجي در فاصله اي دوروجود دارد،اتصال مستقيم آنها به PLC نياز به اتصالات زيادي دارد كه مقرون به صرفه نيست،دراين مواقع يك واحدI/O در مكان لازم نصب مي

شودوبايك زوج سيم به PLC متصل مي گردد. واحد I/O اطلاعات مربوط به ورودي/خروجي ها را از طريق اتصال سريال به PLC ارسال و دريافت مي كند. باتوجه به اينكه واحد I/O تا PLCممكن است به چند هزار متر برسد،صرفه جويي زيادي در هزينه ها مي شود. در سيستمهاي بزرگ ممكن است چندين PLC وجودداشته باشد كه همگي تحت نظارت يك PLC اصلي عمل مي كنند.معمولا برنامه كنترلي در PLC اصلي اجرا مي شود و PLCهاي ديگر فقط وظيفه ارتباط با واحد هاي I/Oرا به عهده دارند.

انتقال اطلاعات در صنعت
در سالهاي اخير مسئله بر قراري ارتباط در پروسه هاي صنعتي رشد چشمگيري داشته است. پيش از اين ارتباط درصنعت و پرو سه هاي كنترل صنعتي به فرستادن سيگنال از جانب يك مركز كنترل به مركز فرماندهي خلاصه مي شد، اما امروزه تمام كنترل كننده هاي كوچك و بزرگ (PLCs) در هر نقطه اي از فيلد كه باشند بايد با يكديگر و در نهايت بامركزكنترل مربوط به خود ارتباط بر قرار كنند و همين امر باعث پيچيده شدن هرچه بيشتر سيستمهاي ارتباطي خواهد شد.

PLCها امروزه طوري طراحي و سا خته مي شوند كه بجز وظيفه اصلي و مهم خود كه همان اجراي فرامين كنترلي تعريف شده و كنترل اتو ماتيك يك پروسه صنعتي است، بتوانند موارد مهم ديگري از قبيل برقراري ارتباط با مركز كنترل و ديگر كنترل كننده هاي داخل فيلد را نيز بر عهده بگيرند. بنابراين در ساختار داخلي آنها پيش بيني هاي لازم جهت استفاده از ابزار ها و لوازم خاص ارتباطي صورت گر فته است.
به عنوان مثال مي توانيم يك سيستم PLC كه در محل خط توليد قرار دارد و توسط ترمينال مخصوص شبكه محليLAN(Local area network) به ماشينهاي مركز كنترل كه در محل اتاق كنترل كار خانه قرار دارند،متصل كنيم و از همانجا ، PLCرا كنترل كنيم.

مثلا مي توانيم بهPLC فرمان دهيم تا رو تين كنترلي مربوط به توليد قطعه اي خاص را اجرا كرده ، فرامين آنرا صادر كندو همچنين بر روند كل پروسه نظارت كامل داشته باشد.
سپس نفر بعدي كه در شيفت بعدي فعاليت مي كند ، مي تواند يك گزارش كامل از چگونگي كنترل پروسه توسطPLCمورد نظر را تهيه كرده و از روي آن تعداد قطعات سالم و خراب و حتي زمانهاي از دست رفته و تلف شده در حين توليد را محاسبه كند.
مركز تعميرات كارخانه نيز مي تواند با استفاده از روشهاي ارتباطي و مخابراتي ، از بروز اشكال در هريك از ماشينهاي كار خانه اطلاع حاصل كرده و پرسنل تعمير كاري را جهت رفع اشكال اعزام دارد، مركز تعميرات حتي مي تواند با اطلاع داشتن از وضعيت كليه ماشينهاي خراب، اولويت تعمير را به هر كدام از آنها واگذار كند.

براي درك بهتر مطلب شكل۱-۱ را كه بلوك دياگرام معماري شبكه ارتباطي را در بخشي از كارخانه نشان مي دهد ، ببينيد.

شكل ۱-۱:شبكه محلي PLCsو شبكه گسترده ETHENET بين كار خانه ها