اتوماسیون صنعتی در ابتدا با پروتکل های اولیه و ساده تری نظیر مدباس (Modbus) پا به عرصه وجود نهاد. در دهه های اخیر تکنولوژی های جدید در اتوماسیون صنعتی بوجود آمده است که باعث تغییرات گسترده در محصولات جدید این حوزه شده است. به عنوان نمونه استفاده از تکنولوژی فیلدباس (Fieldbus) امکان انتقال از سیستم های اتوماسیون صنعتی متمرکز به غیر متمرکز (Decentralize) را فراهم کرده است. شبکه های اتوماسیون صنعتی مبتنی بر پروفی باس به مدت 25 سال است که استاندارد شده است و توانسته است جزو پروتکل های صنعتی باشد که رهبری بازار را بر عهده دارد. با گسترش فناوری IT و شبکه های مبتنی بر مدل OSI یا TCP/IP نوع جدیدی از تکنولوژی فیلدباس به نام پروفی نت (ProfiNet) ارائه و استاندارد شد که دارای قابلیت های پیشرفته تری نسبت به دیگر پروتکل های قدیمی نیز می باشد. در این مقاله به معرفی و تشریح ویژگی های این پروتکل خواهیم پرداخت.
پیش نیازهای این مقاله
قبل از ورود به آموزش پروتکل پروفی نت پیش نیازهای متعددی وجود دارد که تمامی آن ها برای درک و فهم بهتر خواننده این مقاله توصیه می شود. مطالبی که در این مقاله ارائه می شود با فرض دانستن این پیش نیازها می باشد. پیش نیازهای این مقاله به همراه لینک مطالعه آن در زیر قرار داده شده است.
آشنایی با اصول و مبانی شبکه های کامپیوتری
آشنایی با اترنت ( Ethernet ) و شبکه های محلی ( LAN )
آموزش و راه اندازی پروتکل مدباس ( Modbus RTU/ASCII ) در بستر RS485
واضح است که به دلیل مبتنی بودن پروفی نت به TCP/IP آشنایی با اصول و مبانی شبکه و بستر ارتباطی اترنت مورد نیاز است. اما چرا آشنایی با مدباس توصیه می شود؟ به این دلیل که مدباس جزو اولین پروتکل های اتوماسیون صنعتی می باشد که گسترش یافته است و مباحث پایه ای کلیه پروتکل های صنعتی با یادگیری این پروتکل امکان پذیر است. در حقیقت پروتکل های صنعتی پیشرفته نظیر همین پروفی نت برای پوشاندن نقاط ضعف پروتکل هایی نظیر مدباس بوجود آمده اند. بنابراین دانستن پروتکل مدباس به فهم بهتر پروتکل های جدید تر نظیر پروفی نت بسیار کمک می کند. همچنین دیدن ویدئوی زیر که همان توضیحات اولیه پروتکل مدباس RTU به زبان ساده می باشد به شدت توصیه می شود. لینک ویدئو: مفاهیم اولیه پروتکل مدباس
اهداف پروتکل های صنعتی
سیستم های اتوماسیون صنعتی امروزی بایستی طیف وسیعی از خواسته ها و قابلیت ها را برآورده سازد. قابلیت هایی نظیر نظارت، مدیریت، کنترل، سرعت، امنیت، ایمنی و … به منظور پشتیبانی از این قابلیت ها در یک سیستم اتوماسیون صنعتی پروتکل های مختلفی ایجاد شده است. هر یک از این پروتکل ها با هدف پوشاندن یک یا چند قابلیت و در سطوح مختلف هرم اتوماسیون صنعتی توسعه داده شده اند. شکل زیر هرم اتوماسیون صنعتی و لزوم قابلیت های مختلف مورد نیاز برای پروتکل های اتوماسیون صنعتی را نشان می دهد.

برای مثال پروتکل مدباس قابلیت کنترل تعدادی وسیله را دارد. از پروتکل مدباس برای نظارت بر عملکرد یک وسیله نیز میتوان استفاده کرد اما این قابلیت به علت اشغال شدن پهنای باند شبکه بهینه نمی باشد. اما پروتکل مدباس قابلیت هایی نظیر مدیریت، سرعت، امنیت، ایمنی و … مورد نیاز در اتوماسیون صنعتی را به هیچ وجه پشتیبانی نمی کند که البته برای پروتکل قدیمی مثل مدباس طبیعی است. در پروتکل های جدیدتر هدف این است که این قابلیت های مختلف مورد نیاز در هرم اتوماسیون صنعتی با یکدیگر ترکیب کنیم و به یک پروتکل جامع با پشتیبانی هرچه بیشتر از این قابلیت ها برسیم. اینجا است که پروتکل پروفی نت با قابلیت های زیر شما را شگفت زده می کند:
- مدیریت: حذف/اضافه کردن ماژول ها به منظور کنترل داده و ثبت داده های عملیاتی
- مهندسی: قابلیت راه اندازی، عیب یابی و نگهداری از راه دور (ریموت)
- کنترل: کنترل و هماهنگی عملکردها و وظایف بین کنترلرهای منفرد
- ایمنی: تضمین اجرای صحیح پروتکل به منظور حفاظت از افراد و منابع
- سرعت: قابلیت همگام سازی برای کارهای حساس زمانی
- آدرس دهی بر اساس پروتکل FieldBus

پروتکل پروفی نت با قابلیت های وسیع خود می تواند در کلیه سطوح هرم اتوماسیون صنعتی مورد استفاده قرار گیرد. به همین دلیل است که در سال های اخیر استفاده از این پروتکل مورد استقبال زیادی قرار گرفته است. شبکه های مبتنی بر PROFINET چندین سال است که در رتبه اول شبکه های اتوماسیون صنعتی مبتنی بر اترنت قرار دارد. شکل زیر که توسط شرکت hms منتشر شده است این موضوع را نشان می دهد.

