Tải bản đầy đủ (.docx) (139 trang)

đồ án môn học điều khiển lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.93 MB, 139 trang )

ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
ĐỒ ÁN MÔN HỌC
ĐIỀU KHIỂN LẬP TRÌNH

Giáo viên hướng dẫn: HOÀNG ĐÌNH CƠ
Sinh viên thực hiện : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN
L p ớ : ĐH Đi n k3ệ
Nam Đ nh 2013ị

SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 1
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
MỤC LỤC

CHƯƠNG I
TỔNG QUAN VỀ LẬP TRÌNH ĐIỀU KHIỂN…………… ……4
1. Gi i thi u v PLC ớ ệ ề …………………………………………….4
2.Sơ đồ tổng quan về PLC ……………………………………….6
3. Cấu trúc bộ nhớ của CPU………………………………………8
4.Vòng quét chương trình ……………………………………… 10
5.Kỹ thuật lập trình …………………………………………… 11
6.Ngôn ngữ lập trình …………………………………………… 13
7.Cấu trúc lập trình ………………………………………………14
CHƯƠNG II:
TÍNH CHỌN THIẾT BỊ CHO ĐỀ TÀI………………………… 26
I.GIỚI THIỆU VỀ LÒ NUNG………………………………… 26
II.CÔNG NGHỆ LÒ NUNG TUYNEL…………………………36
III.TÍNH CHỌN CPU……………………………………………39
IV.TÍNH TOÁN CHỌN CP-APTOMAT………………………… 41
CHƯƠNG III


GIẢI BÀI TOÁN LẬP TRÌNH ĐIỀU KHIỂN……………………42
A. VẼ VÀ MÔ PHỎNG BẰNG CADE-SIMU………………… 42
B.VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN PLC S7-300……… 52
C. VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN PLC S7-200…… ….74
D. THIẾT KẾ MÔ HÌNH MÔ PHỎNG TRÊN SPS-VISU………90
E.MÔ PHỎNG TRÊN WINCC………………………………….101
F.VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN BẰNG VI XỬ LÝ…117
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 2
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
LỜI NÓI ĐẦU
Trong mọi ngành sản xuất hiện nay , các công nghệ tiên tiến,các dây chuyền
thiết bị hiện đại đã và đang thâm nhập vào nước ta . Những công nghệ mới ,
những dây chuyền sản xuất , thiết bị hiện đại đã góp phần tích cực thúc đẩy
nền công nghiệp hóa,hiện đại hóa phát triển. Các máy móc, dây chuyền thiết
bị trong mọi lĩnh vực đa phần hoạt động nhờ điện năng thông qua các thiết bị
biến đổi điện năng thành cơ năng,nhiệt năng….Việc điều khiển các quá trình
chuyển đổi này trong máy móc với mục đích khác nhau cũng ngày càng đa
dạng và phức tạp . Trong đó ngành điện đóng vai trò rất quan trọng . Ngày
nay do ứng dụng tiến bộ khoa học điện tử , cơ khí chính xác , công nghệ sản
xuất các thiết bị điện tử ngày càng hoàn thiện nên việc phát triển tự động
hóa có những bước tiến vượt bậc . Tự động hóa được áp dụng cho từng máy,
từng bộ phận sản xuất rồi tiến tới áp dụng cho toàn bộ quá trình sản xuất
hiện nay . Việc áp dụng tự động hóa vào ngành sản xuất giúp ta có thể tạo ra
khối lượng sản phẩm lớn đáp ứng đầy đủ các chỉ tiêu kinh tế kỹ thuật đề ra:
độ chính xác cao,chất lượng kỹ thuật tốt,giảm chi phí sản xuất……
Xuất phát từ những vấn đề mà thực tiễn đặt ra như trên,bản báo cáo này sẽ
nghiên cứu thiết kế mô hình điều khiển lò sấy làm việc ở 3 chế độ theo thời
gian đã được lập trình sẵn.
Được sự đồng ý và hướng dẫn của thầy giáo:HOÀNG ĐÌNH CƠ , sau đây

