مفهوم I-Device در شبکه PROFINET

قابلیت I-Device (یا Intelligent Device) راهکاری است برای تبادل مستقیم داده بین دو کنترلر (PLC) در شبکه PROFINET، بدون نیاز به تنظیمات پیچیده یا برنامه‌نویسی سطح پایین.

در این حالت، یکی از CPUها نقش IO Device (دستگاه تحت‌کنترل) را بر عهده می‌گیرد، در حالی که کنترلر دیگر به عنوان IO Controller عمل می‌کند.
به بیان ساده‌تر، I-Device یک CPU یا ماژول ارتباطی (CP) است که می‌تواند مانند یک تجهیز میدانی (Field Device) در شبکه دیده شود، ولی در واقع خودش هم یک کنترلر هوشمند است.

این قابلیت باعث می‌شود:

  • دو یا چند PLC بتوانند داده‌ها را مانند ورودی/خروجی محلی با هم تبادل کنند.
  • ارتباط بین کنترلرهای اصلی و فرعی در ساختارهای Distributed Control یا Modular Automation ساده و استاندارد شود.
  • نیازی به استفاده از بلوک‌های ارتباطی مثل TSEND/TRCV یا PUT/GET برای این نوع تبادل داده نباشد.عملکرد I-Device و مزیت آن در ارتباط بین دو کنترلر زیمنس
    قابلیت I-Device امکان برقراری ارتباط ساده، سریع و پایدار بین دو کنترلر PROFINET IO را فراهم می‌کند؛ به‌طوری‌که هر دو در یک شبکه (Subnet) قرار دارند و می‌توانند به‌صورت هم‌زمان و روی یک باس مشترک داده رد و بدل کنند.
    در این روش، انتقال داده از طریق پروتکل استاندارد PROFINET IO انجام می‌شود و نیازی به استفاده از ماژول‌های سخت‌افزاری مانند PN/PN Coupler یا حتی برنامه‌نویسی پیچیده با بلوک‌های ارتباطی وجود ندارد.
    به عبارت دیگر، با فعال کردن I-Device، یکی از PLCها به‌عنوان IO Device و دیگری به‌عنوان IO Controller عمل می‌کند، و دسترسی به نواحی I/O (ورودی/خروجی‌ها) از طریق آدرس‌دهی معمول PROFINET انجام می‌شود — درست مثل اینکه ماژول ورودی/خروجی واقعی به کنترلر وصل شده باشد. 

چه کنترلرهایی از قابلیت I-Device پشتیبانی می‌کنند؟

قابلیت I-Device در نسل‌های مختلف کنترلرهای زیمنس پشتیبانی می‌شود و از نسخه‌های خاصی به بعد در دسترس قرار گرفته است. این ویژگی را می‌توان در ماژول‌ها و CPUهای زیر فعال و استفاده کرد:

  • S7-300 (از نسخه‌ی Firmware V3.2 به بعد)
  • CP 343-1 Advanced
  • S7-400 (از نسخه‌ی V6 به بعد)
  • S7-1500
  • S7-1200 (از نسخه‌ی V4.0 به بعد)
  • ET 200S / ET 200SP / ET 200pro CPU
  • SIMOTION

این یعنی تقریباً در تمام کنترلرهای مدرن زیمنس (به‌ویژه خانواده‌های S7-1200 و S7-1500)، قابلیت I-Device به‌صورت نرم‌افزاری در TIA Portal قابل پیکربندی است و نیازی به افزونه یا سخت‌افزار اضافه ندارد.

کاربردها و محدوده استفاده از I-Device

قابلیت I-Device یکی از ساده‌ترین و کارآمدترین روش‌ها برای تبادل داده بین چند کنترلر شبکه‌شده در بستر PROFINET است. این قابلیت زمانی بیشترین کاربرد را دارد که در یک پروژه، چند کنترلر مستقل (مانند چند PLC یا کنترلر مرکزی و محلی) وجود داشته باشند و نیاز باشد که آن‌ها اطلاعات ورودی/خروجی یا سیگنال‌های فرآیندی را مستقیماً با هم به اشتراک بگذارند.

