Tải bản đầy đủ (.pdf) (16 trang)

Phương pháp lập trình cho dòng pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (548.28 KB, 16 trang )

Phương pháp lập trình cho dịng PAC
COMPACTLOGIX của ROCKWELL


Tóm tắt : Chúng ta đã biết các thế mạnh của dòng PAC CompactLogix, một dòng
PLC chất lượng cao của Rockwell tuy nhỏ gọn nhưng rất mạnh mẽ, tin cậy, linh
hoạt, dễ dàng trong việc lắp đặt và bảo trì ... Trong bài này chúng ta sẽ tiếp tục tìm
hiểu phương pháp lập trình, debug chương trình cho dịng PLC này.
I.

Kết

nối

PLC

với

máy

tính

Dịng CompactLogix của Rockwell có 2 cổng giao tiếp để kết nối với máy tính
cũng như kết nối với mạng điều khiển: Một cổng RS232 được cách ly hoàn toàn và
có thể nối trực tiếp vào mạng (Ngoại trừ bộ điều khiển L35 có 2 cổng RS232), và
một cổng RJ45 để kết nối mạng Erthernet. Với hai cổng truyền thông này, người
dùng có thể tích hợp PLC vào hầu hết các mạng điều khiển. Với bộ phần mềm
mạnh mẽ đi kèm, chúng ta có thể dễ dàng kết nối PLC với máy tính để lập trình,
debug, điều khiển PLC hay thu thập số liệu từ PLC lên máy tính.
Để kết nối máy tính với cổng RS232, trước tiên ta cần nối dây từ cổng RS232 của
máy tính tới cổng RS232 của PLC bằng cáp 1747-CP3 hoặc 1756-CP3. Nếu là cáp


tự nối thì phải nối cáp chéo theo sơ đồ hình 1:


Hình 1 : Sơ đồ nối dây cho cáp RS232

Dùng phần mềm RSLinx để cài driver cho cổng RS232. Mở phần mềm RSLinx
Classic Gateway. Vào thẻ CommunicationConfigure Drivers, hộp thoại cấu hình
driver hiện lên: Trong ơ Available Driver Devices, kéo combo box xuống và chọn
RS-232 DF1 devives. Sau đó nhấn Add NewOK. Các bạn nhập các thông số về
cổng truyền thông, tốc độ baud … như mong muốn và nhấn OK. Sau đó, các bạn
sẽ thấy trong mục Configure Drivers hiện lên dịng thơng báo Driver cho cổng
RS232

đang

chạy.

Việc kết nối PLC với máy tính qua cổng mạng RJ45 có thể làm trực tiếp qua cáp
mạng được đấu thẳng hoặc thông qua hub. Khi kết nối đã được xác lập đúng, quan
sát đèn Link(LNK) bên cạnh cổng RJ45 sẽ chuyển sang màu xanh ổn định. Để máy
tính có thể giao tiếp với PLC thông qua cổng mạng, trước tiên ta phải thiết lập một
IP cho PLC. Trước tiên, đặt IP tĩnh cho máy tính (ví dụ là 192.167.1.117). Ghi nhớ
Subnet Mask của máy tính (thường là 255.255.255.0). Mở phần mềm BOOTPDHCP Server có trong bộ phần mềm Rockwell Software. Vào mục ToolNetwork


Setting. Nhập Subnet Mask và nhấn OK. Trong hộp Request History sẽ hiện lên
các thiết bị được liên kết mà chưa có IP. Chú ý thiết bị có địa chỉ MAC trùng với
địa chỉ MAC của controller (Được ghi trên mặt Controller). Click đúp vào thiết bị
đó và chỉ định một địa chỉ IP cho thiết bị (Không trùng với các thiết bị khác trong
mạng). Khi đó trong hộp Relation List sẽ xuất hiện các mục địa chỉ MAC, tương