سازمان جهانی پروفی باس و پروفی نت
در ابتدا سازمان PROFIBUS International یا به اختصار PI از ترکیب سازمان های کاربران پروفی باس و سازمان های منطقه ای پروفی باس بوجود آمد. این ساختار غیرمتمرکز و بسیار فدرال ثابت کرده است که برای PROFIBUS قوی و منعطف است و بنابراین برای PROFINET نیز پذیرفته شده است. امروزه به جای نام گذاری دوگانه PROFINET و PROFIBUS، به سادگی از علامت اختصاری “PI” استفاده می شود.
در بیش از 50 گروه کاری PI، کارشناسان از اعضای مختلف به پیشبرد توسعه فناوری و تطبیق آن با نیازهای بازار ادامه می دهند. بروشورها و سایر اسناد را می توان از مرکز پشتیبانی PI واقع در Karlsruhe یا وب سایت www.profinet.com دانلود کرد.
شکل زیر ساختار سازمان PI و نحوه مدیریت و کنترل تکنولوژی فیلدباس درون این سازمان را نشان می دهد.

استانداردسازی پروفی نت
سیستمی مانند PROFINET از استانداردهای مختلفی استفاده می کند. اساس آن استانداردها استاندارد اترنت ساخته شده توسط IEEE و ISO می باشد. این استانداردها باید رعایت شوند تا از سازگاری نسخه های بعدی اطمینان حاصل شود. بنابراین توضیحات مربوط به این پروتکل های آزاد اینترنتی که امکان شبکه سازی با اجزای شبکه اتوماسیون صنعتی را فراهم می کنند، در استانداردهای پروفی نت وجود ندارند.
فناوری PROFINET به صورت مشترک توسط شرکت های ذینفع به عنوان دستورالعمل در سازمان PROFINET تعریف و منتشر می شود. به محض اینکه پروتکل های اساسی به حداقل سطح بلوغ رسیدند، در استانداردهای اتوماسیون بین المللی در IEC گنجانده می شوند.
روند توسعه و استانداردسازی پروفی نت از سال 2003 آغاز شد و آخرین ورژن منتشر شده پروفی نت V2.4 می باشد. شکل زیر این موضوع را نشان می دهد.

برای اطمینان از کیفیت دستگاه ها باید در آزمایشگاه تست (PI Test Lab) آزمایش شوند. بدون این آزمایش، دستگاه ها به طور رسمی به عنوان دستگاه های PROFINET شناخته نمی شوند. علامت تجاری PROFINET توسط PNO به تجهیزات اعطا می شود. تنها پس از تأیید تجهیزات توسط PNO، میتوان از علامت تجاری PROFINET در چنین تجهیزات تأیید شده، اسناد مربوطه، تبلیغات و غیره استفاده کرد. پس از گذراندن آزمون در آزمایشگاه های تست معتبر، PNO باید گواهینامه را برای تجهیز مورد نظر صادر کند.

برای اطمینان از کیفیت نصب و راه اندازی PROFINET، پرسنل نصب و پرسنل مهندسی می توانند بعد از دریافت آموزش گواهینامه دریافت کنند. PI محتوای آموزش را به طور دقیق مشخص می کند. چنین دوره هایی همیشه شامل تمرین ها و تست های عملی می شود. فقط مراکز PITC ( مخفف PI Training Center ) و PICC ( مخفف PI Competence Center ) دارای مجوز، مجاز به ارائه این آموزش ها می باشند.
انواع پروتکل PROFINET
همانطور که گفتیم شبکه پروفی نت همان شبکه اترنت صنعتی است که از پروتکل های خاصی استفاده می کند. پروتکل PROFINET خود شامل چهار پروتکل اصلی زیر مجموعه می باشد که هر کدام جنبه های مختلفی از سیستم را تشریح می کنند.
PROFINET IO
رایج ترین پروتکل PROFINET می باشد که به منظور جابجایی دیتا بین IO-Controller ها و IO-Device ها استفاده می شود. PROFINET IO از مدل ارتباطی PROFIBUS DP استفاده می کند و آن را برای استفاده در شبکه های اترنت گسترش می دهد. در نتیجه موجب پهنای باند بالاتر و پشتیبانی از تعداد وسیله های بیشتری در شبکه می شود.
PROFINET CBA
که مخفف Component Base Automation به معنای اتوماسیون مبتنی بر کامپوننت می باشد، برای ارتباط ماشین با ماشین مبتنی بر کامپوننت از طریق TCP/IP و برای برقراری ارتباط بلادرنگ (Real-Time) برای برآوردن نیازهای بلادرنگ در تولید کارخانه های ماژولار مناسب است. TCP/IP یا اترنت به عنوان پروتکل انتقال استفاده می شود. زمان پاسخ در حدود 100 میلی ثانیه (در حالت غیر قطعی) یا 5 تا 10 میلی ثانیه (در حالت قطعی، راه حل بلادرنگ) است.
PROFINET CBA علاوه بر ویژگی نمایش داده ها در PROFINET IO، از نمایش کامپوننت به صورت XML نیز پشتیبانی می کند. در این نما، نرمافزار کاربردی و دستگاهها بهعنوان اجزای مستقلی مدلسازی میشوند که از طریق یک کامپوننت به نام گذرگاه (Bus) تعامل دارند. این ویژگی یک طراحی ساده ماژولار از کارخانه و خطوط تولید را بر اساس هوش توزیع شده با استفاده از پیکربندی مبتنی بر گرافیک ارتباط بین ماژول های هوشمند امکان پذیر می کند.
PROFINET CBA از فناوری استاندارد DCOM (مخفف Distributed Component Object Model به معنای مدل اجزای توزیع شده) و RPC (مخفف Remote Procedure Call به معنای تماس از راه دور) ، ساخته شده است. DCOM که در ابتدا توسط مایکروسافت توسعه داده شد، یک مکانیسم شی گرا است که نحوه مکان یابی، درخواست و دریافت داده ها از یک سرور توسط Client را ساختار می بخشد.
توجه کنید که PROFINET CBA و PROFINET IO می تواند هم به طور جداگانه و هم به صورت ترکیبی کار کند. بنابراین دستگاه های PROFINET CBA و PROFINET IO را می توان با هم در یک برنامه کاربردی استفاده کرد و هر دو نوع پروتکل را می توان در یک دستگاه پیاده سازی کرد. واحد PROFINET IO در هنگام نمایش به صورت یک کارخانه PROFINET CBA ظاهر می شود.
PROFINET IRT
مخفف Isochronous Real-Time به معنای بلادرنگ همزمان می باشد. در پروتکل PROFINET IO میتوانیم در حالت Real-Time یک سری از دیتا ها با سرعت بالاتر از دیتاهای عادی و در زمان حدودا 1 تا 10 میلی ثانیه منتقل کنیم. اما در صورت نیاز به سرعت بالاتر از 1 میلی ثانیه دیگر نمیتوان از پروتکل سنتی اترنت با قابلیت CSMA-CD استفاده کرد. در CSMA-CD این اجازه داده می شود تا یک کابل مشترک داده ها را بین چندین گره در شبکه حمل کند و CSMA-CD تنها قادر به تشخیص و انتقال مجدد حوادث ناشی از تصادم (Collision) می باشد. این در اکثر شرایط بسیار خوب عمل می کند و زمان چرخه (Cycle Time) داده ها را با حداکثر سرعت 1 میلی ثانیه با لرزش (Jitter) مربوطه در حدود 10 تا 100 میکرو ثانیه فراهم می کند. دستگاه های PROFINET IO کلاس انطباق A و B از این فناوری استفاده می کنند. در مواردی که زمان های چرخه سریعتر و لرزش کمتری برای یک رفتار قطعی تر مورد نیاز است، می توان PROFINET IRT را اجرا کرد. IRT از ASIC سفارشی موجود در دستگاه های کلاس انطباق C استفاده می کند که دارای لایه سفارشی MAC هستند که به همه سوئیچهای شبکه IRT امکان می دهد یک اسلات زمانی اختصاصی فقط برای ارتباطات IRT فراهم کنند. از این اسلات زمانی به عنوان TDMA یاد می شود که مخفف Time Division Multiple Access می باشد. پس از TDMA همان حاکمیت CSMA-CD برای کانالهای ارتباطی استاندارد استفاده می شود. بنابراین PROFINET می تواند پاسخگوی محدوده وسیعی از نیازهای اتوماسیون صنعتی از NRT ( مخفف Non Real Time ) گرفته تا IRT را فراهم کند. شکل زیر این موضوع را نشان می دهد.