chúng em sẽ trình bày nguyên lý hoạt động và sơ đồ mạch của đề tài.
Qua đây chúng em cũng xin chân thành cảm ơn đến các thầy cô trong bộ môn
Khoa Điên-Điện tử và đăc biệt là thầy HOÀNG ĐÌNH CƠ đã tạo điều kiện giúp
chúng em hoàn thành Đồ án này.
Do thời gian thực hiện đề tài ngắn và hạn chế về mặt kiến thức nên trong bản
Đồ án này không thể tránh khỏi những sai sót.Chúng em rất mong nhận được
sự đóng góp ý kiến từ thầy.
EM XIN CHÂN THÀNH CẢM ƠN!
SVTH : NGUY N CAO CỄ Ư NGỜ
NGUYỄN ANH QUÂN
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 3
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
CHNG I : TNG QUAN V LP TRèNH IU KHIN
1. Gi i thi u v PLC :
Thiết bị điều khiển logic khả trình (Programmable Logic Control), viết
tắt thành PLC, là loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều
khiển số thông qua một ngôn ngữ lập trình, thay cho việc phải thể hiện thuật
toán đó bằng mạch số. Bộ điều khiển logic khả trình là ý tởng của một nhóm kỹ
s hãng General Motors vào năm 1968 và họ đã đề ra các chỉ tiêu kỹ thuật nhằm
đáp ứng những yêu cầu điều khiển trong công nghiệp:
Dễ lập trình và dễ thay đổi chơng trình điều khiển, sử dụng thích hợp trong
nhà máy.
Cấu trúc dạng module để dễ dàng bảo trì và sửa chữa.
Tin cậy hơn trong môi trờng sản xuất của nhà máy công nghiệp.
Dùng linh kiện bán dẫn nên có kích thớc nhỏ gọn hơn mạch role chức năng t-
ơng đơng.
Giá thành có khả năng cạnh tranh cao.
Đặc trng của kỹ thuật PLC là việc sử dụng vi mạch để xử lý thông tin.
Các ghép nối logic cần thiết trong quá trình điều khiển đợc xử lý bằng phần

mềm do ngời sử dụng lập nên và cài đặt vào. Chính do đặc tính này mà ngời sử
dụng có thể giải quyết nhiều bài toán về tự động hóa khác nhau trên cùng một
bộ điều khiển và hầu nh không phải biến đổi gì ngoài việc nạp những chơng
trình khác nhau. Nh vậy, với chơng trình điều khiển trong mình, PLC trở thành
một bộ điều khiển số nhỏ gọn, dễ thay đổi thuật toán và đặc biệt dễ trao đổi
thông tin với môi trờng xung quanh (với các PLC khác hoặc với máy tính). Toàn
bộ chơng trình
điều khiển đợc luôn nhớ trong bộ nhớ của PLC dới dạng các khối chơng trình
(khối OB, FC hoặc FB) và đợc thực hiện lặp theo chu kỳ của vòng quét (scan).
Để thực hiện một chơng trình điều khiển tất nhiên PLC phải có chức
năng nh một máy tính nghĩa là phải có một bộ vi xử lý (CPU), một hệ điều hành,
bộ nhớ để chơng trình điều khiển, dữ liệu và phải có các cổng vào ra để giao tiếp
đợc với đối tợng điều khiển và để trao đổi thông tin với môi trờng xung quanh.
Bên cạnh đó để phục vụ bài toán điều khiển số, PLC còn cần phải có thêm các
khối chức năng đặc biệt khác nh là bộ đếm (Counter), bộ thời gian (Timer) và
các khối hàm chuyên dụng.Sự ra tăng những ứng dụng PLC trong công nghiệp
đã thúc đẩy các nhà sản xuất trên thế giới hoàn chỉnh các họ PLC với mức độ
khác nhau về khả năng, tốc độ xử lý và hiệu xuất. Các họ PLC phát triển từ loại
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 4
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
làm việc độc lập, chỉ với 20 ngõ vào/ra và dung lợng bộ nhớ chơng trình 500 bớc
đến các module nhằm dễ dàng mở rộng thêm khả năng và chức năng chuyên
dùng:
Xử lý tín hiệu liên tục (Module Analog).
Điều khiển động cơ Servo, động cơ bớc.
Truyền thông.
Cùng với sự phát triển của kỹ thuật vi mạch, kỹ thuật PLC đã có những bớc tiến
bộ vợt bậc. Có thể nói nếu không có kỹ thuật PLC thì không có tự động hóa
trong các ngành công nghiệp.

