Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình để phục vụ các đối tượng sử dụng khác nhau. Tuy nhiên hầu hết đề xoay quanh 3 ngôn ngữ cơ bản. Đó là: 
 Ngôn ngữ “ kiểu liệt kê”, kí hiệu là STL (Statement List). Đây là dạng của ngôn ngữ Assembler máy tính. 
 Ngôn ngữ “hình thang”, kí hiệu là LAD (Ladder Logic). Đây là dạng ngôn ngữ theo kiểu thiết kế mạch điều khiển logic rờ le.
                
              
                                            
                                
            
 
            
                 63 trang
63 trang | 
Chia sẻ: vietpd | Lượt xem: 4368 | Lượt tải: 5 
              
            Bạn đang xem trước 20 trang tài liệu Bài giảng Ngôn ngữ lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
PHẦN I 
ĐIỀU KHIỂN LẬP TRÌNH (PLC) 
CHƯƠN
 G 3 
NGÔN NGỮ LẬP TRÌNH Chủ đề:
 Biến và vùng nhớ 
 Các loại lệnh logic trên bit 
 Các lệnh xử lý dữ liệu: dịch chuyển,so sánh, toán học…
 Các bộ chức năng định thời và đếm 
 Các lệnh điều khiển chương trình 
Mục đích: 
 Sử dụng và gán biến cho các địa chỉ. 
 Vận dụng các lệnh để viết chương trình ứng dụng. 
 Hiểu rõ mối quan hệ chương trình với kết nối thiết bị 
 36 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.1. GIỚI THIỆU 
Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình để phục vụ các đối 
tượng sử dụng khác nhau. Tuy nhiên hầu hết đề xoay quanh 3 ngôn ngữ cơ bản. Đó là: 
 Ngôn ngữ “ kiểu liệt kê”, kí hiệu là STL (Statement List). Đây là dạng của ngôn ngữ 
Assembler máy tính. 
 Ngôn ngữ “hình thang”, kí hiệu là LAD (Ladder Logic). Đây là dạng ngôn ngữ theo 
kiểu thiết kế mạch điều khiển logic rờ le. 
 Ngôn ngữ “hình khối”, kí hiệu là FBD (Function Block Diagram). Đây là dạng ngôn 
ngữ theo kiểu thiết kế mạch điều khiển logic số. 
Function Block Diagram
Statement List
Ladder Diagram
Hình 3.1-Ba kiểu ngôn ngữ lập trình M
Một chương trình có thể viết trên LAD hoặc FBD có thể chuyển được sang dạng STL, 
nhưng ngược thì có thể không. Trong STL có những lệnh mà trong LAD hoặc FBD không 
diễn tả được. Tuy vậy về mặt lập trình, ngôn ngữ LAD rất đơn giản dễ dàng cho lập trình. 
Chính vì lý do này, tài liệu quan tâm đến ngôn ngữ STL và lấy nó để lập trình. 
Chú ý: Hiện nay trên thế giới có rất nhiều loại PLC do nhiều hãng của nhiều nước sản xuất 
khác nhau và đa dạng. Nhưng bản chất, phương pháp lập trình của ngôn ngữ không khác 
nhau mà chỉ khác nhau ở chỗ là các kí hiệu địa chỉ, tên gọi của các I/O, vùng nhớ mà thôi. 
 37 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.2. CẤU TRÚC LỆNH VÀ TRẠNG THÁI KẾT QUẢ 