به عبارت دیگر، I-Device در پروژه‌هایی ایده‌آل است که در آن:

  • چند PLC زیمنس به‌صورت شبکه PROFINET به هم متصل هستند.
  • نیاز به تبادل داده بین آن‌ها وجود دارد، بدون استفاده از کوپلرهای سخت‌افزاری مانند PN/PN Coupler.
  • ساختار کنترلی به‌صورت چند سطحی (Distributed Control) طراحی شده است.

📘 نمونه کاربرد:
در سیستم‌های کنترلی بزرگ مثل خطوط تولید خودروسازی یا تجهیزات حمل‌ونقل (Carrier Control)، معمولاً هر بخش خط دارای یک کنترلر محلی است. با استفاده از قابلیت I-Device، این کنترلرها می‌توانند داده‌های ورودی و خروجی را مستقیماً از طریق شبکه PROFINET با کنترلر مرکزی تبادل کنند، بدون نیاز به سخت‌افزار واسط جداگانه.

ساختار عملکردی I-Device در یک سیستم چندکنترلری

در یک سیستم مبتنی بر PROFINET که از چند کنترلر (CPU) استفاده می‌کند، می‌توان هر واحد یا زیرسیستم را به‌صورت I-Device پیکربندی کرد. در این حالت، هر ماژول یا «Carrier» دارای یک CPU است که به عنوان I-Device عمل می‌کند، در حالی که یک CPU مرکزی وظیفه‌ی کنترل و هماهنگی کل سیستم را بر عهده دارد.

ارتباط بین CPU مرکزی و CPUهای محلی از طریق شبکه PROFINET و با استفاده از قابلیت I-Device برقرار می‌شود. در این روش، هر CPU محلی در پیکربندی سخت‌افزار (Hardware Configuration) به‌صورت یک دستگاه مجزا (Instance) تعریف می‌شود.

این ساختار دو مزیت کلیدی دارد:

  1. نام دستگاه (Device Name) هر کنترلر در شبکه منحصربه‌فرد است، که باعث شناسایی دقیق هر زیرسیستم توسط کنترلر مرکزی می‌شود.
  2. هر I-Device دارای یک بازه آدرس ورودی/خروجی اختصاصی (Unique IO Address Range) است، بنابراین داده‌های هر بخش بدون تداخل در شبکه تبادل می‌شوند.

در نتیجه، کنترلر مرکزی می‌تواند به‌صورت مستقیم و استاندارد از طریق PROFINET به داده‌های ورودی و خروجی هر I-Device دسترسی داشته باشد، درست مانند اینکه آن‌ها بخشی از IO محلی خود CPU باشند.

مزایای استفاده از قابلیت I-Device در شبکه‌های PROFINET

به‌کارگیری قابلیت I-Device در پروژه‌های صنعتی باعث ساده‌تر شدن ساختار شبکه و افزایش انعطاف‌پذیری در طراحی سیستم می‌شود. مهم‌ترین مزایای این روش عبارت‌اند از:

  • توپولوژی ساده‌تر و منعطف‌تر:
    دیگر نیازی به لایه‌های پیچیده‌ی شبکه یا سخت‌افزارهای واسط نیست و ارتباط بین کنترلرها مستقیماً از طریق PROFINET برقرار می‌شود.
  • اتصال آسان بین چند پروژه‌ی مجزا:
    کنترلرهای متعلق به پروژه‌های مختلف می‌توانند به‌راحتی در یک شبکه مشترک تبادل داده کنند بدون نیاز به تغییر در ساختار نرم‌افزاری اصلی.
  • امکان یکپارچه‌سازی بین برندهای مختلف:
    با استفاده از فایل‌های GSD می‌توان کنترلرهای زیمنس را با کنترلرهای سازندگان دیگر در یک شبکه واحد ادغام کرد.
  • حذف ماژول‌های PN/PN Coupler:
    در معماری‌های مدرن دیگر نیازی به کوپلرهای بین دو شبکه PROFINET نیست، زیرا خود CPUها از طریق I-Device داده‌ها را مستقیماً تبادل می‌کنند.
  • ارتباط یکپارچه و شفاف در کل شبکه:
    تمامی دستگاه‌های شبکه می‌توانند بدون نیاز به روتر یا مکانیزم‌های مسیریابی اضافی با یکدیگر ارتباط برقرار کنند.