2 .S t ng quan v PLC:
Hầu hết các họ PLC của các hãng sản xuất trên thế giới đều có các
module chính nh sau:
- Bộ xử lý trung tâm CPU: là bộ não của PLC, xử lý chơng trình điều khiển.
- Bộ vào/ra (Input/Output Module): nhận tín hiệu vào và gửi tín hiệu ra.
- Bộ nhớ (Memory Module): dùng để chứa chơng trình điều khiển dữ liệu
Hình 1.1 : Nguyên lý chung về cấu trúc của một bộ điều khiển logic khả
trình PLC.
Thông thờng để tăng tính mềm dẻo trong ứng dụng thực tế mà ở đó phần lớn các
đối tợng điều khiển có số tín hiệu đầu vào, đầu ra cũng nh chủng loại tín hiệu
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 5
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
vào/ra khác nhau mà các bộ điều khiển PLC đợc thiết kế không bị cứng hoá về
cấu hình. Chúng đợc chia nhỏ thành các module. Số module đợc sử dụng nhiều
hay ít tuỳ theo từng bài toán, song tối thiểu bao giờ cũng phải có một module
chính là module CPU.
Các module còn lại là những module nhận/truyền tín hiệu với đối tợng
điều khiển, các module chức năng chuyên dụng nh PID, điều khiển động cơ
Chúng đợc gọi chung là module mở rộng. Tất cả các module đợc gá trên những
thanh ray (Rack)
2.1. 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òn có một
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.
Trong họ PLC S7-300 có nhiều loại module CPU khác nhau. Nói chung chúng
đợc đặt tên theo bộ vi xử lý có trong nó nh module CPU312, CPU314,
CPU315
Hình 1.2:

Module CPU314.
2.2. Module mở rộng.
Các module mở rộng đợc chia thành 5 loại chính:
1) PS (Power supply): Module nguồn nuôi. Có 3 loại 2A, 5A và 10A.
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 hoặc 32 tuỳ thuộc vào từng loại module.
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 6
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
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 hoặc 32 tuỳ thuộc vào 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,16 vào/16 ra tuỳ thuộc vào từng
loại module.
d) AI (Analog input): Module mở rộng các cổng vào tơng tự. Về bản chất chúng
chính là những bộ chuyển đổi tơng tự số 12 bits (AD), tức là mỗi tín hiệu tơng tự
đợc chuyển thành một tín hiệu số (nguyên) có độ dài12 bits. Số các cổng vào t-
ơng tự có thể là 2, 4 hoặc 8 tuỳ từng loại module.
e) AO (Analog output): Module mở rộng các cổng ra tơng tự.
Về bản chất chúng chính là những bộ chuyển đổi số tơng tự (DA). Số các cổng
vào tơng tự có thể là 2, hoặc 4 tuỳ từng loại module.
f) AI/AO (Analog input/Analog out):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 đầu vào/ 2 ra, hoặc 4 vào/4 ra tuỳ từng loại
module.
3) IM (Interface module): Module ghép nối. Đây là loại module chuyên dụng có
nhiệm vụ nối từng nhóm các module mở rộng lại với nhau thành một khối và đ-
ợc quản lý chung bởi một module CPU. Thông thờng các module mở rộng đợc
gá liền với nhau trên một thanh đỡ gọi là rack.Trên mỗi một rack chỉ có thể gá
đợc nhiều nhất 8 module mở rộng (không kể module CPU, module nguồn nuôi

PS).
Một module CPU S7-300 có thể làm việc trực tiếp đợc với nhiều nhất 4 racks
và các rack này phải đợc nối với nhau bằng module IM.
4) FM (Function module): Module có chức năng điều khiển riêng,ví dụ nh
module điều khiển động cơ bớc, module điều khiển động cơ servo, module PID,
module điều khiển vòng kín
5) CP (Communication module): Module phục vụ truyền thông trong mạng giữa
các PLC với máy tính.
3.Cu trỳc b nh ca CPU:
Bộ nhớ của S7-300 đợc chia làm 3 miền chính:(1) Vùng chứa chơng
trình ứng dụng.Vùng nhớ chơng trình đợc chia thành 3 miền:
OB (Organisation block): Miền chứa chơng trình tổ chức.
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ó.
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 7
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
FB (Function block): Miền chứa chơng trình con, đợc tổ chức thành hàm và
có khả năng trao đổi dữ liệu với bất cứ một khối chơng trình nào khác. Các dữ
liệu này phải đợc xây dựng thành một khối dữ liệu riêng (gọi là DB-Data
block).
(2) Vùng chứa tham số của hệ điều hành và chơng trình ứng dụng, đợc phân chia
thành 7 miền khác nhau, bao gồm:
I (Process image input): Miền bộ đệm các dữ liệu cổng vào số.Trớc khi bắt đầu
thực hiện chơng trình, PLC sẽ đọc giá trị logic của tất cả các cổng đầu vào và cất
giữ chúng trong vùng nhớ I. Thông thờng chơng trình ứng dụng không đọc trực
tiếp trạng thái logic của cổng vào số mà chỉ lấy dữ liệu của cổng vào từ bộ đệm
I.
Q (Process image output): Miền bộ đệm các dữ liệu cổng ra số.Kết thúc giai
đoạn thực hiện chơng trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các

