80
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ GVHD : TS. Nguyễn Thiện Thành SV : Nguyễn Phước Lộc MSSV : 40901457 TP.HCM - 08/2013

Báo cáo TTTN lập trình S7300 và hệ thống SCADA

  • Upload
    bau-loc

  • View
    1.897

  • Download
    7

Embed Size (px)

DESCRIPTION

Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Citation preview

Page 1: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN – ĐIỆN TỬ

GVHD : TS. Nguyễn Thiện Thành

SV : Nguyễn Phước Lộc

MSSV : 40901457

TP.HCM - 08/2013

Page 2: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

i

LỜI CẢM ƠN

Được sự hỗ trợ và giúp đỡ của Công ty TNHH Kỹ Thuật PLC Việt Nam, em đã có cơ hội

được nghiên cứu và tìm hiểu về hệ thống PLC và SCADA của Siemens Automation trong quá trình

thực tập tốt nghiệp.

Đầu tiên em xin gửi lời cảm ơn chân thành nhất đến anh Trần Văn Hiếu, người đã tận tình

giúp đỡ, hướng dẫn em trong thời gian thực tập tại công ty.

Em cũng xin cảm ơn thầy Phạm Phú Thọ và các anh chị trong Công ty TNHH Kỹ Thuật

PLC Việt Nam đã giúp đỡ em trong suốt quá trình thực tập.

Ngoài ra em cũng xin cảm ơn thầy Nguyễn Thiện Thành, người đã định hướng, giúp đỡ để

em có thể hoàn thành khóa thực tập này.

Cuối cùng em cũng xin cảm ơn sự giúp đỡ và hỗ trợ nhiệt tình của các bạn trong nhóm thực

tập .

Tp.HCM, ngày 10 tháng 08 năm 2013.

Em xin chân thành cảm ơn.

Page 3: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

ii

PHIẾU ĐÁNH GIÁ KẾT QUẢ THỰC TẬP NHẬN XÉT CỦA CÔNG TY TNHH KỸ THUẬT PLC VIỆT NAM:

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

ĐIỂM ĐÁNH GIÁ:

Người hướng dẫn: K.Sư Trần Văn Hiếu

Xác nhận của đơn vị thực tập

Page 4: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

iii

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN:

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

...............................................................................................................................................

Page 5: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

iv

NỘI DUNG THỰC TẬP

- Tìm hiểu về PLC S7-300, lập trình các hệ thống MPS 300 bằng phần mềm TIA Portal

- Sử dụng phần mềm WinCC 7.0 để thiết kế hệ thống điều khiển giám sát

- Tìm hiểu về các phần mềm OPC: Kepware, IBH OPC

- Tìm hiểu các chuẩn truyền thông MPI, Profinet

Page 6: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

MỤC LỤC

LỜI CẢM ƠN i

PHIẾU ĐÁNH GIÁ KẾT QUẢ THỰC TẬP ii

NỘI DUNG THỰC TẬP iv

PHẦN 1 LẬP TRÌNH PLC S7-300 VÀ PHẦN MỀM SCADA 7

CHƯƠNG 1 LẬP TRÌNH SCL S7-300 TRÊN STEP7 MANAGER 7

CHƯƠNG 2 LẬP TRÌNH S7-300 TRÊN PHẦN MỀM TIA PORTAL 13

1). Giới thiệu về phần mềm TIA portal ............................................................................ 13

2). Sử dụng TIA portal để cấu hình cho các trạm MPS 300 ............................................. 13

CHƯƠNG 3 KẾT NỐI CÁC PHẦN MỀM SCADA VỚI S7300 VÀ OPC SERVER 17

I) GIAO TIẾP S7-300 VỚI CÁC PHẦN MỀM SCADA THÔNG QUA CÁP USB MPI 17

1. Kết nối S7-300 với WinCC ......................................................................................... 17

2. Kết nối S7-300 với các phần mềm SCADA khác ....................................................... 19

A. Cấu hình các thông số trên phần mềm IBH OPC Server......................................... 20

B. Cấu hình trên phần mềm Citect SCADA để liên kết với IBH OPC ........................ 24

II) GIAO TIẾP S7-300 VỚI CÁC PHẦN MỀM SCADA THÔNG QUA CÁP

ETHERNET ........................................................................................................................... 27

A. Cấu hình cho PLC ....................................................................................................... 27

B. Cấu hình cho máy tính ................................................................................................ 32

C. Cấu hình cho OPC Server ........................................................................................... 33

CHƯƠNG 4 TRAO ĐỔI DỮ LIỆU TỪ WINCC VÀ SQL DATABASE 37

PHẦN 2 LẬP TRÌNH ĐIỀU KHIỂN VÀ GIÁM SÁT TRẠM MPS 44

A. TRẠM CUNG CẤP 44

1. Chức năng .................................................................................................................... 44

2. Các module và I/O........................................................................................................ 45

3. Lập trình chương trình điều khiển ................................................................................ 48

4. Thiết kế chương trình giám sát ..................................................................................... 57

B. TRẠM PHÂN LOẠI SẢN PHẪM 60

1) Chức năng .................................................................................................................... 61

2) Các module và I/O........................................................................................................ 61

3) Lập trình chương trình điều khiển ................................................................................ 63

4) Thiết kế chương trình giám sát ..................................................................................... 69

C. TRẠM BỒN NƯỚC - EDUKIT PA 72

1. Giới thiệu hệ thống bồn nước: ...................................................................................... 72

2. Cấu tạo: ........................................................................................................................ 72

3. Kết nối hệ thống với PLC S7-300: ............................................................................... 76

4. Giải thuật PID ổn định mực nước và lập trình khối PID bằng Ngôn ngữ SCL ........... 77

Page 7: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 1 Lập trình SCL S7300 trên Step7

SV: Nguyễn Phước Lộc trang 7 GVHD: TS. Nguyễn Thiện Thành

PHẦN 1 LẬP TRÌNH PLC S7-300 VÀ PHẦN MỀM SCADA

CHƯƠNG 1 LẬP TRÌNH SCL S7-300 TRÊN STEP7 MANAGER

Ngôn ngữ SCL (STRUCTURED CONTROL LANGUAGE) là một cách lập trình của

Step7 bên cạnh các cách lập trình khác như LAD, STL, FBD, GRAPH.

Cách viết chương trình SCL dựa theo Pascal , thường ứng dụng để viết các thuật toán

phức tạp , các hàm toán học, quản lý dữ liệu và công thức pha chế, tối ưu quá trình.

Chương trình SCL đặt trong folder Sources.

Để viết một chương trình SCL ta click phải vào khối Source và chọn như hình:

Page 8: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 1 Lập trình SCL S7300 trên Step7

SV: Nguyễn Phước Lộc trang 8 GVHD: TS. Nguyễn Thiện Thành

Một chương trình theo ngôn ngữ SCL có cấu trúc như sau:

FUNCTION FC1: VOID

VAR_INPUT

IN1: INT;

END_VAR

VAR_OUTPUT

OUT1: INT;

END_VAR

VAR_IN_OUT

IN_OUT1: INT;

END_VAR

VAR_TEMP

TEMP1: INT;

END_VAR