PROFINET TSN
مخفف Time-Sensitive Networking به معنای شبکه حساس به زمان می باشد که جدیدترین توسعه پروتکل ارتباطی PROFINET محسوب می شود که برای ارائه قابلیت های ارتباطی بلادرنگ برای سیستم های اتوماسیون صنعتی طراحی شده است. افزودن TSN توانایی PROFINET را برای برآورده کردن الزامات زمانبندی دقیق برنامههای صنعتی افزایش میدهد و ارتباط مطمئن و قطعی را در شبکههای اترنت تضمین میکند. در ورژن کنونی پروفی نت یعنی PROFINET V2.4 پشتیبانی از عملکرد یکپارچه TSN اضافه شده است، PI به طور مداوم بر روی اجرای ماژول های بیشتر برای راه اندازی موفق TSN در بازار کار می کند. پروفایل TSN برای اتوماسیون صنعتی در حال حاضر با استفاده از استانداردهای اترنت مربوطه IEEE در حال توسعه است. در “IEC/IEEE 60802” که یک گروه کاری مشترک بین IEC و IEEE است، عملکرد مناسب TSN و مکانیسم های پیکربندی برای یک شبکه TSN همگرا، در حال تعریف هستند.
انواع وسیله ها در PROFINET IO
در سیستم PROFINET IO سه نوع وسیله وجود دارد که با یکدیگر به تبادل دیتا می پردازند. این وسیله ها عبارتند از:
IO-Controller
وسیله هایی نظیر PLC ها و … هستند که برنامه اتوماسیون را اجرا می کنند. عملکرد این وسیله ها مشابه PROFIBUS Class 1 Master می باشد و بنابراین شروع کننده ارتباط با IO-Device ها هستند.
IO-Device
وسیله هایی نظیر سنسورها و عملگرها هستند که به صورت توزیع شده در شبکه قرار دارند و به تبادل دیتا با IO-Controller ها می پردازند. عملکرد این وسیله ها مشابه PROFIBUS Slave می باشد.
IO-Supervisor
وسیله هایی نظیر HMI ها و PC ها و … هستند که به منظور نظارت و عیب یابی سیستم در شبکه حضور دارند. عملکرد این وسیله ها مشابه PROFIBUS Class 2 Master می باشد.

مهندسی سیستم PROFINET IO
برای مهندسی یک سیستم PROFINET IO به فاز های زیر نیاز داریم:
فاز 1: برنامه ریزی سیستم PROFINET IO
که شامل موارد زیر است:
- وجود یک یا چند PROFINET IO Controller
- وجود فهرستی از دستگاه های IO که تبادل چرخه ای داده با کنترلر را با تعداد مشخصی از بایت ها و زمان به روز رسانی مورد نیاز انجام می دهند.
- وجود توپولوژی شبکه مشخص
فاز 2: پیکربندی IO-Controller
در پیکربندی سیستم PROFINET IO (به صورت آفلاین) از ابزار مهندسی (Engineering Tool) استفاده می شود. ابزار مهندسی (ET) همیشه توسط سازنده IO-Controller تحویل داده می شود. اولین وظیفه یعنی برنامه ریزی تقریباً مستقل از این ابزار است.
فاز 3: راه اندازی سیستم IO
در راه اندازی سیستم PROFINET IO به صورت آنلاین از یک ایستگاه مهندسی ( Engineering Station ) به عنوان IO-Supervisor یا ناظر استفاده می شود تا سیستم نصب شده و آماده راه اندازی شود.
فاز اول: برنامه ریزی سیستم PROFINET IO
اولین فاز در مهندسی سیستم PROFINET IO، برنامه ریزی است. مراحل برنامه ریزی یک سیستم PROFINET IO را می توان به صورت زیر شرح داد:
مرحله 1 : ساختار سیستم IO
رابطه بین IO-Controller و IO-Devices برای تبادل چرخه ای داده ها ( Cyclic Data ) در این مرحله مشخص می شود. رابطه کاربردی ( Application Relation ) متفاوتی بین ایستگاه های مختلف در یک سیستم IO وجود دارد. این AR ها عملکرد و هدف متفاوتی دارند. شکل زیر انواع این رابطه ها را مشخص کرده است.

