You are on page 1of 80

TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

MỤC LỤC
Chương 1: Giới thiệu về PLC
1.1 Tổng quan về PLC.
1.2 Cấu trúc và hoạt động của PLC.
1.3 Phân loại PLC
1.4 So sánh PLC với các hệ điều khiển khác.
1.5 Phạm vi ứng dụng của PLC.
1.6 Thiết kế hệ thống dùng PLC.
1.7 Giới thiệu PLC Siemens.
Chương 2: PLC S7-200
2.1 Cấu trúc phần cứng.
2.2 Hoạt động của PLC.
2.3 Cấu trúc bộ nhớ.
2.4 Phương pháp lập trình.
Chương 3: Tập lệnh PLC S7-200
3.1 Các lệnh cơ bản.
3.2 Counter và Timer.
3.3 Lệnh so sánh.
3.4 Lệnh về cổng logic.
3.5 Lệnh di chuyển nội dung MOVE
3.6 Lệnh chuyển đổi dữ liệu
3.7 Lệnh tăng giảm 1 đơn vị.
3.8 Lệnh số học
3.9 Lệnh nhảy và gọi chương trình con.
3.10 Truy cập đồng hồ thời gian thực.
Chương 4: Cấu trúc chương trình PLC
4.1 Cấu trúc tuần tự.
4.2 Cấu trúc Automat.
4.3 Cấu trúc có chương trình con.
Chương 5: Phần mềm lập trình và mô phỏng
5.1 Phần mềm STEP 7-Micro/WIN4.0
5.2 Phần mềm mô phỏng S7-200.

TRANG - 1
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chương 1: GIỚI THIỆU VỀ PLC


1.1 TỔNG QUAN VỀ PLC:
1.1.1 Lịch Sử Phát Triển:
Thiết bị điều khiển lập trình đầu tiên (programmable controller) đã được những nhà
thiết kế cho ra đời năm 1968 (Công ty General Motor - Mỹ). Tuy nhiên, hệ thống này
còn khá đơn giản và cồng kềnh, người sử dụng gặp nhiều khó khăn trong việc vận
hành hệ thống. Vì vậy các nhà thiết kế từng bước cải tiến hệ thống đơn giản, gọn nhẹ,
dễ vận hành, nhưng việc lập trình cho hệ thống còn khó khăn, do lúc này không có các
thiết bị lập trình ngoại vi hổ trợ cho công việc lập trình.
Để đơn giản hóa việc lập trình, hệ thống điều khiển lập trình cầm tay (Programmable
Controller Handle) đầu tiên được ra đời vào năm 1969. Điều này đã tạo ra một sự phát
triển thật sự cho kỹ thuật điều khiển lập trình. Trong giai đoạn này các hệ thống điều
khiển lập trình (PLC) chỉ đơn giản nhằm thay thế hệ thống Relay và dây nối trong hệ
thống điều khiển cổ điển. Qua quá trình vận hành, các nhà thiết kế đã từng bước tạo ra
được một tiêu chuẩn mới cho hệ thống, tiêu chuẩn đó là lập trình dùng giản đồ hình
thang, ký hiệu là LAD. Trong những năm đầu thập niên 1970, những hệ thống PLC
còn có thêm khả năng khác, đó là sự hỗ trợ bởi những thuật toán, vận hành với các dữ
liệu cập nhật. Mặt khác, do sự phát triển của màn hình dùng cho máy tính nên việc
giao tiếp giữa người điều khiển để lập trình cho hệ thống càng trở nên thuận tiện hơn.
Sự phát triển của hệ thống phần cứng và phần mềm từ năm 1975 cho đến nay đã làm
cho hệ thống PLC phát triển mạnh mẽ hơn với các chức năng mở rộng: hệ thống ngõ
vào/ra có thể tăng lên đến 8.000 cổng vào/ra, dung lượng bộ nhớ chương trình tăng lên
hơn 128.000 từ bộ nhớ (word of memory). Ngoài ra các nhà thiết kế còn tạo ra kỹ
thuật kết nối với các hệ thống PLC riêng lẻ thành một hệ thống PLC chung, tăng khả
năng của từng hệ thống riêng lẻ. Tốc độ xử lý của hệ thống được cải thiện, chu kỳ quét
(scan) nhanh hơn làm cho hệ thống PLC xử lý tốt với những chức năng phức tạp số
lượng cổng ra/vào lớn.
Trong tương lai hệ thống PLC không chỉ giao tiếp với các hệ thống khác thông qua
CIM (Computer Intergrated Manufacturing) để điều khiển các hệ thống: Robot,
Cad/Cam… mà các nhà thiết kế còn xây dựng các loại PLC với các chức năng điều
khiển thông minh gọi là các siêu PLC (super PLC).
1.1.2 Đặc điểm của PLC:
PLC (Programmable Logic Controller) là một thiết bị điều khiển lập trình, cho phép
thực hiện linh họat các thuật toán điều khiển logic thông qua ngôn ngữ lập trình.
PLC được sử dụng trong nhiều lập trình ứng dụng khác nhau và có những lợi ích như:
- PLC dễ dàng thay thay đổi chương trình điều khiển để thích ứng một yêu cầu
mới mà vẫn có thể giữ nguyên thiết kế phần cứng, đầu nối dây…
- PLC có thể điều khiển nhiều chức năng khác nhau từ những thao tác đơn giản,
lặp lại, liên tục đến những thao tác đòi hỏi chính xác, phức tạp.
- PLC dễ dàng hiệu chỉnh chính xác công việc điều khiển và xử lý nhanh chóng
các lệnh, từ lệnh logic đơn giản đến các lệnh đếm (Counter), định thời (time),
chương trình con (SBS) v.v…
- Giao tiếp dễ dàng với các thiết bị ngoại vi, các module và các thiết bị phụ trợ
như màn hình hiển thị.
- Có khả năng chống nhiễu trong công nghiệp.

TRANG - 2
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- Ngôn ngữ lập trình cho PLC đơn giản, dễ hiểu.


Với những ưu điểm trên thiết bị PLC đã trở thành thiết bị chính trong việc điều khiển
các thiết bị công nghiệp.

1.2 CẤU TRÚC VÀ HOẠT ĐỘNG CỦA MỘT PLC:


1.2.1 Cấu trúc :
Một hệ thống điều khiển lập trình cơ bản phải gồm có hai phần: Khối xử lý trung tâm
(CPU: Central Processing Unit : CPU) và hệ thống giao tiếp vào/ra (I/0).

Hình 1.1 : Sơ đồ khối của hệ thống điều khiển lập trình

Khối xử lý trung tâm (CPU) gồm ba phần : Bộ xử lý, Hệ thống bộ nhớ và Hệ thống
nguồn cung cấp. Hình 1.2 mô tả 3 thành phần của một CPU.

Hình 1.2 : Sơ đồ khối tổng quát của CPU

1.2.2 Hoạt động của PLC :

1. Ñoïc döõ lieäu töø ngoaøi vaøo


4. Chuyeån döõ lieäu töø boä nhôù aûo
( Read input )
ñieàu khieån thieát bò ngoaïi vi

3. Truyeàn thoâng vaø 2.Thöïc hieän chöông trình


töï kieåm tra loåi (Program excution )

Hình 1.3 :Một vòng quét của PLC.

TRANG - 3
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

PLC thực hiện chương trình theo chu trình lặp, mỗi vòng lặp được gọi là vòng quét.
Mỗi vòng quét bắt đầu bằng giai đoạn đọc dữ liệu từ các ngõ vào (contact, sensor,
relay...) vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình. Trong từng
vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh MEND.
Sau giai đọan thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra lỗi.
Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các
ngõ ra.
Như vậy, tại thời điểm thực hiện lệnh vào/ra, lệnh này không trực tiếp làm việc với
cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng tham số. Việc truyền
thông giữa bộ đệm ảo với thiết bị ngoại vi trong giai đọan 1 và 4 là do CPU quản lý.
Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi công việc khác, ngay cả
chương trình xử lý ngắt để thực hiện lệnh này trực tiếp với cổng vào/ra.
Thường việc thực thi một vòng quét xảy ra với một thời gian rất ngắn, một vòng quét
đơn (single scan) có thời gian thực hiện từ 1ms tới 100ms. Việc thực hiện một chu kỳ
quét dài hay ngắn còn phụ thuộc vào độ dài của chương trình và cả mức độ giao tiếp
giữa PLC với các thiết bị ngoại vi (màn hình hiển thị…).Vi xử lý có thể đọc được tín
hiệu ở ngõ vào chỉ khi nào tín hiệu này tác động với khoảng thời gian lớn hơn một chu
kỳ quét thì vi xử lý coi như không có tín hiệu này. Tuy nhiên trong thực tế sản xuất,
thường các hệ thống chấp hành là các hệ thống cơ khí nên tốc độ quét như trên có thể
đáp ứng được các chức năng của dây chuyền sản xuất. Để khắc phục thời gian quét
dài, ảnh hưởng đến chu trình sản xuất các nhà thiết kế còn thiết kế hệ thống PLC cập
nhật tức thời, các hệ thống này thường được áp dụng cho các PLC lớn có số lượng I/O
nhiều, truy cập và xử lý lượng thông tin lớn.
- Ngõ vào:
Ngõ vào thực là ngõ vào có các mạch điện chuyển đổi làm cho tín hiệu từ bên ngoài
sau khi qua bộ chuyển đổi này sẽ có mức logic 0, hoặc 1 mà vi xử lý nhận biết được.
Như vậy, các ngõ vào ảo dùng làm vùng nhớ. Ta chỉ có thể dùng ngõ vào thực để kết
nối với các tiếp điểm bên ngoài
- Ngõ ra:
PLC sử dụng hai giải pháp để xuất tín hiệu đó là dùng Relay và Transistor.
Relay với đặc điểm là đóng ngắt chậm, tốn nhiều không gian làm cho kích thước của
PLC lớn.

Hình 1.4: Ngõ ra dùng Relay

Transistor có hạn chế về dòng điện ngỏ ra, thường mắc theo dạng cực thu hở.

TRANG - 4
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Hình 1.5: Ngõ ra dùng transistor

1.3 PHÂN LOẠI PLC:


Đầ̀u tiên là khả năng và giá trị cũng như nhu cầu về hệ thống sẽ giúp người sử dụng
chọn những loại PLC nào mà họ cần. Nhu cầu về hệ thống được xem như là một nhu
cầu ưu tiên, nó giúp người sử dụng biết cần loại PLC nào và đặc trưng của từng loại để
dễ dàng lựa chọn.

Hình 1.6: Phân loại PLC

