Phần I:
Trình bày lý thuyết
S
VTH: Nguyễn Phước Hậu
1
PHẦN 1 TRÌNH BÀY LÝ THUYẾT
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 PLC
C
hương I: Tìm hiểu chung về PLC
S
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
hương I: Tìm hiểu chung về PLC
S
VTH: Nguyễn Phước Hậu
4
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.
VTH: Nguyễn Phước Hậu
5
K
hả lập trình
tự do
Bộ
nhớ thay
đổi được
RO
M
EPROM
RA
M
EPROM
P
LC xử lý 1 bit
PLC xử lý từ ngữ
C
hương II: Thiết bị điều khiển lập trình S7-200
S
VTH: Nguyễn Phước Hậu
6 C
HƯƠNG II T
HIẾT BỊ ĐIỀU KHIỂN LẬP TRÌNH S7 200
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
C
hương II: Thiết bị điều khiển lập trình S7-200
S
VTH: Nguyễn Phước Hậu
7
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
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 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.
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.
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.
·····
····
1 2 3
4 5
9 8
7
6
1
2
3
4
5
6
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 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.
2.3 Mở rộng cổng vào ra
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 .
Hình 2.6: Kết nối modul với PLC
P
LC
Modul kết
nối
Ca
ple kết nối
C
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
S
VTH: Nguyễn Phước Hậu
13
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.
. 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.
14
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ụ:
ngăn xếp thì ngăn xếp sẽ được kéo lên một bit.
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 FBD:
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
A I0.1
LDN I0.2
A I0.3
OLD
= Q0.0
C
hương II: Thiết bị điều khiển lập trình S7-200
S
VTH: Nguyễn Phước Hậu
16
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
Tr
VTH: Nguyễn Phước Hậu
17
AIW (0
30)
AQW (0 30)
hằng số
Tr
uy 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ản
g 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 trình
2.6.1 Các lệnh vào, ra
Lệnh LD, LDN trong LAD như sau:
Bảng 2.3: Mô tả lệnh LD, LDN trong LAD
VTH: Nguyễn Phước Hậu
18
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
S
et (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
( R
)
N
( SI
)
N
( S
)
C
hương II: Thiết bị điều khiển lập trình S7-200
S
VTH: Nguyễn Phước Hậu
19
N
gắ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 biệ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
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
NOT
P
N
N
( RI
)
C
hương II: Thiết bị điều khiển lập trình S7-200
S
VTH: Nguyễn Phước Hậu
20
K
hi 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
SMW,AC, AIW,
Hằng số, *VD, *AC
n1 n2
= = B
n1
n2
= = I
n1 n2
=
= D n1
n2
= =
R n1 n2
>
= B
n1 n2
> = I n1
n2
> =
R
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.
n1
n2
< =
LAD Mô tả Toán hạng
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
Lệ
nh khai báo nhãn n trong
một chương trình.
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
Lệ
nh gán nhãn n cho một
chương trình con.
n
( CRET
)
n
( RET
)
S
BR:n
C
hương II: Thiết bị điều khiển lập trình S7-200
S
VTH: Nguyễn Phước Hậu
23
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.
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. Hình 2.13: Lệnh TON trong LAD
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.
Các loại timer của S7-200 chia theo TON, TOF, TONR và độ phân giải bao
gồm :
Lệnh Độ phân giải Giá trị cực đại CPU 224
TON
TOFF
1 ms 32,767s
T32T96
1
0 ms 327,67s
T33T36; T97 T100
100
ms 3276,7s
T37T63; T101 T127
IN
: Cho phép Timer hoạt động
Txxx: Số hiệu Timer
PT: Giá trị đặt cho Timer