Networks Business Online Việt Nam & International VH2

Chương 6: LẬP TRÌNH PLC MITSUBISHI VỚI CÁC LỆNH CƠ BẢN pot – Tài liệu text

Đăng ngày 07 November, 2022 bởi admin

Chương 6: LẬP TRÌNH PLC MITSUBISHI VỚI CÁC LỆNH CƠ BẢN pot

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 (171.11 KB, 14 trang )

Chương 6:
LẬP TRÌNH PLC MITSUBISHI VỚI CÁC LỆNH CƠ
BẢN
I.
Định nghĩa Chương Trình:
Chương trình là một chuỗi các lệnh nối tiếp nhau được viết
theo m
ột ngôn ngữ mà PLC có thể hiểu được. Có ba dạng chương
trình: Instruction, Ladder và SFC/STL. Không phải tất cả các công
c
ụ lập trình đề có thể làm việc được cả ba dạng trên. Nói chung bộ
lập trình cầm tay chỉ làm việc được với dạng Instruction trong khi
h
ầu hết các công cụ lập trình đồ họa sẽ làm việc được ở cả dạng
Instruction và Ladder. Các ph
ần mềm chuyên dùng sẽ cho phép
làm vi
ệc ở dạng SFC.
II. Các thiết bị cơ bản dùng trong lập trình:
Có 6 thiết bị lập trình cơ bản. Mỗi thiết bị có công dụng
riêng. Để dể dàng xác định thì mỗi thiết bị được gán cho một kí tự:
 X: dùng để chỉ ngõ vào vât lý gắn trực tiếp vào PLC
 Y: dùng để chỉ ngõ ra nối trực tiếp từ PLC
 T: dùng để xác định thiết bị định thì có trong PLC
 C: dùng để xác định thiết bị đếm có trong PLC
 M và S: dùng như là các cờ hoạt động bên trong PLC
T
ất cả các thiết bị trên được gọi là “Thiết bị bit”, nghĩa là các
thi
ết bị này có 2 trạng thái: ON hoặc OFF, 1 hoặc 0.
III. Ngôn ngữ lập trình Instruction và Ladder:

Ngôn ngữ Instruction, ngôn ngữ dòng lệnh, được xem như
là ngôn ngữ lập trình cơ bản dễ học, dễ dùng, nhưng phải mất
nhiều thời gian kiểm tra đối chiếu để tìm ra mối quan hệ giữa
một giai đoạn chương trình lớn với chức năng nóù thể hiện. Hơn
nữa, ngôn ngữ instruction của từng nhà chế tạo PLC có cấu trúc
khác nhau. (đây là trường hợp phổ biến ) thì việc sử dụng lẫn
lộn như vậy có thể dẫn đến kết quả là phải làm việc trên tập
lệnh ngôn ngữ instruction không đồng nhất.
Một ngôn ngữ khác được ưa chuộng hơn là Ladder, ngôn
ngữ bậc thang. Ngôn ngữ này có dạng đồ họa cho phép nhập
chương trình có dạng như một sơ đồ mạch diện logic, dùng các
ký hiệu điện để biểu diễn các công tác logic ngõ vào và lơ – le
logic ngõ ra (hình 2.1). Ngôn ngữ này gần với chúng ta hơn hơn
ngôn ngữ Instruction và được xem như là một ngôn ngữ cấp cao.
Phần mềm lập trình sẽ biên dòch các ký hiệu logic trên thành mã
máy và lưu vào bộ nhớ của PLC. Sau đó, PLC sẽ thực hiện các
tác vụ điều khiển theo logic thể hiện trong chương trình.
IV. Các lệnh cơ bản
Lệnh LD (load)
Lệnh LD dùng để đặt một công tắc logic thường mở vào
chương trình. Trong chương trình dạng Instruction, lệnh LD lươn
luôn xuất hiện ở vò trí đầu tiên của một dòng chương trình hoặc
mở đầu cho một khối logic (sẽ được trình bày ở phần lệnh về
khối). Trong chương trình dạng ladder, lệnh LD thể hiện công
tắc logic thường mở đầu tiên nối trực tiếp với đường bus bên trái
của một nhánh chương trình hay công tắc thường mở đầu tiên
của một khối logic.
Ví dụ:
LD
X000