cổng ra số. Thông thờng chơng trình không trực tiếp gán giá trị tới tận cổng ra
mà chỉ chuyển chúng vào bộ đệm Q.
M: Miền các biến cờ. Chơng trình ứng dụng sử dụng vùng nhớ này để lu giữ
các tham số cần thiết và có thể truy nhập nó theo địa chỉ bit (M), byte(MB), từ
(MW) hay từ kép (MD).
T: Miền nhớ phục vụ bộ thời gian (Timer) bao gồm việc lu giữ giá trị thời gian
đặt trớc(PV-Preset value), giá trị đếm thời gian tức thời(CV-Current value) cũng
nh giá trị logic đầu ra của thời gian.
C: Miền nhớ phục vụ bộ đếm (Counter) bao gồm việc lu giữ giá trị đặt trớc
(PV-Preset value), giá trị đếm tức thời (CV-Current value) và giá trị logic đầu ra
của bộ đếm.
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 nhậ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 cho các module tơng tự (I/O External output). Các
giá trị theo những địa chỉ này sẽ đợc module tơng tự chuyển tới các cổng ra tơng
tự. Chơng trình ứng dụng có thể truy nhập miền nhớ PQ theo từng byte (PQB),
từng từ (PQW) hoặc từng từ kép (DBD).
(3) 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
cũng nh số lợng khối do ngời sử dụng quy định, phù hợp với từng bài toán điều
khiển. Chơng trình có thể truy nhập miền này theo từng bit (DXB), byte (DBB),
từ (DBW) hoặc theo từng từ kép (DBD).
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 8
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
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ụ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ững khố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ị xoá khi kết thúc chơng trình tơng ứng trong OB, FC,
FB. Miền này có thể đợc truy nhập từ chơng trình theo bit (L), byte (LB), từ
(LW) hoặc từ kép (LD).
4.Vòng quét ch ơng trình:
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 chuyển dữ liệu từ các cổng
vào số tới vùng bộ đệm ảo I, 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 từ lệnh đầu tiên đến lệnh kết thúc của
khối OB1 (Block end). Sau giai đoạn thực hiện chơng trình là giai đoạn chuyển
các nội dung của bộ đệm ảo Q tới các cổng ra số. Vòng quét đợc kết thúc bằng
giai đoạn truyền thông nội bộ và kiểm lỗi.Thời gian cần thiết để PLC thực hiện
đợc một vòng quét gọi là thời gian vòng quét (Scan time). Thời gian vòng quét
không cố định, tức là không phải vòng quét nào cũng đợc thực hiện trong một
khoảng thời gian nh nhau. Có vòng quét đợc thực hiện lâu, có vòng quét đợc
thực hiện nhanh tuỳ thuộc vào số lệnh trong chơng trình đợc thực hiện, vào khối
dữ liệu đợc truyền thông trong vòng quét đó.
Nh vậy giữa việc đọc dữ liệu từ đối tợng để xử lý, tính toán và việc gửi tín hiệu
điều khiển tới đối tợng có một khoảng thời gian trễ đúng bằng thời gian vòng
quét. Nói cách khác, thời gian vòng quét quyết định tính thời gian thực của ch-
ơng trình điều khiển trong PLC. Thời gian vòng quét càng ngắn, tính thời gian
thực của chơng trình càng cao.
Chuyển dữ liệu từ đầu ra Q tới cổng ra
Chuyển dữ liệu từ đầu cổng vào tới đầu vào I
Truyền thông và kiểm tra bộ nhớ
Thực hiện
chơng trình
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 9
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Hình 1.3: Chu kỳ thực hiện vòng quét của CPU trong bộ PLC