همانطور که مشاهده می کنید سه نوع رابطه میان ایستگاه های مختلف در شبکه PROFINET وجود دارد. رابطه 1 در استانداردهای PROFINET تعریف نشده و تنها مختص سازنده IO-Controller است.
به دلایل افزونگی ( Redundancy ) ممکن است بیش از یک IO-Controller در یک سیستم PROFINET IO وجود داشته باشد. در این صورت، تمام IO-Controller باید برنامه ریزی شود، اما تنها یکی از آن دو در یک لحظه در زمان، کنترل کننده اصلی است و کنترل کننده دیگر باید آماده به کار باشد.
وجود یک IO-Controller ریداندنت در سیستم قابلیت در دسترس بودن سیستم را بهبود می بخشد. در این حالت هر دو IO-Controller ها از یک پیکربندی استفاده می کنند، اما یکی کنترل کننده اصلی و دیگری کنترلر آماده به کار (Standby) است. هر دو IO-Controller ها AR را برای همه IO-Device ها برقرار می کنند. IO-Device داده های ورودی را به صورت چرخه ای به هر دو IO-Controller می فرستد، اما فقط کنترل کننده اصلی روی داده های چرخه ای اقدام به ساخت خروجی می کند. داده های خروجی کنترلر آماده به کار توسط IO-Device نادیده گرفته می شود.

همچنین امکان ترکیب چندین سیستم PROFINET IO در یک شبکه وجود دارد. این کار مزیت های زیر را به همراه دارد:
- Shared IO-Device : این دستگاه ها به چندین IO-Controller اجازه می دهند تا به ماژول های مختلف در اسلات یا ساب اسلات های فرعی در IO-Device های یکسان دسترسی داشته باشند.
- Shared Inputs : دستگاه های IO-Controller متفاوت ماژول ورودی یکسانی را از چندین IO-Device می خوانند. این کار باعث به اشتراک گذاری آسان داده های یک سنسور می شود.
- I-Device یا دستگاه های هوشمند (مخفف Intelligent Device ) دستگاه هایی هستند که همزمان می توانند IO-Controller و IO-Device باشند. این دستگاه ها سیستم های ساختارمند PROFINET IO را ایجاد می کنند یا حتی وظیفه هماهنگی عملکرد میان IO-Controller ها را برعهده دارند. شکل زیر این دستگاه ها را نشان می دهد.

- ماژول های I/O می توانند به صورت انعطاف پذیری از یک IO-Device به IO-Controller های مختلفی تخصیص داده شوند.
- یک ماژول می تواند به صورت شفافی تنها به یک IO-Controller اختصاص داده شود.
- راه اندازی ساده تر و مقرون به صرفه تر احداث کارخانه ها به خصوص در پروژه هایی که از پروفایل های مختلف PROFINET نظیر PROFISAFE و PROFIDRIVE استفاده می کنند.
مرحله 2 : تعریف کنترل کننده IO
در این مرحله یک IO-Controller تعریف می شود که مسئول یک سیستم IO است. درون IO-Controller نقشه حافظه (memory map) می باشد که شامل یک کپی از تمام مقادیر ورودی و خروجی سیستم است. وظیفه پروتکل PROFINET IO کپی کردن مقادیر این ورودی ها و خروجی ها از IO-Device به درون نقشه حافظه IO-Controller می باشد. این عملیات کپی به صورت دوره ای با زمان به روزرسانی مشخص اجرا می شود. این زمان به روزرسانی تعیین کننده زمان واکنش (Reaction Time) کل سیستم IO می باشد که میتوان به آن رسید.

حالت های کاری مختلف یک IO-Controller به صورت زیر است:
آفلاین(Offline): در این وضعیت رابط شبکه (Network Interface) ممکن است فعال باشد، بنابراین فریم های اترنت ممکن است ارسال و دریافت شوند، اما پروتکل PROFINET فعال نمی باشد.
تمیز(Clear): برنامه کاربردی یا برنامه کاربر اجرا نمی شود. بنابراین IO-Controller قادر به ارائه خروجی معتبر نیست، اما همه ورودیها همچنان برای سادهسازی تست و اشکالزدایی خوانده میشوند.
آنلاین(Online): IO-Controller در حالت کارکرد معمولی است و داده های کاربر را به صورت چرخه ای مبادله می کند.
مرحله 3 : جمع آوری IO-Devices
در این مرحله لیستی از دستگاه های IO با تعداد ماژول ها و داده های ورودی و خروجی به منظور کنترل فرآیند جمع آوری می شود. یک IO-Device از تعدادی اسلات (Slot) و زیراسلات (Subslot) تشکیل شده است. ماژول های واقع در اسلات یا زیراسلات می توانند یک یا چند کانال داشته باشند. هر کانال مشخص کننده مقدار داده های ورودی/خروجی است که در شبکه منتقل می شود. کلیه مشخصات ماژول های احتمالی در فایلی به نام GSD (مخفف General Station Description) فهرست شده اند. در این فایل همچنین مشخص می شود که کدام ماژول ممکن است در کدام اسلات یا زیراسلات متصل شود.

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

