TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG NAI
KHOA ĐIỆN TỬ
GIÁO TRÌNH
MÔ ĐUN
XỬ LÝ LỖI SIMATIC S7-300
Biên soạn: NGUYỄN DUY KHA
Đồng Nai, năm 2014
TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG NAI
KHOA ĐIỆN TỬ
GIÁO TRÌNH
MÔ ĐUN
XỬ LÝ LỖI SIMATIC S7-300
Biên soạn: NGUYỄN DUY KHA
Đồng Nai, năm 2014
MỤC LỤC
Trang
Bài 1
Bài 2
Bài 3
Bài 4
KHỐI DỮ LIỆU DB
CHỨC NĂNG FC VÀ CÁC KHỐI FB
CÁC KHỐI TỔ CHỨC OB
VẬN HÀNH PHẦN MỀM VÀ CÁC CHỨC NĂNG
KIỂM TRA
5
11
22
36
LỜI NÓI ĐẦU
Môn học Xử lý lỗi SIMATIC S7 -300 cung cấp các kiến thức về các chức
năng chuyên dùng của phần mềm STEP7 trong quá trình lập trình và vận hành
phần mềm. Sinh viên sau khi học sẽ có khả năng phân tích và xử lý sự cố khi làm
việc với phần mềm lập trình và vận hành PLC S7-300.
Giáo trình biên soạn dựa trên các tài liệu và hướng dẫn sử dụng mới nhất của
hãng SIEMENS. Được dùng làm tài liệu giảng dạy cho sinh v iên ngành Điện tử
công nghiệp, Cơ điện tử, Tự động hóa, Điện công nghiệp.
Giáo trình Xử lý lỗi SIMATIC S7 -300 trình bày theo phương pháp giảng
dạy Mô đun thông qua các hình ảnh, giúp người học tiếp thu và thực hành làm theo
một cách nhanh chóng.
Trong quá trình biên soạn, đã được các đồng nghiệp đóng góp nhiều ý kiến,
mặc dù cố gắng sửa chữa, bổ sung. Nhưng do kiến thức còn có hạn, nên chắc chắn
không tránh khỏi những thiếu sót, hạn chế. Mong nhận được các ý kiến đóng góp
của bạn đọc.
BÀI 1. KHỐI DỮ LIỆU DB
1.1. Khái niệm khối DB.
Khối DB (Data Block): là khối vùng nhớ dùng để chứa một danh sách các biến.
Trong S7-300 không có sẵn các khối DB. Người lập trình phải tạo ra và cấu hình các khối
DB trong Step7 rồi download xuống S7-300. Một chương trình ứng dụng có thể có
nhiều khối DB và các khối DB này được phân biệt với nhau bằng số nguyên.
1.2. Phân chia vùng nhớ DB được minh họa như hình 1.1.
Hình 1.1
ập
vùng
nhớ
DB,
bắt
buộc
vùng
nhớ đó phải tồn tại trong PLC. Tức là ta
Khi truy c
đã tạo vùng nhớ đó trong Step7 và download xuống PLC, nếu không PLC sẽ báo lỗi và
chuyển PLC sang chế độ STOP. Ta có thể vẫn giữ PLC ở chế độ RUN bằng cách sử dụng
các khối OB tương ứng.
1.3. Truy nhập vùng nhớ DB.
Để truy nhập vùng nhớ DB ta dùng cấu trúc định địa chỉ như sau:
- DBx.Dbty.z với kiểu BIT.
- DBx.DBty.
Trong đó:
• x: là chỉ số của khối DB (ví dụ DB1, DB2, …).
• t: là ký hiệu tương ứng với kiểu vùng nhớ n hư bảng 1.1.
• y: là địa chỉ BYTE của vùng nhớ trong khối DB.
• z là địa chỉ BIT của vùng nhớ trong khối DB.
Kiểu vùng nhớ
BIT
BYTE
WORD
DOUBLE WORD
Ký hiệu t
X
B
W
D
Ví dụ
DB1.DBX0.0
DB1.DBB1
DB1.DBW2
DB1.DBD4
Bảng 1.1
1.4. Khai báo khối DB
1.4.1 Các bước khai báo
Mở của sổ SIMATIC Manager. Click chuột phải trên biểu tượng “Blocks” rồi
chọn “Insert New Object → Data Block. Hình 1.2
Hình 1.2
Hộp thoại “Properties – Data Block” xuất hiện. Hình 1.3
Hình 1.3
Trong mục “Name and type”, ta nhập tên của khối DB là “DB1, chọn kiểu DB là
“Shared DB”. Một khối DB với tên “DB1” được tạo ra trong thư mục “Blocks”. Hình 1.4
Hình 1.4
Mở khối “DB1” bằng cách double click trên biểu tượng DB1. Giao diện xuất hiện
như hình 1.5.
Hình 1.5
Ý nghĩa các cột như sau:
- Address: Địa chỉ tương đối của biến trong khối DB.
- Name: Tên biến .
- STRUCT: Kiểu biến (ví dụ REAL, WORD, …).
- Initial value: Giá trị khởi tạo của biến. Đây là giá trị được gán cho biến khi ta
download khối DB xuống PLC.
- Comment: Chú thích cho biến.
Để thêm một biến , ta nhập tên biến, kiểu dữ liệu, giá trị khởi tạo và chú thích nếu cần
rồi bấm “ENTER” . Phần mềm Step7 tự động thêm một hàng mới để ta thêm biến mới,
hoặc ta có thể click chuột phải trên hàng bất kỳ rồi chọn “Declaration Line …” để thêm
biến mới. Hình 1.6.
Hình 1.6
Cột địa chỉ được gán tự động, ta không thể nhập cột này. Sau khi khai báo xong các
biến, ta click nút “Save” để lưu cấu hình cho khối DB1.
1.4.2 Kiểu SHARED DB và INSTANCE DB
1.4.2.1. Kiểu SHARED DB.
- Sharred DB là khối Data Block bình thườn g. Đây chỉ là một khối DB độc lập
dùng để lưu một danh sách biến và ta phải tạ o danh sách biến này bằng tay.
1.4.2.2. Kiểu INSTANCE DB .
- Instance DB là một khối Data Block được sử dụng cho FB. Ta không thể tạo các
biến trong Instance DB bằng tay, các khối Instance được tạ o tự động bằng Step7.
1.5. CÁC VÍ DỤ.
1.5.1 Khối DB với kiểu SHARED DB.
Ví dụ 1: Tạo khối DB1 có kiểu là SHARED DB. Trong khối DB1 tạo các biến sau:
+ Biến x; kiểu int.
+ Biến y; kiểu real.
+ Biến z; kiểu bool.
Giải:
Bước 1: Tạo khối DB1. Hình 1.7
Hình 1.7
Bước 2: double click vào DB1. Hình 1.8
Hình 1.8
Bướ c 3: Đặt tên biến x. Trong cột name, nhập vào chữ x. Hình 1.9
Hình 1.9
Bước 4: C họn kiểu. Nhấn chuột phải vào cột type , chọn int như hình 1.10.
Hình 1.10
Bước 5: Nhập giá trị ban đầu cho biến x. Trong cột initial value , nhập giá trị 0. Hình 1.11
Hình 1.11
Bước 6: Tạo ghi chú cho biến x. Trong cột comment , nhập “bien kieu nguyen”. Hình
1.12
Hình 1.12
Ta vừa tạo xong biến x. Để tiếp tục tạo biến y nhấn Enter. Hình 2.13
Hình 1.13
Biến y và biến z ta làm từ bước 3 cho đến bước 6. Kết quả như hình 1.14.
Hình 1.14
ùng
nhấn
Save
để
lưu
cấu
hình
cho DB và nhấn nút đóng cửa s ổ này lại.
Cuối c
Ví dụ 2: Truy xuất các biến x, y, z trong khối DB1 vừa tạo ở trên.
+ Gán giá trị 1 vào cho biến x.
+ Gán giá trị 2.5 vào cho biến y.
+ Lấy giá trị biến z điều khiển ON/OF Q124.0.
Giải:
1.5.2 Khối DB với kiểu INSTANCE DB.
Khối DB với kiểu INSTANCE DB sẽ được đề cập trong bài FB. Vì khi đã có khối
FB thì mới tạo được khối DB kiểu INSTANCE DB.
1.6. BÀI TẬP ÁP DỤNG.
1. Bài tập 1 : Tạo khối DB có các biến sau: x(kiểu thực) , y(kiểu thực) , z(kiểu
thực) , tong(kiểu thực) . Tính: tong=x+y+z.
2. Bài tập 2: Tạo khối DB có cá c biến sau: x (kiểu nguyên) , y(kiểu nguyên) ,
ketqua1(kiêu nguyen), ketqua2(kieu thự c). Tính:
x+y, kết quả sẽ đưa vào ketqua1 hay ketqua2. Vì sao?
x/y, kết quả sẽ đưa vào ketqua1 hay ketqua2. Vì sao?
BÀI 2: CHỨC NĂNG FC VÀ CÁC KHỐI FB
2.1. Các dạng biến -biến tạm thời và local block
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, sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến
hình thức với nhữngkhối chương trình đã đã gọi nó. Nội dung của một số dữ liệu
trong miền nhớ này sẽ bị xóa khi kết thúc chương trình tương ứng trong OB, FC, FB.
2.2. Khối FC
FC (Function): khối chương trình với những chức năng riêng giống như một
chương trình con hoặc một hàm. Một chương trình ứng dụng có thể có nhiều khối
FC.
Khi có lệnh gọi, chương trình chính OB1 dừng tạm thời, và chương trình con được
gọi sẽ được thực hiện. Sau khi thực hiện xong chương trình con, chu trình tiếp tục quét
dòng lệnh tiếp theo của OB1.
2.2.1. Tạo khối FC .
Mở của sổ SIMATIC Manager. Click chuột phải tr ên biểu tượng “Blocks” rồi
chọn “Insert New Object → Function. Hình 2.1.
Hình 2.1
Hộp thoại “Properties – Function” xuất hiện. Hình 2.2
Hình 2.2
Trong mục “Name”, ta nhập tên của khối FC là “FC1”, mục “created in language”,
chọn “LAD” , sau đó nhấn “OK” . Một khối FC với tên “FC1” được tạo ra trong thư mục
“Blocks”. Hình 2.3.
Hình 2.3
2.2.2. Viết chương trình và k hai báo local block cho khối FC.
Click chuột phải trên biểu tượng “FC1” rồi chọn “Open Oject”. Hình 2.4.
Hình 2.4
Cửa xổ lập trình xuất hiện. Hình 2.5
Hình 2.5
Khai báo các biến cho khối FC. Hình 2.6
Hình 2.6
Trong đó:
- Cột Interface:
+ IN: biến ngõ vào.
+ OUT: biến ngõ ra
+ IN_OUT: biến vào/ra
- Name: tên của biến.
- Data Type: kiểu dữ liệu của biến.
- Comment: ghi chú cho biến.
2.2.3. Gọi khối FC
Click chuột phải trên biểu tượng “OB1” rồi chọn “Open Oject”. Hình 2.7.
Hình 2.7
ửa
xổ
lập
trình
ất
hiện.
Hình
2.8 .
C
“OB1” xu
Hình 2.8
Click chuột phải trên biểu tượng “FC1” rồi chọn “Install Block”. Hình 2.9.
Hình 2.9
Khối “FC1” sẽ được chèn vào chương trình. Hình 2.10.
Hình 2.10
2.3. Khối FB
FB (Function Block) là một khối lập trình cho phép ta viết lệnh trong đó để thực
hiện một số công việc nhất định. FB cung cấp một giao diện (Interface) gồm các kiểu
biến IN, OUT, IN_OUT, STAT, TEMP. Ngoại trừ kiểu TEMP, các kiểu khác được cấp
vùng nhớ trong một khối DB đi kèm, tức là khi ta gọi một khối FB nào đó, ta phải gán địa
chỉ của khối DB như một tham số đi kèm và danh sách biến của khối DB này hoàn toàn
giống với danh sách biến mà ta cấu hình trong khối FB.
2.3.1. Tạo khối FB.
Mở cửa sổ SIMATIC Manager. Click chuột phải trên biểu tượng “Blocks” rồi
chọn “Insert New Object → Function Block. Hình 2.11.
Hình 2.11
Hộp thoại “Properties – Function Block” xuất hiện. Hình 2.12
Hình 2.12
Trong mục “Name”, ta nhập tên của khối FB là “FB1”, mục “created in language”,
chọn “LAD”, sau đó nhấn “OK”. Một khối FB với tên “FB1” được tạo ra trong thư mục
“Blocks”. Hình 2.13.
Hình 2.13
2.3.2. Khai báo local block cho kh ối FB .
Click chuột phải trên “Blocks” rồi chọn “Insert New Object → Data Block”. Hình
2.14
Hình 2.14
Hộp thoại “Properties – Data Block” xuất hiện. Hình 2.15
Hình 2.15
Trong mục “Name and type” nhập tên là DB1, kiểu là Instance DB và khối FB
tham chiếu là FB1 rồi click “OK”. Một khối DB2 được tạo ra trong thư mục “Blocks”.
Hình 2.16.
Hình 2.16
2.3.2. Lập trình và k hai báo các biến cho khối FB .
Click chuột phải trên biểu tượng “FB1” rồi chọn “Open Oject”. Hình 2.17.
Hình 2.17
Cửa xổ lập trình xuất hiện. Hình 2. 18
Hình 2.18
Khai báo các biến cho khối FB. Hình 2.19.
Hình 2.19
Click chuột phải trên biểu tượng “DB1” rồi chọn “Open Oject”. Hình 2.20.
Hình 2.20
Ta sẽ thấy danh sách biến như hình 2.21.
Hình 2.21
- Đây là danh sách biến được khai báo trong khố i FB1. Các biến này được tạo tự
động trong khối DB1 . Ở đây ta có thêm cột “Declaration” hiển thị biến đó là kiểu IN,
OUT, IN_OUT, hay STAT.
- Danh sách biến được khai báo trong FB 1 sẽ được tạo t ự động trong khối Instance
DB tham chiếu tới nó, ta không thể chỉnh sửa danh sách biến này bằng tay.
2.3.3. Gọi khối FB .
Click chuột phải trên biểu tượng “OB1” rồi chọn “Open Oject”. Hình 2.22.
Hình 2.22
Cửa xổ lập trình “OB1” xuất hiện. Hình 2.23.
Hình 2.23
Click chuột phải trên biểu tượng “FB1” rồi chọn “Install Block”. Hình 2.24.
Hình 2.24
Khối “ FB1” sẽ được chèn vào chương trình. Hình 2.25.
Hình 2.25
Tại vị trí phía trên của FB1 (vị trí ???), nhập DB1 là vùng nhớ tham chiếu của
khối FB1. Hình 2.26
Hình 2.26.
BÀI 3: CÁC KHỐI TỔ CHỨC OB
3.1. Tổng quan về các khối tổ chức .
Khối OB (Organization Block): là khối tổ chức và quản lý chương trình điều khiển.
Có nhiều loại OB với các chức năng khác nhau, chúng được phân biệt dựa vào số nguyên
gán thêm phía sau: OB1, OB35, OB40…
Không phải tất cả các CPU đều có các khối OB như nhau. Số lượng và chủng loại
khối OB tuỳ thuộc vào từng loại CPU.
3.2. Các OB khởi động.
OB100 (Start up information): Được thực hiện một lần khi CPU chuyển trạng
thái từ STOP sang RUN.
3.2.1. Tạo OB100.
Mở cửa sổ SIMATIC Manager. Click chuột phải trên biểu tượng “Blocks” rồi
chọn “Insert New Object → Organization Block. Hình 3.1
Hình 3.1
Hộp thoại “Properties Organization Block” xuất hiện. Hình 3.2
Hình 3.2
Trong mục “Name”, ta nhập tên của khối OB là “OB100”, mục “created in
language”, chọn “LAD”, sau đó nhấn “OK”. Một khối O B với tên “OB100” được tạo ra
trong thư mục “Blocks”. Hình 3.3.
Hình 3.3
3.2.2. Lập trình khối OB100.
Click chuột phải trên biểu tượng “OB100” rồi chọn “Open Oject”. Hình 3.4.
Hình 3.4
Cửa xổ lập trình “OB100” xuất hiện. Hình 3.5.
Hình 3.5
3.3. OB xử lý theo chu kỳ.
OB1 là khối luôn được CPU quét và thực hiện lặp lại các lệnh theo thứ tự từ trên
xuống dưới.
OB1 được mặc định tạo ra khi ta tạo một dự án mới.
Mở và lập trình khối OB1: Click chuột phải trên biểu tượng “OB1” rồi chọn “Open
Oject”. Hình 3.6.
Hình 3.6
Cửa xổ lập trình “OB1” xuất hiện. Hình 3.7.
Hình 3.7
3.4. Các OB ngắt.
3.4.1. Ngắt tuần tự theo thời gian (OB30OB38).
OB35(Cyclic interrupt): chương trình trong OB35 sẽ được thực hiện cách đều
nhau theo một khoảng thời gian nhất định. Mặc định thời gian n ày là 100ms, song ta
có thể thay đổi nó trong bảng tham số của CPU nhờ phần mềm STEP7.
3.4.1.1 Cài đặt thời gian chu kỳ ngắt .
Mở cửa sổ SIMATIC Manager. Click chuột phải trên biểu tượng “Hardware” rồi
chọn “Open Object ”. Hình 3.8
Hình 3.8
Cửa xổ “HW Config” (cài đặt phần cứng) xuất hiện. Hình 3.9.
Hình 3.9
Click chuột phải trên “CPU 314-2DP” rồi chọn “Object Properties”. Hình 3.10
Hình 3.10
ộp
thoại
“Properties
Organization
Block”
xuất hiện. H ình 3.11
H
Hình 3.11
thẻ
“Cyclic
Interrupts”.
Hình
3.12
Chọn
Hình 3.12
Tại cột “Execution” nhập thời gian của chu kỳ ngắt (mặc định là 100). Đơn vị
tính là ms. Sau đó chọn “Ok”.
Tại cửa sổ “HW Config” nhấn nút (Save and compile) để kiểm tra và lưu
cấu hình phần cứng. Sau đó đóng cửa sổ “HW Config”.
3.4.1.2 Tạo OB35.
Mở cửa sổ SIMATIC Manager. Click chuột phải trên biểu tượng “Blocks” rồi
chọn “Insert New Object → Organization Block. Hình 3.13
Hình 3.13
Hộp thoại “Properties Organization Block” xuất hiện. Hình 3.14
Hình 3.14
Trong mục “Name”, ta nhập tên của khối OB là “OB35”, mục “created in
language”, chọn “LAD”, sau đó nhấn “OK”. Một khối O B với tên “OB 35” được tạo ra
trong thư mục “Blocks”. Hình 3 .15.
Hình 3.15
3.4.1.3 Lập trình OB35
Click chuột phải trên biểu tượng “OB35” rồi chọn “Open Oject”. Hình 3.16.
Hình 3.16