3.8.2 Lưu đồ điều khiển quả trình truyền thông trong chương trình
chính
Để khởi động truyền thông, ta cần phải import thư viện PySerial. Thư viện này là một gói hỗ trợ dành cho các giao thức truyền thông sử dụng cổng truyền thông nối tiếp, PySerial được viết dành cho ngôn ngữ lập trình Python và được hỗ trợ trên các nền tảng Window, OS, Linux...vv
Pyserial cần phải được cài đặt trên Python 2.7 hoặc các phiên bản Python mới hơn, ở đây chúng tôi sử dụng phiên bản Python 3.8. Để cài đặt thư viện Pyserial trên hệđiều hành Linux, cần phải vào cửa sổ Command và thực hiện câu lệnh
pip install pyserial
a) Thiết lập Port và thiết bị
Câu lệnh được sử dụng để mở 2 cổng truyền thông như sau: plc1 = PLC_IO("PLC 1", '/dev/ttyUSB0')
33 Trong đó plc1 là cổng truyền thông giữa máy tính là PLC1 được kết nối tại cổng USB “ttyUSB0”, tương tự plc2 là cổng truyền thông giữa máy tính và PLC2 kết nối tại cổng “ttyUSB1”. ttyUSB0, ttyUSB1lần lượt là tên gọi của các cổng USB cho máy tính sử dụng hệđiều hành LINUX.
Cổng kết nối Com Port (truyền thông RS-485), cổng truyền thông đã được chọn ở trên, 8 Bit dữ liệu, 1 dừng (Stop Bit), số bít chẵn lẻ (Party Bit) được chọn là 1, tốc độ truyền thông 9600 Baud, thời gian Timeout là 100s. Để khai báo các thông số sau, ta sử dụng câu lệnh:
Plc_1 = Serial(serialPort, 9600, timeout=100)
b) Lưu đồ giao tiếp giữa PC và PLC
Hình 3.16 Lưu đồ điều khiển quả trình truyền thông trong chương trình chính
Sau khi khởi tạo xong các cổng truyền thông, máy tính sẽ thiết lập 2 luồng xử lý riêng biệt. Luồng 1 sử dụng cho việc gửi dữ liệu từ máy tính lên PLC, luồng thứ 2 sẽđược sử dụng cho việc nhận dữ liệu từ PLC xuống máy tính. Việc sử dụng 2 luồng riêng biệt như vậy sẽ tránh được việc xung đột giữa 2 tác vụ
34 nhận và gửi, đảm bảo máy tính sẽ nhận được chính xác các dữ liệu được gửi lên từ PLC.
Tọa độ của quả dứa được gửi từ máy tính xuống PLC sẽkhông được gửi tất cả tại 1 thời điểm mà sẽđược gửi lần lượt. Sau khi gửi tọa độ quả dứa thứ i, máy tính sẽ chờ đợi đến khi cánh tay Robot thực hiện xong việc thu hoạch quả dứa đấy. Lúc này, PLC sẽ gửi tín hiệu sẵn sàng cắt quả tiếp theo lên máy tính, máy tính sẽ gửi tọa độ quả thứ i+1 tại thời điểm này. Sau khi đã gửi hết tọa độ các quả dứa phát hiện được, máy tính sẽ gửi tín hiệu kết thúc đến PLC báo đã sẵn sàng cho lần thu hoạch luống dứa tiếp theo.
3.8.3 Chương trình viết trên ngôn ngữ python
Chương trình điều khiển giám sát trên ngôn ngữpython được thể hiện chi tiết tại phụ lục kèm thèo.
3.9 Lựa chọn các thiết bị cấp trường
3.9.1 Động cơ Stepper 86HSE 12N B32
Hình 3.17 Động cơ Stepper 86HSE 12N B32
Đặc điểm:
• Tốc độ servo bước 0-1000 vòng / phút (chạy không tải 3000 vòng/phút)
• Mô-men xoắn đầu ra 12N.m.
• Chiều dài thân máy 180mm.
• Chiều dài trục 32mm.
• Bán kính trục 14mm ( rãnh 5mm).
• 4 dây pha gán theo nhãn động cơ.
3.9.2 Driver HBS86H
Đối với hệ thống của chúng ta yêu cầu điều khiển động cơ với tốc độ cao và độ tin cậy lớn nhưng giá thành phải không quá lớn thì giải pháp hệ truyền động Servo là không khả thi. Thay thếvào đó dòng sản phẩm HBS cung cấp một giải pháp giải quyết vấn đề trên bằng sử dụng hệ thống tích hợp động cơ bước hai pha kết hợp encoder và một bộ mã hóa số tốc độ cao. Hệ thống trên được sản xuất và tích hợp trên Driver HBS 86H của hãng Leadshine đến từ Trung Quốc sản xuất có những đặc điểm tương tự hệ thống Servo nhưng giá thành lại rẻ hơn rất nhiều.
35