آشنایی با مفهوم I-Device در شبکه‌های PROFINET

تعریف و کارکرد I-Device

در شبکه‌های PROFINET، هر CPU یا کارت ارتباطی (CP) که به‌صورت Intelligent IO Device پیکربندی شده باشد، به آن I-Device گفته می‌شود.
I-Device درست مانند یک IO Device معمولی رفتار می‌کند و باید به یک IO Controller بالادست متصل شود.
با این حال، یک CPU می‌تواند در عین حال که به‌عنوان IO Device عمل می‌کند، نقش IO Controller را نیز بر عهده بگیرد.

به زبان ساده‌تر، I-Device به CPU این امکان را می‌دهد که هم داده‌هایی را از کنترلر بالادست دریافت کند و هم خودش بخشی از پردازش داده‌ها را انجام دهد.

عملکرد I-Device در تبادل داده

قابلیت I-Device برای تبادل داده بین کنترلرها از طریق پروتکل PROFINET طراحی شده است.
در این حالت، CPU به‌صورت هوشمند بخشی از عملیات کنترلی را به‌صورت محلی پردازش کرده و نتایج را از طریق رابط PROFINET IO برای کنترلر مرکزی ارسال می‌کند.

از دید کنترلر بالادست (IO Controller)، ارتباط با I-Device تفاوتی با ارتباط با یک IO ماژول معمولی ندارد — همان فرآیند خواندن ورودی‌ها و نوشتن خروجی‌ها انجام می‌شود.
از دید I-Device نیز، تبادل داده با کنترلر بالادست دقیقاً مشابه تبادل داده با ورودی/خروجی‌های محلی خود CPU است.

این روش باعث می‌شود مهندس برنامه‌نویس بتواند در محیط TIA Portal به همه‌ی تجهیزات شبکه دسترسی مستقیم داشته باشد، بدون نیاز به تنظیمات مسیریابی (Routing) پیچیده.

روش‌های پیکربندی I-Device

دو حالت اصلی برای تعریف I-Device وجود دارد:

  1. پیکربندی در همان پروژه:
    در این حالت، I-Device و IO Controller هر دو در یک پروژه STEP 7 تعریف می‌شوند.
  2. پیکربندی در پروژه یا سیستم مهندسی دیگر:
    در این حالت، می‌توان تنظیمات I-Device را به‌صورت فایل GSD خروجی گرفت و در پروژه‌ی دیگر وارد کرد.
    این قابلیت باعث می‌شود ارتباط بین پروژه‌های مختلف یا حتی بین کنترلرهای برندهای متفاوت به‌صورت استاندارد برقرار شود.

انواع I-Device

دو نوع ساختار اصلی برای I-Device وجود دارد:

  • I-Device بدون سیستم IO توزیع‌شده:
    این نوع فقط از ماژول‌های مرکزی CPU استفاده می‌کند.
  • I-Device با IO توزیع‌شده:
    علاوه بر ماژول‌های مرکزی، شامل شبکه‌ای از ماژول‌های IO متصل از طریق PROFINET یا PROFIBUS است.

I-Device با سیستم IO اختصاصی

یک CPU می‌تواند به‌عنوان I-Device به یک IO Controller بالادست متصل شود و همزمان سیستم IO اختصاصی خود با IO توزیع‌شده ایجاد کند.

  • سیستم IO پایین‌دست (Subordinate IO System) می‌تواند شامل I-Deviceهای دیگر نیز باشد.
  • این امکان، ایجاد ساختارهای سلسله‌مراتبی برای شبکه IO را فراهم می‌کند و پیچیدگی شبکه‌های بزرگ را مدیریت می‌نماید.
  • علاوه بر نقش I-Device و IO Controller، این CPU می‌تواند از طریق پورت PROFIBUS به‌عنوان DP Master برای سیستم PROFIBUS پایین‌دست عمل کند و داده‌ها را کنترل کند.

