Tải bản đầy đủ (.pdf) (154 trang)

Điều khiển lập trình Phạm Minh Quân

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 (6.58 MB, 154 trang )

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
KHOA ĐIỆN TỬ

BÀI GIẢNG:

ĐIỀU KHIỂN LẬP TRÌNH 2

BIÊN SOẠN:
GV

ThS Nguyễn Tấn Đời

GV

ThS Tạ Văn Phương

TP HỒ CHÍ MINH, THÁNG 01 NĂM 2008


Truong DH SPKT TP. HCM



MỤC LỤC
CHƯƠNG I: PLC S7-300
1.1 Giới thiệu về PLC S7-300.

1

1.2 Các Module của PLC S7-300


1

1.3 Các Module hoạt động.

4

1.4 Các kiểu dữ liệu.

5

1.5 Cấu trúc bộ nhớ.

5

1.6 Chu kỳ quét của PLC S7-300

7

1.7 Trao đổi dữ liệu giữa CPU và Module mở rộng.

8

1.8 Cấu trúc chương trình của PLC S7-300

9

1.9 Các khối OB đặc biệt

10


CHƯƠNG II: TẬP LỆNH CỦA S7-300
1.1 Cấu trúc lệnh và trạng thái kết quả

ruo

©T
yen
u
q
1.3 Nhóm lệnh đặc biệt Ban
1.4 Nhóm lệnh so sánh
1.2 Nhóm lệnh logic

H Su
ng D

ph

h

yt
am K

M

P. HC
uat T

12
12

14
20
23

1.5 Nhóm lệnh toán học

28

1.6 Lệnh chuyển đổi số BCD sang số nguyên

29

1.7 Lệnh về Timer

30

1.8 Lệnh về Counter.

40

CHƯƠNG III: MẠNG PROFIBUS- DP

47

3.1 Tổng quan

47

3.1.2 Kiến trúc giao thức và kỹ thuật truyền


48

3.1.3 Truy cập BUS

49

3.1.4 Dịch vụ truyền dữ lịêu

49

3.1.5 Cấu trúc bức điện

50

3.2 Profibus – DP

51

3.2.1 Cấu hình hệ thống và thiết bị

52

3.2.2 Đặc tính vận hành của hệ thống

53

3.2.3 Trao đổi dữ liệu giữa Master và Slaver

53


3.2.4 Đồng bộ hoá dữ liệu vào /ra

54

Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



3.2.5 Tham số hoá và chuẩn đoán hệ thống

55

3.2.6 Giao tiếp trực tiếp giữa các Slave

55

3.2.7 Chế độ đẳng thời

56

3.3 Giới thiệu Module EM-277

57

3.3.1 Giới thiệu

57


3.3.2 Các thông số của EM-277

57

3.3.3 Cấu trúc vùng nhớ của Master và Slave

58

3.4 Kết nối mạng với module EM-277

61

3.4.1 Thiết lập địa chỉ mạng cho khối EM-277

61

3.4.2 Truyền dữ liệu giữa trạm chủ và khối EM-277

61

3.4.3 Tệp cơ sở dữ liệu của thiết bị ( các tệp GSD)

64

3.4.5 Ứng dụng mạng Profibus –DP điều khiển thiết bị

64

4.1 Giới thiệu về mạng ASI


u
DH S
g
n
ruo

4.1.1 Khái niệm

K
pham

M

P. HC
uat T

CHƯƠNG IV : MẠNG ASI

y th

75
75
75

©T
yen
u
q
BanASI

4.1.3 Hoạt động của mạng

77

4.1.4 Ứng dụng mạng ASI

84

4.2 Các AS-I MASTER

86

4.2.1 Giới thiệu

86

4.2.2 AS-I Master PLC S7-200

86

4.2.3 AS-I Master cho PLC S7-300

89

4.2.4 AS-I Gateway

91

4.3 Các thành phần mạng ASI


92

4.3.1 Cáp AS-I

92

4.3.2 Các Module AS-I

93

4.3.3 Lắp đặt Module AS-I

97

4.3.4 AS-I Repeater/Extender

97

4.3.5 Bộ định địa chỉ

99

4.1.2 Giao tiếp ASI

82

4.4 Chế độ AS-I MASTER

100


4.4.1 Nguyên tắc Master/Slaver trong AS-I

100

4.4.2 Chuyển đổi dữ liệu

102

4.5 Hệ thống AS-I

108

4.5.1 Thiết lập hệ thống AS-I

108

Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



4.5.2 Hệ thống truyền dữ liệu AS-I

109

4.5.3 Cấu trúc bức điện

110


4.6 AS-I MASTER MODULE CP 243-2

113

4.6.1 Giới thiệu module CP 243-2

113

4.6.2 Đặc tính kỹ thuật của Module CP 243-2

115

CHƯƠNG V: PHẦN MỀM WINCC

129

5.1 Giới thiệu chung về WinCC

129

5.1.1 Khái niệm

129

5.1.2 Đặc điểm

129

5.1.3 Ưu điểm của Version WinCC 6.0


131

5.2 Các độ Poject trong WINCC

131

5.2.1 Single-user Project

131

5.2.3 Client Project

u
DH S
g
n
uo
5.3.1 Thiết lập Driver kết nối giữanWinCC
© Tr và PLC
e
y
qu
5.3.2 Định nghĩa các TagBan
5.3 Sử dụng WINCC

K
pham

M


P. HC
uat T