5. Kỹ thuật lập trình:
Chơng trình cho S7-300 đợc lu trong bộ nhớ của PLC ở vùng dành riêng
cho chơng trình và có thể đợc lập với hai dạng cấu trúc khác nhau:
Lập trình tuyến tính (linear programming): Toàn bộ chơng trình điều khiển
nằm trong một khối trong bộ nhớ. Loại hình cấu trúc tuyến tính này phù hợp với
những bài toán tự động nhỏ, không phức tạp. Khối đợc chọn phải là khối OB1, là
khối mà PLC luôn quét và thực hiện các lệnh trong nó thờng xuyên, từ lệnh đầu
tiên đến lệnh cuối cùng và quay lại lệnh đầu tiên. Khối này đợc hệ điều hành
gọi theo chu kỳ lặp với khoảng thời gian không cách đều nhau mà phụ thuộc vào
độ dài của chơng trình. Các loại khối chơng trình khác không tham gia trực tiếp
vào vòng quét. Các khối OB khác không tham gia vào vòng quét mà đợc gọi
bằng những tín hiệu báo ngắt. S7-300 có nhiều loại tín hiệu báo ngắt nh tín hiệu
báo ngắt khi có sự cố nguồn nuôi, tín hiệu báo ngắt khi có sự cố chập mạch ở
các module mở rộng, tín hiệu báo ngắt theo chu kỳ thời gian và mỗi loại tín
hiệu báo ngắt nh vậy cũng chỉ có khả năng gọi một loại khối OB nhất định. Mỗi
khi xuất hiện một tín hiệu báo ngắt hệ thống sẽ tạm dừng công việc đang thực
hiện lại, chẳng hạn nh tạm dừng việc thực hiện chơng trình xử lý ngắt trong các
khối OB tơng ứng.
Lập trình có cấu trúc (structure programming): là kỹ thuật cài đặt thuật toán
điều khiển bằng cách chia nhỏ thành các khối chơng trình con FC hay FB với
mỗi khối thực hiện một nhiệm vụ cụ thể của bài toán điều khiển chung và toàn
bộ các khối chơng trình này lại đợc quản lý một cách thống nhất bởi khối OB1.
Trong OB1 có các lệnh gọi những khối chơng trình con theo thứ tự phù hợp với
bài toán điều khiển đặt ra.Hoàn toàn tơng tự, một nhiệm vụ điều khiển con có
thể còn đợc chia nhỏ thành nhiều nhiệm vụ nhỏ và cụ thể hơn nữa, do đó một
khối chơng trình con cũng có thể đợc gọi từ một khối chơng trình con khác. Duy
có một điều cấm kỵ ta cần phải tránh là không bao giờ một khối chơng trình con
lại gọi đến chính nó. Ngoài ra, do có sự hạn chế về ngăn xếp của các module
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 10

N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
CPU nên không đợc tổ chức chơng trình con gọi lồng nhau quá số lần mà
module CPU đợc sử dụng cho phép.
PLC S7-300 có bốn loại khối cơ bản:
* Loại khối OB (Organization block): Khối tổ chức và quản lý chơng trình điều
khiển. Có nhiều loại khối OB với những chức năng khác nhau, chúng đợc phân
biệt với nhau bằng một số nguyên đi sau nhóm ký tự OB, ví dụ nh OB1, OB35,
OB40
* Loại khối FC(Program block): 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 (chơng trình con có biến hình
thức).
Một chơng trình ứng dụng có thể có nhiều khối FC và các khối FC này đợc phân
biệt với nhau bằng những số nguyên sau nhóm ký tự FC. Chẳng hạn nh FC1,
FC2
* Loại khối FB (Function block): Là loại khối FC đặc biệt có khả năng trao đổi
một lợng dữ liệu lớn với các khối chơng trình khác. Các dữ liệu này phải đợc tổ
chức thành khối dữ liệu riêng có tên gọi là Data block. Một chơng trình ứng
dụng có thể có nhiều khối FB và các khối FB này đợc phân biệt với nhau bằng
một số nguyên sau nhóm ký tự FB. Chẳng hạn nh FB1, FB2
*Loại khối DB (Data block): Khối chứa các dữ liệu cần thiết để thực hiện chơng
trình. Các tham số của khối do ngời dùng tự đặt. 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 một số
nguyên sau nhóm ký tự DB. Chẳng hạn nh DB1, DB2 Chơng trình trong các
khối đợc liên kết với nhau bằng các lệnh gọi khối, chuyển khối. Xem những
phần chơng trình trong các khối nh là các chơng trình con thì S7-300
cho phép gọi chơng trình con lồng nhau, tức là từ chơng trình con này gọi một
chơng trình con khác và từ chơng trình con đợc gọi lại gọi tới một chơng trình
con thứ 3 . Số các lệnh gọi lồng nhau phụ thuộc vào từng chủng loại module
CPU mà ta sử dụng. Ví dụ nh đối với module CPU314 thì số lệnh gọi lồng nhau
nhiều nhất có thể cho phép là 8. Nếu số lần gọi khối lồng nhau mà vợt quá con