ứng với các địa chỉ IP. Chọn mục đó, click vào nút Disable BOOTP/DHCP để kết
thúc quá trình cài đặt IP. Khi mục Status hiển thị [Disable BOOTP/DHCP]
Command successful là quá trình cài đặt IP thành cơng.

Hình 2 : Giao diện cấu hình Driver cho PLC bằng
RSLinx

Khi bộ điều khiển đã được cấp IP mà ta muốn thay đổi IP cho nó, trước tiên ta phải
xóa IP cũ rồi thiết đặt lại IP mới. Để xóa IP cũ, mở phần mềm BOOTP-DHCP
Server. Trong mục Relation List nhấn nút New, nhập vào hộp thoại Properties địa


chỉ MAC và IP cũ của bộ điều khiển rồi nhấn OK. Chọn Controller trong hộp
Relation List và nhấn Delete. Đóng phần mềm BOOTP-DHCP Server lại, tắt
nguồn PLC để hồn tất q trình xóa IP.

Hình 3 : Đặt IP tĩnh cho cổng Ethernet của PLC bằng
BOOTP-DHCP Server

Khi PLC đã có IP, ta tiến hành cài đặt Driver cho cổng RJ45 bằng phần mềm
RSLinx, tương tự như cài Driver cho cổng RS232. Chỉ khác là trong combo box
Available Driver Devices ta chọn Ethernet/IP Driver và trong hộp thoại Configure
Driver : AB-ETHIP-1, ta chọn Browse Local Sub. Kiểm tra trong hộp thoại
Configure Drivers thấy có thơng báo AB_ETHIP-1 AB-Ethernet Running là đã
hồn

thành.

Sau khi cài đặt Driver cho cổng PLC thích hợp (bạn dùng cổng giao tiếp nào thì



chỉ cần cài driver cho cổng đó), chúng ta cần cập nhật firmware cho PLC. Nếu
PLC đã được cập nhật phiên bản firmware 17.x thì chúng ta có thể bỏ qua bước
này. Vào thư mục ProgramFlash Programming Tool mở phần mềm ControlFlash.
Trong Catalog Number, chọn đúng tên của bộ PLC, sau đó chọn đường liên kết tới
thiết bị cần cập nhật, chọn phiên bản firmware cần cập nhật, chuyển khóa chế độ
trên PLC sang vị trí PROG, nhấn Next FinishYes và chờ cho việc cập nhật hoàn
thành.
Chú ý : - Cần chạy phần mềm RSLinx trong quá trình cập nhật Firmware
- Khơng được ngắt qng trong q trình cập nhất nếu khơng bộ điều khiển có thể
khơng hoạt động được.

Hình 4 : Cập nhật Firmware cho bộ điều khiển bằng
Control Flash


Chúng ta đã xong phần chuẩn bị kết nối PLC với máy tính. Bây giờ, chúng ta có
thể dùng phần mềm RSLogix5000 của hãng để lập trình, debug, tải phần mềm
xuống
II.

PLC
Lập

cũng
trình

như

lấy


cho

PLC

phần

mềm

bằng

từ

phần

PLC
mềm

lên

máy

tính.

RSLogix5000.

RSLogix5000 là phần mềm chun dụng để lập trình cho các dòng PLC của
Rockwell. Đây là một phần mềm mạnh, tích hợp cả 3 ngơn ngữ lập trình là: lập
trình hình thang (ladder), lập trình hình khối (Block) và lập trình bằng mã nguồn
(Source Code). Chúng ta sẽ tiếp cận việc lập trình bằng ngơn ngữ thơng dụng nhất

là ngơn ngữ ladder.

Hình 5 : Tạo dự án mới


1. Cấu hình các module cho hệ thống
điều

khiển

Mở phần mềm RSLogix5000. Tạo một dự
án

mới

bằng

cách

vào

FileNew.

Chọn đúng loại bộ điều khiển, đặt tên cho
bộ điều khiển cũng là tên của dự án, chọn
thư

mục