BEGIN

END_FUNCTION

Để có được cấu trúc như trên ta thực hiện như hình sau:

Page 9: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 1 Lập trình SCL S7300 trên Step7

SV: Nguyễn Phước Lộc trang 9 GVHD: TS. Nguyễn Thiện Thành

Ví dụ sau đây trình bày cách viết khối FC3 có chức năng gộp (combine) hai kiểu dữ liệu từ đầu

vào là kiểu DATE và kiểu TIME_OF_DAY thành một kiểu dữ liệu duy nhất là DATE_AND_TIME.

** Kiểu dữ liệu dạng DATE được lưu trữ trong S7 bằng 1 word ( 2byte). Giá trị của ô nhớ

chứa kiểu dữ liệu dạng này sẽ là số ngày tính từ mốc 01-01-1990 (ô nhớ này chứa giá trị 0 sẽ là

ngày 01-01-1990).

Định dạng của kiểu dữ liệu này là DATE# hoặc D#

Ví dụ ô nhớ MW0 chứa kiểu dữ liệu là DATE, và giá trị của ô nhớ này là 5, thì có nghĩa là

ngày được lưu ở MW0 là ngày 06-01-1990, tương tự giá trị 200 sẽ là ngày 20-07-1990.

** Kiểu dữ liệu TIME_OF_DAY được lưu trữ trong S7 bằng 2word (4byte), cho biết thời gian

trong 1 ngày. Giá trị của ô nhớ chứa kiểu dữ liệu dạng này sẽ là tổng số milisecond.

Định dạng của kiểu dữ liệu này là TIME_OF_DAY# hoặc TOD#

Page 10: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 1 Lập trình SCL S7300 trên Step7

SV: Nguyễn Phước Lộc trang 10 GVHD: TS. Nguyễn Thiện Thành

Ví dụ ô nhớ MD0 chứa kiểu dữ liệu dạng TIME_OF_DAY và giá trị của ô nhớ này là 3 600

000 thì có nghĩa thời gian đang là 1 giờ ( 60*60*1000), hay nói cách khác có nghĩa là nếu ta move

TOD#1:00:00 vào ô nhớ MD0 thì ô nhớ này có giá trị là 3 600 000

** Kiểu dữ liệu DATE_AND_TIME được lưu trữ theo mãng gồm 8 byte BCD liên tiếp:

Bytes Content Range

0 Year 1990 to 2089

1 Month 01 to 12

2 Day 1 to 31

3 Hour 0 to 23

4 Minute 0 to 59

5 Second 0 to 59

6 2 MSD (most

significant

decade) of ms

00 to 99

7 (4 MSB) LSD (least

significant

decade) of ms

0 to 9

7 (4 LSB) Weekday 1 to 7 (1 = Sunday)

FUNCTION FC3 : DATE_AND_TIME VAR_INPUT IN_TIME: TOD; IN_DATE: DATE; END_VAR VAR_TEMP IN_DATE_TEMP : DATE; DATE_VALUE AT IN_DATE_TEMP : INT; y,m, ddd, mm, dd, mi : DINT; g : DINT; day : DINT; month : DINT; year : DINT; IN_TIME_TEMP : TOD; TIME_VALUE AT IN_TIME_TEMP : DINT; totalSeconds , totalMinutes : DINT; currentMinute , currentSecond , currentMiliSec, totalHours :INT; MSD_milisec, LSD_milisec, Other : INT; S, Ngay_Trong_Tuan : DINT; so_ngay_tinh_tu_dau_nam : DINT; OUT_DATE_TIME : DATE_AND_TIME; // Tạo con trỏ để trỏ về 8 byte lưu trữ của kiểu DATE_AND_TIME

STUFF AT OUT_DATE_TIME : STRUCT Year : BYTE; Month : BYTE; Day : BYTE; Hour : BYTE;

Page 11: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 1 Lập trình SCL S7300 trên Step7

SV: Nguyễn Phước Lộc trang 11 GVHD: TS. Nguyễn Thiện Thành

Minute : BYTE; Second : BYTE; MilliSecond : BYTE; Other : BYTE;

END_STRUCT; END_VAR

BEGIN //** DATE ** //

IN_DATE_TEMP := IN_DATE; //** Các công thức sau trả về chính xác ngày – tháng - năm từ số ngày cách từ mốc 01-01-1990 ** //

g := DATE_VALUE + 142385;

Ngay_Trong_Tuan := (g MOD 7) + 4;

y := TRUNC((10000*g + 14780)/3652425);

ddd := g - TRUNC(365*y + y/4 - y/100 + y/400);

IF (ddd < 0) THEN

y := y - 1;

ddd := g - TRUNC(365*y + y/4 - y/100 + y/400);

END_IF;

mi := TRUNC((100*ddd + 52)/3060);

month := ((mi + 2) MOD 12) + 1;

year := 1600 + y + TRUNC((mi + 2)/12);

day := ddd - TRUNC((mi*306 + 5)/10) + 1;

Other := DINT_TO_INT(Ngay_Trong_Tuan) + LSD_milisec*256; // Loại bỏ 2 chữ số đầu của năm để lưu trữ thành 1 byte //

// 90 -> 99 là 1990 - > 1999//

// 00 -> 89 là 2000 - > 2089//

IF ( year >=1900 & year < 2000 ) THEN

year := year - 1900;

ELSIF ( year >= 2000 ) THEN

year := year - 2000;

END_IF; // Code sau sẽ trả về thứ (day of week), chủ nhật tương ứng số 1 ..//

CASE (DINT_TO_INT(Ngay_Trong_Tuan)) OF

4: Ngay_Trong_Tuan := 4;

5: Ngay_Trong_Tuan := 5;

6: Ngay_Trong_Tuan := 6;

7: Ngay_Trong_Tuan := 7;

8: Ngay_Trong_Tuan := 1;

9: Ngay_Trong_Tuan := 2;

10: Ngay_Trong_Tuan := 3;

END_CASE;

//** Trả về thời gian từ tổng số milisecond ** //

IN_TIME_TEMP := IN_TIME;

Page 12: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 1 Lập trình SCL S7300 trên Step7

SV: Nguyễn Phước Lộc trang 12 GVHD: TS. Nguyễn Thiện Thành

totalSeconds := TRUNC(TIME_VALUE / 1000);

currentMiliSec := DINT_TO_INT(TIME_VALUE MOD 1000);

currentSecond := DINT_TO_INT(TRUNC((totalSeconds MOD 60)));

totalMinutes := DINT_TO_INT(totalSeconds / 60);

currentMinute := DINT_TO_INT(TRUNC(totalMinutes MOD 60));

totalHours := DINT_TO_INT(TRUNC(totalMinutes / 60));

// Tách MSD và LSD của curentMilisec để lưu trữ vào byte thứ 6 và byte thứ 7

LSD_milisec := currentMiliSec MOD 10 ;

MSD_milisec := (currentMiliSec - LSD_milisec) / 10 ;

// trả về giá trị cho khối

STUFF.Year := DINT_TO_BYTE(year);

STUFF.Month := DINT_TO_BYTE(month);

STUFF.Day := DINT_TO_BYTE(day);