هر زیراسلات ممکن است دارای دادههای IO چرخهای(Cyclic) یا دادههای تشخیص عیب (Diagnostic data) برای همه کانالها، آلارمها و بلوکهای داده باشد.
IO-Proxy نوع خاصی از IO-Device است. IO-Proxy قالبی برای اتصال یک سیستم فیلدباس به یک سیستم PROFINET است که در حالت کلاسیک در سیستم های مختلف دروازه یا Gateway نامیده می شود. استفاده از IO-Proxy باعث یکپارچه شدن مهندسی و تشخیص عیب تکنولوژی های مختلف فیلدباس درون یک سیستم PROFINET می شود.
مرحله 4 : تعیین کلاس انطباق (Conformance Class)
در این مرحله طبق الزامات برنامه کاربردی، کلاس های انطباق (CC) مشخص می شود. کلاس های انطباق (CC) در حقیقت الزامات سیستم جهت کار در شبکه با وسیله های دارای مشخصات خاص را دسته بندی می کند. PROFINET چهار کلاس انطباق A، B، C و D را تعریف می کند. برای هر CC عملکردی تعریف شده است که امکان انتخاب ساده دستگاه ها را مطابق این CC برای زمینه های مختلف برنامه های اتوماسیون فراهم می کند.

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

معمولاً بین IO-Device ها و IO-Controller ها روابط ارتباطی حساس بوجود می آید. اگر بیش از یک IO-Controller درگیر باشد، تعداد IO-Device های اختصاص داده شده به هر IO-Controller باید در نظر گرفته شود. در یک شبکه هر چه عمق خط بزرگتر باشد، تأخیر انتقال داده بیشتر است. در نتیجه زمانی که داده ها به مقصد می رسند سن خاصی خواهند داشت. برای کاربردهای حساس از نظر زمانی باید از عمق بیش از حد خط اجتناب شود. چرا که عمق خط زیاد ممکن است بر زمان پاسخ کل سیستم تاثیر بگذارد. همچنین نوع سوئیچ شبکه مورد استفاده باید بررسی شود. برخی از سوئیچ های شبکه دارای تاخیر بیشتری هستند.
در شبکه PROFINET برای بهره مندی از قابلیت دسترسی بیشتر و تشخیص عیب آسان تر، توصیه می شود حداکثر عمق خط را 45 در نظر بگیرید. با در نظر گرفتن این عمق خط، برنامه های افزودنی آینده که با استفاده از پروتکل افزونگی رسانه (MRP مخفف media redundancy protocol ) توسعه داده می شوند، قابلیت اجرا روی شبکه را دارد. اگر نتوان به این عمق خط رسید، می توان خطوط شبکه را برای دستیابی به چندین خط کوتاه تر تقسیم کرد، این راهکار در شکل زیر نشان داده شده است.

مرحله 6 : تعریف زمان بندی
در این مرحله الزامات زمان بندی برای داده های چرخه ای (Cyclic) تعریف می شود. ویژگی کلیدی یک PROFINET IO-System زمان بروزرسانی تبادل چرخه ای داده های فرآیند است. این زمان بروزرسانی بر زمان واکنش کل سیستم به رویدادهای خارجی تأثیر میگذارد و میتواند مستقل از ورودیها و خروجیها برای هر زیراسلات IO-Device جداگانه تعریف شود.

همانطور که در شکل فوق مشاهده می کنید، هر دستگاه PROFINET به طور متوالی برنامه خود را در یک زمان چرخه خاص اجرا می کند. ورودی ها در ابتدا خوانده می شوند و خروجی ها در پایان هر چرخه تنظیم می شوند. زمانبندی نسبی این چرخهها با یکدیگر بر زمان پاسخ در یک زنجیره پردازش تأثیر دارد. شکل زیر نمونه ای برای پردازش یک رویداد را نشان می دهد. این رویداد می تواند به عنوان مثال، ورود یک فرمان توقف برای یک موتور باشد.

همانطور که در شکل فوق مشاهده می کنید، زمان پاسخگویی سیستم برابر با مجموع زمان های زیر است:
- زمان چرخه کنترلر (TC)
- زمان پردازش در کنترلر (ΔTC)
- زمان چرخه دستگاه ها (TD1 و TD2)
- زمان بروزرسانی دستگاه ها (TPN1 و TPN2)
- زمان انتقال داده ها از طریق شبکه (ΔTPN1 و ΔTPN2)
در این مثال فرض شده است که وظایف PLC (یعنی همان IO-Controller) به صورت چرخه ای اجرا می شود و زمان پردازش توسط PLC (یعنی ΔTC) سریعتر از زمان چرخه کار کنترلر (TC) است. اگر وظایف در کنترلر به صورت دوره ای اجرا شوند، زمان TC کنترل کننده تقریبا با زمان پردازش در کنترل کننده ΔTC برابر است.
در بهترین حالت، دادهها درست قبل از شروع چرخه بعدی (درست در زمان به موقع) دریافت میشوند و میتوانند مستقیماً پردازش شوند. بنابراین تاخیر اضافی رخ نمی دهد. در بدترین حالت، اجرای دستور باید به مدت یک چرخه کامل در هر مرحله پردازش منتظر بماند تا زمانی که ارزیابی و پاسخ دوباره ممکن شود. شکل زیر این موضوع را نشان می دهد.

از آنجایی که چرخههای اجزای یک سیستم با یکدیگر هماهنگ نیستند، زمان پاسخ های متفاوت را باید برای اجراهای مختلف انتظار داشت. در بدترین حالت، زمان پاسخ در زنجیره پردازش ممکن است دو برابر زمان مورد نیاز در بهترین حالت باشد، همانطور که در مثال زیر نشان داده شده است:

همانطور که مشاهده می کنید در این مثال حداقل و حداکثر زمان پاسخ (Response Time) با فرض اینکه زمان هر چرخه کنترلر 15 میلی ثانیه و زمان پردازش دیتا در کنترلر 10 میلی ثانیه و زمان چرخه دستگاه ها 2 میلی ثانیه و زمان انتقال 100 میکروثانیه است، محاسبه شده است. در این مثال، تأثیر زمان بهروزرسانی PROFINET یعنی TPN1 و TPN2 بسیار کم است. با فرض کاهش زمان پاسخ TPN1 و TPN2 از 2 میلی ثانیه به 1 میلی ثانیه و با حفظ دیگر مفروضات مشخص شده در مثال قبلی، حداقل زمان پاسخ 16.2 میلی ثانیه و حداکثر زمان پاسخ 39.2 میلی ثانیه می شود. زمان چرخه کنترلر 15 برابر زمان بروزرسانی دیتا در PROFINET است و کاهش این زمان تاثیر قابل توجهی بر روی زمان پاسخ دارد. با کاهش زمان چرخه کنترلر TC از 15 میلیثانیه به 10 میلیثانیه و با زمان پردازش کنترلکننده (ΔTC) 5 میلیثانیه و با دیگر مفروضات مثال اول، حداقل زمان پاسخ 11.2 میلیثانیه و حداکثر زمان پاسخ 31.2 میلیثانیه می شود. در این حالت، نسبت زمان به روز رسانی و زمان چرخه کنترلر 1:5 است. بنابراین تغییر نسبت زمان به روز رسانی و زمان چرخه کنترلر منجر به تغییر زمان پاسخ می شود. به این نسبت ضریب کاهش یا Reduction Ratio گفته می شود.
دستگاه های PROFINET را می توان در بازه های زمانی مختلف بسته به نیاز فرآیند و سخت افزار مورد استفاده به روز کرد. زمان بهروزرسانی (Update Time) ممکن است برای دستگاههای مختلف PROFINET در یک کارخانه متفاوت باشد. برای زمان های به روز رسانی سریع، چرخه انتقال به چند فاز تقسیم می شود. زمان هر فاز مضرب صحیحی از زمان پایه یعنی 31.25us است. فرمول محاسبه زمان بروزرسانی (Update Time)، با استفاده از ضریب کاهش (Reduction Ratio)، به صورت زیر است.

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

همانطور که در شکل مشاهده می کنید، در دستگاه D1 حداقل سیکل انتقالی که منجر به زمان به روز رسانی 1 میلی ثانیه می شود، وجود دارد. با در نظر گرفتن ضریب کاهش 2 برای دستگاه D2 و ضریب کاهش 4 برای دستگاه D3 اختصاص داده می شود، چرخه انتقال دیتا 4 میلی ثانیه می شود.
کلاک چرخه انتقال دیتا، که حداقل کلاک مورد نیاز برای انتقال کلیه دیتاها تعریف می شود، می تواند در IO-Controller تنظیم شود. این زمان معمولاً با سریعترین زمان به روز رسانی تخصیص داده شده به دستگاه ها مطابقت دارد. برای مثال فرض کنید داده های کنترلر باید به 4 دستگاه با زمان بروز رسانی 4 میلی ثانیه ارسال شود، اگر کلاک ارسال 1 میلی ثانیه انتخاب شود، یک بسته داده را می توان در هر میلی ثانیه منتقل کرد و میتوان داده ها را به فازهای مختلف تخصیص داد. شکل زیر این موضوع را نشان می دهد. همچنین اگر کلاک ارسال 4 میلی ثانیه انتخاب شود، کلیه بسته های داده نیز هر 4 میلی ثانیه ارسال می شوند.

در حالت اول، لود شبکه در طول چرخه انتقال به طور یکنواخت توزیع می شود، در حالی که در حالت دوم بسته های ارسالی در کنار هم قرار می گیرند و ترافیک در باس ایجاد می کنند. بنابراین توصیه می شود که کلاک ارسال را حتی با زمان بروز رسانی کندتر دستگاه ها کوتاه نگه دارید. این کار برای توزیع بهتر بار شبکه انجام می شود. در نتیجه، در هنگام تغییر زمان بروزرسانی دستگاهها، باید به جای کلاک انتقال کنترلر، Reduction Ratio را تغییر دهید. معمولا این محاسبات توسط خود ابزارهای مهندسی انجام می شود و فقط زمان بروز رسانی باید توسط کاربر از پیش تعیین شود. بنابراین تعیین زمان به روز رسانی تأثیر عمده ای بر حجم داده های ارسالی و در نتیجه بارگذاری شبکه دارد. هر چه زمان بهروزرسانی سریعتر باشد، دادهها در فواصل زمانی کوتاهتر بهروزرسانی میشوند. در نتیجه، آنها برای پردازش سریعتر در دسترس خواهند بود. با این حال، حجم داده ارسال شده در یک دوره زمانی و در نتیجه، بار شبکه افزایش می یابد. شکل زیر مثالی از یک شبکه PROFINET معمولی دارای 108 بایت (60 پکت) را نشان می دهد که در آن بار شبکه به عنوان تابعی از زمان به روز رسانی و تعداد گره های شبکه افزایش می یابد.