به زبان ساده: این حالت، انعطاف‌پذیری شبکه را بالا می‌برد و اجازه می‌دهد یک CPU هم داده‌ها را برای بالادست مدیریت کند و هم سیستم IO خودش را با زیرمجموعه‌های I-Device اداره کند.

اصول تبادل داده در I-Device
اصلی‌ترین رویکرد در روش I-Device استفاده از Process Image در CPU است. این یعنی تبادل داده بین یک IO Controller بالادست و I-Device بر اساس همان رابطه استاندارد Controller ↔ Device انجام می‌شود. داده‌های تبادلی در بخش‌هایی به نام Transfer Areas نگهداری و منتقل می‌شوند.

Transfer Areas:

  • Transfer Areas مناطقی از حافظه هستند که داده‌ها را بین I-Device و IO Controller بالادست منتقل می‌کنند.
  • هر Transfer Area یک واحد اطلاعاتی مشخص دارد که به‌صورت مداوم بین Controller و I-Device تبادل می‌شود.
  • این مناطق هنگام پیکربندی I-Device تعریف می‌شوند و در GSD File ایجادشده نیز گنجانده می‌شوند.

محدودیت‌ها و مشخصات:


توضیح
مقدار
حداکثر اندازه حافظه تبادل برای ورودی‌ها و خروجی‌ها (Gross values)1440 بایت (ورودی‌ها) / 1440 بایت (خروجی‌ها)
حداکثر طول داده کاربر در هر Transfer Area1024 بایت
تعداد Transfer Areasتا 64 (بسته به تعداد AR)


توجه:

  • S7-1200, S7-300, S7-400 و ET200S به‌عنوان I-Device از حداکثر دو Application Relation (AR) پشتیبانی می‌کنند.

رفتار تشخیص خطا و آلارم‌ها در I-Device

CPUهای S7 دارای چندین قابلیت تشخیص خطا و آلارم هستند که می‌توانند، برای مثال، خطاها یا خرابی‌های سیستم‌های IO زیرمجموعه را اعلام کنند. این پیام‌های تشخیصی باعث کاهش زمان توقف سیستم و سهولت در پیدا کردن و رفع خطاها می‌شوند.

قابلیت‌های تشخیصی

کنترلر IO سطح بالاتر و CPU I-Device از مکانیزم‌های تشخیصی زیر پشتیبانی می‌کنند:

  • OB 83: برای Insert/Remove دستگاه
  • OB 85: خطای ترتیب برنامه (فقط S7-300/400)
  • OB 86: خطای رک
  • OB 122: خطاهای دسترسی به IO

علاوه بر این، TIA Portal برای عیب‌یابی محلی (فقط S7-1200/1500) دستورات زیر را ارائه می‌دهد:

  • GET_ERROR: بازیابی خطا به صورت محلی
  • GET_DIAG: خواندن اطلاعات تشخیصی یک ماژول

پیام‌های تشخیصی IO

  • پیام‌های تشخیصی IO می‌توانند در برنامه کاربر CPU I-Device پردازش شوند و از طریق Transfer Areaها به کنترلر IO سطح بالاتر منتقل شوند.
  • کنترلر IO باید این داده‌های تشخیصی را به صورت مجزا در برنامه کاربر ارزیابی کند.

جزئیات راه‌اندازی کنترلر IO سطح بالاتر

  • وقتی یک دستگاه IO پس از خاموش شدن دوباره روشن می‌شود، معمولاً OB 86 در کنترلر IO فراخوانی می‌شود.
  • پیام Returned-to-Station از کنترلر IO سطح بالاتر در I-Device به دو بخش تقسیم می‌شود:
    1. فراخوانی OB 86: مقادیر اولیه خروجی‌های I-Device تنظیم می‌شوند. ورودی‌ها هنوز معتبر نیستند و تنها وقتی معتبر می‌شوند که OB 86 کنترلر IO سطح بالاتر فراخوانی شود.
    2. فراخوانی OB 83 برای هر Transfer Area ورودی: این فراخوانی، اعتبار یک Transfer Area ورودی را نشان می‌دهد. راه‌اندازی I-Device فقط زمانی کامل می‌شود که OB 83 برای تمام Transfer Areaهای ورودی فراخوانی شده باشد. بسته به وضعیت، این مرحله می‌تواند با تأخیر قابل توجه انجام شود یا اصلاً انجام نشود.

