1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thực tập tốt nghiệp công ty TNHH PLC việt nam

80 2,2K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 4,56 MB

Nội dung

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á

Trang 1

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

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

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

MỤC LỤC

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

Trang 7

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:

Trang 8

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_VARVAR_IN_OUT IN_OUT1: INT;

END_VAR

VAR_TEMP TEMP1: INT;

END_VARBEGIN

END_FUNCTION

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

Trang 9

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#

Trang 10

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

00 to 99

7 (4 MSB) LSD (least

significant decade) of ms

TIME_VALUE AT IN_TIME_TEMP : DINT;

totalSeconds , totalMinutes : DINT;

currentMinute , currentSecond , currentMiliSec, totalHours :INT; MSD_milisec, LSD_milisec, Other : INT;

so_ngay_tinh_tu_dau_nam : DINT;

// Tạo con trỏ để trỏ về 8 byte lưu trữ của kiểu DATE_AND_TIME

STUFF AT OUT_DATE_TIME : STRUCT

Month : BYTE;

Trang 11

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 //

Trang 12

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 ;

Trang 13

CHƯƠNG 2 LẬP TRÌNH S7-300 TRÊN 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

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

chọn “Configure a device”

Trang 14

Chọn CPU, sau đó ấn Enter

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

Trang 15

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

Trang 16

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

Trang 17

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

SERVER

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

Trang 18

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

Trang 19

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

Trang 20

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

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

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 …

Trang 25

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

d) Tạo các Tag

Trang 26

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)

Trang 27

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

Trang 28

chọn “Configure a device”

Chọn CPU, sau đó ấn Enter

Trang 29

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

Trang 30

+ 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

Trang 31

Đặt địa chỉ IP

Download cấu hình xuống PLC

Trang 32

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

Trang 33

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”

Trang 34

- 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

Trang 35

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

- Tạo các Tag

Trang 36

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

Trang 37

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:

Trang 38

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

Trang 39

Đặ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

Trang 40

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

Trang 41

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

Trang 42

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

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")

Trang 43

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

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

create, edit or delete databases or tables

Set objCommand = CreateObject("ADODB.Command")

IngValue = objRecordset.Fields(0 ).Value

HMIRuntime.Tags("NewTag_1").Write IngValue

Else

HMIRuntime.Trace "Selection returned no fields" &vbNewLine

Trang 44

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

 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

Trang 45

- Tay quay gấp phôi

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

Trang 46

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

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:

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

Trang 47

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

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

Trang 48

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

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 )

Trang 50

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 )

Trang 51

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

Trang 52

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

Trang 53

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

Trang 54

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

Trang 56

Lập trình cho khối OB100

Trang 57

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:

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);

Ngày đăng: 10/10/2014, 17:24

HÌNH ẢNH LIÊN QUAN

Sơ đồ kết nối: - báo cáo thực tập tốt nghiệp công ty TNHH PLC việt nam
Sơ đồ k ết nối: (Trang 27)
Hình bảng điều khiển ở mặt trước của trạm - báo cáo thực tập tốt nghiệp công ty TNHH PLC việt nam
Hình b ảng điều khiển ở mặt trước của trạm (Trang 47)
Hình trạm phân loại sản phẫm - báo cáo thực tập tốt nghiệp công ty TNHH PLC việt nam
Hình tr ạm phân loại sản phẫm (Trang 60)
Hình ảnh thực tế - báo cáo thực tập tốt nghiệp công ty TNHH PLC việt nam
nh ảnh thực tế (Trang 74)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w