هنگامی که زمان بروز رسانی مشخص شد، دستگاه PROFINET به طور خودکار داده های خود را در فواصل زمانی مشخص شده ارسال می کند. در حالت ارتباط Real Time PROFINET فقط این بازه های زمانی که بسته های داده باید ارسال شوند، تعریف می شود و زمان دقیق نمی باشد.
کنترلرها به صورت دوره ای با زمان به روز رسانی مشخص عمل می کنند. زمان به روز رسانی تمام دستگاه های PROFINET دیگر باید به عنوان ضریبی از زمان چرخه کنترلر تعریف شود. برای کاربردهای دارای چندکنترلر باید دستگاه های تخصیص داده شده به هر کنترلر در نظر گرفته شود.
هنگامی که بار شبکه توسط ارتباطات بلادرنگ چرخه ای (Cyclic Real-time) افزایش می یابد، پهنای باند موجود برای سایر ارتباطات موجود در شبکه کاهش می یابد. هرچه زمان بهروزرسانی سریعتر باشد، پهنای باند اشغال شده توسط ارتباطات بلادرنگ چرخهای بیشتر است. هر چه زمان به روز رسانی کندتر باشد، زمان پاسخگویی نیز کندتر خواهد بود. بنابراین توصیه میشود زمان بهروزرسانی برای هر دستگاه PROFINET را تا حداکثر سرعت مورد نیاز بالا و در عین حال تا حد امکان پایین انتخاب کنید. برای این انتخاب محدودیت هاییی وجود دارد که عبارت است از:
- برخی از IO-Device ها اجازه تعریف چرخه مستقل از ورودی یا خروجی ها یا چرخه های مختلف را برای هر ماژول یا زیرماژول نمی دهند.
- برخی از IO-Device ها فقط محدوده مشخصی از زمان های چرخه ای (Cyclic Time) را مجاز می دانند.
این محدودیت ها در فایل GSD مربوط به آن IO-Device بیان می شود و به طور خودکار توسط ابزارهای مهندسی نیز بررسی می شوند. برای سیستم های دارای کلاس انطباق A و B حد پایین این چرخه 1 میلی ثانیه است و مقادیر بزرگتر با دو برابر کردن این مقدار بدست می آید. مانند 2 میلی ثانیه، 4 میلی ثانیه، 8 میلی ثانیه … تا حداکثر مقدار مجاز که 512 میلی ثانیه است.
در PROFINET ممکن است برنامه برای نیازهای بالاتر از بلادرنگ که به آن IRT ( مخفف Isochronous Real Time ) می گویند همگام شود که الزامات آن تحت کلاس انطباق C خلاصه می شود. برای ساختن یک سیستم مهندسی با قابلیت RTC3، چندین ویژگی باید پیاده سازی شود. جدول زیر فهرستی از چندین ویژگی را ارائه می دهد که باید برای دستیابی به سیستم RTC3 با عملکرد “Normal” یا “High” اجرا شوند.

پروفایل High Performance اجازه می دهد تا زمان چرخه (Cyclic Time) را به 31,25 میکرو ثانیه برسانید.
برای رسیدن به IRT، هر فاز ارسال روی همه دستگاههای سوئیچ در دامنه کلاس انطباق C همگامسازی میشود. شکل زیر وضعیت ارسال در کلاس انطباق C را نشان می دهد.

همانطور که مشاهده می کنید خط ارتباطی در فازهای مختلف ارسال/دریافت دارای وضعیت های زیر است:
▪قرمز: فقط برای RTC3 و مدیریت در کاربردهای زمان-بحرانی
▪سبز: برای همه فریم های دیگر (رفتار به عنوان یک سوئیچ “عادی” در طول دوره سبز) که خود به سه مرحله تقسیم می شود:
- سبز ثابت: تمامی پکت ها با هر طولی مجاز است.
- سبز چشمک زن: فقط پکت های با طول یا فرگمنت های محدود مجاز است.
- زرد: هر چه سریعتر بافر انتقال را خالی کنید.
مرحله 7: تعریف نام ها و آدرس ها
در این مرحله نام گذاری و آدرس دهی به وسیله ها انجام می شود. هر دستگاه (IO-Controller و IO-Device) که در یک PROFINET IO-System وجود دارد، را میتوان با سه آدرس مختلف زیر از هم شناخت:
- نام منطقی دستگاه در سیستم
- آدرس IP دستگاه در شبکه
- آدرس فیزیکی دستگاه (MAC)
این روش آدرس های متعدد را می توان با شناسایی خودرو و مالک آن مقایسه کرد. شکل زیر این مقایسه را نشان می دهد.

توجه شود که آدرسهای IP در یک شبکه ممکن است در مرحله برنامهریزی تخصیص داده شوند، اما راهحل پیشفرض این است که فقط محدوده آدرس های IP را تعریف کنیم و به IO-Controller یا یک سرور DHCP اجازه دهیم آدرسهای IP را در دستگاهها توزیع کنند.
فاز دوم: پیکربندی IO-Controller
در فاز قبل ما برای ایجاد یک شبکه PROFINET IO-System برنامه ریزی کردیم. اکنون نوبت پیکربندی IO-Controller است. پیکربندی کنترلر معمولاً بهصورت آفلاین انجام میشود. یعنی کنترلر بدون نصب در کارخانه واقعی و اتصال به IO-Device ها، پیکربندی و برنامه ریزی می شود. برای این کار به یک ابزار مهندسی (Engineering Tool) نیاز است که توسط سازنده IO-Controller در دسترس قرار گرفته است. شکل زیر یکی از معروف ترین این نرم افزارها به نام STEP 7 را نشان می دهد که برای پیکربندی PLC های شرکت زیمنس می باشد.