3.2.1. Kiểu dữ liệu và phân chia bộ nhớ 
3.2.1.1. Kiểu dữ liệu 
Các kiểu dữ liệu được sử dụng trong S7-300: 
1) BOOL: với dung lượng một bit và có giá trị 1 hoặc 0 ( đúng hoặc sai). Đây là kiểu 
dữ liệu cho biến hai trị. 
2) Byte: gồm 8 bit, thường được biểu diễn một số nguyên dương từ 0 đến 255 hoặc là 
mã ASCII của một ký tự. 
3) Word: gồm 2 byte, biểu diễn số nguyên từ 0 đến 65535. 
4) Int: cũng có dung lượng 2 byte, dùng để biểu diễn một số nguyên từ –32768 đến 
32767. 
5) Dint: gồm 4 byte, dùng để biểu diễn số nguyên từ –2147483648 đến 2147483647. 
6) Real: gồm 4 byte, dùng để biểu diễn số thực có dấu phẩy động. 
7) S5t: khoảng thời gian, được tính bằng giờ, phút, giây, miligiây. 
8) Tod: biểu diễn giá trị thời gian tính theo giờ/phút/giây. 
9) Date: biểu diễn giá trị thời gian tính theo năm/tháng/ngày. 
10) Char: biểu diễn một ký tự hay nhiều ký tự (nhiều nhất là 4 ký tự). 
3.2.1.2. Phân chia bộ nhớ 
Bộ nhớ S7-300 chia làm ba vùng chính: 
1) Vùng chứa chương trình ứng dụng. Vùng nhớ chia thành 3 miền: 
a) OB (Organization Block): Miền chứa chương trình tổ chức. 
b) FC (Function): Miền chứa chương trình con, được tổ chức thành hàm và có biến 
hình thức để trao đổi dữ liệu với chương trình gọi nó. 
c) FB (Function Block): Miền chứa chương trình con, được tổ chức thành hàm và có 
khả năng trao đổi dữ liệu với bất kỳ một khối chương trình nào khác. Các dữ liệu 
này phải được xây dựng thành một khối dữ liệu riêng (gọi là DB – Data Block). 
2) Vùng chứa tham số của hệ điều hành và chương trình ứng dụng, được chia thành 7 
miền khác nhau, bao gồm: 
a) I (Process image input): Miền bộ đệm các dữ liệu cổng vào số. Trước khi bắt đầu thực 
hiện chương trình, PLC sẽ đọc tất cả các giá trị logic của tất cả các cổng vào và lưu trữ 
ở vùng nhớ I. Chương trình ứng dụng không đọc trực tiếp trạng thái logic của cổng vào 
số mà chỉ lấy dữ liệu của cổng vào từ bộ đệm I. 
b) Q (Process image output): Miền bộ đệm các dữ liệu cổng ra số. Kết thúc giai đoạn thực 
hiện chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q đến các cổng ra số. 
Chương trình không trực tiếp gán giá trị tới cổng ra mà chỉ chuyển chúng vào bộ đệm 
Q. 
c) M: Miền các biến cờ. Chương trình sử dụng các vùng nhớ này để lưu trữ các tham số 
cần thiết và có thể truy nhập theo kiểu bit (M), byte (MB), từ đơn (MW)hay từ kép 
(MD). 
d) T: Miền nhớ phục vụ bộ thời gian (timer) bao gồm lưu trữ giá trị thời gian đặt trước (PV 
– preset value), giá trị đếm thời gian tức thời (CV – Current value) cũng như giá trị 
logic ở đầu ra của timer. 
 38 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
