SlideShare a Scribd company logo
5
Most read
6
Most read
7
Most read
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 1/13
BÀI THÍ NGHIỆM 2
GIAO TIẾP ROBOT VÀ MACHINE CONTROLLER
1. MỤC ĐÍCH THÍ NGHIỆM
Trong bài thí nghiệm này, sinh viên sẽ học cách lập trình giao tiếp giữa robot và machine
controller thông qua I/O và Ethernet, nhằm tích hợp robot vào hệ thống tự động.
Sau khi thực hiện bài thí nghiệm, sinh viên có thể:
• Biết lập trình chương trình Ladder sử dụng phần mềm MPE720.
• Biết lập trình machine controller MP3300 giao tiếp với robot MotoMINI thông qua I/O
và Ethernet.
2. MÔ TẢ THIẾT BỊ
2.1. Tổng quan hệ thống
Sơ đồ tổng quan và hình ảnh thực tế các thiết bị trong bài thí nghiệm được thể hiện ở
Hình 1, Hình 2 và Hình 3. Machine controller là trung tâm điều khiển và liên kết các thiết bị
trong hệ thống như: các servo drive điều khiển các động cơ servo trên trục A, B và C; AC drive
điều khiển động cơ trên băng tải; robot controller điều khiển cánh tay robot; Control Panel, I/O
Box và HMI tương tác với người dùng. Machine controller kết nối với robot controller thông
qua hai đường giao tiếp I/O và Ethernet mà ta sẽ lập trình trong bài thí nghiệm này.
Hình 1. Sơ đồ tổng quan bộ thí nghiệm
MP3300
Machine controller
VIPA HMI
WiFi Router: Yaskawa[x]
Mechatrolink I/O cable
Ethernet
Servo
Drive
C
Servo
Drive
A
Servo
Drive
B
Control
Panel
I/O
Box
J1000
AC
Drive Inductor motor
Conveyor
Servo motor C
Horizontal
axis
Servo motor A
Rotating axis
Servo motor B
Vertical axis
Servo cable Motor cable
I/O cable
YRC1000mirco
Robot Controller
Programming
Pendant
MotoMINI
Manipulator
End
Tool
Servo cable
Pendant cable
I/O cable
CONTROL ACTUATOR
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 2/13
Hình 2. Các thiết bị điều khiển
Hình 3. Các thiết bị chấp hành
MP3300
Machine
controller
Servo Drives
YRC1000micro
Controller
VIPA
HMI
Control
Panel
IO Box
AC Drive
MotoMINI
Manipulator
Conveyor
C axis
B axis
A axis
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 3/13
2.2. Kết nối I/O
Machine controller (MC) có kết nối I/O với các thiết bị trong hệ thống như Bảng 1.
Bảng 1. Kết nối I/O của Machine Controller
MC DI Target Device Signal
DI_0 Control Pannel START button
DI_1 Control Pannel STOP button
DI_2 Control Pannel Servo_ON button
DI_3 Control Pannel Robot_ON button
DI_4 B axis Sensor POT_B
DI_5 B axis Sensor NOT_B
DI_6 B axis Sensor HOME_B
DI_7 C axis Sensor POT_C
DI_8 C axis Sensor NOT_C
DI_9 C axis Sensor HOME_C
DI_10 A axis Sensor HOME_A
DI_11 Conveyor Sensor Conveyor
DI_12 Robot OT#3
DI_16..23 Control Panel I0..7 switches
DI_24..31 I/O Box I0..7 switches
MC DO Target Device Signal
DO_0 Inverter S1
DO_1 Robot IN#1
DO_2 Robot IN#2
DO_3 Robot IN#3
DO_4 Robot IN#4
DO_5 Magnet on C axis MAG2
DO_16..23 Control Panel Q0..7 lamps
DO_24..31 I/O Box Q0..7 lamps
3. CHUẨN BỊ THÍ NGHIỆM
3.1. Đọc tài liệu Machine Controller MP3300
a) Xem tài liệu [1] (Trang 60-65) và điền vào bảng các loại thanh ghi sau:
Loại thanh ghi Tên thanh ghi Tính chất Mô tả
S Thanh ghi hệ
thống (Thanh
ghi S)
Non-volatile.
Thanh ghi toàn
cục (Global).
Thanh ghi này được hệ thống dùng để
ghi những trạng thái của Machine
Controller và những thông tin khác
M Thanh ghi dữ
liệu (Thanh ghi
M)
Non-volatile.
Thanh ghi toàn
cục (Global).
Dùng để trao đổi dữ liệu giữa các
chương trình.
G Thanh ghi G Volatile.
Thanh ghi toàn
cục (Global).
Dùng để trao đổi dữ liệu giữa các
chương trình.
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 4/13
I Thanh ghi ngõ
vào (Thanh ghi
I)
Thanh ghi toàn
cục (Global).
Dùng để ghi dữ liệu ngõ vào, các thông
số giám sát cũng như cho các Motion
Module và dữ liệu vào của CPU.
O Thanh ghi ngõ
ra
(Thanh ghi O)
Thanh ghi toàn
cục (Global).
Dùng để ghi dữ liệu ngõ ra, các thông
số cài đặt cũng như cho các Motion
Module và dữ liệu ra của CPU.
C Thanh ghi
hằng số
(Thanh ghi C)
Thanh ghi toàn
cục (Global).
Giá trị này chỉ đọc.
Chỉ cho ghi giá trị này bằng phần mềm
MPE720.
D Thanh ghi D Thanh ghi cục
bộ (Local).
b) Xem tài liệu [1] (Trang 66-72) và điền vào bảng các loại dữ liệu sau:
Ký hiệu Loại dữ liệu Kích thước Tầm giá trị
B Bit - 1 (ON) and 0 (OFF)
W Integer 1 word -32768 to 32767
L Double-length
integer
2 words -2,147,483,648 to 2,147,483,647
Q Quadruple-length
integer
4 words -9223372036854775808 to
9223372036854775807
F Real number 2 words ± (1.175E-38 to 3.402E+38) or 0
D Double precision
real number
4 words ± (2.225E-308 to 1.798E+308) or 0
A Address - 0 to 2,097,152
c) Xem tài liệu [1] (Trang 66-72) và điền vào bảng giá trị sau, biết dữ liệu được lưu trong
bộ nhớ có địa chỉ từ MW00000 đến MW00003 như sau:
3.2. Tạo project mới và cấu hình cho Machine Controller
a) Tạo project mới
Trên Desktop, chọn vào biểu tượng hoặc search với nội dung “MPE720” và bấm
chọn vào biểu tượng trên để mở phần mềm.
Để tạo một project mới, nhấn vào File → New Project:
MW000000 2C3D hex
MW000001 9AD4 hex
MW000002 9DE6 hex
MW000003 C001 hex
Thanh ghi Giá trị (có dấu)
trong hệ thập phân
MW000001
MB000002B
ML000000
MF000002
MD000000
11325
1
-1697371075
-2.02526
-2.2021
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 5/13
Đặt tên file mong muốn, đồng thời chọn Series và Controller phù hợp với phần cứng
hiện tại (như hình), chọn Create để bắt đầu tạo project mới.
b) Cấu hình cho Machine Controller
Tại tab Start, chọn vào Module Configuration để cấu hình bộ điều khiển cũng như các
thông số cho các servo:
Ta được một cửa sổ mới hiện ra có dạng như sau:
Trong đó, CPU301(16) là CPU chính của bộ điều khiển, gồm có các module nhỏ như CPU,
218IFD (Để cấu hình địa chỉ IP và giao tiếp cho Machine Controller), SVC (Để cấu hình cho
các động cơ Servo – trục thực), SVR (Để cấu hình cho các trục ảo) …
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 6/13
Cấu hình địa chỉ IP cho Machine Controller:
Double click vào module 218IFD, chọn OK, một cửa sổ mới hiện ra như sau:
Ta để các thông số mặc định: Địa chỉ IP của Machine Controller là 192.168.1.1 với Subnet
Mask là 255.255.255.0. Sau đó chọn File → Save để lưu lại cấu hình này.
Cấu hình IO cho Machine Controller:
Trở về cửa sổ chính của Module Configuration, double click vào 01 –UNDEFINED --[--
---], chọn module LIO-04 và chọn OK, ta được kết quả sau:
Trong đó LIO-04 là tên của module IO được dùng, bao gồm 32 input (24V Sink/Source
Mode) và 32 output (24V Sink Mode).
Double click một lần nữa vào module này, ta được cửa sổ mới hiện ra, chọn File → Save.
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 7/13
Tại cửa sổ chính của Module Configuration, chọn Save to Project và hoàn thiện quá
trình cấu hình.
Trở về giao diện chính của phần mềm MPE720, dùng phím tắt Ctrl + S hoặc chọn để
lưu project.
3.3. Đọc tài liệu giao tiếp Ethernet với Robot.
Tìm đọc tài liệu YRC1000micro Instruction for Ethernet Function [2].
Trong bài thí nghiệm này, ta xem bộ điều khiển YRC1000micro là một server (High Speed
Ethernet Server), trong khi Machine Controller MP3300 là client.
Xem trong tài liệu trên phần 3. High Speed Ethernet Server Function và điền vào những
vị trí còn trống (giá trị trong hệ thập lục phân) của các hàm dưới đây, biết L là dạng Long (4
byte), W là dạng Word (2 byte), Q là dạng Quarter.. (8 byte) và dữ liệu lưu trong bộ nhớ với
dạng Little Edian.
Bật Servo Robot Tắt Servo Robot Bắt đầu JOB
Identifier (L) 0x43524559 0x43524559 0x43524559
Header part
size (W)
0x20 0x20 0x20
Data part size
(W)
0x04 0x04 0x04
Reserve 1 +
Processing
division (W)
0x0103 0x0103 0x0103
Block No (L) 0x0 0x0 0x0
Reverve 2 (Q) 0x3939393939393939 0x3939393939393939 0x3939393939393939
Command No
(W)
0x83 0x83 0x86
Instance (W) 0x02 0x02 0x01
Attribute +
Service (W)
0x1001 0x1001 0x1001
Padding (W) 0x0 0x0 0x0
Data division
(W)
0x01 0x02 0x01
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 8/13
4. THỰC HIỆN THÍ NGHIỆM
4.1. Giao tiếp I/O giữa machine controller và robot
Các chân I/O dùng giao tiếp giữa machine controller và robot trong chương trình gồm:
Chiều Chức năng MC I/O pin Robot I/O pin
MC → Robot Báo có vật ở vị trí gắp trên băng tải DO_1 IN#1
Báo có vật ở vị trí thả trên mâm xoay DO_2 IN#2
MC  Robot Báo đã thả vật lên mâm xoay DI_12 OT#3
4.1.1. Lập trình Ladder cho machine controller
Yêu cầu 1.1: Xây dựng chương trình Ladder thực hiện:
• Khi nhấn nút Start (DI_0), băng tải (DO_0) chạy, nhấn nút Stop (DI_1) băng tải dừng.
• Khi băng tải đang chạy và có vật chắn cảm biến trên băng tải (DI_11), băng tải dừng,
DO_1 bật. Khi vật không chắn cảm biến nữa, băng tải tiếp tục hoạt động và, DO_1
tắt.
• Khi DI_12 có cạnh lên, DO_2 bật, DO_24 (đèn Q0 trên I/O box) bật.
• Khi người dùng lấy vật ra khỏi mâm xoay và bật DI_24 (I0 trên I/O box), DO_2 tắt,
DO_24 tắt.
Hướng dẫn: Tham khảo Phụ lục – Hướng dẫn lập trình Ladder cho Machine controller.
4.1.2. Lập trình robot
Yêu cầu 1.2: Lập trình robot thực hiện chương trình sau:
1. Đầu tiên, robot ở trạng thái chờ tại điểm P000 (Điểm Home của robot).
2. Khi IN#1 ON và IN#2 OFF, robot di chuyển đến P001 (Điểm chuẩn bị gắp, điểm này
nằm trên điểm gắp vài cm), sau đó đi xuống điểm P002 (Điểm gắp vật), bật nam châm
(OT#1) và đi lên P001.
3. Robot di chuyển đến điểm P003 (Điểm trung gian trên cao, giúp robot tránh va chạm).
4. Robot di chuyển đến điểm P004 (Điểm chuẩn bị thả, điểm này nằm trên điểm thả vài
cm), sau đó đi xuống điểm P005 (Điểm thả vật), tắt nam châm. Robot di chuyển lên
điểm P003, rồi mới được bật một xung lên (OT#3) trong 100ms cho Machine
Controller biết để xoay mâm.
5. Quay lại bước 1.
Dạy điểm cho robot:
Dạy sáu điểm cho robot, từ P000 đến P005 thỏa mãn yêu cầu của phần a).
Kiểm tra từng bước đã dạy:
Vẫn giữ nguyên chìa khóa công tắc ở chế độ TEACH, bật Servo Robot, trỏ đến từng dòng
lệnh trong JOB và nhấn giữ FWD để kiểm tra lại những điểm đã dạy. Lưu ý: Tốc độ robot nên
để ở mức LOW hoặc MEDIUM để có thể phản ứng kịp thời cũng như tránh va chạm.
Chạy chương trình:
Gạt chìa khóa sang chế độ PLAY, bật servo, nhấn nút [START] để chạy chương trình.
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 9/13
4.2. Giao tiếp Ethernet giữa Machine Controller và Robot
4.2.1. Tạo project mới và cấu hình cho Machine Controller
Trên phần mềm MPE720, vào Module Configuration, chọn module 218IFD → Easy setting
và thực hiện theo hình:
Trong đó, Node Port IP Address là địa chỉ IP của robot (192.168.1.1x, với x là chỉ số của
vị trí robot, có giá trị từ 1 đến 6), Port No (bên phía Other Device) luôn luôn là port 10040,
Connect Type là UDP, Code là BIN và Communication protocol Type là None (Tức là không
sử dụng giao thức có sẵn mà sử dụng giao thức khác).
Chọn OK ta được kết quả sau:
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 10/13
Chọn File→ Save để lưu.
Kết thúc cấu hình, chọn Save to Project tại màn hình chính của Module Configuration.
Lưu ý: Khi nạp xuống Machine Controller, cấu hình này cũng được nạp theo, nhưng không
có hiệu lực liền. Do đó, sau khi hoàn tất Save to Flash, phải tắt nguồn khởi động lại Machine
Controller để cấu hình có hiệu lực.
4.2.2. Tạo struct cho header của khung truyền
Đầu tiên nhấp chuột phải vào User structure, chọn Import → Import the user structure…
và chọn đường dẫn đến file HighSpeedEthernetFunctionHeader.csv và chọn Import.
Chọn User Structure, đặt tên tại Variable Name và đặt địa chỉ tại Register là MAxxxx (Nhớ
địa chỉ này để dùng về sau).
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 11/13
4.2.3. Viết chương trình giao tiếp giữa Machine Controller và Robot
Dùng hàm MSG-SNDE với các thông số như sau:
Thông số Giá trị Ý nghĩa
Execute - Hàm MSG-SNDE sẽ gửi dữ liệu đi nếu tín hiệu này được bật lên 1.
Abort - Hàm MSG-SNDE sẽ hủy gửi dữ liệu đi nếu tín hiệu này được bật lên
1.
Dev-Type 16 Loại thiết bị được dùng để gửi đi (Module 218IFD = 16)
Pro-Type 02 Loại giao thức được chọn (No-protocol = 2).
Cir-No 01 Circuit No của module 218IFD.
Ch-No 01 Chọn kênh để giao tiếp, có tới 10 kênh có thể hoạt động cùng lúc,
trong đây ta chọn kênh 1.
Param
Lưu ý: Kiểu
dữ liệu
Address.
Thông số Giá trị - Ý nghĩa
ST_NO Là giá trị của CNO được khai báo (như
trong hình là 1)
SENDER_DATA_ADR_HIGH Là giá trị xxxxx trong phần địa chỉ
MAxxxxx ở phần trước (Địa chỉ bắt đầu
của dữ liệu gửi đi)
SENDER_DATA_ADR_LOW
SENDER_DATA_TYPE 0 Dữ liệu gửi đi được lưu trong
thanh ghi M (thanh ghi memory)
DATA_SIZE Là số Word được gửi đi.
Complete - Tín hiệu này được bật lên 1 trong một chu kỳ scan nếu hàm MSG-
SNDE gửi dữ liệu đi hoàn tất.
Busy - Tín hiệu này được bật lên 1 nếu hàm MSG-SNDE xử lý hoặc bị Abort.
Error - Tín hiệu này được bật lên 1 trong một chu kỳ scan nếu hàm MSG-
SNDE gửi dữ liệu đi và xảy ra lỗi.
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 12/13
Yêu cầu 2.1: Viết chương trình Ladder thỏa các điều kiện sau:
a. Nhấn nút Robot On lần đầu, Servo của Robot được bật; nhấn một lần nữa Servo của
Robot bị tắt.
b. Bật switch DI-31, chương trình đã viết ở phần 3 được thực thi.
Lưu ý: Để dùng chức năng giao tiếp qua Ethernet của robot, chìa khóa trên bộ lập trình phải
được chuyển sang chế độ REMOTE.
Hướng dẫn:
Gán dữ liệu của struct vừa tạo ở phần 4.2.2.
Tạo thêm một biến có kiểu Long có địa chỉ ML(xxxxx + 32). Nếu muốn bật servo của robot,
gán biến này bằng 1; nếu muốn tắt, gán biến này bằng 2.
Gán DATA_SIZE trong phần Param ở phần 4.4.b) thành 18 (18 words = 36 bytes).
Lưu ý: Khi đã gửi dữ liệu đi hoàn tất hoặc có lỗi, nên reset biến Execute của hàm MSG-SNDE
về 0 (như hình bên dưới).
5. BÁO CÁO
Trình bày việc thực hiện các yêu cầu trong bài: chương trình robot, chương trình ladder
và motion của machine controller, hình ảnh/video kết quả, trả lời câu hỏi, nhận xét, kết luận.
Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM
Trần Hoàng Khôi Nguyên Jan-2021 13/13
TÀI LIỆU THAM KHẢO
[1] Machine Controller MP3000 Ladder Program Manual, Yaskawa Electric Corp., 2015.
[2] YRC1000micro Instruction for Ethernet Function, Yaskawa Electric Corp., 2018.
[3] AC Drive J1000 Quick Start Guide, Yaskawa Electric Corp., 2014.