STUFF.Hour := INT_TO_BYTE(totalHours);

STUFF.Minute := INT_TO_BYTE(currentMinute);

STUFF.Second := INT_TO_BYTE(currentSecond);

STUFF.MilliSecond := INT_TO_BYTE(MSD_milisec);

STUFF.Other := INT_TO_BYTE(Other);

FC10 := OUT_DATE_TIME;

END_FUNCTION // Debug để kiểm chứng kết quả

ORGANIZATION_BLOCK OB1

VAR_TEMP // Reserved info : ARRAY[0..19] OF BYTE; // Temporary Variables TEMPX : DATE_AND_TIME; END_VAR

TEMPX := FC3( IN_TIME:= TOD#2:0:0, IN_DATE:= D#2000-01-01);

END_ORGANIZATION_BLOCK

Page 13: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 2 Lập trình S7-300 trên phần mềm TIA portal

SV: Nguyễn Phước Lộc trang 13 GVHD: TS. Nguyễn Thiện Thành

CHƯƠNG 2 LẬP TRÌNH S7-300 TRÊN PHẦN MỀM TIA PORTAL

1). Giới thiệu về phần mềm TIA portal

Phần mềm TIA portal là phần mềm tự động hóa tích hợp vừa được hãng Siemens

giới thiệu vào cuối năm 2010. Chức năng của phần mềm vừa có thể lập trình cho các dòng PLC

của hãng như S7-200, S7-300/400, S7-1200 vừa lập trình cho HMI trên một giao diện thống nhất.

2). Sử dụng TIA portal để cấu hình cho các trạm MPS 300

Khởi động phần mềm TIA Portal và tạo project mới

chọn “Configure a device”

Page 14: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 2 Lập trình S7-300 trên phần mềm TIA portal

SV: Nguyễn Phước Lộc trang 14 GVHD: TS. Nguyễn Thiện Thành

Chọn CPU, sau đó ấn Enter

Ta được giao diện như hình sau:

Page 15: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 2 Lập trình S7-300 trên phần mềm TIA portal

SV: Nguyễn Phước Lộc trang 15 GVHD: TS. Nguyễn Thiện Thành

Bước tiếp theo ta thêm module DI/DO và module truyền thông vào:

+ Kéo và thả module DI/DO vào rack thứ 4

+ Kéo và thử module truyền thông vào rack thứ 5

Page 16: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 2 Lập trình S7-300 trên phần mềm TIA portal

SV: Nguyễn Phước Lộc trang 16 GVHD: TS. Nguyễn Thiện Thành

Vậy là ta đã hoàn thành việc cấu hình phần cứng cho các trạm MPS, công đoạn cuối cùng

là download cấu hình này xuống cho PLC.

Page 17: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 17 GVHD: TS. Nguyễn Thiện Thành

CHƯƠNG 3 KẾT NỐI CÁC PHẦN MỀM SCADA VỚI S7300 VÀ OPC

SERVER

I) GIAO TIẾP S7-300 VỚI CÁC PHẦN MỀM SCADA

THÔNG QUA CÁP USB MPI

1. Kết nối S7-300 với WinCC

Đối với phần mềm WinCC thì có thể giao tiếp trực tiếp với S7-300 qua driver S7 Protocol Suite.

Các bước cấu hình trên WinCC để giao tiếp với S7-300:

a) Tạo một project mới

b) Add driver để liên kết PC với S7

c) Tạo một kết nối, đặt tên, chỉnh các thông số trong Properties cho phù hợp

Page 18: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 18 GVHD: TS. Nguyễn Thiện Thành

d) Tạo các Tag để liên kết với PLC

Page 19: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 19 GVHD: TS. Nguyễn Thiện Thành

2. Kết nối S7-300 với các phần mềm SCADA khác

Đối với các phần mềm SCADA khác thì phải kết nối thông qua các OPC Server.

Phần sau đây sẽ trình bày kết nối giữa S7-300 với phần mềm Citect SCADA thông qua

OPC Server.

Trong các phần mềm OPC server thì Kepware OPC được sử dụng rộng rãi do hỗ trợ rất

nhiều driver kết nối và tài liệu hướng dẫn đi kèm ( hơn 160 loại PLC ). Mặc dù vậy cho đến phiên

bản mới nhất hiện nay là KEPserverEX v5.12 vẫn chưa hỗ trợ kết nối với PLC S7-300 thông qua

cáp USB MPI.

Page 20: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 20 GVHD: TS. Nguyễn Thiện Thành

Phần sau sẽ trình bày cách kết nối Citect SCADA với PLC S7-300 qua phần mềm IBH OPC

Server.

A. Cấu hình các thông số trên phần mềm IBH OPC Server

a) Trên giao diện chính của phần mềm

b) Chọn S7 Simatic NET

Page 21: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 21 GVHD: TS. Nguyễn Thiện Thành

c) Cấu hình kết nối

d) Set PG/PC interface …

e) Sau khi hoàn thành các bước trên ta click vào nút “Test PLC connection” để kiểm tra kết

nối đã thành công hay chưa. Thông báo sau trả về đúng số hiệu PLC, nghĩa là kết nối đã thành

công.

Page 22: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 22 GVHD: TS. Nguyễn Thiện Thành

Chú ý: Nếu ở bước này phần mềm báo kết nối không thành công hoặc báo về sai số

hiệu PLC thì ta phải kiểm tra lại cấu hình phần cứng của PLC như slot, địa chỉ MPI

f) Tạo các Tag để liên kết với PLC

Page 23: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 23 GVHD: TS. Nguyễn Thiện Thành

Ấn vào nút “Test variable” để kiểm tra giá trị hiện thời của Tag

Page 24: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 24 GVHD: TS. Nguyễn Thiện Thành

g) Bước cuối cùng là Transfer các cấu hình vừa cài đặt trên IBH OPC Editor xuống IBH OPC

server.

B. Cấu hình trên phần mềm Citect SCADA để liên kết với IBH OPC

a) Tạo một project mới trên Citect Explorer

b) Tạo các server: Clusters, IO Server …

Page 25: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 25 GVHD: TS. Nguyễn Thiện Thành

c) Tạo IO Device liên kết với IBH OPC Server (IBHSoftec.IBHOPC.DA)

d) Tạo các Tag

Page 26: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 26 GVHD: TS. Nguyễn Thiện Thành

Chú ý: Địa chỉ của các Tag sẽ có dạng “Tên PLC.Group.Item”.

Ví dụ: Tag có địa chỉ là PLC1.Generic.I0_0 ( do cách đặt tên ở phần mềm IBH OPC editor).

Page 27: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 27 GVHD: TS. Nguyễn Thiện Thành

II) GIAO TIẾP S7-300 VỚI CÁC PHẦN MỀM SCADA THÔNG

QUA CÁP ETHERNET

Sơ đồ kết nối:

Đối với các dòng CPU S7300 không hỗ trợ truyền thông qua Ethernet ta phải sử dụng module

truyền thông CP-343.

A. Cấu hình cho PLC

Phần sau đây trình bày cấu hình kết nối Ethernet trên CPU 315-2DP sử dụng phần mềm

TIA Portal.

a) Khởi động phần mềm TIA Portal và tạo project mới