e) C: Miền nhớ phục vụ bộ đếm (counter) bao gồm lưu trữ giá trị thời gian đặt trước (PV – 
preset value), giá trị đếm tức thời (CV – Current value) cũng như giá trị logic ở đầu ra 
của bộ đếm. 
f) PI: Miền địa chỉ cổng vào của các module tương tự (I/O External input). Các giá trị 
tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo 
những địa chỉ. Chương trình ứng dụng có thể truy nhập miền nhớ PI theo các kiểu biến 
byte (PIB), từ đơn (PIW) hay từ kép (PID). 
g) PQ: Miền địa chỉ cổng ra của các module tương tự (I/O External output). Các giá trị 
theo những địa chỉ này sẽ được module tương tự chuyển tự động tới các cổng ra tương 
tự. Chương trình ứng dụng có thể truy nhập miền nhớ PQ theo các kiểu biến byte 
(PQB), từ đơn (PQW) hay từ kép (PQD). 
3) Vùng chứa các khối dữ liệu 
a) DB (Data Block): miền chứa dữ liệu được tổ chức thành hình khối. Kích thước và số 
lượng khối cũng do người dùng quy định tùy theo chương trình. Chương trình ứng dụng 
có thể truy nập tới miền nhớ này theo bit (DBX), byte (DBB), từ đơn (DBW) hặoc từ 
kép (DBD). 
b) L (Local data bolck): Miền dữ liệu cục bộ, được các khối chương trình OB, FC, FB tổ 
chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức với 
những khối chương trình đã gọi nó. Nội dung của một số dữ liệu trong miền nhớ này sẽ 
bị xóa khi kết thúc chương trình tương ứng trong OB, FC, FB. Miền này có thể truy 
nhập được từ chương trình theo bit (L), byte (LB), từ (LW) hoặc từ kép (LD). 
3.2.2. Cấu trúc lệnh và trạng thái kết quả 
3.2.2.1. Toán hạng là dữ liệu 
a) Dữ liệu logic True và False có độ dài 1 bit. Ví dụ 
Bit_1 = True //giá trị logic 1 được gán cho bit_1 
b) Số nhị phân. Ví dụ 
L 2#00101101 //nạp số nhị phân vào thanh ghi ACCU1 
c) Số Hexadecimal x có độ dài 1 byte(B#16#x), 1 từ (W#16#x) hoặc 1 từ kép (DW#16#x). 
Ví dụ 
L B#16#2E //nạp số 2E vào byte thấp thanh ghi ACCU1 
L W#16#4D2 //nạp số 4D2 vào 2 byte thấp thanh ghi ACCU1 
L DW#16#D1B2E //nạp số D1B2E vào thanh ghi ACCU1 
d) Số nguyên x với độ dài 2byte cho biến kiểu INT. Ví dụ 
L 960 
e) Số nguyên x với độ dài 4byte dạng L#x cho biến kiểu DINT. Ví dụ 
L L#600 
f) Số thực x cho kiển biến REAL. Ví dụ 
L 450.0 
g) Dữ liệu thời gian cho biến kiểu S5T dạng giờ_phút_giây_miligiây. Ví dụ 
L S5T#3h_5m_1s_10ms 
h) Dữ liệu thời gian cho biến kiểu TOD dạng giờ:phút:giây. Ví dụ 
L TOD#6:30:15 
 39 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
i) DATE: biểu diễn giá trị thời gian tính theo năm/tháng/ngày. Ví dụ 
L DATE#2000-12-9 
j) C: biểu diễn giá trị số đếm đặt trước cho bộ đếm. Ví dụ 
L C#50 
k) P: dữ liệu biểu diễn địa chỉ của một bit ô nhớ. Ví dụ 
L P#Q0.3 
l) Dữ liệu kí tự. Ví dụ 
L ‘BCDE’ 
3.2.2.2. Toán hạng là địa chỉ 
 Địa chỉ ô nhớ được cấu tạo thành hai phần: phần chữ và phần số. Ví dụ 
M0.9 PQW272 
Phần chữ Phần số Phần chữ Phần số 
 Phần chữ chỉ vị trí và kích thước của ô nhớ (tham khảo 3.2.1) 
 Phần số chỉ địa chỉ của byte hoặc bit trong miền nhớ đã xác định. 
3.2.2.3. Thanh ghi trạng thái 
Khi thực hiện lệnh, CPU sẽ ghi nhận lại trạng thái của phép tính trung gian cũng 
như của kết quả vào một thanh ghi 16 bit và được gọi là thanh ghi trạng thái (status word). 
Tuy nhiên nó chỉ sử dụng với 9 bit và cấu trúc được mô tả như sau: 
8 7 6 5 4 3 2 1 0 
BR CC1 CC0 OV OS OR STA RLO FC 
- FC (First check ): Khi phải thực hiện một dãy các lệnh logic liên tiếp nhau gồm các 
phép tính và, hoặc và nghịch đảo, bit FC có giá trị bằng 1. Ngược lại, FC=0 khi dãy 
lệnh logic tiếp điểm vừa hoàn tất. 
Ví dụ: 
A I0.2 //FC=0 
O I0.4 //FC=0 
= Q1.0 //FC=0 
- RLO (Result of Logic Operation): Kết quả tức thời của phép toán logic vừa được thực 
hiện. Ví dụ: 
A I0.1 
a) Nếu trước khi thực hiện bit FC=0 thì có tác dụng chuyển nội dung của ngõ vào số I0.1 
vào bit trạng thái RLO. 
b) Nếu trước khi thực hiện bit FC=1 thì có tác dụng thực hiện phép toán và giữa RLO và 
giá trị logic ngõ vào I0.1. Kết quả của phép tính được ghi lại vào bit trạng thái RLO. 
- STA (Status bit): Bit trạng thái này luôn có giá trị logic của tiếp điểm được chỉ định 
trong lệnh. 
 40 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
