تلفن تماس : 09023011132
شرکت اتوماسیون صنعتی فریان | تامین تجهیزات ابزاردقیق

شرکت اتوماسیون صنعتی فریان | تامین تجهیزات ابزاردقیق

شرکت اتوماسیون صنعتی در تهران و سراسر ایران، تامین و فروش تجهیزات ابزار دقیق، راه اندازی خط تولید ، برنامه نویسی ربات های صنعتی کوکا، زیمنس

راهنمای برنامه نویسی در Tia Portal زیمنس

تاریخ انتشار : 2024/08/02

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

ویژگی‌های اصلی SIMATIC STEP 7 و SIMATIC WinCC

 

 

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

برنامه‌نویسی کنترلر بر پایه معماری تقسیم‌شده به بلوک‌های OB (بلوک‌های سازمانی)، FC (توابع)، FB (بلوک‌های تابعی) و DB (بلوک‌های داده) انجام می‌شود.

 

درک بلوک‌های سازمانی (OB) در TIA Portal

بلوک‌های سازمانی ارتباط نزدیکی با چرخه‌های اجرای برنامه و وقفه‌ها دارند، زیرا اجرای آن‌ها به تحریکات از پیش تعریف‌شده مانند یک بازه زمانی یا تشخیص خرابی سخت‌افزار مرتبط است. بلوک OB1، که به‌عنوان «main» نیز شناخته می‌شود، برای مقداردهی اولیه و اسکن متوالی فراخوانی بلوک‌های کد اجراشده ضروری است، به‌جز سایر OBها، چرا که این بلوک به‌صورت چرخه‌ای و پیوسته اجرا می‌شود. طبق نمودار نمایش‌داده‌شده، اجرای برنامه به‌صورت خطی و هم‌زمان از محتوای OB1 آغاز می‌شود، از چپ به راست و از ابتدا تا انتهای بلوک. در پایان اجرای main، CPU اجرای کد را مجدداً از ابتدا آغاز می‌کند و این روند به‌صورت نامحدود تکرار می‌شود.

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

از آنجایی که اجرای دستورالعمل‌ها در تابع اصلی (main) وابسته به پردازش تمام توابع اختصاص داده‌شده است، زمان چرخه ممکن است با توجه به وضعیت کارخانه و شرایط پیش‌بینی‌نشده برنامه‌نویسی تغییر کند. بنابراین، برای جلوگیری از اختلال منطقی یا تضمین اجرای چرخه‌ای با دوره فعال‌سازی پیوسته برای یک منطق خاص، استفاده از OB وقفه چرخه‌ای توصیه می‌شود.

بلوک‌های وقفه چرخه‌ای نیز به‌صورت چرخه‌ای اجرا می‌شوند، اما با بازه زمانی از پیش تعیین‌شده در هنگام ایجاد آن‌ها.

بدین ترتیب، هر ۱۰۰ میلی‌ثانیه، پردازش فعلی متوقف می‌شود تا دستورالعمل‌های موجود در بلوک وقفه چرخه‌ای اجرا شود.

درک توابع (FC) در TIA Portal

FCها الگوریتم را فشرده کرده و مقادیر خروجی را بر اساس ورودی‌ها و بررسی‌های داخل بلوک به متغیرهای خروجی برمی‌گردانند.

متغیرهای محلی تعریف‌شده در FC می‌توانند از نوع‌های زیر باشند:

  • In (ورودی): برای دریافت اطلاعات از خارج بلوک؛
  • Out (خروجی): برای بازگرداندن نتایج؛
  • InOut (ورودی و خروجی): برای ورودی‌هایی که ممکن است مقدارشان در طی بلوک تغییر یابد؛
  • Temp (موقتی): متغیرهای موقتی که در حافظه CPU به‌صورت تصادفی تخصیص داده شده و در انتها حذف می‌شوند؛
  • Constant (ثابت): متغیرهای موقتی با مقادیر غیرقابل تغییر که در تعریف مشخص شده‌اند.

درک بلوک‌های تابعی (FB) در TIA Portal

FBها ساختار و عملکرد مشابه FCها دارند، اما با یک ویژگی اضافی: ایجاد بلوک‌های داده نمونه (iDB) برای هر فراخوانی FB.

تمام انواع متغیرهای FC در FB نیز موجود هستند، اما FB شامل نوع Static (ایستا) نیز می‌شود. متغیرهای Static حافظه‌های مقاوم‌به‌قطع هستند که در حافظه غیرفرار CPU ذخیره شده و می‌توانند در سراسر برنامه فراخوانی شوند. برای هر بار استفاده از FB در یک روتین برنامه‌نویسی، لازم است یک iDB به آن اختصاص داده شود، تا فراخوانی‌های مختلف یک FB حافظه‌های جداگانه داشته باشند.

نمودار زیر مثالی از استفاده از چند فراخوانی از یک FB به‌نام Motors را نشان می‌دهد که به دو DB متفاوت برای موتورهای A و B اختصاص داده شده‌اند.

درک انواع داده‌های کاربر (UDT) در TIA Portal

علاوه بر نوع داده‌های معمول مانند Integer، Real و Boolean، می‌توان متغیرهایی با نوع داده از پیش تعریف‌شده توسط کاربر (UDT) تعریف کرد. این ساختار می‌تواند شامل ترکیبی از انواع داده و آرایه‌ها باشد. استفاده از UDTها به سازمان‌دهی بهتر ساختار داده و سهولت توسعه و عیب‌یابی برنامه کمک می‌کند.

مثال عملی: راه‌اندازی موتورها

