آموزش برنامه نویسی PLC به زبان SCL
در این مقاله قصد داریم به بررسی کاربرد زبان SCL در برنامه نویسی PLC بپردازیم. این زبانی یکی از دو زبان استاندارد که به زبان ST که به عنوان دستورات ساختار یافته شناخته میشود. کلمه ST مخفف کلمه Structured Text میباشد که بر ساختار یافته بودن آن دلالت دارد. این زبان با نام S7-SCL در نرم افزار STEP7 به بازار عرضه شد. بسته به نوع نرم افزار اسم این نرم افزار نیز میتواند متفاوت باشد.
زبان Language Control Structured که به صورت مختصرتر SCL شناخته میشود درواقع یک زبان سطح بالا است. منظور از سطح بالا بودن این زبان نرم افزاری نزدیک بودن به زبان ماشین میباشد و به همین دلیل عملیات و محاسبات ریاضی را خیلی سریعتر و راحتتر از سایر زبانها انجام میدهد. به کمک این زبان منطقهای پیچیده کنترلی را میتوان به سادهترین روش ممکن محاسبه و عملیاتی کرد. یادگیری این زبان در آموزش PLC زیمنس نیز میتواند کمک کننده باشد.
یک نکتهای درباره این زبان وجود دارد که به صورت Source نوشته میشود و بعد از آن کامپال شدن به بلاک STL تبدیل میشود. دقیقا آنچه که توسط PLC دانلود میشود همین بلاکها میباشد و سورس روی هارد کامپیوتر باقی میماند. این تبدیل به صورت یک طرفه میباشد یعنی نمیتوان یک STL BLOCK را به SCL SOURCE تبدیل کرد.
در برروی بلاک STL دابل کلیک کنیم با برنامه سورس روبه رو خواهیم شد و در عین حال میتوانیم بازکردن یا OPEN کردن بلاک در زیر برنامه LAD/STL/FBD دستورات STL را مشاهده کنید. در ضمن توجه داشته باشید در صورتی هر چند تغییر کوچک در این بلاک بدهیم دیگر نمیتوان با دابل کلیک سورس را مشاهده کرد.
اما در صورتی که برنامه SOURCE را در اختیار داریم میتوانیم با کامپک کردن مجدد بلاک را بسازیم حتی اگر بلاک را از پوشه بلاک پاک کنیم. بلاک SCL را میتوان در تمامی بلاکهایی که به زبان LAD و STL و FBD نوشته شدهاند بکار بست. یعنی در واقع میتواند زبان SCL را در تمامی زبانهایی که گفته شد صدا زد و یا بالعکس از طریق بلاکهای LAD/STL/FBD بلاک SCL را فراخونی کرد.
ساختار زبان برنامه نویسی SCL
ساختار زبان SCL از سه بخش اصلی Editor ، Batch Compiler ، Debugger تشکیل شدهاند. در بخش Editor برنامه توسط کاربران نوشته میشود. پس پایان برنامه نویسی توسط بخش Batch Compiler این کدها مناسب برای کدهای ماشین میشوند. این کدها در تمامی cpuهایی که قابلیت پشتیبانی از زبان را دارند قابلیت اجرا را دارند. توجه داشته باشید این زبان Source ها را به صورت خط به خط بررسی نمیکند. به همین دلیل در صورت برخورد با خطا پس از کامپال کردن لیست میشوند. در نهایت Debugger ابزاری که در این زبان در نظر گرفته میشود تا در محیط Editor برنامه نوشته شده را به صورت خط به خط اجرا میکند تا در صورت برخورد با اشکالات منطقی آنرا پیدا کند. در ادامه آموزش کار با نرم افزار SIMATIC STEP و روش برنامه نویسی با این زبان در این نرم افزار را مورد بررسی قرار میدهیم.
آموزش کار با زبان SCL
در ابتدا و قدم اول باید این زبان را در نرمافزارPLC مانند STEP7 فراخوانی کنید. برای این کار از مسیر پیمایش Start>Siamtic>Step7 حرکت میکنیم. بعد از انتخاب STEP7 زبان برنامه نویسی S7SCL را انتخاب میکنیم تا وارد محیط برنامه نویسی آن شویم.
پس از ورود به زبان برنامه نویسی روی پوشه سورس (Sources) کلیک راست میکنیم و از بخش Insert New Object وارد قسمت SCL Source میشویم. با ورود به این یک Source با برنامه پیشفرض در اختیار کاربر قرار میگیرد تا برنامه دلخواه خود را متناسب با نیاز خود بنویسند.
همان طور که گفته شد با اجرا شدن SCL و ورود به محیط برنامه نویسی پنجرهای به شکل زیر با منویهای متنوعی برای ما باز میشود.
File: عمده امکانات این منو برای کاربران آشناست صرفاما به معرفی بخش کامپایل که یکی از بخشهای منوی فایل میباشد میپردازیم. در صورتی که فایل Source از چندین بلاک زیر یکدیگر تشکیل شده باشند با گزینه File>Compile میتوان تمامی بلاکها را کامپایل کرد.
Edit: این منوی بسیار شبیه منوهای معمول edit میباشد بنابراین زیاد توضیح خاصی درباره آن نمیتوان داد. از این منوهای متنوع برای ادیت سورس ها میتوان استفاده کرد.
Insert: این منو کمک میکند تا بلاک دیگری را در برنامه Source صدا زد و یا فراخوانی کرد. در ضمن شما میتوانید به کمک این منو قالبهای آماده را فراخوانی کنید.
PLC : اگر شناخت کافی نسبت به زیر برنامههایی مانند LAD/STL/FBD داشته باشید باید بدانید این منو کاملا مطابق همان منوها میباشد. در نتیجه میتوان گفت این ویژگی و قابلیت جدیدتر به ما اضافه نمیکند.
Debug: توسط این منومیتوان عملیات Debuging را خط به خط مورد بررسی قرار داد.
Option: یکی اصلی ترین و مهمترین گزینههای این بخش قسمت Customize که مربوط به تنظیمات SCL میباشد. با انتخاب این گزینه وارد یک منوی اصلی میشویم که دوبخش اصلی Create Block و Compiler از دیگر اجزاء الویت بالاتری دارند.
-
قسمت Create Block
مربوط به تنظیمات ایجاد بلاک در هنگام کامپال است اگر Overwrite blocks فعال شود در هنگام ایجاد بلاک اگر بلاکی به همین نام وجود داشته باشد بدون اینکه سوالی بپرسد برروی حالت Overwrite باقی میماند. این دوگزینه بعدی به صورت پیش فرض فعال هستند مربوط به Warning و Errorهایی که در زمان کامپایل در پنجره پایین نرم افزار ظاهر میشوند. نکتهای درباره این دو گزینه وجود دارد این است که Warningها مانع تبدیل نیستند اما Errorها در برطرف نشوند بلاکها ساخته نمیشوند.
با فعال سازی Generate Ref.data موجب میگردد که در زمان ساخته شدن بلاک جدول رفرنس آن نیز ساخته شود. در آخر باید گفت گزینه Include System Attribute موجب میشود که برخی ویژگیها که برای ارتباطات و ارسال پیامها مفید هستند این گزینهها برای سرور مورد استفاده قرار میگیرند. در صورت فعال سازی این گزینه و سپس کلیک راست روی بلاک ساخته شدهاند Properties آن را ببینیم قسمت Attribute را مشاهده خواهیم که به منوی ویژگیها اضافه شدهاند.
-
قسمت Compiler
بخش دوم قسمت کامپایلر که مربوط به بخش تنظیمات کامپایل میباشد این بخش دارای گزینههای مختلف و متنوعی که هر کدام در بخش خاصی کاربرد دارد. گزینه Create Object code به صورت پیش فرض فعال و کدهای اجرایی را درهنگام کامپال شدن تولید میکند. در صورت غیر فعال بودن این گزینه کامپایل به صورت Syntax Check در میآید به صورت که بعد از تکمیل هر خط کد چک میشود تا درستی دستور چک شود. برای بهینه سازی کدها از نظر حجم برای استفاده حداکثری از حافظه PLC گزینه Optimize Object Code را فعال کنید. در ضمن برای اینکه PLC در حالت اجرا چک کند که آیا آرایه در حد تعیین شده قرار دارد یا خیر باید گزینه Monitor Array Limit را فعال نماید.
در صورتی که مقدار خارج از رنج تعیین باشد فلگ OK را به صورت False در میآورد. این فلگ توسط گزینه Set OK Flag فعال میشود. برای فعال شدن امکان تست توسط Debugger توسط فعال سازی گزینه Creat Debug Info امکان پذیر است. در صورت فعال بودن گزینه Maximum String Length حداکثر استفاده از String را برروی حالت پیش فرض یعنی 254 قرار میدهد. فعال سازی گزینه Permit nested comment در برنامه SCL امکان کامنت گذاری برای ما فعال میشود.
شروع کار با S7-SCL
در کار با این زبان با یکسری اصول ابتدایی را رعایت کنید. ابتدا باید بدانید که حروف بزرگ و کوچک از نظر ارزش در نوشتن دستورات یکسان تلقی میشوند. در انتهای هر خط کد علامت Semicolon (;) باید قرار داد. با کمک از خط پیمایش
Insert > Block Template میتوانید به همه حالت های بلاک برنامه نویسی شامل OB ، FB و FC میتوانید دسترسی داشته باشید. در ضمن میتوان DB و UDT را نیز میتوان توسط SCL ایجاد کرد. هرکدام از بلاکهای فوق دارای ساختار از پیش تعیین شدهای هستند که از خط پیمایش Insert > Block Template به آنها دسترسی کامل داشت.
در صورتی که DB Instance توسط SCL امکان فعال سازی دارد ولی نیاز به ایجاد آن نیست زیرا با فراخوانی FB این فایل برای شما نیز ایجاد میشود. در ضمن ترتیب در بلاکهای برنامه SCL بسیار مهم به این صورت که اگر بلاکی را فراخوانی میکنید باید در سطرهای گذشته آن را تعریف کرده باشید.
توجه داشته باشید با DBهای اشتراکی لازم است قبل از اتمام بلاکهایی که از آدرس های آن DB استفاده میکند تعریف شدهاند. همچنین قبل از استفاده از UDT لازم DB یا بلاکی که از آن استفاده میکنید را تعریف کنید. در صورتی در برنامه خود احتیاج به دستورات کنترلی مانند IF و Case و FOR داشتید میتوانید از طریق خط پیمایش Insert>Control Structure به آن دسترسی داشته باشید.
در صورتی که کل بلاکها در یک فایل Source نوشته شوند بهتر است به ترتیب و از طریق Partial Compile کامپایل شوند تا بتوان اشکالات آن را به ترتیب رفع کرد. اگر بلاکهای مختلف در فایل Source نوشته شوند حتما لازم که این سورسهای بترتیب کامپایل شوند. در ضمن توانایی کامپایل کردن چند فایل به صورت یکجا نیز وجود دارد برای اینکار میتوانید از خط پیمایش Insert New Object > SCL Compile Contorl File به آن دسترسی پیدا کنید.
پس کامپال کردن لیست Errorها و Warningها در یک پنجره برای شما ظاهر میشود. Error با کلمه E و Warning با W در این پنجره به نمایش در مید. بعد از این حروف شماره سطر و ستون به شما نمایش داده میشود که راهنمای بسیار خوبی برای برطرف کردن خطاها میباشد. با دابل کلیک برروی هرکدام از ارورها به خط کد پرش میکنید و بازدن کلید F1 اطلاعات مهمی درباره علت خطا بدست میآورید. توصیه بسیار مهمی که داریم این است که سعی کنید برای رفع Errorها همیشه از اولین خطا شروع کنید زیرا با برطرف سازی اولین خطا بقیه خطاها نیز برطرف میشود.
جمع بندی
مطالبی که در آن پرداختیم از کاربرد زبان SCL در پی ال سیها بود. در آموزش PLC تسلط پیدا کردن به این زبا ن بسیار میتواند به شما در یادگیری بهتر کمک کند. این مطالب تنها در شروع کار با این زبان به شما کمک میکند برای یادگیری عمیقتر باید کتابها و دورههای آموزشی کمک بگیرید در ضمن میتوانید روی کمک کارشناسان نیک صنعت نیز حساب کنید و با ما در تماس باشید.
راههای ارتباطی نیک صنعت:
- شماره تماس: 87700210-021 (30 خط)
- واحد فروش: 09197872783
- واحد آموزش: 09197872786
- واحد تعمیرات: 09197872789
- ایمیل: info@nicsanat.com
- آدرس شرکت: تهران، خیابان بهشتی، خیابان میرعماد،کوچه پیمانی(یازدهم)، پلاک 17
نظرات کاربران