S7 200 optimize

57
Công ty TNHH TM&DVKT TỐI ƯU - Optimize 50 Ngô Thì Nhm – Q. Liên Chiu - TP. Đà Nng Tel: 05113.735766; Fax: 05113.739967; Email: [email protected] ; website: http://optimize.com.vn http://www.optimize.com.vn Optimizing your system optimizing your money CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200 ............................................................................................. 3 I. GIỚI THIỆU CHUNG VỀ PLC S7-200: ........................................................................................... 3 II. CẤU TRÚC PHẦN CỨNG CỦA S7-200: ........................................................................................ 4 1. Hình dáng và cấu trúc bên ngoài: .................................................................................................. 4 1.1. Các đầu vào/ra số: ................................................................................................................... 4 1.2. Đèn trạng thái: ......................................................................................................................... 5 1.3. Port truyền thông: .................................................................................................................... 5 1.4. Công tắc chuyển chế độ: .......................................................................................................... 5 1.5. Vít chỉnh tương tự: ................................................................................................................... 5 2. Cấu trúc phần cứng:....................................................................................................................... 6 2.1. Đơn vị xử lý trung tâm (CPU Central Processing Unit): ........................................................ 6 2.2. Bộ nhớ: ..................................................................................................................................... 6 2.3. Khối vào/ra: ............................................................................................................................. 7 2.4. Bộ nguồn: ................................................................................................................................. 7 2.5. Khối quản lý ghép nối: ............................................................................................................. 7 III. CẤU TRÚC BỘ NHỚ:.................................................................................................................... 7 1. Phân chia bộ nhớ: .......................................................................................................................... 7 2. Vùng nhớ chương trình: ................................................................................................................ 8 3. Vùng nhớ dữ liệu: .......................................................................................................................... 8 3.1. Truy cập trực tiếp: ................................................................................................................... 8 3.2. Truy cập gián tiếp: ................................................................................................................... 9 4. Vùng đối tượng:............................................................................................................................. 9 IV. MỞ RỘNG CỔNG VÀO RA: ...................................................................................................... 10 V. THỰC HIỆN CHƯƠNG TRÌNH: ................................................................................................... 11 VI. CẤU TRÚC CHƯƠNG TRÌNH: .................................................................................................. 11 VII. KIỂU DỮ LIỆU: ........................................................................................................................... 12 VIII. THIẾT BỊ LẬP TRÌNH: ............................................................................................................ 12 1. Giao din làm việc: ...................................................................................................................... 12 2. Các khối sử dụng trong giao diện lập trình: ................................................................................ 14 2.1. Khối Programe Block: ........................................................................................................... 14 2.2. Khối Data Block: ................................................................................................................... 15 2.3. Khối System Block: ................................................................................................................ 15 2.4. Khối Symbol Table:................................................................................................................ 16 2.5. Khối Status Chart: ................................................................................................................. 17 2.6. Khối Cross Reference: ........................................................................................................... 17

Transcript of S7 200 optimize

Page 1: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200 ............................................................................................. 3

I. GIỚI THIỆU CHUNG VỀ PLC S7-200:........................................................................................... 3

II. CẤU TRÚC PHẦN CỨNG CỦA S7-200: ........................................................................................ 4

1. Hình dáng và cấu trúc bên ngoài: .................................................................................................. 4

1.1. Các đầu vào/ra số: ................................................................................................................... 4

1.2. Đèn trạng thái:......................................................................................................................... 5

1.3. Port truyền thông: .................................................................................................................... 5

1.4. Công tắc chuyển chế độ: .......................................................................................................... 5

1.5. Vít chỉnh tương tự: ................................................................................................................... 5

2. Cấu trúc phần cứng:....................................................................................................................... 6

2.1. Đơn vị xử lý trung tâm (CPU Central Processing Unit): ........................................................ 6

2.2. Bộ nhớ:..................................................................................................................................... 6

2.3. Khối vào/ra: ............................................................................................................................. 7

2.4. Bộ nguồn: ................................................................................................................................. 7

2.5. Khối quản lý ghép nối:............................................................................................................. 7

III. CẤU TRÚC BỘ NHỚ:.................................................................................................................... 7

1. Phân chia bộ nhớ: .......................................................................................................................... 7

2. Vùng nhớ chương trình: ................................................................................................................ 8

3. Vùng nhớ dữ liệu: .......................................................................................................................... 8

3.1. Truy cập trực tiếp: ................................................................................................................... 8

3.2. Truy cập gián tiếp: ................................................................................................................... 9

4. Vùng đối tượng:............................................................................................................................. 9

IV. MỞ RỘNG CỔNG VÀO RA: ...................................................................................................... 10

V. THỰC HIỆN CHƯƠNG TRÌNH: ................................................................................................... 11

VI. CẤU TRÚC CHƯƠNG TRÌNH: .................................................................................................. 11

VII. KIỂU DỮ LIỆU: ........................................................................................................................... 12

VIII. THIẾT BỊ LẬP TRÌNH:............................................................................................................ 12

1. Giao diện làm việc:...................................................................................................................... 12

2. Các khối sử dụng trong giao diện lập trình: ................................................................................ 14

2.1. Khối Programe Block: ........................................................................................................... 14

2.2. Khối Data Block: ................................................................................................................... 15

2.3. Khối System Block: ................................................................................................................ 15

2.4. Khối Symbol Table:................................................................................................................ 16

2.5. Khối Status Chart: ................................................................................................................. 17

2.6. Khối Cross Reference: ........................................................................................................... 17

Page 2: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2.7. Khối Communication: ............................................................................................................ 18

CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH.................................................................................................... 21

I. PHƯƠNG PHÁP LẬP TRÌNH:....................................................................................................... 21

1. LAD:............................................................................................................................................ 21

2. STL:............................................................................................................................................. 21

3. FBD: ............................................................................................................................................ 22

II. TẬP LỆNH S7-200:......................................................................................................................... 22

1. Các lệnh làm việc với bit logic:................................................................................................... 23

2. Nhóm lệnh so sánh: ..................................................................................................................... 25

3. Tập bộ tạo thời gian:.................................................................................................................... 25

4. Tập bộ đếm: ................................................................................................................................. 27

5. Tập lệnh toán học: ....................................................................................................................... 28

6. Các lệnh dịch chuyển dữ liệu: ..................................................................................................... 30

7. Tập lệnh làm việc với bảng dữ liệu: ............................................................................................ 31

8. Tập lệnh phép toán biến đổi logic: .............................................................................................. 33

9. Tập lệnh biến đổi kiểu dữ liệu:.................................................................................................... 34

10. Tập lệnh làm việc với thời gian thực:.......................................................................................... 36

11. Tập lệnh điều khiển chương trình: .............................................................................................. 39

12. Lệnh quay/dịch thanh ghi: ........................................................................................................... 40

13. Tập lệnh xử lý ngắt:..................................................................................................................... 42

CHƯƠNG 3: CÁC ỨNG DỤNG CHUYÊN DÙNG TRÊN PLC............................................................... 46

I. XỬ LÝ TÍN HIỆU ANALOG: ........................................................................................................ 46

1. Đọc tín hiệu analog:..................................................................................................................... 46

1.1. Sơ đồ đấu dây: ....................................................................................................................... 47

1.2. Bảng cấu hình chọn dải tín hiệu đầu vào: ............................................................................. 48

1.3. Định dạng dữ liệu đầu vào: ................................................................................................... 49

1.4. Căn chỉnh tín hiệu đầu vào: ................................................................................................... 49

2. Xuất tín hiệu analog: ................................................................................................................... 50

2.1. Sơ đồ đấu dây: ....................................................................................................................... 50

2.2. Định dạng dữ liệu đầu ra:...................................................................................................... 51

2.3. Xuất tín hiệu đầu ra: .............................................................................................................. 51

II. ĐỌC XUNG TỐC ĐỘ CAO: .......................................................................................................... 52

1. Khai báo sử dụng bộ đếm HSC: .................................................................................................. 53

2. Các chế độ hoạt động của bộ đếm HSC: ..................................................................................... 54

3. Các vùng nhớ dữ liệu dùng cho bộ đếm tốc độ cao: ................................................................... 55

4. Ví dụ về cách khai báo sử dụng bộ đếm HSC:............................................................................ 57

Page 3: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200

I. GIỚI THIỆU CHUNG VỀ PLC S7-200:PLC, viết tắt của programable logic controler là thiết bị điều khiển logic lập trình được, hay thiết

bị logic khả trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình. Như vậy với chương trình điều khiển trong PLC trở thành bộ điều khiển số nhỏ gọn có thể dễ dàng thay đổi thuật toán điều khiển và trao đổi thông tin với môi trường bên ngoài ( PLC khác hoặc máy tính ).

S7-200 là thiết bị điều khiển logic khả trình của hãng Siemens ( CHLB Đức ), có cấu trúc kiểu module và có các module mở rộng. Các module này được sử dụng với những mục đích khác nhau.

Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ nhớ không đủ ta có thể sử dụng bộ nhớ ngoài để lưu chương trình và dữ liệu (Catridge ).

Dòng PLC S7-200 có hai họ là 21X ( loại cũ ) và 22X ( loại mới ), trong đó họ 21X không còn sản xuất nữa. Họ 21X có các đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có các đời sau: 221, 222, 224,224XP, 226, 226XM

* Thông số và các đặc điểm kỹ thuật của series 22X :

* Giới thiệu về module mở rộng:- Module đầu vào số: EM221, có nhiều loại bao gồm 8/16 đầu vào và điện áp 24VDC/120-

230VAC- Module đầu ra số: EM222 bao gồm 4/8 đầu ra 24VDC/RELAY/230VAC.

Page 4: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

- Module vào/ra số: EM223 bao gồm 4/8/16 đầu vào 24VDC và 4/8/16 đầu ra 24VDC/RELAY/230VAC.

- Module đầu vào tương tự: EM231 từ 2/4 đầu vào với các loại tín hiệu 0-10V,4-20mA…- Module đầu ra tương tự: EM232 có 2 đầu ra .- Module vào ra tương tự: EM235 gồm 4 đầu vào và 1 đầu ra.- Ngoài ra còn có các loại module thích hợp cho những ứng dụng khác như module điều khiển vị

trí, module truyền thông.

Bảng giới thiệu các loại module mở rộng:

II. CẤU TRÚC PHẦN CỨNG CỦA S7-200:

1. Hình dáng và cấu trúc bên ngoài:

1.1. Các đầu vào/ra số:- Đầu vào (Ix.x ): kết nối với nút bấm, công tắc, sensor…với điện áp vào tiêu chuẩn 24VDC.- Đầu ra (Qx.x): kết nối với thiết bị điều khiển với các điện áp 24VDC/220VAC ( tùy theo loại

CPU ).- Đầu vào nguồn: 24VDC/220VAC ( tùy theo loại CPU ).

Page 5: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

1.2. Đèn trạng thái:- Đèn RUN (màu xanh): Chỉ báo PLC đang ở chế độ làm việc và thực hiện chương trình đã được

nạp vào bộ nhớ chương trình.- Đèn STOP (màu vàng): Chỉ báo PLC đang ở chế độ dừng và không thực hiện chương trình,

các đầu ra đều ở trạng thái “OFF”.- Đèn SF/DIAG: Chỉ báo hệ thống bị hỏng tức do lỗi phần cứng hoặc hệ điều hành.- Đèn Ix.x(màu xanh): Chỉ báo trạng thái của đầu vào số(ON/OFF).- Đèn Qx.x(màu xanh): Chỉ báo trạng thái của đầu ra số(ON/OFF).

1.3. Port truyền thông:- Port truyền thông nối tiếp RS485: Giao tiếp với PC, PG, TD200, OP, mạng biến tần…- Port cho module mở rộng: Kết nối với module mở rộng.