5.2.2 Multi-user Project

y th

132
132
133
133
134

5.3.3 Tạo giao diện người dùng

134

5.3.4 Tạo ảnh động và hiệu ứng cho đối tượng

136

5.3.5 Biểu diễn giá trị của quá trình Logging Editor

136

5.3.6 Thiết lập cảnh báo và thông báo lỗi

137


5.3.7 Tạo Function và Action

138

5.3.8 Thiết lập Report

138

5.3.9 Chạy chương trình WinCC

139

5.4 Điều khiển và giám sát qua mạng PROFIBUS

140

5.4.1 Yêu cầu

140

5.4.2 Kết nối phần cứng

141

5.4.3 Khai báo phần cứng trên SIMATIC MANAGER

141

5.4.4 Thiết lập giao diện trên WinCC và thiết lập giao tiếp với S&-300


146

Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



TÀI LIỆU THAM KHẢO
[1]

Nguyễn Doãn Phước, tự động hóa với Simatic S7-300, NXB KHKT, 2006

[2]

Hoàng Minh Sơn, Mạng truyền thông công nghiệp , NXB KHKT, 2001.

[3]

Trần Thu Hà, Tự động hoá trong công nghiệp với WinCC, NXB Hồng
Đức, 2007.

[4]

TT Việt Đức - ĐH Sư phạm Kỹ thuật Tp.HCM, SIMATIC S7-300 Điều
khiển hệ thống.

[5]


TT Việt_Đức - Trường ĐH Sư phạm Kỹ thuật Tp.HCM, Tài liệu huấn
luyện PROFIBUS - DP&FMS.

[6]

Siemens, AS-Interface – Introdution and Basic information, 2000.

[7]

Siemens, S7-300 Programmable Controller Hardware and installation.

[8]

Internet.
u
DH S
g
n
ruo

K
pham

M

P. HC
uat T

y th


©T
yen
u
q
an

B

Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1:

CHƯƠNG 1

PLC S7-300

1.1 GIỚI THIỆU VỀ PLC S7-300:
PLC S7-300 là thiết bị điều khiển lo g i c k h ả t r ì n h c ỡ t r u n g b ì n h do hãng
S iemens sản xuất với kích thước nhỏ, gọn.
Chúng có kết cấu theo kiểu các Module được sắp xếp trên các thanh rack. Trên mỗi
rack cho phép đặt được nhiều nhất 8 Module mở rộng (không kể CPU, Module
nguồi nuôi). Một CPU S7-300 có thể làm việc trực tiếp với nhiều nhất 4 rack.
S7-300 được thiết kế dựa trên tính chất của PLC S7-200 (đã được trình bày trong môn

học ĐKLT 1) và bổ sung những tính năng mới, đặc biệt trong điều khiển liên kết cả
hệ thống nhiều PLC, gọi là mạng PLC – sẽ được trình bày trong các chương sau.
1.2 CÁC MODULE CỦA PLC S7-300:
Nhằm mục đích tăng tính mềm dẻo trong các ứng dụng thực tế, M
các đối tượng điều
C
H
.
P
khiển của một trạm S7-300 được chế tạo theo Module.
at T

u
y th
K
Các Module gồm có: Module CPU, nguồn, ngõphvào/ra
am số, tương tự, mạng, …Số lượng
u
S
H
Module nhiều hay ít tùy vào yêu cầu
thực
tế, song tối thiểu bao giờ cũng có một
D
uong
r
T
Module chính là CPU, các Module
còn
lại

nhận truyền tín hiệu với đối tượng điều
©
yen
u
q
khiển, các Module chức
Bannăng chuyên dụng như PID, điều khiển động cơ,… chúng được

gọi chung là Module mở rộng.

Cấu hình của một trạm PLC S7-300 như sau:

CPU

Hình 1.1: Các khối trên một thanh rack của trạm PLC S7-300.

TRANG - 1
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

-

CHƯƠNG 1


Module CPU: chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ định thời gian,
bộ đếm, cổng truyền thông (RS485)… và có thể có vài cổng vào/ra số onboard.
PLC S7-300 có nhiều loại CPU khác nhau, chúng được đặt tên theo bộ vi xử lý có
trong CPU như CPU312, CPU314, CPU315, CPU316, CPU318…
Những Module cùng có chung bộ vi xử lý nhưng khác nhau về cổng vào/ra
onboard, khác nhau về các khối hàm đặc biệt có sẵn trong thư viện của hệ điều
hành được phân biệt với nhau trong tên gọi bằng cách thêm cụm từ IFM
(Intergrated Function Module). Ví dụ Module CPU314 IFM.
Ngoài ra còn có các loại Module CPU với hai cổng truyền thông, trong đó cổng
truyền thông thứ hai có chức năng chính là phục vụ việc nối mạng phân tán có
kèm theo những phần mềm tiện dụng được cài đặt sẵn trong hệ điều hành. Các
loại CPU này được phân biệt với các CPU khác bằng tên gọi thêm cụm từ DP
(Distributted Port) trong tên gọi. Ví dụ Module CPU 314C-2DP…
Hình vẽ sau minh họa một số CPU của PLC S7-300:

u
DH S
g
n
ruo

K
pham

M

P. HC
uat T

y th


©T
yen
u
q
an

B

CPU 312 IFM

CPU 314C-2PIP

CPU 314

CPU 314C-2DP

Hình 1.2: Các Module tích hợp CPU của PLC S7-300.
-