Page 28: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 28 GVHD: TS. Nguyễn Thiện Thành

chọn “Configure a device”

Chọn CPU, sau đó ấn Enter

Page 29: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 29 GVHD: TS. Nguyễn Thiện Thành

Ta được giao diện như hình sau:

Bước tiếp theo ta thêm module DI/DO và module truyền thông vào:

+ Kéo và thả module DI/DO vào rack thứ 4

Page 30: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 30 GVHD: TS. Nguyễn Thiện Thành

+ Kéo và thử module truyền thông vào rack thứ 5

Cuối cùng ta đặt địa chỉ IP cho PLC, và download cấu hình xuống PLC

Click đúp vào cổng PROFINET và chọn Add new subnet

Page 31: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 31 GVHD: TS. Nguyễn Thiện Thành

Đặt địa chỉ IP

Download cấu hình xuống PLC

Page 32: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 32 GVHD: TS. Nguyễn Thiện Thành

B. Cấu hình cho máy tính

Thay đổi địa chỉ IP trên máy tính cho cùng lớp với địa chỉ IP trên PLC

Page 33: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 33 GVHD: TS. Nguyễn Thiện Thành

C. Cấu hình cho OPC Server

Phần mềm OPC server được sử dụng là KEPserverEX v5.12

Các bước tiến hành để cấu hình cho KEPserver liên kết với S7-300 qua cáp ethernet:

- Click đúp vào “add new channel” để tạo một kênh mới

- Đặt tên channel, mặc định là channel1

Chọn driver kết nối là “Siemens TCP/IP Ethernet”

Page 34: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 34 GVHD: TS. Nguyễn Thiện Thành

- Nhấp NEXT, các thông số khác chọn theo mặc định

- Tạo một device, chon model là S7-300

- Gõ vào địa chỉ IP của PLC

Page 35: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 35 GVHD: TS. Nguyễn Thiện Thành

- Các thông số khác để mặc định

- Tạo các Tag

Page 36: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 3 Kết nối các phần mềm SCADA với S7-300 và OPC server

SV: Nguyễn Phước Lộc trang 36 GVHD: TS. Nguyễn Thiện Thành

Kết thúc bước này ta có thể sử dụng các phần mềm SCADA như WinCC, Citect để liên

kết với PLC qua KEPserver OPC.

Chú ý:

Nếu Computer liên kết trực tiếp với S7-300 qua cáp ethernet thì cáp này phải là loại cáp

chéo.

Nếu PLC kết nối với modem thì sử dụng cáp thẳng.

Page 37: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 37 GVHD: TS. Nguyễn Thiện Thành

CHƯƠNG 4 TRAO ĐỔI DỮ LIỆU TỪ WINCC VÀ SQL DATABASE

Để trao đổi dữ liệu giữa WinCC và SQL

Khởi động phần mềm SQL Server và tạo cơ sỡ dữ liệu mới:

Page 38: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 38 GVHD: TS. Nguyễn Thiện Thành

Tạo cơ sở dữ liệu mới

Page 39: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 39 GVHD: TS. Nguyễn Thiện Thành

Đặt tên cở sở dữ liệu mới và ấn nút Add, OK.

Tạo một Table mới

Tạo 2 column là VALUE1, và VALUE2 sau đó ấn SAVE, đặt tên Table mới tạo là Table_1.

Page 40: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 40 GVHD: TS. Nguyễn Thiện Thành

Tiếp theo ta vào Control Panel\All Control Panel Items\Administrative Tools

Click đúp “Data Sources (ODBC)”

Nhấp Add, sau đó chọn SQL server và ấn Finish

Page 41: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 41 GVHD: TS. Nguyễn Thiện Thành

Các thông số khác để mặt định, tiếp theo ta chọn database vừa tạo trên SQL server

Page 42: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 42 GVHD: TS. Nguyễn Thiện Thành

Code trên winCC thực hiện việc xuất dữ liệu ra SQL

Option Explicit

Function action

Dim objConnection

Dim strConnectionString

Dim strSQL

Dim objCommand

Dim mday

Dim NewTag

Dim NewTag_1

mday = FormatDateTime(Now(),0)

strConnectionString ="Provider=MSDASQL;DSN=DEMO;UID=;PWD=;"

NewTag_1 = HMIRuntime.Tags("NewTag_1").Read

NewTag = HMIRuntime.Tags("NewTag").Read

strSQL = "INSERT INTO dbo.Table_1(VALUE1,VALUE2)VALUES('"&

NewTag & "','" & NewTag_1 & "');"

Set objConnection = CreateObject("ADODB.Connection")

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objCommand = CreateObject("ADODB.Command")

With objCommand

.ActiveConnection = objConnection

.CommandText = strSQL

End With

objCommand.Execute

Set objCommand = Nothing

Page 43: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Chương 4 Trao đổi dữ liệu từ WinCC và SQL Database

SV: Nguyễn Phước Lộc trang 43 GVHD: TS. Nguyễn Thiện Thành

objConnection.Close

Set objConnection = Nothing

End Function

Ở code trên ta lưu ý dòng:

DSN=DEMO

strSQL = "INSERT INTO dbo.Table_1(VALUE1,VALUE2)VALUES('"& NewTag

& "','" & NewTag_1 & "');"

với DEMO và Table_1 là tên cở sở dữ liệu và Table ta vừa tạo ở SQL server;

Code thực hiện việc đọc dữ liệu từ SQL về winCC

Option Explicit

Function action

Dim objConnection

Dim objCommand

Dim objRecordset

Dim strConnectionString

Dim strSQL

Dim IngValue

Dim IngCount

strConnectionString = "Provider=MSDASQL;DSN=DEMO;UID=;PWD=;"

strSQL = "select Value2 from Table_1 where ID =1" 'syntax to

record data: SELECT <Expression> FROM <Name of the table> WHERE

<Condition>

Set objConnection = CreateObject("ADODB.Connection")'establish a

connection to an SQL data source

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objRecordset = CreateObject("ADODB.Recordset")'used to

create, edit or delete databases or tables

Set objCommand = CreateObject("ADODB.Command")

objCommand.ActiveConnection = objConnection

objCommand.CommandText =strSQL

Set objRecordset = objCommand.Execute

IngCount = objRecordset.Fields.Count

If (IngCount>0)Then

objRecordset.movefirst

IngValue = objRecordset.Fields(0).Value

HMIRuntime.Tags("NewTag_1").Write IngValue

Else

HMIRuntime.Trace "Selection returned no fields" &vbNewLine

End If

Page 44: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 44 GVHD: TS. Nguyễn Thiện Thành

PHẦN 2 LẬP TRÌNH ĐIỀU KHIỂN VÀ GIÁM SÁT TRẠM MPS

A. TRẠM CUNG CẤP

1. Chức năng

Tách các chi tiết gia công khỏi ổ chứa.

Chuyển các chi tiết gia công bằng cơ cấu dẫn quay dùng giác hút.

Page 45: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 45 GVHD: TS. Nguyễn Thiện Thành

2. Các module và I/O

Mặt trước của trạm gồm:

- Bảng điều khiển

- Module PLC

- Nguồn cung cấp