1.4. Công tắc chuyển chế độ:- RUN: Cho phép PLC thực hiện chương trình, khi chương trình lỗi hoặc gặp lệnh STOP thì

PLC tự động chuyển sang chế độ STOP mặc dù công tắc vẫn ở vị trí RUN ( quan sát đèn trạng thái ).

- STOP: Dừng cưỡng bức chương trình đang chạy, các đầu ra chuyển về OFF.- TERM: Cho phép người dùng chọn một trong hai chế độ RUN/STOP từ xa, ngoài ra còn được

dùng để download chương trình người dùng.

1.5. Vít chỉnh tương tự:

Mỗi PLC đều có từ một đến hai vít chỉnh tương tự có thể xoay được 270 độ để thay đổi giá trị của vùng nhớ biến trong chương trình.

Page 6: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2. Cấu trúc phần cứng:

Cấu trúc phần cứng của một PLC gồm có các module sau:- Module nguồn.- Module đầu vào.- Module đầu ra.- Module đơn vị xử lý trung tâm (CPU).- Module bộ nhớ.- Module quản lý phối ghép vào ra.

Mô hình tổng quát của một PLC

2.1. Đơn vị xử lý trung tâm (CPU Central Processing Unit):CPU dùng để xử lý, thực hiện những chức năng điều khiển phức tạp quan trọng của PLC. Mỗi

PLC thường có từ một đến hai đơn vị xử lý trung tâm.CPU thường được chia làm hai loại: đơn vị xử lý “một bit” và đơn vị xử lý “từ ngữ”:- Đơn vị xử lý “một bit”: Chỉ áp dụng cho những ứng dụng nhỏ, đơn giản, chỉ đơn thuần xử lý

ON/OFF nên kết cấu đơn giản, thời gian xử lý dài.- Đơn vị xử lý “từ ngữ”: Có khả năng xử lý nhanh các thông tin số, văn bản, phép toán, đo

lường, đánh giá, kiểm tra nên cấu trúc phần cứng phức tạp hơn nhiều tuy nhiên thời gian xử lý được cải thiện nhanh hơn.

2.2. Bộ nhớ: Bao gồm các loại bộ nhớ RAM, ROM, EEFROM, là nơi lưu trữ các thông tin cần xử lý trong

chương trình của PLC.Bộ nhớ được thiết kế thành dạng module để cho phép dễ dàng thích nghi với các chức năng điều

khiển với các kích cỡ khác nhau. Muốn mở rộng bộ nhớ chỉ cần cắm thẻ nhớ vào rãnh cắm chờ sẵn trên module CPU.

Bộ nhớ có một tụ dùng để duy trì dữ liệu chương trình khi mất điện.

ĐƠN VỊ XỬ LÝ TRUNG

TÂM

QUẢN LÝ GHÉP NỐI

KHỐI NGÕ VÀO

KHỐI NGÕ RA

BỘ NHỚ

BỘ NGUỒN

Page 7: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2.3. Khối vào/ra:Khối vào ra dùng để giao tiếp giữa mạch vi điện tử của PLC (điện áp 5/15VDC) với mạch công

suất bên ngoài (điện áp 24VDC/220VAC).Khối ngõ vào thực hiện việc chuyển mức điện áp từ cao xuống mức tín hiệu tiêu chuẩn để đưa vào

bộ xử lý.Khối ngõ ra thực hiện việc chuyển mức tín hiệu từ tiêu chuẩn sang tín hiệu ngõ ra và cách ly

quang.

2.4. Bộ nguồn:Biến đổi từ nguồn cấp bên ngoài vào để cung cấp cho sự hoạt động của PLC.

2.5. Khối quản lý ghép nối:Dùng để phối ghép giữa PLC với các thiết bị bên ngoài như máy tính, thiết bị lập trình, bảng vận

hành, mạng truyền thông công nghiệp.

III. CẤU TRÚC BỘ NHỚ:

1. Phân chia bộ nhớ:

Bộ nhớ của PLC S7-200 được chia thành bốn vùng cơ bản và hầu hết có thể đọc ghi được chỉ trừ vùng nhớ đặc biệt (SM) chỉ có thể truy cập để đọc.

EEFROM Miền nhớ ngoài

Cấu trúc bộ nhớ của PLC.

- Vùng nhớ chương trình: Là miền nhớ được dùng để lưu trữ các lệnh được dùng trong chương trình.Vùng này thuộc kiểu non-volatile có thể đọc và ghi được.

- Vùng nhớ tham số: Dùng để lưu giữ các tham số như từ khóa, địa chỉ trạm… Vùng này thuộc kiểu non-volatile có thể đọc và ghi được.

CHƯƠNG TRÌNH

THAM SỐ

DỮ LIỆU

VÙNG ĐỐI TƯỢNG

CHƯƠNG TRÌNH

THAM SỐ

DỮ LIỆU DỮ LIỆU

CHƯƠNG TRÌNH

THAM SỐ

Page 8: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

- Vùng dữ liệu: Dùng để cất giữ các dữ liệu của chương trình bao gồm kết quả các phép tính, các hằng số được định nghĩa trong chương trình, bộ đệm truyền thông…

- Vùng đối tượng: Bao gồm các bộ đếm, bộ định thì, các cổng vào ra tương tự. Vùng này không thuộc kiểu non-volatile nhưng có thể đọc và ghi được.

Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương trình.

2. Vùng nhớ chương trình:

Vùng nhớ chương trình gồm ba khối chính: OB1, SUBROUTIN và INTERRUPT.- OB1: Chứa chương trình chính, các lệnh trong khối này luôn được quét trong mỗi vòng quét.- SUBROUTIN: Chứa chương trình con, được tổ chức thành hàm và có biến hình thức để trao

đổi dữ liệu, chương trình con sẽ được thực hiện khi có lệnh gọi từ chương trình chính.- INTERRUPT: Miền chứa chương trình ngắt, được tổ chức thành hàm và có khả năng trao đổi

dữ liệu với bất kỳ một khối chương trình nào khác. Chương trình này sẽ được thực hiện khi có sự kiện ngắt xảy ra.

3. Vùng nhớ dữ liệu:

Vùng dữ liệu là một vùng nhớ động. Nó có thể được truy cập theo từng bit, từng byte, từng từ đơn(word) hay từ kép (double word) và được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng, các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ…

Vùng dữ liệu được chia thành những vùng nhớ nhỏ để phục vụ cho những mục đích và công dụng khác nhau, bao gồm các vùng sau:

- V (Variable memory): Vùng nhớ biến.- I (Input image register): Vùng đệm đầu vào.- Q (Output image register): Vùng đệm đầu ra.- M (Internal memory bits): Vùng nhớ các bit nội.- SM (Special memory): Vùng nhớ đặc biệt.Cách thức truy cập địa chỉ của vùng nhớ dữ liệu:

3.1. Truy cập trực tiếp:

- Truy cập theo bit: Tên miền nhớ + địa chỉ byte + • + chỉ số bit.Ví dụ:V10.4 chỉ bit 4 của byte 10 thuộc miền nhớ V.

- Truy cập theo byte: Tên miền nhớ + B + địa chỉ byte. Ví dụ VB15 chỉ byte 15 trong miền nhớ V.

- Truy cập theo từ: Tên miền nhớ + W + địa chỉ byte cao của từ. Ví dụ VW183 chỉ từ đơn gồm hai byte là VB183 và VB184 trong đó VB183 là byte cao trong từ

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 VB183(byte cao) VB184(byte thấp)

VW183- Truy cập theo từ kép: Tên miền + D + địa chỉ byte cao trong miền.Ví dụ VD345 chỉ từ kép

gồm 4 byte 345, 346, 347, 348 trong miền nhớ V trong đó 345 là byte cao trong từ kép.31 24 23 16 15 8 7 0VB183(byte cao) VB184 VB185 VB186(byte thấp)

VD183

Page 9: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

3.2. Truy cập gián tiếp:

Truy cập địa chỉ gián tiếp thông qua con trỏ (pointer). Con trỏ là một miền nhớ từ kép chứa địa chỉ của vùng nhớ khác. Các vùng nhớ V, L và thanh ghi chỉ mục ( AC1,AC2,AC3 ) có thể được sử dụng như là con trỏ. Để sử dụng con trỏ phải sử dụng lệnh MOVE_D để chuyển địa chỉ của vùng nhớ được định địa chỉ gián tiếp vào vùng con trỏ. Con trỏ cũng có thể được chuyển tới chương trình con như là một tham số.

S7-200 cho phép con trỏ truy cập các vùng nhớ V,M,I,Q,S,T,C theo giá trị hiện hành và không cho phép truy cập theo từng bit và các vùng nhớ AI,AQ,HC,SM,L.

Để truy cập gián tiếp dữ liệu địa chỉ của một vùng nhớ, phải tạo một con trỏ cho vùng đó bằng cách sử dụng ký tự & cùng với vùng nhớ có địa chỉ cần lấy. Toán hạng đầu vào của lệnh phải bắt đầu với ký tự & để chỉ rằng địa chỉ vùng nhớ, thay cho nội dung của nó được chuyển vào vùng định nghĩa toán hạng đầu ra của lệnh. Quy ước sử dụng con trỏ để truy nhập như sau:

- & địa chỉ byte (cao): Toán hạng lấy địa chỉ của byte, từ hoặc từ kép.VD: MOVD &VW100,AC1: Tạo con trỏ bằng cách đưa địa chỉ byte cao VB100 vào trong

thanh ghi AC1, thanh ghi AC1 sẽ chứa địa chỉ của VW100 - * con trỏ: Toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ chỉ vào.Theo ví dụ trên, khi đã tạo con trỏ ta có thể lấy nội dung của AC1 và chuyển vào VW300 bằng

cách dùng toán hạng lấy nội dung trỏ vào thanh ghi AC1VD: MOVW &AC1,VW300: Nội dung của AC1 được chuyển vào VW300.

4. Vùng đối tượng:

Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời, giá trị đặt trước của bộ đếm, hay timer. Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer,Counter, HSC, bộ đệm vào ra tương tự và các thanh ghi chỉ mục.

Page 10: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Đặc điểm và giới hạn vùng nhớ của PLC S7-22X

IV. MỞ RỘNG CỔNG VÀO RA:Các PLC họ S7-200 đều có thể mở rộng thêm các đầu vào/ra và các chức năng nâng cao khác bằng

cách ghép nối thêm các module mở rộng về phía bên phải của PLC tạo thành một móc xích các module.Địa chỉ của các vị trí các module được xác định bằng kiểu vào ra và vị trí của các module trong móc xích,bao gồm các module có cùng kiểu.

Các module mở rộng số hay tương tự đều chiếm chỗ trong bộ đệm tương ứng với số đầu vào ra của module.

Ví dụ cách đặt địa chỉ module mở rộng của CPU224:

Page 11: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

V. THỰC HIỆN CHƯƠNG TRÌNH:PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp gọi là một vòng quét. Mỗi vòng quét

được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng bộ đệm ảo, 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 bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc. Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra 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.

Như vậy tại thời điểm thực hiện lệnh vào ra, thông thường lệnh không làm việc trực tiếp với cổng vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 4 do CPU quản lý. Khi gặp lệnh vào ra ngay lập tức thì 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 một cách trực tiếp với cổng vào/ra.

Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với các chế độ 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 ngắt chỉ được thực hiện khi có sự kiện báo ngắt và có thể xảy ra bất kỳ lúc nào trong một vòng quét.

VI. CẤU TRÚC CHƯƠNG TRÌNH:Chương trình của PLC S7-200 được lưu trong bộ nhớ chương trình và có thể được lập dưới hai

dạng cấu trúc khác nhau:- Chương trình tuyến tính: Toàn bộ chương trình nằm trong khối chương trình chính (OB1), các

