-
Little PLC

[Logix] Bài 13: Sử dụng Add On Intruction trong Rslogix 5000
Đối với các đối tượng điều khiển tương tự nhau (ví dụ như điều khiển nhiều Motor giống nhau), thay vì viết lại các đoạn lệnh cho từng đối tượng, ta có thể viết thành một hàm điều khiển chung, từ đó khi cần điều khiển cho đối tượng nào, chỉ cần gọi hàm đó với các thông số đầu vào, đầu ra cụ thể. Một hàm điều khiển như vậy trong Rslogix 5000 gọi là Add-On Instruction (AOI). Trong thực tế, việc tổ chức chương trình trong đó sử dụng các AOI là rất hữu ích.
Lợi ích
Có thể sử dụng lại Code
Nếu thuật toán điều khiển cho một đối tượng nào đó sử dụng nhiều lần trong một chương trình, AOI sẽ giúp việc lập trình nhanh hơn, không phải viết lại nhiều lần
Viết một lần, sử dụng cho nhiều dự án: AOI có thể Export ra thành file độc lập và Import vào các dự án khác nhau (trên thực tế người ta thường làm thành các bộ thư viện AOI cho các đối tượng thông dụng trong công nghiệp, khi lập trình chỉ cần Import vào để sử dụng)
Chương trình dễ hiểu hơn
Đối với chương trình điều khiển phức tạp, việc tổ chức thành các AOI, thành các khối điều khiển giúp chương trình dễ đọc và dễ hiểu hơn
Dễ bảo trì chương trình
Khi cần chỉnh sửa thuật toán cho các đối tượng, chỉ cần chỉnh sửa trong AOI, chương trình sẽ tự động cập nhật cho các đối tượng trong chương trình.
Bảo vệ tài sản trí tuệ
Rslogix 5000 cho phép bảo vệ mã nguồn chương trình cho các AOI do đó người viết có thể khóa các AOI của mình, tránh bị Copy chỉnh sửa,…
Các bước tạo AOI
Các bước sau đây minh họa một AOI đơn giản. Ban đầu ta có đoạn chương trình như sau:

Ta sẽ thực hiện lại đoạn chương trình trên bằng AOI. Tạo New Add-On Instruction

Nhập các thông tin của AOI sẽ tạo:
Tên: Đặt tên cho AOI
Type: Chọn ngôn ngữ định viết cho AOI (ở đây chọn Ladder)

Trong cửa sổ hiện ra, bạn khai báo các thông số như sau

Quan trọng!
Parameter: Phải định nghĩa các thông số đầu vào và đầu ra cho AOI, xác định các thông số nào bắt buộc, thông số nào hiển thị, thông số nào không. Paramenter là các biến sẽ giao tiếp với chương trình bên ngoài (chương trình sẽ truyền giá trị cho các thông số này để thực hiện đoạn lệnh bên trong AOI). Định nghĩa một parameter cần gồm:
Xác định Parameter đó là Input hay Output
Kiểu dữ liệu
Hiển thị khi gọi AOI hay không…
Local Tag: Các Tag nội trong AOI, chỉ sử dụng trong AOI, bên ngoài không truy cập vào được.
Sau khi chọn xong như trên, Click OK. AOI được tạo như sau.
Double Click vào Logic để mở cửa sổ viết chương trình cho AOI

Viết đoạn chương trình như sau

Chương trình cho AOI được viết trong cửa sổ trên.
Sử dụng AOI
Quay lại chương trình chính, ta thấy trên thanh công cụ lệnh, trong Tab Add On sẽ có thểm AOI MY_MOTOR vừa tạo

Để sử dụng, trong Ladder, ta tạo Rung mới và Click vào MY_MOTOR, sau đó gán cá thông số Input/Output cho AOI.
Ví dụ ở đây ta tạo một tag mới MY_MOTOR1, và viết lại đoạn chương trình ban đầu, sử dụng AOI thành.

Hoặc viết ở ngôn ngữ Funtion Block Diagram (FBD) như sau

Trên đây là các bước cơ bản để tạo và sử dụng AOI. Tuy nhiên để có thể sử dụng tối đa chức năng và tìm hiểu đầy đủ AOI, các bạn xem tài liệu tham khảo bên dưới.
GHI CHÚ
AOI không cho phép chỉnh sửa Online. Cho nên nếu các đoạn chương trình cần chỉnh sửa Online thì không nên sử dụng AOI
AOI có thể Export ra thành file độc lập và Import vào các dự án khác nhau.
Ngôn ngữ sử dụng trong AOI chỉ có thể là: LD, FBD và ST (không có SFC)
Tham khảo:
http://literature.rockwellautomation...m010_-en-p.pdf
Giap Van Vy – 2012
-
-
Little PLC

