Chuyển đến nội dung chính

TÀI LIỆU ĐƯỢC HỖ TRỢ BỞI AI

Bạn muốn biết điều gì?

PLC Handshakes

Mỗi giao dịch giữa PLC và OV Spark đều tuân theo một handshake: PLC phát ra yêu cầu, camera xác nhận, và PLC hạ yêu cầu xuống khi đã thấy xác nhận. Có bốn loại: trigger, đọc kết quả, chuyển recipe, và lệnh.

Trang này dành cho kỹ sư điều khiển viết logic PLC. Hoạt động giống nhau trên EtherNet/IP và PROFINET.

Tóm lại
  • Luôn chờ bit ready của camera trước khi phát yêu cầu, và giữ yêu cầu cho đến khi bạn thấy ack
  • Đọc kết quả dựa trên Results Valid cộng với Inspection ID đã thay đổi, không bao giờ chỉ dựa trên một toggle
  • Xác nhận mỗi kết quả, nếu không sẽ không có gì mới được trình bày
Tên tín hiệu ở đây, byte offset lấy từ các file được tạo sinh

Trang này đặt tên tín hiệu thay vì địa chỉ, có chủ đích. Bố cục byte và bit được tạo sinh theo từng firmware, vì vậy hãy lấy nó từ file EDS hoặc GSDML cho firmware của camera, hoặc từ các phần tham khảo trên trang Industrial Ethernet của camera. Việc gõ tay offset là cách mà một bản cài đặt rốt cuộc đọc nhầm bit sau khi cập nhật.

Trigger​

  1. Kiểm tra Online = 1, Trigger Ready = 1 và Trigger Ack = 0. Ghi Part ID, và User Data nếu bạn sử dụng, sau đó phát Trigger và giữ nó
  2. Camera chấp nhận ở cạnh lên: Trigger Ready xuống 0, Trigger Ack lên 1, và Part ID cùng User Data được chốt lại. Nếu bị từ chối trigger, Trigger Error sẽ lên và Error ID cho biết lý do
  3. Khi bạn thấy Trigger Ack = 1, hạ Trigger xuống
  4. Camera hạ Trigger Ack xuống. Exposure Complete được đặt khi phơi sáng kết thúc, và Trigger Ready trở về 1 khi lần thu nhận hình ảnh tiếp theo có thể bắt đầu
Cần lưu ý
  • Giữ Trigger ở mức cao không kích hoạt lại. Camera chỉ hành động ở cạnh lên
  • Trigger Error báo cáo trigger cuối cùng từ bất kỳ nguồn nào, không chỉ của bạn. Hãy đọc Error ID để biết lý do thay vì giả định bạn đã trigger quá nhanh
  • Trigger Ready = 1 trong khi Busy = 1 là bình thường khi bộ đệm hình ảnh đang được sử dụng. Camera có thể chấp nhận trigger tiếp theo trước khi inspection hiện tại kết thúc. Đừng chốt điều đó như một lỗi

Đọc kết quả​

Một handshake bao trùm cả hai chế độ. Với Buffer Results Enable = 0, kết quả là trực tiếp và mỗi kết quả ghi đè kết quả trước. Với Buffer Results Enable = 1, tối đa 10 kết quả được xếp hàng.

  1. Chờ Results Valid = 1
  2. Đọc mọi trường kết quả trong một lần quét, cùng với Inspection ID
  3. Nâng Inspection Results Ack lên và giữ nó. Camera lấy ra khỏi hàng đợi, và Results Valid cùng các bit pass và fail xuống 0
  4. Khi bạn thấy Results Valid = 0, hạ Ack xuống. Nếu có thêm kết quả trong hàng đợi, kết quả tiếp theo sẽ được trình bày ở cạnh xuống đó

Hãy coi Results Valid chuyển từ 0 lên 1 kèm theo Inspection ID đã thay đổi là một kết quả mới.