در این مثال از FB، FC، نوع داده و بلوک‌های داده برای اجرای یک وظیفه ساده برای راه‌اندازی موتورها استفاده می‌شود.
ابتدا باید یک نوع داده‌ای با عنوان “Motor” ایجاد شود که شامل اطلاعات لازم برای ارتباط با HMI است.

در FC مربوط به راه‌اندازی موتور، پارامترهای ورودی و خروجی باید شامل تجهیزات فیزیکی موردنیاز مانند سلکتورهای محلی و راه‌دور، دکمه‌های استارت/استاپ، و سنسور بازخورد باشند. پارامتر “Data” از نوع “Motor” و خروجی برای فعال‌سازی کنتاکتور موتور باید به‌صورت InOut تعریف شود، چرا که هم برای ورودی و هم خروجی استفاده خواهد شد.

داده موتور از نوع “Motor” باید در یک بلوک داده سراسری (Global DB) ذخیره شود، برای هر موتور یک متغیر مجزا. می‌توان آرایه‌ای از نوع Motor با طول مشخص تعریف کرد.

تابع مذکور وضعیت بازخورد و خروجی موتور را بررسی کرده و سناریوهای خطا را تشخیص می‌دهد، مانند:

  • فعال‌شدن بازخورد بدون فرمان PLC
  • عدم حرکت موتور با وجود فرمان
  • فعال‌شدن حافظه خطا تا زمان درخواست ریست توسط اپراتور از HMI

در صورتی که خطایی وجود نداشته باشد، تابع موتور را با توجه به ورودی‌های محلی، دستورات دستی راه‌دور یا دستورات خودکار راه‌اندازی می‌کند. پس از تایید بازخورد، حافظه وضعیت “Motor Running” برای نمایش در HMI فعال می‌شود.

فقط کافی‌ست پارامترهای ورودی موتور مربوطه را به اولین فراخوانی موتور متصل کنید. با تکرار فراخوانی تابع برای موتورها با رفتار مشابه، منطق قابل استفاده مجدد می‌شود.

در صورت استفاده از FB به‌جای FC، نیاز به بلوک داده جداگانه نیست، چرا که از تگ‌های Static مربوط به FB استفاده می‌شود. هنگام کشیدن FB موتور به برنامه، جادویی (wizard) برای ایجاد DB نمونه آغاز می‌شود.

همچنین می‌توان از multi-instance DB استفاده کرد، که در آن چندین FB در یک FB اصلی جمع شده‌اند. این روش باعث ساختاردهی بهتر و کد قابل تکرار می‌شود.

سوالات متداول (FAQ)

TIA Portal چیست و چرا برای پروژه‌های اتوماسیون اهمیت دارد؟
TIA Portal یک محیط مهندسی یکپارچه از شرکت زیمنس برای پیکربندی، برنامه‌نویسی و راه‌اندازی سیستم‌های اتوماسیون صنعتی است.
اهمیت:

  • کاهش زمان مهندسی
  • مدیریت متمرکز پروژه
  • مقیاس‌پذیری بالا
  • استاندارد صنعتی جهانی

کدام PLCهای زیمنس در TIA Portal پشتیبانی می‌شوند؟

  • S7-1200
  • S7-1500
  • S7-300 و S7-400 (پشتیبانی محدود)
  • ET 200SP
  • LOGO! (پشتیبانی محدود)

آیا بدون سخت‌افزار واقعی می‌توان TIA Portal را یاد گرفت؟
بله، با استفاده از PLCSim می‌توانید پروژه‌های خود را شبیه‌سازی کنید.

چه زبان‌های برنامه‌نویسی در TIA Portal وجود دارد؟

  • LAD (نردبانی)
  • FBD (بلوک تابعی)
  • SCL (متنی ساختاریافته)
  • STL (لیست دستورات)
  • GRAPH (نمودار ترتیبی)

اشتباهات رایج مبتدیان در TIA Portal چیست؟

  • انتخاب نسخه اشتباه سخت‌افزار
  • نام‌گذاری ضعیف متغیرها
  • ساختار ضعیف کد
  • نادیده گرفتن خطاها و هشدارها
  • دانلود ناقص تغییرات نرم‌افزار/سخت‌افزار

تفاوت OB، FC و FB چیست؟

  • OB: بلوک سازمانی برای مدیریت چرخه اجرا (مثل OB1)
  • FC: تابع بدون حافظه دائمی
  • FB: تابع با حافظه دائمی (Static)

نحوه رفع مشکل ارتباط بین TIA Portal و PLC چیست؟
بررسی:

  • آدرس IP و subnet
  • انتخاب صحیح PG/PC Interface
  • تنظیمات فایروال
  • نسخه سازگار firmware
  • کابل‌ها و سوییچ‌ها
    استفاده از ابزار “Accessible Devices” توصیه می‌شود.

آیا امکان ارتقاء پروژه به نسخه جدیدتر TIA Portal وجود دارد؟
بله، اما امکان بازگشت (Downgrade) وجود ندارد.
همیشه نسخه پشتیبان بگیرید.

آیا نسخه رایگان از TIA Portal وجود دارد؟
بله، نسخه آزمایشی ۲۱ روزه رایگان در وب‌سایت زیمنس موجود است.

جمع‌بندی
TIA Portal امکانات بسیاری برای توسعه، ساختاردهی داده‌ها، نگهداری، و مقیاس‌پذیری سیستم‌های صنعتی فراهم می‌کند. انتخاب روش بهینه نه‌تنها باعث کارایی بیشتر، بلکه موجب کدنویسی بهتر و قابل نگهداری نیز می‌شود.

اگر مایل باشید، می‌توانم این ترجمه را در قالب PDF یا فایل Word نیز برای شما آماده کنم. آیا علاقه‌مندید؟

برخی از مشتریان ما