به طور کلی میتوان مراحل پیکربندی کنترلر را به صورت زیر تشریح کرد:
- باز کردن نرم افزار پیکربندی IO-Controller و ساخت یک پروژه جدید
- افزودن GSD فایل های IO-Device ها به کتابخانه نرم افزار
- تعریف نوع و مشخصات IO-Controller و تعریف کلیه IO-Device های متصل به آن
- اتصال دستگاه ها با یکدیگر و تعیین توپولوژی شبکه و تنظیم پارامترهای دستگاه ها
هر کدام از ابزار های مهندسی پیکربندی کنترلر، کتابخانه ای از دستگاه های IO را در دسترس قرار داده است. همواره باید اطمینان حاصل کرد که برای همه IO-Device های مورد استفاده در IO-System از نسخه صحیح (= نسخه مشابه با دستگاه فیزیکی در کارخانه) در این کتابخانه استفاده می شود. برای دستگاههای دیگر فایل GSD باید بارگذاری شود. روش کار با ابزارهای مختلف متفاوت است. به طور معمول یک منو وجود دارد که به شما اجازه می دهد یک یا چند فایل GSD را انتخاب کنید تا به کتابخانه اضافه شود.
GSD فایل چیست؟
قابلیت های عملکردی و فنی برای کلیه دستگاه های IO-Device که در یکی از انواع شبکه های PROFIBUS و PROFINET به کنترلرها IO-Controller متصل می شوند، درون فایلی به نام GSD فایل (مخفف General Station Description) توضیح داده می شود. این فایل که توسط سازنده دستگاه ارائه می گردد، اگر بر پایه زبان XML باشد، به آن GSDML ( مخفف General Station Description Markup Language) گفته می شود. فایل GSDML یک فایل متنی است بنابراین با کلیه ادیتورهای متنی میتوان این فایل را باز کرد و آن را تغییرات داد اما برای تایید صحیح بودن تغییرات از ابزاری به نام Profinet GSD Checker استفاده می شود. درون این فایل کلیه اطلاعات مورد نیاز که برای برقراری ارتباط توسط IO-Controller ضروری است، وجود دارد. این موارد عبارتند از:
- توصیف جداگانه ماژول های ورودی و خروجی،
- چگونگی استفاده از ماژول های I/O برای اسلات ها،
- پارامترهایی که برای عملکرد صحیح دستگاه در عمل لازم است،
- پارامترهای تشخیص عیوب و معانی آنها که توسط دستگاه تولید می شود،
- نحوه توصیف چند دستگاه از یک خانواده با استفاده از یک GSD فایل.
در یک GSD فایل میتوان برای یک خانواده از محصولات که هر یک دارای چندین اینترفیس ارتباطی و ماژول های جانبی هستند را توصیف کرد. سازنده می تواند یک سری از ماژول های جانبی را برای هر نقطه اتصال دستگاه (Device Access Point) موجود در خانواده دستگاه تعریف کند. فایل GSD میتواند چند زبانه باشد و در نامگذاری آن از قانون خاصی باید پیروی شود:
1 |
GSDML-<version>-<Manufacturer>-<Devicename>-<Date>.xml |
که در آن <Version> مشخص کننده ورژن فایل GSDML است، <Manufacturer> نام سازنده دستگاه، <DeviceName> نام دستگاه و <Date> تاریخ تولید فایل بر اساس روز، ماه و سال میلادی است. برای مثال به نام های واقعی زیر توجه نمایید:
1 2 |
GSDML-V2.25-Siemens-ET200S-20140317.xml GSDML-V2.31-wago-series750_753-20140612.xml |
درون GSD فایل به منظور شناسایی آسان یک دستگاه، دو شناسه برای هر دستگاه PROFINET IO تعریف شده است. این شناسه ها شامل شناسه شرکت (VendorID) و شناسه دستگاه خاص سازنده (DeviceID) است. VendorID برای هر شرکت منحصر به فرد است و یک بار توسط مرکز پشتیبانی PI اختصاص داده می شود اما DeviceID می تواند جداگانه برای هر دستگاه تعریف شود. همچنین هر ماژول و هر زیرماژول دارای ID منحصر به فرد در محدوده درون فایل GSDML می باشد. شکل زیر این موضوع را نشان می دهد:

فاز 3: راه اندازی سیستم IO
بعد از اینکه با موفقیت یک سیستم IO را برنامه ریزی و پیکربندی کردیم نوبت به فاز آخر یعنی راه اندازی سیستم می رسد. در این مرحله باید مطمئن شد که تمامی دستگاه ها به درستی نصب شده است. بدین منظور بررسی های زیر را انجام دهید:
- کنترل چشمی نصب بودن کلیه دستگاه ها
- وصل بودن تغذیه کلیه دستگاه ها
- اطمینان از متصل بودن کلیه کابل های ارتباطی مورد نیاز برای اندازه گیری
مرحله بعدی راه اندازی کل IO-System است. بدین منظور مراحل زیر بایستی اجرا شود:
- اتصال ایستگاه مهندسی (Engineering Station) به شبکه PROFINET IO
- تخصیص نام ها و آدرس های برنامه ریزی شده به همه IO-Device ها
- دانلود پیکربندی در IO-Controller (برنامه ریزی کنترلر)
- بررسی وضعیت اتصال دستگاه ها به شبکه از طریق داده های تشخیص عیب نرم افزار مهندسی
- تایید و اعتبارسنجی اطلاعات چرخه ای کلیه دستگاهها و بررسی عملکرد صحیح سیستم در هنگام آلارم
پس از برنامه ریزی صحیح کنترلر، کنترلر شروع به تخصیص IP (در صورت نیاز)، راه اندازی رابطه کاربردی (Application Relation) و دریافت دیتای چرخه ای از ماژول ها و زیرماژول های کلیه دستگاه ها بر اساس GSD فایل هر یک از آن ها می کند. هر زمان که شرایط آلارم (طبق تعریف در GSD فایل) رخ دهد پیام های مربوط به آلارم نیز دریافت می شود. شکل زیر این مراحل را نشان می دهد:

پس از راهاندازی اولیه، دستگاههای PROFINET IO بدون خطا، آمادگی برای عملیات را اعلام میکنند. با کمک ابزار مهندسی می توانید وضعیت عملکرد شبکه را بخوانید. برای برخی از دستگاه های PROFINET، می توانید وضعیت آنها را با استفاده از LED مشاهده کنید. اگر کنترلر در حالت RUN باشد، دستگاه های PROFINET دیگر نباید خطاهای ارتباطی را نمایش دهند.
منبع: https://felser.ch/profinet-manual
پروژه راه اندازی پروتکل PROFINET در میکروکنترلر STM32H743
این پروژه شامل یک برد با هسته STM32H743 و PHY اترنت LAN8742 می باشد که بر روی آن با استفاده از کتابخانه LWIP پروتکل صنعتی PROFINET IO-Device (یعنی همان بخش Slave) پیاده سازی و تست شده است. تست و ارزیابی عملکرد پروژه PROFINET در شرایط واقعی انجام شده است. شکل زیر برد طراحی و تست شده را نشان می دهد:

جهت مشاهده ویژگی های این محصول و تهیه آن به لینک زیر مراجعه نمایید:
دیدگاهتان را بنویسید