Ví dụ: 
A I1.0 
AN I1.0 
Cả hai lệnh đều gán cho STA cùng một giá trị là nội dung của ngõ vào số I1.0. 
- OR: Ghi lại giá trị logic của phép toán và cuối cùng được thực hiện để giúp đỡ cho việc 
thực hiện phép toán hoặc sau đó. Điều này là cần thiết vì cùng một biểu thức hàm hai 
trị thì bao giờ phép toán và cũng thực hiện trước phép toán hoặc. 
- OS (Stored overflow bit): Ghi lại giá trị bit bị tràn ra ngoài mảng ô nhớ. 
- OV (Overflow bit): Bít báo kết quả bị tràn ra ngoài mảng ô nhớ. 
- CC0 và CC1 (Condition code): Hai bit báo trạng thái kết quả phép tính với số nguyên, 
số thực, phép dịch chuyển hoặc phép tính logic trong ACCU. 
- BR (Binary result bit): Bit trạng thái cho phép liên kết hai loại ngôn ngữ lập trình STL 
và LAD. Chẳng hạn cho phép người sử dụng có thể viết một khối chương trình FB hoặc 
FC trên STL nhưng gọi và sử dụng trong chương trình viết trên LAD. Để tạo ra mối 
liên kết đó, ta phải thực hiện việc kết thúc chương trình trong FB, FC bằng lệnh ghi: 
a) 1 vào BR, nếu chương trình chạy không có lỗi. 
b) 0 vào BR, nếu chương trình chạy có lỗi. 
Chú ý: Một chương trình có thể có một hay nhiều network tùy thuộc vào tính chất, mức độ 
trạng thái hoạt động của hệ thống. Nhưng mỗi Network chỉ chứa một đoạn chương trình 
thực hiện một nhiệm vụ cụ thể. 
 Network 1 
 Đoạn chương trình 1
Network 2 
 Đoạn chương trình 2
Network 3 
 Đoạn chương trình 3
3.3. CÁC LỆNH LOGIC 
Lệnh logic làm việc trên hệ thống số nhị phân với hai bit số, đó là : bit 1 và bit 0 
Trong điều khiển người ta thường quy định 1 là trạng thái hoạt động hay có năng lượng, 0 
là trạng thái không hoạt động hay không năng lượng. 
Các lệnh Logic trên bit thể hiện các trạng thái tín hiệu 1 và 0 và liên kết chúng 
thành phép toán logic. Kết quả của kết hợp này là 1 hoặc 0 và được gọi là RLO. 
Lệnh toán logic bao gồm các lệnh cơ bản sau: 
• A Và (And) 
• AN Phủ định và (And Not) 
 41 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
