2023-07-12
আমাদের ABB রোবট প্রোগ্রামটি প্রধানত তিনটি মডিউল মডিউল নিয়ে গঠিত:
1. অ্যাডমিন
2. মেশিন নির্দিষ্ট অ্যাকশন প্রোগ্রাম (আমরা এটিকে চাকরি বলি)
3. RegPos লিখুন (চাকরিতে একটি নির্দিষ্ট অবস্থান কার্যকর করার পরে একটি মার্কার হিসাবে ব্যবহৃত হয়)
প্রোগ্রামের উপরোক্ত অংশে, আমরা প্রধানত 2 মডিউল মডিউল পরিবর্তন করেছি, যার মধ্যে অনেক কাজ রয়েছে, এবং প্রতিটি কাজ একটি নির্দিষ্ট প্রোগ্রাম যা রোবট অবস্থান আন্দোলন বাস্তবায়ন করে।
যেকোন প্রোগ্রামের একটি প্রোগ্রাম এন্ট্রি পয়েন্ট থাকে এবং রোবট প্রোগ্রামেও থাকে।এবং আমাদের রোবট প্রোগ্রামের প্রবেশদ্বার অ্যাডমিন প্রোগ্রামে।অ্যাডমিন প্রোগ্রামের প্রধান() এর সোর্স কোডটি নিম্নরূপ।দয়া করে মনে রাখবেন যে আমরা PROC main() দেখেছি।ABB রোবটের প্রোগ্রামিং ইউনিট হল পদ্ধতি, সংক্ষেপে PROC।এই অ্যাডমিন প্রোগ্রামের প্রধান পদ্ধতিটি মূলত একটি নতুন মেশিন তৈরি করার পরে:
PROC প্রধান()
IGenRobotMoving এর সাথে fTCPSpeedHigh কানেক্ট করুন;
IGenRobotMoving এর সাথে fTCPSpeedLow সংযোগ করুন;
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,"ম্যানুয়াল মোড দ্বারা কাজগুলি সরান নির্বাচন করুন?","","",""না","হ্যাঁ";
IF FunkTaste=5 তারপর
ম্যানুয়াল;
অন্য
TPERase;
TPWrite "ম্যানুয়াল মোডে রোবট মুভিং";
TPWrite "Master-PLC এর সাথে যোগাযোগ";
যদি শেষ
অন্য
TypNum:=0;
কাজের সংখ্যা:=0;
ফাঙ্কটাস্ট:=0;
যদি শেষ
শুরু করা;
গতি Limiter;
pStartingPoint:=CRobT(Tool:=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);
IF (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;
!জবপ্রোগ্রামে কল করুন
কলবাইভার "জব", DI24_31_জবকোড;
শেষ পর্যন্ত
ENDPROC
এই প্রোগ্রামটি একটু দীর্ঘ, এবং আমি এটি খুব বেশি পরিচয় করিয়ে দিতে চাই না।আমি প্রধানত প্র
আপনার তদন্ত আমাদের সরাসরি পাঠান