[Logix] Bài 14: Trao đổi dữ liệu giữa các Controller (Controllogix/Compactlogix)
Chia sẻ dữ liệu giữa các Controller với nhau trong cùng một hệ thống là một nhu cầu phổ biến trong điều khiển. Nếu như đối với các PLC đời cũ hoặc của một số hãng, việc chia sẻ thường thông qua các lệnh Message phức tạp giữa các PLC với nhau thì đối với Controllogix, Compactlogix việc trao đổi dữ liệu rất dễ dàng, chỉ cần cấu hình và không cần thêm các lệnh Message nào. Việc trao đổi dữ liệu đó thông qua cơ chế Produce và Consume.
Thực hiện trên mô hình sau:

Hệ thống trên gồm:
CPU A: Controllogix kết nối Ethernet thông qua Module 1756-EN2T
CPU B: Compactlogix L1 kết nối Ethernet trên cổng có sẵn trên CPU.
2 CPU này thực hiện trao đổi dữ liệu các Tag với nhau thông qua mạng Ethernet với sơ đồ như trên.
CPU A cần đọc dữ liệu tag B_PIT100 từ CPU B
CPU B cần đọc dữ liệu tag A_LIT100 từ CPU A
Cấu hình chương trình cho CPU A

>> Tạo Project mới

Thêm Ethernet Module

Từ “Ethernet” ta tạo New Module

Chọn CPU B (ở đây là Compactlogix 1769-L18ERM-BB1B)

Đặt tên, xác định địa chỉ IP của CPU B

Sau khi tạo xong, CPU B sẽ hiển thị trong cây IO như sau

Trong “Controller Tag” ta tạo Tag mới A_LIT100. Tag này sẽ cho CPU khác có thể đọc.

Chọn Properties

Và chọn kiểu là “Produced”. Nghĩa là các CPU khác có thể “Consume”

Xác định số lượng Consume cho phép (mặc định là 1)

Tạo thêm Tag mới B_PIT100, Tag này sẽ đọc giá trị từ CPU B.

Cấu hình nó là Consumed, sau đó chọn Connection

Trong cửa số Connection, ta xác định:
Producer là CPU nào (nghĩa là CPU nào sẽ tạo ra dữ liệu này) ? ở đây là CPU B
Và Produced Tag trên CPU đó là gì (ở đây là B_PIT100)

Cấu hình chương trình cho CPU B
Tạo New Project như sau

Tại cây IO, tạo New Module từ “Ethernet”

Chọn Module 1756-EN2T (Module này là của CPU A, thông qua nó để đi đến CPU A)

ĐỊa chỉ IP, Slot, và Chassis Size là các thông số cần phải chọn đúng ở đây

Chọn Chassis Size là 10 (tùy theo kích thước Chassis thực tế bạn sẽ chọn cho phù hợp)

Khi tạo xong mô đun Ethernet, Backplane của CPU A sẽ hiện ra tương tự như sau. Tại Backplane, chọn New Module

Chọn CPU (là Partnumer của CPU A – ở đây là 1756-L75)

Chọn đúng Version

Chọn đúng Slot (ở đây là Slot 0)

Tạo tag mới trong Controller Tag của CPU B. Tạo tag B_PIT100. Tag này sẽ cung cấp dữ liệu cho CPU A ở trên, do đó ta cấu hình nó là Produced Tag (cấu hình tương tự như trên CPU A).



Ta tạo thêm tag A_LIT100, là Tag sẽ đọc dữ liệu từ tag “A_LIT100″ của CPU A do đó sẽ cấu hình nó là Consumed Tag



Download và kiểm tra
Sau khi thực hiện các bước trên, ta có thể download chương trình để kiểm tra. Khi Online cả 2 chương trình, thay đổi dữ liệu các Tag A_LIT100 trên CPU A thì trên CPU sẽ cập nhật ngay dữ liệu và khi thay đổi giá trị B_PIT100 trên CPU B thì giá trị trên CPU A cũng được cập nhật.

GHI CHÚ
Produced và Consumed có thể thực hiện với các Controller và Network sau

Một Producer có thể có nhiều Consumer
Tham khảo:
http://literature.rockwellautomation...m011_-en-p.pdf
Giap Van Vy – 2012
-
-
Little PLC

