TIA Portal (پورتال اتوماسیون کاملاً یکپارچه) یک بسته نرمافزاری و ابزارهای توسعهیافته توسط شرکت زیمنس است که هدف آن یکپارچهسازی چندین ابزار توسعه برای دستگاههای اتوماسیون صنعتی میباشد. این نرمافزار با ترکیب و بازسازی نرمافزارهای پیشین مانند SIMATIC STEP 7، SIMATIC WinCC و SINAMICS Starter، محیطی یکپارچه فراهم میکند. این محیطها وظیفه برنامهنویسی، توسعه و پیکربندی PLCها، HMIها و اینورترهای فرکانسی زیمنس را بر عهده دارند. منطق برنامهنویسی کاربر در TIA Portal بر پایه ساختار بلوکی است، که در صورت توسعهیافته بهصورت ساختاریافته و منظم، ابزاری تسهیلگر در توسعه، نگهداری و عیبیابی ماشینها و فرآیندهای صنعتی محسوب میشود.
STEP 7 برای برنامهنویسی PLCهای خانوادههای S7-1200، S7-1500، S7-300 و S7-400 مورد استفاده قرار میگیرد. WinAC و نسخه نرمافزاری جدید کنترلر S7-1500 نیز به عنوان کنترلرهای جایگزین برای کامپیوترهای صنعتی در دسترس هستند. زبانهای برنامهنویسی موجود شامل زبان نردبانی (LAD)، نمودار بلوک تابعی (FBD)، زبان کنترل ساختاریافته (SCL)، فهرست دستورات (STL) و S7-GRAPH میباشند. توسعه صفحات HMI در WinCC برای سیستمهای نظارتی بر روی کامپیوتر (چه به صورت مستقل و چه به صورت SCADA) و نیز برای پنلهای عملیاتی Basic، Comfort و Mobile به کار میرود. پروتکلهای ارتباطی شامل Profibus، PROFINET و AS-i (رابط حسگر-محرک) میباشند. برای ارتباط با PLCها، ماژولهای ارتباطی (CM) با عملکردهایی جهت برقراری ارتباط از طریق پروتکلهای صنعتی مختلف مانند Modbus و CANOpen نیز وجود دارند. شکل زیر ویژگیهای اصلی SIMATIC STEP 7 و SIMATIC WinCC را نشان میدهد.
ویژگیهای اصلی SIMATIC STEP 7 و SIMATIC WinCC
نظارت بر وضعیت کارخانه و کنترل عناصر محرک آن توسط دستگاههایی انجام میشود که به سختافزار کنترلر متصل هستند.
یک سیستمعامل بهعنوان عامل کامپایلر برای اجرای الگوریتمها عمل میکند. سیستمعاملهای PLC مسئول ترجمه دستورالعملهای منطقی به سختافزار هستند که این امر بر اساس برنامه کاربر و پیکربندی سختافزار PLC انجام میشود.
برنامهنویسی کنترلر بر پایه معماری تقسیمشده به بلوکهای OB (بلوکهای سازمانی)، FC (توابع)، FB (بلوکهای تابعی) و DB (بلوکهای داده) انجام میشود.
بلوکهای سازمانی ارتباط نزدیکی با چرخههای اجرای برنامه و وقفهها دارند، زیرا اجرای آنها به تحریکات از پیش تعریفشده مانند یک بازه زمانی یا تشخیص خرابی سختافزار مرتبط است. بلوک OB1، که بهعنوان «main» نیز شناخته میشود، برای مقداردهی اولیه و اسکن متوالی فراخوانی بلوکهای کد اجراشده ضروری است، بهجز سایر OBها، چرا که این بلوک بهصورت چرخهای و پیوسته اجرا میشود. طبق نمودار نمایشدادهشده، اجرای برنامه بهصورت خطی و همزمان از محتوای OB1 آغاز میشود، از چپ به راست و از ابتدا تا انتهای بلوک. در پایان اجرای main، CPU اجرای کد را مجدداً از ابتدا آغاز میکند و این روند بهصورت نامحدود تکرار میشود.
اگرچه کاربر میتواند چندین بلوک تابع و داده ایجاد کند، PLC فقط دستورالعملهای موجود را طبق دنباله تعیینشده در OB1 اجرا میکند. نمودار زیر ایجاد زیربرنامهها از طریق فراخوانی بلوکها را نشان میدهد، که میتواند شامل فراخوانیهای تو در تو نیز باشد.
از آنجایی که اجرای دستورالعملها در تابع اصلی (main) وابسته به پردازش تمام توابع اختصاص دادهشده است، زمان چرخه ممکن است با توجه به وضعیت کارخانه و شرایط پیشبینینشده برنامهنویسی تغییر کند. بنابراین، برای جلوگیری از اختلال منطقی یا تضمین اجرای چرخهای با دوره فعالسازی پیوسته برای یک منطق خاص، استفاده از OB وقفه چرخهای توصیه میشود.
بلوکهای وقفه چرخهای نیز بهصورت چرخهای اجرا میشوند، اما با بازه زمانی از پیش تعیینشده در هنگام ایجاد آنها.
بدین ترتیب، هر ۱۰۰ میلیثانیه، پردازش فعلی متوقف میشود تا دستورالعملهای موجود در بلوک وقفه چرخهای اجرا شود.
FCها الگوریتم را فشرده کرده و مقادیر خروجی را بر اساس ورودیها و بررسیهای داخل بلوک به متغیرهای خروجی برمیگردانند.
متغیرهای محلی تعریفشده در FC میتوانند از نوعهای زیر باشند:
FBها ساختار و عملکرد مشابه FCها دارند، اما با یک ویژگی اضافی: ایجاد بلوکهای داده نمونه (iDB) برای هر فراخوانی FB.
تمام انواع متغیرهای FC در FB نیز موجود هستند، اما FB شامل نوع Static (ایستا) نیز میشود. متغیرهای Static حافظههای مقاومبهقطع هستند که در حافظه غیرفرار CPU ذخیره شده و میتوانند در سراسر برنامه فراخوانی شوند. برای هر بار استفاده از FB در یک روتین برنامهنویسی، لازم است یک iDB به آن اختصاص داده شود، تا فراخوانیهای مختلف یک FB حافظههای جداگانه داشته باشند.
نمودار زیر مثالی از استفاده از چند فراخوانی از یک FB بهنام Motors را نشان میدهد که به دو DB متفاوت برای موتورهای A و B اختصاص داده شدهاند.
علاوه بر نوع دادههای معمول مانند Integer، Real و Boolean، میتوان متغیرهایی با نوع داده از پیش تعریفشده توسط کاربر (UDT) تعریف کرد. این ساختار میتواند شامل ترکیبی از انواع داده و آرایهها باشد. استفاده از UDTها به سازماندهی بهتر ساختار داده و سهولت توسعه و عیبیابی برنامه کمک میکند.
در این مثال از FB، FC، نوع داده و بلوکهای داده برای اجرای یک وظیفه ساده برای راهاندازی موتورها استفاده میشود.
ابتدا باید یک نوع دادهای با عنوان “Motor” ایجاد شود که شامل اطلاعات لازم برای ارتباط با HMI است.
در FC مربوط به راهاندازی موتور، پارامترهای ورودی و خروجی باید شامل تجهیزات فیزیکی موردنیاز مانند سلکتورهای محلی و راهدور، دکمههای استارت/استاپ، و سنسور بازخورد باشند. پارامتر “Data” از نوع “Motor” و خروجی برای فعالسازی کنتاکتور موتور باید بهصورت InOut تعریف شود، چرا که هم برای ورودی و هم خروجی استفاده خواهد شد.
داده موتور از نوع “Motor” باید در یک بلوک داده سراسری (Global DB) ذخیره شود، برای هر موتور یک متغیر مجزا. میتوان آرایهای از نوع Motor با طول مشخص تعریف کرد.
تابع مذکور وضعیت بازخورد و خروجی موتور را بررسی کرده و سناریوهای خطا را تشخیص میدهد، مانند:
در صورتی که خطایی وجود نداشته باشد، تابع موتور را با توجه به ورودیهای محلی، دستورات دستی راهدور یا دستورات خودکار راهاندازی میکند. پس از تایید بازخورد، حافظه وضعیت “Motor Running” برای نمایش در HMI فعال میشود.
فقط کافیست پارامترهای ورودی موتور مربوطه را به اولین فراخوانی موتور متصل کنید. با تکرار فراخوانی تابع برای موتورها با رفتار مشابه، منطق قابل استفاده مجدد میشود.
در صورت استفاده از FB بهجای FC، نیاز به بلوک داده جداگانه نیست، چرا که از تگهای Static مربوط به FB استفاده میشود. هنگام کشیدن FB موتور به برنامه، جادویی (wizard) برای ایجاد DB نمونه آغاز میشود.
همچنین میتوان از multi-instance DB استفاده کرد، که در آن چندین FB در یک FB اصلی جمع شدهاند. این روش باعث ساختاردهی بهتر و کد قابل تکرار میشود.
TIA Portal چیست و چرا برای پروژههای اتوماسیون اهمیت دارد؟
TIA Portal یک محیط مهندسی یکپارچه از شرکت زیمنس برای پیکربندی، برنامهنویسی و راهاندازی سیستمهای اتوماسیون صنعتی است.
اهمیت:
کدام PLCهای زیمنس در TIA Portal پشتیبانی میشوند؟
آیا بدون سختافزار واقعی میتوان TIA Portal را یاد گرفت؟
بله، با استفاده از PLCSim میتوانید پروژههای خود را شبیهسازی کنید.
چه زبانهای برنامهنویسی در TIA Portal وجود دارد؟
اشتباهات رایج مبتدیان در TIA Portal چیست؟
تفاوت OB، FC و FB چیست؟
نحوه رفع مشکل ارتباط بین TIA Portal و PLC چیست؟
بررسی:
آیا امکان ارتقاء پروژه به نسخه جدیدتر TIA Portal وجود دارد؟
بله، اما امکان بازگشت (Downgrade) وجود ندارد.
همیشه نسخه پشتیبان بگیرید.
آیا نسخه رایگان از TIA Portal وجود دارد؟
بله، نسخه آزمایشی ۲۱ روزه رایگان در وبسایت زیمنس موجود است.
جمعبندی
TIA Portal امکانات بسیاری برای توسعه، ساختاردهی دادهها، نگهداری، و مقیاسپذیری سیستمهای صنعتی فراهم میکند. انتخاب روش بهینه نهتنها باعث کارایی بیشتر، بلکه موجب کدنویسی بهتر و قابل نگهداری نیز میشود.
اگر مایل باشید، میتوانم این ترجمه را در قالب PDF یا فایل Word نیز برای شما آماده کنم. آیا علاقهمندید؟