OUT Y000
Hình 2.1: Lệnh LD chỉ khi công tắc thường mở vào đường bus
trái
Ngõ ra Y000 đóng khi công tắc X000 đóng, hay ngõ vào
X000 = 1.
Lệnh LDI (Load Inverse)
Lệnh LDI dùng để đặt một công tắc logic thường đóng vào
chương trình. Trong chương trình Instruction, lệnh LDI luôn luôn
xuất hiện ở vò trí đầu tiên của một dòng chương trình hoặc mở
đầu cho một khối logic (sẽ được trình bày sau ở phần lệnh về
khối). Trong chương trình ladder lệnh LD thể hiện công tắc logic
thường đóng đầu tiên nối trực tiếp với đường bus bên trái của
một nhánh logic hoặc công tắc thường đóng đẩu tiên của một
khối logic.
Ví dụ:
LDI X001
OUT Y000
Hình 2.2: Lệnh đặt một công tắc thường đóng vào đường bus
trái
Lệnh OUT
Lệnh OUT dùng để đặt một rơ – le logic vào chương trình.
Trong chương trình dạng ladder, lệnh OUT ký hiệu bằng “( )”
được nối trực tiếp với đường bus phải. Lệnh OUT sẽ được thực
hiện khi điều khiển phía bên trái của nó thỏa mãn. Tham số
(toán hạng bit) của lệnh OUT không duy trì được trạng thái
(không chốt); trạng thái của nó giống với trạng thái của nhánh
công tắc điều khiển.
Ví dụ:
LDI X001
OUT

Y000
Hình 2.3 : Lệnh OUTđặt một rơ-le logic vào đường bus phải
Ngõ ra Y000 = ON khi công tắc logic thường đóng X001
đóng (X001 = 0); ngõ ra Y00 = OFF khi công tắc logic thường
đóng X001 hở (X001 = ON).
Lệnh AND và OR.
dạng ladder các công tắc thường mở mắc nối tiếp hay
mắc song song được thể hiện ở dạng Instruction là các lệnh
AND hay OR.
AND
LD X000
AND
X001
AND X002
OUT Y001
OR
LD
X000
OR X001
OR X002
OUT Y001
Lệnh ANI và ORI.
dạng ladder các công tắc logic thường đóng mắc nối tiếp
hay song song được thể hiện ở dạng Instruction là các lệnh ANI
hay ORI.
NAND
LDI X000
Hình 2.4. L

nh đ


t cơng t

c n

i ti
ế
p ho

c song song
ANI
X001
ANI X002
OUT Y000
NOR
LDI
X000
ORI X001
ORI X002
OUT Y001
Cổng logic EXCLUSIVE-OR
Cổng logic này khác với cổng OR ở chỗ là nó cho logic 1
khi một trong hai ngõ vào có logic 1, nhưng khi cả hai ngõ vào
đều có logic 1 thì nó cho logic 0. logic này có thể được thực hiện
bằng hai nhánh song song, mỗi nhánh là mạch nối tiếp của một
ngõ vào và đảo của ngõ còn lại. Vì không có lệnh thể hiện cho
Hình 2.5: Lập trình cho các cơng tắc logic thường đóng
hay thường mở mắc song song
logic này nên nó được biểu diện bằng tổ hợp các logic cơ bản
như trên.

EX-OR
LD
X000
ANI
X001
LDI X000
AND X001
ORB
OUT Y000
Lưu ý:Trong trương trình Instruction có dùng lệnh ORB
(OR Block).Ban đầu lập trình cho nhánh đầu tiên, sau đó là
nhánh kế tiếp. Lúc này CPU hiểu ràng đã có hai khối và nó sẽ
đọc lệnh kế tiếp ORB. Lệnh này thực hiện OR hai khối trên với
nhau; lệnh OUT sẽ kích ngõ ra tương ứng.
Lệnh ORB
Lệnh ORB (OR Block)không có tham số. Lệnh này dùng
để tạo ra nhiều nhánh song song phức tạp gồm nhiều khối logic
song song với nhau. Lệnh ORB được mô tả rõ nhất khi một
Hình 2.6: Lập trình cho cổng logic EXCLUSIVE-OR
chuỗi các công tắc bắt đầu bằng lệnh LD (LDI)song song với
một nhánh trước đó.
Ví dụ:
LD X002
ANI
M10
AND
X003
LD Y000
ORI M10
AND M11