Mặt trên của trạm gồm:

- Các van và ống dẫn khí

- Xilanh đẩy và ổ chứa phôi

- Các cảm biến và công tắc hành trình

- Tay quay gấp phôi

- Đèn thông báo và đồng hồ đo áp suất

Page 46: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 46 GVHD: TS. Nguyễn Thiện Thành

Mô tả trình tự khởi động và vận hành của trạm:

- Điều kiện tiên quyết cho khởi động:

Ổ chứa được đầy chi tiết phôi.

- Vị trí ban đầu:

Xylanh đẩy chi tiết phôi đi ra hết.

Dẫn động quay ở vị trí “ổ chứa”.

Chân không tắt.

Trình tự:

1) Dẫn động quay quay về vị trí trạm sau nếu chi tiết phôi được kiểm tra ở vị trí trong ổ

và nút “START” đã được ấn.

2) Xylanh đẩy co vào và đẩy chi tiết phôi ra khỏi ổ chứa.

3) Dẫn động quay, quay về vị trí “ổ chứa”.

4) Van tạo chân không được bật, khi chi tiết phôi đã được giữ chắc chắn, công tắc chân

không bật.

5) Xylanh đẩy đi ra và nhả một chi tiết phôi.

6) Dẫn động quay quay về vị trí trạm sau.

Địa chỉ các I/O của trạm:

Name Data

Type

Logical Address Comment

Mag_back Bool %I0.1 Ổ chứa ở vị trí sau

Mag_front Bool %I0.2 Ổ chứa ở vị trí trước

Vaccum Bool %I0.3 Một phôi được hút ở tay quay

Arm_take Bool %I0.4 Tay quay ở vị trí chứa phôi

Arm_put Bool %I0.5 Tay quay ở vị trí trạm kế tiếp

Mat_sen Bool %I0.6 ON khi không có phôi

Follow Bool %I0.7 Sensor phát hiện quang trong trạm sau

Feed Bool %Q0.0 Cuộn điện xi lanh ổ chưa

VacumON Bool %Q0.1 Cuộn điện hút chân không

VacumOFF Bool %Q0.2 Cuộn điện tắt hút chân không

Arm_Right Bool %Q0.4 Cuộn điện tay quay ở ổ chứa

Arm_Left Bool %Q0.3 Cuộn điện tay quay ở vị trí tiếp theo

STARTING Bool %M0.0 Tín hiệu cho thấy hệ thống đã sẵn sàng hoạt

động

Page 47: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 47 GVHD: TS. Nguyễn Thiện Thành

Địa chỉ các I/O trên bảng điều khiển:

Name Data

Type

Logical

Address

Comment

START_HARDWARE Bool %I1.0 Nút START điều khiển bằng phần

cứng

STOP_HARDWARE Bool %I1.1 Nút STOP điều khiển bằng phần

cứng

RESET_HARDWARE Bool %I1.3 Nút RESET điều khiển bằng phần

cứng

Hình bảng điều khiển ở mặt trước của trạm

Page 48: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 48 GVHD: TS. Nguyễn Thiện Thành

3. Lập trình chương trình điều khiển

+ Khối OB1 : chương trình điều khiển cho trạm.

+ Khối OB100 : chương trình chỉ chạy một lần khi hệ thống hoạt động, chứa chương trình

reset các tín hiệu, đặt các cơ cấu dẫn động về vị trí chờ khởi động.

Lập trình cho khối OB1:

Network 1,2,3,4,5 lập trình cho bảng điều khiển bằng phần cứng và phần mềm ( điều khiển trực

tiếp trên winCC ).

Page 49: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 49 GVHD: TS. Nguyễn Thiện Thành

Page 50: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 50 GVHD: TS. Nguyễn Thiện Thành

Khi có tín hiệu khởi động hệ thống và các điều kiện sau thỏa hệ thống sẽ bắt đầu hoạt động:

- Xilanh đang ở vị trí sau ( xilanh OFF – công tắc hành trình I0.1 ON )

- Cần quay gấp phôi đang ở hành trình phía bên phải ( công tắc hành trình I0.5 ON)

- Có phôi trong ổ chứa ( cảm biến I0.6 OFF )

Page 51: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 51 GVHD: TS. Nguyễn Thiện Thành

Xilanh đẩy chi tiết phôi ra từ ổ chứa, khi xilanh đi đến cuối hành trình thì công tắc hành trình

I0.2 sẽ ON, lúc này cần quay sẽ quay về phía bên trái.

Khi cần quay đã quay về phía bên trái thì công tắc hành trì I0.4 sẽ ON, lúc này ta kích cho

Q0.1 hoạt động để hút chân không.

Page 52: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 52 GVHD: TS. Nguyễn Thiện Thành

Khi phôi được hút thành công thì cảm biến I0.3 ON, cần quay sẽ quay về phía bên phải.

Khi cần quay đã quay hoàn toàn về phía bên phải, lúc này công tắc hành trình I0.5 ON, ta kích

Q0.2 để tắt tín hiệu hút chân không để nhả phôi.

Page 53: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 53 GVHD: TS. Nguyễn Thiện Thành

Khi có tín hiệu RESET thì đặt lại các tín hiệu cho hệ thống.

Page 54: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 54 GVHD: TS. Nguyễn Thiện Thành

Khi ấn nút STOP thì tắt các ngõ ra.

Page 55: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 55 GVHD: TS. Nguyễn Thiện Thành

Page 56: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 56 GVHD: TS. Nguyễn Thiện Thành

Lập trình cho khối OB100

Page 57: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 57 GVHD: TS. Nguyễn Thiện Thành

4. Thiết kế chương trình giám sát

Màn hình giám sát được thiết kế thành 3 phần chính: Bảng điều khiển, Trạm Cung Cấp,

và Trạm Nhận Phôi.

Các chuyển động trên màn hình giám sát được lập trình bằng C và VB.

Ví dụ về lập trình chuyển động xoay cho cần quay:

#include "apdefap.h"

int gscAction( void )