[Logix] Bài 15: Tích hợp biến tần PowerFlex với Compactlogix/Controllogix qua Etherne
Với sự phát triển của mạng Ethernet công nghiệp, việc tích hợp các thiết bị điều khiển trở nên đơn giản hơn rất nhiều so với kết nối truyền thống. Trong bài này, chúng ta sẽ tìm hiểu về các bước tích hợp biến tần PowerFlex vào chương trình điều khiển của Controllogix hoặc Compactlogix thông qua mạng Ethernet/IP.
Mô hình phần cứng minh họa như sau:

Hệ thống gồm một bộ Compactlogix L18 và một bộ PowerFlex 700 (Ở đây xem như biến tần đã được cài đặt xong các thông số cơ bản).
Thực hiện
Trong Rslogix 5000 tạo một Project mới (các bước tương tự như các bài trước)


Từ “Ethernet” tạo New Module

Chọn biến tần PowerFlex (chọn đúng loại mà bạn có)

Đặt tên, địa chỉ IP và click “Change” để cấu hình thông số cho biến tần này

Chọn đúng thông số biến tần. Ở đây nếu bạn đang kết nối Online với biến tần (trong Rslinx Classic thấy biến tần), thì có thể chọn Match Drive bên dưới, chương trình sẽ tự lấy thống số từ biến tần lên.

Khi tạo xong, biến tần sẽ hiển thị trong cây IO như sau:

Và trong Controller Tag, ta thấy xuất hiện thêm các Tag VFD:I và VFD:O (VFD là tên đặt cho biến tần lúc cấu hình)

ở đây, VFI:I Là các thông số đọc về từ biến tần, VFD:O là các thông số Output từ Controller gửi ra biến tần

Mở rổng ra, ta thấy các thống số có thể đọc về từ biến tần:

Các thông số Output từ Controller ra biến tần.

Như vậy, nếu muốn đọc trạng thái của biến tần, ta chỉ cần đọc các giá trị trong VFD:I, còn muốn ghi các lệnh điều khiển, tốc độ tham chiếu,… từ Controller ra biến tần thì ta chỉ việc ghi vào các Tag VFD: O.
Tạo thêm một số Tag nữa để viết một đoạn chương trình đơn giản như sau;

Viết đoạn chương trình đơn gian:
START biến tần
STOP biến tần
Xóa lỗi biến tần
Cài đặt tần số tham chiếu.

Ở đây, cách tính giá trị tần số tham chiếu ghi ra cho biến tần tùy loại biến tần (cần xem trong tài liệu tham khảo của biến tần đó).
Đối với PowerFlex 700 ở đây thì công thức tính là:
Giá trị ghi xuống biến tần = tần số tham chiếu(hz) *32767/tần số lớn nhất cài đặt trong biến tần (ở đây là 130)
Download và kiểm tra
Kiểm tra Rslinx Classic đã thấy các Controller và biến tần:

Download

Online chương trình

GHI CHÚ:
Bước này thường xảy ra lỗi giữa cấu hình biến tần trên Rslogix 5000 khác với trên thực tế cài đặt của biến tần. Nếu khi Online biểu tượng biến tần trong cây IO có dấu tam giác vàng, tức là biến tần đang bị lỗi.
Double Click vào biến tần và chọn Connect to Drive

Khi đó nếu phát hiện sự khác biệt, chương trình sẽ hỏi Dowload hoặc Upload cầu hình hay không, nếu muốn chọn cấu hình cài đặt hiện tại dưới biến tần thì UPLOAD, còn chọn cấu hình từ Rslogix 5000 thì DOWNLOAD. Khi kết nối bình thường thì sẽ giống minh họa sau

Kiểm tra
Thử thay đổi các giá trị tần số trong Controller Tag

Và Toggle Bit START, STOP để xem biến tần chạy

Trong VFD:I ta sẽ thấy các thông số đọc về từ biến tần

Tóm tắt
Tích hợp biến tần PowerFlex với Controller qua Ethernet/IP giúp đơn giản hóa việc cài đặt, đấu nối phần cứng và mang lại nhiều lợi ích rõ ràng về mặt điều khiển.
Ngoài các thông số mặc định, có thể lấy thêm nhiều thông số khác từ biến tần. Các thông số đọc về sẽ trong các Tag VFD:I và các giá trị ghi ra biến tần sẽ ở trong VFD:O
Khi đang chạy mà bị mất kết nối Ethernet thì biến tần sẽ dừng, và báo lỗi.
Tham khảo thêm về biến tần AB
http://ab.rockwellautomation.com/Drives/Architecture
Giap Van Vy – 2012
-
-
Thành viên cấp 1