Module mở rộng: chia làm 5 loại
o

PS ( Power Supply): Module nguồn nuôi. Có 3 loại 2A, 5A và 10A.

o

SM (Signal Module): Module mở rộng cổng tín hiệu vào/ra, bao gồm:

o


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.

o

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.

o

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ố có thể là 8 vào/8 ra hoặc 16 vào/16 ra tùy thuộc
từng loại Module.

o

AI (Analog input): Module mở rộng cổng vào tương tự. Chúng là bộ
chuyển đổi tương tự số 12 bits (AD). Số các cổng vào tương tự có thể là
2, 4, 8 tùy từng loại Module.

TRANG - 2
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2


CHƯƠNG 1

o

AO (Analog output): Module mở rộng các cổng ra tương tự. Chúng là
những bộ chuyển đổi số tương tự (DA). Số các cổng ra tương tự có thể
là 2, 4 hoặc 8 tùy thuộc từng loại.

o

AI/AO (Analog input/Analog output): Module mở rộng vào/ra tương tự.
Số cổng vào/ra tương tự có thể là 4 vào/2 ra hoặc 4 vào/4 ra tùy từng loại
Module.

o

IM (Interface Module): Module ghép nối. Đây là loại Module chuyên
dụng có chức năng nối các nhóm 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 CPU. Một CPU có thể làm việc
trực tiếp nhiều nhất 4 rack, mỗi rack tối đa 8 Module mở rộng và các rack
được nối với nhau bằng Module IM.

o

FM (Function Module): Module có chức năng điều khiển riêng, ví dụ
như Module điều khiển động động cơ bước, Module điều khiển động cơ
servo, Module PID, điều khiển đếm tốc độ cao…

o


CP (Communication Module): Module phục vụ truyền thông trong mạng
giữa các bộ PLC với nhau hoặc giữa PLC với máy tính.
HCM

P.
Hình sau minh họa một số Module mở rộng của PLC uS7-300:
at T
u
DH S
g
n
ruo

K
pham

y th

©T
yen
u
q
an

B

a) Module nguồn (PS)

d) Module ra số (DO)


b) Module vào số (DI)

c) Module ra analog (AO)

e) Module chức năng (FM) f) Module truyền thông

Hình 1.3: Module mở rộng của PLC S7-300

TRANG - 3
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

1.3 CÁC MODE HOẠT ĐỘNG:
-

PLC S7-300 có 4 mode hoạt động, gồm:
o

RUN_P: Xử lý chương trình, có thể đọc và ghi được từ PG.

o


RUN: Xử lý chương trình, không thể đọc từ PG.

o

STOP: Dừng, chương trình không được xử lý.