lệnh trong chương trình luôn được quét từ đầu đến cuối chương trình và quay lại từ đầu trong quá trình PLC hoạt động. Chương trình này chỉ thường áp dụng với các ứng dụng không phức tạp lắm.

- Chương trình có cấu trúc: Chương trình được chia thành những phần nhỏ và mỗi phần thực hiện một nhiệm vụ riêng biệt, từng phần nằm trong những khối riêng biệt (OB1,SUBROUTIN, INTERRUPT). Loại chương trình này thường áp dụng với những yêu cầu phức tạp và nhiều khâu. Khi lập trình chương trình có cấu trúc thường sử dụng ngoài chương trình chính còn có chương trình con và chương ngắt. Chương trình con được viết trong khối chương trình con và được gọi trong chương trình chính khi có lệnh gọi. Chương trình ngắt được viết trong khối chương trình ngắt và thực hiện mỗi khi có sự kiện ngắt xảy ra bất kể trong thời điểm nào của vòng quét. Cả hai loại chương trình này đều có khả năng trao đổi dữ liệu với các chương trình khác.

Page 12: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

VII. KIỂU DỮ LIỆU:Trong PLC S7-200 có các kiểu dữ liệu được cho trong bảng sau:

Kiểu dữ liệu Kích thước Nội dung Dải giá trịBOOL 1 bit Boolean 0;1BYTE 8 bits Số nguyên không dấu 0 ÷ 255BYTE 8 bits Số nguyên có dấu

(chỉ áp dụng cho lệnh SHRB)-128 ÷ 127

WORD 16 bits Số nguyên không dấu 0 ÷ 65535INT 16 bits Số nguyên có dấu -32678 ÷32676DWORD 32 bits Số nguyên không dấu 0 ÷ 4294967295DINT 32 bits Số nguyên có dấu -2147383648÷2147383648REAL 32 bits Số thực có dấu theo IEEE -2147383648÷2147383648STRING 0–255 bytes Kiểu dữ liệu chuỗi ASCII Mã ASCII từ 128 ÷ 255

VIII.THIẾT BỊ LẬP TRÌNH:Có hai loại thiết bị có thể dùng để lập trình cho PLC S7- 200 là PG và PC- PG: Là thiết bị lập trình chuyên dụng được dùng cho PLC S7-200 tuy nhiên chỉ sử dụng để lập

trình với ngôn ngữ STL- PC: Là máy tính cá nhân trên đó có cài phần mềm STEP7-MICROWIN. Phần mềm này cho

phép lập trình với cả ba ngôn ngữ là STL, LAD và FBD. Để cài phần mềm này người phải có bản quyền và PC phải cài hệ điều hành WIN98/2000/NT/XP.Hiện nay hầu hết sử dụng STEP7-MICROWIN 3.0, 3.2, 4.0 để lập trình cho S7 để có thể sử dụng được những ứng dụng nâng cao.

1. Giao diện làm việc:Sau khi đã cài đặt phần mềm STEP7-MICROWIN và vào chương trình làm việc, giao diện làm

việc sẽ được thể hiện như sau:

Page 13: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Navigation Bar-InstructionTree-Cross Reference-Data Block-Status Chart-Symbol Table

Output Window-Status Bar Program Editor Local Variable Table

- Navigation Bar: Thể hiện các khối và các lệnh làm việc được tạo sẵn trong phần mềm. Để sử dụng các khối này ta chỉ cần kích vào nút biểu tượng tương ứng với khối cần dùng.

- Instruction Tree: Thể hiện tất cả các khối và lệnh sử dụng trong chương trình dưới dạng cây thư mục. Muốn làm việc với lệnh nào chỉ việc Click đúp chuột vào vị trí đó để chọn thiết bị làm việc.

- Các khối Cross Reference, Data Block, Status Chart, Symbol Table sẽ được trình bày chi tiết ở phần sau.

- Program Editor: Đây là vùng chính để thực hiện chương trình bằng cách đưa các lệnh vào trong vùng và sắp xếp chúng theo cách thức của người dùng để tạo ra một chương trình.

- Menu bar và Toolbar: Là các thanh công cụ giúp thực hiện nhanh các lệnh và chức năng sử dụng trong chương trình.

Page 14: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2. Các khối sử dụng trong giao diện lập trình:

2.1. Khối Programe Block:

Gồm ba khối chính:

1. Khối OB1: Là khối chứa chương trình chính, luôn được quét trong mỗi vòng vòng quét. Đây là khối chính trong việc thiết kế chương trình và bắt buộc phải có.

2. Khối SUBROUTIN: Là khối chứa chương trình con. Chương trình chứa trong khối này sẽ được thực hiện mỗi khi có lệnh gọi thực hiện từ chương trình chính.

3. Khối INTERRUPT: Là khối chứa chương trình ngắt. Khối này sẽ được thực hiện mỗi khi có sự kiện ngắt xảy ra.

Cách tạo chương trình con hay chương trình ngắtCó thể tạo nhiều chương trình con hay chương trình ngắt tuy nhiên không thể tạo nhiều chương

trình chính do chương trình chính chỉ có một. Có thể xóa hay đổi tên chương trình con hay chương trình ngắt bằng cách click chuột phải vào biểu tượng chương trình và chọn “Delete” hay “Rename”

Page 15: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2.2. Khối Data Block:

Đây là khối chứa dữ liệu của một chương trình. Ta có thể định dạng dữ liệu trước trong khối này và sử dụng chúng trong chương trình. Khi tải chương trình vào PLC thì toàn bộ nội dung của khối sẽ được lưu vào bộ nhớ của PLC. Khối chỉ làm việc với dữ liệu của vùng nhớ V.

Để tạo dữ liệu trong khối này ta có click vào biểu tượng trên màn hình hoặc trên cây thư mục chọn khối và click vào biểu tượng “USER”, khi đó màn hình chương trình sẽ chuyển sang làm việc với khối.Cách tạo dữ liệu được thể hiện bên dưới.

Ví dụ về cách tạo một Data Block :

2.3. Khối System Block:

Đây là khối định dạng các chức năng làm việc của hệ thống. Khối này gồm có 10 khối chính:1. Communication Ports: Định dạng cho cổng giao tiếp của PLC.Địa chỉ mặc định của PLC là 2, có thể thay đổi địa chỉ này.Tốc độ truyền mặc định là 9600kbps.2. Retentive Ranges: Khối này cho phép chọn 5 vùng nhớ có thể lưu dữ liệu khi PLC bị mất điện,

nếu vùng nào được chọn thì dữ liệu vùng đó được giữ, ngược lại sẽ bị reset về 0.3. Password: S7-200 có 3 mức chọn mật mã,thông thường chọn mức cao nhất để bảo mật bản

quyền, số ký tự tối đa là 8. Trường hợp PLC đã có password thì người không có password không thể upload từ PLC về máy tính nhưng có thể DownLoad chương trình vào PLC bằng các chọn “clear PLC”,khi đó toàn bộ dữ liệu sẽ bị xóa.

4. Output table:Khối này cho phép chọn trạng thái ngõ ra của PLC là ON hay OFF khi PLC chuyển trạng thái từ

RUN sang STOP. Chế độ mặc định của phần mềm là OFF. 5. Input Filter:Cho phép chọn thời gian lọc tín hiệu ngõ vào của PLC. Thời gian lọc tín hiệu ngõ vào là thời gian

mà ngõ vào không đổi trạng thái thì PLC mới cho phép nhận trạng thái đó. Nếu sự thay đổi trạng thái diễn

Page 16: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

ra trong thời gian ngắn hơn thời gian lọc thì PLC sẽ không nhận tín hiệu đó và coi như trạng thái của ngõ vào là không thay đổi.

Thời gian lọc mặc định của đầu vào là 6.4ms6. Pulse Catch Bits:PLC cho phép chọn ngõ vào có thể bắt những tín hiệu nhanh khi chu kỳ quét chưa kịp quét, tín

hiệu đó sẽ được giữ cho đến khi chu kỳ quét được thực hiện. 7. Background Time: Background time còn gọi là thời gian nền, được chuyên dùng cho việc xử lý các yêu cầu truyền thông trong chế độ chạy ở trạng thái biên dịch hoặc đáp ứng. Background time được cho dưới dạng phần trăm và tác động đến thời gian quét. Khi tỷ lệ chọn càng tăng thì thời gian quét càng chậm. Tỷ lệ hợp lý được chọn là 10%. 8. EM Configuration: Khối này cho phép người sử dụng xem được cấu hình vị trí của module được sử dụng. Địa chỉ này được lưu trong vùng nhớ V.

9. Configure LED:Khối này cho phép người dùng đặt cấu hình cho đèn SF/DIAG. Có hai chế độ có thể được sử dụng

để thông báo. 10. Increase Memory: Khối cho phép người dùng tăng hoặc không tăng bộ nhớ trong chế độ chạy của PLC bằng cách đánh dấu vào vị trí “Disable Edit in Run to increas memory”.

2.4. Khối Symbol Table:

Khối này cho phép người dùng đặt biểu tượng và chú thích các địa chỉ sử dụng trong chương trình. Khi ta đặt biểu tượng ( symbol ) và chú thích ( comment ) thì trong chương trình sẽ thể hiện các biểu tượng này thay cho địa chỉ. Công việc này sẽ giúp cho người dùng dễ dàng giám sát các địa chỉ được sử dụng trong chương trình.

Ví dụ về cách lập một Symbol table

Page 17: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2.5. Khối Status Chart:

Khối này giúp người dùng có thể giám sát và hiệu chỉnh các dữ liệu trong chương trình bằng cách đưa các dữ liệu cần giám sát vào trong khối. Quá trình quan sát dữ liệu chỉ được thực hiện khi PLC đang ở chế độ RUN. Người dùng có thể giám sát dữ liệu bằng hai cách: Dùng Chart Status hoặc Trend View trên thanh công cụ. Chart Status thể hiện giá trị dữ liệu ở dạng bảng và Trend View thể hiện dữ liệu dưới dạng biểu đồ theo thời gian. Có thể quan sát dữ liệu thông qua các công cụ là Chart Status hoặc Single read tuy trong đó chức năng Chart Status có thể cập nhật giá trị của dữ liệu khi PLC chuyển sang chế độ STOP còn chức năng Single Read thì không. Ta có thể thay đổi và cập nhật giá trị của dữ liệu thông qua các chức năng Write và Force trên thanh công cụ.

Ví dụ về hoạt động của một bảng dữ liệu trong chương trình:

2.6. Khối Cross Reference:

Khối Cross Reference được thể hiện dưới dạng bảng giúp người dùng có thể giám sát được vị trí và loại của dữ liệu dùng trong chương trình. Bảng chỉ được thể hiện khi chương trình được Download xuống PLC và quan sát ở chế độ online.

Page 18: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Ví dụ về một Cross Reference

2.7. Khối Communication:

Khối này giúp người dùng kết nối với thiết bị lập trình bằng cách định dạng cho cổng giao tiếp.Các bước thực hiện như sau: 1. Click chuột vào biểu tượng của khối trên màn hình giao diện chương trình người dùng, khi đó sẽ hiện ra một bảng thông báo như sau:

Trong bảng này ta chọn địa chỉ của PLC, thường mặc định là 2, sau đó chọn ô “Search all baud rates” để tìm tất cả các tốc độ truyền thông yêu cầu, tiếp theo Click chuột vào biểu tượng “Set PG/PC interface” để cài đặt giao diện truyền thông, một cửa sổ sẽ hiện ra như sau:

Page 19: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Trong cửa sổ này ta chọn Properties để định dạng cổng truyền thông. Nếu ta dùng cổng truyền thông loại nào thì ta chọn loại đó, sau đó chọn các thông số cho chuẩn truyền thông như thể hiện bên dưới. Sau khi chọn xong các thông số ta nhấn “OK”để thoát khỏi cửa sổ này và quay lại cửa sổ trước đó, tại đây ta chọn chuẩn là PC/PPI cable (PPI) nếu cáp sử dụng là PPI, sau đó nhấn “OK”để thoát về cử sổ ban đầu.Tại đây ta click đúp chuột vào biểu tượng “Double - Click to refresh ”. Nếu quá trình giao tiếp thành công tại đó sẽ hiển thị loại PLC đang kết nối có nghĩa là chương trình đã nhận dạng được loại PLC, nếu không sẽ hiển thị cảnh báo lỗi. Nếu có lỗi xảy ra ta phải kiểm tra thông báo lỗi để tìm cách khắc phục lỗi sau đó thực hiện lại các bước như trên.

Sau khi kết nối thành công ta tiến hành viết hoặc đọc chương trình, nếu muốn viết chương trình vào PLC thì ta chọn “Download” còn ngược lại thì chọn “Upload”. Để Upload hay Download thì người dùng phải kết nối cáp với PLC và chuyển PLC sang chế độ STOP. Việc này được thực hiện như sau:

- Từ thanh menu ta chọn ‘File” và kéo thả xuống, tại đây ta chọn Upload hoặc DownLoad.- Trên thanh Toolbar ta chọn mũi tên xuống cho việc DownLoad và mũi tên lên cho việc

Upload.- Nhấn phím Ctrl + U cho việc Upload và Ctrl + D cho việc DownLoad.

Page 20: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Page 21: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH

I. PHƯƠNG PHÁP LẬP TRÌNH:S7-200 biểu diễn chương trình dưới dạng một mạch logic cứng bằng một dãy các lệnh và khối

chương trình theo thứ tự quy định. Các lệnh và khối này sẽ lần lượt được quét trong chương trình từ đầu đến cuối trong một vòng quét. PLC sẽ làm việc ngay tại vòng quét đầu tiên và từ đó thực hiện liên tục chu kỳ quét. Trong mỗi vòng quét nếu có một lệnh được gọi PLC sẽ nhận lệnh đó và thực hiện, nếu không quét kịp thì tại vòng quét tiếp theo sẽ thực hiện.

Có ba phương pháp lập trình cơ bản:- Lập trình hình thang (LAB – Ladder Logic).- Phương pháp khối hàm (FBD – Funtion Block Diagram).- Phương pháp liệt kê câu lệnh (STL – Statement List).Nếu chương trình được viết theo kiểu LAD hoặc FBD thì có thể chuyển sang dạng STL nhưng

không phải mọi chương trình viết bằng STL đều có thể chuyển sang hai dạng kia.

1. LAD:

Là ngôn ngữ lập trình bằng đồ hoạ mô phỏng theo mạch relay. Các phần tử cơ bản dùng để biểu diễn lệnh logic.

- Tiếp điểm: Mô tả các tiếp điểm dùng trong mạch relay, toán hạng của tiếp điểm dùng trong chương trình là bit. Có hai loại tiếp điểm:

Tiếp điểm thường đóng

Tiếp điểm thường mở

- Cuộn dây: mô tả cuộn dây relay. Toán hạng sử dụng là bit.

- Hộp: Là biểu tượng mô tả các hàm khác nhau làm việc khi có tín hiệu đến kích. Những hàm thường được biểu diễn bằng hộp là các hàm tạo thời gian (Timer), hàm đếm (Counter) và các hàm toán học.

- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn chỉnh. Thông thường các tín hiệu điện phải đi từ dây nóng qua thiết bị rồi đến dây trung hoà sau đó về nguồn, tuy nhiên trong phần mềm lập trình chỉ thể hiện dây nóng và bên trái và các đường nối đến thiết bị từ đó.

2. STL:

Phương pháp liệt kê lệnh là phương pháp lập trình bằng cách tập hợp các câu lệnh, mỗi câu lệnh thể hiện một chức năng của chương trình.

Để tạo một chương trình dạng STL người lập trình cần phải hiểu rõ phương thức sử dụng ngăn xếp. Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau từ S0 – S8. Tất cả các thuật toán liên quan đến ngăn xếp đều chỉ làm việc với bít đầu tiên (S0) và bit thứ hai (S1) của ngăn xếp. Giá trị logic mới đều có thể được gửi hoặ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.

Page 22: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Ngăn xếp và tên bit:S0 Bit đầu tiên hay bit trên cùng của ngăn xếpS1 Bit thứ hai của ngăn xếpS2 Bit thứ ba của ngăn xếpS3 Bit thứ tư của ngăn xếpS4 Bit thứ năm của ngăn xếpS5 Bit thứ sáu của ngăn xếpS6 Bit thứ bảy của ngăn xếpS7 Bit thứ tám của ngăn xếpS8 Bit thứ chín của ngăn xếp

3. FBD:

Là phương pháp lập trình khối hàm mô phỏng các lệnh và khối làm việc trong mạch số. Các phần tử cơ bản trong phương pháp này là các khối lệnh được liên kết với nhau.

II. TẬP LỆNH S7-200:Tập lệnh của S7-200 chia làm ba 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.- Các lệnh chỉ thực hiện khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1.- Các nhãn lệnh đánh dấu vị trí trong tập lệnh hay còn gọi là nhóm lệnh điều khiển chương trình.Cả ba phương pháp đều sử dụng ký hiệu I để chỉ các lệnh làm việc tức thời, tức là giá trị được chỉ

định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển ngay đến tiếp điểm được chỉ dẫn ngay trong lệnh ngay khi được thực hiện chứ không phải chờ đến giai đoạn trao đổi với ngoại vi của vòng quét. Điều đó khác với lệnh không tức thời là giá trị chỉ chuyển vào thanh ghi ảo khi thực hiện lệnh.

Các nhóm lệnh được cho trong cây lệnh của S7-200:- Bit Logic: Tập lệnh làm việc với bit.- Clock: Tập lệnh làm việc với thời gian của hệ thống.- Communication: Tập lệnh truyền thông.- Compare: Tập lệnh so sánh.- Convert: Tập lệnh biến đổi.- Counter: Tập các bộ đếm.- Floating-Point Math: Tập lệnh toán học làm việc với số thực.- Integer Math: Tập lệnh toán học làm việc với số nguyên.- Interupt: Tập lệnh làm việc với chương trình ngắt.- Logical Operations: Tập lệnh các phép tính logic biến đổi.- Move: Tập lệnh di chuyển dữ liệu.- Programe Control: Tập lệnh điều khiển chương trình.- Shift/Rotate: Tập lệnh dịch/quay làm việc với thanh ghi.- String: Tập lệnh làm việc với chuỗi.- Table: Tập lệnh làm việc với bảng dữ liệu.- Timers: Tập các bộ định thời gian.

Page 23: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

- Call Subroutin: Tập lệnh gọi các chương trình con. Các lệnh cơ bản được sử dụng trong S7-200 (Các lệnh sau đây chỉ được mô tả cho phương pháp

lập trình LAD ):

1. Các lệnh làm việc với bit logic:

Lệnh Mô tả Toán hạngKiểu dữ

liệu

Tiếp điểm thường mở sẽ đóng khi bit = 1 bit: I,Q,M,V,SM,T,C,S,L Bool

Tiếp điểm thường đóng sẽ mở khi bit = 1 bit: I,Q,M,V,SM,T,C,S,L Bool

Tiếp điểm thường mở sẽ đóng tức thời khi bit = 1

bit: I Bool

Tiếp điểm thường đóng sẽ mở tức thời khi bit = 1

bit: I Bool

Đảo giá trị của bít đầu tiên trong ngăn xếp (đảo trạng thái của đầu ra)

Không Không

Bit đầu tiên trong ngăn xếp có giá trị bằng 1 trong khoảng thời gian bằng thời gian của một vòng quét khi phát hiện sườn lên của tín hiệu đầu vào

bit: I,Q,M,V,SM,T,C,S,L Bool

Bit đầu tiên trong ngăn xếp có giá trị bằng 1 trong khoảng thời gian bằng thời gian của một vòng quét khi phát hiện sườn xuống của tín hiệu đầu vào

bit: I,Q,M,V,SM,T,C,S,L Bool

Cuộn dây đầu ra ở trạng thái ON khi có tín hiệu điều khiển đi qua bit: I,Q,M,V,SM,T,C,S,L Bool

Cuộn dây đầu ra ở trạng thái ON tức thời khi có tín hiệu điều khiển đi qua bit: I,Q,M,V,SM,T,C,S,L Bool

Set một mảng gồm n tiếp điểm tính từ tiếp điểm “bit”(n <= 128)

bit: I,Q,M,V,SM,T,C,S,L n : IB, QB,MB,VB,SMB,SB, LB,AC,*VD,*AC, *LD, Constand.

Bool

Reset một mảng gồm n tiếp điểm tính từ tiếp điểm “bit”(n <= 128)

bit: I,Q,M,V,SM,T,C,S,L n : IB,QB,MB,VB,SMB, SB,LB, AC,*VD,*AC,*LD, Constand.

Bool

Page 24: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Ví dụ minh minh hoạ sử dụng các bit logic trong chương trình:

Giản đồ thời gian

Page 25: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2. Nhóm lệnh so sánh:

S7-200 cung cấp các lệnh so sánh theo từng kiểu dữ liệu vì vậy muốn thực hiện được phép so sánh thì các toán hạng phải có cùng kiểu dữ liệu nếu không chương trình sẽ báo lỗi. Sau đây là một số lệnh so sánh dữ liệu kiểu Byte.

Lệnh Mô tả Toán hạng Kiểu dữ liệuLệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm là đóng khi IN1=IN2

IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand.

Byte

Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm là đóng khi IN1<>IN2

IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand.

Byte

Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm là đóng khi IN1>IN2

IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand.

Byte

Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm là đóng khi IN1=>IN2

IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand.

Byte

Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm là đóng khi IN1< IN2

IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand.

Byte

Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm là đóng khi IN1< = IN2

IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand.

Byte

3. Tập bộ tạo thời gian:

Lệnh Mô tả Toán hạng Kiểu dữ liệu

Txxx : hằng số Word

EN : đầu vào kích Bool

Đây là lệnh đếm thời gian kích hoạt khi đầu vàokích là ON. Khi giá trị đếm tức thời trong thanh ghi CT >= giá trị đặt trước trong thanh ghi PT thì bit trạng thái của bộ timer Txxx sẽ ON.Khi tín hiệu đầu vào EN là OFF thì bit Txxx sẽ chuyển trạng thái sang OFF và giá trị tức thời trong CT sẽ được set về 0.Khi đầu vào EN là ON thì giá trị tức thời trong thanh ghi CT sẽ tăng dần đến 32676 trừ khi đầu EN là OFF.

PT : IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,*LD,AC

Interger

Bộ TONR cũng hoạt động tương tự nhưng bit trạng thái và thanh ghi CV vẫn giữ nguyên khi đầu vào EN là OFF trừ khi có lệnh reset bộ TONR. Hằng số Txxx có thể được sử dụng như một toán hạng kiểu

PT : IW, QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,

Interger

Page 26: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Int để lấy giá trị tức thời và toán hạng kiểu Bit *VD,*LD,ACBit Txxx có cùng trạng thái với đầu vào EN,tại thời điểm này giá trị trong thanh ghi CT = 0. Tại thời điểm khi có tín hiệu sườn xuống của đầu vào EN giá trị trong thanh ghi sẽ tăng dần đến khi CT = PT thì Txxx xuống mức thấp đồng thời CT giữ nguyên giá trị đến khi có tín hiệu sườn lên mới tại đầu vào EN.Có thể xoá giá trị trong CT và Txxx bằng lệnh Reset.

