Lập trình PLC delta điều khiển servo , Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servo, Lập trình plc trong điều khiển servoLập trình PLC Delta điều khiển Servo bằng lệnh phát xung Ứng dụng PLC Delta, Servo Delta trong công nghiệp chế tạo máy. Mở đầu: Sau khi làm quen với PLC và Servo, lập trình viên có thể tìm hiểu thêm về điều khiển phát xung để điều khiển Servo ở chế độ điều khiển vị trí. Ứng dụng trong các máy cắt bao bì, máy đóng gói, máy phóng nguyên liệu, ... Với Servo, sẽ có tham số cho phép cài đặt hiệu chỉnh số xung 1 vòng quay. PLC sẽ có lệnh phát xung với các tham số về tần số phát xung, số xung phát ra. Vấn đề điều khiển: Cài đặt Servo ở chế độ điều khiển vị trí: khi đó với mỗi 1 vòng quay của Motor, bộ điều khiển Drive của Servo sẽ quy thành số xung. Ví dụ là 160.000 xungvòng quay. Điều này có nghĩa : PLC phát đủ 160.000 xung thì động cơ Servo sẽ quay được đúng 1 vòng. Ở bài viết này, tôi chưa đề cập tới độ phân giải tức là số xung của Encoder được gắn trên động cơ. Về tốc độ: tốc độ động cơ ở chế độ điều khiển vị trí sẽ được tính tương đương với tần số phát xung của PLC. Chúng ta có thể dựa vào tần số + số xung vòng
Trang 1dailybientandelta.com http://www.dailybientandelta.com/2013/03/lap-trinh-plc-delta-dieu-khien-servo.html#.Vie4utJrukp
Lập trình PLC Delta điều khiển Servo
Lập trình PLC Delta điều khiển Servo bằng lệnh phát xung - Ứng dụng PLC Delta, Servo Delta trong công nghiệp chế tạo máy.
Mở đầu:
- Sau khi làm quen với PLC và Servo, lập trình viên có thể tìm hiểu thêm về điều khiển phát xung để điều khiển Servo
ở chế độ điều khiển vị trí Ứng dụng trong các máy cắt bao bì, máy đóng gói, máy phóng nguyên liệu,
- Với Servo, sẽ có tham số cho phép cài đặt hiệu chỉnh số xung / 1 vòng quay
- PLC sẽ có lệnh phát xung với các tham số về tần số phát xung, số xung phát ra
Vấn đề điều khiển:
- Cài đặt Servo ở chế độ điều khiển vị trí: khi đó với mỗi 1 vòng quay của Motor, bộ điều khiển - Drive của Servo sẽ quy thành số xung Ví dụ là 160.000 xung/vòng quay Điều này có nghĩa : PLC phát đủ 160.000 xung thì động cơ Servo sẽ quay được đúng 1 vòng Ở bài viết này, tôi chưa đề cập tới độ phân giải tức là số xung của Encoder được gắn trên động cơ
- Về tốc độ: tốc độ động cơ ở chế độ điều khiển vị trí sẽ được tính tương đương với tần số phát xung của PLC Chúng ta có thể dựa vào tần số + số xung/ vòng để quy ngược lại thành tốc độ vòng/ phút của Motor, xem chi tiết cách tính bên dưới
Vấn đề lập trình PLC:
- Lệnh điều khiển phát xung:
( Do bố cục blog, hình ảnh sẽ được thu nhỏ, nếu quý vị và các bạn cần tham khảo, xin vui lòng click lên hình ảnh để được xem với kích thước thực )
+ Trong hình trên:
P1 là chương trình con P1 tên do người lập trình đặt là AC Servo
M1000 là bit luôn ON khi PLC RUN - dùng để tạo điều kiện đầu vào cho câu lệnh, tránh trường hợp vô điều kiện M13 là bit Rơ le phụ trong chương trình và được người lập trình đặt cho phép thực hiện lệnh phát xung
M10 là bit Rơ le phụ trong chương trình và được người lập trình đặt cho phép chạy chế độ phát xung liên tục, không giới hạn số xung
M1029 là bit Rơ le trạng thái trong chương trình và được PLC tự động ON khi lệnh phát xung phát đủ số xung đã yêu cầu ( Trong chế độ phát xung có giới hạn) và không ON khi chạy liên tục
M12 là bit Rơ le phụ trong chương trình và được người lập trình đặt cho chế độ tự động
Ở ví dụ lập trình trên, chúng ta chỉ quan tâm tới lệnh phát xung và bit báo trạng thái phát xung hoàn thành.
+ Cách viết lệnh phát xung:
Trong cửa số soạn thảo chương trình theo dạng Ladder, người lập trình chỉ cần gõ trực tiếp câu lệnh :
Trang 2DPLSY D500 D510 Y0
+ Với ví dụ này:
Cấu trúc lệnh phát xung DPLSY bao gồm:
chữ D nghĩa là dạng Double, các thanh ghi dữ liệu được sử dụng sẽ ghép đôi trở thành thanh ghi lớn hơn.
Ví dụ trên: D500 là thanh ghi 16 bit với PLC Delta, khi dùng trong câu lệnh có Double sẽ được ghép chung với 1 thanh ghi phía sau là D501 trở thành thanh ghi 32 bit Khi đó D501 và D500 sẽ trở thành 1 thanh ghi và được chia làm 2 phần chứa trong D501 và D500 dưới dạng byte thấp và byte cao
Chữ PLSY là ký hiệu của lệnh phát xung vuông trong PLC với ngõ ra Y
D500-D501 ( Double) : Là thanh ghi chứa giá trị của tần số phát xung, tính theo đơn vị Hz dạng số nguyên D510-D511 ( Double) : Là thanh ghi chứa số xung sẽ phát ra tại ngõ ra phát xung
Y0 là địa chỉ của ngõ ra Y0, nơi mà xung sẽ được phát ra Tùy theo loại PLC mà lựa chọn ngõ ra phát xung được quy định trong tài liệu
M1029 là bít báo trạng thái của PLC: Khi M1029 ON, có nghĩa là lệnh phát xung ở ngõ ra Y0 đã phát đủ số xung trong thanh ghi D510-D511
Nếu D510-D511 = 0, khi đó PLC sẽ không hiểu theo nghĩa số xung phát ra = 0 PLC sẽ hiểu ngược lại là phát xung liên tục, không giới hạn
Chú ý: với mỗi loại PLC sẽ bị giới hạn tốc độ phát xung và số ngõ ra cho phép phát xung khác nhau Người lập trình
cần đọc kỹ tài liệu của PLC khi lựa chọn.
Tham khảo:
DVP14SS211T : phát xung 10kHz
DVP12SC11T : Phát xung 100kHz
DVP28SV11T : phát xung 200kHz
Ngoài ra cần phải chú ý, với ngõ ra phát xung, PLC được chọn phải là dạng ngõ ra Transistor, tuyệt đối không phải Relay.
Khi nào thì lệnh phát xung có tác dụng ?
Khi điều kiện lập trình đạt yêu cầu, xem hình ví dụ bên dưới:
Khi M111 ON, và giá trị D500 ( 16 bít, không phải Double 32 bit ) được đặt, lệnh phát xung sẽ có tác dụng, ngõ ra Y0
sẽ có một chuỗi xung vuông đến khi số xung phát ra bằng với thanh ghi D510 Và nếu D510 = 0 thì lệnh phát xung sẽ tạo ra một chuỗi xung liên tục đến khi bit M111 được OFF
Ở đây tần số phát xung là D500 = 100Hz
Trang 3Làm sao để biết PLC đã phát xung hoàn thành, kết thúc:
Như đã nêu ở trên, bit M1029 sẽ báo trạng thái kết thúc lệnh phát xung khi số xung là 1 số khác 0 và bằng với giá trị lưu trong thanh ghi chứa số xung phát ra ( D510 )
Lập trình viên có thể lập trình kiểm tra trạng thái của bit M1029 để xác nhận việc phát xung đã kết thúc.
Ví dụ khi lập trình máy cắt bao bì, với chiều dài túi tương đương với 5000 xung, chúng ta dùng lệnh trên và nạp giá trị phát xung là K5000 vào thanh ghi D510, tốc độ tùy theo yêu cầu và quy thành Hz nạp vào thanh ghi D500.
Khi nạp xong giá trị, Set ON bit M111, PLC sẽ thực hiện phát xung ở ngõ ra Y0, và khi phát đủ 5000 xung tương đương với chiều dài bao bì, Bit M1029 sẽ ON Lúc này dùng logic lập trình để hủy phát xung <=> Set OFF M111, và thực hiện bước tiếp theo như ra lệnh cắt bao bì, thổi túi,
Cách lập trình tính toán chiều dài thực tế và quy thành chiều dài trên PLC
Chúng ta đã được biết, với ví dụ là tham số đặt số xung / vòng quay là 5000 xung Đây là 1 điều kiện cần để tính toán chiều dài thực tế
Sau khi có đầy đủ phần cơ khí, chúng ta cần tính thêm và phải đo thực tế hoặc tính toán thiết kế ngay từ ban đầu như sau: số mm / vòng quay của trục động cơ Servo Tức là khi trục động cơ quay 1 vòng, phần dịch chuyển của máy di chuyển 1 chiều dài bao nhiêu? Giả sử là 25mm/ vòng quay
Từ đó ta có công thức tính ứng với chiều dài dịch chuyển là 50cm <=> 500mm là :
Số xung cần phát = ( chiều dài đặt ) / ( chiều dài / vòng quay ) x ( số xung / vòng quay )
=> Số xung cần phát = 500 / 25 x 5000 = 100 000 xung
Vậy chỉ cần viết lệnh phát đủ 100.000 xung thì động cơ sẽ quay và làm máy dịch chuyển 50cm
Có một mẹo khi lập trình với số nguyên Int mà không muốn chuyển sang số thực Real là: thực hiện phép nhân trước
và phép chia sau Vì nếu thực hiện phép chia số nguyên, phần dư sẽ bị cắt bỏ Khi đó càng về sau, sai số càng lớn.
Với việc đo thực tế, sẽ có sai số nhất định nhưng sẽ khiến việc thiết kế cơ khí không cần tính toán chi tiết tỷ số truyền của phần truyền động Để lấy thêm độ chính xác, chúng ta có thể quy chiều dài ra giá trị nhỏ hơn Sau kết quả thu được, chúng ta sẽ quy đổi về Cm hoặc mm tùy theo yêu cầu
Cách lập trình tính toán tốc độ thực của Motor Servo theo tần số phát xung:
- Giả sử chúng ta phát xung với tần số 100Hz
- Giả sử tốc độ định mức của động cơ là 3000 vòng/ phút, và tham số đặt số xung / vòng quay là 5000 xung/vòng quay
=> Tính tốc độ động cơ tại tần số 100Hz ?
Cách tính như sau:
100Hz <=> 1 giây phát 100 xung => 1 phút phát số xung là : 100 x 60 = 6000 xung
=> số vòng quay / phút ở 100Hz là : 6000 / 5000 = 1.2 Vòng / Phút
Tại sao lại phải quan tâm tới tốc độ định mức của Motor khi thực hiện lệnh phát xung điều khiển ???
Giả sử với tốc độ 3000 vòng / phút, 5000 xung / vòng quay
=> số xung cần phát trong 1 phút là : 3000x5000 = 15.000.000 xung
=> số xung cần phát trong 1 giây là : 15.000.000 / 60 = 250.000 xung
=> Tần số phát xung để đạt tốc độ 3000 vòng/ phút là : 250.000 Hz = 250kHz
Vậy nếu chúng ta phát tần số > 250kHz, nghĩa là Drive sẽ nhận quá số xung định mức / giây => không điều khiển được, gây giật động cơ, có thể bị mất xung gây sai số về vị trí đã tính toán
Trang 4Tốc độ phát xung có ảnh hưởng gì tới lựa chọn PLC ???
Với mỗi loại PLC sẽ được thiết kế đặc biệt cho ngõ ra phát xung Số lượng ngõ ra phát xung và tốc độ ( tần số ) ngõ
ra tỷ lệ thuận với giá thành sản phẩm và hiệu quả của hệ thống
Giả sử chúng tay chỉ cần phát 5kHz, khi đó chỉ cần lựa chọn PLC có tốc độ phát xung > 5kHz
Ví dụ: DVP14SS211T : phát xung 10kHz
Hoặc nếu lựa chọn PLC phát xung tốc độ thấp khi cần tới tốc độ cao hơn sẽ không thể đáp ứng
Nếu chúng ta lập trình phát với tốc độ cao hơn tốc độ cho phép của PLC theo các cách tính ở trên, dẫn tới ngõ ra phát xung không đáp ứng được và có thể gây mất xung
Sự khác nhau cơ bản giữa ngõ ra phát xung tốc độ cao và ngõ ra không phát xung hoặc tốc độ thấp ???
Ngõ ra phát xung được thiết kế bằng các linh kiện bán dẫn có tốc độ đóng cắt cao như Transistor trường ( Như Mos FET, )
Ngõ ra không có khả năng phát xung tốc độ cao như ngõ ra dạng Relay - do đáp ứng cơ cấu cơ khí chậm và tuổi thọ
cơ khí khi đóng cắt nhanh là không cao gây lên việc không thể phát với tốc độ quá cao và không nên dùng để phát xung liên tục dù tốc độ thấp Chu kỳ có thể là 1 hoặc nhiều hơn 1 giây nhưng vẫn gây giảm tuổi thọ đáng kể của Relay
Ngõ ra không có khả năng phát xung tốc độ cao nhưng vẫn cho phép phát ở tốc độ thấp hơn bằng các lệnh tương tự,
đó là ngõ ra dạng Transistor lưỡng cực BJT
Các kiến thức về phần cứng - điện tử , các bạn vui lòng trao đổi trực tiếp hoặc tìm hiểu qua mạng và sách vở
Biên soạn : Nguyễn Bá Quỳnh - CN Điện tử - tự động hóa.
Ngày 30/03/2013