Thông báo

Collapse
No announcement yet.

Kết nối Autobase với Driver Servo Motor

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Kết nối Autobase với Driver Servo Motor

    Servo Motor hiện nay đang được sử dụng rất nhiều trong việc điều khiển vị trí, tốc độ, momen… ứng dụng trong các máy tự động, và đi kèm với Servo motor là bộ điều khiển (Driver) motor .Driver servor có sẵn phần mềm giao diện giám sát và điều khiển. Vấn đề về điều khiển động cơ như thế nào hay cách cài đặt các chế độ điều khiển, kết nối thì nhà sản xuất đã cung cấp tài liệu và viết rất rõ trong User Manual. Với vốn hiểu biết chút ít về servo motor tôi xin rút ra 1 số ý như sau về bộ Driver Servo ASDA-B của Delta:
    - Có khả năng truyền thông sử dụng Modbus Protocol nên có thể sử dụng PLC để kết nối và điều khiển, có thể sử dụng VB, VC… để tạo giao diện giám sát và điều khiển.
    - Chế độ điều khiển có 6 chế độ:
    + External Position Control (P)
    + Speed Control (S)
    +Internal Speed Control (Sz)
    +Torque Control (T)
    + Internal Torque Control (Tz)
    + Dual Mode (SP, TP, ST)
    Với mỗi chế độ ta có thể sử dụng xung điều khiển cung cấp từ bên ngoài, hoặc sử dụng các DI (ON/OFF), hoặc sử dụng điện áp để điều khiển… (Tham khảo tài liệu)
    - Driver Servo sử dụng 2 cách truyền thông RS 232 và RS 485. Để sử dụng RS 232 (kết nối 1:1) thì chân 6(SEL) và 8(GND) của CN3 không nối với nhau. Nếu sử dụng RS 485 (Kết nối 1:N) thì nối chân 6 với chân 8.




    - Nguồn: có thể sử dụng nguồn AC 1 pha 220V cấp vào R và S, motor servo 3 đầu dây nối với U,V,W.
    Trong bài này mình sẽ giới thiệu cách sử dụng Autobase để kết nối với Driver servo này. Các bạn cũng có thể sử dụng bộ công cụ MSViSualStudio để tạo giao diện giám sát và điều khiển
    Trước tiên chọn truyền thông cho Driver, sử dụng phần mềm ASDA-soft để thiết lập, khi chạy chương trình nên ta nhấn nút Start Auto detect chương trình sẽ tự động tìm kiếm giao thức truyền thông đã được cài đặt.



    Hãy nhớ các thông số về Station = 1, baud rate 38400, Protocol 8,N,2, Com 6, như trong hình có nghĩa là tôi đang sử dụng cổng com 6 để kết nối với Driver, và giao thức truyền thông là ModBus RTU có Station = 1; Baurate = 38400; 8 bit data, 2 bit stop, N= không kiểm tra chẵn/lẻ. chúng ta có thể thay đổi các thông số ở trong hình như theo ý muốn và nhấn nút Write to Driver.
    Để sử dụng AutoBase hoặc các phần mềm khác để tạo giao diện giám sát và điều khiển thì chúng ta phải có bản đồ vùng nhớ của Driver, biết địa chỉ Modbus của Driver thì chúng ta mới giám sát và điều khiển được, các bạn có thể download bản đồ vùng nhớ ở đây và đọc thêm Usermanual để hiểu rõ hơn.

    Tạo giao diện giám sát và điều khiển với AutoBase
    - Tạo Project mới: mở chương trình Project Manager tạo mới



    - Thiết lập kết nối AutoBase với Driver Servo: chạy chương trình Communication servor trên menu chọn:













    Trong hình trên mục thiết lập Port device các thông số phải giống như các thông số mà phần mềm ASDA-soft đã tìm.
    Tiếp theo chọn Protocol là Modbus 2 và kích thước vùng nhớ như trong hình




    Trong mục Option chọn nút nhấn “…” để chọn đọc các vùng nhớ của Driver theo bản đồ vùng nhớ của driver. Lưu ý ta chỉ nên đọc vùng nhớ nào mà ta muốn hiển thị giá trị để theo dõi để tránh mất tài nguyên hệ thống của máy.




    ở hình dưới thiết lập đọc tất cả các vùng nhớ của Driver (có thể nhập trực tiếp vào vùng bên trong màn hình – kí tự “h” là kiểu dữ liệu Hex)
    READ, 1, 3, 0h, 0, 7,
    READ, 1, 3, 9h, 7, 1,
    READ, 1, 3, 100h, 10, 4,
    READ, 1, 3, 106h, 14, 10,
    READ, 1, 3, 120h, 24, 1,
    READ, 1, 3, 122h, 25, 11,
    READ, 1, 3, 12Dh, 36, 2,
    READ, 1, 3, 134h, 38, 4,
    READ, 1, 3, 200h, 44, 11,
    READ, 1, 3, 20Bh, 55, 5,
    READ, 1, 3, 212h, 60, 3,
    READ, 1, 3, 217h, 63, 11,
    READ, 1, 3, 223h, 74, 4,
    READ, 1, 3, 22Ch, 78, 6,
    READ, 1, 3, 300h, 86, 5,
    READ, 1, 3, 306h, 91, 2,
    READ, 1, 3, 400h, 94, 8,
    READ, 1, 3, 409h, 102, 5,
    READ, 1, 3, 40Fh, 107, 5,
    READ, 1, 3, 416h, 112, 2,





    Sau khi đã kết nối thành công:




    Như vậy là việc kết nối đã hoàn thành, việc tiếp theo là làm thế nào để hiển thị các thông số của Driver servo lên giao diện của chương trình giám sát của AutoBase….
    Mở chương trình AutoBase Studio giao diện như hình sau:




    Giao diện ở trên thực hiện cài đặt tốc độ cho động cơ sử dụng Object Combo Box để cài đặt, để hiển thị các thông số về tốc độ, số vòng…. Ta dùng Object Combo Box thứ 2 để hiển thị. Để điều khiển motor (Jog Controll) ta sử dụng 3 nút nhấn : quay thuận, quay nghịch và dừng.

    Thuộc tính của các Object lần lượt như sau:
    - Object Combo Box dùng để cài tốc độ: để chèn Object trên thanh Menu chọn Object/Windows Control/Combo Box và thiết lập các thuộc tính như hình sau:









    - Object Combo Box dùng để hiện thị các thông số ta cũng làm tương tự như trên nhưng khác nhau với 2 thuộc tính sau:





    Data là các thông số cần chọn để hiển thịDanh sách như sau:
    Feedback Pulse (pulse)
    Motor feed back rotation number(rev)
    Pulse counts of pulse command(pulse)
    Rotation number of pulse command(rev)
    Position error counts(pulse)
    Input frequency of pulse command(kHz)
    Motor rotation speed(rpm)
    Speed input command(Vol)
    Speed input command(rpm)
    Torqutinput command(Vol)
    Torqutinput command(N-M)
    Avegage Load (%)
    Peak Load (%)
    Main circuit voltage (V)
    Ratio of load inertia to Motor inertia(Time)
    IGBT Temperature of power supply module (C)

    Tham khảo ở bản đồ vùng nhớ.

    Email: Hoangminh1803@yahoo.com
    Mobil:0949980857
    Last edited by H2M1803; 16-12-2011, 11:35.

  • #2
    Các nút nhấn ta có thể sử dụng các công cụ sẵn có của AutoBase để hiển thị hoặc chèn ảnh bitmap của button vào để sử dụng.
    Để điều khiển hay hiển thị các giá trị lên màn hình ta cần phải sử dụng các Tag. Ở đây ta chỉ cần sử dụng 3 Tag để giám sát và điều khiển bao gồm:

    2 Tag AO (analog Ouput): dùng để ghi data tới Driver servo
    - Tag AO 1: tên “control” để điều khiển Motor quay thuận/nghich/dừng
    - Tag AO 2: tên “displaycmd” để xuất lệnh để hiển thị các thông số ra màn hình
    1 Tag AI: để hiển thị các thông số lên màn hình

    Thuộc tính và các thông số của Tag như sau:
    Để tạo Tag trên thanh menu của Studio chọn file/Tag editor xuất hiện



    Tạo Tag AO 1 dùng để điều khiển:










    Ở hình trên có các thông số như sau:
    PLC_Scan:
    - Port đang sử dụng trong chương trình Communication server (=0 vì đang dùng Port 0).
    - Station: đây chính là Station của Driver (=1)
    - Address: là word số 1029 của Driver đây là word chứa lệnh điều khiển Jog dùng để điều khiển quay thuận/nghịch/dừng
    - Extra 1: là Function của ModBus (=06 là Write Word)
    Conversion: Đây là mục để thiết lập tỷ lệ giá trị từ màn hình giám sát ghi xuống vùng nhớ của thiết bị. Như trong hình là tỉ lệ 1:1. Lưu ý mục này không được bỏ trống!
    Tương tự ta tạo Tag AO 2 có tên: “displaycmd” Tag này có nhiệm vụ là ghi giá trị xuống word số 4 của vùng nhớ trên Driver, word này dùng để hiển thị 16 giá trị của Driver như số xung của encoder, điện áp…(tham khảo bản đồ vùng nhớ) 16 giá trị này sẽ hiển thị tương ứng với các giá trị được ghi xuống word này.






    Tag AO 2 này cũng có thuộc tính giống như Tag AO 1 ở trên nhưng chỉ khác địa chỉ là Word số 4 của Driver.
    Tạo AI tag để hiển thị giá trị lên màn hình giám sát: Tên “DisplayValue”



    Gán địa chỉ cho Tag Ai như hình sau:



    Sau khi tạo AI Tag ta chèn Object analog String để hiển thị các giá trị của Driverv servo từ menu Studio chọn Object/Analog/Analog string để chèn object hiển thị các giá trị.

    Tiếp theo là viết script cho các nút nhấn điều khiển và combo box.
    - Click x2 vào Combo Box có classname “speed” sau đó chọn thẻ Expand

    [
    đây ta sẽ viết script cho sự kiện “Sel Change” điều này có nghĩa là trong chương trình Runtime đang chạy nếu ta click và chọn các nội dung trong Combo Box thì đoạn script sẽ được thực thi.




    Code:
    str = @ComboBoxGetText("speed");//lấy kí tự từ Combo Box
    $control = @atof(str); // chuyển dữ liệu kiểu String thành kiểu int và gán cho Tag AO
    Mô tả: Trong chương trình Runtime khi chọn các giá trị tốc độ trong Combo Box các giá trị này lập tức được ghi xuống vùng nhớ của Driver Servo.

    Tương tự với Combo Box có classname “display”



    Trong Script ở hình trên biến “index” sẽ lấy các chỉ số của Combo Box tương ứng với các giá trị hiển thị từ 0 ~ 15. (có 16 giá trị cần theo dõi) các giá trị này sẽ gán cho Tag AO “displaycmd” với mỗi giá trị của Tag AO thì thông số tương ứng sẽ được hiển thị trên Object của Tag AI “DisplayValue”.
    Để viết lệnh điều khiển motor quay thuận/nghịch/dừng ta làm như sau:
    Mã điều khiển: Giá trị của Word 1029 =: 4998 quay thuận; 4999 quay nghịch; 5000 dừng
    - Nút “< ==” click X2 vào Object và chọn thẻ Expand






    Với nút “== >”




    Với nút “Stop”



    Như vậy là đã xong bây giờ các bạn có thể chạy thử và điều khiển!
    Các bạn có thể download Project ở đây sau khi download về mở chương trình Project Manager chọn File/restore chọn file zip download về và nhấn Restore
    Full Video:



    Email: Hoangminh1803@yahoo.com
    Mobil:0949980857

    Comment


    • #3
      ặc ặc,đầy đủ quá,thaks bác nhé tết này rảnh test thử coi sao,tết rảnh nhớ mở mạng coi comment nhé

      Comment


      • #4
        Nếu là điều khiển vị trí thì làm thế nào hả bác?

        Comment

        Về tác giả

        Collapse

        H2M1803 Tìm hiểu thêm về H2M1803

        Bài viết mới nhất

        Collapse

        Đang tải...
        X