MRES: Chức năng reset hệ thống (Module Reset
o
Các mode này được chọn dựa vào công tắc chọn ở mặt trước CPU như hình 1.4
Trong đó:
1. Đèn báo trạng thái
2. Card nhớ
3. Nút chọn kiểu làm việc
4. Đầu nối 24V
6. Ngăn để pin
u
DH S
g
n
ruo

K
pham

©T
yen
u
q
an


B

-

-

M

P. HC
uat T

5. Cổng giao tiếp MPI
y th

Hình 1.4: Mặt trước CPU S7-300

Ngoài ra, CPU còn có các đèn chỉ báo giúp người sử dụng chẩn đoán được trạng
thái hiện tại của PLC.
o

SF: báo lỗi trong nhóm, trong CPU hay trong các Module.

o

BATF: lỗi pin, hết pin hoặc không có pin.

o

DC5V: báo có nguồn 5V.


o

FRCE: báo ít nhất có một ngỏ vào/ra đang bị cưỡng bức hoạt động.

o

RUN: nhấp nháy khi CPU khởi động và sáng khi CPU làm việc.

o

STOP: sáng khi PLC dừng, chớp chậm khi có yêu cấu reset bộ nhớ,
chớp nhanh khi đang reset bộ nhớ.

Các thành phần khác trên CPU:
o

Card nhớ: dùng để lưu chương trình mà không cần pin trong trường hợp
mất điện.

o

Ngăn để pin: nằm dưới nắp, chứa pin cung cấp năng lượng cho RAM khi
mất điện.

o

Đầu nối MPI: đầu nồi dành cho thiết bị lập trình hay các thiết bị cần giao
tiếp qua cổng MPI.


o

Đầu nối điện 24V: cung cấp nguồn cho CPU.

TRANG - 4
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

1.4 CÁC KIỂU DỮ LIỆU:
Tương tự như PLC S7-200, các kiểu dữ liệu sử dụng trong chương trình của PLC
S7-300 gồm có:
-

BOOL: có dung lượng 1 bit, giá trị là 0 hoặc 1, sử dụng cho biến có 2 giá trị

-

BYTE: dung lượng 8 bit, thường dùng biểu diễn số nguyên dương từ 0 đến 255,
mã BCD của số thập phân 2 chữ số, mã ASCII của ký tự,…

-


WORD: dung lượng 2 byte, biểu diễn số nguyên dương từ 0 đến 65535.

-

INT: dung lượng 2 byte, biểu diễn số nguyên từ -32768 đến 32767.

-

DINT: dung lượng 4 byte, biểu diễn số nguyên từ -2147483648 đến 2147483647.

-

REAL: dung lượng 4 byte, biểu diễn số thực có dấu phẩy.

Ngoài ra còn có các kiểu dữ liệu khác:
-

S5T (S5TIME): biểu diễn khoảng thời gian, tính theo giờ/phút/giây/mgiây

-

TOD: biểu diễn khoảng thời gian tính theo giờ/phút/giây

-

DATE: biểu diễn thời gian theo năm/tháng/ngày

-

CHAR: biểu diễn ký tự (tối đa 4 ký tự).



1.5 CẤU TRÚC BỘ NHỚ:
quye
Ban

u
DH S
g
n
ruo

K
pham

M

P. HC
uat T

y th

T

Bộ nhớ PLC được minh họa trong hình 1.5, gồm: vùng nhớ chứa thanh ghi, vùng nhớ
System, vùng nhớ Work, và vùng nhớ Load.

Hình 1.5: Phân chia vùng nhớ S7-300

TRANG - 5

Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

-

CHƯƠNG 1

Load memory:
Là vùng nhớ chứa chương trình ứng dụng do người sử dụng viết và được chứa
trong các OB, FC, FB hoặc trong các khối chương trình trong thư viện hệ
thống được sử dụng (SFB, SFC) và các khối dữ liệu DB. Vùng nhớ này tạo ra từ
một phần RAM của CPU và EEPROM. Khi thực hiện lệnh xóa bộ nhớ (MRES)
thì toàn bộ các khối chương trình trong RAM bị xóa hết. Tương tự, khi chương
trình được Download từ máy tính vào CPU, chúng sẽ được ghi lên phần RAM
của vùng nhớ này. Vùng nhớ chương trình được chia làm 3 miền:

-

o

OB (Organization Block): miền chứa chương trình tổ chức.

o


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.

o

FB (Function Block): Miền chứa chương trình con được tổ chức thành hàm,
có khả năng trao đổi dữ liệu với bất kỳ khối chương trình nào. Các dữ liệu
được xây dựng trên một khối riêng gọi là DB.

Work memory:
M
Là vùng nhớ chứa các khối dữ liệu DB đang mở, khối chương
. HCtrình (OB, FB, FC,
P
T
SFC, SFB) đang được CPU thực hiện. Tại một thời
huat nhất định vùng nhớ này
y tđiểm
K
chỉ chứa một khối chương trình. Sau khiu pthực
ham hiện khối chương trình này xong
S
H
D
thì nó sẽ bị CPU xóa khỏi work
memory
và nạp vào khối chương trình kế tiếp
uong
r
T

đến lượt thực hiện. uyen ©
an q

B thành 2 miền:
Vùng nhớ này chia

-

o

DB (Data Block): Miền chứa các dữ liệu tổ chức thành khối, kích thước và
số lượng do người sử dụng quy định. Chương trình có thể truy cập miền này
theo bit (DBX), byte (DBB), Word (DBW), Double word (DBD).

o

L (Local data block): Miền dữ liệu cục bộ được các khối chương trình OB,
FC, FB sử dụng cho các biến tạm thời và trao đổi các biến hình thức với các
khối đã gọi nó. Nội dung dữ liệu trong khối 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ể truy cập theo
bit (L), byte (LB), word (LW) hoặc duoble word (LD). Tùy theo các khối
chương trình khác nhau mà bảng khai báo chứa các biến khác nhau nhằm
phục vụ cho yêu cầu của khối đó.

System memory:
Chứa các tham số của hệ điều hành và chương trình ứng dụng, chia làm 7 miền.
o

Miền I: (Process image input): miền bộ đệm các cổng vào số. Trước khi
thực hiện chương trình, PLC đọc tất cả dữ liệu đầu vào và cất vào miền nhớ

này. PLC không đọc trực tiếp cổng vào mà đọc từ bộ đệm I.

o

Miền Q: (Process image output): miền bộ đệm các cổng ra số. Khi kết thúc
chương trình, PLC chuyển giá trị logic từ bộ đệm Q đến các cổng ra số.
Thông thường chương trình không gán trực tiếp giá trị tới cổng ra mà chỉ
chuyển chúng vào bộ đệm Q.

TRANG - 6
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

o

Miền M: miền nhớ các bit cờ. Chương trình ứng dụng sử dụng vùng nhớ
này để lưu các tham số cần thiết và có thể truy nhập theo bit, byte, word,
double word.

o

Miền T: miền nhớ phục vụ bộ thời gian. Bao gồm việc lưu trữ giá trị thời

gian thời gian định trước, thời gian tức thời và giá trị logic đầu ra của timer.

o

Miền C: miền phục vụ bộ đếm. Bao gồm việc lưu trữ giá trị đặt trước, giá
trị tức thời và giá trị logic đầu ra.

o

Miền PI: miền địa chỉ cổng vào các Module tương tự. Các giá trị tương tự
tại các cổng vào sẽ được chuyển tự động theo những địa chỉ. Chương trình
ứng dụng có thể truy cập miền PI theo bit (PI), theo byte (PIB), theo từ
(PIW), hoặc theo từ kép (PID).

o

Miền PQ: miền địa chỉ cổng ra các Module tương tự. 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 cập miền nhớ PQ theo bit (PQ), theo
byte (PQB), theo từ (PQW) hoặc theo từ kép. Trong các vùng nhớ trình bày
trên không có vùng nhớ làm bộ đệm cho cổng vào/ra tương tự, như vậy mỗi
CMcó tác dụng trực
lệnh truy nhập Module tương tự (đọc hoặc gửi giá T
trị)
đều
.H
P
huat
tiếp tới cổng vật lý.
Ky t

ruo

H Su
ng D

pham

© TS7-300:
1.6 CHU KỲ QUÉT CỦA
PLC
uyen
an q

B PLC S7-300 thực hiện chương trình theo chu trình lặp. Mỗi
Tương tự PLC S7-200,
vòng lặp được gọi là vòng quét.

-

Vòng quét được bắt đầu bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi.

-

Bước tiếp theo là giai đoạn chuyển dữ liệu từ các cổng vào số tới bộ đệm ảo I.

-

Sau đó là giai đoạn thực hiện chương trình. 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. Kết quả được lưu trong bộ đệm Q.


-

Sau cùng 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ố.

Hình 1.6: Vòng quét chương trình

TRANG - 7
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

Bộ đệm I và Q không liên quan tới các cổng vào/ra tương tự nên các lệnh truy nhập
cổng tương tự được thực hiện trực tiếp với cổng vật lý mà không thông qua bộ đệm.
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.
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 thực hiện lâu, có vòng quét
thực hiện nhanh tùy thuộc vào số lệnh trong chương trình được thực hiện, tùy thuộc
vào khối lượng dữ liệu được truyền thông trong vòng quét.
Việc đọc dữ liệu từ đối tượng để xử lý, tính toán và gửi tín hiệu tới đối tượng cần một
khoảng thời gian trễ đúng bằng thời gian vòng quét. 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.
Việc đọc dữ liệu từ đối tượng để xử lý, tính toán và gửi tín hiệu tới đối tượng cần một
khoảng thời gian trễ đúng bằng thời gian vòng quét. 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.
Nếu sử dụng các khối OB đặc biệt có chế độ ngắt như OB40, OB80, OB35 thì chương
trình của khối đó được thực hiện khi xuất hiện tín hiệu báo ngắt cùng loại. Thời gian
vòng quét càng lớn khi có nhiều tín hiệu ngắt xuất hiện trong vòng quét.
M

P. HC
uat T

h
Ky t
m
a
1.7 TRAO ĐỔI DỮ LIỆU GIỮA CPU VÀuMODULE
MỞ RỘNG:
h
S p
H
D
ng
Sự trao đổi dữ liệu giữa CPU với T
các
mở rộng trong một trạm PLC thông qua
ruoModule
©
n
e
y
bus nội bộ.
qu

Ban

-

Ngay đầu vòng quét các dữ liệu tại cổng vào của Module số (DI) được CPU
chuyển đến bộ đệm vào I. Đến cuối vòng quét, nội dung bộ đệm số ngõ ra được
CPU chuyển tới cổng ra của các Module số (DO).
Việc thay đổi nội dung hai bộ đệm này được thực hiện bởi chương trình ứng
dụng. Trong chương trình ứng dụng có nhiều lệnh đọc ngõ vào số thì cho dù giá
trị thực có của cổng này đã bị thay đổi trong quá trình thực hiện vòng quét,
chương trình sẽ vẫn luôn đọc được cùng một giá trị từ I và đó là giá trị của cổng
vào có tại thời điểm đầu vòng quét. Nếu chương trình có nhiều lần thay đổi giá trị
cổng ra số thì do nó chỉ thay đổi nội dung bit nhớ tương ứng trong Q nên chỉ có
giá trị ở lần thay đổi cuối cùng được đưa tới cổng ra vật lý của Module DO.

-

Khác với việc đọc/ghi cổng số, việc truy nhập cổng vào/ra tương tự lại được CPU
thực hiện trực tiếp trên Module tương tự (AI/AO). Như vậy lệnh đọc giá trị từ địa
chỉ thuộc vùng PI sẽ thu được giá trị đúng bằng giá trị thực có ở cổng tại thời
điểm thực hiện lệnh, khi thực hiện lệnh gửi một giá trị tới địa chỉ vùng PQ, giá trị
đó được gửi trực tiếp đến cổng ra tương tự của Module.

TRANG - 8
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM




ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

Hình 1.7: Trao đổi dữ liệu giữa CPU và Module mở rộng
Ky
1.8 CẤU TRÚC CHƯƠNG TRÌNH PLC S7-300:
ham
Su p

M

P. HC
uat T

th

Chương trình do người dùng viết cho
g DH được lưu trong vùng nhớ chương trình,
nS7-300
o
u
r
©T
có 2 dạng với cấu trúc khác unhau:
yen
-

an q


Lập trình tuyếnBtính:

Toàn bộ chương trình điều khiển lưu trong 1 khối trong bộ nhớ. Dạng chương
trình phù hợp với bài toán nhỏ, đơn giản.
Khối được chọn ở đây là khối OB1. Đây là khối chứa các lệnh được thực hiện
thường xuyên trong chu kỳ quét của PLC.

Lệnh 1
Vòng quét

Lệnh 2

OB1


Lệnh n

Hình 1.8: Lập trình tuyến tính
-

Lập trình có cấu trúc:
Chương trình được chia thành từng phần nhỏ với các yêu cầu riêng biệt, mỗi
phần có thể lưu trong một vùng nhớ khác nhau.
Dạng này phù hợp với bài toán phức tạp, có nhiều yêu cầu khác nhau.

TRANG - 9
Thu vien DH SPKT TP. HCM -



Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

PLC S7-300 có 4 loại khối cơ bản:
o

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…
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.

o

Khối FC (Program Block): là khối chương trình với các chức năng riêng,
giống như 1 chương trình con. Một chương trình có thể có nhiều khối FC,
chúng được phân biệt dựa theo số nguyên gán thêm phía sau, FC1, FC2, …

o

Khối FB (Function Block): là 1 khối FC đặc biệt có khả năng trao đổi lượng
dữ liệu lớn với các khối chương trình khác. Một chương trình có thể có
nhiều khối FB, chúng được phân biệt dựa theo số nguyên gán thêm phía
sau, FB1, FB2, …


o

Khối DB (Data Block): là 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 này do người sử dụng tự đặt. Một
chương trình có thể có nhiều khối DB, chúng được phân
Mbiệt dựa theo số
. HC
P
T
nguyên gán thêm phía sau, DB1, DB2,
uat

h
Ky t
m
a
Chương trình trong các khối được liênu kết
h với nhau bằng các lệnh gọi khối,
S p
H
D
chuyển khối.
ng
Truo
©
n
quye
Ban

1.9 CÁC KHỐI OB ĐẶC BIỆT:


Nếu OB1 là khối được thực hiện liên tục trong từng vòng quét thì các khối OB khác
chỉ được thực hiện khi có tín hiệu báo ngắt tương ứng. Chương trình viết cho các khối
này chính là các chương trình xử lý tín hiệu ngắt, bao gồm:
-

OB10 (Time of date interrupt): chương trình trong khối OB10 sẽ được thực khi
giá trị của đồng hồ thời gian thực nằm trong một khoảng thời gian đã quy định.
OB10 có thể gọi một lần hay nhiều lần cách đều nhau từng phút, từng giờ, từng
ngày…

-

OB20 (Time delay interrupt): chương trình trong khối OB20 sẽ được thực hiện
sau một koảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ thống SFC32
để đặt thời gian trễ.

-

OB35 (Cyclic interrupt): chương trình trong OB35 sẽ được thực hiện cách đều
nhau 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.

-

OB40 (Hardware interrupt): OB40 sẽ được thực hiện khi có tín hiệu ngắt từ ngoại
vi đưa vào CPU thông qua cổng vào ra số onboard đặc biệt, hoặc thông qua
Module SM, CP, FM.

-


OB80 (Cycle time fault): được thực hiện khi thời gian vòng quét vượt quá thời
gian cực đại đã quy định (mặc định là 150ms) hoặc có tín hiệu ngắt gọi OB nào
đó mà OB này chưa kết thúc ở lần gọi trước.

TRANG - 10
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 1

-

OB81 (Power supply fault): khi có lỗi về nguồn nuôi thì CPU sẽ gọi OB81.

-

OB82 (Diagnostic interrupt): được gọi khi có phát hiện có sự cố từ các
Module vào/ra mở rộng. Các Module mở rộng này phải có khả năng tự kiểm tra.

-

OB85 (Not load fault): được gọi khi chương trình có sử dụng chế độ ngắt nhưng


-

chương trình ngắt lại không có trong OB tương ứng.

-

OB87 (Communication Fault): được gọi khi CPU thấy có lỗi truyền thô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.

-

OB121 (Synchronous error): được thực hiện khi CPU thấy lỗi logic trong chương
trình như sai kiểu dữ liệu hoặc lỗi truy cập các khối DB, FC, FB không có trong
CPU.

-

OB122 (Synchronous error): được thực hiện khi CPU phát hiện có, lỗi truy nhập
Module trong chương trình, ví dụ chương trình có lệnh truy nhập Module vào/ra
nhưng lại không tìm thấy Module này.

u
DH S
g
n
ruo


K
pham

M

P. HC
uat T

y th

©T
yen
u
q
an

B

TRANG - 11
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 2


CHƯƠNG 2 : TẬP LỆNH CỦA PLC S7-300
1.1 CẤU TRÚC LỆNH VÀ TRẠNG THÁI KẾT QUẢ:
Trong tài liệu ĐKLT 1 đã trình bày về các phương pháp lập trình cho PLC, gồm có
ngôn ngữ lập trình dạng STL, LAD và FBD. Phần này sẽ trình bày chủ yếu về cấu trúc
và kết quả của lệnh dạng STL.
Một lệnh STL của PLC S7-300 gồm có: “Tên lệnh” + “Toán hạng”.
Ví dụ:

A

I0.0

là lệnh nạp giá trị ngõ vào có địa chỉ I0.0

Trong đó:

A

là “Tên lệnh”

I0.0

là “Toán hạng”

Lưu ý: toán hạng có thể là dữ liệu hoặc là địa chỉ của một vùng nhớ nào đó.
-

Toán hạng là dữ liệu:
o


Dữ liệu logic

o

Số nhị phân

o

Số thập lục phân

o
o

-

u
DH S
g
n
Số nguyên kiểu INT (2© Tbyte)
ruo
n
e
y
qu
Số nguyên kiểu
Ban DINT (4 byte)

o


Số thực kiểu REAL

o

Dữ liệu về thời gian

o

Dữ liệu của bộ đếm, định thời

o

Dữ liệu kiểu ký tự

K
pham

M

P. HC
uat T

y th

Toán hạng là địa chỉ nhớ:
Địa chỉ trong bộ nhớ PLC S7-300 gồm 2 phần: phần chữ và phần số.
Ví dụ: địa chỉ ngõ vào I0.5
Trong đó:


-

o

Phần chữ: chỉ vị trí và kích thước của vùng nhớ.

o

Phần số: chỉ địa chỉ của vùng nhớ trong miền đã được xác định.

Thanh ghi trạng thái:
Khi thực hiện lệnh, CPU sẽ ghi lại trạng thái của phép tính trung gian cũng như
ghi lại kết quả vào 1 thanh ghi đặc biệt 16 bit, gọi là thanh ghi trạng thái.
Tuy nhiên chỉ có 9 bit thấp của thanh ghi này được sử dụng, có cấu trúc như sau:
8

7

6

5

4

3

2

1


0

BR

CC1

CC0

OV

OS

OR

STA

RLO

FC

TRANG - 12
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2


CHƯƠNG 2

Trong đó:
o

FC (Fisrt Check): khi thực hiện các lệnh logic liên tiếp nhau gồm các phép
tính ^ (VÀ), V (HOẶC), ĐẢO thì bit FC=1. Khi kết thúc các lệnh thì FC=0.
Ví dụ:

o

A

I0.0

// FC=1

AN

I1.0

//FC=1

=

Q0.0 //FC=0

RLO (Result of Logic Operation): thể hiện kết quả tức thời của phép tính
logic vừa thực hiện.
Ví dụ:

A

I0.0

Nếu trước khi thực hiện bit FC=0 thì có tác dụng chuyển nội dung ngõ vào
I0.0 vào bit trạng thái RLO.
Còn khi bit FC=1 thì có tác dụng thực hiện phép tính VÀCM
(RLO ^ I0.0), kết
.H
P
T
quả được ghi trở lại vào RLO.
uat

o

h
Ky t
m
a
STA (Status Bit): bit trạng thái, luôn

h giá trị logic của tiếp điểm được chỉ
Su p
H
D
trong lệnh.
ng
Truo
©

n
e đều gán cho bit STA giá trị của ngõ vào I0.3.
Ví dụ: cả hai lệnh
quysau
Ban

A

I0.3

AN

I0.3

o

OR: ghi lại giá trị của phép tính VÀ cuối cùng được thực hiện để thực hiện
phép tính HOẶC (V) sau đó.

o

OS (Overflow Store bit): ghi giá trị bit bị tràn.

o

OV (Overflow bit): bit báo kết quả phép tính bị tràn.

o

CCO và CC1 (Condition Code): hai bit báo trạng thái của kết quả phép tính

với số nguyên, số thực, dịch chuyển hoặc phép tính logic trong ACCU.

o

BR (Binary Result bit): bit trạng thái cho phép liên kết giữa hai ngôn ngữ
STL và LAD. Cho phép người lập trình viết một khối chương trình FB hoặc
FC bằng STL, nhưng có thể gọi và sử dụng chúng trong chương trình khác
viết bằng LAD. Để có mối liên kết này, cần phải kết thúc trong chương
trình trong FB, FC bằng lệnh ghi giá trị vào BR:
1 nếu chương trình không có lỗi,
0 nếu chương trình có lỗi.

Chú ý:
Một chương trình viết bằng STL có thể gồm nhiều network. Mỗi network chứa một
đoạn chương trình phục vụ một việc cụ thể. Ở đầu mỗi network , thanh ghi trạng thái

TRANG - 13
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 2

nhận giá trị 0, chỉ sau khi thực hiện lệnh đầu tiên của network các bit trạng thái mới
thay đổi theo phép tính.

1.2 NHÓM LỆNH LOGIC:
-

Lệnh gán:
o

STL:
Cú pháp = <toán hạng>
Toán hạng là địa chỉ bit I, Q, M, L, D, T, C.
Lệnh gán giá trị logic của RLO tới ô nhớ có địa chỉ được chỉ thị trong toán
hạng.
Lệnh tác động vào thanh ghi trạng thái như sau:

o

M
. HC
P
T
Ký hiệu: (-) Chỉ nội dung bit không bị thay đổi
theo
uat lệnh.
y th
K
hamtheo lệnh.
(x) Chỉ nội dung bit bị thay
u pđổi
S
H
D

uong
r
LAD:
T

quye
n
a
B

=

Khi giá trị logic của bit tại <address> bằng 1 thì RLO có giá trị 1.
Khi giá trị logic của bit tại <address> bằng 0 thì RLO có giá trị bằng 0.
-

Lệnh gán có điều kiện giá trị 1:
o

STL:
Cú pháp S <toán hạng>
Toán hạng là địa chỉ bit I, Q, L, M, D.
Nếu RLO=1 lệnh sẽ ghi giá trị 1 váo ô nhớ có địa chỉ trong toán hạng.
Lệnh tác động vào thanh ghi trạng thái như sau:

TRANG - 14
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM




ĐIỀU KHIỂN LẬP TRÌNH 2

o

CHƯƠNG 2

LAD:

Nếu RLO = 1 thì địa chỉ cụ thể được đặt ở mức 1 và duy trì ở trạng thái này
cho đến khi nó bị xóa về 0 bằng lệnh reset.
-

Lệnh gán có điều kiện giá trị 0:
o

STL:

K
pham

u
DH S
g
n
Cú pháp R <toán hạng>
uo
© Tr

n
e
y
Toán hạng là
n quchỉ bit I, Q, M, L, D.
Bađịa

M

P. HC
uat T

y th

Nếu RLO=0, lệnh sẽ ghi giá trị 0 vào ô nhớ có địa chỉ trong toán hạng.
Lệnh tác động vào thanh ghi trạng thái như sau:

o

LAD:

Nếu RLO = 1 thì địa chỉ cụ thể được đặt ở mức 0 và duy trì ở trạng thái này
cho đến khi nó đặt lên 1 bằng lệnh set.
-

Lệnh AND:
o

STL:


TRANG - 15
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 2

Cú pháp A <toán hạng>
Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C.
Nếu FC = 0 lệnh sẽ gán giá trị logic của toán hạng vào RLO.
Ngược lại khi FC = 1 lệnh sẽ thực hiện phép tính AND RLO với toán hạng
và ghi lại kết quả vào RLO.
Lệnh tác động vào thanh ghi trạng thái như sau:

o

LAD:

u
DH S
g
n
ruo

K

pham

M

P. HC
uat T

y th

©T
yen
u
q
an

B

Khi giá trị logic hai địa chỉ <address> bằng 1 thì RLO có giá trị 1.
Nếu có ít nhất 1 trong 2 ngõ vào xuống mức 0 thì RLO có giá trị bằng 0.
-

Lệnh AND NOT:
o

STL:
Cú pháp AN <toán hạng>
Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C.
Nếu FC = 0 lệnh sẽ gán giá trị logic nghịch đảo của toán hạng vào RLO.
Ngược lại khi FC =1 nó sẽ thực hiện phép tính AND RLO với giá trị nghịch
đảo của toán hạng và ghi lại kết quả vào RLO.

Lệnh tác động vào thanh ghi trạng thái như sau:

TRANG - 16
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

o

CHƯƠNG 2

LAD:

Với:

-

Lệnh OR:
o

STL:
Cú pháp O <toán hạng>
Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C.
HCM


TP. RLO. Nếu FC = 1 nó
Nếu FC = 0 lệnh sẽ gán giá trị logic của toán hạng
uatvào
h
t
y
thực hiện
am K
h

Su p

phép tính OR RLO với toánonhạng
g DH và ghi lại kết quả vào RLO.
u

© Tr

en
Lệnh tác độngnvào
ghi trạng thái như sau:
quythanh
Ba

o

LAD:

RLO có giá trị 1 khi có ít nhất một trong hai tín hiệu tại hai địa chỉ
<address> ở mức 1.

RLO có giá trị 0 khi cả hai tín hiệu ngõ vào đều xuống mức 0.

TRANG - 17
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

-

CHƯƠNG 2

Lệnh OR NOT:
o

STL:
Cú pháp ON <toán hạng>
Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C.
Nếu FC=0 lệnh sẽ gán giá trị logic nghịch đảo của toán hạng vào RLO. Nếu
FC=1 nó thực hiện phép tính OR RLO với giá trị nghịch đảo của toán hạng
và ghi lại kết quả vào RLO.
Lệnh tác động vào thanh ghi trạng thái như sau:

o

LAD:


u
DH S
g
n
ruo

K
pham

M

P. HC
uat T

y th

©T
yen
u
q
an

Với:
B

-

Lệnh AND biểu thức:
o


STL:
Cú pháp A(
)
Lệnh không có toán hạng.
Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó
vào RLO.
Nếu FC = 1 nó sẽ thực hiện phép tính AND giữa RLO với giá trị logic của
biểu thức trong dấu ngoặc sau nó và ghi lại kết quả vào RLO .
Lệnh tác động vào thanh ghi trạng thái như sau:

TRANG - 18
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 2

Ví dụ:
Thực hiện Q4.0 = (I0.2 v I0.3) ^ (I0.4 v I0.5).
A(
O I0.2
O I0.3
)
A(

O I0.4
O I0.5
)
= Q4.0
o

LAD:
u
DH S
g
n
ruo

K
pham

M

P. HC
uat T

y th

©T
yen
u
q
an

B


-

Lệnh OR biểu thức:
o

STL:
Cú pháp O(
)
Lệnh không có toán hạng.
Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó
vào RLO.
Nếu FC = 1 nó sẽ thực hiện phép tính OR giữa RLO với giá trị của biểu
thức trong dấu ngoặc sau nó và ghi lại kết quả vào RLO.
Lệnh tác động vào thanh ghi trạng thái như sau:

TRANG - 19
Thu vien DH SPKT TP. HCM -


Truong DH SPKT TP. HCM



ĐIỀU KHIỂN LẬP TRÌNH 2

CHƯƠNG 2

Ví dụ:
Thực hiện Q4.0 = I0.2 v (I0.4 v I0.5)

A I0.2
O(
AN I0.4
A I0.5
)
= Q4.0
o

LAD:

Su

K
pham

y th

DH
1.3 NHÓM LỆNH TIẾP ĐIỂM ĐẶC
ong BIỆT:

-

u

© Tr

n RLO:
Lệnh ghi giá trị logicqu1yevào


o

STL:

Ban

Cú pháp SET
Lệnh không có toán hạng và có tác dụng ghi 1 vào RLO.
Lệnh tác động vào thanh ghi trạng thái như sau:

o
-

LAD: lệnh không thực hiện.

Lệnh ghi giá trị logic 0 vào RLO:
o

STL:
Cú pháp CLR
Lệnh không có toán hạng và có tác dụng ghi 1 vào RLO.
Lệnh tác động vào thanh ghi trạng thái như sau:

o

M

P. HC
uat T


LAD: lệnh không thực hiện.

TRANG - 20
Thu vien DH SPKT TP. HCM -


×