اطلاعات مربوط به توپولوژی و استفاده از I-Device

توپولوژی با I-Device

اگر از I-Deviceها (با یا بدون سیستم IO خودشان) در یک شبکه PROFINET استفاده شود، توصیه می‌شود که پهنای باند مورد نیاز برای ارتباط تا حد ممکن کم نگه داشته شود.

سیستم IO زیرمجموعه I-Device باید وابسته به سیستم IO کنترلر سطح بالاتر باشد. این کار باعث می‌شود که مسیرهای ارتباطی بین کنترلر IO و دستگاه‌های IO آن با مسیرهای ارتباطی بین CPU I-Device و سیستم IO زیرمجموعه‌اش تداخل نداشته باشد.

بنابراین توصیه‌های توپولوژی زیر ارائه می‌شود:

  • I-Device با یک پورت:
    I-Device با یک پورت را به یک سوئیچ PROFINET متصل کنید، به صورت مستقل از سیستم IO سطح بالاتر. سیستم IO زیرمجموعه را به پورت دیگری از همان سوئیچ متصل کنید.
  • I-Device با دو پورت:
    اگر I-Device دو پورت دارد، آن را به یک سوئیچ PROFINET متصل کنید، مستقل از سیستم IO سطح بالاتر. از پورت دوم برای سیستم IO خود I-Device استفاده کنید.
  • I-Device با سه پورت یا بیشتر:
    I-Device با سه پورت یا بیشتر را از طریق I-Device با یک یا هر دو پورت به سیستم IO سطح بالاتر در توپولوژی خطی متصل کنید. از پورت سوم برای سیستم IO زیرمجموعه خود استفاده کنید.

قوانین ارتباط RT و IRT

سیستم‌های IO با I-Device همچنین برای ایجاد برنامه‌های زمان واقعی (Real-Time) با ارتباط RT و IRT مناسب هستند. قوانین زیر باید رعایت شوند:

  • هر دو سیستم IO سطح بالاتر و زیرمجموعه باید از ارتباط RT پشتیبانی کنند.
    می‌توان از ارتباط RT برای هر دو سیستم IO همزمان استفاده کرد.
  • ارتباط IRT می‌تواند با ارتباط RT ترکیب شود – اما نه در هر دو سیستم IO. IRT تنها در جایی امکان‌پذیر است که پورت IO پارامتر شده باشد.

توضیح دستورات PNIO_SEND و PNIO_RECV

دستورات PNIO_SEND و PNIO_RECV برای انتقال داده در حالت‌های کاری CP، یعنی به عنوان PROFINET IO Controller یا PROFINET IO Device در ماژول‌های S7-300 استفاده می‌شوند.
بخش زیر تنها استفاده به عنوان PROFINET IO Device را توضیح می‌دهد.

استفاده به عنوان PROFINET IO Device

وقتی که این دستورات به عنوان یک PROFINET IO Device استفاده می‌شوند، وظایف آن‌ها به شرح زیر است:

  • PNIO_SEND:
    این دستور ورودی‌های پردازش‌شده CPU در PROFINET IO Device را می‌خواند و آن‌ها را به PROFINET IO Controller (با آدرس ورودی تنظیم‌شده) منتقل می‌کند.
    علاوه بر این، این دستور IOCS کنترلر PROFINET IO را به صورت پیام وضعیت ارائه می‌دهد.
  • PNIO_RECV:
    این دستور داده‌های منتقل‌شده توسط کنترلر PROFINET IO (با آدرس خروجی تنظیم‌شده) و IOPS کنترلر PROFINET IO را می‌گیرد و در ناحیه داده‌های CPU در PROFINET IO Device که برای خروجی‌های پردازشی رزرو شده است، می‌نویسد.

فراخوانی در برنامه کاربر

شکل زیر نشان می‌دهد که چگونه PNIO_RECV و PNIO_SEND در برنامه کاربر فراخوانی می‌شوند.

پیاده‌سازی و پیکربندی دستگاه‌ها