• O Hoặc (Or) 
• ON Phủ định hoặc (Or Not) 
• X Loại trừ (Exclusive) 
• XN Phủ định loại trừ (Exclusive Not) 
• And trước Or 
Chúng ta có thể sử dụng các lệnh sau để thực hiện các biểu thức lồng vào nhau: 
• A( Và với lồng mở 
• AN( Phủ định và với lồng mở 
• O( Hoặc với lồng mở 
• ON( Phủ định hoặc với lồn
• X( Loại trừ với lồng mở
• XN( Phủ định loại trừ với 
• ) Đóng lồng kết thúc đ
Chúng ta có thể kết thúc chuỗi lệnh biểu th
• = Phép gán (Assign) 
• R Xoá nhớ (Reset) 
• S Nhớ (Set) 
Chúng ta có thể sử dụng một trong những l
(RLO): 
• NOT Phủ định RLO 
• SET Nhơ RLO (=1) 
• CLR Xóa RLO (=0) 
• SAVE Lưu trữ RLO ở thanh
Hay là sử dụng một lệnh sau để phát hiện sườn
• FN Phát hiện cạnh xuống
• FP Phát hiện cạnh lên (E
3.3.1. Lệnh gán 
Cú pháp = 
Địa chỉ Loại d
Bit Bo
Ví dụ: 
Chương trình STL 
 g mở 
lồng mở 
oạn lệnh. 
ức logic bằng các lệnh: 
ệnh sau để thay đổi kết quả của phép toán logic 
 ghi BR 
 lên và xuống của tín hiệu: 
 (Edge Negative) 
dge Positive) 
Toán hạng 
ữ liệu Vùng biến nhớ 
ol I, Q, M, L, D 
 42 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.3.2. Lệnh thực hiện phép tính và 
Cú pháp A 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D, T, C 
A kiểm tra không biết trạng thái của bit địa chỉ (toán hạng) là 1 hay không, và AND kết 
quả kiểm tra với RLO. 
Ví dụ: 
Q0.2 mức tín hiệu 0 
I1.1 mư
I1.0 mư
Nguồn điện
A I1.1
= Q0.2
A I1.0
Rờ le logicChươnh trình STL
Cuộn dây 
3.3.3. Lệnh thực hiện phép tính và với giá trị nghịch đảo 
Cú pháp AN 
AN kiểm tra không biết trạng thái của bit địa chỉ (toán hạng) là 0 hay không, và AND kết 
quả kiểm tra với RLO. 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D, T, C 
I1.1 mư
Q0.2 m
I1.0 mư
Nguồn điện
A I1.1
= Q0.2
A I1.0
Rờ le logicChươnh trình STL
Ví dụ: 
 NO tiếp điểm 
NC tiếp điểm ùc tín hiệu 1
ùc tín hiệu 0ùc tín hiệu 0
ùc tín hiệu 0
NO tiếp điểm 
NO tiếp điểm Cuộn dây ức tín hiệu 0 
 43 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.3.4. Lệnh thực hiện phép tính hoặc 
Cú pháp O 
O kiểm tra không biết trạng thái của bit địa chỉ (toán hạng) là 1 hay không, và OR kết quả 
kiểm tra với RLO và ghi lại kết quả vào RLO. 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D, T, C 
O I1.1
= Q0.2
O I1.0
Rờ le logicChươnh trình STL
Cuộn dây 
Nguồn điện
I1.0 mư
Q0.2 mức tín hiệu 0 
Ví dụ: 
3.3.5. Lệnh thực hiện phép tính hoặc với giá trị nghịch đảo 
Cú pháp ON 
ON kiểm tra không biết trạng thái của bit địa chỉ (toán hạng) là 0 hay không, và OR kết 
quả kiểm tra với RLO và ghi lại kết quả vào RLO. 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D, T, C 
Nguồn điện
I1.0 m
I1.1 m
Q0.2 m
ON I1.1
= Q0.2
O I1.0
Rờ le logicChươnh trình STL
Ví dụ 5: 
 NC tiếp điểm 
ức tín hiệu 0
ức tín hiệu1
NO tiếp điểm NO tiếp điểm 
ùc tín hiệu 0 I1.1 mức 0 Cuộn dây ức tín hiệu 1 
 44 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.3.6. Lệnh thực hiện phép tính exclusive or 
Cú pháp X 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D, T, C 
X kiểm tra không biết trạng thái của bit địa chỉ (toán hạng) là 1 hay không, và XOR kết quả kiểm 
tra với RLO và ghi lại kết quả vào RLO 
Ví dụ: 
Q0.2 cuộn dây
Tiếp điểm I1.1 
Tiếp điểm I1.0 
Nguồn điện
X I0.1
= Q1.2
X I0.0
Rờ le logicChươnh trình STL
3.3.6. Lệnh thực hiện phép tính exclusive or not 
Cú pháp XN 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D, T, C 
X kiểm tra không biết trạng thái của bit địa chỉ (toán hạng) là 0 hay không, và XOR kết quả kiểm 
tra với RLO và ghi lại kết quả vào RLO 
Ví du: 
Q0.2 c
Tiếp đ
Tiếp đ
Nguồn điện
XN I0.1
= Q1.2
X I0.0
Rờ le logicChươnh trình STL 
 iểm I1.1 
iểm I1.0 uộn dây
 45 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.3.7. Lệnh thực hiện phép tính và với giá trị một biểu thức 
Cú pháp A( 
Chú ý: lệnh không có Toán hạng 
A( thực hiện phép tính và giữa RLO với biểu thức trong dấu ngoặc sau nóvà ghi lại kết quả vào 
RLO. 
Ví dụ: 
Q1.2 cuộn dây
I0.4
M0.0 M0.1 
M1.1 
M1.4A M1.4
A( 
O M1.1
 ) 
O I0.4
A( 
Nguồn điện
= Q1.2
O I0.0
O M0.1
 ) 
Rờ le logicChươnh trình STL 
3.3.8. Lệnh thực hiện phép tính hoặc với giá trị nghịch đảo một biểu thức 
Cú pháp O( 
Chú ý: lệnh không có Toán hạng 
O( thực hiện phép tính hoặc giữa RLO với giá trị logic của biểu thức trong dấu ngoặc sau nóvà ghi 
lại kết quả vào RLO. 
Ví dụ: 
Q1.2 cuộn dây
I0.4 
I0.0
M1.1 
M1.4A M1.4
O( 
AN M1.1
 ) 
A I0.4
Nguồn điện
= Q1.2
A I0.0
Rờ le logicChươnh trình STL
 46 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
Ví dụ: Viết chương trình khởi động động không đồng bộ 3 phase mô tả hình 3.2. Nhấn nút Start PB 
động cơ chạy, nhấn nút Stop PB thì động cơ dừng. 
• Bảng gán nhiệm vụ I/O 
• Chương trình 
Network1: 
A( 
O “Start PB” 
O “Coil MC” 
 ) 
A “Stop PB” 
= “C
Ví dụ: Viết chươ xác 
định trước được m ạn 
hành trình SS1. K ẩy 
phôi thép dịch c hời 
dao cắt đi xuống để cắt phôi thép và gặp SS2 thì cắt xong và dao sẽ trở về vị trí ban đầu 
(trên cùng) kết thúc quá trình cắt một thanh thép. 
• Bảng gán nhiệm vụ I/O 
• Chương trình 
Network1: 
 A "Start PB" 
 AN "Motor Brake" 
 S "Friction Wheel Motor" 
Network2: 
N
Input (ngỏ vào) Output (ngỏ ra) 
Tên gọi Địa chỉ Tên gọi Địa chỉ
Start PB I0.0 Coil MC Q0.0 
Stop PB I0.1 
I0.0
I0.1
Hình 3.2 – Mạch điện động cơ 
Input (ngỏ vào) Output (ngỏ ra) 
Tên gọi Địa chỉ Tên gọi Địa chỉ 
Start PB I0.0 Friction Wheel Motor Q0.0 
1Y
P
Motor Brake
Cutting Knife
Cutting Finish 
Sensor 
Q0.2 Cutting Knife I0.2 Cutting Finish Sensor 
Motor Brake Q0.1 I0.1 Dimension sensor 
n
Q0.0
 A "Dimension sensor" 
 R "Friction Wheel Motor" 
 S "Cutting Knife" 
 S "Motor Brake" 
etwork3: A "Cutting 
 R "Cutting
 R "Motor Boil MC” 
ng trình cho PLC điều khiển công đoạn cắt sản phẩm theo kích thước được 
ô tả hình 3.3. Chiều dài của sản phẩm là khoảng cách giữa dao cắt và giới h
hi nhấn nút Start PB thì động cơ truyền chuyển động bánh ma sát (1) đ
huyển. Gặp SS1 thì thắng động cơ làm việc và động cơ dừng, đồng t
Biểu đồ trạng thái theo thời giaFinish Sensor" 
 Knife" Hình 3.3 – Cơ cấu cắt sản phẩm theo kích thước 
Friction Wheel Motor Workpiece Dimension Sensor
rake" 
 47 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 3 – Ngôn ngữ lập trình 
3.3.9. Lệnh gán giá trị logic 1 vào ô nhớ (Set bit) 
Cú pháp S 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D 
S sẽ đặt giá trị 1 vào ô nhớ của bit địa chỉ, nếu RLO=1. 
Ví dụ: 
NO contact
Nguồn điện
Rờ le logicChươnh trình STL 
3.3.10. Lệnh gán giá trị logic 0 vào ô nhớ (Reset bit) 
Cú pháp R 
Toán hạng 
Địa chỉ Loại dữ liệu Vùng biến nhớ 
Bit Bool I, Q, M, L, D 
R sẽ đặt giá trị 0 vào ô nhớ của bit địa chỉ, 
nếu RLO=1. Xem ở lệnh Set bit. 
Ví dụ: 
Viết chương trình cho PLC điều khiển thiết bị 
khoan thủy lực c