{

int top, left;

int trucquay;

BOOL xoaytrai;

trucquay = GetRotationAngle("MAIN.pdl","TRUCQUAY");

// An cac phoi dang di chuyen

SetVisible("MAIN.pdl","PHOI1",0);

SetVisible("MAIN.pdl","PHOI2",0);

SetVisible("MAIN.pdl","PHOI3",0);

SetVisible("MAIN.pdl","PHOI4",0);

SetVisible("MAIN.pdl","PHOI5",0);

SetVisible("MAIN.pdl","PHOI6",0);

SetVisible("MAIN.pdl","PHOI7",0);

SetVisible("MAIN.pdl","PHOI8",0);

SetVisible("MAIN.pdl","PHOI9",0);

Page 58: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 58 GVHD: TS. Nguyễn Thiện Thành

SetVisible("MAIN.pdl","PHOI10",0);

SetVisible("MAIN.pdl","PHOI11",0);

SetVisible("MAIN.pdl","PHOI12",0);

SetVisible("MAIN.pdl","PHOI13",0);

SetVisible("MAIN.pdl","PHOI14",0);

SetVisible("MAIN.pdl","PHOI15",0);

SetVisible("MAIN.pdl","PHOI16",0);

SetVisible("MAIN.pdl","PHOI17",0);

SetVisible("MAIN.pdl","PHOI18",0);

//trucquay_2 = GetRotationAngle("Root_Screen.pdl",TRUC_QUAY_2);

if(GetTagBit("STARTING")==1)

{

// Quay TRAI

if (GetRotationAngle("MAIN.pdl","TRUCQUAY") == 0

&& GetTagBit("ARM_PUT") == 1 )

{

SetTagBit("xoaytrai", 1);

}

// Quay PHAI

if ( GetRotationAngle("MAIN.pdl","TRUCQUAY") == -180

&& GetTagBit("ARM_TAKE") == 1 )

{

SetTagBit("xoaytrai", 0);

}

if ( GetTagBit("xoaytrai") == 1 )

{

trucquay = trucquay - 30;

}

else if ( GetTagBit("xoaytrai") == 0 )

{

trucquay = trucquay + 30 ;

}

if ( trucquay < -180 )

{

SetRotationAngle("MAIN.pdl","TRUCQUAY",-180);

}

else if ( trucquay > 0 )

{

SetRotationAngle("MAIN.pdl","TRUCQUAY",0);

}

Page 59: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Cung Cấp

SV: Nguyễn Phước Lộc trang 59 GVHD: TS. Nguyễn Thiện Thành

else

{

if ( GetTagBit("ARM_RIGHT") ==1 ||

GetTagBit("ARM_LEFT") ==1 )

SetRotationAngle("MAIN.pdl","TRUCQUAY",trucquay);

// khi co mot phoi duoc hut o tay quay

if ( GetTagBit("xoaytrai") == 0 &&

GetTagBit("VACCUM") == 1 )

{

switch (trucquay)

{

case -170: SetVisible("MAIN.pdl","PHOI1",1);

SetVisible("MAIN.pdl","PHOI_DAY",0);break;

case -160: SetVisible("MAIN.pdl","PHOI2",1); break;

case -150: SetVisible("MAIN.pdl","PHOI3",1); break;

case -140: SetVisible("MAIN.pdl","PHOI4",1); break;

case -130: SetVisible("MAIN.pdl","PHOI5",1); break;

case -120: SetVisible("MAIN.pdl","PHOI6",1); break;

case -110: SetVisible("MAIN.pdl","PHOI7",1); break;

case -100: SetVisible("MAIN.pdl","PHOI8",1); break;

case -90: SetVisible("MAIN.pdl","PHOI9",1); break;

case -80: SetVisible("MAIN.pdl","PHOI10",1); break;

case -70: SetVisible("MAIN.pdl","PHOI11",1); break;

case -60: SetVisible("MAIN.pdl","PHOI12",1); break;

case -50: SetVisible("MAIN.pdl","PHOI13",1); break;

case -40: SetVisible("MAIN.pdl","PHOI14",1); break;

case -30: SetVisible("MAIN.pdl","PHOI15",1); break;

case -20: SetVisible("MAIN.pdl","PHOI16",1); break;

case -10: SetVisible("MAIN.pdl","PHOI17",1); break;

case 0: SetVisible("MAIN.pdl","PHOI18",1); break;

}

}

}

}

return 0;

}

Page 60: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 60 GVHD: TS. Nguyễn Thiện Thành

B. TRẠM PHÂN LOẠI SẢN PHẪM

Hình trạm phân loại sản phẫm

Page 61: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 61 GVHD: TS. Nguyễn Thiện Thành

1) Chức năng

Trạm Phân loại phân loại các chi tiết phôi qua 3 máng trượt. Cảm biến khuyếch tán phát

hiện chi tiết phôi đầu vào ở phía đầu khởi động của băng tải.

Đặc tính của chi tiết phôi (màu đen, màu đỏ, kim loại) được phát hiện bằng các cảm biến

ở phía trước của cữa chặn và các chi tiết phôi được phân loại vào máng trượt thích hợp.

2) Các module và I/O

Mặt trước của trạm gồm:

- Bảng điều khiển

- Module PLC

- Nguồn cung cấp

Mặt trên của trạm gồm:

- Các van và ống dẫn khí

- Mootor và băng tải

- Các các biến nhận dạng đặc tính phôi

- Cần gạt

- Đồng hồ đo áp suất

Page 62: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 62 GVHD: TS. Nguyễn Thiện Thành

Địa chỉ các I/O và cảm biến:

Name Data Type Logical Address Comment

moto_bangtai Bool %Q0.0 Mô tơ điều khiển băng tải

cambien_cophoi Bool %I0.0

cambien_switch1_OFF Bool %I0.4

cambien_switch1_ON Bool %I0.5

switch1 Bool %Q0.1 Điều khiển switch1

cambien_switch2_OFF Bool %I0.6

cambien_switch2_ON Bool %I0.7

switch2 Bool %Q0.2 Điều khiển switch2

thanhchan Bool %Q0.3 Thanh chắn kiểm tra vật

cambien_kimloai Bool %I0.1

cambien_phoi_k_co_mau_den Bool %I0.2

cambien_baovatxuong Bool %I0.3

denbao_Start Bool %Q1.0

denbao_Reset Bool %Q1.1

denbao_BangTaiFull Bool %Q1.2

denbao_hethongbiloi Bool %Q0.7

Trình tự khởi động của hệ thống:

Điều kiện tiên quyết khởi động:

Chi tiết phôi ở phía đầu khởi động của băng tải.

Vị trí ban đầu:

Cữa chặn vươn ra, nhánh 1,2 co vào, động cơ băng tải tắt.

Trình tự:

1. Phát hiện chi tiết phôi.

2. Động cơ băng tải bật.

3. Xác minh màu sắc/vật liệu. Phát hiện chi tiết phôi màu đen, chuyển vào máng trươt

phía cuối cùng của băng tải:

4. Cữ chặn co vào.

5. Chi tiết phôi đươc đẩy ra.

6. Bước chạy không.Phát hiện chi tiết phôi kim loại, chuyển vào máng trươt ở giữa của

băng tải:

7. Rẽ nhánh 2 vươn ra.

8. Cữ chặn co vào.

9. Chi tiết phôi đươc đẩy ra.

10. Bước chạy không. Phát hiện chi tiết phôi màu đỏ, chuyển vào máng trươt phía cuối

cùng của băng tải:

11. Rẽ nhánh 1 vươn ra.

12. Cữ chặn co vào.

13. Chi tiết phôi đươc đẩy ra.

14. Bước chạy không.

Page 63: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 63 GVHD: TS. Nguyễn Thiện Thành

15. Động cơ băng tải tắt.

16. Cữ chặn vươn ra.

17. Rẽ nhánh 1 co vào.

18. Rẽ nhánh 2 co vào.

3) Lập trình chương trình điều khiển

Network 1,2,3,4 lập trình chương trình cho bảng điều khiển

Page 64: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 64 GVHD: TS. Nguyễn Thiện Thành

Network 5 khi có tín hiệu bắt đầu và cảm biến báo có phôi

Network 6 cài đặt thời gian chờ kiểm tra phôi

Network 7: Phát hiện phôi kim loại