PT : IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,*LD,AC

Interger

Ví dụ về cách tạo bộ TON:

Giản đồ thời gian:

Page 27: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

4. Tập bộ đếm:

Lệnh Mô tả Toán hạngKiểu dữ

liệuCxxx : hằng số WordCU,R: đầu vào cho phép đếm

BoolBộ đếm lên CTU đếm số sườn lên của tín hiệu logic đầu vào CU tức là đếm số lần thay đổi trạng thái từ 0 lên 1 của đầu vào CU. Số sườn xung đếm được, được ghi vào thanh ghi C-word. Nội dung của thanh ghi C-word được gọi là giá trị đếm tức thời luôn được so sánh với giá trị đặt trước PV. Khi C-word >= PV thì C-bit được set lên 1, còn nếu không thì giá trị C-bit = 0. Khi đầu vào R có mức 1 thì bộ đếm sẽ được reset về 0 cả C-word và C-bit. Bộ đếm ngừng đếm khi C-word đạt giá trị cực đại là 32767.

PT: IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,*LD,AC

Interger

Cxxx : hằng số WordCU,R :đầu vào cho phép đếm

BoolKhai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của tín hiệu đầu vào CU và đếm lùi theo sườn lên của tín hiệu đầu vào CD. Khi giá trị đếm tức thời C-word >= PV thì C-bit có giá trị logic 1, ngược lại C-bit có giá trị logic 0. Bộ đếm ngừng đếm tiến khi giá trị C-word đạt 32767 và ngừng đếm lùi khi giá trị C-word đạt cực tiểu là - 32767

PT : IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,*LD,AC

Interger

Cxxx : hằng số WordCU,R :đầu vào cho phép đếm

BoolKhai báo bộ đếm lùi theo sườn lên của tín hiệu đầu vào CD. Khi có sườn lên của tín hiệu đầu vào LD thì giá trị đặt trước PV được tải vào thanh ghi tức thời C-word, khi có sườn lên của tín hiệu vào CD thì giá trị trong C-word giảm đi 1 đơn vị đến khi C-word = 0 thì C-bit được sét lên 1. Nếu C-word ≠ 0 thì C-bit = 0.

PT : IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,*LD,AC

Interger

Ví dụ về cách tạo bộ đếm lên/xuống:

Page 28: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Giản đồ thời gian

5. Tập lệnh toán học:

Tập lệnh toán học của S7-200 được chia làm hai nhóm chính gồm các lệnh toán học làm việc với số nguyên và các lệnh làm việc với số thực.

Page 29: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Lệnh Mô tả Toán hạngKiểu dữ

liệuIN1, IN2: VW,IW,QW, MW, SW, SMW, T, C, AC, LW, AIW, Constant, *VD, *LD, *AC

INTCộng hai số nguyên 16 bit đầu vào IN1, IN2, kết quả lưu vào vùng nhớ 16 bit tại đầu ra OUT OUT : VW, IW, QW,

MW, SW, SMW, T, C, LW, AC, *VD, *LD, *AC

INT

IN1, IN2 :VW,IW,QW, MW, SW, SMW, T, C, AC, LW, AIW, Constant, *VD, *LD, *AC

INTTrừ hai số nguyên 16 bit đầu vào IN1, IN2, kết quả lưu vào vùng nhớ 16 bit tại đầu ra OUT

OUT : VW, IW, QW, MW, SW, SMW, T, C, LW, AC, *VD, *LD, *AC

INT

IN1, IN2 :VW,IW,QW, MW, SW, SMW, T, C, AC, LW, AIW, Constant, *VD, *LD,*AC

INTNhân hai số nguyên 16 bit đầu vào IN1, IN2, kết quả lưu vào vùng nhớ 16 bit tại đầu ra OUT OUT : VW, IW, QW, MW,SW,

SMW, T, C, LW, AC, *VD, *LD, *AC

INT

IN1, IN2 :VW,IW,QW, MW, SW, SMW, T, C, AC, LW, AIW, Constant, *VD, *LD,*AC

INTChia hai số nguyên 16 bit đầu vào IN1, IN2, kết quả lưu vào vùng nhớ 16 bit tại đầu ra OUT OUT : VW, IW, QW, MW,SW,

SMW, T, C, LW, AC, *VD, *LD, *AC

INT

IN : VB, IB, QB, MB, SB,SMB, LB, AC, Constant, *VD, *LD, *AC

BYTEGiá trị đầu ra OUT bằng giá trị đầu vào cộng 1 mỗi khi có tín hiệu vào chân EN

OUT : VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

BYTE

IN VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD, *AC

BYTEGiá trị đầu ra OUT bằng giá trị đầu vào trừ 1 mỗi khi có tín hiệu vào chân EN

OUT VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

BYTE

Ngoài ra còn có các lệnh tương tự làm việc với số nguyên 32 bit và số thực:

- ADD_DI: Cộng hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit. - SUB_DI: Trừ hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit. - ADD_R: Cộng hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.

Page 30: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

- SUB_R: Trừ hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.- MUL_DI: Nhân hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit. - DIV_DI: Chia hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit. - MUL_R: Nhân hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit. - DIV_R: Chia hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.- MUL: Nhân hai số nguyên 16 bit, kết quả lưu vào vùng nhớ 32 bit. - DIV: Chia hai số nguyên 16 bit, kết quả lưu vào vùng nhớ 32 bit. - Các lệnh tăng/giảm một đơn vị áp dụng cho số nguyên 8,16 và 32 bit: INC_W, INC_DW,

DEC_W, DEC_DW- Các hàm lấy giá trị thực: SIN, COS, TAN, SQRT, EXP, LN, PID

6. Các lệnh dịch chuyển dữ liệu:

Lệnh Mô tả Toán hạngKiểu dữ

liệuIN: VB, IB, QB, MB, SB, SMB, LB, AC, Constant,*VD, *LD, *AC

BYTE

Dịch chuyển dữ liệu kiểu byte từ đầu vào IN đến đầu ra OUT OUT: VB, IB, QB, MB,SB, SMB,

LB, AC, *VD, *LD, *ACBYTE

IN: VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, Constant, AC, *VD, *AC, *LD

WORD, INT

Dịch chuyển dữ liệu kiểu từ đơn từ đầu vào IN đến đầu ra OUT

OUT : VW, T, C, IW, QW, SW, MW, SMW, LW, AC, AQW, *VD, *AC, *LD

WORD, INT

IN: VD, ID, QD, MD, SD, SMD, LD, HC, &VB, &IB, &QB, &MB, &SB, &T, &C, &SMB, &AIW, &AQW AC, Constant, *VD, *LD, *AC

DWORD, DINT

Dịch chuyển dữ liệu kiểu từ kép từ đầu vào IN đến đầu ra OUT

OUT: VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

DWORD, DINT

IN: VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *LD, *AC

REAL

Dịch chuyển dữ liệu kiểu số thực từ đầu vào IN đến đầu ra OUT OUT: VD, ID, QD, MD, SD, SMD,

LD, AC, *VD, *LD, *ACREAL

Ngoài ra còn có các lệnh dịch chuyển dữ liệu khác:

- BLKMOV_B: Dịch chuyển N dữ liệu kiểu byte từ đầu vào đến đầu ra. - BLKMOV_W: Dịch chuyển N dữ liệu kiểu word từ đầu vào đến đầu ra. - BLKMOV_D: Dịch chuyển N dữ liệu kiểu từ kép từ đầu vào đến đầu ra.

Page 31: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

- SWAP: Lệnh đảo dữ liệu hai byte trong từ đơn đầu vào lệnh. - MOV_BIR: Lệnh đọc tức thời giá trị byte đầu vào cổng vật lý và ghi trực tiếp giá trị vào byte

đầu ra. - MOV_BIW: Lệnh đọc tức thời giá trị word đầu vào và ghi trực tiếp giá trị vào byte đầu ra cổng

vật lý.

7. Tập lệnh làm việc với bảng dữ liệu:

Các lệnh làm việc với bảng dữ liệu gọi tắt là lệnh bảng, có thể nhập dữ liệu và sắp xếp số lượng trong bảng.

Bảng được định nghĩa là một mảng từ đơn được xếp liền nhau bắt đầu từ địa chỉ thấp nhất tính từ đầu bảng đến địa chỉ cao nhất tính đến cuối bảng. Hai từ đơn đầu tiên dùng để quản lý bảng, dữ liệu được ghi vào bảng bắt đầu từ từ đơn thứ ba trong bảng, mỗi từ đơn chứa một dữ liệu, một bảng có thể chứa tối đa 100 dữ liệu không kể hai từ đơn đầu tiên, vậy mỗi bảng có độ dài tối đa là 204 byte. Kiểu dữ liệu trong bảng là kiểu INT. Từ đầu bảng ký hiệu là TL chứa kích thước của bảng, từ thứ hai ký hiệu EC dùng để quản lý các dữ liệu hiện có trong bảng.

Cấu trúc một bảng dữ liệu

Các lệnh bảng gồm có:

Lệnh Mô tả Toán hạngKiểu

dữ liệuDATA:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, Constant, *VD, *LD, *AC

INTLệnh ghi thêm vào bảng một dữ liệu kiểu từ đơn có nội dung được xác định bằng toán hạng DATA. Toán hạng TBL dùng để xác định bảng tức từ đầu tiên của bảng. Nếu bảng đầy thì EC = TL và bit SM1.4= 1 . Dữ liệu đưa vào sẽ được xếp xuống các dữ liệu đã có. Khi lệnh thực hiện xong thì nội dung của EC tăng lên 1.

TBL: VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, *LD *AC

WORD

Lệnh thực hiện việc tìm kiếm trong bảng bắt đầu từ chỉ số vị trí INDX, PTN chứa giá trị cần tìm kiếm. CMD là luật tìm kiếm có giá trị 1-4 tương ứng = , ≠ , >,<. Nếu dữ liệu được tìm thấy thì biến INDX sẽ có chỉ vào vị trí chứa dữ liệu. Để tìm dữ liệu tiếp theo INDX sẽ tăng giá lên 1 đơn vị. Nếu

TBL VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, *LD, *AC

WORD

Page 32: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

PTN:VW, IW, QW, MW, SW, SMW, AIW, LW, T, C, AC, Constant, *VD, *LD, *AC

INT

INDX: VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC

WORD

không tìm thấy INDX sẽ có giá trị bằng EC

CMD : Constant BYTE

TBL:VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, *LD, *AC

WORDLệnh lấy dữ liệu đầu tiên trong bảng ra khỏi bảng chứa trong DATA, các dữ liệu dưới được dồn lên trên để lấp chỗ trống và EC giảm đi 1 đơn vị. Nếu bảng trống nghĩa là EC = 0 và SM1.4 =1

DATA:VW, IW, QW, MW, SW, SMW, LW, AC, T, C, AQW, *VD, *LD, *AC

INT

TBL:VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, *LD, *AC

WORDLệnh lấy dữ liệu cuối cùng trong bảng ra khỏi bảng chứa trong DATA, các dữ liệu dưới được dồn lên để lấp chỗ trống và EC giảm đi 1 đơn vị. Nếu bảng trống nghĩa là EC = 0 và SM1.4 =1

DATA:VW, IW, QW, MW, SW, SMW, LW, AC, T, C, AQW, *VD, *LD, *AC

INT

IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, Constant, *VD, *LD, *AC

INT

N:VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD, *AC

BYTE

Lệnh điền giá trị vào bảng từ một từ đơn IN bắt đầu bằng từ đơn OUT

OUT:VW, IW, QW, MW, SW, SMW, LW, T, C, AQW, *VD, *LD, *AC

INT

Ví dụ về cách dùng lệnh AT_T_TBL:

Page 33: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

