زمان مطالعه: 7 دقیقه

در این بخش از آموزش های نمایندگی زیمنس با زیرروتین های یک برنامه PLC مانند PLC زیمنس آشنا می شویم که کار یک زیرروتین در پی ال سی این است که یک تابعی را اجرا می کند که چندین مرطبه در طی اجرای برنامه داخل PLC مورد استفاده قرار می گیرد. بعد از آن با نحوه ایجاد برنامه های نردبانی یا همان Ladder آشنا خواهید شد که توسط نمایندگی زیمنس برای کاربران عزیز تولید شده و در دسترسشان قرار داده است.

 

زیرروتین های برنامه در PLC زیمنس

هنگامی که یک بخش یا روتین (routine) برنامه، تابعی را اجرا می کند که چندین مرتبه در طی اجرای برنامه مورد استفاده قرار می گیرد، راحت تر آن است که فقط یک بار در برنامه نوشته شده و هر جای برنامه که به آن نیاز است، فراخوانی شود. این برنامه یک زیربرنامه یا زیرروتین (subroutine) نامیده می شود و معمولا پس از برنامه اصلی ذخیره می گردد. استفاده از زیربرنامه ها از داشتن برنامه های یکسان در هر دفعه که روند اجرای برنامه به آن ها نیازمند است، جلوگیری به عمل
می آورد. در نتیجه در مدت زمان برنامه نویسی و حافظه مصرفی صرفه جویی می شود.
از زیربرنامه ها در سیستم های کامپیوتری و همچنین در بعضی از کنترل کننده های بزرگ تر – از بدو معرفی آن ها – استفاده شده است و به تازگی در PLCهای کوچک نیز امکان استفاده از آن ها فراهم آمده است. معمولا زیربرنامه، یک برنامه تعریف شده توسط کاربر (User-defined program) می باشد تا وظیفه به خصوصی که در مجموعه دستورالعمل های استاندارد PLC زیمنس یافت نمی شود را بر عهده گیرد. به عنوان مثال توابع محاسباتی که ذکر آن ها رفت را می توان زیربرنامه های مقیم نامید ] منظور از یک برنامه یا زیربرنامه مقیم، برنامه هایی است که همواره حتی زمانی که از آن استفاده
نمی شود در حافظه جای دارد تا در روند اجرای عملیات پروسه تسریع گردد.[ زیرا آن ها به صورت توابع استاندارد برای استفاده در برنامه های کاربر پیش بینی شده اند و برنامه کاربر مقادیر یا پارامترهایی را به تابع منتقل می کند. همین تکنیک برای زیربرنامه های تعریف شده توسط کاربر نیز اتخاذ شده است. بنابراین زمانی که در جایی از برنامه به یک زیربرنامه نیاز پیدا می شود، این زیربرنامه فراخوانی شده و پارامترهای مورد نیاز فعلی را به رجیسترهای داده وارد می کند. همانند استفاده از یک تایمر با زمان پیش داده دلخواه. زمانی که یک زیربرنامه فراخوانی می شود، اجرای برنامه از برنامه اصلی به زیربرنامه منتقل گردیده و سپس زیربرنامه اجرا می شود. در خاتمه اجرای زیربرنامه، کنترل برنامه بلافاصله به دستور بعدی در برنامه اصلی برمی گردد. برای این منظور در پایان زیربرنامه از دستور RETURN استفاده می شود. هر مقدار داده منتج از زیربرنامه در رجیسترهای داده ذخیره می گردد و می تواند در برنامه اصلی مورد استفاده قرار گیرد. چنانچه یک زیربرنامه در محل های متفاوتی از برنامه اصلی فراخوانی شود، ممکن است در هر مرتبه از فراخوانی پارامترهای متفاوتی را برگشت دهد.
شکل ۳-۴۵ نشان می دهد که برنامه اصلی، خانه های شماره ۰۰۰۰ تا ۱۰۰۰ حافظه و زیرروتین ۳# نیز خانه هایی از ۱۱۰۰ تا ۱۱۵۰ را اشغال نموده است. مادامی که شرایط پرش به زیربرنامه محقق نگردد، PC فقط ناحیه اشغال شده توسط برنامه اصلی (۱۰۰۰-۰۰۰۰) از حافظه را مرور می کند و زیربرنامه خوانده نمی شود مگر این که توسط یکی از کنتاکت های برنامه ریزی شده فعال شود. این امر موجب تسهیل و بهبود سرعت در اجرای برنامه می شود.
شکل ۳-۴۶ (الف) چارچوب عمومی دستورات زیربرنامه را نشان می دهد. در این چارچوب، شرایط مختلف می توانند به گونه ای برنامه ریزی شوند تا شرایط اولیه جهت اجرای زیربرنامه را فراهم آورند. به عنوان مثال ممکن است هنگامی که پاسخ سریع کنترل کننده به ورودی مورد نیاز باشد از ورودی های خارجی برای شروع یک زیربرنامه استفاده شود. کاربردهای این ماهیت عبارتند از: شمارش پالس های تولیدی از تاکومترها یا فلومترها، واکنش به دستورات توقف، خواندن مقادیر داده مابین فواصل زمانی بسیار کوتاه.
در شکل ۳-۴۶ (ب) مثالی از کتایچه راهنمای PLC جنرال الکتریک سری ۶ آورده شده است که برنامه نردبانی یک زیربرنامه منطقی جهت کنترل یک واحد کاری در یک خط انتقال خودکار شده را نمایش می دهد. خط انتقال شامل ۱۰ تا ۲۰ واحد کاری بوده و هر گاه که یک واحد کاری عمل کند، زیربرنامه با مقادیر متفاوتی اجرا می گردد.

 

 

به طور خلاصه بررسی نسبتا جامعی از دستورات، توابع و مدارات کاربردی PLC زیمنس داشتیم. این ها همه، اجزای اساسی هر برنامه کنترل ترکیبی و منطقی می باشند و در برخی حالات می توانند تقریبا به طور کامل برآورنده راه حل و طرح نهایی باشند. با این حال هنوز هم تمامی تسهیلات و قابلیت های قابل عرضه توسط کنترل کننده های قابل برنامه ریزی معرفی نشده اند و چند ابزار دیگر برای استفاده بیشتر در کنترل ترتیبی و کاربردهای تخصصی دیگر وجود دارد که مهمترین آن ها توضیح داده خواهد شد.

 

ایجاد برنامه های نردبانی در PLC زیمنس

تسهیلات و توابع درونی موجود در PLC های زیمنس و بقیه پی ال سی های معمولتر را شرح دادیم. این قابلیت ها، ویژگی های مکملی هستند که امکان ساخت برنامه های تخصصی کنترل را تقریبا برای هر کاربردی فراهم می نمایند. در بسیاری از کاربردها، ممکن است برخی از این تسهیلات به کلی مورد استفاده قرار نگیرد و یا کمتر به کار رود.
زمانی که یک PLC نمایندگی زیمنس همراه با تجهیزات و تسهیلات لازمه برای کاربرد خاصی انتخاب می گردد، کارهای مربوط به طراحی و ایجاد نرم افزار نیز بایستی مورد ملاحظه قرار گیرد. این وظیفه، تنها بخشی از کل روند طراحی می باشد، اما دارای اهمیتی حیاتی است به گونه ای که اساس و زیربنای کنترل فرآیند مورد نظر را تشکیل می دهد. شکل ۴-۱ ( الف) طرحی کلی از شیوه جامع طراحی را برای PLC ها مانند پی ال سی های نمایندگی زیمنس به تصویر می کشد. این طرح نشان می دهد که ایجاد و نصب سخت افزار و نرم افزار را
می توان در دو مسیر مجزا، ولی به موازات هم انجام داد. این طرح به طراح برنامه برای در نظر گرفتن تجهیزات مورد نیاز کنترل و تهیه راه حل برنامه آن در کمترین زمان ممکن، کمک می نماید.
طراحی نرم افزار
در هنگام طراحی و ایجاد برنامه های نردبانی برای کنترل عملیات ساده یا تجهیزات کوچک، میزان برنامه ریزی و کار طراحی واقعی برای این برنامه های کوچک، در حد اندکی می باشد.

 

 

 

عمدتا به این جهت که برای ارتباط و پیوند با سایر فعالیت ها یا بخش های برنامه تدارکات زیادی نیاز نیست، شبکه های نردبانی مربوط به این گونه برنامه ها، به اندازه کافی کوچک بودند و لذا از دیدگاه نمایش مداری و چگونگی عمل به سادگی قابل درک می بودند. البته در عمل، مدارات کنترل تنها به گیت های AND . OR و غیره محدود نمی شوند. بلکه اغلب با ترکیبی از توابع منطقی و تعداد دیگری از توابع برنامه پذیر که در PLC های مدرن مانند PLC های اتوماسیون صنعتی زیمنس تدارک دیده شده اند، همراه می باشند.
در مواردی که عملیات کنترلی بسیار پیچیده تر و بزرگتری باید انجام شود، سریعاً آشکار می شود که یک شیوه غیر حرفه ای و غیر ساخت یافته در طراحی نرم افزار، نتیجه اش چیزی نخواهد بود جز برنامه هایی که درک، اصلاح، عیب یابی و توضیح آنها – اگر که غیر ممکن نباشد – بسیار مشکل است. ممکن است نویسنده یک چنین نرم افزاری، درکی از طرز کار برنامه خود داشته باشد، اما بعید است که این دانسته ها، حتی برای مدت کوتاهی پس از اتمام کار روی آن سیستم برای خود او نیز باقی بماند.
از دیدگاه شناخت روش های طراحی، برنامه نویسی نردبانی جدای از برنامه نویسی کامپیوتر نیست.
بنابر این بایستی توجه شایانی به موارد زیر معطوف کرد:

  1. تعیین و شناسایی جزئیات و جوانب کامل کار
  2. تکنیک های طراحی نرم افزار
  3. مستندسازی
  4. آزمایش برنامه

 

بلوک های وظایف سیستم در نمایندگی زیمنس

بیشتر سیستم های کنترل صنعتی و PLC زیمنس را می توان به منظور کمک به درک چگونگی طرز کار کل سیستم، به صورت یک دسته “بلوک های وظایف” در نظر گرفت. به عنوان مثال، هر ماشین در یک کارخانه را می توان به عنوان یک زیر پروسه مجزا تلقی کرده و سپس آن را به بلوک های کوچکتری که می توان آن ها را از نظر توالی ها و عملکردهای اولیه توصیف کرد، شکست. شکل ۴-۱ (ب) این رویکرد را به تصویر می کشد. برای مثال یک بلوک وظایف می تواند شامل جمیع اعمال مورد نیاز برای کنترل یک ماشین به خصوص در پروسه باشد.

 

بلوک ۱

بلوک ۲

بلوک ۳

غیره

 

در نمایندگی زیمنس تقسیم وظایف برنامه ریزی به بلوک های وظایف یک قسمت مهم از طراحی نرم افزار می باشد.
در برنامه ریزی منطقی، برای انجام وظایف یک بلوک معین دو نوع متفاوت از شبکه ها وجود دارد:
مدارهای ترکیبی، که در آن ها خروجی در هر لحظه از زمان، تنها به ترکیب ورودی ها در همان زمان بستگی دارد.
شبکه های ترتیبی که در آن ها خروجی نه تنها به ورودی ها بستگی دارد بلکه به حالت و ترتیب قبلی ورودی ها و خروجی ها نیز وابسته است. (بنابراین نیازمند حافظه برای نگهداری در حالت های قبلی می باشد.)

مثال ترکیبی

تسمه نقاله ای برای انتقال سینی های بار شده از یک ماشین بارگیری به یک کامیون به کار می رود (شکل ۴-۲).
زمانی که سینی در ابتدای تسمه بارگیری می شود، سوئیچ دستی X1 موتور نقاله را راه اندازی می کند. در این حالت تسمه نقاله حرکت کرده تا این که سینی، سوئیچ حدی X2 را در انتهای دیگر نقاله فعال سازد. زمانی که سینی منتقل شد، تسمه مجدداً حرکت خود را برای جا به جا کردن سینی بعدی به سمت سوئیچ فعال ساز X2، آغاز می کند و الی آخر. سوئیچ X1 بایستی قادر به توقف نقاله در همه زمان ها باشد تا امکان بارگیری سینی های بعدی – در هنگام ضرورت – وجود داشته باشد.

 

 

برای راه اندازی محرک موتوری، X1 بایستی ON باشد و سوئیچ حدی X2 نیز نبایستی تحریک شده باشد. چنین سیستمی می تواند توسط یک شبکه ترکیبی با ورودی های X1 . X2 و یک خروجی که فعال کننده موتور است، کنترل شود، چرا که وضعیت on/off خروجی در هر لحظه از زمان به وسیله ترکیبی از سیگنال های ورودی مشخص می شود نه ترتیب و توالی آن ها (شکل ۴-۳).

مثال کنترل ترتیبی

سیستم نقاله مذکور در مثال قبل، می تواند برای دو تسمه مجزا که هر یک دارای موتور راه انداز مستقل می باشد، تعمیم یابد. یکی از ملزومات معمول این نوع سیستم ها، توزین سینی های بار شده در پایان کار می باشد. لذا یک ترازوی اتوماتیک در زیر تسمه دوم نصب می شود. از یک سوئیچ حدی X2 برای اعلان وضعیتی که سینی دقیقاً روی ترازو قرار می گیرد، استفاده می شود.