آماده‌سازی

نرم‌افزار TIA Portal را باز کرده و یک پروژه جدید ایجاد کنید.

پیاده‌سازی دستگاه‌ها

  1. با استفاده از Project Navigation، دو دستگاه جدید اضافه کنید و CPU مورد استفاده خود را انتخاب کنید.
  2. برای اینکه بتوانید نقش هر دستگاه را در این راهکار مشخص کنید، نام داخلی پروژه را به صورت زیر تغییر دهید:
    • IO controller (CPU 1516-3 PN/DP)
    • I-Device (CPU 1214C)

پیکربندی دستگاه‌ها

برای راه‌اندازی یک سیستم اتوماسیون، اجزای سخت‌افزاری باید پیکربندی، پارامترگذاری و به هم متصل شوند. برای این کار از Device and Network View استفاده کنید.

مراحل کار به صورت زیر است:

  1. در Project Tree، CPU 1516-3 PN/DP (IO controller) را انتخاب کرده و پوشه مربوط به آن را باز کنید.
  2. با Double Click بر روی Device Configuration، Device View آن را باز کنید.
  3. در Graphical View، Interface مورد نظر برای اتصال به شبکه را انتخاب کنید.
    • ویژگی‌های Interface انتخاب شده در Inspector Window نمایش داده می‌شوند.
  4. گروه پارامتر Ethernet addresses را انتخاب کرده و در قسمت Interface networked with روی Add new subnet کلیک کنید.

نتیجه

  • اکنون Interface به یک Subnet جدید از نوع مناسب متصل شده است.
  • پس از این کار، پارامترهای آدرس Interface به صورت خودکار و یکپارچه تنظیم می‌شوند.
  1. در Project Tree، CPU 1214C (I-Device) را انتخاب کرده و پوشه مربوط به آن را باز کنید.
  2. با Double Click روی Device Configuration، Device View آن را باز کنید.
  3. در Graphical View، Interface مورد نظر برای اتصال به شبکه را انتخاب کنید.
    • ویژگی‌های Interface انتخاب شده در Inspector Window نمایش داده می‌شوند.
  4. گروه پارامتر Ethernet addresses را انتخاب کرده و در قسمت Interface networked with، Subnet مورد نظر برای اتصال را از لیست کشویی Subnet انتخاب کنید.

نتیجه

در این مرحله، رابط (Interface) و زیرشبکه (Subnet) انتخاب‌شده به یکدیگر متصل شده‌اند.
با انجام این اتصال، پارامترهای آدرس‌دهی رابط به‌صورت خودکار و هماهنگ (Consistent) تنظیم می‌شوند.


پیکربندی عملکرد I-Device

پیش‌نیاز:
در حال حاضر نمای دستگاه (Device view) مربوط به CPU 1214C فعال است و ویژگی‌های رابط انتخاب‌شده در پنجره‌ی بازرس (Inspector window) نمایش داده می‌شوند.

تغییر حالت عملکرد (Operating Mode)

  1. در پنجره‌ی بازرس، گروه پارامتر "Operating mode" را انتخاب کنید.
  2. گزینه‌ی "IO device" را فعال (تیک‌دار) کنید.

با این کار، CPU 1214C از حالت IO Controller به حالت I-Device (دستگاه هوشمند تحت کنترل یک کنترلر بالادستی) تغییر می‌کند و آماده می‌شود تا در پروژه به‌عنوان زیرسیستم قابل‌پیکربندی در شبکه PROFINET عمل کند.

انتخاب کنترلر ورودی/خروجی (IO Controller)

از منوی کشویی "Assigned IO controller" می‌توانید کنترلر IO موردنظر را انتخاب کنید.

به‌محض انجام این کار، ارتباط شبکه‌ای (networking) و سیستم IO بین دو دستگاه (کنترلر و I-Device) به‌صورت خودکار در نمای شبکه (Network view) نمایش داده می‌شود.

💡 نکته مهندسی:
با این مرحله، ارتباط منطقی بین CPU 1214C (به‌عنوان I-Device) و CPU مرکزی (مثلاً 1516 به‌عنوان IO Controller) برقرار می‌شود و در ادامه می‌توان ناحیه‌های داده (Transfer Areas) را برای تبادل ورودی و خروجی‌ها تعریف کرد.