số giới hạn cho phép, PLC sẽ tự chuyển sang chế độ STOP và đ ặt cờ báo lỗi.
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 11
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Hình 1.4 : Thực hiện gọi khối FC10
Nh vậy khi thực hiện lệnh gọi một khối con,hệ điều hành sẽ:
Chuyển khối con đợc gọi từ vùng Load memory vào vùng Work memory.
Cấp phát cho khối con một phần bộ nhớ trong Work memory để làm local
block. Cấu trúc local block đợc quy định khi soạn thảo các khối.
Truyền các tham trị từ khối mẹ cho biến hình thức IN, IN-OUT của local
block.
Sau khi khối con thực hiện xong nhiệm vụ và ghi kết quả dới dạng tham trị đầu
ra cho biến OUT, IN-OUT của local block, hệ điều hành sẽ chuyển các tham trị
này cho khối mẹ và giải phóng khối con cùng local block ra khỏi vùng Work
memory
6. Ngôn ngữ lập trình:
Các loại PLC nói chung thờng có nhiều ngôn ngữ lập trình nhằm phục
vụ các đối.Tợng sử dụng khác nhau. PLC S7-300 có ba ngôn ngữ lập trình cơ
bản. Đó là:
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 một thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có cấu trúc
chung tên lệnh + toán hạng.
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.
Ngôn ngữ hình khối, ký hiệu là FBD (Function block diagram). Đây cũng là
kiểu ngôn ngữ đồ hoạ dành cho ngời có thói quen thiết kế mạch điều khiển số.
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 12
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C

Một chơng trình viết trên LAD hoặc FBD có thể chuyển sang đợc dạng STL, nh-
ng. Ngợc lại thì không. Trong STL có nhiều lệnh không có trong LAD hay FBD.
Step7 là một phần mềm hỗ trợ:
- Khai báo cấu hình cứng cho một trạm PLC thuộc họ Simatic S7-300/400.
- Xây dựng cấu hình mạng gồm nhiều trạm PLC S7-300/400 cũng nh thủ tục
truyền thông giữa chúng.
- Soạn thảo và cài đặt chơng trình điều khiển cho một hoặc nhiều trạm.
- Quan sát việc thực hiện chơng trình điều khiển trong một trạm PLC và gỡ rối
chơng trình. Ngoài ra Step7 còn có cả một th viện đầy đủ với các hàm chuẩn hữu
ích, phần trợ giúp online rất mạnh có khả năng trả lời mọi câu hỏi của ngời sử
dụng về cách sử dụng Step7, về cú pháp lệnh trong lập trình, về xây dựng cấu
hình cứng của một trạm cũng nh của một mạng gồm nhiều trạm PLC
7. Cấu trúc tập lệnh:
7.1. Lệnh về bit:
Tiếp điểm thờng hở: KQ=KT nếu I0.0=1. KQ=0 nếu I0.0=0
Tiếp điểm thờng đóng: KQ=KT nếu I0.0=0. KQ=0 nếu I0.0=1
Lệnh Not: KQ thu đợc bằng đảo giá trị KT
Nếu KT=1 thì KQ=0 ; Nếu KT=0 thì KQ=1
Ngõ ra:gán KQ cho ngõ ra Q0.0
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 13
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Xác định kết quả: gán KQ tại vị trí mà lệnh đợc chin
Lệnh Reset bit: gán giá trị 0 cho M0.0
Lệnh Set Bit: gán giá trị 1 cho M0.0
Lệnh RS:
Nếu I0.0=1 , I0.1=0 thì M0.0=1, Q0.0=0
Nếu I0.0=0 ,I0.1=1 thì M0.0=0 ,Q0.0=1
Nếu I0.0=I0.1=0 Thì không thay đổi.
Nếu I0.0=I0.1=1 thì M0.0=Q0.0=1