chứa


dự

án.

Dự án được mở ra, giao diện phần mềm
như

sau:

Trong phần I/O Configuration, chúng ta
thấy tên bộ điều khiển mà ta đã chọn. Với
dịng CompactLogix, ngồi module CPU
cịn có các module I/O tích hợp sẵn. Ta có
thể thấy chúng trong phần Embedded I/O.
Nếu chúng ta gắn thêm các module mở
Hình 6 : Giao diện quản lý dự án
rộng khác vào hệ thống thì chúng ta phải
khai báo trong phần Expansion I/O. Nếu không khai báo hoặc khai báo sai, các
module

sẽ

không

thể

điều

khiển


được.

Khi các module đã được khai báo đầy đủ, chúng ta có thể cấu hình cho từng
module riêng lẻ bằng cách click đúp chuột trái vào tên từng module. Mỗi module


sẽ có một giao diện cấu hình riêng tùy thuộc vào chức năng của module đó. Nói
chung, ta có thể cho phép/cấm các kênh I/O trên module, đặt các tùy chọn để báo
lỗi, debug chương trình … Một thơng số mà ta cần quan tâm trong khi cấu hình là
RPI (Requested Packet Interval). PLC của Rockwell có cơ chế nhận dữ liệu từ các
đầu vào bằng vòng quét độc lập với chương trình logic chính. Cứ mỗi khoảng thời
gian được chỉ định bằng thông số RPI, PLC lại cập nhật các đầu vào và đưa vào
các vùng đệm tương ứng. Chương trình logic chính sẽ lấy số liệu từ các vùng đệm
để thực hiện việc điều khiển. Việc thiết lập 2 vòng quét song song như vậy rất tiện
lợi. Người lập trình khơng phải quan tâm tới việc xử lý ngắt trong quá trình lấy dữ
liệu cũng như trong truyền thơng giữa CPU và các thiết bị khác. RPI có thể được
thiết

lập

trong

khoảng

0.2

-

750ms.


Sau khi cấu hình cho các module trong hệ thống, chúng ta sẽ viết chương trình cho
PLC
2.

dùng
Lập

ngơn

ngữ

ladder.

trình

cho

PLC

Trước khi lập trình, hãy tìm hiểu một số thuật ngữ dùng trong phần mềm
RSLogix5000.
- Tag: Tags là một tên bằng chữ dùng để chỉ định một vùng nhớ nơi mà dữ liệu
được cất giữ. Tags là một cơ cấu cơ sở dùng để chỉ định bộ nhớ, tham chiếu các dữ
liệu và giám sát dữ liệu. Mỗi tag được chỉ định ít nhất 4 byte trong bộ nhớ.
Tag được chia làm 4 loại là : Base, Alias, Produced và Consumed. Kiểu Base là


kiểu cơ bản dựa trên các kiểu dữ liệu. Kiểu Alias là kiểu bí danh, dùng để đặt tên
gợi nhớ cho các Tag kiểu cơ bản. Kiểu Produced và Consumed tương ứng là Tag

truyền và Tag nhận, chỉ dùng khi cần trao đổi dữ liệu giữa các bộ điều khiển khác
nhau.
Kiểu dữ liệu cho Tag rất phong phú gồm các kiểu cơ bản như : BOOL, INT, REAL
… và các kiểu dữ liệu có cấu trúc. Các kiểu dữ liệu cấu trúc có thể do người lập
trình tự định nghĩa. Bản thân RSLogix5000 cũng đã định nghĩa sắn rất nhiều kiểu
dữ liệu cấu trúc rất tiện lợi cho việc lập trình các ứng dụng khác nhau.
Tag có 2 mức phạm vi tác dụng là phạm vi bộ điều khiển, có tác dụng trong toàn
bộ ứng dụng, được quản lý trong thẻ Controller Tags và phạm vi chương trình con,
chỉ có tác dụng trong mỗi tác vụ, được quản lý trong thẻ Program Tags. Vì bộ nhớ
chương trình của PLC có giới hạn nên hạn chế sử dụng Tag phạm vi bộ điều khiển
khi