Page 65: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 65 GVHD: TS. Nguyễn Thiện Thành

Network 8: Phát hiện phôi màu đỏ

Network 9: Phát hiện phôi màu đen

Page 66: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 66 GVHD: TS. Nguyễn Thiện Thành

Network 10: Khi cảm biến báo phôi đã xuống thì ngừng băng tải

Page 67: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 67 GVHD: TS. Nguyễn Thiện Thành

Page 68: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 68 GVHD: TS. Nguyễn Thiện Thành

Network 11: Reset hệ thống

Network 12: Khi nhấn Stop thì tắt các ngõ ra

Page 69: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 69 GVHD: TS. Nguyễn Thiện Thành

4) Thiết kế chương trình giám sát

Màn hình giám sát được thiết kế gồm:

- Bảng điều khiển

- Phôi và băng tải

- Thanh gạt và cửa chặn

- Các cảm biến

Sử dụng VBS và Cscript để lập trình hiệu ứng cho màn hình giám sát:

#include "apdefap.h"

int gscAction( void )

{

int left, top;

left = GetLeft("Root_Screen.pdl","PHOI");

// bang tai chyen dong

if ( GetTagBit ("motor_bangtai")==1 )

{

if ( GetTagWord("THOIGIAN_KIEMTRA") >0 && GetTagBit("THANHCHAN") ==0 )

{

if ( GetLeft("Root_Screen.pdl","PHOI") < 380 )

{

left = left + 10;

SetLeft("Root_Screen.pdl","PHOI",left);

}

else

{

left = 380;

top = 240;

SetLeft("Root_Screen.pdl","PHOI",left);

SetTop("Root_Screen.pdl","PHOI",top);

}

Page 70: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 70 GVHD: TS. Nguyễn Thiện Thành

}

else if ( GetTagWord("THOIGIAN_KIEMTRA") == 0 &&

GetTagBit("THANHCHAN") == 1)

{

if ( GetTagBit("W2") == 1 && GetLeft("Root_Screen.pdl","PHOI") <

613 )

{

left = left + 15;

SetLeft("Root_Screen.pdl","PHOI",left);

}

else if ( GetTagBit("W1") == 1 &&

GetLeft("Root_Screen.pdl","PHOI") < 708 )

{

left = left + 15;

SetLeft("Root_Screen.pdl","PHOI",left);

}

else if ( GetTagBit("W1") == 0 && GetTagBit("W2") == 0 &&

GetLeft("Root_Screen.pdl","PHOI") < 790 )

{

left = left + 15;

SetLeft("Root_Screen.pdl","PHOI",left);

}

}

}

// dat lai vi tri ban dau

if ( GetTagBit ("co_vat_xuong")==1 )

{

if ( GetTagBit("W2") == 1 && GetTagBit("W1") == 0 ) // PHOI MAU DO

{

left = 689;

top = 92 ;

SetLeft("Root_Screen.pdl","PHOI",left);

SetTop("Root_Screen.pdl","PHOI",top);

}

if ( GetTagBit("W1") == 1 && GetTagBit("W2") == 0 ) // PHOI MAU DEN

{

left = 780;

top = 92 ;

SetLeft("Root_Screen.pdl","PHOI",left);

SetTop("Root_Screen.pdl","PHOI",top);

}

if ( GetTagBit("W1") == 0 && GetTagBit("W2") == 0 ) // PHOI KIM LOAI

{

left = 870; top = 92 ;

SetLeft("Root_Screen.pdl","PHOI",left);

SetTop("Root_Screen.pdl","PHOI",top);

}

}

if (GetTagBit("RESET") == 1 )

{

left = 270; top = 240;

SetLeft("Root_Screen.pdl","PHOI",left);

SetTop("Root_Screen.pdl","PHOI",top);

}

return 0;

Page 71: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển và giám sát Trạm Phân Loại Sản Phẫm

SV: Nguyễn Phước Lộc trang 71 GVHD: TS. Nguyễn Thiện Thành

}

Page 72: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 72 GVHD: TS. Nguyễn Thiện Thành

C. TRẠM BỒN NƯỚC - EDUKIT PA

1. Giới thiệu hệ thống bồn nước:

EDUKIT PA là một hệ thống 2 bồn nước đôi được thiết kế bởi Festo nhằm mục đích đào

tạo và nghiên cứu về điều khiển hệ thống vòng kín đơn giản. Bên cạnh đó, người sử dụng sẽ được

làm quen với việc sử dụng một số loại cảm biến như: cảm biến tiệm cận, cảm biến lưu lượng, cảm

biến áp suất, cảm biến điện dung…

2. Cấu tạo:

Hệ thống gồm 2 bồn nước được kết nối với nhau bởi các ống dẫn và van và các

khớp nối rẽ nhánh, một bơm tuyến tính để bơm nước từ bồn B101 sang bồn B102 và các cảm biến

để xác định mực nước trong các bồn, áp suất trong đường ống và lưu lượng nước trong ống.

Page 73: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 73 GVHD: TS. Nguyễn Thiện Thành

Sơ đồ P&ID của hệ thống

Page 74: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 74 GVHD: TS. Nguyễn Thiện Thành

Hình ảnh thực tế

Page 75: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 75 GVHD: TS. Nguyễn Thiện Thành

Các cảm biến sử dụng trên KIT:

Cảm biến lưu lượng: Flow sensor type 2

Cảm biến lưu lượng là thiết bị để cảm biến tốc độ dòng chảy của chất lỏng trong suốt

thông qua hệ thống opto hồng ngoại.

Thông số kĩ thuật:

- Điện áp cung cấp cho phép: 8 – 24 V

- Dòng tiêu thụ: 18 – 30 mA

- Tần số (ngõ ra): 40 – 1200 Hz

- Giới hạn đo: 0.3 – 9 l/min

- Áp suất hoạt động: Max 10 bar

Cảm biến áp suất: Pressure sensor

Cảm biến có thể được kết nối với công nghệ 2 dây hay 3 dây. Việc bù áp suất

được thực hiện bởi 1 lỗ trống trên đàu của cảm biến.

Thông số kĩ thuật:

- Tầm đo: 0 … 400 mbar

- Tầm nhiệt độ:

o Nhiệt độ xử lí: -25ºC … +100ºC

o Nhiệt độ tích lũy: -40ºC … +85ºC

o Nhiệt độ môi trường cho phép: -25ºC … +85ºC

o Tầm nhiệt bù: -10ºC … +55ºC

- Nguồn cung cấp:

o Điện áp danh định: 24 VDC

o Tầm điện áp: 11 VDC … 40 VDC

o Áp cung cấp cho phép max: 40 VDC

- Tín hiệu ra:

o Kỹ thuật 2 dây: 4 … 20 mA

o Kỹ thuật 3 dây: 0 … 20 mA hay 0 … 10 V

- Thời gian đáp ứng: 3ms

Cảm biến tiệm cận điện dung: Capacitive proximity sensor

Nguyên lý hoạt động của cảm biến tiệm cận điện dung dựa trên việc ước lượng 1

thay đổi điện dung của tụ điện trong mạch RC.

Thông số kĩ thuật:

- Điện áp hoạt động cho phép: 12 – 48 VDC

