پروتکلهای ارتباطی نقش مهمی در انتقال دادهها و هماهنگی بین اجزای مختلف سیستمهای صنعتی و رباتیک ایفا میکنند. یکی از پروتکلهای پرکاربرد در این زمینه پروتکل CANopen است که بر اساس شبکه Controller Area Network (CAN) طراحی شده است. این پروتکل به دلیل قابلیتهای پیشرفته و انعطافپذیری بالا، بهویژه در سیستمهای رباتیک، محبوبیت زیادی پیدا کرده است. در این مقاله، به بررسی دقیق پروتکل CANopen، ساختار آن و کاربردهای آن در سیستمهای رباتیک میپردازیم.
CANopen یک پروتکل ارتباطی لایه بالاتر است که بر روی شبکه CAN پیادهسازی شده است. این پروتکل در ابتدا برای اتوماسیون صنعتی طراحی شد، اما به دلیل ویژگیهای منحصربهفرد خود، در حوزههای دیگری مانند رباتیک، حملونقل و پزشکی نیز به کار گرفته میشود.
CANopen یک پروتکل ارتباطی سطح بالا است که مبتنی بر پروتکل شبکه ناحیه کنترلکننده (CAN) است. این پروتکل به استاندارد CiA 301 متکی است و یکی از معماریهای اصلی شبکه مورد استفاده در صنایعی مانند راهآهن، کشاورزی، کامیونها و اتوبوسهای سنگین، دریایی، خارج از بزرگراه و اتوماسیون کارخانهها است.
این سیستم در ابتدا برای سیستمهای کنترل ماشینآلات حرکتی، مانند سیستمهای جابجایی، طراحی شده بود. امروزه در زمینههای کاربردی مختلفی مانند رباتیک (رباتیک خودکار، تسمه نقاله و سایر ماشینآلات صنعتی)، خودرو (کشاورزی، راهآهن، تریلرها، ماشینهای سنگین، معدن، دریایی) و بسیاری موارد دیگر مورد استفاده قرار میگیرد.