Cần lưu ý
  • Inspection Completed toggle; nó không phải là một mức. Trong chế độ buffered, nó đánh dấu một lần hoàn thành chứ không phải một lần trình bày, vì vậy nó có thể lật trong khi các trường kết quả vẫn giữ nguyên. Không bao giờ đọc kết quả chỉ dựa trên toggle
  • Chế độ live có thể che giấu một inspection. Hai lần hoàn thành trong một khoảng thời gian gói tin có thể trông giống như một lần lật. Chế độ buffered miễn nhiễm với điều này
  • Thay đổi Buffer Results Enable sẽ hủy hàng đợi và kết quả đang được trình bày, ở cả hai cạnh
  • Khoảng cách trong Inspection IDs nghĩa là một trigger được chấp nhận không tạo ra kết quả: bị hủy, bị bỏ, hoặc bị chặn
  • Khi Ack đang ở mức cao, không có gì mới được trình bày, bất kể có bao nhiêu inspection hoàn thành

Phán quyết tổng thể nằm trong Inspection Pass và Inspection Fail. Cả hai ở mức 0 nghĩa là không có kết quả. Chi tiết từng tool đến từ các slot bạn gán ở Bước 5: Outputs.

Chuyển recipe​

  1. Kiểm tra Recipe Switch Ack = 0, ghi Recipe ID, sau đó nâng Recipe Switching Request
  2. Nếu được chấp nhận: Recipe Switch Ack lên, Trigger Ready xuống, và Online xuống với Offline Reason = 3, đang tải recipe. Nếu bị từ chối: Recipe Switch Error lên, với lỗi recipe không xác định hoặc bận
  3. Khi tải hoàn tất: Current Recipe ID, Recipe Version và Tool Count cập nhật, Recipe Load Complete lên, và Online trở về 1
  4. Hạ Recipe Switching Request xuống. Camera xóa Ack và Recipe Load Complete
Cần lưu ý
  • Giữ Recipe ID không đổi từ cạnh lên của yêu cầu cho đến Ack
  • Các bộ phận đang trong quá trình sẽ hoàn tất với recipe cũ. Chúng mang recipe cũ trong Recipe ID During Judgment, vì vậy hãy sử dụng giá trị đó, không phải Current Recipe ID, để diễn giải một kết quả
  • Kết quả trong hàng đợi vẫn tồn tại qua việc chuyển đổi và giữ nguyên recipe đã phán quyết chúng
  • Nếu tải thất bại, recipe trước đó vẫn được giữ nguyên
  • Recipe ID là PLC recipe ID được đặt ở Bước 5: Outputs. Việc nhân bản hoặc import một recipe sẽ cấp cho nó một ID mới

Lệnh​

  1. Kiểm tra Command Ready = 1, ghi Command ID và Command Arg 0 đến 3, sau đó nâng Execute Command lên và giữ nó
  2. Camera chốt ID và các đối số: Command Ready xuống, Command Executing lên
  3. Khi hoàn tất, một bản cập nhật mang tất cả Command Response 0 đến 3, Command Result Code, Command Executing = 0, Command Complete = 1 và, khi thất bại, Command Failed = 1. Những giá trị này không bao giờ bị chia tách qua nhiều lần quét
  4. Đọc phản hồi và hạ Execute Command xuống. Camera xóa Command Complete và đưa Command Ready trở về 1

Danh sách lệnh và mã kết quả nằm trong các phần Command reference và Codes trên trang Industrial Ethernet của camera.

Một trình tự PLC vững chắc​

Đối với một dây chuyền điển hình, logic tồn tại được trong sản xuất trông như sau:

  1. Khi bộ phận hiện diện, chờ Trigger Ready, rồi trigger
  2. Chờ Results Valid với một Inspection ID mới
  3. Đọc phán quyết, bất kỳ slot nào bạn cần, và Recipe ID During Judgment
  4. Xác nhận
  5. Hành động dựa trên phán quyết, khớp với bộ phận bằng Part ID hoặc Inspection ID
Khớp kết quả với bộ phận theo ID, không theo thời gian

Giả định rằng kết quả tiếp theo thuộc về bộ phận tiếp theo sẽ hoạt động cho đến khi trigger đầu tiên bị bỏ. Hãy ghi một Part ID với mỗi trigger và kiểm tra nó quay trở lại cùng với kết quả, và một bộ phận bị bỏ sót sẽ không thể làm xê dịch mọi phán quyết sau đó.

Quay lại lộ trình bắt đầuKết nối với PLC