EtherCAT چیست؟ اترنت بلادرنگ برای کنترل حرکت و I/O سریع
در یک ماشین بستهبندی، چند ده سروو موتور باید در هر میلیثانیه موقعیت جدید بگیرند و همهٔ آنها دقیقاً در یک لحظه حرکت کنند. اترنت معمولی با سوئیچها، صفها و تأخیرهای متغیرش برای این کار ساخته نشده است. EtherCAT با یک ایدهٔ ساده این محدودیت را برداشته است: بهجای اینکه هر دستگاه فریم جداگانهای دریافت کند، یک فریم از همهٔ دستگاهها عبور میکند و هر کدام سهم خود را در حین عبور برمیدارند. در این مقاله سازوکار EtherCAT و نکات اجرایی آن را مرور میکنیم.
EtherCAT چیست؟
EtherCAT را شرکت Beckhoff در سال ۲۰۰۳ معرفی کرد و امروز در استاندارد IEC 61158 تعریف شده است. توسعه و آزمون انطباق آن را EtherCAT Technology Group (ETG) انجام میدهد که یکی از بزرگترین انجمنهای فیلدباس جهان است. EtherCAT از سختافزار استاندارد اترنت ۱۰۰ مگابیتی (100BASE-TX) و کابل و کانکتور معمولی استفاده میکند، اما روش انتقال داده در آن با اترنت اداری کاملاً متفاوت است.
در یک شبکهٔ EtherCAT فقط یک Master وجود دارد که معمولاً یک PLC یا کامپیوتر صنعتی است. Master به سختافزار خاصی نیاز ندارد و با یک کارت شبکهٔ معمولی کار میکند. در مقابل، هر Slave یک تراشهٔ اختصاصی به نام ESC (EtherCAT Slave Controller) دارد که پردازش فریم را در سختافزار انجام میدهد.
پردازش در حین عبور (Processing on the fly)
Master یک فریم اترنت میسازد که شامل چند دیتاگرام است. هر دیتاگرام به یک ناحیه از حافظهٔ یک یا چند Slave اشاره میکند. وقتی فریم وارد اولین Slave میشود، ESC آن دیتاگرام مربوط به خود را تشخیص میدهد، دادهٔ خروجی را برمیدارد، دادهٔ ورودی را در همان فریم مینویسد و فریم را بیدرنگ به پورت بعدی میفرستد. این کار پیش از رسیدن کامل فریم انجام میشود و تأخیر هر ایستگاه در حد کسری از میکروثانیه است.
آخرین Slave فریم را از همان مسیر برمیگرداند. از آنجا که اترنت تمامدوطرفه است، شبکه از نظر منطقی یک حلقه است، هرچند از نظر فیزیکی بهصورت خطی کابلکشی شده است. یک شمارندهٔ کاری (Working Counter) در هر دیتاگرام هم به Master نشان میدهد چند Slave آن دیتاگرام را با موفقیت پردازش کردهاند.
- بازدهی بسیار بالای پهنای باند؛ بخش عمدهٔ فریم دادهٔ مفید است
- چرخههای زیر ۱۰۰ میکروثانیه برای صدها I/O
- بدون سوئیچ و بدون آدرس IP برای Slaveها
- تا ۶۵۵۳۵ ایستگاه در یک شبکه از نظر آدرسدهی
ساعتهای توزیعشده و ماشین حالت
Distributed Clocks
در کنترل حرکت چندمحوره، سرعت ارتباط کافی نیست؛ همزمانی اهمیت بیشتری دارد. EtherCAT با سازوکار Distributed Clocks ساعت داخلی همهٔ Slaveها را با ساعت اولین Slave دارای DC (ساعت مرجع) همگام میکند. Master تأخیر انتشار هر بخش از کابل و هر ایستگاه را اندازه میگیرد و جبران میکند. سپس هر Slave با سیگنال همگامسازی محلی (Sync0) خروجی را اعمال و ورودی را نمونهبرداری میکند. جیتر این سازوکار معمولاً کمتر از یک میکروثانیه است.
ماشین حالت EtherCAT (ESM)
هر Slave هنگام راهاندازی از چهار حالت اصلی عبور میکند. شناخت این حالتها در عیبیابی کمک زیادی میکند، چون بیشتر خطاها باعث توقف Slave در یکی از این مراحل میشود:
| حالت | چه اتفاقی میافتد | خطای رایج در این مرحله |
|---|---|---|
| Init | راهاندازی اولیه، بدون تبادل داده | کابل قطع یا ترتیب ایستگاهها با پیکربندی یکسان نیست |
| Pre-Operational | ارتباط Mailbox فعال؛ پارامترها از طریق CoE نوشته میشوند | فایل ESI نادرست یا نسخهٔ متفاوت دستگاه |
| Safe-Operational | ورودیها بهروز میشوند، خروجیها در حالت ایمن | پیکربندی نادرست دادهٔ فرایندی (PDO) یا DC |
| Operational | تبادل کامل ورودی و خروجی | Watchdog به دلیل تأخیر چرخهٔ Master |
پروفایلها: CoE، FoE، EoE و FSoE
EtherCAT علاوه بر تبادل چرخهای، یک کانال غیرچرخهای به نام Mailbox دارد که پروتکلهای مختلفی روی آن اجرا میشوند:
- CoE (CANopen over EtherCAT): رایجترین پروفایل. دیکشنری اشیای CANopen، SDO و PDO را به EtherCAT میآورد و پروفایل درایو CiA 402 روی آن اجرا میشود.
- FoE (File over EtherCAT): انتقال فایل، بهویژه برای بهروزرسانی فرمور دستگاهها.
- EoE (Ethernet over EtherCAT): عبور ترافیک اترنت معمولی، مثلاً برای دسترسی به صفحهٔ وب یک دستگاه از طریق شبکهٔ EtherCAT.
- SoE (Servo Drive over EtherCAT): اجرای پروفایل SERCOS برای درایوها.
- FSoE (Safety over EtherCAT): انتقال سیگنالهای ایمنی تا سطح SIL 3 روی همان شبکه.
توپولوژی، کابل و فایلهای پیکربندی
- توپولوژی: خطی، درختی، ستارهای با Junction و حلقه با قابلیت افزونگی کابل (Cable Redundancy). در افزونگی کابل، Master دو پورت دارد و اگر کابل در یک نقطه قطع شود، ارتباط از مسیر دیگر ادامه پیدا میکند.
- کابل: کابل اترنت صنعتی Cat 5e شیلددار با حداکثر طول ۱۰۰ متر بین دو ایستگاه. پورت ورودی و خروجی Slaveها را جابهجا نبندید؛ ترتیب فیزیکی ایستگاهها مبنای آدرسدهی اولیه است.
- فایل ESI: فایل XML هر Slave که سازنده ارائه میکند. نسخهٔ فایل باید با نسخهٔ سختافزار و فرمور دستگاه همخوانی داشته باشد.
- فایل ENI: فایل پیکربندی کل شبکه که ابزار مهندسی از روی فایلهای ESI و توپولوژی واقعی میسازد و Master در زمان اجرا از آن استفاده میکند.
- EtherCAT P: نسخهای که داده و تغذیهٔ ۲۴ ولت را روی یک کابل چهارسیمه منتقل میکند و کابلکشی ماشین را سادهتر میکند.
EtherCAT در کنار سیگنالهای آنالوگ و Modbus
در بسیاری از ماشینها، EtherCAT ستون فقرات کنترل حرکت و I/O سریع است، اما سیگنالهای فرایندی مانند دما و فشار همچنان از طریق ترمینالهای ورودی آنالوگ یا تجهیزات Modbus خوانده میشوند. ترمینالهای گیتوی EtherCAT به Modbus RTU و ترمینالهای ورودی ۴ تا ۲۰ میلیآمپر، این دادهها را وارد همان شبکه میکنند. اگر سیگنال آنالوگ از تابلوی دیگری میآید، ایزوله کردن آن پیش از ورود به ترمینال EtherCAT از مشکلات حلقهٔ زمین جلوگیری میکند.
برای مقایسهٔ EtherCAT با PROFINET و Modbus TCP و انتخاب شبکهٔ مناسب، مقالهٔ مقایسهٔ EtherCAT، PROFINET و Modbus TCP را ببینید.
پرسشهای متداول
EtherCAT چیست؟
EtherCAT (Ethernet for Control Automation Technology) یک پروتکل اترنت صنعتی بلادرنگ است که شرکت Beckhoff معرفی کرد و اکنون در استاندارد IEC 61158 تعریف شده و EtherCAT Technology Group آن را پشتیبانی میکند. در EtherCAT یک فریم اترنت از همهٔ Slaveها عبور میکند و هر Slave دادهٔ خود را در حین عبور فریم میخواند و مینویسد.
چرا EtherCAT اینقدر سریع است؟
بهجای ارسال یک فریم جداگانه برای هر دستگاه، دادهٔ همهٔ دستگاهها در یک یا چند فریم قرار میگیرد. کنترلر سختافزاری هر Slave (ESC) فریم را پیش از دریافت کامل پردازش و به ایستگاه بعدی ارسال میکند، بنابراین تأخیر هر ایستگاه بسیار کم است و پهنای باند تقریباً بهطور کامل برای دادهٔ مفید استفاده میشود.
آیا برای EtherCAT به سوئیچ شبکه نیاز است؟
خیر. Slaveها پشت سر هم کابلکشی میشوند و هر کدام دو پورت ورودی و خروجی دارند. برای انشعاب یا توپولوژی ستارهای از Junction اختصاصی EtherCAT استفاده میشود. سوئیچ اترنت معمولی در مسیر بین Slaveها کاربرد ندارد.
Distributed Clocks در EtherCAT چه کاری انجام میدهد؟
Distributed Clocks ساعت داخلی همهٔ Slaveها را با ساعت مرجع شبکه همگام میکند و تأخیر کابل و عبور را جبران میکند. نتیجه این است که همهٔ دستگاهها خروجی را در یک لحظه اعمال و ورودی را در یک لحظه نمونهبرداری میکنند؛ جیتر این همگامسازی معمولاً کمتر از یک میکروثانیه است.
فایل ESI در EtherCAT چیست؟
ESI (EtherCAT Slave Information) یک فایل XML است که سازنده برای هر Slave ارائه میکند و ساختار دادههای فرایندی، پارامترها و قابلیتهای دستگاه را توصیف میکند. نرمافزار پیکربندی Master با استفاده از فایلهای ESI، فایل پیکربندی شبکه (ENI) را میسازد.
آیا EtherCAT برای صنایع فرایندی هم مناسب است؟
EtherCAT بیشتر در ماشینسازی، رباتیک، بستهبندی و کنترل حرکت به کار میرود. در صنایع فرایندی که زمان پاسخ در حد میلیثانیه کافی است و سازگاری با DCS و ابزار دقیق فرایندی اهمیت دارد، معمولاً PROFINET، PROFIBUS PA یا HART رایجتر است.
جمعبندی
EtherCAT با پردازش فریم در حین عبور و همگامسازی دقیق با Distributed Clocks، یکی از سریعترین و کارآمدترین شبکههای اترنت صنعتی است. Master با سختافزار معمولی کار میکند، Slaveها بدون سوئیچ پشت سر هم قرار میگیرند و چرخههای زیر ۱۰۰ میکروثانیه دستیافتنی است. اگر کاربرد شما کنترل حرکت، رباتیک یا ماشینسازی سریع است، EtherCAT گزینهٔ جدی است؛ برای صنایع فرایندی، سازگاری با DCS و ابزار دقیق موجود را هم در تصمیم خود لحاظ کنید.