AND X004
ORB
OUT Y000
Ngõ ra Y000 co logic 1 khi:
 Hoặc X002 và X003 là ON và M10 có logic 0
 Hoặc Y000, M1 và X004 có logic 1
 Hoặc M11 và X004 là ON và M10 có logic 0
Lệnh ANB
Lệnh ANB (AND block) không có tham số. Lệnh ANB
được dùng đề tạo ra các nhánh nối liên tiếp phức tạp gồm nhiều
Hình 2.7: Mắc song song hai khối logic
nhánh nối tiếp với nhau. Lệnh ANB được mô tả rõ nhất khi thực
hiện nối tiếp nhiều khối có nhiều công tắc mác song song.
Ví dụ 1 :
LD X000
ORI X001
LD X002
OR X003
AND
OUT Y000
Hình 2.8 (a): Ví dụ ANB với hai khối đơn giản
Thứ tự lập trình là quan trọng. Công tắc thường mở X000
được nhập đầu tiên, sau đó là công tắc thường đóng X001. Hai
công tắc này thường mắc song song theo lệnh ORI tạo thành
một khối có hai công tắc song song. Hai công tắc X002 và X003
cũng được lập trình tương tự tạo thành một khối khác. Hai khối
mới hình thành trên cũng được nối tiếp lại với nhau bằng lệnh
ANB và kết quả được nối qua ngõ ra Y000.
LD X000
AND X001

OR
Y000
LD
X002
AND X004
LDI X000
AND X003
ORB
ANB
OUT Y000
Hình 2.8(b) Ví dụ ANB với hai khối phức tạpap5
Lệnh SET
Lệnh SET dùng để đặt trạng thái của tham số lệnh ( chỉ
cho phép toán hạng bit) lên logic 1 vónh viễn (chốt trạng thái 1).
Trong chương trình dạng Ladder, lệnh SET luôn luôn xuất hiện
ở cuối náhnh, phía bên phải của công tắc cuối cùng trong
nhánh, và được thi hành khi điều kiện logic của tổ hợp các công
tắc bên trái được thoả mãn.
Ví dụ:
LD X000
SET M10
LD M10
OUT Y000
Hình 2.9 Dùng lệnh SET để chốt trạng thái Y000
Khi ngõ vào X000 có logic 1 thì cờ M10 được chốt ở trạng
thái 1 và được duy trì ở trạng thái đó, M10, sau đó được dùng để
kích thích ngõ ra Y000. Như vậy, ngõ ra Y000 được kích lên
logic 1 và duy trì đó dù ngõ vào X000 đã chuyển sang trạng thái
logic 0.
Lệnh RST (ReSet)

Lệnh RST dùng để đặt trạng thái của tham số lệnh (chỉ co
phép toán hạng bit) về logic 0 vónh viễn ( chốt trạng thái 0 ).
Trong chương trình dạng Ladder, lệnh RSt luôn luôn xuất hiện ở
cuối nhánh, phía bên phải của công tắc cuối cùng trong nhánh,
và được thi hành khi điều kiện logic của tổ hợp các công tắc bên
trái được thỏa mãn. Tác dụng của lệnh RST hoàn toàn ngươc với
lệnh SET.
Ví dụ:
LD X000
ANI
X001
SET
M10
LD X001
ANI X000
RST M10
LD M10
OUT Y000
Hình 2.10:So sánh tác dụng giữa lệnh SET và RST
Ngõ ra Y000 có logic 1 khi X000 có logic 1, trạng thái
Y000 là 0 khi X001 có logic 1. Công tắc thường đóng X000 và
X001 có tác dụng khóa lẫn tránh trường hợp cả hai công tắc
X000 và X001 đều ON, nghóa là cả lệnh SET và RST đều được
thực hiện. Giả sử trường hợp này xảy ra (không có mạch khoá
lẫn) thì trạng thái của Y000 là 0 vì PLC thực hiện trạng thái ngõ
ra ở cuối chu kì quét.
Lệnh MPS, MRD và MPP
Các lệnh này dùng để thực hiện việc rẽ nhánh cho các tác
vụ phía bên phải của nhánh ở phần thi hành. Đối với ngôn ngữ
Instruction, ngôn ngữ dòng lệnh trình biên dòch cần phải hiểu sự