پروتکل CANopen از چندین لایه تشکیل شده است که هر کدام وظایف خاصی را بر عهده دارند. در ادامه به بررسی این لایهها میپردازیم:
لایه فیزیکی در CANopen همان لایه فیزیکی شبکه CAN است. این لایه شامل موارد زیر است:
– سرعت انتقال دادهها: معمولاً بین 10 کیلوبیت بر ثانیه تا 1 مگابیت بر ثانیه.
– نوع کابل: از کابلهای دو سیمه (Twisted Pair) استفاده میشود.
– توپولوژی شبکه: معمولاً به صورت خطی یا ستارهای.
این لایه مسئول انتقال پیامها بین دستگاهها است و شامل موارد زیر میشود:
– شناسه پیامها (Message Identifier): هر پیام در شبکه CANopen دارای یک شناسه یکتا است.
– کنترل خطا: این لایه از مکانیسمهای تشخیص و تصحیح خطا استفاده میکند.
لایه کاربردی در CANopen شامل پروتکلها و سرویسهایی است که برای ارتباط بین دستگاهها استفاده میشود. مهمترین اجزای این لایه عبارتند از:
– Object Dictionary (دایرهالمعارف اشیاء): یک ساختار دادهای که تمامی پارامترهای دستگاه را تعریف میکند.
– PDO (Process Data Object): برای انتقال دادههای سریع و بلادرنگ.
– SDO (Service Data Object): برای انتقال دادههای غیر بلادرنگ و پیکربندی دستگاهها.
پروتکل CANopen به دلیل ویژگیهای منحصربهفرد خود، در سیستمهای رباتیک کاربردهای گستردهای دارد. در ادامه به برخی از این کاربردها اشاره میکنیم:
یکی از مهمترین کاربردهای CANopen در رباتیک، کنترل حرکت است. این پروتکل با استفاده از پروفایلهای استاندارد مانند CiA 402، امکان کنترل دقیق موتورهای الکتریکی و سرووها را فراهم میکند.
در سیستمهای رباتیک، هماهنگی بین اجزای مختلف مانند سنسورها، موتورها و کنترلرها ضروری است. CANopen با ارائه یک بستر ارتباطی استاندارد، این هماهنگی را تسهیل میکند.
رباتها معمولاً نیاز به انتقال دادههای بلادرنگ دارند. CANopen با استفاده از PDO، این امکان را فراهم میکند.
با استفاده از SDO، میتوان دستگاههای مختلف را پیکربندی کرد و وضعیت آنها را مانیتور کرد. این ویژگی در سیستمهای رباتیک بسیار مفید است.
CANopen دارای مکانیسمهای پیشرفتهای برای تشخیص و مدیریت خطاها است که در سیستمهای رباتیک بسیار حیاتی است.
– کاهش پیچیدگی سیستم: CANopen با استانداردسازی ارتباطات، پیچیدگی سیستمهای رباتیک را کاهش میدهد.
– افزایش قابلیت اطمینان: مکانیسمهای مدیریت خطا در CANopen، قابلیت اطمینان سیستم را افزایش میدهند.
– انعطافپذیری بالا: این پروتکل امکان اضافه کردن دستگاههای جدید به سیستم را بدون تغییرات عمده فراهم میکند.
– کاهش هزینهها: استفاده از CANopen به دلیل سادگی در پیادهسازی و کاهش نیاز به کابلکشی، هزینههای کلی را کاهش میدهد.
با وجود مزایای متعدد، استفاده از CANopen با چالشهایی نیز همراه است:
– محدودیت پهنای باند: پهنای باند شبکه CANopen محدود است و ممکن است در سیستمهای بزرگ مشکلساز شود.
– پیچیدگی در تنظیمات اولیه: تنظیمات اولیه CANopen ممکن است برای کاربران تازهکار دشوار باشد.
– نیاز به تخصص فنی: برای پیادهسازی و نگهداری CANopen، نیاز به تخصص فنی وجود دارد.
پروتکل های ارتباطی در CANopen
در بالای گذرگاه CAN به عنوان رسانه ارتباطی زیربنایی، پروتکل CANopen از پروتکل های ارتباطی مختلف پشتیبانی می کند. این پروتکل ها عملکرد و ویژگی های اضافی را برای شبکه CANopen فراهم می کنند. برخی از پروتکل های ارتباطی رایج در CANopen عبارتند از PDO (Process Data Object)، SDO (Service Data Object)، NMT (Network Management) و SYNC (Synchronization). هر پروتکل هدف خاصی مانند تبادل بیدرنگ داده، پیکربندی و پارامترسازی، مدیریت شبکه و همگامسازی دستگاهها را انجام میدهد. در دسترس بودن این پروتکل ها تطبیق پذیری و تطبیق پذیری پروتکل CANopen را در برنامه های مختلف اتوماسیون صنعتی افزایش می دهد.
CANopen یک پروتکل ارتباطی لایه بالاتر است که بر اساس شبکه CAN طراحی شده و برای اتوماسیون صنعتی و رباتیک استفاده میشود. این پروتکل امکان ارتباط بین دستگاههای مختلف را بهصورت استاندارد فراهم میکند.
CAN یک پروتکل ارتباطی در لایه فیزیکی و پیوند داده است، در حالی که CANopen یک پروتکل لایه بالاتر است که بر روی CAN پیادهسازی شده و قابلیتهای بیشتری مانند Object Dictionary و پروفایلهای استاندارد را ارائه میدهد.
به دلیل ویژگیهایی مانند انتقال دادههای بلادرنگ، کنترل حرکت دقیق و مدیریت خطا، CANopen در سیستمهای رباتیک بسیار محبوب است.
CANopen برای سیستمهای متوسط و کوچک ایدهآل است، اما در سیستمهای بزرگ ممکن است محدودیت پهنای باند مشکلساز شود.
برای پیادهسازی CANopen، نیاز به یک کنترلر CAN، نرمافزار پیکربندی و دانش فنی در مورد پروتکل CANopen دارید.
اترنت/IP (IP مخفف Industrial Protocol است) یکی از خانواده پروتکلهای اترنت بلادرنگ است و توسط انجمن فروشندگان Open DeviceNet ( ODVA ) مدیریت میشود. این پروتکل به طور گسترده در دنیای صنعت مورد استفاده قرار میگیرد، زیرا برخی از تولیدکنندگان ربات آن را همراه با کنترلرهای خود ارائه میدهند. با این حال، اگر نیاز به اضافه کردن آن به ربات خود داشته باشید، میتواند گزینه پرهزینهای باشد، اگرچه به دلیل استحکام آن مورد قدردانی قرار میگیرد.
TCP مخفف پروتکل کنترل انتقال است در حالی که IP (در این مورد) مخفف پروتکل اینترنت است. این دقیقاً همان پروتکلی است که برای دانلود صفحات وب در اینترنت استفاده میشود و به همین دلیل یک Gripper با استفاده از این پروتکل میتواند به یک روتر در دفتر شما متصل شود و توسط هر رایانه متصل به شبکه کنترل شود. نام دقیق پروتکل Modbus TCP است زیرا دادهها با استفاده از فریمهای Modbus که در بستههای TCP محصور شدهاند، منتقل میشوند. این یک پروتکل بسیار انعطافپذیر است که اغلب در دنیای دانشگاهی مورد استفاده قرار میگیرد، جایی که رباتهای سفارشی با رایانههای شخصی استاندارد کنترل میشوند. با این حال، با برخی از کنترلکنندههای ربات صنعتی نیز استفاده میشود.
DeviceNet پروتکل دیگری است که توسط انجمن فروشندگان Open DeviceNet ODVA مدیریت میشود. این پروتکل عمدتاً در محیطهای صنعتی استفاده میشود زیرا قوی و پیکربندی آن آسان است. برخی از تولیدکنندگان (به عنوان مثال، جنرال موتورز) به طور گسترده از DeviceNet برای شبکههای سطح دستگاه خود استفاده میکنند. این پروتکل از یک گذرگاه شبکه منطقهای کنترلکننده (CAN) استفاده میکند که آن را کمهزینه و قوی میکند. DeviceNet مزایایی دارد، مانند این واقعیت که دستگاههای کوچک (به عنوان مثال، سوئیچهای محدودکننده) میتوانند مستقیماً از گذرگاه CAN تغذیه شوند.
CANopen یک پروتکل ارتباطی است که از گذرگاه CAN نیز استفاده میکند. با این حال، برخلاف پروتکل DeviceNet، این گذرگاه برق ندارد. CANopen به طور گسترده در دنیای اتوماسیون دیده میشود، به عنوان مثال، زمانی که یک کنترلکننده اصلی بسیاری از دستگاههای کوچک را هدایت میکند. با این حال، اغلب در ارتباط با کنترلکنندههای استاندارد ربات استفاده نمیشود.
EtherCAT مخفف Ethernet for Control Automation Technology است و عضوی از خانواده اترنت بلادرنگ است. این پروتکل (برخلاف سایر پروتکلهای اترنت) بسیار ساده است که به آن اجازه میدهد زمان چرخه بسیار کوتاه و لرزش ارتباطی (تاخیر در ارتباطات دورهای) کمی داشته باشد. بنابراین، این پروتکل ارتباطی با کارایی بسیار بالا و در عین حال کمهزینه است. گروه فناوری EtherCAT (ETG) بیش از ۱۳۵۰ شرکت عضو در ۵۰ کشور (از جمله Robotiq) دارد. این پروتکل در محیطهای صنعتی مختلف، بهویژه زمانی که سرعت ارتباط بالا مورد نیاز است، استفاده میشود.
CANopen روی EtherCAT: پیادهسازی دستگاههای CANopen روی اترنت صنعتی
CANopen over EtherCAT (CoE) امکان پیادهسازی پروتکل ارتباطی CANopen را بر روی شبکه EtherCAT فراهم میکند و یک راهکار کاربرپسند و مقرونبهصرفه ارائه میدهد که تحویل قطعی دادهها را همراه با سرعت انتقال سریعتر در طول شبکههای طولانیتر فراهم میکند.
استفاده از CANopen روی EtherCAT تا حد زیادی امکانپذیر است زیرا EtherCAT همان سیستم ارتباطی، شامل دیکشنریهای شیء، SDOها (پروتکل SDO مستقیماً از CANopen و بدون تغییر پیادهسازی میشود) و PDOها را پیادهسازی میکند. و در یک شبکه EtherCAT، فریمهای PDO به صورت قطعی و بدون محدودیت ۸ بایتی اعمال شده توسط CANopen ارسال میشوند. CANopen روی EtherCAT همچنین از پروفایلهای دستگاه CANopen پشتیبانی میکند که پارامترها و رفتار دستگاه و همچنین ماشینهای حالت خاص کلاس دستگاه را مشخص میکنند .
EtherCAT: سریع و قطعی
EtherCAT یک شبکه اترنت صنعتی است . این شبکه مبتنی بر سختافزار استاندارد اترنت است، اما از روش «پردازش در حین کار» برای انتقال و مسیریابی پیامها استفاده میکند. EtherCAT علاوه بر اینکه یک پروتکل شبکه بلادرنگ است، قطعی نیز هست ، به این معنی که تضمین میکند یک پیام در یک دوره زمانی مشخص و قابل پیشبینی منتقل خواهد شد (یا یک رویداد رخ خواهد داد) – نه کندتر یا سریعتر.
EtherCAT به لطف ساعتهای هماهنگ توزیعشده، امکان انتقال داده تا ۱۰۰ متر بین گرهها (دستگاهها) را فراهم میکند و میتواند نرخ انتقال داده تا ۱۰۰ مگابیت بر ثانیه را با زمان چرخه کمتر از ۱۰۰ میکروثانیه و لرزش بسیار کم فراهم کند.
نتیجهگیری
پروتکل CANopen به دلیل ویژگیهای منحصربهفرد خود، یکی از بهترین گزینهها برای ارتباطات در سیستمهای رباتیک است. این پروتکل با ارائه یک بستر استاندارد، امکان هماهنگی بین اجزا، انتقال دادههای بلادرنگ و مدیریت خطاها را فراهم میکند. با این حال، برای بهرهبرداری کامل از قابلیتهای CANopen، نیاز به دانش فنی و برنامهریزی دقیق وجود دارد.
برای اطلاعات بیشتر در مورد پروتکل CANopen و کاربردهای آن، میتوانید به منابع معتبر در حوزه اتوماسیون صنعتی و رباتیک مراجعه کنید.