khơng

cần

- Rung :

Hình 7 : Giao diện lập trình cho bộ điều khiển PLC

thiết.


Mở thẻ MainRountine như hình 7 sẽ hiện lên giao diện lập trình cho PLC, mặc
định là bằng ngơn ngữ Ladder. Ngôn ngữ Ladder thực hiện các lệnh logic dựa theo
cấu trúc các bậc thang, mỗi bậc gọi là 1 RUNG được đánh số từ 0. Trên mỗi
RUNG ta có thể thêm vào các phần tử lập trình như đầu I/O của PLC, các phần tử
so sánh, tính tốn, di chuyển số liệu, timer, counter … Bộ điều khiển sẽ kiểm tra
phần tử bên trái, thường là các phần tử có điều kiện như kiểm tra đầu vào, bộ so
sánh … và thực hiện các phần tử bên phải, là các phần tử điều khiển, thực hiện tác

vụ.
- Vòng quét: Để thực hiện chương trình lập trình cho PLC theo ngơn ngữ Ladder,
PLC sẽ thực hiện vịng qt tuần tự từ trên xuống các RUNG cho tới RUNG cuối
cùng là RUNG “End” thì quay lại thực hiện vịng qt từ RUNG 0. Vịng qt này
gọi là vịng qt logic chính, hồn tồn độc lập với vịng qt nhận dữ liệu đầu vào.
Người lập trình cần chú ý tính tốn thời gian cho một vòng quét cho phù hợp với
tốc

độ

cập

nhật

dữ

liệu



ứng

dụng

mong

muốn.

Sau khi đã tìm hiểu các khái niệm cơ bản cho việc lập trình ngơn ngữ hình thang,
chúng ta sẽ bắt tay vào tìm hiểu cách lập trình và nạp chương trình cho PLC. Mở

giao diện lập trình lên, chúng ta sẽ thấy thanh cơng cụ ngay trên giao diện lập trình.
Thanh công cụ này chứa tất cả các phần tử cần để lập trình. Các phần tử này được
bố trí vào các nhóm nhỏ như Favourites, Add-On, Alarms, Bit… Để đưa phần tử
này vào các RUNG ta có thể click vào các phần tử hoặc kéo/thả phần tử vào vị trí


mong muốn. Việc sử dụng các phần tử này như thế nào khơng thể nói chi tiết trong
một bài báo. Tuy nhiên, có thể tìm hiểu logic của từng phần tử bằng cách chuột
phải vào phần tử, chọn Instruction Help (hoặc nhấn F1).

Khi đã đưa các phần tử vào RUNG, cần phải gán phần tử cho 1 Tag. Click chuột
phải vào dấu “?” chỉ tên phần tử và chọn New Tag. Chọn kiểu của Tag là Base nếu
Tag dựa trên các kiểu dữ liệu. Chọn Alias nếu muốn Tag này đại diện cho một Tag
nào đó đã có. Chú ý, các vùng đệm chứa giá trị các kênh I/O của các module PLC
đã được mặc định gán cho các Tag có phạm vi bộ điều khiển và có thể dùng để gán
cho các Tag Alias. Trong hộp thoại Select Data Type, có thể tạo Tag kiểu mảng 1,
2 hay 3 chiều bằng cách điền vào các ô trong mục Array Dimensions.

Hình 8 : Gán Tag cho các phần tử Logic


Đó là cách tạo Tag thơng qua các phần tử logic. Bạn cũng có thể tạo ra một Tag bất
kỳ nhằm mục đích làm bộ đệm cho việc thu thập số liệu hoặc tính tốn bằng cách
chuột phải vào thẻ Controller Tags hoặc Program Tags (ứng với phạm vi Tag khác
nhau),

chọn

New


Tag



làm