rẽ nhánh cho các tác vụ, do đó cần có 1 quy chế để ghi nhận
(nhớ) vò trí hiện hành của con trỏ lập trình trong mạch ladder
tương ứng. Cơ chế rẽ nhánh cho phần thi hành được thực hiện
qua các lệnh MPS, MRD và MPP. Ví dụ sau minh hoạ cho việc
sử dụng ba lệnh trên :
Ví dụ
LD X0 ANB
MPS OUT
Y1
LD X1 MPP
OR X2 AND
Y7
ANB OUT
Y2
OUT Y0 LD
X10
MRD OR X11
LD X3 ANB
AND X4 OUT Y3
LD X5
AND X6
ORB
Hình 2.11 Minh hoạ việc sử dụng lệnh MPP và MPS, MRS và MPP để rẽ nhánh ngõ ra
Ngôn ngữ Instruction, ngôn ngữ dòng lệnh, được xem nhưlà ngôn ngữ lập trình cơ bản dễ học, dễ dùng, nhưng phải mấtnhiều thời hạn kiểm tra so sánh để tìm ra mối quan hệ giữamột quy trình tiến độ chương trình lớn với tính năng nóù biểu lộ. Hơnnữa, ngôn ngữ instruction của từng nhà sản xuất PLC có cấu trúckhác nhau. ( đây là trường hợp thông dụng ) thì việc sử dụng lẫnlộn như vậy hoàn toàn có thể dẫn đến tác dụng là phải thao tác trên tậplệnh ngôn ngữ instruction không giống hệt. Một ngôn ngữ khác được ưu thích hơn là Ladder, ngônngữ bậc thang. Ngôn ngữ này có dạng đồ họa được cho phép nhậpchương trình có dạng như một sơ đồ mạch diện logic, dùng cácký hiệu điện để màn biểu diễn những công tác làm việc logic ngõ vào và lơ – lelogic ngõ ra ( hình 2.1 ). Ngôn ngữ này gần với tất cả chúng ta hơn hơnngôn ngữ Instruction và được xem như thể một ngôn ngữ cấp cao. Phần mềm lập trình sẽ biên dòch những ký hiệu logic trên thành mãmáy và lưu vào bộ nhớ của PLC. Sau đó, PLC sẽ thực thi cáctác vụ điều khiển và tinh chỉnh theo logic biểu lộ trong chương trình. IV. Các lệnh cơ bảnLệnh LD ( load ) Lệnh LD dùng để đặt một công tắc nguồn logic thường mở vàochương trình. Trong chương trình dạng Instruction, lệnh LD lươnluôn Open ở vò trí tiên phong của một dòng chương trình hoặcmở đầu cho một khối logic ( sẽ được trình diễn ở phần lệnh vềkhối ). Trong chương trình dạng ladder, lệnh LD bộc lộ côngtắc logic thường mở tiên phong nối trực tiếp với đường bus bên tráicủa một nhánh chương trình hay công tắc nguồn thường khởi đầu tiêncủa một khối logic. Ví dụ : LDX000OUT Y000Hình 2.1 : Lệnh LD chỉ khi công tắc nguồn thường mở vào đường bustráiNgõ ra Y000 đóng khi công tắc nguồn X000 đóng, hay ngõ vàoX000 = 1. Lệnh LDI ( Load Inverse ) Lệnh LDI dùng để đặt một công tắc nguồn logic thường đóng vàochương trình. Trong chương trình Instruction, lệnh LDI luôn luônxuất hiện ở vò trí tiên phong của một dòng chương trình hoặc mởđầu cho một khối logic ( sẽ được trình diễn sau ở phần lệnh vềkhối ). Trong chương trình ladder lệnh LD biểu lộ công tắc nguồn logicthường đóng tiên phong nối trực tiếp với đường bus bên trái củamột nhánh logic hoặc công tắc nguồn thường đóng đẩu tiên của mộtkhối logic. Ví dụ : LDI X001OUT Y000Hình 2.2 : Lệnh đặt một công tắc nguồn thường đóng vào đường bustráiLệnh OUTLệnh OUT dùng để đặt một rơ – le logic vào chương trình. Trong chương trình dạng ladder, lệnh OUT ký hiệu bằng “ ( ) ” được nối trực tiếp với đường bus phải. Lệnh OUT sẽ được thựchiện khi điều khiển và tinh chỉnh phía bên trái của nó thỏa mãn nhu cầu. Tham số ( toán hạng bit ) của lệnh OUT không duy trì được trạng thái ( không chốt ) ; trạng thái của nó giống với trạng thái của nhánhcông tắc tinh chỉnh và điều khiển. Ví dụ : LDI X001OUTY000Hình 2.3 : Lệnh OUTđặt một rơ-le logic vào đường bus phảiNgõ ra Y000 = ON khi công tắc nguồn logic thường đóng X001đóng ( X001 = 0 ) ; ngõ ra Y00 = OFF khi công tắc nguồn logic thườngđóng X001 hở ( X001 = ON ). Lệnh AND và OR.dạng ladder những công tắc nguồn thường mở mắc tiếp nối đuôi nhau haymắc song song được biểu lộ ở dạng Instruction là những lệnhAND hay OR.ANDLD X000ANDX001AND X002OUT Y001ORLDX000OR X001OR X002OUT Y001Lệnh ANI và ORI.dạng ladder những công tắc nguồn logic thường đóng mắc nối tiếphay song song được biểu lộ ở dạng Instruction là những lệnh ANIhay ORI.NANDLDI X000Hình 2.4. Lnh đt cơng tc ni tip hoc tuy nhiên songANIX001ANI X002OUT Y000NORLDIX000ORI X001ORI X002OUT Y001Cổng logic EXCLUSIVE-ORCổng logic này khác với cổng OR ở chỗ là nó cho logic 1 khi một trong hai ngõ vào có logic 1, nhưng khi cả hai ngõ vàođều có logic 1 thì nó cho logic 0. logic này hoàn toàn có thể được thực hiệnbằng hai nhánh song song, mỗi nhánh là mạch tiếp nối đuôi nhau của mộtngõ vào và hòn đảo của ngõ còn lại. Vì không có lệnh bộc lộ choHình 2.5 : Lập trình cho những cơng tắc logic thường đónghay thường mở mắc tuy nhiên songlogic này nên nó được biểu diện bằng tổng hợp những logic cơ bảnnhư trên. EX-ORLDX000ANIX001LDI X000AND X001ORBOUT Y000Lưu ý : Trong trương trình Instruction có dùng lệnh ORB ( OR Block ). Ban đầu lập trình cho nhánh tiên phong, sau đó lànhánh sau đó. Lúc này CPU hiểu ràng đã có hai khối và nó sẽđọc lệnh tiếp nối ORB. Lệnh này thực thi OR hai khối trên vớinhau ; lệnh OUT sẽ kích ngõ ra tương ứng. Lệnh ORBLệnh ORB ( OR Block ) không có tham số. Lệnh này dùngđể tạo ra nhiều nhánh song song phức tạp gồm nhiều khối logicsong tuy nhiên với nhau. Lệnh ORB được miêu tả rõ nhất khi mộtHình 2.6 : Lập trình cho cổng logic EXCLUSIVE-ORchuỗi những công tắc nguồn khởi đầu bằng lệnh LD ( LDI ) song song vớimột nhánh trước đó. Ví dụ : LD X002ANIM10ANDX003LD Y000ORI M10AND M11AND X004ORBOUT Y000Ngõ ra Y000 co logic 1 khi :  Hoặc X002 và X003 là ON và M10 có logic 0  Hoặc Y000, M1 và X004 có logic 1  Hoặc M11 và X004 là ON và M10 có logic 0L ệnh ANBLệnh ANB ( AND block ) không có tham số. Lệnh ANBđược dùng đề tạo ra những nhánh nối liên tục phức tạp gồm nhiềuHình 2.7 : Mắc song song hai khối logicnhánh tiếp nối đuôi nhau với nhau. Lệnh ANB được diễn đạt rõ nhất khi thựchiện tiếp nối đuôi nhau nhiều khối có nhiều công tắc nguồn mác song song. Ví dụ 1 : LD X000ORI X001LD X002OR X003ANDOUT Y000Hình 2.8 ( a ) : Ví dụ ANB với hai khối đơn giảnThứ tự lập trình là quan trọng. Công tắc thường mở X000được nhập tiên phong, sau đó là công tắc nguồn thường đóng X001. Haicông tắc này thường mắc song song theo lệnh ORI tạo thànhmột khối có hai công tắc nguồn song song. Hai công tắc nguồn X002 và X003cũng được lập trình tựa như tạo thành một khối khác. Hai khốimới hình thành trên cũng được tiếp nối đuôi nhau lại với nhau bằng lệnhANB và hiệu quả được nối qua ngõ ra Y000. LD X000AND X001ORY000LDX002AND X004LDI X000AND X003ORBANBOUT Y000Hình 2.8 ( b ) Ví dụ ANB với hai khối phức tạpap5Lệnh SETLệnh SET dùng để đặt trạng thái của tham số lệnh ( chỉcho phép toán hạng bit ) lên logic 1 vónh viễn ( chốt trạng thái 1 ). Trong chương trình dạng Ladder, lệnh SET luôn luôn xuất hiệnở cuối náhnh, phía bên phải của công tắc nguồn sau cuối trongnhánh, và được thi hành khi điều kiện kèm theo logic của tổng hợp những côngtắc bên trái được thỏa mãn nhu cầu. Ví dụ : LD X000SET M10LD M10OUT Y000Hình 2.9 Dùng lệnh SET để chốt trạng thái Y000Khi ngõ vào X000 có logic 1 thì cờ M10 được chốt ở trạngthái 1 và được duy trì ở trạng thái đó, M10, sau đó được dùng đểkích thích ngõ ra Y000. Như vậy, ngõ ra Y000 được kích lênlogic 1 và duy trì đó dù ngõ vào X000 đã chuyển sang trạng tháilogic 0. Lệnh RST ( ReSet ) Lệnh RST dùng để đặt trạng thái của tham số lệnh ( chỉ cophép toán hạng bit ) về logic 0 vónh viễn ( chốt trạng thái 0 ). Trong chương trình dạng Ladder, lệnh RSt luôn luôn Open ởcuối nhánh, phía bên phải của công tắc nguồn ở đầu cuối trong nhánh, và được thi hành khi điều kiện kèm theo logic của tổng hợp những công tắc nguồn bêntrái được thỏa mãn nhu cầu. Tác dụng của lệnh RST trọn vẹn ngươc vớilệnh SET.Ví dụ : LD X000ANIX001SETM10LD X001ANI X000RST M10LD M10OUT Y000Hình 2.10 : So sánh tính năng giữa lệnh SET và RSTNgõ ra Y000 có logic 1 khi X000 có logic 1, trạng tháiY000 là 0 khi X001 có logic 1. Công tắc thường đóng X000 vàX001 có công dụng khóa lẫn tránh trường hợp cả hai công tắcX000 và X001 đều ON, nghóa là cả lệnh SET và RST đều đượcthực hiện. Giả sử trường hợp này xảy ra ( không có mạch khoálẫn ) thì trạng thái của Y000 là 0 vì PLC thực hiện trạng thái ngõra ở cuối chu kì quét. Lệnh MPS, MRD và MPPCác lệnh này dùng để triển khai việc rẽ nhánh cho những tácvụ phía bên phải của nhánh ở phần thi hành. Đối với ngôn ngữInstruction, ngôn ngữ dòng lệnh trình biên dòch cần phải hiểu sựrẽ nhánh cho những tác vụ, do đó cần có 1 quy định để ghi nhận ( nhớ ) vò trí hiện hành của con trỏ lập trình trong mạch laddertương ứng. Cơ chế rẽ nhánh cho phần thi hành được thực hiệnqua những lệnh MPS, MRD và MPP. Ví dụ sau minh họa cho việcsử dụng ba lệnh trên : Ví dụLD X0 ANBMPS OUTY1LD X1 MPPOR X2 ANDY7ANB OUTY2OUT Y0 LDX10MRD OR X11LD X3 ANBAND X4 OUT Y3LD X5AND X6ORBHình 2.11 Minh họa việc sử dụng lệnh MPP và MPS, MRS và MPP để rẽ nhánh ngõ ra

Source: https://vh2.com.vn
Category : Tin Học