Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 31 - Trờng ĐHNNI_ Hà Nội
kỹ s ngành điện.
- Phơng pháp liệt kê: STL(Statement list) đây là dạng ngôn ngữ lập trình
thông thờng của máy tính. Bao gồm các câu lệnh đợc ghép lại theo một thuật
toán nhất định để tạo một chơng trình. Phơng pháp này phù hợp với các kỹ s lập
trình.
Một chơng trình đợc viết theo phơng pháp LAD có thể đợc chuyển sang
dạng STL tuy nhiên không phải chơng trình nào viết theo dạng STL cũng có thể
đợc chuyển sang dạng LAD.
Trong quá trình lập trình điều khiển chúng tôi viết theo phơng pháp LAD
do vậy khi chuyển sang STL thì bộ lệnh của STL có chức năng tơng ứng nh các
tiếp điểm, các cuộn dây và các hộp dây dùng trong LAD.
Để làm quen và hiểu biết các thành phần cơ bản trong LAD và STL ta cần
nắm vững các định nghĩa cơ bản sau.
- Định nghĩa về LAD: LAD là một ngôn ngữ lập trình bằng đồ hoạ. Những
thành phầ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 sau.
+Tiếp điểm: là biểu tợng (symbol) mô tả các tiếp điểm của rơle. Các tiếp
điểm đó có thể là thờng mở hoặc 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 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 theo đúng chiều dòng điện.
Chiều dòng điện trong mạng LAD đ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 nóng đờng nguồn bên phải là dây
trung hoà hay là đ
ờng trở về của nguồn cung cấp (Khi sử dụng chơng trình tiện
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 32 - Trờng ĐHNNI_ Hà Nội
dùng Step 7 Micro / Dos hoặc Step 7 Micro / Win thì đờng nguồn bên phải không
đợc thực hiện ). Dòng điện chạy từ trái qua các tiếp điểm đóng đến các cuộn dây
hoặc các hộp trở về nguồn bên phải.
- Định nghĩa về STL: Phơng háp liệt kê lệnh 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ả các lệnh hình thức biểu diễn một chức năng của PLC .
Để tạo ra chơng trình 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 S7-200. Ngăn xếp logic là một khối gồm 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 làm việc với bit đầu tiên
hoặc với bit đầu và bit thứ hai của ngăn xếp. Giá trị logic mới đều có thể đợc gửi (
hoặc đợc nối thêm) vào ngăn xếp. Khi phối hợp hai bit đầu tiên của ngăn xếp, thì
ngăn xếp sẽ đợc kéo lên một bit. Ngăn xếp và từng bit của ngăn xếp đợc biểu
diễn nh sau:
S0 Stack 0 - bit đầu tiên của ngăn xếp (bit trên cùng)
S1 Stack 1- bit thứ hai của ngăn xếp
S2 Stack 2- bit thứ ba của ngăn xếp
S3 Stack 3- bit thứ t của ngăn xếp
S4 Stack 4- bit thứ năm của ngăn xếp
S5 Stack 5- bit thứ sáu của ngăn xếp
S6 Stack 6- bit thứ bảy của ngăn xếp
S7 Stack 7- bit thứ tám của ngăn xếp
S8 Stack 8- bit thứ chín của ngăn xếp
2.2.3. Cú pháp lệnh S7-200
Trong S7-200 có một khối lợng lệnh tơng đối lớn chúng đợc chia làm ba
nhóm chính.
- Nhóm các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc vào
giá trị logic của ngăn xếp.
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 33 - Trờng ĐHNNI_ Hà Nội
- Nhóm các lệnh chỉ thực hiện đợc khi bit đầu tiên của ngăn xếp có giá trị
bằng 1.
- Nhóm các nhãn lệnh đánh dấu vị trí trong tập lệnh.
Do các lệnh trong S7 200 là rất lớn nên chúng tôi chỉ đa ra một số lệnh
cần thiết cho quá trình lập trình.
2.2.3.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ị logic cũ còn lại trong ngăn xếp bị đẩy lùi xuống một
bít.
- Load Not (LDN): Là lệnh nạp giá trị logic nghịch đảo 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ũ còn lại trong ngăn xếp bị đẩy lùi
xuống một bit .
Khi biểu diễn LAD các lệnh đợc thể hiện nh sau:
- Tiếp điểm thờng mở sẽ đợc đóng nếu n=1.
- Tiếp điểm thờng đóng sẽ mở nếu n=1.
- Tiếp điểm thờng mở sẽ đóng tức thời khi n=1.
- Tiếp điểm thờng đóng sẽ mở tức thời khi n=1.
Các lệnh đợc biểu diễn trong STL nh sau:
- LD n lệnh nạp giá trị logic của điểm n vào bit đầu tiên trong ngăn xếp.
- LDN n lệnh nạp giá logic nghịch đảo của điểm n vào bit đầu tiên trong
ngăn xếp.
- LDI n lệnh nạp tức thời giá trị logic của điểm n vào bit đầu tiên trong ngăn
xếp.
- LDNI n lệnh nạp giá trị nghịch đảo của điểm n vào bit đầu tiên của ngăn
xếp.
Trong đó n là toán hạng .
Đối với các lệnh thờng mở, thờng đóng, LD, LDN thì n là toán hạng đầu
vào, đầu ra, bộ nhớ, bộ đếm, bộ thời gian và miền .
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 34 - Trờng ĐHNNI_ Hà Nội
Đối với các lệnh thờng mở đóng tức thời , thờng đóng mở tức thời, LDI,
DNI thì n là toán hạng đầu vào.
2.2.3.2. Các lệnh ghi xoá 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ế.
- 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 hoặc 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 đóng hoặc mở các tiếp
điểm (hoặc một dãy các tiếp điểm).
Trong STL, lệnh truyền trạng thái bit đầu của ngăn xếp các điểm thiết kế. Nếu bit
này có giá trị bằng 1, các lệnh S và R sẽ đóng ngắt 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.
2.2.3.3. Các lệnh logic đại số Boolean
Là các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc giá trị
logic của ngăn xếp. Các lệnh tiếp điểm của đại số Boolean cho phép tạo lập đợc
các mạch logic (không có nhớ ). Khi thực hiện các lệnh tiếp điểm đại số Boolean
trong LAD thì 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 và các tiếp điểm thờng mở. Còn trong
STL các tiếp điểm đợc thay bằng các 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 .
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à các 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
lệnh 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.
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 35 - Trờng ĐHNNI_ Hà Nội
Bảng lệnh logic đại số boolean
Lệnh Chức năng Toán hạng
O n
A n
Lệnh thực hiện toán tử ^ (A) và V (O) giữa giá
trị logic của tiếp điểm n và giá trị bít đầu tiên
trong ngăn xếp. Kết quả đợc ghi vào bít đầu
tiên của ngăn xếp.
n:
I,Q,M,SM,
T,C,V
AN n
ON n
Lệnh thực hiện toán tử ^ (A) và V (O) giữa giá
trị logic nghịch đảo của tiếp điểm n và giá trị bít
đầu tiên trong ngăn xếp. Kết quả đợc ghi lại
vào bit đầu của ngăn xếp.
AI n
OI n
Lệnh thực hiện tức thời toán tử ^ (A) và V (O)
giữa giá trị logic của tiếp điểm n và giá trị bit
đầu tiên trong ngăn xếp. Kết quả đợc ghi lại
vào bit đầu của ngăn xếp.
n: I
(bit)
ANI n
ONI n
Lệnh thực hiện toán tử ^ (A) và V(O) giữa giá trị
lo gic nghịch đảo của tiếp điểm n và giá trị bít
đầu tiên trong ngăn xếp. Kết quả đợc ghi lai
vào bít đầu tiên trong ngăn xếp.
N: I
(bit)
Bảng 2.1: Bảng lệnh logic đại số boolean
Các lệnh Stack logic nh các lệnh:
- Lệnh ALD ( And Load): Lệnh tổ hợp giá trị của bit đầu tiên và bit thứ hai
của ngăn xếp bằng phép tính logic A. Kết quả ghi lại vào bit đầu tiên trong ngăn
xếp giá trị còn lại của ngăn xếp đợc kéo lên một bit.
Ví dụ:
Sơ đồ hình thang Liệt kê lệnh
I1.0 I1.1 Q1.1
I1.2
LD I 1.0
LD I 1.1
O I 1.2
ADL
= Q 1.1
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 36 - Trờng ĐHNNI_ Hà Nội
- Lệnh OLD ( Or Load): Lệnh tổ hợp giá trị của bit đầu tiên và bit thứ hai
trong ngăn xếp bằng phép tính logic O. Kết quả đợc ghi lại vào bit đầu tiên trong
ngăn xếp, giá trị còn lại của ngăn xếp đợc kéo lên một bit.
Ví dụ:
Sơ đồ hình thang Liệt kê lệnh
I0.1 I0.2 Q0.1
I0.3 I0.4
LD I0.1
LD I0.2
LD I0.3
A I0.4
OLD
AND
= Q0.1
Tuy nhiên trong nhiều trờng hợp ta có thể dựa vào tính giao hoán của các
phép tính A và O trong đại số Boolean có thể biến đổi mạch logic phức tạp thành
mạch logic đơn giản sao cho khi lập trình Simatic S7-200 chúng ta không cần dùng
các lệnh Stack logic nữa.
2.2.3.4. 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, 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 bằng (=), lớn hơn
hoặc bằng (>=), nhỏ hơn hoặc bằng (<=). Kết quả của phép so sánh có giá trị bằng
0 (nếu đúng) và bằng 1 (nếu sai) do đó chúng đợc kết hợp với các lệnh logic LD,
A, O để tạo ra đợc các phép so sánh nh: khác (<>), lớn hơn (>), nhỏ hơn (<).
Biểu diễn các lệnh so sánh trong LAD nh sau:
- Lệnh so sánh bằng. n1 n2
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 37 - Trờng ĐHNNI_ Hà Nội
= = x
Tiếp điểm đóng khi n1 = n2.
Trong đó: x là B (byte); I (Integer); D (double Integer); R (Real).
N toán hạng theo byte: VB, IB, QB, MB, SMB.
- Lệnh so sánh > =
n1 n2
> = x
Tiếp điểm đóng khi n1>=n2.
Trong đó n là toán hạng: VW, QW, IW, MW, SMW
- Lệnh so sánh < =
n1 n2
< = x
Tiếp điểm đóng khi n1<=n2.
Trong đó toán hạng n: VD, ID, QD, SMD, MD, hằng số.
2.2.3.5. Lệnh điều khiển Timer
Timer là 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ễ. Là nhóm lệnh chỉ thực hiện đợc khi bit đầu tiên
của ngăn xếp có giá trị logic bằng 1.
S7-200 có 64 Timer (với CPU 212), 128 Timer (với CPU 214) đợc chia làm
hai loại khác nhau hoặc 256 Timer (với CPU224) đó là:
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 là TONR.
Hai loại TON và TONR sẽ làm việc để tạo thời gian trễ mong muốn khi tín
hiệu tại 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 điểm Timer đợc kích. Đối với bộ timer
kiểu TON nó sẽ tự động reset khi đầu vào có giá trị logic bằng 0, còn đối với bộ
timer kiểu TONR thì nó không tự động reset mà việc reset lại chỉ đợc thực hiện
bằng lệnh R. Timer TON đợc dùng để tạo thời gian trễ trong một khoảng thời gian
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 38 - Trờng ĐHNNI_ Hà Nội
( miền liên thông), còn đối với Timer TONR thời gian trễ sẽ đợc tạo ra trong
nhiều khoảng thời gian khác nhau.
Khi sử dụng Timer TON hoặc Timer TONR chúng ta phải chú ý đến độ phân
giải của chúng để đặt thời gian sao cho phù hợp. Timer TON và Timer TONR bao
gồm ba 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ụ: Khi ta cho bộ timer có độ phân giải 10ms và giá trị đặt trớc là
60 thì thời gian trễ là: =60*10ms =600ms.
Timer của S7-200 có những tính chất cơ bản sau:
- Các bộ Timer đợc điều khiển bởi một cổng vào và giá trị đếm tức thời. Giá
trị đếm tức thời của Timer đợc nhập trong thanh ghi 2 Byte (gọi là T-Word) của
Timer, xác định khoảng thời gian trễ kể từ khi Timer đợc kích. Giá trị đặt trớc
của các bộ Timer đợc ký hiệu trong LAD và STL là PT. Giá trị đếm tức thời của
thanh ghi
T- Word thờng xuyên đợc so sánh với giá trị đặt trớc của Timer.
- Mỗi bộ Timer ngoài thanh ghi 2 byte T-Word lu giá trị đếm tức thời còn
có một bit, ký hiệu là T- bit, chỉ trạng thái logic đầu ra. Giá trị logic của bit này phụ
thuộc vào kết quả so sánh giữa giá trị đếm tức thời với giá trị đặt trớc.
- Trong khoảng thời gian tín hiệu x(t) có giá trị logic 1, giá trị đếm tức thời
T-Word luôn đợc cập nhật và thay đổi tăng dần cho đến khi nó đạt giá trị cực đại.
Khi giá trị đếm tức thời lớn hơn hay bằng giá trị đặt trớc thì T- bit có giá trị
logic 1.
ứng với mỗi loại CPU và độ phân giải chúng ta có giá trị giới hạn của bộ
Timer và đợc ký hiệu riêng, tuỳ theo ta sử dụng lệnh ton hay TONR.
Bảng 2.2: Giá trị giới hạn của bộ timer nh sau:
Lệnh
Độ
phân
giải
Giá trị
cực đại
CPU212 CPU214 CPU224
1ms 32,767s T32 T32, T96 T32, T96
10ms 327,67s T33 ữT36
T33ữT36,
T97 ữT100
T33ữT36,
T97 ữT100
TON
100ms 3276,7s T37ữT63
T37ữT63,
T101ữT127
T37ữT63,
T101ữT255
TONR 1ms 32,767s T0 T0, T64 T0, T64
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 39 - Trờng ĐHNNI_ Hà Nội
10ms 327,67s T1ữT4
T1 ữ T4,
T65 ữT68
T1ữT4,
T65 ữT68
100ms 3276,7s T5ữT31
T5 ữT31,
T69 ữT95
T5ữT31,
T69ữT95
2.2.3.6. Lệnh điều khiển bộ đếm Counter
Counter là bộ đếm thể hiện chức năng đếm theo sờn xung trong S7 200.
Bộ đếm Counter đợc chia làm hai loại: bộ đếm tiến, ký hiệu (CTU) và bộ
đếm tiến lùi, ký hiệu (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 0 lên 1 của tín hiệu. Số sờn xung đếm dợc ghi vào
thanh ghi 2 byte của bộ đếm giọ là C_Word.
C_Word đợc gọi là giá trị đếm tứ thời của bộ đếm và nó luôn đợc so sánh
với giá trị đặt trớc của bộ đếm dợ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 thì bộ đếm báo ra ngoài bằng cách đặt giá trị logic 1
vào bit đặc biệt C_bit.
Bộ đếm tiến cũng nh bộ đếm tiến lùi đều có phân lối với tín hiệu điều khiển
xoá để 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 đầu R trong LAD hoặc qui định là trạng thái logic bit đầu tiên
của ngăn xếp trong STL.
Bộ đếm đợc Reset khi tín hiệu xoá có tín hiệu logic là 1 hoặc khi lệnh R đợc
thực hiện với C_bit.
Với tính năng đa dạng, linh hoạt và dễ sử dụng của Simatic S7 200 chúng
tôi ứng dụng nó để thành lập chơng trình điều khiển.
2.2.4. Soạn thảo chơng trình lập trình trên phần mềm S7 200
Phần mềm Step 7 - Micro/Win 32, ngời dùng tạo ra các chơng trình và cấu
hình dới dạng mà họ thích: biểu đồ thang LAD (Ladder diagram), danh sách lệnh
STL (Statement list), biểu đồ các khối chức năng (Function block diagram). Một
hoặc hai dự án có thể soạn thảo song song cùng một lúc. Việc lập trình đợc đơn
giản hoá một cách đáng kể nhờ chức năng kéo và thả (drag and drop), cắt, dán
.
Đồ án tốt nghiệp Nguyễn Văn Tú _ Lớp
TĐH46
Khoa cơ điện - 40 - Trờng ĐHNNI_ Hà Nội
Hình 2
.
3: Lựa chọn cấu hình lập trình
nhờ sử dụng bàn phím hoặc con chuột. Một số chức năng mới cho phép việc tìm và
thay thế tự động, xem trớc bản in (print preview), bảng thông tin về các biểu
tợng có các địa chỉ, biểu tợng cũng nh các địa chỉ đợc hiển thị cho mỗi phần tử
trong quá trình làm việc và giám sát tình trạng làm việc.
2.2.4.1. Định cấu hình lập trình
Đây là bớc quan trọng đầu tiên cần thực hiện gồm có các bớc sau:
- Lựa chọn trên thanh thực đơn Tools Options nh trên hình ?
- Hộp thoại Options xuất hiện cho phép ta lựa chọn phơng thức lập trình thích
hợp nh: Lựa chọn cửa sổ soạn thảo chơng trình, ngôn ngữ viết chơng trình
- Để kết thúc ta nhấn nút ENTER hoặc kích vào nút OK để xác nhận
những sự lựa chọn đó.
2.2.4.2. Tạo và lu trữ một Project
Các thành phần của một Project
Một Project bao gồm những thành phần sau:
+ Progam Block : Bao gồm các mã hóa có thể thực hiện đợc và các lời chú
thích. Mã hóa có thể thực hiện đợc bao gồm chơng trình chính hay các ngắt và
.