More Related Content

PDF
Bai1_Van-hanh-robot_23333333333333333333333021-01-20.pdf
PPTX
TÌM HIỂU ROBOT CÔNG NGHIỆP TRONG HỆ THỐNG FMS
PDF
Bao cao servo
DOCX
Bao cao do an dieu khien dong co dc
PDF
Servo 2
PDF
Hướng dẫn cài đặt cơ bản biến tần Inovance MD290
PDF
Hướng dẫn cài đặt biến tần Inovance MD290
PDF
06_Hà Hoàng Thái Thịnh_SV1_Máy đếm bước đi.pdf
Bai1_Van-hanh-robot_23333333333333333333333021-01-20.pdf
TÌM HIỂU ROBOT CÔNG NGHIỆP TRONG HỆ THỐNG FMS
Bao cao servo
Bao cao do an dieu khien dong co dc
Servo 2
Hướng dẫn cài đặt cơ bản biến tần Inovance MD290
Hướng dẫn cài đặt biến tần Inovance MD290
06_Hà Hoàng Thái Thịnh_SV1_Máy đếm bước đi.pdf

Similar to Bai2_Giao-tiep-robot-machine-controller_2021-01-20.pdf (20)

DOCX
Điều khiển động cơ sử dụng atmega16
PDF
Ic52 dienhathe.vn
PDF
PDF
PDF
PDF
ME5512-ĐA TKHTCDT-Robogưerafawerfwefwefweft.pdf
PDF
Đề tài: Bộ điều khiển trượt cho tay máy Robot 2 bậc tự do, HAY
PDF
Nghiên cứu thực thi bộ điều khiển robot công nghiệp trên nền tảng FPGA.pdf
PDF
sjdfklsjdflksjdfklsjdf12312222222222222222222222222222222222
DOC
Cantudong phanvan thang_dh04td
PDF
Servo 3
DOCX
Code robot sumo cho cac ban tham khao nhe
PDF
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
PDF
Giáo trình robocon nhiều tác giả
PDF
Ls ic5-tieng viet
DOCX
ROBOT 2 BÁNH TỰ CÂN BẰNG THUẬT TOÁN PID.docx
PDF
Đề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chip
PDF
Đề tài: Nghiên cứu ứng dụng lập trình điều khiển động cơ, HOT
PDF
Điều khiển động cơ sử dụng IC MCP4921
PDF
Nghiên cứu, ứng dụng plc fx3 u 40mt điều khiển động cơ servo máy cnc trong cô...
Điều khiển động cơ sử dụng atmega16
Ic52 dienhathe.vn
ME5512-ĐA TKHTCDT-Robogưerafawerfwefwefweft.pdf
Đề tài: Bộ điều khiển trượt cho tay máy Robot 2 bậc tự do, HAY
Nghiên cứu thực thi bộ điều khiển robot công nghiệp trên nền tảng FPGA.pdf
sjdfklsjdflksjdfklsjdf12312222222222222222222222222222222222
Cantudong phanvan thang_dh04td
Servo 3
Code robot sumo cho cac ban tham khao nhe
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Giáo trình robocon nhiều tác giả
Ls ic5-tieng viet
ROBOT 2 BÁNH TỰ CÂN BẰNG THUẬT TOÁN PID.docx
Đề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chip
Đề tài: Nghiên cứu ứng dụng lập trình điều khiển động cơ, HOT
Điều khiển động cơ sử dụng IC MCP4921
Nghiên cứu, ứng dụng plc fx3 u 40mt điều khiển động cơ servo máy cnc trong cô...
Ad