8. Tập lệnh phép toán biến đổi logic:

Lệnh Mô tả Toán hạngKiểu dữ

liệuIN1, IN2: VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD

BYTEThực hiện lệnh ADD giữa các bit của hai byte đầu vào IN1 và IN2, kết quả chứa trong byte đầu ra OUT OUT:VB, IB, QB, MB, SB, SMB,

LB, AC, *VD, *AC, *LDBYTE

IN1, IN2: VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD

BYTEThực hiện lệnh OR giữa các bitcủa hai byte đầu vào IN1 và IN2, kết quả chứa trong byte đầu ra OUT OUT:VB, IB, QB, MB, SB, SMB,

LB, AC, *VD, *AC, *LDBYTE

IN1, IN2: VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD

BYTEThực hiện lệnh XOR giữa các bit của hai byte đầu vào IN1 và IN2, kết quả chứa trong byte đầu ra OUT OUT:VB, IB, QB, MB, SB, SMB,

LB, AC, *VD, *AC, *LDBYTE

Page 34: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

IN1, IN2: VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD

BYTELệnh đảo giá trị từng bit trong byte đầu vào IN và kết quả chứa trong byte đầu ra OUT. Thường IN và OUT có cùng đìa chỉ OUT:VB, IB, QB, MB, SB, SMB,

LB, AC, *VD, *AC, *LDBYTE

Các lệnh tương tự làm việc với từ đơn, từ kép:

- WAND_W: Thực hiện lệnh ADD giữa các bit của hai từ đơn.- WOR_W: Thực hiện lệnh OR giữa các bit của hai từ đơn.- WXOR_W: Thực hiện lệnh XOR giữa các bit của hai từ đơn.- WAND_DW: Thực hiện lệnh ADD giữa các bit của hai từ kép.- WOR_DW: Thực hiện lệnh OR giữa các bit của hai từ kép.- WXOR_DW: Thực hiện lệnh XOR giữa các bit của hai từ kép. - INV_W: Lệnh đảo giá trị từng bit trong từ đơn.- INV_DW: Lệnh đảo giá trị từng bit trong từ kép.

Ví dụ cách sử dụng lệnh INV_B:

IN

OUT

9. Tập lệnh biến đổi kiểu dữ liệu:

Lệnh Mô tả Toán hạngKiểu

dữ liệuIN (LAD, FBD): VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, Constant, *VD, *AC, *LD

WORDLệnh chuyển đổi một số nhị_ thập phân IN sang số nguyên và chứa kết quả vào OUT.IN : 0 - 9999

OUT : VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC

WORD

IN (LAD, FBD): VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, Constant, *VD, *AC, *LD

WORDLệnh chuyển đổi một số nguyên IN sang số nhị_thập phân và chứa kết quả vào OUT.IN: 0 - 9999

OUT: VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC

WORD

1 0 0 1 1 0 1 0

0 1 1 0 0 1 0 1

Page 35: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

IN: VD, ID, QD, MD, SD, SMD, LD, HC, AC, Constant, *VD, *AC, *LD

DINTLệnh chuyển đổi một số nguyên 32 bit IN sang số thực 32 bit, kết quả chứa trong OUT

OUT:VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

REAL

IN: VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *LD, *AC

REALLệnh chuyển đổi một số thực 32 bit IN sang số nguyên 32 bit, kết quả chứa trong OUT

OUT: VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

DINT

IN: VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *LD, *AC

REALLệnh chuyển đổi một số thực 32 bit sang số nguyên có dấu 32 bit

OUT: VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC, *LD

DINT

Lệnh chuyển đổi một số nguyên 16 bit sang số nguyên 32 bit

IN: VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, Constant, *VD, *LD, *AC

INT

OUT: VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

DINTLệnh chuyển đổi một số nguyên 32 bit sang số nguyên 16 bit.

IN: VW, IW, QW, MW, SW,SMW, LW, T, C, AIW, AC, Constant, *VD, *LD, *AC

INT

IN VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *AC, *VD, *LD

BYTELệnh chuyển đổi giá trị byte sang giá trị word 16 bit.

OUT VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC

INT

OUT VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC

INTLệnh chuyển đổi giá trị word 16 bit sang giá trị byte.

IN VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *AC, *VD, *LD

BYTE

Page 36: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

10.Tập lệnh làm việc với thời gian thực:

Lệnh đọc /ghi giá trị thời gian thực dùng để làm việc với thời gian thực dựa vào đồng hồ hệ thống của PLC. Các giá trị đọc hoặc ghi được là các giá trị ngày, tháng năm, giờ, phút, giây.

Các dữ liệu đọc/ghi có độ dài 1 byte và mã hoá dưới dạng số BCD, chúng nằm trong bộ đệm 8 byte và được mô tả như sau :

Page 37: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Byte Mô tả Giá trị Kiểu dữ kiệuT Year 0 ÷ 99 BCDT+1 Month 1 ÷ 12 BCDT+2 Day 1 ÷ 31 BCDT+3 Hour 0 ÷ 23 BCDT+4 Minute 0 ÷ 59 BCDT+5 Second 0 ÷ 59 BCDT+6 0 0 0T+7 Day of week 1 ÷ 7 BCD

Lệnh Mô tả Toán hạng Kiểu dữ liệuLệnh đọc thời gian thực vào bộ đệm 8 byte từ đồng hồ hệ thống được chỉ định bằng toán hạng T

T: VB, IB, QB, MB, SMB, SB, LB, *VD, *AC, *LD

BYTE

Lệnh ghi nội dung của bộ đệm 8 byte được chỉ định bởi toán hạng T vào đồng hồ thời gian thực

T: VB, IB, QB, MB, SMB, SB, LB, *VD, *AC, *LD

BYTE

Ví dụ cách sử dụng lệnh READ_RTC:

Page 38: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Page 39: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

11.Tập lệnh điều khiển chương trình:

Lệnh Mô tả Toán hạngKiểu dữ

liệuLệnh nhảy JMP thực hiện việc chuyển quyền điều khiển đến nhãn n được khai báo bằng lệnh LBL. Lệnh nhảy JMP không cho phép chuyển quyền điều khiển từ chương trình chính vào các chương trình con và chương trình ngắt và ngược lại

n: 0 ÷ 63 (CPU21X) 0 ÷ 255 (CPU22X)

WORD

Lệnh gọi chương trình con và chuyển quyền điều khiển đến chương trình con từ chương trình chính.

N: 0 to 63 CPU 22x WORD

INDX,:VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC

INT

INIT VW, IW, QW, MW, SW, SMW, T, C, AC, LW, AIW, Constant, *VD, *LD, *AC

INT

Cấu trúc lệnh FOR…NEXT dùng để thực hiện những chức năng vòng lặp trong chương trình. Toán hạng INIT chỉ điểm khởi phát và FINAL chỉ điểm kết thúc, INDX lưu số vòng lặp tức thời. Mỗi vòng lặp được kết thúc bởi lệnh NEXT. Các lệnh FOR…NEXT có thể lồng vào nhau nhưng số lệnh lồng không được vượt quá 8. Sau khi kết thúc một vòng lặp giá trị của INDX tăng lên một đơn vị đến khi bằng với giá trị của FINAL thì quá trình lặp kết thúc.

FINAL:VW,IW, QW, MW, SW, SMW, LW, T, C, AC, AIW, Constant, *VD, *LD, *AC

INT

Ví dụ về cách sử dụng lệnh FOR…NEXT:

Page 40: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

12.Lệnh quay/dịch thanh ghi:

Lệnh Mô tả Toán hạngKiểu dữ

liệuIN (LAD, FBD):VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD, *AC

BYTE

N: VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD, *AC

BYTE

Lệnh dịch phải (SHR_B) hay lệnh dịch trái (SHL_B) thực hiện dịch chuyển các bit đầu vào IN đi N lần sang phải hay sang trái, kết quả được lưu vào đầu ra OUT.Lệnh shift điền giá trị 0 vào vị trí các bit bị dịch chuyển đi, bit cuối cùng bị đẩy ra ngoài và đưa vào bit báo tràn SM1.1, bit báo kết quả. Bit báo kết quả 0 sẽ bằng 1 nếu giá trị trong byte đó bằng 0.

OUT: VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

BYTE

Page 41: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

IN (LAD, FBD):VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD, *AC

BYTE

N: VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD, *AC

BYTE

Lệnh quay phải (ROR_B) hay lệnh dịch trái (ROL_B) thực hiện dịch chuyển các bit đầu vào IN đi N lần sang phải hay sang trái, kết quả được lưu vào đầu ra OUT.Tại mỗi lần quay giá trị của bit cuối cùng (bit 0) được đưa vào bit SM1.1 đồng thời đưa vào bit đầu tiên (bit 7) của byte đó nếu là quay phải và ngược lại đối với quay trái. Bit báo kết quả 0 sẽ bằng 1 nếu giá trị trong byte đó bằng 0.

OUT: VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

BYTE

Ngoài ra còn có các lệnh quay dịch tương tự đối với từ đơn và từ kép:

- SHR_W: Lệnh dịch phải các bit trong một từ đơn.- SHL_W: Lệnh dịch trái các bit trong một từ đơn.- SHR_DW: Lệnh dịch phải các bit trong một từ kép.- SHL_DW: Lệnh dịch trái các bit trong một từ kép.- ROR_W: Lệnh quay phải các bit trong một từ đơn.- ROL_W: Lệnh quay trái các bit trong một từ đơn.- ROR_DW: Lệnh quay phải các bit trong một từ kép.- ROL_DW: Lệnh quay trái các bit trong một từ kép.

Ví dụ về cách dùng lệnh quay/dịch với từ đơn:

Page 42: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

13.Tập lệnh xử lý ngắt:

Các chế độ ngắt và xử lý ngắt cho phép thực hiện các quá trình tốc độ cao, phản ứng kịp thời với các sự kiện diễn ra bên trong và bên ngoài. Nguyên tắc cơ bản của một chế độ xử lý ngắt cũng giống việc thực gọi một chương trình con, chỉ khác là chương trình con được gọi chủ động còn chương trình ngắt được gọi một một cách bị động bằng tín hiệu báo ngắt. Khi có một tín hiệu báo ngắt chương trình sẽ tổ chức gọi và thực hiện chương trình xử lý ngắt hay hệ thống tổ chức xử lý tín hiệu ngắt đó.

Do thực hiện chương trình xử lý ngắt một cách bị động từ tín hiệu báo ngắt nên hệ thống phải hỗ trợ thêm cho công việc như: cất giữ nội dung ngăn xếp, nội dung thanh ghi AC và và các bit nhớ đặc biệt, tổ chức xếp hàng ưu tiên cho các tín hiệu trong trường hợp chúng chưa kịp xử lý.

Kiểu ngắt

Tín hiệu ngắtCPU221

CPU222

CPU224,

224XP

CPU226,

226XP0 Ngắt theo sườn lên của I0.0 Y Y Y Y1 Ngắt theo sườn xuống của I0.0 Y Y Y Y2 Ngắt theo sườn lên của I0.1 Y Y Y Y3 Ngắt theo sườn xuống của I0.1 Y Y Y Y4 Ngắt theo sườn lên của I0.2 Y Y Y Y5 Ngắt theo sườn xuống của I0.2 Y Y Y Y6 Ngắt theo sườn lên của I0.3 Y Y Y Y7 Ngắt theo sườn xuống của I0.3 Y Y Y Y8 Ngắt để nhận ký tự ở Port 0 Y Y Y Y9 Ngắt để báo việc truyền dữ liệu đã hoàn tất của

Port 0Y Y Y Y

10 Ngắt thời gian 0, SMB34 Y Y Y Y

Page 43: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

11 Ngắt thời gian 1, SMB35 Y Y Y Y12 Ngắt theo HSC0, khi giá trị tức thời bằng giá trị