تنظیم پارامترهای رابط PROFINET

از گزینه‌ی "Parameter assignment of PN interface by higher-level IO controller"
(تعیین پارامترهای رابط PROFINET توسط کنترلر سطح بالا)
می‌توانید مشخص کنید که پارامترسازی رابط شبکه و پورت‌های آن
توسط خود I-Device انجام شود یا توسط IO Controller بالادستی.

در این پروژه، باید این گزینه را فعال کنید تا پارامترهای شبکه و پورت‌ها
توسط کنترلر مرکزی (IO Controller) به‌صورت خودکار به I-Device اختصاص داده شوند.

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


وقتی یک I-Device خودش یک شبکه‌ی فرعی از IO-ها را مدیریت می‌کند،
در واقع نقش یک IO Controller محلی را هم دارد.
بنابراین، تنظیمات شبکه‌ی آن باید توسط خودش انجام شود تا با سیستم زیرمجموعه‌اش سازگار بماند.
در این حالت، کنترلر مرکزی فقط تبادل داده در نواحی انتقال (Transfer Areas) را مدیریت می‌کند،
نه تنظیمات پورت یا پارامترهای فیزیکی شبکه‌ی I-Device.

🧩 ایجاد ناحیه انتقال (Transfer Area)

ناحیه‌های انتقال، بخش‌هایی از ورودی‌ها و خروجی‌های I/O هستند که برای تبادل داده بین I-Device و IO Controller سطح بالا استفاده می‌شوند.

مراحل انجام تنظیم:

  1. وارد بخش I-Device Communication شوید.
    روی اولین فیلد ستون Transfer Areas کلیک کنید.
    نرم‌افزار STEP 7 یک نام پیش‌فرض برای این ناحیه ایجاد می‌کند که در صورت نیاز می‌توانید آن را تغییر دهید.
  2. نوع رابطه‌ی ارتباطی (Communication Relationship) را مشخص کنید:
    در حال حاضر، تنها گزینه‌های CD یا F-CD برای حالت
    Data Exchange Controller ↔ Device در دسترس هستند.
  3. آدرس‌های ورودی و خروجی به‌صورت خودکار توسط نرم‌افزار تعیین می‌شوند.
    برای این پروژه، همان تنظیمات پیش‌فرض را بدون تغییر باقی بگذارید.

💡 توضیح مهندسی:
این نواحی همان محدوده‌هایی هستند که داده‌های ورودی و خروجی بین کنترلر اصلی و I-Device رد و بدل می‌شوند.
در واقع این بخش معادل “Process Image” بین دو CPU است و اندازه‌ی آن روی پهنای باند (Bandwidth) و سرعت به‌روزرسانی (Update Time) تأثیر مستقیم دارد.

🧠 نکته:

در صورت نیاز، می‌توانید آدرس‌ها را متناسب با ساختار پروژه خود تنظیم کنید و همچنین طول ناحیه انتقال (Transfer Area) را برای تبادل داده‌ی پیوسته (Consistent) مشخص نمایید.

ادامه مراحل:

  1. برای ایجاد یک ناحیه انتقال اضافی، روی فیلد دوم در ستون Transfer Areas کلیک کنید.
    تنظیمات پیش‌فرض مربوط به نام (Name)، نوع ارتباط (Type)، آدرس (Address) و طول (Length) را بدون تغییر باقی بگذارید.
  2. جهت تبادل داده (ورودی یا خروجی) را با کلیک روی نماد فلش (Arrow symbol) تغییر دهید.
    این تغییر تعیین می‌کند که داده از I-Device به IO Controller ارسال شود یا برعکس، از IO Controller به I-Device منتقل گردد.

💡 توضیح فنی:
در پروژه‌های چندکنترلری، معمولاً دو ناحیه انتقال تعریف می‌شود:

  • یکی برای ارسال داده از I-Device → IO Controller (مثلاً ورودی‌های پردازش‌شده)،
  • و دیگری برای دریافت داده از IO Controller → I-Device (مثلاً فرمان‌ها یا ست‌پوینت‌ها).

