رفع خطای عدم تطابق موقعیت $POS_ACT در KUKA KRC4 پس از حلقه: عیبیابی اجرای پیشدستانه
KUKA KRC4، $POS_ACT پس از نخستین چرخهٔ اجرای برنامه، مقدار آفست A دادهٔ ابزار را دو برابر برمیگرداند. علت اصلی به رفتار اشارهگر اجرای پیشرفته مربوط است.
در کنترلرهای KUKA KRC4 که KSS 8.2 یا 8.3 را اجرا میکنند، برنامهنویسان گاهی مشاهده میکنند که پس از نخستین تکرار حلقهٔ یک روال حرکتی، $POS_ACT تقریباً دو برابر آفست A موردنظر ابزار را گزارش میکند. ربات از نظر فیزیکی پرش نکرده است؛ اشارهگر اجرای پیشرو به اجرای دستورهای بعدی ادامه داده، در حالی که $POS_ACT همچنان وضعیت فرماندادهشده و وابسته به ابزار و مبنا را نشان میداد؛ وضعیتی که دیگر با اندازهگیری مورد انتظار برنامهنویس برای ثبت یا استفاده بهعنوان مرجع فریم مطابقت نداشت.
نمایشگر تیچپندنت KUKA KRC4 که $POS_ACT فرماندادهشده را با $POS_ACT_MES اندازهگیریشده در یک برنامهٔ حرکتی حلقهای مقایسه میکند.
$POS_ACT از دیدگاه وضعیت برنامهریزیشدهٔ کنترلر، موقعیت واقعیِ فرماندادهشده است که از طریق ابزار و مبنای فعال تبدیل شده است. بنابراین، این مقدار به زمان پیشروی مفسر حساس است. $POS_ACT_MES موقعیت اندازهگیریشده از مسیر بازخورد ربات است و زمانی که به وضعیت فیزیکی ربات در یک نقطهٔ همگامسازی نیاز دارید، متغیر ایمنتری محسوب میشود. اشتباه گرفتن این دو متغیر باعث ایجاد علائم «دو برابر شدن آفست» میشود که پس از نخستین چرخه، بهویژه هنگامی که آفست ابزار روی محور A درون حلقهای اعمال شود که اجرای پیشرو بخشی از آن را از قبل ارزیابی کرده است، شبیه خطای کالیبراسیون ابزار به نظر میرسد.
اشارهگر اجرای پیشرو بهعنوان سازوکار ایجاد مشکل
اجرای پیشروی KUKA دستورهای بعدی را پیش از آنکه ربات دقیقاً به انتهای حرکت جاری برسد، اجرا میکند. این پیشخوانی برای ترکیب مسیرها ضروری است، اما باعث میشود تخصیصها و محاسبات فریمی که $POS_ACT را میخوانند، زودتر از تصور ذهنی انسان دربارهٔ «زمان رسیدن» اجرا شوند. در نخستین تکرار، زمانبندی ممکن است بهطور اتفاقی درست به نظر برسد. در تکرار دوم، آفستی که نسبت به یک $POS_ACT زودهنگام خواندهشده اعمال میشود، میتواند با تبدیل ابزار روی هم انباشته شود و در نمایشگرها یا ردگیریها بهصورت تقریباً ۲ برابر مؤلفهٔ آفست A ظاهر شود.
نمایش ادامه یافتن اشارهگر اجرای پیشرو در منطق حلقه، در حالی که ربات هنوز بخش حرکتی قبلی را تکمیل میکند.
روشهای اصلاحی
- در نقطهٔ همگامسازی که باید اجرای پیشرو را پیش از خواندن یا نوشتن دادههای مربوط به وضعیت متوقف کنید، عبارت WAIT SEC 0 را وارد کنید.
- هنگام مقداردهی مجدد پارامترهای حرکتی، BAS(#INITMOV,0) را فراخوانی کنید تا حرکتهای بعدی از یک وضعیت مبنای پاک شروع شوند، نه از یک زمینهٔ نیمهارزیابیشده.
- در بخشهایی که ثبت حیاتی وضعیت، محاسبات آفست ابزار یا بهروزرسانی فریمهای منتقلشونده در حلقه را انجام میدهند، $ADVANCE=0 را تنظیم کنید؛ سپس برای افزایش بهرهوری تولید، مقدار غیرصفر را در ادامه بازگردانید.
- هرگاه برنامه به وضعیت دکارتی اندازهگیریشده نیاز دارد، بهجای مقدار فرماندادهشده و وابسته به اشارهگر، $POS_ACT_MES را ترجیح دهید.
; الگوی مفهومی همگامسازی
$ADVANCE=0
WAIT SEC 0
; اکنون وضعیت اندازهگیریشده را ثبت کنید
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; در صورت نیاز سلول، اجرای پیشرو را برای ترکیب مسیرها بازگردانید
$ADVANCE=3
مراحل عیبیابی
- $POS_ACT و $POS_ACT_MES را در یک خط برنامهٔ یکسان، در تکرار اول و دوم حلقهٔ دارای مشکل، ثبت کنید.
- تأیید کنید که شمارهٔ ابزار و مبنای فعال بین تکرارها تغییر نکرده باشد.
- بهطور موقت $ADVANCE=0 را تنظیم و دوباره آزمایش کنید؛ اگر دو برابر شدن آفست A ناپدید شد، تعامل اجرای پیشرو تأیید میشود.
- خواندنهای وضعیت مورد استفاده در محاسبات آفست را با $POS_ACT_MES جایگزین کنید یا آنها را با WAIT SEC 0 محافظت کنید.
- اجرای پیشرو را فقط خارج از بخش حساس دوباره فعال کنید و زمان چرخه را در برابر کیفیت مسیر اعتبارسنجی کنید.
| متغیر / فراخوانی | معنا | زمان استفاده |
|---|---|---|
| $POS_ACT | وضعیت فرماندادهشده (وابسته به ابزار و مبنا) | زمینهٔ عمومی حرکت؛ با اجرای پیشرو با احتیاط استفاده شود |
| $POS_ACT_MES | وضعیت اندازهگیریشده | ثبت داده، بازرسی و محاسبات آفست در نقاط همگامسازی |
| WAIT SEC 0 | اجرای پیشرو را قطع میکند | پیش از خواندنها و نوشتنهای حیاتی |
| BAS(#INITMOV,0) | مبنای حرکت را دوباره مقداردهی میکند | پس از همگامسازی یا تغییر حالت |
| $ADVANCE=0 | اجرای پیشرو را غیرفعال میکند | بخشهای فشرده و حساس به وضعیت (KSS 8.2/8.3) |
تأیید وضعیت اندازهگیریشده در برابر وضعیت فرماندادهشده پس از همگامسازی
کالیبرهکردن دوبارهٔ ابزار صرفاً به این دلیل که $POS_ACT «دو برابر» به نظر میرسد، میتواند بهطور دائمی به TCP سالم آسیب بزند. همچنین، افزودن آفستهای جبرانی در PLC یا در یک مفسر Submit بدون درک اجرای پیشرو، به راهکارهای غیرقابلانتقال و وابسته به نسخه منجر میشود. هنگام ثبت ردگیریها برای پشتیبانی فروشنده، مشخص کنید سلول از کدام نسخهٔ KSS، یعنی 8.2 یا 8.3، استفاده میکند و یادداشت کنید که آیا گزینههای دقت مطلق یا مبناهای ویژه فعال هستند یا خیر.
سلولهای یکپارچهسازی ربات و PLC که وضعیتها را از طریق فیلدباس تبادل میکنند، باید مشخص کنند فریم مشترک فرماندادهشده است یا اندازهگیریشده و این تعریف را در مشخصات رابط ثبت کنند. تعیین زودهنگام این قرارداد از رخدادهای اسقاط کاذب جلوگیری میکند؛ رخدادهایی که زمانی ایجاد میشوند که یک توالیدهندهٔ سیستمهای PLC و PAC بر اساس وضعیتی عمل کند که اجرای پیشرو هنوز واقعاً به آن نرسیده است.
دربارهٔ نویسنده
Elena Vogt | مهندس یکپارچهسازی رباتیک – KUKA / سلولهای گسسته
Elena Vogt در راهاندازی KUKA KRC4/KSS، عیبیابی فریم ابزار و دستدهی PLC–ربات در سلولهای گسستهٔ ترکیبی تخصص دارد. تمرکز کاری او بر آثار جانبی اجرای پیشرو، متغیرهای وضعیت اندازهگیریشده در برابر فرماندادهشده و ایجاد توازن پایدار میان زمان چرخه است.