- Khoảng cách ngắt danh định: 9.5 – 10 mm

- Trễ (liên quan tới khoảng cách ngắt): 1.9 – 2 mm

Page 76: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 76 GVHD: TS. Nguyễn Thiện Thành

- Dòng tối đa trên tiếp xúc: 20 mA

- Tiêu thụ dòng khi rảnh ( tại 55V): ≤20 mA

- Nhiệt độ hoạt động cho phép: -10ºC … +50ºC

Cảm biến siêu âm: Ultrasonic sensor

Hàm nguyên lý của 1 cảm biến siêu âm dựa trên sự phát sóng âm và việc phát hiện

theo phản xạ thông qua 1 đối tượng.

Thông số kĩ thuật:

- Ngõ ra Analogue ( tầm điện áp): 0 – 10V

- Nhiệt độ xung quanh: -25ºC … 70ºC

- Điện áp hoạt động: 24 VDC

- Tầm điện áp hoạt động: 10 – 35 VDC

- Dòng rảnh IO: <50 mA

- Tầm đo:

o Chương trình: 48 – 270 mm

o Cài đặt công nghiệp: 50 – 300 mm

3. Kết nối hệ thống với PLC S7-300:

Loại PLC : CPU 313C6ES7 313-5BF03-0AB0 , có tích hợp module

AnalogAI5/AO2, module DI24/DO16.

Cảm biến siêu âm xác định mực nước trong bồn B102 được nối với ngõ vào analog

PIW752

Cảm biến lưu lượng : PIW754

Cảm biến áp suất : PIW756

Cảm biến tiệm cận xác định giới hạn dưới được nối với ngõ vào: I0.4

Cảm biến tiệm cận xác định giới hạn trên được nối với ngõ vào: I0.3

Bơm tuyến tính được nối với ngõ ra analog PQW 752

Van xả: Q0.0

Relay cho phép bơm hoạt động: Q0.2

Nút nhấn Start: I1.0

Nút nhấn Stop: (thường đóng) I1.3

Page 77: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 77 GVHD: TS. Nguyễn Thiện Thành

Đấu dây của các cảm biến

4. Giải thuật PID ổn định mực nước và lập trình khối PID bằng Ngôn ngữ SCL

Cơ sở lý thuyết:

PID (Proportional Integral Derivative) là một trong những thuật toán được

sử dụng phổ biến nhất trong điểu khiển quá trình (process control) các hệ thống kín (điều khiển

có hồi tiếp).

Sơ đồ khối của thuật toán PID:

Mô hình toán học của bộ điều khiển PID đơn giản:

𝑈𝑑𝑘(𝑡) = 𝐾𝑝 ∗ 𝑒(𝑡) + 𝐾𝑖 ∫ 𝑒(𝑡)𝑑(𝑡)𝑡

0

+ 𝐾𝑑𝑑𝑒(𝑡)

𝑑𝑡

Page 78: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 78 GVHD: TS. Nguyễn Thiện Thành

Ảnh hưởng của các khâu tỉ lệ (P), tích phân (I) và đạo hàm (D) lên hệ

thống:

Đáp ứng vòng

kín

Thời gian lên Độ vọt lố Thời gian xác

lập

Sai số xác

lập

Kp Giảm Tăng Thay đổi nhỏ Giảm

Ki Giảm Tăng Tăng Loại bỏ

Kd Thay đổi nhỏ Giảm Giảm Thay đổi nhỏ

Ảnh hưởng của các khâu P,I,D là cơ sở để chọn các hệ số phù hợp với hệ thống trong quá

trình lập trình. Khâu tỉ lệ (P) sẽ ảnh hưởng nhiều đến thời gian lên (rising time) và đáp ứng của hệ

thống, tuy nhiên nếu không chọn giá trị Kp hợp lý sẽ gây ra độ vọt lố cao và làm hệ thống giao

động. Khâu tích phân (I) có tác dụng triệt tiêu sai số xác lập của hệ thống, giúp cho hệ thống đáp

ứng nhanh lên nhưng đồng thời cũng dễ gây ra độ vọt lố lớn và làm tăng thời gian xác lập. Khâu

vi phân ( D) có tác dụng hiệu chỉnh để giảm thời gian xác lập và độ vọt lố, tuy nhiên do đặc tính

của khâu vi phân là nhạy với nhiễu tần số cao nên rất dễ làm cho hệ thống mất ổn định . Vì vậy đây

là khâu ít được sử dụng nhất trong 3 thông số của bộ điều khiển này.

Xây dựng thuật toán PID điều khiển hệ thống bồn nước bằng ngôn ngữ lập trình

có cấu trúc SCL:

Chương trình chính OB1:

Page 79: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 79 GVHD: TS. Nguyễn Thiện Thành

Chương trình OB 35:

Khối ngắt thời gian theo chu kỳ OB35 gọi đọc giá trị cảm biến siêu âm, gọi

hàm PID và xuất giá trị điều khiển ra bơm.

Chương trình khối hàm PID FB1:

IF (#Out_type=1) THEN

#KO1 := #Out_max;

#KO2 := -#Out_max;

ELSE

#KO1 := #Out_max;

#KO2 := 0;

END_IF;

#Error_0 := #Set_val- #Real_val;

#Error_sum := #Error_sum_1*0.995+ #Error_0;

IF (#Error_sum > 30000) THEN //hàm bão hòa cho

khâu I

#Error_sum_1 := 30000;

ELSIF (#Error_sum <= -30000) THEN

Page 80: Báo cáo TTTN lập trình S7300 và hệ thống SCADA

Báo cáo thực tập tốt nghiệp Công ty TNHH Kỹ Thuật PLC Việt Nam

Lập trình điều khiển Trạm Bồn Nước

SV: Nguyễn Phước Lộc trang 80 GVHD: TS. Nguyễn Thiện Thành

#Error_sum_1 := -30000;

ELSE

#Error_sum_1 := #Error_sum;

END_IF;

IF (#Error_0 >= 1000) THEN

#Udk_temp := #Out_max;

ELSIF (#Error_0>500) THEN

#Udk_temp := #Out_max*3/4;

ELSE

#Error_den:= #Error_0-#Error_1;

#Error_1 := #Error_0;

#Udk_temp := #Kp*#Error_0;

#Udk_temp := #Udk_temp+ #Ki* #Error_sum_1;

#Udk_temp := #Udk_temp+ #Kd* #Error_den;

IF(#Udk_temp >= #Out_max) THEN //hàm bão hòa tín

hiệu ngõ ra

#Udk_temp := #Out_max;

ELSIF (#Udk_temp <= 0) THEN

#Udk_temp := 0;

ELSE

;

END_IF;

END_IF;

IF (#Error_0=0) THEN

#Error_sum := 0;

END_IF;

#Output := REAL_TO_INT( #Udk_temp);

Tùy vào tầm giá trị đặt khác nhau và các hệ thống khác nhau, ta sẽ chọn được các bộ hệ

số PID phù hợp với yêu cầu điều khiển. trong trường hợp này với hệ số đã chọn tương ứng với

giá trị đặt, độ vọt lố của hệ thống <2% và sai số xác lập <=0.5%.