Lệnh SR:
Nếu I0.0=1 , I0.1=0 thì M0.0=1, Q0.0=1
Nếu I0.0=0 ,I0.1=1 thì M0.0=0 ,Q0.0=0
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 14
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Nếu I0.0=I0.1=0 Thì không thay đổi.
Nếu I0.0=I0.1=1 thì M0.0=Q0.0=0
Vi phân cạnh trên:
M0.0 lu giá trị KQ ở vòng quét trớc
Khi I0.0 chuyển trạng thái từ 0 sang 1 và M0.0=0 thì Q0.0=1
Vi phân cạnh xuống
M0.0 lu giá trị KQ ở vòng quét trớc
Khi I0.0 chuyển trạng thái từ 1 xuống 0 và M0.0=1 thì Q0.0=1
Lệnh Save: lu giá trị RLO vào bit cờ BR
Lệnh NEG: Khi I0.0=1 và I0.1 chuyển trạng thái từ 1 xuống không thì Q0.0
ON trong 1 chu kỳ
Hay nói cách khác Q0.0 chỉ ON tại thời điểm thoả điều kiện bài toán.
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 15
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
7.2. Lệnh về Timer:
Lệnh S_PULSE:
Nếu I0.0=1 Timẻ đợc kích chạy, khi I0.0=0 hoặc chạy đủ thời gian đặt 2s thì
timer dừng.
Hoặc có tín hiệu I0.1 thì Timer cũng dừng
Timer chỉ chạy lại khi có tín hiệu mới từ I0.0 (tức là I0.0 chuyển trạng thái từ 0
lên 1)
Q0.0=1 khi Timer đang chạy.
MW100 lu giá trị đếm của timer theo dạng Integer

MW102 lu giá trị cuat timer theo dạng BCD
Chức năng của timer này tạo xung có thời gian đợc đặt sẵn.
Lệnh S_PEXT:
Timer kích có nhớ. Khi có tín hiệu cạnh lên ở I0.0 Timer T5 chạy, nếu đủ thời
gian đặt Timer dừng.
Trong quá trình chạy nếu có tín hiệu mứoi từ chân I0.0 thì thời gian Timer lại
tính lại từ đầu.
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 16
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Trong quá trình chạu nếu có tín hiệu I0.1 thì Timer dừng Q0.0=1 khi Timer đang
chạy.
Các ô nhớ MW100 và MW102 lu giá trị hiện thời Timer theo dạng Integer và
dạng BCD
Lệnh S_ODT:
Nếu I0.0=1 Timer bắt đầu chạy khi đủ thời gian thì ngng khi đó ngõ Q0.0 sẽ lên
1 nếu I0.0 vẫn con giữ trạng thái 1, khi có tín hiệu I0.1 thì tất cả phải Reset về 0
Các ô nhớ MW100 và MW102 lu giá trị hiện thời của timer theo dạng Integer và
dạng BCD
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 17
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Lệnh S_ODTS:
Timer kích có nhớ khi có xung cạnh lên ở I0.0 Timer bắt đầu chạy, ngõ ra
Q0.0=1 khi Timer ngng và chỉ tắt khi có tín hiệu Reset (Tín hiệu I0.1)
Trong tqua trinhg Timer chạy nếu có sự chuyển đổi tín hiệu từ chân I0.0 thêm 1
lần nữa thì Timer sẽ nhớ và tiếp tục chạy khi hết thời gian lần trớc.

Lệnh S_OFFDT:
Khi I0.0 ON , Q0.0=1, khi I0.0 OFF Timer bắt đầu chạy và Q0.0 chỉ tắt