đặt trước CV = PVY Y Y Y

13 Ngắt theo HSC1, khi giá trị tức thời bằng giá trị đặt trước CV = PV

Y Y

14 Ngắt theo HSC1, khi có tín hiệu báo đổi hướng đếm từ bên ngoài

Y Y

15 Ngắt theo HSC1, khi có tín hiệu Reset từ ngoài Y Y16 Ngắt theo HSC2, khi giá trị tức thời bằng giá trị

đặt trước CV = PVY Y

17 Ngắt theo HSC2, khi có tín hiệu báo đổi hướng đếm từ bên ngoài

Y Y

18 Ngắt theo HSC2, khi có tín hiệu Reset từ ngoài Y Y19 PLS0: Ngắt báo hoàn tất việc đếm xung Y Y Y Y20 PLS1: Ngắt báo hoàn tất việc đếm xung Y Y Y Y21 Ngắt theo bộ định thời T32 khi giá trị đếm tức

thời CV = PTY Y Y Y

22 Ngắt theo bộ định thời T96 khi giá trị đếm tức thời CV = PT

Y Y Y Y

23 Ngắt báo hoàn tất việc nhận một gói tin ở Port 0 Y Y Y Y24 Ngắt báo hoàn tất việc nhận một gói tin ở Port 1 Y Y25 Ngắt để nhận ký tự ở Port 1 Y Y26 Ngắt để báo việc truyền dữ liệu đã hoàn tất của

Port 1Y Y

27 Ngắt theo HSC0, khi có tín hiệu báo đổi hướng đếm từ bên ngoài

Y Y Y Y

28 Ngắt theo HSC0, khi có tín hiệu Reset từ ngoài Y Y Y Y29 Ngắt theo HSC4, khi giá trị tức thời bằng giá trị

đặt trước CV = PVY Y Y Y

30 Ngắt theo HSC4, khi có tín hiệu báo đổi hướng đếm từ bên ngoài

Y Y Y Y

31 Ngắt theo HSC4, khi có tín hiệu Reset từ ngoài Y Y Y Y32 Ngắt theo HSC3, khi giá trị tức thời bằng giá trị

đặt trước CV = PVY Y Y Y

33 Ngắt theo HSC5, khi giá trị tức thời bằng giá trị đặt trước CV = PV

Y Y Y Y

Y Y Y Y

* Thứ tự ưu tiên của các kiểu ngắt:

Thứ tự của các kiểu ngắt đã được cứng hoá từ trước theo thứ tự tín hiệu nào có trước thì xử lý trước. Nếu cùng một lúc có nhiều tín hiệu báo ngắt thì chương trình sẽ tổ chức xếp hàng đợi theo thứ tụ ưu tiên sau:

- Nhóm ngắt truyền thông- Nhóm ngắt vào ra (kể cả HSC và ngắt truyền xung PLS)

Page 44: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

- Ngắt thời gianTại mỗi thời điểm chỉ có một chương trình xủ lý ngắt được thực hiện, khi một chương trình xử lý

ngắt đang thực hiện mà có một tín hiệu báo ngắt khác thì chương trình vẫn tiếp tục xử lý chương trình xử lý ngắt đó đến khi kết thúc mới chuyển sang xử lý tín hiệu ngắt đó.

Bảng hàng đợi lớn nhất mà mỗi CPU có thể có:

Nhóm ưu tiên 212 214 215 216 221 222 224 226Ngắt truyền thông 4 4 4 8 4 4 4 8Ngắt vào ra 4 16 16 16 16 16 16 16Ngắt thời gian 2 4 8 8 8 8 8 8

Riêng đối với tín hiệu báo ngắt truyền thông mặc dù chưa được xử lý nhưng ký tự nhận được và bit kiểm tra chẵn lẻ vẫn được ghi nhớ lại trong bộ đệm kèm theo đúng thứ tự của tín hiệu báo ngắt.

Bit start 7 (8) bit của ký tự Parity Bit stop

* Khai báo chế độ ngắt:- Kích tín hiệu báo ngắt cho chế độ ngắt tương ứng ( khai báo bằng lệnh ATCH).- Soạn thảo nội dung của chương trình ngắt trong khối INT_x.Có thể gộp nhiều tín hiệu báo ngắt vào cùng một chương trình (chính hoặc con) nhưng một tín

hiệu báo ngắt chỉ có duy nhất một chương trình xử lý ngắt. Khi hủy tín hiệu báo ngắt bằng tín hiệu DISI thì các ngắt vẫn tiếp tục nằm vào hàng đợi đến khi có tín hiệu kích ngắt ENI.

* Chương trình xử lý ngắt:

Cũng như chương trình con mỗi chương trình xử lý ngắt đều có một nhãn riêng được đánh dấu tại điểm đầu của chương trình. Nhãn này được khai báo bằng lệnh INT. Tất cả các lệnh nằm giữa nhãn và lệnh quay về không điều kện RETI đều thuộc nội dung của chương trình xử lý ngắt. Có thể kết thúc chương trình xử lý ngắt sớm hơn bằng lệnh CRETI nhưng lệnh RETI vẫn là lệnh kết thúc chương trình xử lý ngắt tuy nhiên lệnh này không cần khai báo. Chương trình xử lý ngắt cần phải được viết một cách tối ưu, càng ngắn càng tốt.

Lệnh Mô tả Toán hạng Kiểu dữ liệuLệnh khai báo chế độ ngắtINT: khối ngắt hay chương trình xử lý ngắtEVENT: kiểu ngắt

INT: 0 – 127EVENT: CPU21x: 0 – 26CPU22x: 0 - 33

BYTE

Lệnh huỷ ngắt cục bộ tương ứng với kiểu ngắt EVENT

EVENT: CPU21x: 0 – 26CPU22x: 0 - 33

BYTE

Page 45: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Lệnh kích ngắt toàn cục hay thực hiện các chương trình ngắt

Không Không

Huỷ tất cả các ngắt cùng một lúc Không Không

Lệnh thoát tức thời khỏi chế độ ngắt khi chương trình ngắt chưa kết thúc

Không Không

Lệnh kết thúc chương trình ngắt Không Không

Ví dụ về cách tổ chức một chương trình xử lý ngắt:

Khai báo chương trình ngắt

Chương trình ngắt INT_0

Page 46: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

CHƯƠNG 3: CÁC ỨNG DỤNG CHUYÊN DÙNG TRÊN PLC

I. XỬ LÝ TÍN HIỆU ANALOG:

Tín hiệu analog là tín hiệu tương tự (0 ÷ 10VDC, 4 ÷ 20mA,…), hầu hết các PLC đều phải hỗ trợ các công cụ xử lý tín hiệu analog, đối với PLC S7-200 thì đó là các module analog. Module analog thực chất là các bộ biến đổi tương tự/số thực hiện việc chuyển đổi các tín hiệu tương tự sang số để thực hiện các hoạt động tính toán bên trong PLC. Có hai loại module analog tương ứng với các chức năng này là module đọc và xuất tín tín hiệu analog.

1. Đọc tín hiệu analog:Để đọc tín hiệu analog vào PLC ta cần có bộ chuyển đổi tín hiệu không điện thành tín hiệu điện

(sensor nhiệt độ, áp suất…), bộ chuyển đổi tín hiệu điện tiêu chuẩn (PT350…) và module đầu vào analog. S7-200 hỗ trợ hai môdule đọc tín hiệu analog là EM231 và EM235

Nguyên lý đọc tín hiệu analog:

Đọc tín hiệu đầu vào với module EM231, EM235:

Tín hiệu không điện

Cảmbiến

Bộ chuyển

đổi

Module analog

Page 47: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Các chức năng trên module EM231, EM235:

Module Thành phần Mô tảA+, A-, RA Đầu vào tương tự B+, B-, RB Đầu vào tương tựC+, C-, RC Đầu vào tương tự

EM231, EM235

D+, D-, RC Đầu vào tương tựEM235 M0, V0, I0 Đầu ra tương tựEM231, EM235 Gain Chỉnh hệ số khuyếch đạiEM235 Offset Chỉnh trôi điểm khôngEM231, EM235 Switch cấu hình(configuration) Chọn dải tín hiệu và độ phân giải

1.1. Sơ đồ đấu dây:

Page 48: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

1.2. Bảng cấu hình chọn dải tín hiệu đầu vào:

Module EM231:

- Tín hiệu đơn cực: 0 ÷ 10V, 0 ÷ 5V, 0 ÷ 20mA- Tín hiệu lưỡng cực: -5 ÷ 5V,- 2.5 ÷ 2.5V

Module EM235:

Chọn dải tín hiệu và độ phân giải:

SW6: Chọn tín hiệu đơn cực hay lưỡng cựcSW4, SW5: Chọn hệ số khuyếch đạiSW1, SW2, SW3: Chọn hệ số suy giảm

Page 49: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

1.3. Định dạng dữ liệu đầu vào:

Module Analog Input của S7-200 chuyển dải tín hiệu đo đầu vào (áp, dòng) đơn cực thành giá trị số từ 0 ÷ 32000 và đầu vào lưỡng cực thành giá trị số từ -32000 ÷ 32000

1.4. Căn chỉnh tín hiệu đầu vào:

Để căn chỉnh tín hiệu đầu vào ta xây dựng phương trình đường thẳng tuyến tính giá trị cần xác định theo giá trị số đọc được từ đầu vào analog. Để xây dựng đường thẳng tuyến tính ta chỉ cần đọc hai giá trị đầu vào tương ứng với hai giá trị không điện. Các bước thực hiện việc căn chỉnh như sau:

Kết nối các cảm biến và bộ chuyển đổi theo sơ đồ. Chọn dải giá trị và loại tín hiệu. Online với PLC và đọc hai giá trị đầu vào tương ứng. Xây dựng phương trình.

Các ký hiệu sử dụng để tính toán: A_In: Giá trị analog đầu vào cần xác định. A_Min: Giá trị giới hạn dưới của giá trị đầu vào tương tự. A_Max: Giá trị giới hạn trên của giá trị đầu vào tương tự. D_out: Giá trị chuyển đổi bằng số của A_In. D_Min: Giá trị chuyển đổi bằng số của A_Min. D_Max: Giá trị chuyển đổi bằng số của A_Max.

Page 50: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Đồ thị tính toán:

Phương trình tính toán:

Ta xây dựng phương trình tính toán dạng y = ax + b với :

a= MinDMaxD

MinAMaxA

__

__

; x= D_Out – D_Min ;b = A_Min,

y là giá trị thực cần xác định.

2. Xuất tín hiệu analog: Ta có thể xuất tín hiệu qua module EM232 hoặc qua một cổng ra của EM235.

2.1. Sơ đồ đấu dây:

Đầu ra số (x)0 32000

0

150 C

24000

? C

Đầu vào analog( y ) oC

o

o

MinAMinDOutDMinDMaxD