Bai2_Giao-tiep-robot-machine-controller_2021-01-20.pdf

  • 1. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 1/13 BÀI THÍ NGHIỆM 2 GIAO TIẾP ROBOT VÀ MACHINE CONTROLLER 1. MỤC ĐÍCH THÍ NGHIỆM Trong bài thí nghiệm này, sinh viên sẽ học cách lập trình giao tiếp giữa robot và machine controller thông qua I/O và Ethernet, nhằm tích hợp robot vào hệ thống tự động. Sau khi thực hiện bài thí nghiệm, sinh viên có thể: • Biết lập trình chương trình Ladder sử dụng phần mềm MPE720. • Biết lập trình machine controller MP3300 giao tiếp với robot MotoMINI thông qua I/O và Ethernet. 2. MÔ TẢ THIẾT BỊ 2.1. Tổng quan hệ thống Sơ đồ tổng quan và hình ảnh thực tế các thiết bị trong bài thí nghiệm được thể hiện ở Hình 1, Hình 2 và Hình 3. Machine controller là trung tâm điều khiển và liên kết các thiết bị trong hệ thống như: các servo drive điều khiển các động cơ servo trên trục A, B và C; AC drive điều khiển động cơ trên băng tải; robot controller điều khiển cánh tay robot; Control Panel, I/O Box và HMI tương tác với người dùng. Machine controller kết nối với robot controller thông qua hai đường giao tiếp I/O và Ethernet mà ta sẽ lập trình trong bài thí nghiệm này. Hình 1. Sơ đồ tổng quan bộ thí nghiệm MP3300 Machine controller VIPA HMI WiFi Router: Yaskawa[x] Mechatrolink I/O cable Ethernet Servo Drive C Servo Drive A Servo Drive B Control Panel I/O Box J1000 AC Drive Inductor motor Conveyor Servo motor C Horizontal axis Servo motor A Rotating axis Servo motor B Vertical axis Servo cable Motor cable I/O cable YRC1000mirco Robot Controller Programming Pendant MotoMINI Manipulator End Tool Servo cable Pendant cable I/O cable CONTROL ACTUATOR
  • 2. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 2/13 Hình 2. Các thiết bị điều khiển Hình 3. Các thiết bị chấp hành MP3300 Machine controller Servo Drives YRC1000micro Controller VIPA HMI Control Panel IO Box AC Drive MotoMINI Manipulator Conveyor C axis B axis A axis
  • 3. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 3/13 2.2. Kết nối I/O Machine controller (MC) có kết nối I/O với các thiết bị trong hệ thống như Bảng 1. Bảng 1. Kết nối I/O của Machine Controller MC DI Target Device Signal DI_0 Control Pannel START button DI_1 Control Pannel STOP button DI_2 Control Pannel Servo_ON button DI_3 Control Pannel Robot_ON button DI_4 B axis Sensor POT_B DI_5 B axis Sensor NOT_B DI_6 B axis Sensor HOME_B DI_7 C axis Sensor POT_C DI_8 C axis Sensor NOT_C DI_9 C axis Sensor HOME_C DI_10 A axis Sensor HOME_A DI_11 Conveyor Sensor Conveyor DI_12 Robot OT#3 DI_16..23 Control Panel I0..7 switches DI_24..31 I/O Box I0..7 switches MC DO Target Device Signal DO_0 Inverter S1 DO_1 Robot IN#1 DO_2 Robot IN#2 DO_3 Robot IN#3 DO_4 Robot IN#4 DO_5 Magnet on C axis MAG2 DO_16..23 Control Panel Q0..7 lamps DO_24..31 I/O Box Q0..7 lamps 3. CHUẨN BỊ THÍ NGHIỆM 3.1. Đọc tài liệu Machine Controller MP3300 a) Xem tài liệu [1] (Trang 60-65) và điền vào bảng các loại thanh ghi sau: Loại thanh ghi Tên thanh ghi Tính chất Mô tả S Thanh ghi hệ thống (Thanh ghi S) Non-volatile. Thanh ghi toàn cục (Global). Thanh ghi này được hệ thống dùng để ghi những trạng thái của Machine Controller và những thông tin khác M Thanh ghi dữ liệu (Thanh ghi M) Non-volatile. Thanh ghi toàn cục (Global). Dùng để trao đổi dữ liệu giữa các chương trình. G Thanh ghi G Volatile. Thanh ghi toàn cục (Global). Dùng để trao đổi dữ liệu giữa các chương trình.
  • 4. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 4/13 I Thanh ghi ngõ vào (Thanh ghi I) Thanh ghi toàn cục (Global). Dùng để ghi dữ liệu ngõ vào, các thông số giám sát cũng như cho các Motion Module và dữ liệu vào của CPU. O Thanh ghi ngõ ra (Thanh ghi O) Thanh ghi toàn cục (Global). Dùng để ghi dữ liệu ngõ ra, các thông số cài đặt cũng như cho các Motion Module và dữ liệu ra của CPU. C Thanh ghi hằng số (Thanh ghi C) Thanh ghi toàn cục (Global). Giá trị này chỉ đọc. Chỉ cho ghi giá trị này bằng phần mềm MPE720. D Thanh ghi D Thanh ghi cục bộ (Local). b) Xem tài liệu [1] (Trang 66-72) và điền vào bảng các loại dữ liệu sau: Ký hiệu Loại dữ liệu Kích thước Tầm giá trị B Bit - 1 (ON) and 0 (OFF) W Integer 1 word -32768 to 32767 L Double-length integer 2 words -2,147,483,648 to 2,147,483,647 Q Quadruple-length integer 4 words -9223372036854775808 to 9223372036854775807 F Real number 2 words ± (1.175E-38 to 3.402E+38) or 0 D Double precision real number 4 words ± (2.225E-308 to 1.798E+308) or 0 A Address - 0 to 2,097,152 c) Xem tài liệu [1] (Trang 66-72) và điền vào bảng giá trị sau, biết dữ liệu được lưu trong bộ nhớ có địa chỉ từ MW00000 đến MW00003 như sau: 3.2. Tạo project mới và cấu hình cho Machine Controller a) Tạo project mới Trên Desktop, chọn vào biểu tượng hoặc search với nội dung “MPE720” và bấm chọn vào biểu tượng trên để mở phần mềm. Để tạo một project mới, nhấn vào File → New Project: MW000000 2C3D hex MW000001 9AD4 hex MW000002 9DE6 hex MW000003 C001 hex Thanh ghi Giá trị (có dấu) trong hệ thập phân MW000001 MB000002B ML000000 MF000002 MD000000 11325 1 -1697371075 -2.02526 -2.2021
  • 5. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 5/13 Đặt tên file mong muốn, đồng thời chọn Series và Controller phù hợp với phần cứng hiện tại (như hình), chọn Create để bắt đầu tạo project mới. b) Cấu hình cho Machine Controller Tại tab Start, chọn vào Module Configuration để cấu hình bộ điều khiển cũng như các thông số cho các servo: Ta được một cửa sổ mới hiện ra có dạng như sau: Trong đó, CPU301(16) là CPU chính của bộ điều khiển, gồm có các module nhỏ như CPU, 218IFD (Để cấu hình địa chỉ IP và giao tiếp cho Machine Controller), SVC (Để cấu hình cho các động cơ Servo – trục thực), SVR (Để cấu hình cho các trục ảo) …
  • 6. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 6/13 Cấu hình địa chỉ IP cho Machine Controller: Double click vào module 218IFD, chọn OK, một cửa sổ mới hiện ra như sau: Ta để các thông số mặc định: Địa chỉ IP của Machine Controller là 192.168.1.1 với Subnet Mask là 255.255.255.0. Sau đó chọn File → Save để lưu lại cấu hình này. Cấu hình IO cho Machine Controller: Trở về cửa sổ chính của Module Configuration, double click vào 01 –UNDEFINED --[-- ---], chọn module LIO-04 và chọn OK, ta được kết quả sau: Trong đó LIO-04 là tên của module IO được dùng, bao gồm 32 input (24V Sink/Source Mode) và 32 output (24V Sink Mode). Double click một lần nữa vào module này, ta được cửa sổ mới hiện ra, chọn File → Save.
  • 7. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 7/13 Tại cửa sổ chính của Module Configuration, chọn Save to Project và hoàn thiện quá trình cấu hình. Trở về giao diện chính của phần mềm MPE720, dùng phím tắt Ctrl + S hoặc chọn để lưu project. 3.3. Đọc tài liệu giao tiếp Ethernet với Robot. Tìm đọc tài liệu YRC1000micro Instruction for Ethernet Function [2]. Trong bài thí nghiệm này, ta xem bộ điều khiển YRC1000micro là một server (High Speed Ethernet Server), trong khi Machine Controller MP3300 là client. Xem trong tài liệu trên phần 3. High Speed Ethernet Server Function và điền vào những vị trí còn trống (giá trị trong hệ thập lục phân) của các hàm dưới đây, biết L là dạng Long (4 byte), W là dạng Word (2 byte), Q là dạng Quarter.. (8 byte) và dữ liệu lưu trong bộ nhớ với dạng Little Edian. Bật Servo Robot Tắt Servo Robot Bắt đầu JOB Identifier (L) 0x43524559 0x43524559 0x43524559 Header part size (W) 0x20 0x20 0x20 Data part size (W) 0x04 0x04 0x04 Reserve 1 + Processing division (W) 0x0103 0x0103 0x0103 Block No (L) 0x0 0x0 0x0 Reverve 2 (Q) 0x3939393939393939 0x3939393939393939 0x3939393939393939 Command No (W) 0x83 0x83 0x86 Instance (W) 0x02 0x02 0x01 Attribute + Service (W) 0x1001 0x1001 0x1001 Padding (W) 0x0 0x0 0x0 Data division (W) 0x01 0x02 0x01
  • 8. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 8/13 4. THỰC HIỆN THÍ NGHIỆM 4.1. Giao tiếp I/O giữa machine controller và robot Các chân I/O dùng giao tiếp giữa machine controller và robot trong chương trình gồm: Chiều Chức năng MC I/O pin Robot I/O pin MC → Robot Báo có vật ở vị trí gắp trên băng tải DO_1 IN#1 Báo có vật ở vị trí thả trên mâm xoay DO_2 IN#2 MC  Robot Báo đã thả vật lên mâm xoay DI_12 OT#3 4.1.1. Lập trình Ladder cho machine controller Yêu cầu 1.1: Xây dựng chương trình Ladder thực hiện: • Khi nhấn nút Start (DI_0), băng tải (DO_0) chạy, nhấn nút Stop (DI_1) băng tải dừng. • Khi băng tải đang chạy và có vật chắn cảm biến trên băng tải (DI_11), băng tải dừng, DO_1 bật. Khi vật không chắn cảm biến nữa, băng tải tiếp tục hoạt động và, DO_1 tắt. • Khi DI_12 có cạnh lên, DO_2 bật, DO_24 (đèn Q0 trên I/O box) bật. • Khi người dùng lấy vật ra khỏi mâm xoay và bật DI_24 (I0 trên I/O box), DO_2 tắt, DO_24 tắt. Hướng dẫn: Tham khảo Phụ lục – Hướng dẫn lập trình Ladder cho Machine controller. 4.1.2. Lập trình robot Yêu cầu 1.2: Lập trình robot thực hiện chương trình sau: 1. Đầu tiên, robot ở trạng thái chờ tại điểm P000 (Điểm Home của robot). 2. Khi IN#1 ON và IN#2 OFF, robot di chuyển đến P001 (Điểm chuẩn bị gắp, điểm này nằm trên điểm gắp vài cm), sau đó đi xuống điểm P002 (Điểm gắp vật), bật nam châm (OT#1) và đi lên P001. 3. Robot di chuyển đến điểm P003 (Điểm trung gian trên cao, giúp robot tránh va chạm). 4. Robot di chuyển đến điểm P004 (Điểm chuẩn bị thả, điểm này nằm trên điểm thả vài cm), sau đó đi xuống điểm P005 (Điểm thả vật), tắt nam châm. Robot di chuyển lên điểm P003, rồi mới được bật một xung lên (OT#3) trong 100ms cho Machine Controller biết để xoay mâm. 5. Quay lại bước 1. Dạy điểm cho robot: Dạy sáu điểm cho robot, từ P000 đến P005 thỏa mãn yêu cầu của phần a). Kiểm tra từng bước đã dạy: Vẫn giữ nguyên chìa khóa công tắc ở chế độ TEACH, bật Servo Robot, trỏ đến từng dòng lệnh trong JOB và nhấn giữ FWD để kiểm tra lại những điểm đã dạy. Lưu ý: Tốc độ robot nên để ở mức LOW hoặc MEDIUM để có thể phản ứng kịp thời cũng như tránh va chạm. Chạy chương trình: Gạt chìa khóa sang chế độ PLAY, bật servo, nhấn nút [START] để chạy chương trình.
  • 9. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 9/13 4.2. Giao tiếp Ethernet giữa Machine Controller và Robot 4.2.1. Tạo project mới và cấu hình cho Machine Controller Trên phần mềm MPE720, vào Module Configuration, chọn module 218IFD → Easy setting và thực hiện theo hình: Trong đó, Node Port IP Address là địa chỉ IP của robot (192.168.1.1x, với x là chỉ số của vị trí robot, có giá trị từ 1 đến 6), Port No (bên phía Other Device) luôn luôn là port 10040, Connect Type là UDP, Code là BIN và Communication protocol Type là None (Tức là không sử dụng giao thức có sẵn mà sử dụng giao thức khác). Chọn OK ta được kết quả sau:
  • 10. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 10/13 Chọn File→ Save để lưu. Kết thúc cấu hình, chọn Save to Project tại màn hình chính của Module Configuration. Lưu ý: Khi nạp xuống Machine Controller, cấu hình này cũng được nạp theo, nhưng không có hiệu lực liền. Do đó, sau khi hoàn tất Save to Flash, phải tắt nguồn khởi động lại Machine Controller để cấu hình có hiệu lực. 4.2.2. Tạo struct cho header của khung truyền Đầu tiên nhấp chuột phải vào User structure, chọn Import → Import the user structure… và chọn đường dẫn đến file HighSpeedEthernetFunctionHeader.csv và chọn Import. Chọn User Structure, đặt tên tại Variable Name và đặt địa chỉ tại Register là MAxxxx (Nhớ địa chỉ này để dùng về sau).
  • 11. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 11/13 4.2.3. Viết chương trình giao tiếp giữa Machine Controller và Robot Dùng hàm MSG-SNDE với các thông số như sau: Thông số Giá trị Ý nghĩa Execute - Hàm MSG-SNDE sẽ gửi dữ liệu đi nếu tín hiệu này được bật lên 1. Abort - Hàm MSG-SNDE sẽ hủy gửi dữ liệu đi nếu tín hiệu này được bật lên 1. Dev-Type 16 Loại thiết bị được dùng để gửi đi (Module 218IFD = 16) Pro-Type 02 Loại giao thức được chọn (No-protocol = 2). Cir-No 01 Circuit No của module 218IFD. Ch-No 01 Chọn kênh để giao tiếp, có tới 10 kênh có thể hoạt động cùng lúc, trong đây ta chọn kênh 1. Param Lưu ý: Kiểu dữ liệu Address. Thông số Giá trị - Ý nghĩa ST_NO Là giá trị của CNO được khai báo (như trong hình là 1) SENDER_DATA_ADR_HIGH Là giá trị xxxxx trong phần địa chỉ MAxxxxx ở phần trước (Địa chỉ bắt đầu của dữ liệu gửi đi) SENDER_DATA_ADR_LOW SENDER_DATA_TYPE 0 Dữ liệu gửi đi được lưu trong thanh ghi M (thanh ghi memory) DATA_SIZE Là số Word được gửi đi. Complete - Tín hiệu này được bật lên 1 trong một chu kỳ scan nếu hàm MSG- SNDE gửi dữ liệu đi hoàn tất. Busy - Tín hiệu này được bật lên 1 nếu hàm MSG-SNDE xử lý hoặc bị Abort. Error - Tín hiệu này được bật lên 1 trong một chu kỳ scan nếu hàm MSG- SNDE gửi dữ liệu đi và xảy ra lỗi.
  • 12. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 12/13 Yêu cầu 2.1: Viết chương trình Ladder thỏa các điều kiện sau: a. Nhấn nút Robot On lần đầu, Servo của Robot được bật; nhấn một lần nữa Servo của Robot bị tắt. b. Bật switch DI-31, chương trình đã viết ở phần 3 được thực thi. Lưu ý: Để dùng chức năng giao tiếp qua Ethernet của robot, chìa khóa trên bộ lập trình phải được chuyển sang chế độ REMOTE. Hướng dẫn: Gán dữ liệu của struct vừa tạo ở phần 4.2.2. Tạo thêm một biến có kiểu Long có địa chỉ ML(xxxxx + 32). Nếu muốn bật servo của robot, gán biến này bằng 1; nếu muốn tắt, gán biến này bằng 2. Gán DATA_SIZE trong phần Param ở phần 4.4.b) thành 18 (18 words = 36 bytes). Lưu ý: Khi đã gửi dữ liệu đi hoàn tất hoặc có lỗi, nên reset biến Execute của hàm MSG-SNDE về 0 (như hình bên dưới). 5. BÁO CÁO Trình bày việc thực hiện các yêu cầu trong bài: chương trình robot, chương trình ladder và motion của machine controller, hình ảnh/video kết quả, trả lời câu hỏi, nhận xét, kết luận.
  • 13. Thí nghiệm Kỹ thuật robot - Bài 2 Bộ môn Điều khiển Tự Động - Trường ĐHBK TPHCM Trần Hoàng Khôi Nguyên Jan-2021 13/13 TÀI LIỆU THAM KHẢO [1] Machine Controller MP3000 Ladder Program Manual, Yaskawa Electric Corp., 2015. [2] YRC1000micro Instruction for Ethernet Function, Yaskawa Electric Corp., 2018. [3] AC Drive J1000 Quick Start Guide, Yaskawa Electric Corp., 2014.