أرسل رسالة
أخبار
مسكن > أخبار > أخبار الشركة حول مقدمة لبرنامج ABB Robot Application
الأحداث
اتصل بنا
86-021-5688-5611
اتصل الآن

مقدمة لبرنامج ABB Robot Application

2023-07-12

آخر أخبار الشركة عن مقدمة لبرنامج ABB Robot Application

آخر أخبار الشركة مقدمة لبرنامج ABB Robot Application  0يتكون برنامج الروبوت ABB الخاص بنا بشكل أساسي من ثلاث وحدات نمطية:
1. الادارية
2. برنامج عمل محدد للآلة (نسميه الوظيفة)
3. كتابة RegPos (تُستخدم كعلامة بعد تنفيذ منصب معين في الوظيفة)
في الجزء أعلاه من البرنامج ، قمنا بتعديل الوحدة النمطية 2module بشكل أساسي ، والتي تتضمن العديد من الوظائف ، وكل وظيفة عبارة عن برنامج محدد ينفذ حركة موضع الروبوت.

 

يحتوي أي برنامج على نقطة دخول للبرنامج ، وكذلك برامج الروبوت.ومدخل برنامج الروبوت لدينا موجود في برنامج الإدارة.الكود المصدري لبرنامج Admin main () هو كما يلي.يرجى ملاحظة أننا رأينا PROC main ().وحدة البرمجة لروبوتات ABB هي الإجراء ، والمختصرة كـ PROC.الإجراء الرئيسي لبرنامج المسؤول هذا هو في الأساس بعد إنشاء جهاز جديد:

 


PROC الرئيسي ()

ربط fTCPSpeed ​​عالية مع IGenRobotMoving ؛
ربط fTCPSpeedLow مع IGenRobotMoving ؛
ISignalAO Virt_TCPSpeed_Robot1، AIO_ABOVE_HIGH، 0.02، 0، 0، fTCPSpeedHigh ؛
ISignalAO Virt_TCPSpeed_Robot1، AIO_BELOW_HIGH، 0.015، 0، 0، fTCPSpeedLow؛

إذا كان OpMode () = OP_MAN_PROG ثم
TPErase ؛
TPReadFK FunkTaste، "حدد نقل المهام بواسطة الوضع اليدوي؟"، ""، ""، ""، "لا"، "نعم"؛
إذا كان FunkTaste = 5 ثم
يدوي؛
آخر
TPErase ؛
TPWrite "نقل الروبوت في الوضع اليدوي" ؛
TPWrite "التواصل مع Master-PLC" ؛
إنهاء إذا
آخر
TypNum: = 0 ؛
JobNum: = 0 ؛
Funktaste: = 0 ؛
إنهاء إذا

تهيئة
محدد السرعة؛

pStartingPoint: = CRobT (الأداة: = tool0 WObj: = wobj0) ؛
regStartingAngleX: = EulerZYX (X، pStartingPoint.rot) ،
regStartingAngleY: = EulerZYX (Y، pStartingPoint.rot) ،
regStartingAngleZ: = EulerZYX (Z، pStartingPoint.rot) ،
regStoppedAngleX: = EulerZYX (X، pPointAtStop.rot) ،
regStoppedAngleY: = EulerZYX (Y، pPointAtStop.rot) ،
regStoppedAngleZ: = EulerZYX (Z، pPointAtStop.rot) ،
إذا (pPointAtStop.trans.X> = (pStartingPoint.trans.X + regTransDiff) أو
pPointAtStop.trans.X <= (pStartingPoint.trans.X-regTransDiff) أو
pPointAtStop.trans.Y> = (pStartingPoint.trans.Y + regTransDiff) أو
pPointAtStop.trans.Y <= (pStartingPoint.trans.Y-regTransDiff) أو
pPointAtStop.trans.Z> = (pStartingPoint.trans.Z + regTransDiff) أو
pPointAtStop.trans.Z <= (pStartingPoint.trans.Z-regTransDiff)) أو
(regStoppedAngleX> = (regStartingAngleX + regRotDiff) أو
regStoppedAngleX <= (regStartingAngleX-regRotDiff) أو
regStoppedAngleY> = (regStartingAngleY ​​+ regRotDiff) أو
regStoppedAngleY ​​<= (regStartingAngleY-regRotDiff) أو
regStoppedAngleZ> = (regStartingAngleZ + regRotDiff) أو
regStoppedAngleZ <= (regStartingAngleZ-regRotDiff)) أو
pPointAtStop.robconf <> pStartingPoint.robconf بعد ذلك
تعيين DO13_RobotHasBeenMoved ؛
إنهاء إذا

بينما di8_HsStartMain = 0 DO
SetGO DO32_39_HsStepCode، 0 ؛
WaitDI DI10_ReadJobCode ، 1 ؛
VelSet DI40_47_Override ، 7500 ؛! تم ضبط السرعة على الحد الأقصى
SetGO DO24_31_HsJobCode ، DI24_31_JobCode ؛
SetDO DO10_HsReadJobCode ، 1 ،
WaitDI DI10_ReadJobCode ، 0 ؛
SetDO DO10_HsReadJobCode، 0 ؛
! اتصل بـ Jobprogram
CallByVar "الوظيفة" ، DI24_31_JobCode ؛
نهاية
ENDPROC


هذا البرنامج طويل بعض الشيء ، ولا أريد أن أعرضه كثيرًا.أريد أن أتحدث بشكل أساسي عن القسم الأخير من البرنامج ، لأن هذا القسم هو تنفيذ لكيفية استدعاء الروبوت لبرنامج الوظيفة في الوحدة الثانية عند نقل موقعه.أعتقد أن هذا أيضًا ما يرغب معظم الأشخاص الذين يرغبون في تعلمه عن برامج الروبوت في معرفته وفهمه أكثر من غيره:

 

أولاً ، الجملة الأولى WHILE di8_ HsStartMain = 0 DO
لاحظ أن 'DI8_HsStartMain' تعني 'Handshake' Start Main done '
هذا يعني أنه عندما تكون إشارة Bool HsStartMain للمدخل الرقمي 0 ، فهذا يعني أن Main لم يبدأ بعد.نحتاج إلى تنفيذ while Do لإكمال جميع التعليمات البرمجية.يوجد عدد غير قليل من الرموز هنا ، وسأقدم مثالاً ، مثل الرمز الثاني
WaitDI DI10_ ReadJobCode ، 1 ؛معنى متغير التعليق التوضيحي "DI10_ReadJobCode" هو إشارة المصافحة المصافحة "قراءة المهمة" من PLC.

أرسل استفسارك إلينا مباشرة

سياسة الخصوصية الصين نوعية جيدة ذراع الروبوت التعاوني المورد. حقوق النشر © 2023-2024 armsrobots.com . كل الحقوق محفوظة.