MinAMaxAInA _)__(

__

___

Page 51: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

2.2. Định dạng dữ liệu đầu ra:

Module Analog Output của S7-200 chuyển dải tín hiệu đo đầu ra từ giá trị số từ -32000 ÷ 32000 đối với tín hiệu lưỡng cực và 0 ÷ 32000 đối với tín hiệu đơn cực thành tín hiệu điện ở đầu ra.

2.3. Xuất tín hiệu đầu ra:

Để căn chỉnh tín hiệu đầu vào ta xây dựng phương trình đường thẳng tuyến tính giá trị đầu ra theo các giá trị số trong chương trình. Các bước thực hiện các bước như sau:

Kết nối các cảm biến và bộ chuyển đổi theo sơ đồ.

Page 52: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Chọn loại tín hiệu. Lập đồ thị các giá trị đầu vào và đầu ra tương ứng. Xây dựng phương trình đường thẳng tuyến tính y = ax + b

- Phương trình tính toán:

- Các kí hiệu:

• A_Out: Giá trị analog đầu ra mong muốn.• A_Min: Giá trị giới hạn dưới của tín hiệu ra tương tự.• A_Max: Giá trị giới hạn trên của tín hiệu ra tương tự.• D_In: Giá trị bằng số tương ứng với A_Out.• D_Min: Giá trị bằng số tương ứng với A_Min.• D_Max: Giá trị bằng số tương ứng với A_Max.

- Đồ thị tính toán:

II. ĐỌC XUNG TỐC ĐỘ CAO:

Việc đọc xung tốc độ cao được thực hiện bằng bộ đếm xung tốc độ cao HSC để theo dõi và điều khiển các quá trình tốc độ cao mà PLC không thể khống chế được do hạn chế về thời gian của vòng quét.

Nguyên tắc hoạt động của bộ đếm tốc độ cao cũng tương tự như các bộ đếm thông thường khác tức là cũng đếm theo sườn lên của tín hiệu đầu vào, số đếm sẽ được ghi nhớ vào một ô nhớ đặc kiểu từ kép và gọi là giá trị đếm tức thời ký hiệu là CV. Khi giá trị đếm tức thời bằng giá trị đặt trước thì bộ đếm phát ra một tín hiệu kích ngắt. Giá trị đặt trước là một số nguyên 32 bit cũng được lưu vào một ô nhớ kiểu từ kép và ký hiệu PV.

Đầu ra tương tự (x) - V0 10

0

32000

8

?

Giá trị bằng số cần đưa ra ( y )

MinDMinAOutAMinAMaxA

MinDMaxDInD _)__(

__

___

Page 53: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Mỗi bộ đếm có nhiều chế độ làm việc khác nhau, chọn chế độ làm việc cho bộ đếm bằng lệnh HDEF. Từng chế độ làm việc lại có các kiểu hoạt động khác nhau. Kiểu hoạt động của mỗi bộ đếm được xác định bằng nội dung của một byte điều khiển nằm trong vùng nhớ đăc biệt được khai báo bằng lệnh HSC. Chỉ có thể kích bộ đếm sau khi đã khai báo chế độ làm việc và định nghĩa kiểu hoạt động cho từng chế độ trong byte điều khiển.

Nếu chế độ ngắt vào/ra với bộ đếm được khai báo sử dụng, các tín hiệu ngắt sau đây sẽ được phát: - Ngắt khi CV = PV- Ngắt khi có tín hiệu báo thay đổi hướng đếm từ cổng vào bên ngoài - Ngắt khi có tín hiệu báo xóa (reset) từ cổng vào

1. Khai báo sử dụng bộ đếm HSC:

Có thể khai báo sử dụng HSC trong chương trình chính hoặc chương trình con và nên thực hiện trong vòng quét đầu tiên, các bước khai báo như sau:

- Nạp giá trị điều khiển vào byte điều khiển.- Xác định chế độ làm việc cho bộ đếm bằng lệnh HDEF.- Nạp giá trị đếm tức thời và giá trị đặt trước vào các bộ nhớ CV và PV.- Kích bộ đếm bằng lệnh HSC.

Ngoài ra có thể khai báo sử dụng bộ đếm bằng định dạng Wizard như sau :

Việc khai báo bằng định dạng Wizard trong chương trình sẽ tự tạo một chương trình con tương tự như trên.

Page 54: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Sau khi được kích bộ đếm HSC bắt đầu làm việc và sử dụng một byte trong vùng nhớ đặc biệt quy định cho từng bộ đếm để thông báo trạng thái hoạt động của bộ đếm.

2. Các chế độ hoạt động của bộ đếm HSC:

Có tất cả 12 chế độ hoạt động của bộ đếm tốc độ cao được cho trong bảng sau:

Chế độ 0, 1, 2: đếm một pha với hướng đếm được xác định bởi bit nội:- Chế độ 0: Chỉ đếm tăng hay giảm, không có bit Start hay Reset.- Chế độ 1: Đếm tăng hay giảm, có bit Reset nhưng không có bit Star.- Chế độ 2: Đếm tăng hay giảm, có bit Reset và Start để cho phép chọn thời điểm bắt đầu

cũng như kết thúc đếm, các tín hiệu Start và Reset được chọn từ bên ngoài. Chế độ 3, 4, 5: Đếm một pha với hướng đếm được chọn từ bên ngoài qua các ngõ vào:

- Chế độ 3: Chỉ đếm tăng hay giảm, không có bit Start hay Reset.- Chế độ 4: Đếm tăng hay giảm, có bit Reset nhưng không có bit Start.- Chế độ 5: Đếm tăng hay giảm, có bit Reset và Start để cho phép chọn thời điểm bắt đầu

cũng như kết thúc đếm,các tín hiệu Start và Reset được chọn từ bên ngoài Chế độ 6, 7, 8: Dùng đếm 2 pha với hai đầu vào chọn chiều đếm, một đầu đếm lên và một

đầu đếm xuống:- Chế độ 6: Đếm 2 pha không có bit reset bit Start .- Chế độ 7: Đếm 2 pha, có bit Reset nhưng không có bit Start.- Chế độ 8: Đếm 2 pha, có bit Reset và Start để cho phép chọn thời điểm bắt đầu cũng

như kết thúc đếm, các tín hiệu Start và Reset được chọn từ bên ngoài. Chế độ 9, 10, 11: Đếm xung A/B của Encoder: Đếm số lần lệch trạng thái giữa hai cổng

vào tương ứng với hai xung A/B tức là thực hiện phép toán XOR giữa hai trạng thái đầu vào, có hai dạng:

Page 55: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

Dạng 1(Quadrature 1x mode): Đếm tăng 1 khi có xung A/B quay theo chiều thuận và đếm giảm 1 khi có xung A/B quay theo theo chiều ngược.

Dạng 2(Quadrature 4x mode): Đếm tăng 4 khi có xung A/B quay theo chiều thuận và đếm giảm 1 khi có xung A/B quay theo theo chiều ngược.- Chế độ 9: Chỉ đếm tăng hay giảm, không có bit Start hay Reset.- Chế độ 10: Đếm tăng hay giảm, có bit Reset nhưng không có bit Start- Chế độ 11: Đếm tăng hay giảm, có bit Reset và Start để cho phép chọn thời gian.

Chế độ 12: Chỉ áp dụng đối với HSC0 và HSC3, HSC0 đếm số xung phát ra từ Q0.0 và HSC3 đếm số xung phát ra từ Q0.1 ở chế độ phát (xung nhanh ) mà không cần kết nối phần cứng và PLC đã tự kiểm tra bên trong.

3. Các vùng nhớ dữ liệu dùng cho bộ đếm tốc độ cao:

HSC0Địa chỉ SM Mô tảSMB36 Thông báo trạng thái hoạt động của bộ đếmSM36.0-4 Không sử dụngSM36.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiếnSM36.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PVSM36.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PVSMB37 Byte điều khiển: xác định kiểu hoạt động của HSC0SM37.0-2 Không sử dụngSM37.3 Chiều đếm: 0 – đếm lùi 1 – đếm tiếnSM37.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phépSM37.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phépSM37.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phépSM37.7 0 – cho phép hủy bộ đếm, 1 – cho phép kíchSMD38 Lưu giá trị đếm tức thời CVSMD42 Giá trị đặt trước PVHSC1SMB46 Thông báo trạng thái hoạt động của bộ đếmSM46.0 - 4 Không sử dụngSM46.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiếnSM46.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PVSM46.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PVSMB47 Byte điều khiển: xác định kiểu hoạt động của HSC1SM47.0 Kiểu reset của đầu vào I1.0: 0 – reset khi I1.0 = 1, 1 – reset khi I1.0 = 0SM47.1 Kiểu start của đầu vào I1.1: 0 – reset khi I1.1 = 1, 1 – reset khi I1.1 = 0SM47.2 Chọn hệ số đếm lệch pha: 0 – 4x số pha lệch, 1 – 1x số pha lệchSM47.3 Chiều đếm: 0 – đếm lùi1 – đếm tiếnSM47.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phépSM47.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phépSM47.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phépSM47.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích

Page 56: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

SMD48 Lưu giá trị đếm tức thời CVSMD52 Giá trị đặt trước PVHSC2SMB56 Thông báo trạng thái hoạt động của bộ đếmSM56.0-4 Không sử dụngSM56.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiếnSM56.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PVSM56.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PVSMB57 Byte điều khiển: xác định kiểu hoạt động của HSC2SM57.0 Kiểu reset của đầu vào I1.0: 0 – reset khi I1.0 = 1, 1 – reset khi I1.0 = 0SM57.1 Kiểu start của đầu vào I1.1: 0 – reset khi I1.1 = 1, 1 – reset khi I1.1 = 0SM57.2 Chọn hệ số đếm lệch pha: 0 – 4x số pha lệch, 1 – 1x số pha lệchSM57.3 Chiều đếm: 0 – đếm lùi1 – đếm tiếnSM57.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phépSM57.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phépSM57.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phépSM57.7 0 – cho phép hủy bộ đếm, 1 – cho phép kíchSMD58 Lưu giá trị đếm tức thời CVSMD62 Giá trị đặt trước PVHSC3SMB136 Thông báo trạng thái hoạt động của bộ đếmSM136.0-4 Không sử dụngSM136.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiếnSM136.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PVSM136.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PVSMB137 Byte điều khiển: xác định kiểu hoạt động của HSC0SM137.0-2 Không sử dụngSM137.3 Chiều đếm: 0 – đếm lùi1 – đếm tiếnSM137.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phépSM137.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phépSM137.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phépSM137.7 0 – cho phép hủy bộ đếm, 1 – cho phép kíchSMD138 Lưu giá trị đếm tức thời CVSMD142 Giá trị đặt trước PVHSC4SMB146 Thông báo trạng thái hoạt động của bộ đếmSM146.0-4 Không sử dụngSM146.5 Chiều đang đếm: 0 – đếm lùi,1 – đếm tiếnSM146.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PVSM146.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PVSMB147 Byte điều khiển: xác định kiểu hoạt động của HSC1SM147.0 Kiểu reset của đầu vào I0.4: 0 – reset khi I0.4 = 1, 1 – reset khi I0.4 = 0SM147.1 Không dùng

Page 57: S7 200 optimize

Công ty TNHH TM&DVKT TỐI ƯU - Optimize50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà NẵngTel: 05113.735766; Fax: 05113.739967;Email: [email protected] ; website: http://optimize.com.vn

http://www.optimize.com.vn Optimizing your system optimizing your money

SM147.2 Chọn hệ số đếm lệch pha: 0 – 4x số pha lệch, 1 – 1x số pha lệchSM147.3 Chiều đếm: 0 – đếm lùi1 – đếm tiếnSM147.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phépSM147.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phépSM147.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phépSM147.7 0 – cho phép hủy bộ đếm, 1 – cho phép kíchSMD148 Lưu giá trị đếm tức thời CVSMD152 Giá trị đặt trước PVHSC5SMB156 Thông báo trạng thái hoạt động của bộ đếmSM156.0-4 Không sử dụngSM156.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiếnSM156.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PVSM156.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PVSMB157 Byte điều khiển: xác định kiểu hoạt động của HSC2SM157.0-2 Không dùngSM157.3 Chiều đếm: 0 – đếm lùi1 – đếm tiếnSM157.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phépSM157.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phépSM157.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phépSM157.7 0 – cho phép hủy bộ đếm, 1 – cho phép kíchSMD158 Lưu giá trị đếm tức thời CVSMD162 Giá trị đặt trước PV

4. Ví dụ về cách khai báo sử dụng bộ đếm HSC: