PHẦN 1
TRÌNH BÀY LÝ
TH
UY
ẾT
Phần I:
Trình
bày lý
t
h
uy
ết
SVTH: Nguyễn Phước
Hậ
u
1
CHƯƠNG
I
TÌM HIỂU CHUNG VỀ
PL
C
1.1 Giới thiệu
PLC
PLC là viết tắt của P
rogrammable Logic Controller, là thiết bị điều khiển
lập
trình được (khả trình) cho phép thực hiện linh hoạt các thuật toán điều khiển
logic
thông qua một ngôn ngữ lập trình. Người sử dụng có thể lập trình để thực hiện
một
loạt trình tự các sự kiện. Các sự kiện này được kích hoạt bởi tác nhân kích
thích
(ngõ vào) tác động vào PLC hoặc qua các hoạt động có trễ như thời gian định
thì
hay các sự kiện được đếm. Một khi sự kiện được kích hoạt thật sự, nó bật ON
hay
OFF thiết bị điều khiển bên ngoài được gọi là thiết bị vật lý. Một bộ điều khiển
lập
trình sẽ liên tục “lặp” trong chương trình do “người sử dụng lập ra” chờ tín hiệu
ở
ngõ vào và xuất tín hiệu ở ngõ ra tại các thời điểm đã lập
trình.
Để khắc phục những nhược điểm của bộ điều khiển dùng dây nối (bộ
điều
khiển bằng relay) người ta đã chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau
:
- Lập trình dễ dàng , ngôn ngữ lập trình dễ
học.
- Gọn nhẹ, dễ dàng bảo quản , sửa
chữa.
- Dung lượng bộ nhớ lớn có thể chứa được những chương trình phức
tạp.
- Hoàn toàn tin cậy trong môi trường công nghiệp
.
- Giao tiếp được với các thiết bị thông minh khác như: máy tính, nối mạng,
các
modul mở
rộng.
- Giá cả có thể cạnh tranh
được.
Trong PLC, phần cứng CPU và chương trình là đơn vị cơ bản cho quá
trình
điều khiển hoặc xử lý hệ thống. Chức năng mà bộ điều khiển cần thực hiện sẽ
được
xác định bởi một chương trình, chương trình này được nạp sẵn vào bộ nhớ của
PLC,
PLC sẽ thực hiện việc điều khiển dựa vào chương trình này. Như vậy nếu
muốn
thay đổi hay mở rộng chức năng của quy trình công nghệ, ta chỉ cần thay
đổi
chương trình bên trong bộ nhớ của PLC. Việc thay đổi hay mở rộng chức năng
sẽ
được thực hiện một cách dể dàng mà không cần một sự can thiệp vật lý nào so
với
các bộ dây nối hay
relay.
1. 2 Cấu
trúc,
nguyên lý hoạt động của
PL
C
Chương I: Tìm hiểu chung về
PL
C
1.2.1 Cấu
t
r
ú
c
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 modul vào
/ra.
Đố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, RS422, RS458,
…
1.2.2 Nguyên lý hoạt động của
PL
C
1.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 giữ trong bộ
nhớ.
1.2.2.2 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
và 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ớ
.
Kích thước bộ nhớ
:
Các PLC loại nhỏ có thể chứa từ 300 ÷1000 dòng lệnh tùy 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.
1.2.2.3 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 modul ( các đầu vào
của
PLC ), các cơ cấu chấp hành được nối với các modul 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/24 VDC hoặc 100/240
VAC.
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.
1.2.3 Các hoạt động xử lý bên
trong PLC
Khi một chương trình đã được nạp vào bộ nhớ của PLC, các lệnh sẽ
được
lưu trong một vùng địa chỉ riêng lẻ trong bộ
nhớ.
PLC có bộ đếm địa chỉ ở bên trong vi xử lý, vì vậy chương trình ở bên
trong
bộ nhớ sẽ được bộ vi xử lý thực hiện một cách tuần tự từng lệnh một, từ đầu
cho
đến cuối chương trình. Mỗi lần thực hiện chương trình từ đầu đến cuối được gọi
là
một chu kỳ thực hiện. Thời gian thực hiện một chu kỳ tùy thuộc vào tốc độ xử
lý
của PLC và độ lớn của chương trình. Một chu kỳ thực hiện bao gồm ba giai
đoạn
nối tiếp nhau
:
Đầu tiên, bộ xử lý đọc trạng thái của tất cả đầu vào. Phần chương
trình
phục vụ công việc này có sẵn trong PLC được gọi là hệ điều
hành.
Tiếp theo, bộ xử lý sẽ đọc và xử lý tuần tự từng lệnh một trong
chương
trình. Trong ghi, đọc và xử lý các lệnh, bộ vi xử lý sẽ đọc tín hiệu các đầu vào
và
thực hiện các phép toán logic và kết quả sau đó sẽ xác định trạng thái của các
đầu
ra.
Cuối cùng, bộ vi xử lý sẽ gán các trạng thái mới cho các đầu ra tại
các
modul đầu
ra.
1.2.4 So sánh PLC với hệ thống điều khiển
khác
.
Điều
khiển
Với chức năng được lưu trữ
bằng
Tiếp xúc vật
lý
Bộ nhớ khả lập
trình
Quy trình
cứng
Quy trình
mềm
Không
thay
đổi
được
Thay
đổi
được
Khả lập
trình
tự
do
Bộ nhớ
thay
đổi
được
Liên kết cứng
Liên kết
phích
cắm
RAM
EPROM
ROM
EPROM
Rơle, linh kiện điện tử,
mạch
điện
tử
PLC xử lý 1
bit
PLC xử lý từ
ngữ
Hình 1.1: So sánh PLC với các hệ thống điều khiển
khác
CHƯƠNG
II
THIẾT
BỊ ĐIỀU KHIỂN LẬP TRÌNH S7
200
Thiết bị điều khiển logic khả trình PLC (Programmable Logic Control)
là
thiết bị cho phép thực hiện linh hoạt các thao tác điều khiển số thông qua một
ngôn
ngữ lập trình, thay cho việc phải thực hiện thuật toán đó bằng mạch số. Như vậy
với
chương trình điều khiển trong mình, PLC trở thành bộ điều khiển số nhỏ gọn,
dễ
dàng thay đổi thuật toán đặc biệt dễ dàng trao đổi thông tin với môi trường
xung
quanh ( với các PLC hoặc máy
tính).
Hình 2.1: SIMATIC S7 của
Siemen
Thành phần cơ bản của S7 – 200 là khối vi xử lý CPU 212 hoặc CPU
214.
Về hình thức bên ngoài sự khác nhau của 2 loại CPU nhận biết được nhờ số
đầu
vào/ra và nguồn cung
cấp.
- CPU 212 có 8 cổng vào và 6 cổng ra và có khả năng mở rộng thêm bằng
2
modul mở
rộng
- CPU 214 có 14 cổng vào và 10 cổng ra và có khả năng mở rộng thêm bằng
7
modul mở
rộng.
2.1 Cấu
trúc
phần cứng của CPU
214
Chương II: Thiết bị điều khiển lập
trình S7-200
S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của hãng Siemens
có
cấu trúc theo kiểu modul và có các modul mở rộng. Các modul này được sử
dụng
cho nhiều ứng dụng lập trình khác nhau. Thành phần cơ bản của S7-200 là khối
vi
xử lý
CPU-214.
Hình 2.2: Cấu trúc PLC CPU
214
2.1.1 Các thông số của CPU
214
CPU - 214 bao gồm 14 ngõ vào và 10 ngõ ra, có khả năng thêm 7 modul
mở
rộng.
2.048 từ đơn (4 kbyte) thuộc miền nhớ đọc/ghi non-volatile để lưu
chương
trình (vùng nhớ có giao diện với
EPROM).
2.048 từ đơn (4 kbyte) thuộc kiểu đọc ghi để lưu dữ liệu, trong đó 512 từ
đầu
thuộc miền
non-volatile.
Tổng số ngõ vào/ra cực đại là 64 ngõ vào và 64 ngõ
ra.
128 timer chia làm 3 loại theo độ phân giải khác nhau: 4 timer 1ms, 16
timer
10ms và 108 timer
100ms.
128 bộ đếm chia làm 2 loại: Chỉ đếm tiến và vừa đếm tiến vừa đếm
lùi.
688 bít nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm
việc.
Các chế độ xử lý ngắt gồm: ngắt truyền thông, ngắt theo sườn lên
hoặc
xuống, ngắt thời gian, ngắt của bộ đếm tốc độ cao và ngắt truyền
xung.
3 bộ đếm tốc độ cao với nhịp 2khz và 7
khz.
2 bộ phát xung nhanh cho dãy xung kiểu PTO hoặc kiểu
PWM.
2 bộ điều chỉnh tương
tự.
Toàn bộ vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ kể
từ
khi PLC bị mất nguồn cung
cấp.
2.1.2 Các đèn báo trên S7-200 CPU
214
SF (đèn đỏ): đèn đỏ SF 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.
Ix.x (đèn xanh): đèn xanh ở cổng vào báo hiệu trạng thái tức thời của
cổng.
Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của công
tắc.
Qx.x (đèn xanh): đèn xanh ở cổng ra báo hiệu trạng thái tức thời của
cổng.
Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của
cổng.
2.1.3 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.
2.1.4 Cổng
truyền
t
h
ôn
g
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.
Ghép nối S7-200 với máy tính PC qua cổng RS232 cần có cáp nối
PC/PPI
với bộ chuyển đổi
RS232/RS485.
chân giải
thích
·
5
·
4
·
3
·
2
·
1
1
Đất
2 24
VDC
3 Truyền và nhận dữ
liệu
4 Không sử
dụng
5
Đất
·
9
·
8
·
7
·
6
6 5 VDC (điện trở trong
100Ω)
7 24 VDC (120 mA tối
đa)
8 Truyền và nhận dữ
liệu
9 Không sử
dụng
Hình 2.3: Cổng truyền
thông
Hình 2.4: Sơ đồ kết nối truyền thông cho PLC
S7-200
2.1.5 Cáp
truyền
thông cho PLC
S7-200
Do PLC thông qua liên kết RS485 nhưng máy tính chỉ có RS232 nên
phải
dùng cáp chuyển đổi. Quá trình chuyển đổi được thực hiện qua các
bước:
- Đặt tốc độ truyền cho cáp PC/PCI, có hai tốc độ truyền là 9600 baud
và
19200
baud
- Nối đầu cáp phía PC (RS232) vào cổng COM1 hoặc COM2 của máy
tính.
- Nối đầu còn lại của cáp PC/PCI (RS485) vào cổng giao tiếp của CPU
S7-
200.
2.2 Cấu
trúc
bộ
nhớ
Bộ nhớ 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, đọ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.
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
EPROM
Miền nhớ
ngoài
Hình 2.5: Cấu trúc bộ nhớ bên trong và ngoài của
S7-200
Vùng chương
tr
ì
nh
Là nguồn nhớ được sử dụng để lưu giữ các lệnh chương trình. Vùng
này
thuộc kiểu non-volatile đọc/ghi
được.
Vùng tham
số
Là miền lưu giữ các tham số như: từ khóa, địa chỉ trạm… . Cũng giống
như
vùng chương trình, thuộc kiểu non-volatile đọc/ghi
được.
Vùng dữ
li
ệu
Là miền nhớ động được sử dụng để cất giữ các dữ liệu của chương trình.
Nó
có thể được truy cập theo từng bít, từng byte, từng từ đơn (w-w
ord) hoặc theo
từ
kép (dw_ double word), vùng dữ liệu đượ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 chữ cái đầu theo từ 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 regiter. M
:
Internal memory bits. SM
:
Special memory
bits.
Tất cả các miền này đều có thể truy nhập theo từng bít, từng byte, từng
từ
(word) hoặc từ kép (double
word).
Vùng đối
t
ư
ợng
Bao gồm các thanh ghi timer, bộ đếm tốc độ cao, bộ đệm vào ra, thanh
ghi
AC. Vùng này không thuộc kiểu non-volatile nên đọc/ghi được
.
2.3 Mở
rộng
cổng vào
r
a
CPU 214 cho phép mở rộng nhiều nhất 7 modul (bao gồm modul số và
modul
tương tự). Có thể mở rộng cổng vào, ra của PLC bằng cách ghép nối thêm vào
nó
các modul mở rộng về phía bên phải của CPU, làm thành một móc xích. Địa chỉ
của
các vị trí của các modul được xác định cùng kiểu. Ví dụ như một modul cổng
ra
không thể gán địa chỉ của một modul cổng vào, cũng như một modul tương
tự
không thể có địa chỉ như một modul số và ngược
lại.
Các modul mở rộng số hay tương tự đều chiếm chổ trong bộ đệm, tương
tự
với số đầu vào/ra của modul
.
PLC Modul kết
nối
Caple kết
nối
Hình 2.6: Kết nối modul với
PLC
Sau đây là địa chỉ của một số modul mở rộng trên CPU
214
CPU
214
Modul
0
4vào/4a
Modul 1
8
vào
Modul
2
3vào/1a
analog
Modul
3
8
ra
Modul
4
3vào/1ra
I0.0
Q0.0
I0.1
Q0.1
I0.2
Q0.2
I0.3
Q0.3
I0.4
Q0.4
I0.5
Q0.5
I0.6
Q0.6
I0.7
Q0.7
I1.0
Q1.0
I1.1
Q1.1
I1.2
I1.3
I1.4
I1.5
I2.0
I2.1
I2.2
I2.3
Q2.0
Q2.1
Q2.2
Q2.3
I3.0
I3.1
I3.2
I3.3
I3.4
I3.5
I3.6
I3.7
AIW
0
AIW
2
AIW
4
AQW
0
Q3.0
Q3.1
Q3.2
Q3.3
Q3.4
Q3.5
Q3.6
Q3.7
AIW8
AIW12
AQW
4
Bảng 2.1: Địa chỉ của một số modul mở rộng trên CPU
214
2.4 Cấu
trúc
chương
trình
của
S7-200
mềm
:
Có thể được lập trình cho PLC S7-200 bằng cách sử dụng một trong các
phần
Step 7 – micro /
d
os
Step 7 – micro /
wi
n
2.4.1 Thực hiện chương
trình
của
S7-200
PLC thực hiện chương trình theo chu kỳ lặp. Mỗi vòng lặp được gọi là
vòng
quét (scan). Mỗi vòng quét được bắt đầu bằng giai đoạn đọc cá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 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.
4. Chuyển dữ liệu từ
bộ
đệm ảo ra ngoại
vi
.
3. Truyền thông
và
tự kiểm tra
lỗi
1. Nhập dữ liệu
từ
ngoại vi
vào
2.Thực
hiện
chương
trình
Hình 2.7: Vòng quét trong
S7-200
Khi gặp lệnh vào/ra ngay lập tức 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 và
ra.
Nếu sử dụng các chế độ ngắt chương trình 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 báo ngắt và có
thể
xảy ra ở bất cứ điểm nào trong vòng
quét.
2.4.2 Các toán hạng lập
trình
cơ
b
ả
n
I : dùng để chỉ ngõ vào vật lý nối trực tiếp vào
PLC.
Q : dùng để chỉ ngõ ra vật lý nối trực tiếp từ
PLC.
T : dùng để xác định phần tử định thời có trong
PLC.
C : dùng để xác định phần tử đếm có trong
PLC.
M và S : dùng như các cờ hoạt động như bên trong
PLC.
Tất cả các phần tử (toán hạng) trên có hai trạng thái ON hoặc OFF (1 hoặc
0).
2.5 Ngôn ngữ lập
trình
của S7-200 CPU
214
2.5.1 Phương pháp lập
tr
ì
nh
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. 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.
Cách lập trình cho S7-200 nói riêng và cho các PLC nói chung dựa trên
ba
phương pháp cơ
bản.
- Phương pháp hình thang
(ladder,
viết tắt là
LAD).
- Phương pháp liệt kê lệnh
(statement
list, viết tắt là
STL).
- Phương pháp lập trình theo biểu đồ khối FBD (Function block
diagram):
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. Ngược lại 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.
Phương pháp hình thang (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 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):
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.
Ví
dụ:
Hình 2.8: Ví dụ phương pháp lập trình
LAD
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, kể cả những
lệnh
hình thức biểu diễn một chức năng của
PLC.
Ví
dụ:
LD
I0.0
A
I0.1
LDN
I0.2
A
I0.3
OLD
=
Q0.0
Để tạo ra một chương trình dạng STL, người lập trình cần phải hiểu
rõ
phương thức sử dụng 9 bit ngăn xếp logic của CPU S7-200. Ngăn xếp là một khối
9
bit chồng lên nhau, tất cả các thuật toán liên quan đến ngăn xếp đều chỉ làm việc
với
bit đầu tiên hoặc với bit thứ 2 của ngăn xếp. Giá trị logic mới đều có thể được
gửi
(hoặc có thể được nối thêm ) vào ngăn xếp khi có yêu cầu phối hợp hai bit đầu
của
ngăn xếp thì ngăn xếp sẽ được kéo lên một
bit.
Stack 0: bit đầu tiên hay bit trên cùng của ngăn
xếp
Stack 1: bit thứ hai của năn
xếp
Stack 2: bit thứ ba của ngăn
xếp
Stack 3: bit thứ tư của ngăn
xếp
Stack 4: bit thứ năm của ngăn
xếp
Stack 5: bit thứ sáu của ngăn
xếp
Stack 6: bit thứ bảy của ngăn
xếp
Stack 7: bit thứ bảy của ngăn
xếp
Stack 9: bit thứ tám của ngăn
xếp
Hình 2.9: Cấu trúc của một ngăn
xếp
Phương pháp lập
trình
theo biểu đồ khối
F
BD
:
STEP7 Micro/Win32 cho phép tạo ra các lệnh như các hộp logic giống
với
các biểu đồ cổng chung. Trong FBD không có tiếp điểm và cuộn dây như của
dạng
LAD, nhưng có các lệnh tương đương xuất phát như các hộp lệnh. Logic
của
chương trình nhận được từ sự liên kết giữa các hộp
lệnh.
S0
S1
S2
S3
S4
S5
S6
S7
S8
Ví
dụ:
Hình 2.10: Ví dụ phương pháp lập trình
FBD
2.5.2 Các toán hạng và giới hạn cho phép của CPU
214
Phương pháp truy
nhập
Giới hạn cho phép của các toán
hạng
Truy nhập bit (địa chỉ
byte,
chỉ số
bit)
V ( 0.0
4095.7)
I (0.0
7.7)
Q (
0.0
7.7)
M (
0.0
31.
7)
SM
(
0.0
85.7) T
(0
Truy nhập
bit
VB
(0
4.095) IB
(0
7)
MB (0 31).
SMB
(0
85) AC
(0
3)
hằng
Truy nhập từ
đơn
VW
(0
4094) T
(0
127) C
(0
127) IW
(0
6)
QW
(0
6)
MW
(0
30)
SMW
(0
84)
AC
(0
3)
AIW (0 30)
AQW (0 30)
hằng
số
Truy nhập từ
kép
VD
(0
4092) ID
(0
4) QD
(0
4) MD
(0
28)
SMD
(0
82) AC
(0
3) HC
(0
2)
hằng
số.
Bảng 2.2: Các toán hạng và giới hạn cho phép của CPU
214
2.6 Một số lệnh cơ bản dùng trong lập
t
r
ìn
h
2.6.1 Các lệnh vào,
r
a
Lệnh LD, LDN trong LAD như
sau:
LAD
Mô
tả
Toán
hạng
LD
N
Tiếp điểm thường mở sẽ
được
đóng nếu n =
1.
N: I, Q, M, SM, T, C,
V
LDN
N
Tiếp điểm thường đóng sẽ
mở
khi n =
1.
LDI
N
Tiếp điểm thường mở sẽ
đóng
tức thời khi n =
1
N:
I
LDNI
N
Tiếp điểm thường đóng sẽ
mở
tức thời khi n =
1
Bảng 2.3: Mô tả lệnh LD, LDN trong
LAD
Lệnh
Output
LAD
Mô
tả
Toán
hạng
n
(
)
Cuộn dây đầu ra ở
trạng
thái kích thích khi có
dòng
điều khiển đi
qua.
N: I, Q, M, SM, T, C,
V
(bít)
n
(
)
Cuộn dây đầu ra được
kích
thích tức thời khi có
dòng
điều khiển đi
qua.
N: Q
(bít)
Bảng 2.4: Mô tả lệnh Output bằng
LAD
2.6.2 Lệnh ghi/xóa giá
trị
cho tiếp
đ
iể
m
Set (S) và Reset
(
R):
Lệnh dùng để đóng và ngắt các điểm gián đoạn đã được thiết kế. Trong
LAD,
lệnh điều khiển dòng điện đóng hoặc ngắt các cuộn dây đầu ra. Khi dòng điều
khiển
đến các cuộc dây thì các cuộn dây đóng hoặc mở các tiếp điểm (hoặc một dãy
các
tiếp
điểm).
LAD
Mô
tả
Toán
hạng
N
( S
)
Đóng một mảng gồm N
các
tiếp điểm kể từ S
bit.
S bit: I, Q, M, SM, T,
C,
V
N (byte): IB, QB,
MB,
SMB, VB,AC, hằng
số,
*VD,
*AC
N
( R
)
Đóng 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ẽ xóa bít
đầu
ra của timer / counter
đó.
N
( SI
)
Đóng tức thời một mảng
gồm
N các tiếp điểm kể từ S
bit.
S bit:
Q
N (byte): IB, QB,
MB,
SMB, VB,AC, hằng
số,
N
( RI
)
Ngắt tức thời một mảng
gồm
N các tiếp điểm kể từ địa
chỉ
S
bit.
*VD,
*AC
Bảng 2.5: Mô tả bằng lệnh Set và Reset trong
LAD
2.6.3 Các lệnh tiếp điểm đặc
b
iệt:
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ị của
đỉnh
ngăn xếp). LAD sử dụng các tiếp điểm đặc biệt để 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à vì thế phải
đặt
chúng vào vị trí phía trước của cuộn dây hoặc hộp đầu ra. Tiếp điểm chuyển
tiếp
dương/âm có nhu cầu về bộ nhớ, nên đối với CPU 214 là 256
lệnh.
LAD
Mô
tả
Toán
hạng
NOT
Tiếp điểm đảo trạng thái của
dòng
cung cấp. Nếu dòng cung cấp có
tiếp
điểm đảo thì nó bị ngắt mạch,
nếu
không có tiếp điểm đảo thì nó
thông
mạch.
Không
có
P
Tiếp điểm chuyển đổi dương cho
phép
dòng cung cấp thông mạch trong
một
vòng quét khi sườn xung điều
khiển
chuyển từ 0 lên
1
Không
có
N
Tiếp điểm chuyển đổi âm cho
phép
dòng cung cấp thông mạch trong
một
vòng quét khi sườn xung điều
khiển
chuyển từ 1 xuống
0.
Không
có
Bảng 2.6: Mô tả lệnh các lệnh tiếp điểm đặc
biệt
2.6.4 Các lệnh so
sá
nh
Khi lập trình, nếu có 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 cho byte, từ hay từ kép
của
S7-200.
LAD sử dụng lệnh so sánh để so sánh các giá trị của byte, từ và từ kép (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ừ hoặc từ kép với nhau thì phải để ý đến dấu của
toán
hạng, ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải để ý đến dấu
của
toán hạng là bít cao nhất trong từ hoặc từ
kép.
LAD
Mô
tả
Toán
hạng
n1
n2
= =
B
n1
= = I
n2
n1
n2
= =
D
n1
n2
= =
R
Tiếp điểm đóng
khi
n1 =
n2
B =
byte
I =
integer
D = double
integer
R =
real
n1, n2 (byte) : VB
,
IB , QB, MB, SMB
,
AC , CONST ,
*VD*,
AC
n1
n2
> =
B
n1
> = I
n2
n1
n2
> =
D
n1
n2
> =
R
Tiếp điểm đóng
khi
n1 >
n2
B =
byte
I =
integer
D = double
integer
R =
real
n1, n2 (từ): VW, T,
C,
IW, QW,
MW,
SMW,AC,
AIW,
Hằng số, *VD,
*AC
n1
n2
< =
B
n1
n2
< =
I
n1
n2
< =
D
Tiếp điểm đóng
khi
n1 <
n2
B =
byte
I =
integer
D = double
integer
R =
real
n1, n2(từ
kép):VD,
ID, QD, MD,
SMD,
AC, HC, hằng
số,
*VD,
*AC
n1
n2
< =
R
Bảng 2.7: Biểu diễn các lệnh so sánh trong
LAD:
2.6.5 Lệnh nhảy và lệnh gọi chương
trình
co
n
:
Các lệnh của chương trình, nếu không có những lệnh điều khiển riêng thì
sẽ
được thực hiện theo thứ tự từ trên xuống dưới trong một vòng quét. Lệnh điều
khiển
chương trình cho phép thay đổi thứ tự thực hiện lệnh. Chúng cho phép chuyển
thứ
tự thực hiện, đáng lẽ ra là lệnh tiếp theo nhưng tới một lệnh bất cứ nào khác
của
chương trình, trong đó nơi điều khiển chuyển đến phải được đánh dấu trước
bằng
một nhãn chỉ đích thuộc 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, nhãn chỉ đích, hay gọi đơn giản là nhãn, phải được đánh
dấu
trước khi thực hiện lệnh nhảy hay lệnh gọi chương trình
con.
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 được khai báo ở đầu chương
trình.
Không thể 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
đó.
Lệnh gọi chương trình con là lệnh chuyển điều khiển đến chương trình
con.
Khi chương trình con thực hiện xong các phép tính của mình 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 nằm 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 trong S7-200. Nói
chung
(trong một chương trình con có lệnh gọi đến chính nó) về nguyên tắc không bị
cấm
song phải để ý đến giới hạn
trên.
Lệnh nhảy JMP và lệnh gọi chương trình con SBR cho phép chuyển
điều
khiển từ vị trí này đến vị trí khác trong chương trình. Cú pháp của lệnh nhảy và
lệnh
gọi chương trình con trong LAD và STL đều có toán hạng là nhãn chỉ đích
(nơi
nhảy đến, nơi chứa chương trình
con).
Lệnh nhảy, lệnh gọi chương trình con, lệnh khai báo nhãn và lệnh thoát
khỏi
chương trình con được biểu diễn trong
LAD:
LAD
Mô
tả
Toán
hạng
n
( JMP
)
Lệnh nhảy thực hiện
việc
chuyển điều khiển đến nhãn
n
trong một chương
trình.
n: 0
255
LBL:n
Lệnh khai báo nhãn n
trong
một chương
trình.
n
( CALL
)
Lệnh gọi chương trình
con,
thực hiện phép chuyển
điều
khiển đến chương trình
con
có nhãn là
n.
n: 0
255
SBR:n
Lệnh gán nhãn n cho
một
chương trình
con.
n
( CRET
)
Lệnh trở về chương trình
đã
gọi chương trình con có
điều
kiện (bít đầu tiên của
ngăn
xếp có giá trị logic bằng
1).
Không
có
n
( RET
)
Lệnh trở về chương trình
đã
gọi chương trình con
không
điều
kiện.
Bảng 2.8: Mô tả lệnh nhảy và lệnh gọi chương trình
con
2.6.6 Các lệnh can thiệp vào thời gian vòng
qué
t:
Lệnh MEND, END, STOP, NOP,
W
DR.
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
trong khoảng thời của một vòng
quét.
Trong LAD và STL chương trình chính phải được kết 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ẽ được 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 NOP này phải được đặt trong chương trình chính, hoặc chương trình
ngắt,
hoặc chương trình
con.
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.
2.6.7 Các lệnh điều khiển
T
i
m
e
r
:
Timer là bộ tạo tời thời gian trễ giữ tín hiệu vào và tín hiệu ra nên trong
điều
khiển vẫn thường gọi là khâu trễ. S7-200 có 128 Timer được chia làm 2 loại
khác
nhau, đó là
:
Timer tạo thời gian trễ không có nhớ (timer ON delay), ký hiệu là
TON.
IN: cho phép timer hoạt
động
Txxx : số hiệu
timer
PT: giá trị đặt cho
timer
Hình 2.11: Lệnh TON trong
LAD
Hình 2.12: Giản đồ thời gian của
TON
Timer tạo thời gian trễ có nhớ (timer on delay retentive), ký hiệu là
TONR
Timer TON được dùng để tạo thời gian trễ trong một khoảng thời gian
nhất
định, còn với TONR thời gian trễ sẽ được tạo trong nhều khoảng thời gian
khác
nhau.
IN: cho phép Timer hoạt
động
Txxx: số hiệu
Timer
PT: Giá trị đặt cho
Timer
.
Hình 2.14: Giản đồ thời gian của
TONR
Hình 2 13: Lệnh TON trong
LAD
Timer tạo thời gian trễ khi mất xung kích
(TOF)
IN: Cho phép Timer hoạt
động
Txxx: Số hiệu
Timer
PT: Giá trị đặt cho
Timer
Hình 2.15: Lệnh TON trong
LAD
Hình 2.16: Giản đồ thời gian của
TOFF
Timer TON, TOF và TONR với 3 độ phân giải khác nhau, độ phân giải
1ms,
10ms, 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.
gồm
:
Các loại timer của S7-200 chia theo TON, TOF, TONR và độ phân giải
bao
Lệnh
Độ phân
giải
Giá trị cực
đại
CPU
224
TON
TOFF
1
ms 32,767s
T32T96
10
ms 327,67s
T33T36;
T97
T100
100
ms 3276,7s
T37T63;
T101
T127