như

trên.

Để thêm RUNG hoặc nhánh của RUNG, click chuột vào hai phần tử đầu tiên trên
thanh công cụ. Các phần tử điều kiện đặt nối tiếp nhau trên cùng nhánh sẽ đại diện
cho phép AND còn các phần tử điều kiện đặt trên những nhánh song song sẽ đại
diện cho phép OR.

Hình 9 : Logic các phần tử trên RUNG

Như hình vẽ 9, ta có 4 Tag điều kiện a, b, c, d là Tag kiểm tra mức logic ON (mức
1) với kiểu dữ liệu BOOL. Trong đó, Tag a có kiểu Alias, đại diện cho bit dữ liệu 0
của module cắm trên khe cắm số 1 (một đầu vào DI). Với RUNG này, PLC sẽ


kiểm tra logic của tổ hợp (a AND (b OR d) AND c). Nếu tổ hợp này có giá trị logic


1

thì

sẽ


thực

hiện

việc

bật

Tag

Q

lên

giá

trị

logic

1.

Sau khi viết xong chương trình cho PLC, ta cần tải phần mềm này xuống PLC. Kết
nối PLC với máy tính, bật PLC và chuyển khóa chế độ trên PLC sang vị trí Who
Active đểPROG. Vào phần mềm RSLogix5000, chọn thẻ Communication chọn
kết nối tới bộ điều khiển (CPU) cần lập trình. Chú ý, chỉ bộ điều khiển nào đang
kết nối về mặt tín hiệu điện với máy tính (khơng có dấu gạch chéo đỏ như hình 10)

Hình 10 : Chọn bộ điều khiển để tải chương trình xuống


Sau khi chọn được bộ điều khiển, click vào nút Set Project Path rồi click vào nút
Download. Khi việc tải chương trình xuống PLC hồn thành, chuyển khóa chế độ
sang vị trí RUN để PLC thực hiện chạy chương trình. Giao diện lập trình sẽ tự


động chuyển sang chế độ Online, các phần tử logic sẽ được hiển thị giá trị đồng bộ
với bộ điều khiển. Chúng ta có thể quan sát màn hình giao diện lập trình để debug
chương trình điều khiển. Khi muốn chỉnh sửa lại chương trình, cần chuyển chế độ
lập trình về trạng thái Offline bằng thanh công cụ Online Toolbar nằm góc trên,
bên trái của giao diện lập trình.

Hình 11: Thanh công cụ Online Toolbar

Một công cụ mạnh để Debug chương trình nữa là khả năng ép giá trị (Force). Dùng
thanh Online Toolbar để bật/tắt chế độ này. Khi chế độ này được bật, các Tag có
kiểu dữ liệu BOOL, SINT, INT, DINT, REAL hoặc các thành phần của Tag ưcấu
trúc có kiểu dữ liệu BOOL, SINT, INT, DINT, REAL đề có thể được ép tới giá trị
mong muốn tới từng bit (kể cả Tag I/O và Tag Alias). Chương trình Logic sẽ sử
dụng các giá trị được ép bất kể giá trị vật lý thực của nó bằng bao nhiêu. Tuy
nhiên, đây chỉ là giá trị tạm để Debug, khơng nên dùng ép giá trị làm thành phần
cố
III.

định

trong

một


chương
Kết

trình

điều

khiển.
luận

Bộ phần mềm Rockwell Software là bộ phần mềm mạnh mẽ, linh hoạt. Ngoài việc


lập trình cơ bản như đã trình bày trong bài này, bộ phần mềm của Rockwell còn rất
mềm dẻo, tiện dụng trong việc truyền thông giữa các bộ điều khiển với nhau, cũng
như việc lấy dữ liệu, truyền dữ liệu qua lại giữa PLC và máy tính, thuận tiện cho
việc giám sát cũng như điều khiển hệ thống. Chúng ta sẽ bàn về vấn đề này trong
những phần sau



×