Gửi tin nhắn
Tin tức
Nhà > Tin tức > tin tức công ty về Giới thiệu về Chương trình Ứng dụng Robot của ABB
Sự kiện
Liên hệ chúng tôi
86-021-5688-5611
Liên hệ ngay

Giới thiệu về Chương trình Ứng dụng Robot của ABB

2023-07-12

Tin tức công ty mới nhất về Giới thiệu về Chương trình Ứng dụng Robot của ABB

tin tức mới nhất của công ty về Giới thiệu về Chương trình Ứng dụng Robot của ABB  0Chương trình robot ABB của chúng tôi chủ yếu bao gồm ba mô-đun mô-đun:
1. Quản trị viên
2. Chương trình hành động cụ thể của máy (chúng tôi gọi là Công việc)
3. viết RegPos (dùng làm điểm đánh dấu sau khi thực hiện một vị trí cụ thể trong công việc)
Trong phần chương trình trên ta chủ yếu sửa module 2module bao gồm nhiều công việc, mỗi công việc là một chương trình cụ thể thực hiện chuyển động vị trí của robot.

 

Bất kỳ chương trình nào cũng có điểm vào chương trình, và các chương trình robot cũng vậy.Và lối vào chương trình robot của chúng tôi nằm trong chương trình Quản trị viên.Mã nguồn của main() của chương trình Admin như sau.Xin lưu ý rằng chúng ta đã thấy PROC main().Đơn vị lập trình cho robot ABB là thủ tục, viết tắt là PROC.Quy trình chính cho chương trình Quản trị viên này về cơ bản là sau khi tạo một máy mới:

 


PROC chính()

KẾT NỐI fTCPSpeedHigh VỚI IGenRobotMoving;
KẾT NỐI fTCPSpeedLow VỚI 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;

NẾU OpMode()=OP_MAN_PROG THÌ
TPErase;
TPReadFK FunkTaste,"Chọn công việc di chuyển bằng chế độ thủ công?","","","","Không","Có";
NẾU FunkTaste=5 THÌ
Thủ công;
KHÁC
TPErase;
TPWrite "Robot di chuyển ở chế độ thủ công";
TPWrite "Giao tiếp với Master-PLC";
KẾT THÚC
KHÁC
TypNum:=0;
Số công việc:=0;
Hương vị thú vị:=0;
KẾT THÚC

Khởi tạo;
Bộ giới hạn tốc độ;

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);
NẾU (pPointAtStop.trans.X>=(pStartingPoint.trans.X+regTransDiff) HOẶC
pPointAtStop.trans.X<=(pStartingPoint.trans.X-regTransDiff) HOẶC
pPointAtStop.trans.Y>=(pStartingPoint.trans.Y+regTransDiff) HOẶC
pPointAtStop.trans.Y<=(pStartingPoint.trans.Y-regTransDiff) HOẶC
pPointAtStop.trans.Z>=(pStartingPoint.trans.Z+regTransDiff) HOẶC
pPointAtStop.trans.Z<=(pStartingPoint.trans.Z-regTransDiff)) HOẶC
(regStoppedAngleX>=(regStartingAngleX+regRotDiff) HOẶC
regStoppedAngleX<=(regStartingAngleX-regRotDiff) HOẶC
regStoppedAngleY>=(regStartingAngleY+regRotDiff) HOẶC
regStoppedAngleY<=(regStartingAngleY-regRotDiff) HOẶC
regStoppedAngleZ>=(regStartingAngleZ+regRotDiff) HOẶC
regStoppedAngleZ<=(regStartingAngleZ-regRotDiff)) HOẶC
pPointAtStop.robconf<>pStartingPoint.robconf SAU ĐÓ
Đặt DO13_RobotHasBeenMoved;
KẾT THÚC

WHILE di8_HsStartMain=0 LÀM
SetGO DO32_39_HsStepCode,0;
WaitDI DI10_ReadJobCode,1;
VelSet DI40_47_Override, 7500;!Tốc độ được đặt thành tối đa
ĐặtGO DO24_31_HsJobCode,DI24_31_JobCode;
SetDO DO10_HsReadJobCode,1;
WaitDI DI10_ReadJobCode,0;
SetDO DO10_HsReadJobCode,0;
!Gọi chương trình việc làm
CallByVar "Công việc",DI24_31_JobCode;
KẾT THÚC
ENDPROC


Chương trình này hơi dài và tôi không muốn giới thiệu quá nhiều.Tôi chủ yếu muốn nói về phần cuối cùng của chương trình, bởi vì phần này là phần thực hiện cách robot gọi chương trình Công việc trong mô-đun thứ hai khi di chuyển vị trí của nó.Mình nghĩ đây cũng là điều mà hầu hết những ai muốn tìm hiểu về lập trình robot đều muốn biết và hiểu nhất:

 

Thứ nhất, câu đầu tiên WHILE di8_ HsStartMain=0 DO
Lưu ý rằng 'DI8_HsStartMain' có nghĩa là 'Bắt ​​tay' Bắt đầu chính xong'
Nghĩa là khi tín hiệu Bool HsStartMain của ngõ vào digital bằng 0 nghĩa là Main chưa được khởi động.Chúng ta cần thực thi While Do để hoàn thành tất cả mã.Có khá nhiều mã ở đây và tôi sẽ đưa ra một ví dụ, chẳng hạn như mã thứ hai
WaitDI DI10_ ReadJobCode, 1;Ý nghĩa của biến chú thích "DI10_ReadJobCode" là tín hiệu bắt tay Handshake "đọc Job" từ PLC.
Được rồi, vậy chính xác thì làm thế nào để robot thực hiện các công việc khác nhau?Đừng lo lắng, đó là nó:
!Gọi Jobprogram chỉ là một bình luận
CallByVar "Công việc", DI24_ 31_ Mã công việc;Câu này là bản chất.

 

Gửi yêu cầu của bạn trực tiếp cho chúng tôi

Chính sách bảo mật Trung Quốc chất lượng tốt Cánh tay robot hợp tác Nhà cung cấp. Bản quyền © 2023-2024 armsrobots.com . Đã đăng ký Bản quyền.