Hình 1.6 cho ta các “bậc thang” phân loại các loại PLC và việc sử dụng PLC cho phù
hợp với các hệ thống thực tế sản xuất. Trong hình này ta có thể nhận thấy những vùng
chồng lên nhau, ở những vùng này người sử dụng thường phải sử dụng các loại PLC
đặc biệt như: số lượng cổng vào/ra (I/O) có thể sử dụng ở vùng có số I/O thấp nhưng
lại có các tính năng đặc biệt của các PLC ở vùng có số lượng I/O cao. Thường sử dụng
các loại PLC thuộc vùng chồng lấn nhằm tăng tính năng của PLC đồng thời lại giảm
thiểu số lượng I/O không cần thiết.
Các nhà thiết kế phân PLC ra thành các loại sau:
- Loại 1: Micro PLC (PLC siêu nhỏ).
Micro PLC thường được ứng dụng trong các dây chuyền sản xuất nhỏ, các ứng dụng
trực tiếp trong từng thiết bị đơn lẻ (ví dụ: điều khiển băng tải nhỏ. Các PLC này
thường được lập trình bằng các bộ lập trình cầm tay, một vài micro PLC còn có khả
năng hoạt động với tín hiệu I/O tương tự (analog). Các tiêu chuẩu của một Micro PLC
như sau:
32 ngõ vào/ra.
Sử dụng vi xử lý 8 bit.
Thường dùng thay thế rơle.
Bộ nhớ có dung lượng 1K.

TRANG - 5
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ngõ vào/ra là tín hiệu số.


Có timers và counters.
Thường được lập trình bằng các bộ lập trình cầm tay.
- Loại 2: PLC cỡ nhỏ (Small PLC)
Small PLC thường được dùng trong việc điều khiển các hệ thống nhỏ (ví dụ: Điều
khiển động cơ, dây chuyền sản xuất nhỏ), chức năng của các PLC này thường được
giới hạn trong việc thực hiện chuổi các mức logic, điều khiển thay thế rơle. Các tiêu
chuẩn của một small PLC như sau:
Có 128 ngõ vào/ra (I/O).
Dùng vi xử lý 8 bit.
Thường dùng để thay thế các role.
Dùng bộ nhớ 2K.
Lập trình bằng ngôn ngữ dạng hình thang (ladder) hoặc liệt kê.
Có timers/counters/thanh ghi dịch (shift registers).
Đồng hồ thời gian thực.
Thường được lập trình bằng bộ lập trình cầm tay.
Chú ý vùng A trong sơ đồ hình 1.6. Ở đây dùng PLC nhỏ với các chức năng tăng
cường của PLC cỡ lớn hơn như: thực hiện được các thuật toán cơ bản, có thể nối
mạng, cổng vào ra có thể sử dụng tín hiệu tương tự.
- Loại 3: PLC cỡ trung bình (Medium PLC)
PLC trung bình điều khiển được các tín hiệu tương tự, xuất nhập dữ liệu, ứng dụng
được những thuật toán, thay đổi được các đặc tính của PLC nhờ vào hoạt động của
phần cứng và phần mềm (nhất là phần mềm) các thông số của PLC trung bình như sau:
Có khoảng 1024 ngõ vào/ra (I/O).
Dùng vi xử lý 8 bit.
Thay thế rơle và điều khiển được tín hiệu tương tự.
Bộ nhớ 4K, có thể nâng lên 8K.
Tín hiệu ngõ vào ra là tương tự hoặc số.
Có các lệnh dạng khối và ngôn ngữ lập trình là ngôn ngữ cấp cao.
Có timers/Counters/Shift Register.
Có khả năng xử lý chương trình con (qua lệnh JUMP…).
Có các lệnh dạng khối và ngôn ngữ lập trình là ngôn ngữ cấp cao.
Có timers/counters/Shift Register.
Có khả năng xử lý chương trình con ( qua lệnh JUMP…).
Thực hiện các thuật toán (cộng, trừ, nhân, chia…).
Giới hạn dữ liệu với bộ lập trình cầm tay.
Có đường tín hiệu đặc biệt ở module vào/ra.
Giao tiếp với các thiết bị khác qua cổng RS232.
Có khả năng hoạt động với mạng.
Lập trình qua màn hình máy tính để dễ quan sát.
- Loại 4: PLC cỡ lớn (large PLC).
Large PLC được sử dụng rộng rãi hơn do có khả năng hoạt động hữu hiệu, có thể nhận
dữ liệu, báo những dữ liệu đã nhận… Phần mềm cho thiết bị điều khiển cầm tay được
phát triển mạnh hơn tạo thuận lợi cho người sử dụng. Tiêu chuẩn PLC cỡ lớn: Ngoài
các tiêu chuẩn như PLC cỡ trung, PLC cỡ lớn còn có thêm các tiêu chuẩn sau:
Có 2048 cổng vào/ra (I/O).

TRANG - 6
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Dùng vi xử lý 8 bit hoặc 16 bit.


Bộ nhớ cơ bản có dung lượng 12K, mở rộng lên được 32K.
Local và remote I/O.
Điều khiển hệ thống rơle (MCR: Master Control Relay).
Chuỗi lệnh, cho phép ngắt (Interrupts).
PID hoặc làm việc với hệ thống phần mềm PID.
Hai hoặc nhiều hơn cổng giao tiếp RS 232.
Nối mạng.
Dữ liệu điều khiển mở rộng, so sánh, chuyển đổi dữ liệu, chức năng giải thuật
toán mã điều khiển mở rộng (mã nhị phân, hexa …).
Có khả năng giao tiếp giữa máy tính và các module.
- Loại 5: PLC rất lớn (very large PLC)
Very large PLC được dùng trong các ứng dụng đòi hỏi sự phức tạp và chính xác cao,
đồng thời dung lượng chương trình lớn. Ngoài ra PLC loại này còn có thể giao tiếp I/O
với các chức năng đặc biệt, tiêu chuẩn PLC loại này ngoài các chức năng như PLC
loại lớn còn có thêm các chức năng:
Có 8192 cổng vào/ra (I/O).
Dùng vi xử lý 16 bit hoặc 32 bít.
Bộ nhớ 64K, mở rộng lên được 1M.
Thuật toán :+, -, *, /, bình phương.
Dữ liệu điều khiển mở rộng: Bảng mã ASCII, LIFO, FIFO.

1.4 SO SÁNH PLC VỚI CÁC HỆ THỐNG ĐIỀU KHIỂN KHÁC:


1.4.1 PLC với hệ thống điều khiển bằng rơle:
Việc phát triển hệ thống điều khiển lập trình đã dần thay thế từng bước hệ thống điều
khiển bằng rơle trong các quá trình sản xuất khi thiết kế một hệ thống điều khiển hiện
đại, người kỹ sư phải cân nhắc, lựa chọn giữa các hệ thống điều khiển lập trình thường
được sử dụng thay cho hệ thống điều khiển bằng rơ le do các nguyên nhân sau:
- Thay đổi chương trình điều khiển một cách linh động.
- Có độ tin cậy cao.
- Không gian lắp đặt thiết bị nhỏ, không chiếm nhiều diện tích.
- Có khả năng đưa tín hiệu điều khiển ở ngõ ra phù hợp: dòng, áp.
- Dễ dàng thay đổi đối với cấu hình (hệ thống máy móc sản xuất) trong tương lai khi
có nhu cầu mở rộng sản xuất.
Đặc trưng cho hệ thống điều khiển chương trình là phù hợp với những nhu cầu đã nêu
trên, đồng thời về mặt kinh tế và thời gian thì hệ thống điều khiển lập trình cũng vượt
trội hơn hệ thống điều khiển cũ (rơle, contactor …). Hệ thống điều khiển này cũng phù
hợp với sự mở rộng hệ thống trong tương lai do không phải thay đổi, loại bỏ hệ thống
dây nối giữa hệ thống điều khiển và các thiết bị, mà chỉ đơn giản là thay đổi chương
trình sao cho phù hợp với điều kiện sản xuất mới.
1.4.2 PLC với máy tính cá nhân:
Đối với một máy tính cá nhân, người lập trình dễ nhận thấy được sự khác biệt giữa PC
với PLC, sự khác biệt có thể biết được như sau:
Máy tính không có các cổng giao tiếp tiếp với các thiết bị điều khiển, đồng thời máy
tính cũng hoạt động không tốt trong môi trường công nghiệp.

TRANG - 7
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ngôn ngữ lập trình trên máy tính không phải dạng hình thang, máy tính ngoài việc sử
dụng các phần mềm chuyên biệt cho PLC, còn phải thông qua việc sử dụng các phần
mềm khác làm “chậm” đi quá trình giao tiếp với các thiết bị được điều khiển.
Tuy nhiên qua máy tính, PLC có thể dể dàng kết nối với các hệ thống khác, cũng như
PLC có thể sử dụng bộ nhớ (có dung lượng rất lớn) của máy tính làm bộ nhớ của PLC.

1.5 PHẠM VI ỨNG DỤNG PLC:


Hiện nay PLC đã được ứng dụng thành công trong nhiều lĩnh vực sản xuất cả trong
công nghiệp và dân dụng. Từ những ứng dụng để điều khiển các hệ thống đơn giản,
chỉ có chức năng đóng mở (ON/OFF) thông thường đến các ứng dụng cho các lĩnh vực
phức tạp, đòi hỏi tính chính xác cao, ứng dụng các thuật toán trong quá trình sản xuất.
Các lĩnh vực tiêu biểu ứng dụng PLC hiện nay bao gồm:
- Hóa học và dầu khí: Định áp suất (dầu), bơm dầu, điều khiển hệ thống ống dẫn, cân
đông trong ngành hóa …
- Chế tạo máy và sản xuất: Tự động hoá trong chế tạo máy, cân đông, quá trình lắp
đặt máy, điều khiển nhiệt độ lò kim loại…
- Bột giấy, giấy, xử lý giấy. Điều khiển máy băm, quá trình ủ bột, cán, gia nhiệt …
- Thủy tinh và phim ảnh: quá trình đóng gói, thử nghiệm vật liệu, cân đong, các khâu
hoàn tất sản phẩm, đo cắt giấy .
- Thực phẩm, rượu bia, thuốc lá: đếm, kiểm tra sản phẩm, kiểm soát quá trình sản
xuất, bơm (bia, nước trái cây …), cân đong, đóng gói, hòa trộn …
- Kim loại: Điều khiển quá trình cán, cuốn (thép), qui trình sản xuất, kiểm tra chất
lượng sản phẩm.
- Năng lượng: Điều khiển nguyên liệu (cho quá trình đốt, xử lý trong các
turbin …), các trạm cần hoạt động tuần tự khai thác vật liệu một cách tự động
(than, gỗ, dầu mỏ).

1.6 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN DÙNG PLC:


Để thiết kế 1 chuơng trình điều khiển cho một hoạt động bao gồm những bước sau:
B1: Xác định qui trình công nghệ:
Trước tiên, ta phải xác định thiết bị hay hệ thống nào muốn điều khiển. Mục đích cuối
cùng của bộ điều khiển là điều khiển một hệ thống hoạt động.
Sự vận hành của hệ thống được kiểm tra bởi các thiết bị đầu vào. Nó nhận tín hiệu và
gởi tín hiệu đến CPU, CPU xử lý tín hiệu và gởi nó đến thiết bị xuất để điều khiển sự
hoạt động của hệ thống như lập trình sẵn trong chương trình.
B2: Xác định ngõ vào, ngõ ra:
Tất cả các thiết bị xuất, nhập bên ngoài đều được kết nối với bộ điều khiển lập trình.
Thiết bị nhập là những contact, cảm biến ... Thiết bị xuất là những cuộn dây, van điện
từ , motor, bộ hiển thị.
Sau khi xác định tất cả các thiết bị xuất nhập cần thiết, ta định vị các thiết bị vào ra
tương ứng cho từng ngõ vào, ra trên PLC trước khi viết chương trình.
B3: Viết chương trình, và sửa lỗi:
Khi viết chương trình theo sơ đồ hình bậc thang (ladder ) phải theo sự hoạt động tuần
tự từng bước của hệ thống, hoặc theo dạng STL. Sau đó tiến hành sửa lỗi nếu có.
B4: Nạp chương trình vào bộ nhớ:

TRANG - 8
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chúng ta có thể cung cấp nguồn cho bộ điều khiển có lập trình thông qua cổng I/O.
Sau đó nạp chương trình vào bộ nhớ thông qua máy tính có chứa phần mềm lập trình
hình thang. Sau khi nạp xong, kiểm tra lại bằng hàm chuẩn đoán. Nếu được mô phỏng
toàn bộ hoạt động của hệ thống để chắc chắn rằng chuơng trình đã hoạt động tốt.
B5: Chạy chương trình:
Trước khi nhấn nút Start, phải chắc chắn rằng các dây dẫn nối các ngõ vào, ra đến các
thiết bị nhập, xuất đã được nối đúng theo chỉ định. Lúc đó PLC mới bắt đầu hoạt động
thực sự. Trong khi chạy chương trình, nếu bị lỗi thì máy tính sẽ báo lỗi , ta phải sữa lại
cho đến khi nó hoạt động an toàn
Sau đây là lưu đồ phương pháp thiết kế bộ điều khiển:

TRANG - 9
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Xác định yêu cầu của hệ


thống điều khiển

Vẽ lưu đồ chung của hệ


thống điều khiển

Liệt kê tất cả các ngõ ra, ngõ vào nối


tương đối đến các cổng I/O của PLC

Chuyển lưu đồ sang


sơ đồ hình thang

Nạp lập trình sơ đồ hình


thang thiết kế cho PLC

Mô phỏng chương trình và


sửa lỗi phần mềm
Hiệu chỉnh chương
trình cho phù hợp

Chương
trình OK

Kết nối toàn bộ thiết bị


vào, ra với PLC

Kiểm tra tất cả các


tiếp điểm vào, ra

TRANG - 10
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chạy thử chương trình

Hiệu đính lại


phần mềm

Chương
Trình OK

Nạp chương trình


vào EPROM

Lập hồ sơ hệ thống cho


tất cả các bản vẽ

END

Hình 1.7: Lưu đồ phương pháp thiết kế bộ điều khiển

1.7 CẤU TRÚC ĐẶC TÍNH CỦA PLC SIEMENS:


Ở Việt Nam hiện nay có rất nhiều hãng cung cấp thiết bị PLC: Siemens, Omron,
Panasonic, Mishumitshi, … Tuy nhiên do đặc thù của Khoa Điện tử nên tài liệu này
chỉ tập trung vào PLC của hãng Siemens. Tất cả các PLC đều có thành phần chính là:
- Một bộ nhớ chương trình RAM bên trong (có thể mở rộng thêm một số bộ nhớ
ngoài EPROM).
- Một bộ vi xử lý có cổng giao tiếp dùng cho việc ghép nối với PLC.
- Các Module vào /ra.
Bên cạnh đó, một bộ PLC hoàn chỉnh còn đi kèm thêm một đơn vị lập trình bằng tay
hay bằng máy tính. Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để chứa
chương trình. Nếu đơn vị lập trình là loại xách tay thì RAM thường là loại CMOS có
pin dự phòng, chỉ khi nào chương trình đã được kiểm tra và sẵn sàng sử dụng thì nó
mới truyền sang bộ nhớ PLC. Đối với các PLC lớn thường lập trình trên máy tính
nhằm hỗ trợ cho việc viết, đọc và kiểm tra chương trình. Các đơn vị lập trình nối với
PLC qua cổng RS232, RS485.

TRANG - 11
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chương 2: GIỚI THIỆU PLC S7-200


2.1 CẤU TRÚC PHẦN CỨNG:
S7-200 là thiết bị điều khiển logic lập trình loại nhỏ của hãng Siemens (Đức), có cấu
trúc theo kiểu module và có các module mở rộng. Các module này đươc sử dụng cho
nhiều ứng dụng lập trình khác nhau.
Hình dạng bên ngoài của PLC S7-200 được mô tả như hình 2.1.

Các cổng ra

SF I0.0 Q0.0 Q1.0


SIEMENS I1.0
RUN I0.1 Q0.1 Q1.1
I1.1
STOP I0.2 Q0.2
I1.2
I0.3 Q0.3
SIMATIC I1.3
I0.4 Q0.4
S7 - 200 I1.4
I0.5 Q0.5
I1.5 Q0.6
I0.6
I0.7 Q0.7

Các cổng vào


Cổng truyền thông

Hình 2.1: Bộ điều khiển lập trình S7-200 – CPU 214

Các đặc điểm và thông số của các loại PLC S7-200 khác nhau được giới thiệu trong
bảng bên dưới:

Đặc trưng CPU 221 CPU 222 CPU 224 CPU 226
Kích thước(mm) 90x80x62 90x80x62 120.5x80x62 190x80X62
Bộ nhớ chương trình 2048 words 2048words 4096words 4096words
Bộ nhớ dữ liệu 1024 words 1024words 2560words 2560words
Cổng logic vào 6 8 14 24
Cổng logic ra 4 6 10 16
Modul mở rộng none 2 7 7
Digital I/O cực đại 128/128 128/128 128/128 128/128
Analog I/O cực đại none 16In/16Out 32In/32Out 32In/32Out
Bộ đếm (Counter) 256 256 256 256
Bộ định thì (Timer) 256 256 256 256
Tốc độ thực thi lệnh 0.37μs 0.37μs 0.37μs 0.37μs
Khả năng lưu trữ khi 50 giờ 50 giờ 190 giờ 190 giờ
mất điện

TRANG - 12
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

2.1.1 Các đèn báo:


- SF (đèn đỏ): Đèn đỏ SF (System Falu báo hiệu hệ thống bị hỏng.
- RUN (đèn xanh): Đèn xanh RUN chỉ định PLC đang ở chế độ làm việc và thực
hiện chương trình được nạp vào trong máy.
- STOP (đèn vàng): Đèn vàng STOP chỉ định rằng PLC đang ở chế độ dừng chương
trình và đang thực hiện lại
2.1.2 Đầu vào:
- Kiểu đầu vào IEC 1131-2.
- Tầm điện áp mức logic 1: 15-30 VDC, dòng nhỏ nhất 4 mA; 35VDC ở thời gian
tức thời 500ms.
- Trạng thái mức logic 1 chuẩn: 24 VDC, 7mA.
- Trạng thái mức logic 0: Tối đa 5 VDC, 1mA.
- Đáp ứng thời gian lớn nhất ở các chân I0.0 đến I1.5: có thể chỉnh từ 0,2 đến 8,7 ms
mặc định 0,2 ms.
- Các chân từ I0.6 đến I1.5 được sử dụng bởi bộ đếm tốc độ cao HSC1 và HSC2 ở
30us đến 70us.
- Sự cách ly về quang 500VAC.1 min.
2.1.3 Đầu ra:
- Kiểu đầu ra: Relay hoặc Transistor.
- Tầm điện áp: 24.4 đến 28.8 VDC.
- Dòng tải tối đa: 2A/ điểm; 8A/common.
- Quá dòng: 7A với contact đóng.
- Điện trở cách ly: nhỏ nhất 100 MΩ.
- Thời gian chuyển mạch: tối đa 10 ms.
- Thời gian sử dụng: 10.000.000 với công tắc cơ khí; 100.000 với tốc độ tải.
- Điện trở công tắc: tối đa 200 mΩ.
- Chế độ bảo vệ ngắn mạch: không có.
2.1.4 Nguồn cung cấp:
- Điện áp cấp nguồn: 20.4 đến 24.8 VDC
- Dòng vào max load: 900mA tại 24 VDC
- Cách ly điện ngõ vào: Không có
- Thời gian duy trì khi mất nguồn: 10ms ở 24 VDC
- Cầu chì bên trong: 2A, 250V
2.1.5 Nguồn cấp cho sensor:
- Tầm điện áp ra: 15.4 đến 28.8 VDC
- Dòng ra tối đa: 280mA
- Độ gợn sóng: Giống như nguồn cấp vào
- Cách ly: không có
2.1.6 Chế độ làm việc:
PLC có 3 chế độ làm việc:
- RUN: cho phép PLC thực hiện chương trình từng bộ nhớ, PLC sẽ chuyển từ RUN
sang STOP nếu trong máy có sự cố hoặc trong chương trình gặp lệnh STOP.
- STOP: Cưỡng bức PLC dừng chương trình đang chạy và chuyển sang chế độ
STOP.
- TERM: Cho phép máy lập trình tự quyết định chế độ hoạt động cho PLC hoặc
RUN hoặc STOP.

TRANG - 13
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

2.1.7 Cổng truyền thông:


S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chân để phục vụ cho
việc ghép nối với thiết bị lập trình hoặc với các trạm PLC khác. Tốc độ truyền cho
máy lập trình kiểu PPI (Point to Point Interface) là 9600 bauds. Tốc độ truyền cung
cấp của PLC theo kiểu tự do là 300 ÷38.400 bauds.

Chân Chức năng


1 GND
2 24 VDC
5 4 3 2 1 3 Tín hiệu A của RS485 ( RxD/TxD+)
9 8 7 6 4 RTS ( theo mức TTL)
5 GND
6 +5 VDC
7 Nguồn cấp 24 VDC 120mA max
8 Tín hiện B RS485 (RxD/TxD-)
9 chọn lựa cách giao tiếp

Hình 2.2: Sơ đồ chân của cổng truyền thông

Để ghép nối S7-200 với các máy lập trình PG 702 hoặc với các loại máy lập trình kiểu
họ PG7xx có thể nối thẳng qua MPI. Cáp đó đi kèm theo máy lập trình.
Để ghép S7-200 với các máy tính PC qua cổng RS-232 cần có cáp nối PC/PPI với bộ
chuyển dổi RS232/RS485, theo hình vẽ 2.3.

Hình 2.3: Ghép nối S7-200 với máy tính qua cổng RS232

TRANG - 14
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

2.1.8 Mở rộng cổng vào ra:


Có thể mở rộng ngõ vào/ra của PLC bằng cách ghép nối thêm vào PLC các modul mở
rộng về phía bên phải của CPU (CPU 214 có thể ghép nhiều nhất 7 modul), làm thành
một móc xích, bao gồm các modul có cùng kiểu.
Các modul mở rộng số hay tương tự đều chiếm chổ trong bộ đệm, tương ứng với số
đầu vào/ ra của các module.
Sau đây là một ví dụ về cách đặt địa chỉ cho các module mở rộng :
CPU MODUL 0 MODUL 1 MODUL 2 MODUL 3 MODUL 4
(4vào/4ra) (8 vào) ( 3 vào analog (8 ra) (3 vào analog
1 ra analog) 1 ra analog)
I0.0 I2.0 I3.0 AIW0 Q3.0 AIW8
Q0.0 I2.1 I3.1 AIW2 Q3.1 AIW10
I0.1 I2.2 I3.2 AIW4 Q3.2 AIW12
Q0.1 I2.3 I3.3 Q3.3
I0.2 I3.4 AQW0 Q3.4 AQW4
Q0.2 Q2.0 I3.5 Q3.5
I0.3 Q2.1 I3.6 Q3.6
Q0.3 Q2.2 I3.7 Q3.7
I0.4 Q2.3
Q0.4
I0.5
Q0.5
I0.6
Q0.6
I0.7
Q0.7
I1.1
Q1.0
I1.2
Q1.1
I1.3
I1.4
I1.5

2.2 NGUYÊN LÝ HOẠT ĐỘNG:


2.2.1 Đơn Vị Xử Lý Trung Tâm:
CPU điều khiển các hoạt động bên trong PLC. Bộ xử lý sẽ đọc và kiểm tra chương
trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự từng lệnh trong chương trình,
sẽ đóng hay ngắt các đầu ra. Các trạng thái ngõ ra ấy được phát tới các thiết bị liên kết
để thực thi. Và toàn bộ các hoạt động thực thi đó đều phụ thuộc vào chương trình điều
khiển được lưu giữ trong bộ nhớ.
2.2.2 Hệ Thống Bus:
Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm nhiều đường tín hiệu
song song
Address Bus: Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau.
Data Bus: Bus dùng để truyền dữ liệu.

TRANG - 15
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điều khiển đồng
bộ các hoạt động trong PLC
Trong PLC các số liệu được trao đổi giữa bộ vi xử lý và các modul vào ra thông qua
Data Bus. Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép truyền 8
bit của 1 byte một cách đồng thời hay song song.
Nếu một modul đầu vào nhận được địa chỉ của nó trên Address Bus, nó sẽ chuyển tất
cả trạng thái đầu vào của nó vào Data Bus. Nếu một địa chỉ byte của 8 đầu ra xuất hiện
trên Address Bus, modul đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus. Control
Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của PLC
Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn chế.
Hệ thống Bus sẽ làm nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O . Bên cạch
đó, CPU được cung cấp một xung Clock có tần số từ 1÷8 MHZ. Xung này quyết định
tốc độ hoạt động của PLC và cung cấp các yếu tố về định thời, đồng hồ của hệ thống.
2.2.3 Bộ Nhớ:
PLC thường yêu cầu bộ nhớ trong các trường hợp:
- Làm bộ định thời cho các kênh trạng thái I/O.
- Làm bộ đệm trạng thái các chức năng trong PLC như định thời, đếm, ghi các Relay.
Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ, tất cả mọi vị trí trong bộ
nhớ đều được đánh số, những số này chính là địa chỉ trong bộ nhớ .
Địa chỉ của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong bộ vi xử lý.
Bộ vi xử lý sẽ giá trị trong bộ đếm này lên một trước khi xử lý lệnh tiếp theo. Với một
địa chỉ mới, nội dung của ô nhớ tương ứng sẽ xuất hiện ở đầu ra, quá trình này được
gọi là quá trình đọc .
Bộ nhớ bên trong PLC được tạo bởi các vi mạch bán dẫn, mỗi vi mạch này có khả
năng chứa 2000 ÷ 16000 dòng lệnh, tuỳ theo loại vi mạch. Trong PLC các bộ nhớ như
RAM, EPROM đều được sử dụng.
- RAM (Random Access Memory ) có thể nạp chương trình, thay đổi hay xoá bỏ nội
dung bất kỳ lúc nào. Nội dung của RAM sẽ bị mất nếu nguồn điện nuôi bị mất . Để
tránh tình trạng này các PLC đều được trang bị một pin khô, có khả năng cung cấp
năng lượng dự trữ cho RAM từ vài tháng đến vài năm. Trong thực tế RAM được
dùng để khởi tạo và kiểm tra chương trình. Khuynh hướng hiện nay dùng
CMOSRAM nhờ khả năng tiêu thụ năng lượng thấp và tuổi thọ lớn.
- EPROM (Electrically Programmable Read Only Memory) là bộ nhớ mà người sử
dụng bình thường chỉ có thể đọc chứ không ghi nội dung vào được. Nội dung của
EPROM không bị mất khi mất nguồn, nó được gắn sẵn trong máy, đã được nhà sản
xuất nạp và chứa hệ điều hành sẵn. Nếu người sử dụng không muốn mở rộng bộ
nhớ thì chỉ dùng EPROM gắn bên trong PLC. Trên PG (Programmer) có sẵn chỗ
ghi và xoá EPROM.
Môi trường ghi dữ liệu thứ ba là đĩa cứng hoặc đĩa mềm, được sử dụng trong máy lập
trình. Đĩa cứng hoặc đĩa mềm có dung lượng lớn nên thường được dùng để lưu những
chương trình lớn trong một thời gian dài.
Kích thước bộ nhớ:
- Các PLC loại nhỏ có thể chứa từ 300 ÷1000 dòng lệnh tuỳ vào công nghệ chế tạo.
- Các PLC loại lớn có kích thước từ 1K ÷ 16K, có khả năng chứa từ 2000 ÷16000
dòng lệnh.
Ngoài ra còn cho phép gắn thêm bộ nhớ mở rộng như RAM, EPROM.

TRANG - 16
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Hình minh họa hoạt động của PLC khi ghép nối với thiết bị ngoại vi.

TRANG - 17
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

2.2.4 Các ngõ vào ra I/O:


Các đường tín hiệu từ bộ cảm biến được nối vào các module vào (các đầu vào của
PLC), các cơ cấu chấp hành được nối với các module ra (các đầu ra của PLC).
Hầu hết các PLC có điện áp hoạt động bên trong là 5V, tín hiệu xử lý là 12/24VDC
hoặc 100/240VAC.
Mỗi đơn vị I/O có duy nhất một địa chỉ, các hiển thị trạng thái của các kênh I / O được
cung cấp bởi các đèn LED trên PLC, điều này làm cho việc kiểm tra hoạt động nhập
xuất trở nên dễ dàng và đơn giản.
Bộ xử lý đọc và xác định các trạng thái đầu vào (ON, OFF) để thực hiện việc đóng hay
ngắt mạch ở đầu ra .
2.2.5 Hoạt động của PLC:
PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp được gọi là vòng quét
(scan), theo hình 2.4. Mỗi vòng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các
cổng vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình. Trong từng
vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc
(MEND). Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và
kiểm tra lỗi. Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm
ảo tới các cổng ra.

1. Ñoïc döõ lieäu töø ngoaøi vaøo


4. Chuyeån döõ lieäu töø boä nhôù aûo
( Read input )
ñieàu khieån thieát bò ngoaïi vi

3. Truyeàn thoâng vaø 2.Thöïc hieän chöông trình


töï kieåm tra loåi (Program excution )

Hình 2.4: Vòng quét trong S7-200

Như vậy, tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trực
tiếp với cổng vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số.
Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 4 do CPU
quản lý. Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi công việc
khác, ngay cả chương trình xử lý ngắt, để thực hiện lệnh này một cách trực tiếp với
cổng vào/ra.
Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với từng tín hiệu ngắt được
soạn thảo và cài đặt như một bộ phận của chương trình. Chương trình xử lý ngắt chỉ
được thực hiện trong vòng quét khi xuất hiện tín hiệu ngắt và có thể xảy ra ở bất cứ
điểm nào trong vòng quét.

2.3 CẤU TRÚC BỘ NHỚ:


2.3.1 Phân chia bộ nhớ:
Bộ nhớ của S7-200 được chia thành 4 vùng với 1 tụ có nhiệm vụ duy trì dữ liệu trong
một khoảng thời gian nhất định khi mất nguồn. Bộ nhớ S7-200 có tính năng động cao,

TRANG - 18
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

đọc, ghi được trong toàn vùng, loại trừ các bit nhớ đặc biệt SM (Special memory) chỉ
có thể truy nhập để đọc. Hình vẽ 2.5 mô tả bộ nhớ trong và ngoài của PLC, bao gồm:
- Vùng chương trình: miền bộ nhớ được sử dụng để lưu trữ các lệnh chương trình.
- Vùng tham số: miền lưu trữ các tham số như: từ khóa, địa chỉ trạm,… cũng giống
như vùng chương trình.
- Vùng dữ liệu: được sử dụng để cất các dữ liệu của chương trình bao gồm các kết
quả các phép tính, bộ đệm truyền thông…
- Vùng đối tượng: Timer, Bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương tự
được đặt trong vùng nhớ cuối cùng.
- Hai vùng nhớ: dữ liệu và vùng nhớ đối tượng có ý nghĩa quan trọng trong việc thực
hiện một chương trình.

EEPROM Miền nhớ ngoài

Chương trình Chương trình Chương trình

Tham số Tham số Tham số

Dữ liệu Dữ liệu Dữ liệu

Vùng đối tượng

Hình 2.5: Bộ nhớ trong và ngoài của S7-200

2.3.2 Vùng dữ liệu:


Vùng dữ liệu là một miền nhớ động. Nó có thể được truy cập theo từng bit, từng byte,
từng từ đơn (word), hoặc theo từng từ kép và được sử dụng làm miền lưu trữ dữ liệu
cho các thuật toán, các hàm truyền thông, lập bảng, các hàm dịch chuyển, xoay vòng
thanh ghi, con trỏ địa chỉ,…
Ghi các dữ liệu kiểu bảng bị hạn chế rất nhiều vì các dữ liệu kiểu bảng thường chỉ
được sử dụng theo những mục đích nhất định.
Vùng dữ liệu lại được chia thành những miền nhớ nhỏ với các công dụng khác nhau.
Chúng được ký hiệu bằng các chữ cái đầu của tên tiếng Anh, đặc trưng cho công dụng
riêng của chúng như sau:
- V: Variable memory
- I: Input image register
- O: Output image register
- M: Internal memory bits
- SM: Special memory bits
2.3.3 Vùng đối tượng:
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các
giá trị tức thời, giá trị đặt trước của bộ đếm, hay Timer. Dữ liệu kiểu đối tượng bao
gồm các thanh ghi của Timer, các bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các
thanh ghi Accumulator(AC).

TRANG - 19
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì các dữ liệu kiểu đối tượng chỉ được ghi
theo mục đích cần sử dụng đối tượng đó.

Vùng nhớ CPU 221 CPU 222 CPU 224 CPU 226

V V0.0÷V2047.7 V0.0÷V2047.7 V0.0÷V5119.7 V0.0÷V5119.7

I I0.0÷I15.7 I0.0÷I15.7 I0.0÷I15.7 I0.0÷I15.7

Q Q0.0÷Q15.7 Q0.0÷15.7 Q0.0÷Q15.7 Q0.0÷Q15.7


Vùng
dữ M M0.0÷M31.7 M0.0÷M31.7 M0.0÷M31.7 M0.0÷M31.7
liệu
SM SM0.0÷SM179.7 SM0.0÷SM179.7 SM0.0÷SM179.7 SM0.0÷SM179.7

S S0.0÷S31.7 S0.0÷S31.7 S0.0÷S31.7 S0.0÷S31.7

L L0.0÷L63.7 L0.0÷L63.7 L0.0÷63.7 L0.0÷L63.7

Timer T0÷T255 T0÷T255 T0÷T255 T0÷T255

Counter C0÷C255 C0÷C255 C0÷C255 C0÷C255


Vùng
đối Analog inputs none AIW0÷AIW30 AIW0÷AIW62 AIW0÷AIW62
tượng Analog outputs none AQW0÷AQW30 AQW0÷AQW62 AQW0÷AQW62

Thanh nghi ACC AC0÷AC3 AC0÷AC3 AC0÷AC3 AC0÷AC3

Bộ đếm tốc độ cao HC0,HC3,HC4,HC5 HC0,HC3,HC4,HC5 HC0÷HC5 HC0÷HC5

Bảng 4.2: Phân chia vùng nhớ và toán hạng PLC S7-200

2.3.4 Phương thức truy cập bộ nhớ:


- Truy cập theo bit: tên miền(+) địa chỉ byte (+) • (+) chỉ số bit.
- Truy cập theo byte: tên miền (+) B (+) địa chỉ của byte trong miền.
- Truy cập theo từ: tên miền (+) W (+) địa chỉ byte cao của từ trong miền.
- Truy cập theo từ kép: tên miền (+) D (+) địa chỉ byte cao của từ trong miền.
Tất cả các byte thuộc vùng dữ liệu đều có thể truy cập được bằng con trỏ. Con trỏ
được định nghĩa trong miền V hoặc các thanh ghi AC1, AC2 và AC3. Mỗi con trỏ chỉ
địa chỉ gồm 4 byte (từ kép). Quy ước sử dụng con trỏ để truy cập như sau:
& địa chỉ byte (cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép.
*con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép con trỏ đang chỉ vào.

TRANG - 20
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Access Method CPU 221 CPU 222 CPU 224 CPU 226
Bit access V0.0÷V2047.7 V0.0÷V2047.7 V0.0÷V5119.7 V0.0÷V5119.7
(byte.bit) I0.0÷15.7 I0.0÷I15.7 I0.0÷I15.7 I0.0÷I15.7
Q0.0÷15.7 Q0.0÷Q15.7 Q0.0÷Q15.7 Q0.0÷Q15.7
M0.0÷M31.7 M0.0÷M31.7 M0.0÷M31.7 M0.0÷M31.7
SM0.0÷SM179.7 SM0.0÷SM179.7 SM0.0÷SM179.7 SM0.0÷SM179.7
S0.0÷S31.7 S0.0÷S31.7 S0.0÷S31.7 S0.0÷S31.7
T0÷T255 T0÷T255 T0÷T255 T0÷T255
C0÷C255 C0÷C255 C0÷C255 C0÷C255
L0.0÷L63.7 L0.0÷L63.7 L0.0÷L63.7 L0.0÷L63.7
Byte access VB0÷VB2047 VB0÷VB2047 VB0÷VB5119 VB0÷VB5119
IB0÷IB15 IB0÷IB15 IB0÷IB15 IB0÷IB15
QB0÷QB15 QB0÷QB15 QB0÷QB15 QB0÷QB15
MB0÷MB31 MB0÷MB31 MB0÷MB31 MB0÷MB31
SMB0÷SMB179 SMB0÷SMB179 SMB0÷SMB179 SMB0÷SMB179
AC0÷AC3 AC0÷AC3 AC0÷AC3 AC0÷AC3
SB0÷SB31 SB0÷SB31 SB0÷SB31 SB0÷SB31
LB0÷LB63 LB0÷LB63 LB0÷LB63 LB0÷LB63
Constant Constant Constant Constant
Word access VW0÷VW2046 VW0÷VW2046 VW0÷VW5118 VW0÷VW5118
T0÷T255 T0÷T255 T0÷T255 T0÷T255
C0÷C255 C0÷C255 C0÷C255 C0÷C255
IW0÷IW14 IW0÷IW14 IW0÷IW14 IW0÷IW14
QW0÷QW14 QW0÷QW14 QW0÷QW14 QW0÷QW14
MW0÷MW30 MW0÷MW30 MW0÷MW30 MW0÷MW30
SMW0÷SMW178 SMW0÷SMW178 SMW0÷SMW178 SMW0÷SMW178
AC0÷AC3 AC0÷AC3 AC0÷AC3 AC0÷AC3
AIW0÷AIW30 AIW0÷AIW62 AIW0÷AIW62
AQW0÷AQW30 AQW0÷AQW62 AQW0÷AQW62
LW0÷LW62 LW0÷LW62 LW0÷LW62 LW0÷LW62
SW0÷SW30 SW0÷SW30 SW0÷SW30 SW0÷SW30
Constant Constant Constant Constant
Double word VD0÷VD2044 VD0÷VD2044 VD0÷VD5116 VD0÷VD5116
access ID0÷ID12 ID0÷ID12 ID0÷ID12 ID0÷ID12
QD0÷QD12 QD0÷QD12 QD0÷QD12 QD0÷QD12
MD0÷MD28 MD0÷MD28 MD0÷MD28 MD0÷MD28
SMD0÷SMD176 SMD0÷SMD176 SMD0÷SMD176 SMD0÷SMD176
AC0÷AC3 AC0÷AC3 AC0÷AC3 AC0÷AC3
HC0,3,4,5 HC0,3,4,5 HC0÷HC5 HC0÷HC5
SD0÷SD28 SD0÷SD28 SD0÷SD28 SD0÷SD28
LD0÷LD60 LD0÷LD60 LD0÷LD60 LD0÷LD60
Constant Constant Constant Constant
Bảng 4.3: Toán hạng cho phép của PLC S7-200

2.4 Phương pháp lập trình PLC S7-200:


PLC S7-200 biểu diễn một mạch logic cứng bằng một dãy các lệnh lập trình. Chương
trình bao gồm một dãy các tập lệnh. PLC S7-200 thực hiện chương trình bắt đầu từ
lệnh lập trình đầu tiên và kết thúc ở lập trình cuối trong một vòng quét (scan).

TRANG - 21
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Một vòng quét (scan cycle) được bắt đầu bằng việc đọc trạng thái của đầu vào, và sau
đó thực hiện chương trình. Vòng quét kết thúc bằng việc thay đổi trạng thái đầu ra.
Trước khi bắt đầu một vòng quét tiếp theo, PLC S7-200 thực thi các nhiệm vụ bên
trong và nhiệm vụ truyền thông. Chu trình thực hiện chương trình là chu trình lặp.
Cách lập trình cho PLC S7-200 nói riêng và cho các PLC nói chung dựa trên hai
phương pháp cơ bản. Phương pháp hình thang (Ladder, viết tắt là LAD) và phương
pháp liệt kê lệnh (Statement List, viết tắt là STL).
Nếu có một chương trình viết dưới dạng LAD, thiết bị lập trình sẽ tự động tạo ra một
chương trình theo dạng STL tương ứng. Tuy nhiên không phải mọi chương trình viết
dưới dạng STL đều có thể chuyển sang được dạng LAD.
Đối với thiết bị điều khiển lập trình PLC S7 - 200, ta không thể lập trình trực tiếp ngay
trên nó được mà phải lập trình gián tiếp bằng cách sử dụng một trong những phần
mềm sau đây :
- STEP 7 – Micro/DOS
- STEP 7 – Micro/WIN
Những phần mềm này đều có thể cài đặt được trên các máy lập trình họ PG7xx hoặc
các máy tính cá nhân (PC). Công việc lập trình là ta sử dụng máy tính để tiến hành lắp
ghép các lệnh cơ bản lại với nhau nhằm thỏa mãn những yêu cầu đề ra của quy trình
công nghệ rồi sau đó mới chuyển vào PLC để điều khiển. Các lệnh cơ bản này thông
thường ở 2 dạng LAD (Ladder Logic) và STL (Statement List).
2.4.1 Phương pháp LAD:
LAD là một ngôn ngữ lập trình bằng đồ họa, những thành phần cơ bản dùng trong
LAD tương ứng với các thành phần của bảng điều khiển bằng rơle. Trong chương
trình LAD, các phần tử cơ bản dùng để biểu diễn lệnh logic như sau:
- Tiếp điểm: là biểu tượng (Symbol) mô tả các tiếp điểm của rơ le.
Tiếp điểm thường mở

Tiếp điểm thương đóng

- Cuộn dây (coil): ⎯( )⎯ là biểu tượng mô tả rơle, được mắc theo chiều dòng
điện cung cấp cho rơ le.
- Hộp (Box): là biểu tượng mô tả các hàm khác nhau, nó làm việc khi có dòng điện
chạy đến hộp. Những dạng hàm thường được biểu diễn bằng hộp là các bộ thời
gian (Timer), bộ đếm (counter) và các hàm toán học. Cuộn dây và các hộp phải
mắc đúng chiều dòng điện.
- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn thiện, đi từ đường
nguồn bên trái sang đường nguồn bên phải. Đường nguồn bên trái là dây pha,
đường nguồn bên phải là dây trung tính và cũng là đường trở về nguồn cung cấp
(thường không được thể hiện khi dùng chương trình STEP 7 MICRO / DOS hoặc
STEP 7 – MICRO/WIN. Dòng điện chạy từ trái qua tiếp điểm đến đóng các cuộn
dây hoặc các hộp trở về bên phải nguồn.
2.4.2 Phương pháp Liệt kê lệnh (STL):
Phương pháp liệt kê lệnh (STL) là phương pháp thể hiện chương trình dưới dạng tập
hợp các câu lệnh. Mỗi câu lệnh trong chương trình biểu diễn một chức năng của PLC.
Phương pháp lập trình LAD phù hợp cho những người lập trình quen suy luận về kỹ
thuật, còn STL phù hợp cho người lập trình quen suy luận về tin học.

TRANG - 22
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chương 3: TẬP LỆNH PLC S7-200


3.1 LỆNH CƠ BẢN :
3.1.1 Lệnh vào/ra :
- LOAD (LD) :
Lệnh LD nạp giá trị logic của một tiếp điểm vào trong bit đầu tiên của ngăn xếp, các
giá trị còn lại trong ngăn xếp bị đẩy lùi xuống một bit.
Toán hạng gồm I, Q, M, SM, V, C, T.
o Dạng LAD : Tiếp điểm thường mở sẽ đóng nếu I0.0 =1

o Dạng STL : LD I0.0


= Q0.0

- LOAD NOT (LDN) :


Lệnh LDN nạp giá trị logic của một tiếp điểm vào trong bit đầu tiên của ngăn xếp, các
giá trị còn lại trong ngăn xếp bị đẩy lùi xuống một bit.
Toán hạng gồm : I, Q, M, SM, V, C, T.
o Dạng LAD : Tiếp điểm thường đóng sẽ mở khi I0.0 =1

o Dạng STL : LDN I0.0


= Q0.0

- OUTPUT (=) :
Lệnh sao chép nội dung của bit đầu tiên trong ngăn xếp vào bit được chỉ định trong
lệnh. Nội dung ngăn xếp không bị thay đổi.
Toán hạng bao gồm : I,Q,M,SM,T,C (bit)
o Mô tả lệnh OUTPUT bằng LAD như sau :
Nếu I0.0 = 1 thì Q0.0 sẽ lên 1 (cuộn dây nối với ngõ ra Q0.0 có điện)

o Dạng STL : Giá trị logic I0.0 được đưa vào bit đầu tiên của ngăn xếp, và
bit này được sao chép vào bit ngõ ra Q0.0 .
LD I0.0
= Q0.0

TRANG - 23
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.1.2 Các lệnh ghi/xóa giá trị cho tiếp điểm :


- SET (S) :
Lệnh dùng để đóng các điểm gián đoạn đã được thiết kế. Trong LAD, logic điều khiển
dòng điện đóng các cuộn dây đầu ra. Khi dòng điều khiển đến các cuộn dây thì các
cuộn dây đóng các tiếp điểm. Trong STL, lệnh truyền trạng thái bit đầu tiên của ngăn
xếp đến các điểm thiết kế. Nếu bit này có giá trị bằng 1, các lệnh S sẽ đóng 1 tiếp điểm
hoặc một dãy các tiếp điểm (giới hạn từ 1 đến 255). Nội dung của ngăn xếp không bị
thay đổi bởi các lệnh này.
o Dạng LAD : đóng một mảng gồm n các tiếp điểm kể từ địa chỉ S-bit,
Toán hạng bao gồm I, Q, M, SM,T, C,V (bit)

o Dạng STL : Ghi giá trị logic vào một mảng gồm n bit kể từ địa chỉ S-
bit
LD I0.0
S Q0.0, 5
- RESET (R) :
Lệnh dùng để ngắt các điểm gián đoạn đã được thiết kế. Trong LAD, logic điều khiển
dòng điện ngắt các cuộn dây đầu ra. Khi dòng điều khiển đến các cuộn dây thì các
cuôn dây mở các tiếp điểm. Trong STL, lệnh truyền trạng thái bit đầu tiên của ngăn
xếp đến các điểm thiết kế. Nếu bit này có giá trị bằng 1, các lệnh R sẽ ngắt 1 tiếp điểm
hoặc một dãy các tiếp điểm (giới hạn từ 1 đến 255). Nội dung của ngăn xếp không bị
thay đổi bởi các lệnh này.
o Dạng LAD : ngắt một mảng gồm n các tiếp điểm kể từ S-bit. Nếu S-bit
lại chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/
Counter đó... .Toán hạng bao gồm I, Q, M, SM,T, C,V (bit)

o Dạng STL : xóa một mảng gồm n bit kể từ địa chỉ S-bit. Nếu S-bit lại chỉ
vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/Counter đó.
LD I0.0
R Q0.0, 10

3.1.3 Các lệnh logic đại số Boolean :


Các lệnh tiếp điểm đại số Boolean cho phép tạo lập các mạch logic (không có nhớ).
Trong LAD các lệnh này được biểu diễn thông qua cấu trúc mạch, mắc nối tiếp hay
song song các tiếp điểm thường đóng hay các tiếp điểm thường mở. Trong STL có thể
sử dụng lệnh A (AND) và O (OR) cho các hàm hở hoặc các lệnh AN (AND NOT),
ON (OR NOT) cho các hàm kín.
Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh.

TRANG - 24
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- AND (A) :
Dạng LAD : Dạng STL :
LD I0.0
A I0.1
= Q0.0

- AND NOT(AN) :
Dạng LAD : Dạng STL :
LD I0.0
AN I0.1
= Q0.0

- OR (O):
Dạng LAD : Dạng STL :
LD I0.0
O I0.1
= Q0.0

- OR NOT (ON):
Dạng LAD : Dạng STL :
LD I0.0
ON I0.1
= Q0.0

Ngoài những lệnh làm việc trực tiếp với tiếp điểm, S7-200 còn có 5 lệnh đặc biệt biểu
diễn các phép tính của đại số Boolean cho các bit trong ngăn xếp, được gọi là lệnh
stack logic. Đó là các lệnh ALD (AND Load), OLD (OR Load), LPS (Logic Push),
LRD (Logic Read) và LPP (Logic Pop). Lệnh stack logic được dùng để tổ hợp, sao
chụp hoặc xoá các mệnh đề logic. LAD không có bộ đếm dành cho Stack logic.
STL sử dụng các lệnh stack logic để thực hiện phương trình tổng thể có nhiều biểu
thức con và được biểu diển như sau:

- AND LOAD (ALD) :


Dạng LAD : Dạng STL :
LD I0.0
LD I0.1
O Q0.0 ALD
= Q0.0

TRANG - 25
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- OR LOAD (OLD) :
Dạng LAD : Dạng STL :
LD I0.0
A I0.1
O Q0.0
= Q0.0

- LOGIC PUSH (LPS), LOGIC READ (LRD) , LOGIC POP (LPP) :


Dạng LAD: Dạng STL:
LD I0.0
LPS
LD I0.1
O Q0.0
ALD
= Q0.0
LRD
LD I0.2
O Q0.1
ALD
= Q0.1
LPP
A I0.3
= Q0.2

Ý nghĩa của các lệnh :

Lệnh Mô tả Toán hạng


ALD Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai của ngăn xếp Không có
(And load) bằng phép tính logic AND. Kết quả ghi lại vào bit đầu tiên.
Giá trị còn lại của ngăn xếp được kéo lên một bit.
OLD Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai của ngăn xếp Không có
(Or load) bằng phép tính logic OR. Kết quả ghi lại vào bit đầu tiên.
Giá trị còn lại của ngăn xếp được kéo lên một bit.
LPS Lệnh Logic Push (LPS) sao chụp giá trị của bit đầu tiên Không có
(Logic vào bit thứ hai trong ngăn xếp. Giá trị còn lại bị đẩy xuống
Push) một bit. Bit cuối cùng bị đẩy ra khỏi ngăn xếp.
LRD Lệnh sao chép giá trị của bit thứ hai vào bit đầu tiên trong Không có
(Logic read) ngăn xếp.Các giá trị còn lại của ngăn xếp giữ nguyên vị trí

TRANG - 26
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ :
Viết chương trình điều khiển động cơ bằng PLC.

Lập trình LAD: Ghi chú :


I0.0 : Nút nhấn dừng
I0.1 : Nút nhấn mở
Q0.0 : Cuộn dây KĐT
Q0.0 : Tiếp điểm duy trì

3.1.4 Các lệnh tiếp điểm đặc biệt :


- Tiếp điểm đảo, tác động cạnh xuống, tác động cạnh lên :

NOT N P
Có thể dùng các lệnh tiếp điểm đặc biệt để phát hiện sự chuyển tiếp trạng thái của
xung (sườn xung) và đảo lại trạng thái của dòng cung cấp (giá trị đỉnh của ngăn xếp).
LAD sử dụng các tiếp điểm đặc biệt này để tác động vào dòng cung cấp. Các tiếp điểm
đặc biệt không có toán hạng riêng của chính chúng vì thế phải đặt chúng phía trước
cuộn dây hoặc hộp đầu ra. Tiếp điểm chuyển tiếp dương/âm (các lệnh sườn trước và
sườn sau) có nhu cầu về bộ nhớ bởi vậy đối với CPU 214 có thể sử dụng nhiều nhất là
256 lệnh.
Ví dụ:
Dạng LAD : Dạng STL :
LD I0.0
EU
= Q0.0
LD I0.0
ED
= Q0.1
LD I0.0
NOT
= Q0.2

Biểu đồ thời gian :


I0.0

Q0.0

Q0.1
Q0.2

Q0.2
Q0.1

TRANG - 27
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- Tiếp điểm trong vùng nhớ đặc biệt :


o SM0.1 : Vòng quét đầu tiên tiếp điểm này đóng, kể từ vòng quét thứ hai
thì mở ra và giữ nguyên trong suốt quá trình họat động.
o SM0.0 : Ngược lại với SM0.1, vòng quét đầu tiên thì mở nhưng từ vòng
quét thứ hai trở đi thì đóng.
o SM0.4 : Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1 phút.
o SM0.5 : Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1s

3.1.5 Các lệnh can thiệp vào thời gian vòng quét :
MEND, END, STOP, NOP, WDR
Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và kéo dài một
khoảng thời gian của một vòng quét.
Trong LAD và STL chương trình phải được kết thúc bằng lệnh kết thúc không điều
kiện MEND. Có thể sử dụng lệnh kết thúc có điều kiện END trước lệnh kết thúc không
điều kiện.
Lệnh STOP kết thúc chương trình, nó chuyển điều khiển chương trình đến chế độ
STOP. Nếu gặp lệnh STOP trong chương trình chính, hoặc trong chương trình con thì
chương trình đang thực hiện sẽ kết thúc ngay lập tức.
Lệnh rỗng NOP không có tác dụng gì trong việc thực hiện chương trình.
Lệnh WDR sẽ khởi động lại đồng hồ quan sát (watchdog timer ), và chương trình tiếp
tục được thực hiện trong vòng quét ở chế độ quan sát, cẩn thận khi sử dụng lệnh
WDR.

3.2 CÁC LỆNH ĐẾM (COUNTER) VÀ LỆNH THỜI GIAN ( TIMER):


3.2.1 Các lệnh điều khiển thời gian Timer :
Timer là bộ tạo thời gian trể giữa tín hiệu vào và tín hiệu ra nên trong điều khiển vẫn
thường được gọi là khâu trễ. Nếu ký hiệu tín hiệu (logic) vào là x(t) và thời gian trễ tạo
ra bằng Timer là τ thì tín hiệu đầu ra của Timer đó sẽ là x(t – τ)
S7-200 có 64 bộ Timer (với CPU 212) hoặc 128 Timer (với CPU 214) được chia làm
hai loại khác nhau:
- Timer tạo thời gian trễ không có nhớ (On-Delay Timer), ký hiệu là TON.
- Timer tạo thời gian trễ có nhớ (Retentive On-Delay Timer), ký hiệu TONR.
Hai kiểu Timer của S7-200 (TON và TONR) phân biệt với nhau ở phản ứng của nó
đối với trạng thái đầu vào.
Cả hai Timer kiểu TON và TONR cùng bắt đầu tạo thời gian trễ tín hiệu kể từ thời
điểm có sườn lên ở tín hiệu đầu vào, tức là khi tín hiệu đầu vào chuyển trạng thái logic
từ 0 lên 1, được gọi là thời gian Timer được kích, và không tính khoảng thời gian khi
đầu vào có giá trị logic 0 vào thời gian trễ tín hiệu đặt trước.
Khi đầu vào có giá trị logic bằng 0, TON tự động reset còn TONR thì không. Timer
TON được dùng để tạo thời gian trễ trong một khoảng thời gian (miền liên thông), còn
với TONR thời gian trễ sẽ được tạo ra trong nhiều khoảng thời gian khác nhau.
Timer TON và TONR bao gồm 3 loại với ba độ phân giải khác nhau, độ phân giải
1ms, 10ms và 100ms. Thời gian trễ τ được tạo ra chính là tích của độ phân giải của bộ
Timer được chọn và giá trị đặt trước cho Timer. Ví dụ Timer có độ phân giải 10ms và
giá trị đặt trước 50 thì thời gian trễ là 500ms.

TRANG - 28
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Độ phân giải các loại Timer của S7-200, loại CPU 214, được trình bày trong bảng
bên dưới.
Lệnh Độ phân giải Giá trị cực đại CPU 214
1 ms 32,767 s T32 và T96
TON 10 ms 327,67 s T33 ÷ T36, T97 ÷ T100
100 ms 3276,7 s T37 ÷ T63, T101 ÷ T127
1 ms 32,767 s T0 và T64
TONR 10 ms 327,67 s T1 ÷ T4, T65 ÷ T68
100 ms 3276,7 s T5 ÷ T31, T69 ÷ T95

Cú pháp khai báo sử dụng Timer như sau :

LAD Mô tả Toán hạng


Khai báo Timer số hiệu xx kiểu TON Txx (word)
TON-Txx để tạo thời gian trễ tính từ khi đầu vào CPU214:32÷63
- IN IN được kích. Nếu như giá trị đếm tức 96÷127
IN thời lớn hơn hoặc bằng giá trị đặt trước PT: VW, T, (word)
- PT PT thì T-bit có giá trị logic bằng 1. có C, IW, QW, MW,
PT thể reset Timer kiểu TON bằng lệnh R SMW, C, IW,
hoặc bằng giá trị logic 0 tại đầu vào IN. hằng số
Khai báo Timer số hiệu xx kiểu TONR Txx (word)
TONR-Txx để tạo thời gian trễ tính từ khi đầu vào CPU214: 0÷31
_ IN được kích. Nếu như giá trị đếm tức 64 ÷95
IN thời lớn hơn hoặc bằng giá trị đặt trước PT: VW, T, (word)
PT thì T-bit có giá trị logic bằng 1. Chỉ C,IW,QW, MW,
_ PT có thể reset Timer kiểu TON bằng lệnh SMW, AC, AIW,
R cho T-bit. hằng số

Khi sử dụng Timer TONR, giá trị đếm tức thời được lưu lại và không bị thay đổi trong
khoảng thời gian khi tín hiệu đầu vào có logic 0. Giá trị của T-bit không được nhớ mà
hoàn toàn phụ thuộc vào kết quả so sánh giữa giá trị đếm tức thời và giá trị đặt trước.
Khi Reset một bộ Timer, T-word và T-bit của nó đồng thời được xóa và có giá trị bằng
0, như vậy giá trị đếm tức thời được đặt về 0 và tín hiệu đầu ra cũng có trạng thái logic
bằng 0.

Ví dụ: Sử dụng Timer kiểu TON

LD I0.0
TON T32, +100
LD T32
= Q0.0

TRANG - 29
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Giản đồ thời gian :

Ví dụ: Sử dụng timer kiểu TONR

LD I0.0
TONR T1, +100
LDW= T1, +170
R T1, 1

Giản đồ thờigian:

TRANG - 30
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.2.2 Các lệnh Đếm Counter:


Counter là bộ đếm thực hiện chức năng đếm sườn xung, trong S7-200 các bộ đếm
được chia làm hai loại : bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD).
Bộ đếm tiến CTU đếm số sườn lên của tín hiệu logic đầu vào, tức là đếm số lần thay
đổi trạng thái logic từ 0 lên 1 của tín hiệu. Số xung đếm được ghi vào thanh ghi 2 byte
của bộ đếm, gọi là thanh ghi C-word.
Nội dung của thanh ghi C-word, gọi là giá trị đếm tức thời của bộ đếm, luôn được so
sánh với giá trị đặt trước của bộ đếm, được ký hiệu là PV. Khi giá trị đếm tức thời
bằng hoặc lớn hơn giá trị đặt trước này thì bộ đếm báo ra ngoài bằng cách đặt giá trị
logic 1 vào một bit đặc biệt của nó, gọi là C-bit. Trường hợp giá trị đếm tức thời nhỏ
hơn giá trị đặt trước thì C-bit có giá trị logic là 0.
Khác với các bộ Timer, các bộ đếm CTU và CTUD đều có chân nối với tín hiệu điều
khiển xóa để thực hiện việc đặt lại chế độ khởi phát ban đầu (reset) cho bộ đếm, được
ký hiệu bằng chữ cái R trong LAD, hay được qui định là trạng thái logic của bit đầu
tiên của ngăn xếp trong STL. Bộ đếm được reset khi tín hiệu xoá này có mức logic là 1
hoặc khi lệnh R (reset) được thực hiện với C-bit. Khi bộ đếm được reset, cả C-word và
C-bit đều nhận giá trị 0.

LAD Mô tả Toán hạng


CTU – Cxx Khai báo bộ đếm tiến theo sườn lên của Cxx : (word)
CU CU. Khi giá trị đếm tức thời C-word Cxx CPU 214 : 0 ÷47
lớn hơn hoặc bằng giá trị đặt trước PV, C- 80 ÷127
R bit (Cxx) có giá trị logic bằng 1. Bộ đếm PV(word) : VW, T,
được reset khi đầu vào R có giá trị logic C, IW, QW, MW,
PV bằng 1. Bộ đếm ngừng đếm khi C-word SMW, AC, AIW,
Cxx đạt được giá trị cực đại. hằng số, *VD, *AC

CTD-Cxx Khai báo bộ đếm tiến/lùi, đếm tiến theo Cxx (word)
sườn lên của CU, đếm lùi theo sườn lên của CPU 214 : 48 ÷79
CU
CD. Khi giá trị đếm tức thời C-word Cxx
lớn hơn hoặc bằng giá trị đặt trước PV, C- PV(word) : VW, T,
CD bit (Cxx) có giá trị logic bằng 1. Bộ đếm C, IW, QW, MW,
ngừng đếm tiến khi C-word Cxx đạt được SMW, AC, AIW,
R giá trị cực đại 32.767 và ngừng đếm lùi khi hằng số,
PV C-word Cxx đạt được giá trị cực đại – *VD, *AC
32.768. CTUD reset khi đầu vào R có giá
trị logic bằng 1.

Bộ đếm tiến/lùi CTUD đếm tiến khi găp sườn lên của xung vào cổng đếm tiến, ký hiệu
là CU hoặc bit thứ 3 của ngăn xếp trong STL, và đếm lùi khi gặp sườn lên của xung
vào cổng đếm lùi, ký hiệu là CD trong LAD hoặc bit thứ 2 của ngăn xếp trong STL.
Bộ đếm tiến CTU có miền giá trị đếm tức thời từ 0 đến 32.767. Bộ đếm tiến/lùi CTUD
có miền giá trị đếm tức thời từ –32.768 đến 32.767.

TRANG - 31
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ: Sử dụng bộ đếm CTU :

LD I0.0
LD I0.1
CTU C40, +5

Giản đồ thời gian :

Ví dụ: Sử dụng bộ đếm CTUD :

//NETWORK COMMENTS
//
LD I0.0
LD I0.1
LD I0.2
CTUD C48, +5

Giản đồ thời gian :

TRANG - 32
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.3 CÁC LỆNH SO SÁNH :


Khi lập trình, nếu các quyết định về điều khiển được thực hiện dựa trên kết quả của
việc so sánh thì có thể sử dụng lệnh so sánh theo Byte, Word hay DWord của S7-200.
LAD sử dụng lệnh so sánh để so sánh các giá trị của byte, word hay DWord (giá trị
thực hoặc nguyên).
Những lệnh so sánh thường là: so sánh nhỏ hơn hoặc bằng (<=); so sánh bằng (= =) và
so sánh lớn hơn hoặc bằng (>=).
Khi so sánh giá trị của byte thì không cần phải để ý đến dấu của toán hạng, ngược lại
khi so sánh các từ hay từ kép với nhau thì phải để ý đến dấu của toán hạng là bit cao
nhất trong từ hoặc từ kép.

Ví dụ: 7FFF > 8000 và 7FFFFFFF > 80000000

LAD Mô tả Toán hạng


N n1 N n2 Tiếp điểm đóng khi n1=n2
= =B
B = byte n1, n2(byte): VB, IB,
QB, MB, SMB, AC,
N n1 N n2
= =I
I = Integer = Word Const, *VD, *AC

N n1 N n2 D = Double Integer
= =D
R = Real
N n1 N n2
= =R
N n1 N n2 Tiếp điểm đóng khi n1>= n2 n1, n2 (word): VW, T,
> =B
B = byte C, QW, MW, SMW,
AC, AIW, hằng số,
N n1 N n2
>= I
I = Integer = Word *VD, *AC

N n1 N n2
D = Double Integer
> =D
R = Real
N n1 N n2
> =R

N n1 N n2 Tiếp điểm đóng khi n1<= n2 n1, n2(Dword) : VD,


< =B
B = byte ID, QD, MD, SMD,
AC, HC, hằng số,
N n1 N n2
<= I
I = Integer = Word *VD, *AC

N n1 N n2
D = Double Integer
< =D
R = Real
N n1 N n2
< =R

TRANG - 33
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Trong STL những lệnh so sánh thực hiện phép so sánh byte, Word hay DWord. Căn
cứ vào kiểu so sánh (<=, = =, >=), kết quả của phép so sánh có giá trị bằng 0 (nếu
đúng) hoặc bằng 1 (nếu sai) nên nó có thể được kết hợp cùng các lệnh LD, A, O. Để
tạo ra được các phép so sánh mà S7-200 không có lệnh so sánh tương ứng (như so
sánh không bằng nhau <>, so sánh nhỏ hơn <, hoặc so sánh lớn hơn >) ta có thể kết
hợp lệnh NOT với các lệnh đã có (= =, >=, <=)

3.4 LỆNH VỀ CỔNG LOGIC :


Ngoài những lệnh ghép nối tiếp, song song và tổng hợp các tiếp điểm thì tập lệnh của
S7-200 còn cung cấp các cổng logic AND, OR, EXOR thực hiện đối với byte (8 bit
hay 8 tiếp điểm), word (16 bit hay 16 tiếp điểm) và double word (32 bit hay 32 tiếp
điểm). Sau đây là chi tiết của từng cổng :
3.4.1 Lệnh AND byte :
Dạng LAD : Dạng STL:

ANDB VB0, VB1

Ý nghĩa:
Lệnh thực hiện phép AND từng bit của hai byte ngõ vào IN1 và IN2, kết quả được ghi
vào 1 byte ở ngõ ra OUT. Đặc biệt ở đây địa chỉ byte ngõ vào IN2 và byte ngõ ra OUT
là giống nhau.
Toán hạng trong câu lệnh thuộc một trong các vùng địa chỉ sau :
IN1 : VB, T, C, IB, QB, SMB, AC, const
IN2 : VB, T, C, IB, QB, SMB, AC
Ví dụ:
VB10 1 0 0 0 1 1 1 0
AND
VB20 0 0 1 1 0 1 1 1
Kết quả
VB20 0 0 0 0 0 1 1 0

3.4.2 Lệnh AND word :


Dạng LAD : Dạng STL:

ANDW VW0, VW1

TRANG - 34
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ý nghĩa :
Lệnh thực hiện phép AND từng bit của hai Word ngõ vào IN1 và IN2, kết quả được
ghi vào 1 Word ở ngõ ra OUT. Đặc biệt ở đây địa chỉ Word ngõ vào IN2 và Word ngõ
ra OUT là giống nhau.
Toán hạng trong câu lệnh thuộc một trong các vùng địa chỉ sau
IN1 : VW, T, C, IW, QW, SMW, AC, const
IN2 : VW, T, C, IW, QW, SMW, AC

Ví dụ :
VW10 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1
AND
VW12 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1
Kết quả
VW12 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1

3.4.3 Lệnh AND DWord :


Dạng LAD : Dạng STL:

ANDD VD0, VD4

3.4.4 Lệnh OR byte :


Dạng LAD : Dạng STL:

ORB VB0, VB1

Ý nghĩa :
Lệnh thực hiện phép OR từng bit của hai byte ngõ vào IN1 và IN2, kết quả được ghi
vào 1 byte ở ngõ ra OUT. Đặc biệt ở đây địa chỉ byte ngõ vào IN2 và byte ngõ ra
OUT là giống nhau.
Toán hạng trong câu lệnh thuộc một trong các vùng địa chỉ sau
IN1 : VB, T, C, IB, QB, SMB, AC, const
IN2 : VB, T, C, IB, QB, SMB, AC

TRANG - 35
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ:
VD10 1 0 0 0 1 1 1 0
OR
VD20 0 0 1 1 0 1 1 1
Kết quả
VD20 1 0 1 1 1 1 1 1

3.4.5 Lệnh OR word :


Dạng LAD : Dạng STL:

ORW VW0, VW2

3.4.6 Lệnh OR double word :


Dạng LAD : Dạng STL:

ORDW VD0, VD4

3.5 CÁC LỆNH DI CHUYỂN NỘI DUNG Ô NHỚ :


Các lệnh di chuyển thực hiện việc di chuyển hoặc sao chép số liệu từ vùng này sang
vùng khác trong bộ nhớ. Trong LAD và STL lệnh dịch chuyển thực hiện việc di
chuyển hay sao chép nội dung một byte, một từ đơn, hoặc một từ kép từ vùng này sang
vùng khác trong bộ nhớ. Lệnh trao đổi nội dung của hai byte trong một từ đơn thực
hiện việc chuyển nội dung của byte thấp sang byte cao và ngược lại chuyển nội dung
của byte cao sang byte thấp của từ đó. Sau đây là chi tiết của từng lệnh.

TRANG - 36
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- MOV_B :
Dạng LAD Dạng STL

MOVB VB0, VB0

Ý nghĩa:
Lệnh sao chép nội dung của byte ở địa chỉ ngõ vào IN sang byte có địa chỉ ở ngõ ra
OUT. Đặc biệt trong lệnh này địa chỉ của byte ngõ vào IN và địa chỉ byte ở địa chỉ ngõ
ra OUT giống nhau và thường nằm trong các vùng sau:
IN : VB, IB, QB, MB, SMB, AC, const
OUT: VB, IB, QB, MB, SMB, AC,
Ví dụ :
Dạng LAD Dạng STL

LD I0.0
MOVB 0, VB0
LD I0.1
MOVB 12, VB0

Giải thích :
Nếu tiếp điểm I0.0 đóng thì lấy giá trị 0 ghi vào byte VB0 (xóa VB0)
Tiếp theo đóng tiếp điểm I0.1 thì lấy số 12 ghi vào VB0. Kết quả địa chỉ byte VB0
có giá trị bằng 12.
- MOV_W :
Dạng LAD Dạng STL

MOVW VW0, VW0

TRANG - 37
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ý nghĩa :
Lệnh sao chép nội dung của Word ở địa chỉ ngõ vào IN sang Word có địa chỉ ở ngõ ra
OUT. Đặc biệt trong lệnh này địa chỉ của Word ngõ vào IN và địa chỉ Word ở địa chỉ
ngõ ra OUT giống nhau và thường nằm trong các vùng sau:
IN: VW, IW, QW, MW, SMW, AC, const
OUT: VW, IW, QW, MW, SMW, AC

- MOV_DW :
Dạng LAD Dạng STL

MOVDW VD0, VD0

Ý nghĩa :
Lệnh sao chép nội dung của DWord ở địa chỉ ngõ vào IN sang DWord có địa chỉ ở
ngõ ra OUT. Đặc biệt trong lệnh này địa chỉ của DWord ngõ vào IN và địa chỉ
DWord ở địa chỉ ngõ ra OUT giống nhau và thường nằm trong các vùng sau:
IN: VD, ID, QD, MDW, SMD, AC, const
OUT: VD, ID, QD, MD, SMD, AC

- MOV_R : (dịch chuyển số thực)


Dạng LAD Dạng STL

MOVR VD0, VD0

Ý nghĩa :
Lệnh sao chép nội dung của số thực chứa trong double word có địa chỉ ở ngõ vào IN
sang double word có địa chỉ ở ngõ vào OUT. Đặc biệt trong lệnh này địa chỉ của
double word ở ngõ vào IN và double word ở ngõ ra OUT giống nhau và thường nằm
trong các vùng sau:
IN: VD, ID, QD, MD, SMD, AC, const
OUT: VD, ID, QD, MD, SMD, AC
Khi dữ liệu ghi vào trong các địa chỉ này theo nguyên tắc sau :
Phần nguyên ghi vào word thấp
Phần thập phân ghi vào word cao

TRANG - 38
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ :

Giải Thích :
Tiếp điểm I0.0 đóng thì xóa double word 0 (VD0), tiếp điểm I0.1 đóng thì ghi số thực
30,2 vào double word VD0, kết quả như sau :
VD0

VW2 (word cao) VW0 (word thấp)


20 30

3.6 LỆNH CHUYỂN ĐỔI DỮ LIỆU :


3.6.1 Lệnh chuyển đổi số nguyên hệ thập lục phân sang led 7 đọan :

Dạng LAD : Dạng STL :

SEG VB0, VB0

Ý nghĩa :
Lệnh này có tác dụng chuyển đổi các số trong hệ thập lục phân từ 0 đến F chứa trong 4
Bit thấp của byte có địa chỉ ở ngõ vào IN thành giá trị BIT chứa trong 8 bit của byte
có địa chỉ ở ngõ ra OUT tương ứng với thanh led 7 đọan . Trong lệnh này byte có địa
chỉ ở ngõ vào IN và byte có địa chỉ ở ngõ ra OUT có thể cùng địa chỉ và nằm trong
những vùng sau:
IN: VB, IB, QB, MB, SMB,AC, const
OUT: VB, IB,AB,MB,SMB,AC

TRANG - 39
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ :
Dạng LAD: Dạng STL:

LD I0.0
MOVW +3, VW0
LD I0.1
SEG VB0, AC0

Giải thích :
Khi tiếp điểm I0.0 đóng thì số 7 được ghi vào VW0, sau đó tiếp điểm I0.1 đóng thì giá
trị chứa trong 4 bit thấp của byte VB0 chuyển thành 8 bit chứa trong thanh ghi AC0.
Ta có thể minh họa theo bit như sau :
VB1 VB0
VW0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
VB1 VB0
0 0 0 0 0 0 1 1
SEG . g f e d c b a
AC0 0 0 1 0 0 1 1 1 1

3.6.2 Lệnh chuyển đổi số mã BCD sang số nguyên :

Dạng LAD : Dạng STL :

BCDI VW0

Ý nghiã:
Lệnh này thực hiện phép biến đổi một số nhị thập phân 16 bit chứa trong word có địa
chỉ ở ngõ vào IN sang số nguyên 16 bit chứa trong word có địa chỉ ở ngõ ra OUT. Đặc
biệt ở đây word có địa chỉ ở ngõ vào IN và word có địa chỉ ở ngõ ra OUT có thể cùng
một địa chỉ. Địa chỉ này thường nằm trong các vùng sau :
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const
OUT: VW, T, C, IW, QW, MW, SMW, AC.

TRANG - 40
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ :
Dạng LAD Dạng STL

LD I0.0
MOVW +1124, AC0
LD I0.1
BCDI AC0

Giải thích:
Khi I0.0 đóng , giá trị 1124 theo mã BCD là 0001 0001 0010 0100 được ghi vào địa
chỉ AC0. Tiếp điểm I0.1 đóng thì giá trị BCD đó được chuyển sang số nguyên và lưu
vào AC0. Ta biểu diễn theo bit như sau :
MOV AC0
Mã BCD 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0

BCD-I AC0
Số nguyên 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
AC0= 1024 + 64 + 32 + 4 = 1124

3.6.3 Lệnh chuyển đổi số nguyên sang mã BCD:

Dạng LAD : Dạng STL :

I BCD VW0

Ý nghiã :
Lệnh này thực hiện phép biến đổi một số nguyên 16 bit chứa trong word có địa chỉ ở
ngõ vào IN sang số nhị thập phân 16 bit chứa trong word có địa chỉ ở ngõ ra OUT.
Đặc biệt ở đây word có địa chỉ ở ngõ vào IN và word có địa chỉ ở ngõ ra OUT có thể
cùng một địa chỉ.
Địa chỉ này thường nằm trong các vùng sau :
IN : VW, T, C, IW, QW, MW, SMW, AC, AIW, const
OUT : VW, T, C, IW, QW, MW, SMW, AC.

TRANG - 41
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.6.4 Lệnh chuyển đổi số nguyên sang số thực :

Dạng LAD : Dạng STL :

DTR VD0, VD0

Ý nghĩa:
Lênh này thực hiện phép biến đổi một số nguyên 32 bit có địa chỉ ở ngõ vào IN thành
số thực 32 bit rồi ghi vào Dword có địa chỉ ở ngõ ra OUT. Trong đó tóan hạng IN và
OUT có thể cùng điạ chỉ và thuộc một trong các vùng sau :
IN : VD, ID, QD, MD, SMD, AC, HC, const
OUT : VD, ID, QD, MD, SMD, AC

3.6.5 Lệnh chuyển đổi số thực sang số nguyên :


Dạng LAD : Dạng STL :

TRUNC VD0, VD0

Ý nghĩa :
Lênh này thực hiện phép biến đổi một số thực 32 bit chứa trong Dword có địa chỉ ở
ngõ vào IN thành số nguyên 32 bit rồi ghi vào Dword có địa chỉ ở ngõ ra OUT. Trong
đó tóan hạng IN và OUT có thể cùng điạ chỉ và thuộc một trong các vùng sau :
IN : VD, ID, QD, MD, SMD, AC, HC, const
OUT : VD, ID, QD, MD, SMD, AC.

TRANG - 42
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.6.6 Lệnh lấy giá trị nghịch đảo :

Dạng LAD : Dạng STL :

Giá trị Byte INVB VB0

INVW VW0
Giá trị Word

INVD VD0
Giá trị Double Word

Ý nghĩa :
Lệnh có tác dụng đảo giá trị từng Bit của tóan hạng của DW có địa chỉ ở ngõ vào IN
rồi ghi kết quả vào Dword có địa chỉ ở ngõ ra OUT. Lệnh này còn được gọi là lệnh
lấy giá trị bù của một số.
Ví dụ :
VB10 0 0 0 0 0 1 1 1
INVB
VB10 1 1 1 1 1 0 0 0

3.7 LỆNH TĂNG GIẢM MỘT ĐƠN VỊ :


3.7.1 Lệnh cộng số nguyên 1 vào nội dung byte :
Dạng LAD : Dạng STL :

INCB VB0

TRANG - 43
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ý nghĩa :
Lệnh này có tác dụng cộng số nguyên 1 đơn vị với nội dung của byte có địa chỉ ở ngõ
vào IN, kết quả được ghi vào byte có địa chỉ ở ngõ ra OUT. Byte IN và byte OUT có
thể cùng địa chỉ và ở lệnh này có sử dụng các bit nhớ đặc biệt SM1.0, SM1.1, SM1.2
để báo trạng thái kết quả phép tính theo nguyên tắc như sau :

Kết quả tính SM1.0 SM1.1 SM1.2


=0 1
Số âm 1
> byte 1

Ví dụ :
Dạng LAD : Dạng STL :

MOVB 10, VB0


INCB VB0

Giải thích :
Tiếp điểm I0.0 đóng thì số 10 được ghi vào VB0, tiếp điểm I0.1 đóng thì nội dung của
VB0 tăng lên 1 đơn vị và kết quả được lưu lại VB0. Lúc này VB0 = 11.

3.7.2 Lệnh cộng số nguyên 1 vào nội dung word :

Dạng LAD : Dạng STL :

INCW VW0

TRANG - 44
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ý nghĩa :

Lệnh này có tác dụng cộng số nguyên 1 đơn vị với nội dung của word có địa chỉ ở ngõ
vào IN, kết quả được ghi vào word có địa chỉ ở ngõ ra OUT , word IN và word OUT
có thể cùng địa chỉ và ở lệnh này có sử dụng các bit nhớ đặc biệt SM1.0, SM1.1,
SM1.2 để báo trạng thái kết quả phép tính theo nguyên tắc như sau :

Kết quả tính SM1.0 SM1.1 SM1.


2
=0 1
Số âm 1
> byte 1

3.7.3 Lệnh cộng số nguyên 1 vào nội dung double word :

Dạng LAD : Dạng STL :

INCD VD0

Ý nghĩa :

Lệnh này có tác dụng cộng số nguyên 1 đơn vị với nội dung của double word có địa
chỉ ở ngõ vào IN, kết quả được ghi vào doub word có địa chỉ ở ngõ ra OUT , double
word IN và double word OUT có thể cùng địa chỉ và ở lệnh này cũng sữ dụng các bit
nhớ đặc biệt SM1.0, SM1.1, SM1.2 để báo trạng thái kết quả phép tính theo nguyên
tắc như sau :

Kết quả tính SM1.0 SM1.1 SM1.


2
=0 1
Số âm 1
> byte 1

TRANG - 45
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.7.4 Lệnh trừ nội dung của byte đi 1 đơn vị :

Dạng LAD : Dạng STL :

DECB VB0

Ý nghĩa :
Lệnh này có tác dụng lấy nội dung của byte có địa chỉ ở ngõ vào IN trừ đi 1 đơn vị ,
kết quả được ghi vào byte có địa chỉ ở ngõ ra OUT , byte IN và byte OUT có thể cùng
địa chỉ và ở lệnh này cũng sử dụng các bit nhớ đặc biệt SM1.0, SM1.1, SM1.2 để báo
trạng thái kết quả phép tính theo nguyên tắc như sau :

Kết quả tính SM1.0 SM1.1 SM1.


2
=0 1
Số âm 1
> byte 1

3.7.5 Lệnh trừ nội dung của word đi 1 đơn vị :

Dạng LAD : Dạng STL :

DECW VW0

Ý nghĩa :
Lệnh này có tác dụng lấy nội dung của word có địa chỉ ở ngõ vào IN trừ đi 1 đơn vị ,
kết quả được ghi vào word có địa chỉ ở ngõ ra OUT , trong lệnh word IN và word
OUT có thể cùng địa chỉ và ở lệnh này cũng sử dụng các bit nhớ đặc biệt SM1.0,
SM1.1, SM1.2 để báo trạng thái kết quả phép tính theo nguyên tắc như sau :

Kết quả tính SM1.0 SM1.1 SM1.


2
=0 1
Số âm 1
> byte 1

TRANG - 46
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.7.6 Lệnh trừ nội dung của double word đi 1 đơn vị :

Dạng LAD : Dạng STL :

DECD VD0

Ý nghĩa :
Lệnh này có tác dụng lấy nội dung của double word có địa chỉ ở ngõ vào IN trừ đi 1
đơn vị , kết quả được ghi vào double word có địa chỉ ở ngõ ra OUT , trong lệnh double
word IN và double word OUT có thể cùng địa chỉ và ở lệnh này cũng sử dụng các bit
nhớ đặc biệt SM1.0, SM1.1, SM1.2 để báo trạng thái kết quả phép tính theo nguyên
tắc như sau :

Kết quả tính SM1.0 SM1.1 SM1.


2
=0 1
Số âm 1
> byte 1

3.8 CÁC LỆNH SỐ HỌC:


3.8.1 Lệnh cộng số nguyên 16 bit :

Dạng LAD : Dạng STL :

+I VW0, VW2

Ý nghĩa :
Lệnh thực hiện cộng các số nguyên 16 bit IN1 và IN2 , kết qủa là một số nguyên
16- bit được ghi vào OUT , tức là : IN1 + IN2 = OUT
Trong đó IN2 và OUT có thể cùng địa chỉ và thuộc các vùng nhớ sau :
IN1, IN2 : VW,T ,C, IW, QW, MW, SMW, AC, AIW, const.
OUT : VW,T ,C, IW, QW, MW, SMW, AC, AIW

TRANG - 47
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.8.2 Lệnh trừ số nguyên 16 bit

Dạng LAD : Dạng STL :

+I VW0, VW2

Ý nghĩa :
Lệnh được thực hiện phép trừ các số nguyên 16 –bit IN1và IN2 , kết qủa là một số
nguyên 16- bit và được ghi vào OUT , tức là : IN1 – IN2 = OUT
Tương tự lệnh cộng số nguyên 16 bit lệnh này cũng có IN2 và OUT cùng địa chỉ và
thuộc các vùng nhớ sau :
IN1, IN2 : VW,T ,C, IW, QW, MW, SMW, AC, AIW, const.
OUT : VW,T ,C, IW, QW, MW, SMW, AC, AIW.

3.8.3 Cộng số nguyên 32 bit

Dạng LAD Dạng STL :

+D VD0, VD4

Ý nghĩa :
Lệnh thực hiện phép cộng các số nguyên 32 bit IN1 và IN2, kết qủa là một số nguyên
32 bit được ghi vào OUT, tức là IN1 + IN2 = OUT .
Trong lệnh IN2 và OUT có thể cùng địa chỉ và thuộc các vùng nhớ sau :
IN1, IN2 : VD,T ,C, ID, QD, MD, SMD, AC, HC, const.
OUT : VD,T ,C, ID, QD, MD, SMD, AC.

3.8.4 Trừ số nguyên 32 bit


Dạng LAD : Dạng STL :

INVD VD4
INCD VD4
+D VD0, VD4

TRANG - 48
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ý nghĩa :
Lệnh thay vì thực hịên phép trừ các số nguyên 32 bit IN1 và IN2 thì ở đây thực hiện
bằng cách lấy nghịch đảo của số thực VD4 sau đó tăng lên 1 đơn vị rồi thực hiện cộng
với VD0 kết qủa là một số nguyên 32 bit được ghi vào OUT . Trong đó IN2 và OUT
có thể cùng địa chỉ và thuộc các vùng nhớ sau :
IN1, IN2 : VD,T ,C, ID, QD, MD, SMD, AC, HC, const.
OUT : VD,T ,C, ID, QD, MD, SMD, AC.

3.8.5 Cộng số thực :


Dạng LAD : Dạng STL :

+R VD0, VD4

Ý nghĩa :
Lệnh thực hiện phép cộng các số thực 32 bit IN1 và IN2, kết quả là một số thực 32 bit
được ghi vào OUT, tức là : IN1 + IN2 = OUT
Trong đó toán hạng IN2 và OUT có thể cùng địa chỉ, thường nằm trong các vùng sau :
IN1, IN2 : VD, ID, QD, MD, SMD, AC, HC, const
OUT : VD, ID, QD, MD, SMD, AC

3.8.6 Trừ số thực :

Dạng LAD : Dạng STL :

*R -1.000000, VD4
(nhân –1)
+R VD0, VD4

Ý nghĩa :
Lệnh thay vì thực hiện phép trừ các số thực 32 bit IN1 và IN2 thì ở đây thực hiện
bằng cách nhân số thực IN2 với –1 rồi sau đó lấy IN1 cộng với IN2, kết quả là một số
thực 32 bit được ghi vào OUT, tức là: IN1 + (IN2)(-1) = OUT.
Trong đó toán hạng IN2 và OUT có thể cùng địa chỉ, thường nằm trong các vùng sau :
IN1, IN2 : VD, ID, QD, MD, SMD, AC, HC, const
OUT : VD, ID, QD, MD, SMD, AC

TRANG - 49
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.8.7 Nhân số nguyên 16 bit :

Dạng LAD : Dạng STL :

MUL VW0, VD0

Ý nghĩa :
Lệnh thực hiện phép nhân 2 số nguyên 16bit IN1 và IN2. Kết quả 32 bit chứa trong từ
kép OUT (4 byte).

3.8.8 Chia số nguyên 16 bit :

Dạng LAD : Dạng STL :

MOVW VW0, VW6


DIV VW2, VD4

Ý nghĩa :
Lệnh thực hiện phép chia số nguyên 16 bit IN1 cho số nguyên 16 bit IN2. Kết quả 32
bit chứa trong từ kép OUT (4 byte) gồm thương số ghi trong mảng 16 bit từ bit 0 đến
bit 15 (từ thấp) và phần dư cũng 16 bit ghi trong mảng từ bit 16 đến bit 31 (từ cao).
Trong lệnh này có sử dụng các bit nhớ đặc biệt sau để báo trạng thái.

Kết quả tính SM1.0 SM1.1 SM1.2 SM1.3


=0 1
Báo tràn 1
Số âm 1
Mẫu = 0 1

TRANG - 50
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.8.9 Nhân số thực 32 bit :

Dạng LAD : Dạng STL :

*R VD0, VD4

Ý nghĩa :
Lệnh thực hiện phép nhân hai số thực 32bit IN1 và IN2 cho ra kết quả 32 bit chứa
trong từ kép OUT (4 byte).

3.8.10 Chia số thực 32 bit :

Dạng LAD : Dạng STL :

MOVR VD0, VD8


/R VD4, VD8

Ý nghĩa :
Lệnh thực hiện phép chia số thực 32 bit IN1 cho số thực 32 bit IN2. Kết qủa 32 bit
chứa trong từ kép OUT (4 byte). Trong lệnh này cũng sử dụng các bit nhớ đặc biệt sau
để báo trạng thái:

Kết quả tính SM1.0 SM1.1 SM1.2 SM1.3


=0 1
Báo tràn 1
Số âm 1
Mẫu = 0 1

TRANG - 51
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ:

Dạng LAD: Dạng STL:

LD I0.0
MOVW +6000, AC0
MOVW +4000, AC1
MOVW +41, VW10
MOVW +200, VW102
MOVW+4000, W202

LD I0.1
+I AC1, AC0
MUL AC1, VD100
DIV VW10, VD200

TRANG - 52
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Kết quả các phép tính trên:


Phép cộng: Phép nhân:
AC0=10000 VD100=800000
Phép chia: VW202 VW200
VD200= 23 97
Phần dư Phần nguyên

3.9 LỆNH NHẢY VÀ LỆNH GỌI CHƯƠNG TRÌNH CON :


Thông thường họat động của chương trình là thực hiện các lệnh theo thứ tự từ trên
xuống dưới trong một vòng quét, bên cạnh đó chương trình cũng cho phép thay đổi và
chuyển thứ tự thực hiện lệnh tùy theo yêu cầu của người lập trình sao cho việc lập
trình đơn giản, vòng quét chương trình ngắn gọn và chương trình xử lý tốt các chức
năng điều khiển.
Để làm được điều đó ta phải sử dụng tới nhóm lệnh điều khiển chương trình gồm :
lệnh nhảy, lệnh gọi chương trình con.
Muốn nhảy đến xử lý ở đoạn nào trong chương trình thì ta phải đánh dấu trước đoạn
đó bằng một ký hiệu gọi là nhãn, tên của chương trình con hoặc tên của ngắt xử lý.
Việc đặt nhãn cho lệnh nhảy phải nằm trong chương trình. Nhãn của chương trình con
hoặc của chương trình xử lý ngắt phải khai báo ở đầu chương trình.
Chương trình sẽ không hiểu khi dùng lệnh nhảy JMP để chuyển điều khiển từ chương
trình chính vào một nhãn bất kỳ trong chương trình con hoặc trong chương trình xử lý
ngắt. Tương tự như vậy cũng không thể từ một chương trình con hay chương trình xử
lý ngắt nhảy vào bất cứ một nhãn nào nằm ngoài các chương trình đó.

3.9.1 Lệnh đặt nhãn :


Dạng LAD : Dạng STL :

LBL 0

Ý nghĩa :
Lệnh này có thể đặt ở trong chương trình chính và cũng có thể đặt ở trong chương
trình con. Ta có thể hiểu đây là một địa chỉ để chương trình thực hiện bắt đầu từ đó khi
có lệnh nhãy đến. Địa chỉ nhãn này được đặt tên theo thứ tự từ 0, 1, 2, 3.....
3.9.2 Lệnh nhảy đến nhãn :
Dạng LAD : Dạng STL :

JMP 0

Ý nghĩa :
Lệnh này có thể đặt ở trong chương trình chính và cũng có thể đặt ở trong chương
trình con nhưng với điều kiện là ở trong đó có địa chỉ nhãn đó. Khi chương trình thực
hiện gặp lệnh này thì chương trình lập tức nhãy đến địa chỉ nhãn đó.

TRANG - 53
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.9.3 Lệnh gán nhãn cho chương trình con :

Dạng LAD : Dạng STL :

SBR 0

Ý nghĩa :
Lệnh này thường đặt đầu chương trình con và có địa chỉ theo thứ tự từ 0, 1, 2, 3, 4....
Khi trong chương trình chính gọi đến địa chỉ của chương trình con nào thì chương
trình con đó bắt đầu thực hiện từ đây.

3.9.4 Lệnh kết thúc chương trình con :


Dạng LAD : Dạng STL :

RET

Ý nghĩa :
Lệnh này đặt ở cuối chươnh trình con. Khi gặp lệnh này thì chương trình sẽ kết thúc
chươnh trình con và trở về (Return) thi hành lệnh kề sau lệnh đã gọi nó.

3.9.5 Lệnh gọi chương trình con :


Dạng LAD : Dạng STL :
CPU21x CPU22x CPU21x CPU22x

CALL 0 Call sbr 0

Ý nghĩa :
Lệnh gọi chương trình con là lệnh chuyển điều khiển đến chương trình con được gọi.
Khi kết thúc chương trình con thì việc điều khiển lại được chuyển trở về lệnh tiếp theo
trong chương trình chính ngay sau lệnh gọi chương trình con. Từ một chương trình
con có thể gọi được một chương trình con khác trong nó, có thể gọi như vậy nhiều
nhất là 8 lần đối với S7-200.

3.10 LỆNH TRUY CẬP ĐỒNG HỒ THỜI GIAN THỰC :


Trong thiết bị lập trình S7-200 kể từ CPU 214 trở đi thì trong CPU có một đồng hồ ghi
giá trị thời gian thực gồm các thông số về Năm, tháng, ngày, giờ, phút, giây và ngày
trong tuần. Đồng hồ này được cấp điện liên tục bởi nguồn pin 3V.
Khi thực hiện lập trình cho các hệ thống tự động điều khiển cần cập nhật giá trị đồng
hồ thời gian thực này ta phải thông qua 2 lệnh sau :

TRANG - 54
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

3.10.1 Lệnh đọc :

Dạng LAD : Dạng STL :

TODR VB0

Ý nghĩa :
Lệnh này đọc nội dung của đồng hồ thời gian thực rồi chuyển sang mã BCD và lưu
vào bộ đệm 8 byte liên tiếp nhau theo thứ tự như sau :

Trong đó byte đầu tiên được chỉ định bởi toán hạng T trong câu lệnh, byte 7 chỉ sử
dụng 4 bit thấp để lưu giá trị các ngày trong tuần.

3.10.2 Lệnh ghi :

Dạng LAD : Dạng STL :

TODW VB0

Ý nghĩa :
Lệnh này có tác dụng ghi nội dung của bộ đệm 8 byte với byte đầu tiên được chỉ định
trong toán hạng T vào đồng hồ thời gian thực. Trong đó T thuộc 1 trong những vùng
nhớ sau : VB, IB, QB, MB, SMB.
Nếu cần điều chỉnh các thônng số về năm, tháng, ngày, giờ, phút, giây, ngày trong
tuần thì điều chỉnh các byte như sau :

TRANG - 55
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ :
Để điều chỉnh giá trị ngày ta làm như sau :

Dạng LAD Dạng STL

LD I0.0
TODR VB100
MOVB VB102, AC0
INCB AC0
MOVB AC0, VB102
TODW VB100

TRANG - 56
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Giá trị trước xử lý : Sau khi xử lý :

VB100 2003 VB100 2003


VB101 02 VB101 02
VB102 30 VB102 31
VB103 09
VB103 09
VB104 20
VB104 20 VB105 35
VB105 35
VB106 0
VB106 0
VB107 4
VB107 4

TRANG - 57
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chương 4: CẤU TRÚC CHƯƠNG TRÌNH CỦA PLC S7-200


Khi viết chương trình cho S7-200, tùy theo yêu cầu của quy trình công nghệ mà
chương trình có thể thực hiện theo nhiều cấu trúc lập trình khác nhau. Trong thực tế
cấu trúc lập trình của một chương trình thường được phổ biến theo ba dạng.

4.1 CẤU TRÚC KIỂU LẬP TRÌNH TUẦN TỰ :


Lập trình tuần tự là kiểu lập trình bằng cách chia nhỏ bài toán ra làm nhiều bước khác
nhau, mỗi bước thực hiện một chức năng của chương trình và chỉ thực hiện khi hội đủ
các điều kiện của nó. Các bước trong chương trình có liên quan mật thiết với nhau có
thể biểu diễn theo dạng khối như hình vẽ 4.1.

Tín hieäu taùc ñoäng


Ñieàu kieän
chuyeån böôùc
Tín hieäu
Tín hieäu chuyeån
Reset
traïng thaùi
Ñieàu kieän
Tín hieäu töø böôùc treân chuyeån böôùc
Tín hieäu Tín hieäu chuyeån
Reset traïng thaùi

Tín hieäu taùc ñoäng böôùc sau

Hình 4.1: Sơ đồ khối kiểu lập trình tuần tự

Tín hiệu tác động là tín hiệu do con người tác động (chẳng hạn nút nhấn khởi động),
tín hiệu reset là tín hiệu chung cho tất cả các bước (nút dừng hệ thống ), tín hiệu
chuyển trạng thái là tín hiệu đưa ra điều khiển các thiết bị chấp hành khi bước đó đã
hội đủ điều kiện, tín hiệu điều kiện chuyển bước có thể là tín hiệu lấy từ tín hiệu
chuyển trạng thái bước trên qua timer hoặc qua một cổng logic nào đó. Để minh hoạ
cho kiểu lập trình này ta xét ví dụ bên dưới:

TRANG - 58
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ 1 :
Lập trình điều khiển 1 dãy gồm 4 đèn họat động như sau :
- Bước 1 : Nhấn I0.1 đèn 1 sáng
- Bước 2 : Nhấn I0.2 đèn 1 tắt và đèn 2 sáng
- Bước3 : Nhấn I0.3đèn 2 tắt và đèn 3 sáng
- Bươc 4 : Nhấn I0.4 đèn 3 tắt và đèn 4 sáng
- Nhấn I0.0 thì tắt bất kỳ đèn nào đang sáng.

Sơ đồ khối :

I0.0 I0.1

Bước 1 Q0.1 (đèn 1)


M0.1
M0.2

Bước 2 Q0.2 (đèn 2)


M0.2
M0.3

Bước 3 Q0.3 (đèn 3)


M0.3
M0.4

Bước 4 Q0.4 (đèn 4)


M0.4

TRANG - 59
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Lập trình dạng LAD :

Ghi chú :
I0.0: Nút dừng
I0.1: Nút khởi động bước 1 M0.1: Biến trung gian bước 1
I0.2: Nút khởi động bước 2 M0.2: Biến trung gian bước 2
I0.3: Nút khởi động bước 3 M0.3: Biến trung gian bước 3
I0.4: Nút khởi động bước 4 M0.4 : Biến trung gian bước 4
Q0.1: Đèn 1 Q0.2 : Đèn 2
Q0.3 : Đèn 3 Q0.4 : Đèn 4

TRANG - 60
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ 2 :

Lập trình điều khiển 1 dây chuyền sản xuất gồm 4 động cơ hoạt động như sau :
- Nhấn nút nhấn 1 động cơ Đ1 chạy, sau 30 giây mới cho vận hành động cơ Đ2
- Sau 30s nếu nhấn nút nhấn 2 động cơ Đ2 chạy đồng thời Đ1 tắt
- Sau 30s nếu nhấn nút nhấn 3 động cơ Đ3 chạy đồng thời Đ2 tắt
- Sau 30s nếu nhấn nút nhấn 4 động cơ Đ4 chạy đồng thời Đ3 tắt
- Nhấn nút nhấn 4 bất kỳ động cơ nào chạy cũnhg dừng

Sơ đồ khối:

I0.4 I0.1

Böôùc 1
Reset
M0.2 T37 10s
I0.2

Reset Böôùc 2
M0.3 T38 10s
I0.3

Reset Böôùc 3
M0.4
T39 10s
I0.4

Böôùc 4
Reset

TRANG - 61
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Lập trình dạng LAD :

TRANG - 62
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

4.2 CẤU TRÚC KIỂU LẬP TRÌNH AUTOMAT :


Lập trình Automat cũng chia nhỏ bài toán ra làm nhiều bước, mỗi bước thực hiện một
chức năng khác nhau. Công việc lập trình cũng làm theo trình tự.
- Trước hết ta phải vẽ sơ đồ trạng thái của hệ thống với quy định như sau :
ƒ Các trạng thái là các điểm nút trong sơ đồ tương ứng với các bit nhớ
trạng thái.
ƒ Quá trình chuyển trạng thái là các mũi tên tương ứng với các tín hiệu vào
automat.
ƒ Các tín hiệu ra được ghi chú bên cạnh các trạng thái gây ra tín hiệu đó.
ƒ Quá trình chuyển trạng thái chỉ phụ thuộc vào một ngõ vào
ƒ Sơ đồ khối của cấu trúc lập trình Automat :

Traïngthaùi 3

Tín hieäu keát thuùc


quùa trình laøm vieäc Tín hieäu vaøo S2

Reset Tín hieäu vaøo S1

Traïng thaùi 1 Traïng thaùi 2

Hình 4.2: Sơ đồ khối kiểu lập trình Automat

- Mô tả các quan hệ giữa các trạng thái :


Các biến trạng thái (State) ở đây được ký hiệu là S0, S1, S2. Trạng thái của nó kết hợp
tín hiệu vào của trạng thái trước sẽ quyết định cho trạng thái sau. Cụ thể trên sơ đồ
khối là trạng thái 1 kết hợp với tín hiệu vào S1 sẽ quyết định cho trạng thái 2, trạng
thái 2 kết hợp với tín hiệu vào S2 sẽ quyết định cho trạng thái 3…v..v.
- Chọn các bit nhớ cho các trạng thái :
Ta tiến hành chọn các bit nhớ nội ( Mx.x ) cho các trạng thái tương ứng.

Ví dụ:
Lập trình điều khiển 1 động cơ hoạt động như sau : Nhấn nút khởi động động cơ chạy,
nhấn nút dừng động cơ sẽ ngừng và đèn báo nhấp nháy trong 5s, sau 5s đó động cơ
mới có thể khởi động lại được. Nếu có sự cố thì động cơ sẽ ngừng ngay.
Sơ đồ trạng thái cho hệ thống :
Ñeøn baùo

Timer
I0.1 (Nuùt nhaán döøng )
5s
Söï coá I0.0
Chaïy
Nuùt Khôûi ñoäng
Döøng

TRANG - 63
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Quan hệ giữa các trạng thái :


- S0 với S1 : Trạng thái S0 =1 và I0.0 =1 thì
+ Set S1
+ Reset S0
- S1 với S2 : Trạng thái S1 =1 và I0.1 = 1 thì
+ Set S2
+ Reset S1
- S2 với S0 : Trạng thái S2 =1 và tiếp điểm Timer đóng thì
+ Set S0
+ Reset S2
Chọn các bit nhớ cho các trạng thái :
M0.0 cho S0
M0.1 cho S1
M0.2 cho S2

4.3 CẤU TRÚC LẬP TRÌNH KIỂU CHƯƠNG TRÌNH CON :


Cấu trúc lập trình kiểu chương trình con thường được sử dụng để lập trình cho các hệ
thống có quy trình công nghệ phức tạp, có nhiều chức năng làm việc khác nhau. Lúc
đó chương trình của hệ thống là một tập hợp gồm nhiều chương trình con ghép lại, mỗi
chương trình con thực hiện một chức năng của hệ thống. Các chương trình con này
hoạt động dưới sự kiểm soát của một chương trình chính và hoạt động như sau :
- Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND)
- Chương trình con là một bộ phận của chương trình. Các chương trình con phải
được viết sau lệnh kết thúc chương trình chính, đó là lệnh MEND.
- Các chương trình xử lý ngắt là một bộ phận của chương trình. Nếu cần sử dụng
chương trình xử lý ngắt phải viết sau lệnh kết thúc chương trình chính MEND.
Các chương trình con được nhóm lại thành một nhóm ngay sau chương trình chính.
Sau đó đến các chương trình xử lý ngắt. Bằng cách viết như vậy, cấu trúc chương trình
được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này. Có thể tự do trộn
lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính.

TRANG - 64
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Main Program Thực hiện trong một vòng quét


.......
MEND

SBR 0 chương trình con thứ nhất Thực hiện khi được chương
....... trình chính gọi
RET

SBR n chương trình con thứ n+1


......
RET

INT 0 chương trình xử lý ngắt thứ nhất Thực hiện khi có tín hiệu báo
...... ngắt
RET

INT n chương trình xử lý ngắt thứ n+1


......
RET

Hình 4.3: Cấu trúc lập trình kiểu chương trình con của S7-200

TRANG - 65
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chương 5: PHẦN MỀM LẬP TRÌNH VÀ MÔ PHỎNG


5.1 PHẦN MỀM STEP 7-Micro/WIN4.0:
5.1.1 Giới thiệu:
5.1.2 Hướng dẫn sử dụng:
5.1.3 Lập trình điều khiển thiết bị:

5.2 PHẦN MỀM MÔ PHỎNG S7-200:


5.2.1 Giới thiệu:
5.2.2 Mô phỏng PLC:

TRANG - 66
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Chương 6: PLC S7-300

PLC S7-300 ngoài có những đặc điểm của S7-200 còn được nâng cấp thêm, để tăng số
lượng đầu vào ra, hàm,…
5.1 Cấu trúc, chức năng PLC S7_300
Các khối chức năng
° Khối tín hiệu (SM:singnal module)
- Khối ngõ vào digital: 24VDC, 120/230VAC
- Khối ngõ ra digital: 24VDC
- Khối ngõ vào analog: Áp, dòng, điện trở, thermocouple
° Khối giao tiếp (IM): Khối IM360/IM365 dùng để nối nhiều cấu hình. Chúng điều
khiển nhiều thanh ghi của hệ thống.
° Khối giả lập (DM): Khối giả lập DM370 dự phòng các khối tín hiệu chưa được chỉ
định.
° Khối chức năng (FM): thể hiện những chức năng đặc biệt sau:
- Đếm
- Định vị
- Điều khiển hồi tiếp
° Xử lý liên lạc (CP):
- Nối điểm-điểm
- Mạng PROFIBUS
- Ethernet công nghiệp
5.2 Module CPU
Module CPU là loại module có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời
gian, bộ đếm, cổng truyền thông (RS485)… và có thể có 1 vài cổng vào ra số. Các
cổng vào ra số có trên module CPU được gọi là cổng vào/ra onboard.
PLC S7_300 có nhiều loại module CPU khác nhau. Chúng được đặt tên theo bộ vi xử
lý có trong nó như module CPU312, module CPU314, module CPU315…
Những module cùng sử dụng 1 loại bộ vi xử lý, nhưng khác nhau về cổng vào/ra
onboard cũng như các khối hàm đặc biệt được tích hợp sẵn trong thư viện của hệ điều
hành phục vụ việc sử dụng các cổng vào/ra onboard này sẽ được phân biệt với nhau
trong tên gọi bằng thêm cụm chữ IFM(Intergrated Function Module). Ví dụ như
Module CPU312 IFM, Module CPU314 IFM…
Ngoài ra còn có các loại module CPU với 2 cổng truyền thông, trong đó cổng truyền
thông thứ hai có chức năng chính là phục vụ việc nối mạng phân tán. Các loại module
này phân biệt với các loại module khác bằng cụm từ DP (Distributed Port) như là
module CPU315-DP.

TRANG - 67
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Trong luận văn sử dụng loại module 314 IFM sẽ được giới thiệu kĩ ở phần sau.
5.3 Module mở rộng
Các module mở rộng được chia thành 5 loại chính:
5.3.1- PS (Power supply): Module nguồn nuôi. Có 3 loại:2A, 5A, 10A.
5.3.2- SM (Signal module): Module mở rộng cổng tín hiệu vào/ra, bao gồm:
a-DI (Digital input): Module mở rộng các cổng vào số. Số các cổng vào số mở rộng có
thể là 8, 16, 32 tuỳ từng loại module.
b-DO (Digital output): Module mở rộng các cổng ra số. . Số các cổng ra số mở rộng có
thể là 8, 16, 32 tuỳ từng loại module.
c-DI/DO (Digital input/ Digital output): Module mở rộng các cổng vào/ra số.. Số các
cổng vào/ra số mở rộng có thể là 8 vào/8 ra hoặc 16 vào/ 16 ra tuỳ từng loại module.
d-AI (Analog input): Module mở rộng các cổng vào tương tự. Số các cổng vào tương
tự có thể là 2, 4, 8 tuỳ từng loại module.
e-AO (Analog output): Module mở rộng các cổng ra tương tự. Số các cổng ra tương tự
có thể là 2, 4 tuỳ từng loại module.
f-AI/AO (Analog input/ Analog output): Module mở rộng các cổng vào/ra tương tự.
Số các cổng vào/ra tương tự có thể là 4 vào/2 ra hay 4 vào/4 ra tuỳ từng loại module.
5.3.3 IM (Interface module): Module ghép nối, nối các module mở rộng lại với nhau
thành 1 khối và được quản lý chung bởi 1 module CPU. Thông thường các module mở
rộng được gá liền với nhau trên 1 thanh đỡ gọi là rack. Trên mỗi rack có thể gán nhiều
nhất là 8 module mở rộng (không kể module CPU, module nguồn nuôi. Một module
CPU S7_300 có thể làm việc trực tiếp với nhiều nhất 4 racks và các racks này phải
được nối với nhau bằng module IM.
5.3.4 FM (Function module): Module có chúc năng điều khiển riêng. Ví dụ như
module PID, module điều khiển động cơ bước…
5.3.5 CP (Communication module): Module phục vụ truyền thông trong mạng giữa
các PLC với nhau hoặc giữa PLC với máy tính.
5.4 Ngôn ngữ lập trình
PLC S7_300 có 3 ngôn ngữ lập trình cơ bản sau:
5.4.1 Ngôn ngữ “liệt kê lệnh”, ký hiệu là STL (Statement List). Đây là dạng ngôn
ngữ lập trình thông thường của máy tính. Một chương trình được ghép bởi nhiều câu
lệnh theo 1 thuật toán nhất định, mỗi lệnh chiếm 1 hàng và đều có cấu trúc chung là
“tên lệnh”+”toán hạng”.
Ví dụ:

TRANG - 68
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

5.4.2 Ngôn ngữ “hình thang”, ký hiệu là LAD (Ladder Logic). Đây là dạng ngôn
ngữ đồ hoạ thích hợp với những người quen thiết kế mạch điều khiển logic.

Hình 5.1: Ngôn ngữ lập trình hình thang


5.4.3 Ngôn ngữ “hình khối”, ký hiệu là FBD (Function Block Diagram). Đây là
dạng ngôn ngữ đồ hoạ thích hợp với những người quen thiết kế mạch điều khiển số.

Hình 5.2: Ngôn ngữ lập trình hình khối


Để thuận tiện trong việc lập trình, trong luận văn này Người thực hiện chọn ngôn ngữ
LAD để lập trình.
5.5 Giới thiệu PLC S7_300 CPU314IFM
5.5.1 Cấu trúc bộ nhớ
Bộ nhớ gồm 48KB RAM, 48KB ROM, không có khả năng mở rộng và tốc độ xử lý
gần 0.3ms trên 1000 lệnh nhị phân, bộ nhớ được chia trên các vùng:
+ Vùng chứa chương trình ứng dụng:
- OB (Organisation block):Miền chứa chương trình tổ chức, trong đó:
Khối OB1: Khối tổ chức chính, mặc định, thực thi lặp vòng. Nó được bắt đầu khi quá
trình khởi động hoàn thành và bắt đầu trở lại khi nó kết thúc.
Khối OB10 (Time of day interrupt): được thực hiện khi có tín hiệu ngắt thời gian.
Khối OB20 (Time delay interrupt): được thực hiện sau 1 khoảng thời gian đặt trước.
Khối OB35 (Cyclic Interrupt): khối ngắt theo chu kì định trước
Khối OB40 (Hardware Interrupt): được thực hiện khi tín hiệu ngắt cứng xuất hiện ở
ngõ vào I124.0…I124.3
- FC (Function): Miền chứa chương trình con được tổ chức thành hàm có biến hình
thức để trao đổi dữ liệu với chương trình đã gọi nó, được phân biệt bởi các số nguyên.

TRANG - 69
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ: FC1, FC7, FC30…ngoài ra còn có các hàm SFC là các hàm đã được tích hợp
sẵn trong hệ điều hành.
- FB (Function Block): tương tự như FC, FB còn phải xây dựng 1khối dữ liệu riêng
gọi là DB (Data Block) và cũng có các hàm SFB là các hàm tích hợp sẵn trong hệ
điều hành.
+ Vùng chứa các tham số hệ điều hành và chương trình ứng dụng:
- I (Process image input): Miền bộ đệm dữ liệu cá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ả giá trị logic của các cổng vào rồi cất giữ chúng
trong vùng I. khi thực hiện chương trình CPU sẽ sử dụng các giá trị trong vùng I mà
không đọc trực tiếp từ ngõ vào số.
- Q (Process image output): tương tự vùng I, miền Q là bộ đệm dữ liệu cổng ra số. Khi
kết thúc chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số.
- M (Memory): Miền các biến cờ. Do vùng nhớ này không mất sau mỗi chu kì quét
nên chương trình ứng dụng sẽ sử dụng vùng nhớ này để lưu giữ các tham số cần thiết.
Có thể truy nhập nó theo bit (M), byte (MB), theo từ (MW) hay từ kép (MD).
- T (Timer): Miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ các giá trị đặt trước
(PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic
đầu ra của Timer.
- C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ các giá trị đặt trước
(PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic
đầu ra của Counter.
- 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 cập miền nhớ PI theo từng byte
(PIB), từng từ (PIW) hoặc theo từng từ kép (PID).
- PQ: Miền địa chỉ cổng ra của các module tương tự (I/O External output)̣. 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 cập miền nhớ PI theo từng byte
(PQB), từng từ (PQW) hoặc theo từng từ kép (PQD).
+ Vùng chứa các khối dữ liệu, được chia thành 2 loại:
- DB (Data block): Miền chứa các dữ liệu được tổ chức thành khối. Kích thước hay số
lượng khối do người sử dụng qui định. Có thể truy nhập miền này theo từng bit
(DBX), byte( DBB), từng từ (DBW), từ kép (DBD).
- L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB, FC,
FB tổ chức và sử dụngcho 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 đã gọi nó. Toàn bộ vùng nhớ sẽ bị xoá sau khi khối thực hiện xong. Có
thể truy nhập theo từng bit (L), byte (LB), từ (LW), hoặc từ kép (LD).
5.5.2 Các ngõ vào ra
+ 20 ngõ vào số được định địa chỉ từ I124.0 đến I126.3 trong đó:

TRANG - 70
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Các ngõ vào từ I124.0 đến I124.3 là các ngõ vào đặc biệt có thể được dùng làm bộ
đếm tốc độ cao (high speed counter) đến 10Khz hoặc ngắt ngoài.
+ Các ngõ ra số từ Q124.0 đến Q125.7 có mức điện áp là 24VDC và dòng tối đa là
0.5A (16 ngõ ra số)
+ Có 4 ngõ vào Analog có địa chỉ từ PIW128 đến PIW134 và 1ngõ ra tương tự có địa
chỉ là PQW128 với tín hiệu dòng ± 20mA hoặc áp ± 10V có độ phân giải 11 bit và 1
bit dấu. Các ngõ vào tương tự có đặc điểm là chỉ được truy cập bằng từ (PIW)

Hình 5.3: Cấu tạo của PLC S7_300 CPU314IFM


5.5.3 Tập lệnh (sử dụng dạng LAD)
a. Các lệnh cơ bản
Nhóm lệnh logic tiếp điểm
Lệnh GÁN
Ví dụ:

Khi ngõ vào I0.0 lên mức 1 thì ngõ ra Q0.0 ON


Lệnh AND
Ví dụ:

Khi I0.0 và I0.1 đồng thời lên mức 1 thì ngõ ra Q0.0 ON

TRANG - 71
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Lệnh OR
Ví dụ:

Khi 1 trong 2 ngõ vào I0.0 hoặc I0.1 lên mức 1 thì ngõ ra Q0.0 ON
Lệnh AND NOT
Ví dụ:

Khi I0.0 lên mức 1 và I0.1 ở mức 0 thì Q0.0 ON


Lệnh OR NOT
Ví dụ:

Khi I0.0 mức 1 hay I0.1 mức 0 thì Q0.0 ON


Lệnh GÁN có điều kiện
- Lệnh gán giá trị 1
Ví dụ:

- Lệnh gán giá trị 0


Ví dụ:

b. Nhóm lệnh so sánh với số nguyên và số thực

TRANG - 72
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- Với số nguyên
So sánh bằng
Ví dụ:

So sánh lớn hơn


Ví dụ:

So sánh lớn hơn hoặc bằng


Ví dụ:

So sánh bé hơn
Ví dụ:

Số nguyên 16 bits Số nguyên 32 bits


So sánh bé hơn hoặc bằng

TRANG - 73
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ:

- Với số thực
So sánh bằng So sánh khác
Ví dụ:

So sánh lớn hơn So sánh lớn hơn hoặc bằng


Ví dụ:

So sánh lớn hơn So sánh bé hơn hoặc bằng


Ví dụ:

c. Các lệnh toán học


-Với số nguyên
Lệnh cộng số nguyên
Ví dụ:

TRANG - 74
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Số nguyên 16 bits Số nguyên 32 bits


Lệnh trừ số nguyên
Ví dụ:

Số nguyên 16 bits Số nguyên 32 bits

Lệnh nhân số nguyên


Ví dụ:

Số nguyên 16 bits Số nguyên 32 bits


Lệnh chia số nguyên
Ví dụ:

Số nguyên 16 bits Số nguyên 32 bits


- Với số thực

TRANG - 75
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Lệnh cộng số thực Lệnh trừ số thực


Ví dụ:

Lệnh nhân số thực Lệnh chia số thực


Ví dụ:

d. Nhóm lệnh đổi kiểu dữ liệu


Các lệnh chuyển:
Số BCD → số nguyên 16 bits BCD → số nguyên 32 bits
Ví dụ:

Số nguyên 16 bits → BCD Số nguyên32 bits → BCD


Ví dụ:

Số nguyên16 bits → số nguyên32bits

TRANG - 76
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Ví dụ:

Số nguyên 32bits → số thực


Ví dụ:

Lệnh làm tròn số (số thực → số nguyên 32 bits)


Ví dụ:

e. Bộ thời gian (Timer)


Bộ thời gian là bộ tạo thời gian trễ t mong muốn giữa tín hiệu logic đầu vào u(t) và tín
hiệu logic đầu ra y(t).
S7_300 có 5 loại Timer khác nhau.Thời gian trễ t mong muốn được khai báo với
Timer bằng 1 giá trị 16 bits trong đó 2 bits cao nhất không sử dụng, 2bits cao kế tiếp là
độ phân giải của Timer, 12 bits thấp là 1 số nguyên BCD trong khoảng 0 ÷ 999 được
gọi là PV (Preset Value).
Thời gian trễ t chính là tích:
t=Độ phân giải*PV

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Không sử dụng Giá trị PV dưới dạng mã BCD


0 ≤ PV ≤ 999

TRANG - 77
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Độ phân giải

0 0 10ms

0 1 100ms

1 0 1s

1 1 10s

Thời gian có thể được khai báo dưới dạng bằng kiểu S5T
Ví dụ: S5T#3s
Trong luận văn sử dụng loại Timer SD là loại Timer trễ theo sườn lên không có nhớ
(On Delay Timer):Ngõ ra lên mức 1 khi ngõ vào EN=1 và giá trị CV (Current
Value)=0.
Ví dụ:

Khi ngõ vào I0.0 lên mức 1 thì sau 2s T1 sẽ ON


f. Bộ đếm (Counter)
Counter là bộ đếm có chức năng đếm sườn xung của tín hiệu đầu vào. Có tối đa 256
Counter được kí hiệu từ C0 ÷ C255
Ví dụ: Loại Counter đếm lên và đếm xuống

- CU : tín hiệu đếm lên (BOOL)


- CD : tín hiệu đếm (BOOL)

TRANG - 78
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

- S : tín hiệu đặt (BOOL), khi có sườn lên thì giá trị đặt được
nạp cho CV
- PV : giá trị đặt (WORD)
- R : tín hiệu xoá (BOOL), khi có sườn lên thì giá trị CV được
xoá về 0.
- Q : ngõ ra
- CV : giá trị hiện tại của bộ đếm dạng Integer
- CV_BCD : giá trị hiện tại của bộ đếm dạng BCD
Loại Counter đếm lên

Giống loại Counter trên nhưng không có chân kích đếm xuống.
5.5.4 Thư viện hàm S7 300 thông dụng (phụ lục B)
5.6 Giải pháp mạng
Mạng công nghiệp là hệ thống đo lường và điều khiển hiện đại bao gồm máy tính,
PLC, vi xử lý ghép nối với cảm biến và chấp hành, thông thường các thiết bị này
không tập trung mà phân tán, việc trao đổi thông tin được thực hiện dưới dạng số và
truyền nối tiếp.
Mạng công nghiệp thường gồm 7 lớp: Lớp vật lý, lớp liên kết dữ liệu, lớp mạng, lớp
vận chuyển, lớp phiên, lớp trình và lớp ứng dụng. Tuy nhiên có 1 số mạng người ta chỉ
thiết kế trên hai hoặc ba lớp cơ bản, tuỳ vào mỗi hãng mà có các mạng khác nhau. Sau
đây là 1 số mạng công nghiệp đã được sử dụng rộng rãi:
- Mạng Ethernet
- Foundation FieldBus, MPI, Profibus
- Can
- DiviceNet
- ModBus
- SDS (Smart distributed System)
- InterBus-S
- AS-Interface (Actuaator Sensor Interface)
- Combobus-S, Combobus-D

TRANG - 79
TÀI LIỆU HỌC TẬP PLC Copyright by Tuan Manh: 0915191501

Hiện nay, để giao tiếp giữa PLC với máy tính, đơn giản nhất là sử dụng phần mềm
WinCC được cài đặt trên máy tính cùng với cáp chuyển đổi PPI hoặc MPI (Nếu muốn
kết nối nhiều PLC) chuyển đổi tín hiệu RS485 sang RS232 truyền sang máy tính vào
cổng Com RS232. WinCC là phần mềm tương đối mạnh bao gồm các thư viện được
viết sẵn tuy nhiên WinCC chưa phải là 1 ngôn ngữ lập trình hướng đối tượng hoàn
chỉnh như C++, Delphi hay Visual Basic mà là phần mềm đóng gói các thao tác, ứng
dụng, hoạt động thông dụng trong công nghiệp dựa trên ngôn ngữ lập trình C. Vì thế
sẽ đỡ mất công sức rất nhiều để lập trình trên PLC và trên máy tính khi sử dụng phần
mềm WinCC và ngược lại, nếu dùng các ngôn ngữ lập trình như C++, Delphi hay
Visual Basic, khi đó ta phải lập trình mạng cho hệ thống và phải dựa vào các hàm lập
sẵn cho Module truyền thông của PLC S7_300.
Không phải mọi CPU đều có Module truyền thông CP (Communication Processor),
CP có ưu điểm là có sự hỗ trợ mạnh về hàm thư viện và tính năng vượt trội như tốc độ,
số Byte dữ liệu và sự tương thích cao. Tuy nhiên hầu hết các CPU đều có ít nhất 1
cổng MPI là cổng COM RS485 dùng để đổ chương trình vào ROM của PLC, giao tiếp
và nối mạng. Một số hàm được lập trình sẵn để phục vụ cho cổng COM:
- SFC60”GD_SND” (global data send): gởi dữ liệu dưới dạng gói GD, gói GD phải
đươc tạo trước bằng phần mềm STEP7 (sẽ được trình bày kĩ ở trong chương truyền
thông bằng MPI).
- SFC61”GD_RCV” (global data receive): nhận dữ liệu dưới dạng gói GD.
- SFC65”X_SEND”: gởi dữ liệu đến đối tác truyền thông khác.
- SFC66”X_RCV”: nhận dữ liệu từ đối tác truyền thông khác.

TRANG - 80

You might also like