khi đủ thời gian và I0.0 vẫn OFF
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 18
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Khi có tín hiệu Reset I0.1 thì tất cả tín hiệu đều OFF
Số Timer trong S7_300 phụ thuộc vào loại CPU
CPU 312: có 128 timer
CPU 313 trở lên: có 256 Timer
7.3.Bộ đếm Counter:
Lệnh đếm lên xuống S_CUD
Ngõ I0.0 chuyển trạng thái từ 0 lên 1, C0 đếm tăng lên 1
Khi I0.1 chuyển trạng thái từ 0 lên 1, C0 đếm giảm xuống 1
Khi cả I0.0 và I0.1 đều chuyển trạng thái thì C0 không thay đổi.
Khi I0.3=1 thì C0 bị Rết về 0
Giá trị bộ đếm hiện thời nằm trong 2 ô nhớ MW100 và MW102 dới dạng
Integer và dạng BCD, giá trị này tầm từ 0-999
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 19
N MễN HC : IU KHIN LP TRèNH GVHD: HONG èNH C
Lệnh đếm lên S_CU:
Ngõ vào I0.1=1: đa giá trị đếm vào PV
Khi I0.0 chuyển trạng thái từ 0 sang 1, C0 đếm tăng lên 1
Khi I0.2=1 Counter bị Reset
Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
Giá trị bộ đếm hiện thời nừm trong 2 ô nhớ MW100 và MW102 dới dạng
Integer và dạng BCD, giá trị này tầm từ 0-999
Lệnh đếm xuống S_CD
Ngõ vào I0.1=1: đa giá trị đếm vào PV
Khi I0.0 chuyển trạng thái từ 1 sang 0, C0 đếm giảm đi 1
Khi I0.2=1 Counter bị Reset

Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
Giá trị bộ đếm hiện thời nằm trong 2 ô nhớ MW100 và MW102 dới dạng
Integer và dạng BCD, giá trị này tầm từ 0-999
SVTH : NGUYN CAO CNG
NGUYN ANH QUN LP H IN K3 Page 20
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
7.4. LÖnh So S¸nh:
LÖnh so s¸nh sè nguyªn
LÖnh EQ_I: so s¸nh MW100 vµ MW102, nÕu 2 sè nguyen nµy b»ng nhau th×
KQ=KT
LÖnh NE_I: so s¸nh MW100 vµ MW102, nÕu 2 sè nµy kh¸c nhau th× KQ=QT.
LÖnh GT_I: So s¸nh 2 sè MW100 vµ MW102, nÕu MW100 l¬n h¬n MW102
th× KQ=KT
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 21
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
LÖnh GE_I: so s¸nh 2 sè MW100 vµ MW102, nÕu MW100 lín h¬n MW102
hoÆc b»ng MW102 th× KQ=KT
LÖnh LE_I: so s¸nh 2 sè MW100 vµ MW102, NÕu MW100 bÐ h¬n hoÆc b»ng
MW102 th× KQ=KT
LÖnh so s¸nh EQ_D: so s¸nh MD100 vµ 104, nÕu 2 sè nguyªn nµy b»ng nhau
th× KQ=KT
LÖnh NE_D: so s¸nh MD100vµ MD104, nÕu 2 sè nµy kh¸c nhau th× KQ=KT
INT1
INT2
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 22
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
CMP<>D
LÖnh GT_D: so s¸nh 2 sè MD100 vµ MD104 ,nÕu MD100lín h¬n MD104 th×

KQ=KT
INT1
INT2
CMP>D
LÖnh LT_D: so s¸nh 2 sè MD100 vµ MD104, nÕu MD100 bÐ h¬n MD104 th×
KQ=KT
INT1
INT2
CMP<D
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 23
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ
LÖnh so s¸nh GE_D: so s¸nh 2 sè MD100 vµ MD104, NÕu MD100 lín h¬n
hoÆc b»ng MD104 th× KQ=KT
INT1
INT2
CMP>=D
LÖnh LE_D: so s¸nh 2 sè MD100 vµ MD104, nÕu MD100 bÐ h¬n hoÆc
b»ngMD104 th× KQ=KT.
LÖnh so s¸nh sè thùc
LÖnh EQ_R; so s¸nh MD100 vµ MD104, nÕu 2 sè nguyªn nµy b»ng nhau th×
KQ=KT
INT1
INT2
CMP==R
MD100
MD104
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 24
ĐỒ ÁN MÔN HỌC : ĐIỀU KHIỂN LẬP TRÌNH GVHD: HOÀNG ĐÌNH CƠ

LÖnh NE_R: so s¸nh MD100 vµ MD104, nÕu 2 sè kh¸c nhau th× KQ=KT
INT1
INT2
CMP>R
MD100
MD104
LÖnh GT_R: so s¸nh2 sè MD100 vµ MD104, nÕu MD100 lín h¬n MD104 th×
KQ=KT
LÖnh LT_R: so s¸nh 2 sè MD100 vµ MD104, nÕu MD100 bÐ h¬n MD104 th×
KQ=KT
INT1
INT2
CMP<R
MD100
MD104
SVTH : NGUYỄN CAO CƯỜNG
NGUYỄN ANH QUÂN LỚP ĐH ĐIỆN K3 Page 25

×