هر دو ناحیه باید Consistent باشند تا داده‌ها بدون پارگی یا ناسازگاری منتقل شوند.

بعد از انجام مراحل بالا پروژه رو ذخیره کنید.

✅ نتیجه (Result)

برای هر ناحیه انتقال (Transfer Area) که ایجاد کرده‌اید، یک ورودی جداگانه در زیر بخش "Operating mode" ظاهر می‌شود.
با انتخاب هر یک از این ورودی‌ها می‌توانید:

  • جزئیات مربوط به ناحیه انتقال را اصلاح (Adjust) یا تغییر (Correct) کنید،
  • و در قسمت توضیحات، یادداشت یا توضیح (Comment) مرتبط با آن ناحیه وارد نمایید.

💡 توضیح مهندسی:
هر Transfer Area درواقع معرف بخشی از داده است که بین IO Controller و I-Device تبادل می‌شود (مثلاً ورودی‌ها، خروجی‌ها، یا وضعیت‌ها).
در این بخش، شما می‌توانید دقیقاً مشخص کنید که:

  • چه محدوده آدرسی به هر Transfer Area اختصاص داده شود،
  • و هدف آن چیست (مثل “Data from Robot Arm” یا “Speed Command to Conveyor”).

⚙️ اختصاص آدرس و بارگذاری (Address assignment and loading)

برای اختصاص نام دستگاه و بارگذاری داده‌های پروژه، PG (Programming Device) را به یکی از پورت‌های آزاد کنترلر متصل کنید.
رابط PG باید روی TCP/IP تنظیم شده باشد و در همان بازه IP که کنترلرها قرار دارند تنظیم شود.

🧩 اختصاص نام دستگاه (Assigning a device name)

برای برقراری ارتباط در شبکه PROFINET، لازم است که برای I-Device، نامی مطابق با پیکربندی پروژه تعیین شود.

مراحل انجام:

  1. در نرم‌افزار STEP 7 (TIA Portal)، از منوی Accessible devices، دستگاه موردنظر را از طریق آدرس MAC انتخاب کنید.
  2. روی گزینه Assign Name کلیک کنید تا نام پیکربندی‌شده پروژه به IO Device اختصاص داده شود.
  3. IO Controller پس از شناسایی IO Device از طریق همین نام، به‌صورت خودکار آدرس IP پیکربندی‌شده را به آن اختصاص می‌دهد.

⬇️ بارگذاری پروژه (Loading the project)

برای بارگذاری داده‌های پروژه:

  • هر دو کنترلر (IO Controller و I-Device) را به ترتیب در بخش Project tree انتخاب کنید،
  • و پروژه را به هر ماژول مربوطه دانلود (Load to device) کنید.

💡 نکته مهندسی:
در ارتباط I-Device، نام دستگاه (Device Name) نقش کلیدی دارد؛
اگر این نام در هر دو سمت (Controller و Device) هم‌خوانی نداشته باشد، ارتباط برقرار نخواهد شد، حتی اگر IPها درست باشند.

🧪 آزمایش عملکرد I-Device (Testing the I-Device function)

پس از انجام مراحل قبلی، عملکرد I-Device کامل شده و هر دو کنترلر اکنون یک ارتباط PROFINET برقرار کرده‌اند.
می‌توانید به سادگی عملکرد آن را با استفاده از Transfer Areas آزمایش کنید.

مراحل آزمایش:

  1. یک Tag Table در هر دو CPU ایجاد کنید.
  2. بازه‌های IO زیر را به Tag Table اضافه کنید:
    • Output Byte 0: %QB0
    • Input Byte 0: %IB0

💡 نکته مهندسی:
با این روش، مقادیر نوشته شده به خروجی‌های I-Device در CPU مرکزی قابل خواندن خواهند بود و مقادیر ورودی CPU مرکزی نیز به I-Device منتقل می‌شوند.

مقدار Byte 0 خروجی در CPU مربوط به I-Device را روی مقدار دلخواه تنظیم کنید. مقدار Byte 0 ورودی در سمت IO Controller همان مقدار را می‌گیرد.


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