Gửi bởi
lamphan_lt
Hi all
Phần này anh Hiếu trình bày thì chi tiết rồi, nhưng hôm trước anh chỉ em cái trang blog của anh Vỹ mà em vô hoài hok dc.
định vào xem học hỏi thêm tí.
tiếp tục đi anh.
tks
Do hệ thống web bảo mật SSL thống báo lỗi trong trình duyệt web google chrom hãy đổi trình duyệt firefox hay tốt nhất IE xem sao
- Còn vấn đề này nửa. là do nha cung cấp mạng adsl chơi trò ngăn chặn 1 số trang nào đó như facebook chẳng hạn, cụ thể là mạng vnpt dạo này củ chuối quá chận tè le. Mà tốc độ truy cập thấp hơn nhiều so với mạng khác cùng tốc độ thuê bao chẳng hạn 3M hay 5M.
- mạng viettel vào ào ào
- Khắc phục đơn giản nhất : là :thêm chữ s vào sau http, do dịch vụ web từ chối chứ không phải là trang độc hại gì đâu, đừng có sợ.
Link: https://jap.vn Sau đó trang web nó cảnh báo lổi không cho truy cập là do anh ta viết web bằng wordpress
-
Bài viết của "zizazizac" đã được cám ơn bởi các thành viên:
-
Thành viên cấp 10

Gửi bởi
zizazizac
Do hệ thống web bảo mật SSL thống báo lỗi trong trình duyệt web google chrom hãy đổi trình duyệt firefox hay tốt nhất IE xem sao
- Còn vấn đề này nửa. là do nha cung cấp mạng adsl chơi trò ngăn chặn 1 số trang nào đó như facebook chẳng hạn, cụ thể là mạng vnpt dạo này củ chuối quá chận tè le. Mà tốc độ truy cập thấp hơn nhiều so với mạng khác cùng tốc độ thuê bao chẳng hạn 3M hay 5M.
- mạng viettel vào ào ào
- Khắc phục đơn giản nhất : là :thêm chữ s vào sau http, do dịch vụ web từ chối chứ không phải là trang độc hại gì đâu, đừng có sợ.
Link:
https://jap.vn Sau đó trang web nó cảnh báo lổi không cho truy cập là do anh ta viết web bằng wordpress
Dear all.
Mình dùng chrome vẫn vào link được .
Regards.
---------------------------------
Thank and Best Regards
cuongvcs
Email :
Hidden Content
Hidden Content
Tel : 0984198685
" Listen. Think. Solve. "
Skype :
cuongvcs
-
-
Thành viên cấp 2
"Số trục Motion"-Nghĩa là gì ?
-
-
Thành viên cấp 10

Gửi bởi
cescktd
"Số trục Motion"-Nghĩa là gì ?
hi you.
Số trục motion là sô trục servo mà dòng plc controllogix có thể điều khiển được .
Regards.
---------------------------------
Thank and Best Regards
cuongvcs
Email :
Hidden Content
Hidden Content
Tel : 0984198685
" Listen. Think. Solve. "
Skype :
cuongvcs
-
-
Thành viên cấp 1
A hiếu cho e hỏi.
- Các Task hoạt động như thế nào thì e hiểu? Thế nhưng trong các task là các PROGRAM. Nếu như chương trình có nhiều PROGRAM thì nó sẽ hoạt động như thế nào. Thứ tự ưu tiên ra làm sao.
- Mình có thể gọi các Routine của các Program khác được không?
Thanks!
-
-
Thành viên cấp 2

Gửi bởi
trung_tuan
A hiếu cho e hỏi.
- Các Task hoạt động như thế nào thì e hiểu? Thế nhưng trong các task là các PROGRAM. Nếu như chương trình có nhiều PROGRAM thì nó sẽ hoạt động như thế nào. Thứ tự ưu tiên ra làm sao.
- Mình có thể gọi các Routine của các Program khác được không?
Thanks!
CÓ BẠN NÀO BIẾT CHẮC VỀ CÂU HỎI NÀY KHÔNG
theo mình nghĩ thì thứ tự ưu tiên của các program là như nhau
và không thể gọi các rountine của program khác được
-
Tag của Chủ đề này
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 05:24 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu