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

Phát triển công cụ tích hợp BKSI trên nền tảng c và automation ML(Development of BKSI integrated tool base on c and AutomationML)

93 15 0

Đ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 93
Dung lượng 5,45 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÓM TẮT LUẬN VĂN Trong quá trình triển khai một dự án tự động hóa, các kỹ sư phải đối mặt với các vấn đề: giảm thiểu thời gian phát triển, tối ưu hóa nhân sự thực hiện, tăng tính linh ho

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học : TS Trương Đình Châu

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

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

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Trọng Nhân MSHV:1670788

Ngày, tháng, năm sinh: 22/09/1992 Nơi sinh: Bình Thuận Chuyên ngành: Kỹ thuật điều khiển va tự động hóa Mã số : 60520216

I TÊN ĐỀ TÀI: Phát triển công cụ tích hợp BKSI dựa trên nền tảng C# và Automation ML

II NHIỆM VỤ VÀ NỘI DUNG: Chuyển các đối tượng trong PLC thành chuẩn xml dựa trên Automation ML Tạo công cụ tích hợp có thể tương tác với phần mềm lập trình PLC vừa rút ngắn thời gian thực hiện dự án, vừa để áp dụng việc chuẩn hóa Automation ML

III NGÀY GIAO NHIỆM VỤ : 26/02/2018

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 02/12/2018

V CÁN BỘ HƯỚNG DẪN: TS Trương Đình Châu

Tp HCM, ngày tháng năm 20

CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) TRƯỞNG KHOA….………

(Họ tên và chữ ký)

Trang 4

TÓM TẮT LUẬN VĂN

Trong quá trình triển khai một dự án tự động hóa, các kỹ sư phải đối mặt với các vấn đề: giảm thiểu thời gian phát triển, tối ưu hóa nhân sự thực hiện, tăng tính linh hoạt nhưng vẫn đảm bảo chất lượng của hệ thống Khi những phương pháp

cũ đã lạc hậu và bộc lộ nhiều hạn chế thì việc phát triển ứng dụng phương pháp mới là cần thiết Đặc biệt là trong thời đại công nghiệp hóa, hiện đại hóa, sức mạnh của công nghệ thông tin cần phải được tận dụng tối đa

Một vấn đề mấu chốt để giảm thiểu thời gian phát triển chương trình và nhân lực đó là phải tái sử dụng các tài nguyên Tuy nhiên, các hệ thống PLC hiện nay

do nhiều hãng cung cấp khác nhau và chưa có một chuẩn thống nhất cho các đối tượng trong chương trình Chính vì vậy việc quản lý và sử dụng tài nguyên của

hệ thống này áp dụng vào hệ thống khác là điều không dễ dàng Vào năm 2009, hiệp hội PLCOpen đã chuyển nội dung các đối tượng trong PLC thành cấu trúc xml Sau đó, tổ chức Automation ML đã chuẩn hóa định dạng này để thống nhất giữa các nền tảng PLC khác nhau

Hiểu được những vấn đề đó nên tôi đã định hướng đề tài hướng đến việc nghiên cứu rút ngắn quá trình triển khai dự án Đưa các đối tượng về một chuẩn duy nhất để quản lý và tái sử dụng dễ dàng

Trang 5

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu khoa học độc lập của riêng tôi Các thông tin trích dẫn trong luận văn đều đã được chỉ rõ nguồn gốc Các kiến thức sử dụng, kết quả nghiên cứu nêu trong luận văn do tôi tự tìm hiểu, phân tích và phát triển một cách trung thực, khách quan, phù hợp với mục tiêu của đề tài nghiên cứu và chưa từng được ai công bố trong bất kỳ công trình nào khác

Học viên

Nguyễn Trọng Nhân

Trang 6

MỤC LỤC

GIỚI THIỆU ĐỀ TÀI 1

1.1 Vấn đề đặt ra 1

1.2 Giới thiệu đề tài 2

1.3 Mục tiêu và nhiệm vụ 5

CƠ SỞ LÝ THUYẾT 6

2.1 Tổng quan hệ thống 6

2.1.1 Bộ điều khiển - PLC 6

2.1.2 Thiết bị và tín hiệu điều khiển 8

2.1.3 Hồ sơ thiết kế hệ thống 10

2.1.4 AutomationML, nền tảng của công nghiệp 4.0 11

2.1.5 Totally Integrate Application (TIA) Portal 16

2.1.6 TIA Openness 17

PHÁT TRIỂN PHẦN MỀM TÍCH HỢP BKSI 19

3.1 Yêu cầu của chương trình: 19

3.2 Xây dựng cấu trúc dữ liệu 20

3.3 Xây dựng giao diện 23

3.4 Xây dựng tính năng tạo và quản lý thiết bị 24

3.5 Xây dựng tính năng xuất file hồ sơ hệ thống 30

3.6 Kết nối với chương trình TIA Portal 35

3.6.1 Cài đặt TIA Openness 35

3.6.2 Kết nối với chương trình TIA Portal 37

3.6.3 Đọc thông tin trong TIA Portal 40

Trang 7

3.7 Xây dựng tính năng xuất Tag List để import vào TIA Portal 43

3.7.1 Xuất TagList định dạng XLSX 43

3.7.2 Xuất TagList theo cấu trúc AutomationML 45

3.8 Xây dựng tính năng xuất file dữ liệu xml dựa trên Automation ML 46

3.8.1 Cấu trúc một file XML chuẩn: 46

3.8.2 Mô tả ngôn ngữ LAD/FBD dưới dạng XML 49

3.8.3 Mô tả ngôn ngữ SCL dưới dạng XML: 51

3.8.4 Mô tả khối DataBlock dưới dạng XML: 56

3.9 Xây dựng tính năng Import file xml 57

3.9.1 Import Tag vào chương trình TIA Portal 59

3.9.2 Import khối Block vào chương trình TIA Portal 59

ỨNG DỤNG VÀO TRIỂN KHAI DỰ ÁN THỰC TẾ 61

4.1 Yêu cầu đặt ra trong việc xây dựng và mô phỏng quy trình 61

4.2 Tạo thiết bị 63

4.2.1 Tạo khu vực 63

4.2.2 Tạo thiết bị 65

4.2.3 Sắp xếp địa chỉ IO 67

4.2.4 Trích xuất file báo cáo 67

4.2.5 Trích xuất IO List 68

4.2.6 Export file XML chứa nội dung thiết bị 70

4.2.7 Chuyển dữ liệu xml vào TIA để tạo thiết bị tự động 71

KẾT LUẬN ĐỀ TÀI 73

5.1 Đánh giá kết quả luận văn 73

5.2 Hướng nghiên cứu phát triển tiếp theo 73

Trang 8

TÀI LIỆU THAM KHẢO 75

PHỤ LỤC 76

7.1 Code tạo và chỉnh sửa Area 76

7.2 Code tạo thiết bị mới 76

7.3 Code tạo địa chỉ IO 77

7.4 Code tạo Report 78

7.4.1 Code tạo IO List Report 78

7.4.2 Code tạo Device List Report 79

7.5 Code tạo dữ liệu Import vào TIA Portal 80

7.5.1 Code tạo file Tag List theo định dạng Xlsx 80

7.5.2 Code tạo file Tag List dạng XML 81

Trang 9

DANH MỤC HÌNH VẼ

Hình 1.1: Quy trình thực hiện dự án 1

Hình 1.2: Quy trình thực hiện dự án rút gọn 1

Hình 1.3: Vai trò của BKSI và cấu trúc hệ thống 3

Hình 1.4: Sơ đồ tính năng của phần mềm BKSI 5

Hình 2.1: Thiết bị PLC S7-1200 6

Hình 2.2: Thiết bị PLC S7-1500 7

Hình 2.3: Khối thiết bị valve bướm 8

Hình 2 4: Khối thiết bị Analog Input 9

Hình 2 5: Khối thiết bị động cơ 9

Hình 2.6: Mẫu tài liệu IO List 11

Hình 2.7: Các khả năng mô tả của Automation ML 13

Hình 2.8: Trao đổi thông tin giữa EPLAN và TIA Portal 14

Hình 2.9: Sự kết hợp giữa OPC UA và Automation ML 15

Hình 2.10: Sơ đồ một đối tượng Automation ML mẫu 15

Hình 2.11: Kiến trúc phần mềm TIA Portal 16

Hình 2.12: Các thành phần cơ bản trong TIA Portal 17

Hình 2.13: Vai trò của TIA Openness 17

Hình 2.14 Đầu vào của TIA Openness 18

Hình 3.1: Giai đoạn phát triển 1 19

Hình 3.2: Giai đoạn phát triển 2 20

Hình 3.3: Database SQLite 20

Hình 3.4: Cấu trúc bảng tbl_DeviceList 21

Hình 3.5: Cấu trúc bảng tbl_IOList 22

Hình 3.6: Giao diện chính của chương trình 23

Hình 3.7: Thanh menu Dashboard 23

Hình 3.8: Biểu tượng chức năng quản lý thiết bị 24

Hình 3.9: Các phần chính của cửa sổ quản lý thiết bị 25

Trang 10

Hình 3 10: Cửa sổ khai báo khu vực 25

Hình 3.11: Cửa sổ khai báo thiết bị mới 26

Hình 3.12: Tempalte các thiết bị 26

Hình 3.13: Chọn khu vực chứa thiết bị 27

Hình 3.14: Lựa chọn kiểu khai báo 27

Hình 3.15: Khai báo số lượng IO của thiết bị 27

Hình 3.16: Cửa sổ chỉnh sửa Tag 28

Hình 3.17: Nút nhấn tạo địa chỉ IO 29

Hình 3.18: Cấu hình địa chỉ trong PLC 29

Hình 3.19: Quy trình tạo địa chỉ cho Tag IO 30

Hình 3.20: Header của mẫu báo cáo 31

Hình 3.21: Mục chọn logo cho báo cáo 31

Hình 3.22: Lựa chọn loại báo cáo 32

Hình 3.23: Chỉnh sửa tiêu đề báo cáo 32

Hình 3 24: Nút nhấn tạo báo cáo 32

Hình 3.25: Thiết kế nội dung file báo cáo 33

Hình 3.26: Nội dung báo cáo sau khi xuất 34

Hình 3.27: Mẫu báo cáo tổng số lượng IO đã dùng 34

Hình 3.28: mẫu báo cáo danh sách thiết bị 35

Hình 3.29: Thanh công cụ xem file báo cáo 35

Hình 3.30: Cài đặt TIA Openness 36

Hình 3.31: Thư viện của TIA Openness 36

Hình 3.32: Add file thư viện vào C# 37

Hình 3.33: User Group của TIA Openness 37

Hình 3.34: Sơ đồ kết nối thông qua thư viện TIA Openness 38

Hình 3.35: Quy trình truy cập vào TIA Portal 38

Hình 3.36: Cửa sổ cho phép truy cập vào TIA Portal 39

Hình 3.37: Quy trình đọc các đối tượng trong TIA Portal 41

Hình 3.38: Kết quả hiển thị sau khi đọc project 42

Trang 11

Hình 3.39: Nút nhấn xuất tag dạng file xlsx 43

Hình 3.40: Nội dung file xlsx sau khi xuất 44

Hình 3.41: Nút nhấn Import tag trong TIA Portal 44

Hình 3.42: Cửa sổ chọn file tag xlsx 44

Hình 3.43: Kết quả sau khi nhập tag từ file xlsx 45

Hình 3.44: Cấu trúc file xml chứa danh sách tag 45

Hình 3.45: Đoạn lệnh LAD 47

Hình 3.46: Cấu trúc một khối dưới dạng xml 48

Hình 3.47: Cấu trúc khối xml mô tả ngôn ngữ LAD/FBD 49

Hình 3.48: Ví dụ đoạn lệnh LAD 50

Hình 3.49: Đoạn lệnh LAD sau khi được định danh 50

Hình 3.50: Đoạn lệnh XML 51

Hình 3.51: Đoạnh lệnh LAD tương ứng 51

Hình 3.52 Cấu trúc file xml mô tả ngôn ngữ SCL 52

Hình 3.53: Cấu trúc file xml của khối DB 57

Hình 3.54: Phương thức Import trong thư viện TIA Openness 58

Hình 3.55: Lựa chọn khi Import 58

Hình 3.56: Hiển thị nội dung khối block 60

Hình 4.1: P&ID của hệ thống áp dụng 61

Hình 4.2: Sơ đồ nối dây thiết bị hiện hữu 62

Hình 4.3: Nút nhấn của cửa sổ tạo thiết bị 63

Hình 4.4: P&ID của hệ thống sau khi chia khu vực 63

Hình 4.5: Nút nhấn tạo khu vực mới 64

Hình 4.6: Cửa sổ tạo khu vực mới 64

Hình 4.7: Kết quả sau khi tạo khu vực 65

Hình 4.8: Nút nhấn tạo thiết bị mới 65

Hình 4.9: Cửa sổ khai báo thiết bị mới 65

Hình 4.10: Kết quả sau khi tạo valve 66

Hình 4.11: Kết quả sau khi hoàn tất tạo thiết bị 66

Trang 12

Hình 4.12: Khai báo địa chỉ cho thiết bị hiện hữu 67

Hình 4.13: Kết quả sau khi tạo địa chỉ cho IO 67

Hình 4.14: Nút nhấn vào cửa sổ xuất file báo cáo 68

Hình 4.15: Chỉnh sửa logo của chủ đầu tư 68

Hình 4.16: Kết quả sau khi tạo báo cáo 68

Hình 4.17: Nút nhấn kết nối chương trình TIA Portal 69

Hình 4.18: Các đối tượng của dự án trong TIA Portal 69

Hình 4.19: Nút chọn tính năng xuất danh sách tag 69

Hình 4.20: Cửa sổ cảnh báo file đã tồn tại 69

Hình 4.21: Kết quả sau khi xuất danh sách tag 70

Hình 4.22: Kết quả các file xml xuất ra 71

Hình 4.23: Chọn thư mục Program blocks 71

Hình 4.24: Chọn các file XML muốn Import 72

Hình 4.25: Các đối tượng sau khi tạo trong TIA Portal 72

Hình 5.1: Hướng phát triển tích hợp điều khiển thông minh 74

Hình 5.2: Hướng phát triển hoạt động từ xa qua đám mây 74

Trang 13

sử dụng lại của chương trình lập trình nhằm tối ưu hóa nhân lực và chi phí

Nhận thấy rằng, các giai đoạn 2, 3 và 4 gây mất nhiều thời gian và đòi hỏi sự chính xác cao Chính vì vậy, việc phát triển một phần mềm để thực hiện các bước này là cần thiết

Hình 1.2: Quy trình thực hiện dự án rút gọn

Trang 14

GVHD: TS TRƯƠNG ĐÌNH CHÂU 2

Với ưu thế này, sau khi nhận thông tin về hệ thống, kỹ sư có thể bắt tay vào lập trình cho hệ thống mà vẫn đảm bảo các thiết bị được khai báo đầy đủ và chính xác Điều này giúp tiết kiệm thời gian và chi phí

Bên cạnh đó, việc lập trình một thiết bị phụ thuộc nhiều vào bộ điều khiển mà hệ thống đang sử dụng Ứng với mỗi bộ điều khiển PLC của các hãng khác nhau sẽ

có một phần mềm phát triển khác nhau

 Siemens: TIA Portal, Step 7, WinCC

 Rockwell: RSLogix 5000

 Schneider: Unity Pro 5.0

 Mitsubishi: GX Works 2, GX Developer

Các phần mềm này được phát triển bởi những hãng khác nhau nhưng ngôn ngữ lập trình trong các khối block đều dựa trên tiêu chuẩn IEC61131-3: LAD, FBD, STL… Một vấn đề gặp phải với IEC61131-3 là chưa có định dạng chuẩn cho các đối tượng trong công cụ lập trình PLC Điều này dẫn đến các phần mềm này chưa tương thích được với nhau, đòi hỏi phải có thư viện riêng tương ứng

Chính vì lý do đó, gần đây, tổ chức PLCOpen đã nghiên cứu và định nghĩa một định dạng mới dựa trên XML cho các đối tượng PLC theo tiêu chuẩn IEC61131-

3 Định dạng mới này cho phép các đối tượng thuộc các chương trình khác nhau quy về một định dạng duy nhất Từ đó có thể chỉ cần 1 thư viện duy nhất và các đối tượng có thể chuyển đổi qua lại giữa các phần mềm dễ dàng

1.2 Giới thiệu đề tài

Chính vì các vấn đề đặt ra, tôi đã lựa chọn đề tài “Phát triển công cụ tích hợp BKSI (Bach Khoa’s Smart Integration) trên nền tảng C# và AutomationML” để chuẩn hóa các quy trình và tái sử dụng ở các dự án khác nhau Đồng thời giảm thiểu tối

đa công sức và thời gian khi thực hiện một dự án tự động hóa

Bên cạnh đó, như đã đề cập phần đầu, mỗi hệ thống điều khiển sẽ do nhà sản xuất quy định phương thức lập trình và chương trình lập trình khác nhau Chính

Trang 15

GVHD: TS TRƯƠNG ĐÌNH CHÂU 3

vì vậy, để tăng khả năng linh hoạt có thể áp dụng toàn bộ hệ thống khác nhau, tôi

đã quy về chuẩn ngôn ngữ lập trình chung hiện đang được các nhà sản xuất hàng đầu ủng hộ và sẽ là xu hướng trong thời đại công nghiệp 4.0 đó là chuẩn XML

 Tăng lợi ích kinh tế do giảm thiểu chi phí và thời gian

Các tính năng chính của phần mềm BKSI

 Thành lập danh sách IO list các thiết bị dùng cho hệ thống

 Từ danh sách thiết bị, tạo ra file Tags list import vào chương trình lập trình

 Tạo tự động các block trong chương trình lập trình để điều khiển các thiết bị tương ứng theo cấu trúc XML của AutomationML và PLCOpen

Trang 16

GVHD: TS TRƯƠNG ĐÌNH CHÂU 4

IO List trình phê duyệt

Tags List khai báo thiết bị

.XML điều khiển thiết bị

Trang 17

Mục tiêu chính của đề tài bao gồm 2 phần chính:

 Định dạng các đối tượng trong PLC thành một chuẩn xml duy nhất

 Tạo công cụ tích hợp có thể tương tác với phần mềm lập trình PLC vừa rút ngắn thời gian thực hiện dự án, vừa để áp dụng việc chuẩn hóa này

Để đạt được các mục tiêu này cần thực hiện các công việc sau:

 Sử dụng kiến thức từ môn học tự động hóa công nghiệp, mạng công nghiệp, Scada, PLC Để hiểu được cấu trúc, quy trình của một dự án PLC

 Nghiên cứu và tìm hiểu thư viện TIA Openness để vận dụng các tính năng mà thư viện này hỗ trợ

 Nghiên cứu và tìm hiểu cách chuyển đổi một đối tượng PLC thành định dạng xml theo cấu trúc quy định của AutomationML và PLCOpen

 Tìm hiểu cách tạo ra các đối tượng trong chương trình lập trình PLC theo một file xml sẵn có

 Phát triển phần mềm dựa trên nền tảng C# để tạo thành một công cụ duy nhất

 Sau khi hoàn thành đề tài, rút ra một số kết luận về những thuận lợi và bất lợi của đề tài, những phần cần được nâng cấp hoặc sửa đổi để tối ưu hóa

Trang 18

GVHD: TS TRƯƠNG ĐÌNH CHÂU 6

CƠ SỞ LÝ THUYẾT

2.1 Tổng quan hệ thống

2.1.1 Bộ điều khiển - PLC

PLC (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

Hiện tại trên thị trường có nhiều dòng PLC như: Siemens, Mitsubishi,

Schneider, Omron Trong đó dòng PLC Siemens hiện nay đang được sử dụng

rộng rãi do dễ sử dụng, giá thành cạnh tranh nhưng vẫn đầy đủ các tính năng

Hiện tại Siemens gồm các dòng PLC cơ bản sau: 200, 300, 400,

S7-1200, S7-1500 Trong đó có hai dòng mới nhất đó là S7-1200 và S7-1500

 PLC S7-1200

PLC S7 1200 có thể sử dụng một cách độc lập hoặc trong cấu trúc được phân

phối Thiết kế nhỏ gọn, thuận tiện cho việc lắp đặt, lập trình và vận hành Tích

hợp sẵn I/O đầu vào và đầu ra dưới dạng tín hiệu digital và analog, có khả năng

mở rộng số lượng I/O Công suất lớn, được tích hợp các công nghệ như đếm, đo lường, điều khiển vòng kín, điều khiển chuyển động Tích hợp sẫn Web Sever

với tiêu chuẩn và đặc thù người dùng web…

Hình 2.1: Thiết bị PLC S7-1200

Trang 19

GVHD: TS TRƯƠNG ĐÌNH CHÂU 7

PLC S7 1200 gồm các dòng cơ bản sau: CPU 1211C, CPU 1212C, CPU 1214C,

CPU 1215C, CPU 1217C

Truyền thông:

- Truyền thông qua PtP (Point to Point): với chuẩn vật lý của RS-232 và RS-485

- Truyền thông qua mạng ProfileBus

- Truyền thông qua mạng Ethernet

- Ngoài ra có thể kết hợp với các module truyền thông qua mạng GSM/ GPRS

trong mạng điện thoại di động

 PLC S7-1500

PLC S7 1500 là dòng PLC được phát triển để có thể thay thế cho PLC S7 400

Kích thước nhỏ gọn, CPU có tốc độ tính toán xử lý cao Đặc biệt có tích hợp tính

năng motion control để điều khiển tốc độ, vị trí hỗ trọ cho encoder, tích hợp

web sever với các tùy chọn để tạo ra các trang web do người dùng định nghĩa

Hình 2.2: Thiết bị PLC S7-1500 Một số dòng PLC S7 1500: CPU 1511-1PN, CPU 1513-1PN, CPU 1515-2PN, CPU

1516-3PN/DP, CPU 1517-3PN/DP, CPU 1518-4PN/DP

Truyền thông

Trang 20

GVHD: TS TRƯƠNG ĐÌNH CHÂU 8

- Truyền thông qua PtP (Point to Point): với chuẩn vật lý của RS-232 và RS-485

- Truyền thông qua mạng ProfileBus

- Truyền thông qua mạng Ethernet

- Ngoài ra có thể kết hợp với các module truyền thông qua mạng GSM/ GPRS

trong mạng điện thoại di động

2.1.2 Thiết bị và tín hiệu điều khiển

Các thiết bị trường có mục đích thực hiện các lệnh cũng như trả tín hiệu hồi

tiếp về bộ điều khiển trung tâm (PLC) Mục đích các thiết bị này là có thể điều

khiển chuyển động, đo lưu lượng, nhận biết sự kiện (nút nhấn),…

Bộ điều khiển truyền lệnh hoặc nhận thông tin từ các thiết bị này thông qua các ngõ vào/ra (I/O) được tích hợp Vì vậy, ứng với mỗi thiết bị sẽ có số lượng và

các kiểu vào/ra khác nhau

Thiết bị valve bướm:

On/Off Command Feedback Open

Feedback Close Feedback Error

Butterfly Valve

Local Mode

Hình 2.3: Khối thiết bị valve bướm

 On/Off command: tín hiệu cho phép đóng, mở valve

 Local Mode: Chế độ mở bằng nút nhấn tại local

 Feedback Open/Close: tín hiệu trả về bộ điều khiển cho biết trạng thái của valve

 Feedback Error: Tín hiệu trả về khi valve bị lỗi

Trang 21

GVHD: TS TRƯƠNG ĐÌNH CHÂU 9

Thiết bị đo mức:

Level Feedback

Level Transmiter

Alarm

Set point

LT

Hình 2 4: Khối thiết bị Analog Input

 Set point: tín hiệu cài đặt ngưỡng cho phép

 Level Feedback: tín hiệu trả về bộ điều khiển cho biết mức đo được

 Alarm: Tín hiệu trả về khi mức vượt ngưỡng cho phép

Thiết bị Động cơ:

Run/Stop command Feedback RUN

Feedback Stop TRIP

Motor

Speed Local Mode

Hình 2 5: Khối thiết bị động cơ

 Run/Stop command: tín hiệu cho phép bật, tắt động cơ

 Local Mode: chế độ chạy Local của động cơ

 Speed: Tín hiệu cài đặt tốc độ của động cơ

 Feedback RUN/STOP: tín hiệu trả về bộ điều khiển cho biết trạng thái của động cơ

 TRIP: Tín hiệu trả về khi động cơ bị lỗi

Trang 22

GVHD: TS TRƯƠNG ĐÌNH CHÂU 10

2.1.3 Hồ sơ thiết kế hệ thống

Một hệ thống điều khiển luôn có một tài liệu thiết kế chứa thông tin về hệ thống được gọi là tài liệu IO List IO list chứa danh sách các thiết bị điều khiển, cung

cấp đầy đủ ngõ vào (Input) và ngõ ra (Output) của hệ thống Do đó, chỉ những

Tag nào có kết nối vật lý đến hệ thống điều khiển mới xuất hiện trên danh sách

IO List

Khi có nhiều hơn một hệ thống điều khiển trong một nhà máy (hệ PCS và SIS),

danh sách I / O phải chỉ rõ những hệ thống điều khiển nào mà thiết bị được kết

nối

Một tài liệu I/O list có thể được trình bày theo nhiều kiểu khác nhau Tuy nhiên một bản hoàn chỉnh đều phải chứa những thông tin cơ bản sau:

 Tag number: Tên nhãn gắn trên đường dây kết nối

 Type of Instrument: mô tả loại thiết bị là valve, motor, sensor…

 Description: mô tả chi tiết thiết bị

 I/O Type: Loại ngõ vào/ra: digital, analog…

 I/O address: Địa chỉ của I/O trên thiết bị điều khiển

 Range of setpoint: giới hạn đối với tín hiệu analog

Khi triển khai một dự án, IO List là tài liệu rất quan trọng, giúp cho các nhà tích

hợp hình dung được kích thước của hệ thống, từ đó lựa chọn bộ điều khiển cho

phù hợp Ngoài ra, sau khi hệ thống đã được xây dựng nên, tài liệu IO List lúc

này như là một cơ sở để chủ đầu tư và nhà tích hợp kiểm tra số lượng cũng như

sự hoạt động của các thiết bị phần cứng có chính xác hay không

Có 2 loại tài liệu IO List:

 IO List document: dùng để phê duyệt, comissionning

 TagList: dùng để Import vào chương trình lập trình hệ thống

Hai tài liệu này cần phải chính xác và thống nhất với nhau Nếu hệ thống thiếu

hoặc sai một tín hiệu thì sẽ dẫn đến không hoạt động được Vì vậy khi thực hiện

Trang 23

GVHD: TS TRƯƠNG ĐÌNH CHÂU 11

trong thực tế, các kỹ sư phải tốn thời gian khá lớn và phải check cẩn thận khi

thực hiện 2 tài liệu này

Hình 2.6: Mẫu tài liệu IO List

2.1.4 AutomationML, nền tảng của công nghiệp 4.0

AutomationML là một hiệp hội công nghiệp được thành lập vào 2006 và được

đăng ký vào năm 2009 Xuất phát từ ý tưởng của công ty lắp ráp ô tô Daimler,

Automation ML được phát triển và giới thiệu lần đầu tiên vào tháng 10 năm

2006 với sự có mặt của các công ty ABB, KUKA, Rockwell Automation, Siemens, NetAllied và các trường đại học Lúc này, Automation ML được xem như là một

định dạng trung gian của “nhà máy kỹ thuật số” (Digital Factory)

Ngay từ những lúc đầu thành lập, Automation ML xác định mục tiêu không phải phát minh ra một định dạng dữ liệu mới Thay vào đó, các kiểu dữ liệu sẵn có

nên kết hợp lại với nhau, thúc đẩy sự phát triển

Trang 24

GVHD: TS TRƯƠNG ĐÌNH CHÂU 12

Chính vì lý do đó, mục tiêu của hiệp hội Automation ML là xúc tiến và phát triển Automation ML để chuẩn hóa việc trao đổi dữ liệu trong quy trình kỹ thuật của

các hệ thống sản xuất

Khái niệm Automation ML (Automation Markup Language) được phát triển

dựa trên tiêu chí mở (open) và trung lập (neutral), dựa trên nền tảng xml và

được chuẩn hóa theo tiêu chuẩn quốc tế Chính vì vậy, dữ liệu được trích xuất

và truyền dữ liệu một cách hiệu quả và không mất mát nào, đây chính là chìa

khóa cho sự thành công của Automation ML

AutomaitonML có khả năng mô tả các thuộc tính khác nhau của đối tượng,

thông qua kết hợp các tiêu chuẩn khác nhau:

 Cấu trúc liên kết: dựa trên CAEX (IEC 62424) Bao gồm thuộc tính và mối quan hệ các thành phần trong cấu trúc phân cấp

 Hình học: dựa trên COLLADA của tập đoàn Khronos Mô tả thuộc tính đồ họa và thông tin 3D

 Truyền động: dựa trên COLLADA Mô tả sự kết nối và phụ thuộc của các đối tượng trong quá trình chuyển động

 Ngôn ngữ lập trình: dựa trên PLCOpen XML Mô tả chuỗi các bước và kết nối của I/O

Trang 25

thuật được thực hiện bởi nhà cung cấp chéo và giúp triển khai hiệu quả hơn.”

Để minh chứng cho tầm nhìn cũng như lợi ích của AutomationML, tạp chí

PackageEurope đã bắt đầu bài viết của mình như sau: ”AutomationML cho thấy được một bước tiến cực kỳ quan trọng trong cách phối hợp các thiết bị trong

việc thiết kế, cài đặt và bảo trì Các công ty thiết kế, nhà tích hợp và người dùng

cuối sẽ được hưởng lợi thông qua việc thực hiện dự án một cách xuyên suốt khi triển khai hệ thống nhằm giảm chi phí và rút ngắn thời gian đưa sản phẩm vào

hoạt động Khả năng đảm bảo luồng thông tin liền mạch giữa các hệ thống khác

Trang 26

GVHD: TS TRƯƠNG ĐÌNH CHÂU 14

nhau cũng là một yếu tố quan trọng trong việc chuyển đổi trên hành trình công

nghiệp 4.0 ”1

Hiện tại, Mitsubishi Electric là nhà cung cấp giải pháp tự động hóa đầu tiên đã

triển khai giao diện AutomationML với các công cụ ECAD trong sản phẩm

thương mại

Bên cạnh đó, để nắm bắt kịp xu thế, EPLAN cũng đã kết hợp với Siemens cho ra mắt công cụ chuyển đổi thông tin giữa 2 phần mềm EPLAN E8 và TIA Portal

dựa trên nền tảng ngôn ngữ AutomationML

Hình 2.8: Trao đổi thông tin giữa EPLAN và TIA Portal Hiện nay, nếu OPC UA được xem như là phương thức truyền thông nền tảng

cho công nghiệp 4.0 thì AutomationML sẽ thực hiện việc chuyển hóa cấu trúc

đối tượng thành định dạng chuẩn cho ngành công nghiệp này Hai chuẩn này

kết hợp lại sẽ mô tả đối tượng một cách toàn diện nhất

Trang 27

GVHD: TS TRƯƠNG ĐÌNH CHÂU 15

Hình 2.9: Sự kết hợp giữa OPC UA và Automation ML

 OPC UA: Cho biết trạng thái đối tượng đang hoạt động như thế nào

 AutomationML: Cho biết nội dung tạo thành đối tượng

Trong đề tài này, phần mềm BKSI sẽ vận dụng khả năng mô tả ngôn ngữ lập

trình Logic của AutomationML để tích hợp vào, giúp tạo ra các đối tượng lập

trình một cách tự động và chuẩn xác

Hình 2.10: Sơ đồ một đối tượng Automation ML mẫu

Trang 28

GVHD: TS TRƯƠNG ĐÌNH CHÂU 16

2.1.5 Totally Integrate Application (TIA) Portal

TIA portal là ứng dụng tích hợp hệ thống trong tự động hóa được Siemens phát triển từ năm 1996 Sự khác biệt mang tính đột phá của TIA Portal chính là : Tất

cả trong một (All in one) Một hệ thống tự động bao gồm các bộ phận khác nhau cấu thành nên Từ bộ điều khiển PLC, biến tần cho tới HMI Thay vì phải lập trình từng thành phần riêng lẽ thì TIA Portal cho phép kỹ sư có thể phát triển hệ thống thông qua một nền tảng lập trình duy nhất Vì chính ưu thế này nên nếu một thành phần thay đổi thì các thành phần khác có liên quan cũng sẽ được cập nhật theo tức thời

Hình 2.11: Kiến trúc phần mềm TIA Portal Với những ưu điểm đó, trong đề tài này tôi sẽ dùng TIA Portal để làm phần mềm quản lý tổng thể các đối tượng sau khi khai báo và khởi tạo Tuy nhiên, TIA Portal

là một phần mềm đóng, chưa cho phép các nhà phát triển phần mềm độc lập khác can thiệp vào các đối tượng bên trong TIA

Trang 29

 SIMATIC WinCC Professional: Lập trình giao diện HMI, SCADA và IPC

 SIMATIC Start Driver: Cấu hình biến tần Siemens

2.1.6 TIA Openness

Siemens lần đầu tiên giới thiệu và áp dụng phần mở rộng TIA Openness trong

phiên bản TIA Portal V12 Thư viện này giúp các kỹ sư có thể phát triển phần

mềm riêng truy cập và trích xuất dữ liệu từ TIA Portal một cách dễ dàng

TIA Portal

Dữ liệu

đầu vào

Import/

Export XML

Thông tin thiết bị/IO

Hình 2.13: Vai trò của TIA Openness

Trang 30

GVHD: TS TRƯƠNG ĐÌNH CHÂU 18

TIA Openness được phát triển dựa trên cấu trúc AutomationML Chính vì vậy,

dữ liệu đầu vào và đầu ra được định dạng kiểu text và có cấu trúc của một file

.xml

Hình 2.14 Đầu vào của TIA Openness TIA Portal Openness sẽ đóng vai trò cung cấp các thư viện chuẩn (DLL) Người

sử dụng có thể tạo các phần mềm dựa trên các nền tảng C#, VB.Net vv… để sử

dụng các chức năng truy cập vào TIA Portal

Những chức năng mà TIA Openness hỗ trợ:

 Tạo Project mới

 Chỉnh sửa project sẵn có

 Xóa đối tượng trong Project

 Đọc dữ liệu trong Project

 Nhập/ trích xuất đối tượng từ các chương trình bên ngoài

Cứ sau mỗi phiên bản được phát hành thì Siemens lại nâng cấp cho Openness

một tính năng mới Đến phiên bản TIA Portal V14, TIA Openness đã được tích

hợp sẵn trong bộ DVD cài đặt của Siemens Điều đó cho thấy mức độ cần thiết

và hữu ích của TIA Openness

Trang 31

GVHD: TS TRƯƠNG ĐÌNH CHÂU 19

PHÁT TRIỂN PHẦN MỀM TÍCH HỢP BKSI

3.1 Yêu cầu của chương trình:

Trong đề tài này tôi xây dựng giao diện người dùng trên nền phần mềm Visual

Studio 2015, lập trình dùng ngôn ngữ lập trình C# Đây là ngôn ngữ lập trình

mạnh, hỗ trợ đầy đủ thư việc và chạy được trên đa số hệ điều hành

Ở chương trình phát triển hệ thống, tôi chọn hệ sinh thái TIA Portal của Siemens

để ứng dụng vì các yếu tố sau:

 Sự thông dụng PLC Siemens trong những ngành công nghiệp hiện nay (như thực phẩm đồ uống, dầu khí, nước cấp nước thải, hóa chất…)

 Kiến thức của bản thân về tự động hóa của Siemens khá chuyên sâu

 Siemens đã xây dựng thư viện cho phép phần mềm tích hợp bên ngoài có thể giao tiếp với hệ thống của họ

Khi thực hiện dự án với phần mềm BKSI sẽ gồm 2 giai đoạn chính:

Giai đoạn 1: Tạo hồ sơ thiết kế hệ thống:

- Khai báo Area

- Tạo thiết bị

- Tạo I/O

- Tạo địa chỉ cho I/O

Hình 3.1: Giai đoạn phát triển 1

Giai đoạn 2: Xuất file báo cáo và dữ liệu cho phần mềm lập trình

Trang 32

GVHD: TS TRƯƠNG ĐÌNH CHÂU 20

- Lấy thông tin thiết

bị trong hệ thống

REPORT

Hình 3.2: Giai đoạn phát triển 2

- Bước 1: chương trình sẽ đọc thông tin các thiết bị trong Data SQL

- Bước 2: Chương trình xuất ra file báo cáo với định dạng theo tiêu chuẩn IO Report

- Bước 3: Chương trình xuất ra file xml theo cấu trúc AutomationML để chuyển

dữ liệu vào TIA portal và kèm theo danh sách IO List của hệ thống

3.2 Xây dựng cấu trúc dữ liệu

SQLite là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, hoàn chỉnh, có thể cài đặt bên trong các trình ứng dụng khác SQLite được Richard Hipp phát triển dưới dạng

thư viện bằng ngôn ngữ lập trình C

Hình 3.3: Database SQLite SQLite có các ưu điểm sau:

 Tin cậy: các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được thực hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng

 Tuân theo chuẩn SQL92 (chỉ có một vài đặc điểm không hỗ trợ)

Trang 33

GVHD: TS TRƯƠNG ĐÌNH CHÂU 21

 Không cần cài đặt cấu hình

 Kích thước chương trình gọn nhẹ, với cấu hình đầy đủ chỉ không đầy 300 kB

 Thực hiện các thao tác đơn giản nhanh hơn các hệ thống cơ sở dữ liệu khách/chủ khác

 Không cần phần mềm phụ trợ

 Phần mềm tự do với mã nguồn mở, được chú thích rõ ràng

Về mặt tính năng, SQLite hoàn toàn tương tự Microsoft SQL Server nhưng gọn

nhẹ và đơn giản hơn SQLite không yêu cầu người dùng phải cài đặt trước Tất

cả dữ liệu sẽ được gói gọn thành một file hoàn chỉnh Chính vì vậy, đề tài này sẽ

sử dụng SQLite làm cơ sở dữ liệu chính

Trong cơ sở dữ liệu, chúng ta sẽ tạo ra 3 bảng chính như sau:

 Tbl_DeviceList: chứa thông tin thiết bị

 Tbl_IOList: chứa thông tin IO

 TBL_StaticList: chứa thông tin các tag static

Cấu trúc bảng tbl_DeviceList như sau:

tbl_DeviceList

ID PK

ParrentID Name Type

Hình 3.4: Cấu trúc bảng tbl_DeviceList Parrent ID dùng để quản lý và phân cấp các thiết bị

Nếu đối tượng là Area thì ParrentID = 0 Nếu đối tượng là thiết bị thì ParrentID

sẽ là ID của Area tương ứng

Trang 34

GVHD: TS TRƯƠNG ĐÌNH CHÂU 22

Cấu trúc của tbl_IOList:

tbl_IOList

ID PK

IOName IOType

Comment

Address Device Area

Hình 3.5: Cấu trúc bảng tbl_IOList Trong đó Device và Area của IO sẽ lấy từ bảng tbl_DeviceList

Bảng tbl_StaticList có cấu trúc tương tự như bảng tbl_IOList

Trong C#, dùng đoạn code sau để tạo Database:

string sql = "CREATE TABLE IF NOT EXISTS tbl_DeviceList ([id] INTEGER NOT NULL

PRIMARY KEY AUTOINCREMENT, [ParentID] INTEGER, Name nvarchar(50), Type nvarchar(10), Qtt INTEGER, SuffiX varchar(30))";

Trang 35

GVHD: TS TRƯƠNG ĐÌNH CHÂU 23

3.3 Xây dựng giao diện

Để tạo tính chuyên nghiệp, giao diện phần mềm được chia thành 2 phần chính:

 Thanh menu ribbon

 Cửa sổ nội dung

Hình 3.6: Giao diện chính của chương trình

Tại thanh menu Dashboard trên trang chủ, sẽ có 4 nút nhấn tương ứng 4 trang

màn hình chức năng Riêng nút nhấn số 5 là nút nhấn phụ dùng cho màn hình

Dashboard

Hình 3.7: Thanh menu Dashboard

Trang 36

 Nút nhấn số 3: Màn hình xuất file báo cáo theo form chuẩn

 Nút nhấn số 4: Màn hình xuất file dữ liệu xml

 Nút nhấn số 5: Refresh dữ liệu cho Dashboard

Trong từng màn hình sẽ có thanh menu Ribbon riêng phục vụ cho thao tác với

màn hình đó Khi gọi màn hình, thanh menu này sẽ được tích hợp vào thanh

menu chính thành một tab riêng

Đoạn code tích hợp menu ribbon:

parentForm.Ribbon.MergeRibbon( this ribbonControl1);

parentForm.Ribbon.ColorScheme = XtraBars.Ribbon RibbonControlColorScheme DarkBlue ;

3.4 Xây dựng tính năng tạo và quản lý thiết bị

Trong chương trình, cửa sổ quản lý thiết bị được kích hoạt thông qua nút nhấn

trên thanh ribbon:

Hình 3.8: Biểu tượng chức năng quản lý thiết bị Xây dựng giao diện gồm các phần sau:

Trang 37

GVHD: TS TRƯƠNG ĐÌNH CHÂU 25

Hình 3.9: Các phần chính của cửa sổ quản lý thiết bị

1 Công cụ tạo và modify thiết bị

2 Danh sách các thiết bị có trong dự án

3 Thông tin Tag đang chọn

4 Thông tin static tag của thiết bị

5 Hiển thị chi tiết thiết bị

Tạo cửa sổ khai báo Area

Hình 3 10: Cửa sổ khai báo khu vực Khi nhấn OK, đoạn lệnh sau sẽ được thực hiện và tạo ra 1 Area mới:

Trang 38

GVHD: TS TRƯƠNG ĐÌNH CHÂU 26

strInsert = string Format("INSERT INTO tbl_DeviceList(ParentID, Name, Type, Qtt,

Suffix) VALUES('{0}','{1}','{2}','{3}','{4}')", 0, tb_AreaName.Text, "", 1, "");

TreeNode node = treeView1.Nodes[0].Nodes.Add(tb_AreaName.Text);

treeView1.SelectedNode = node;

sqlite.SendCommand(strInsert);

Tạo cửa sổ New Device dùng để khai báo thiết bị

Hình 3.11: Cửa sổ khai báo thiết bị mới Trong đó Device Type sẽ hiển thị các template thiết bị:

Hình 3.12: Tempalte các thiết bị Mục Area sẽ cho biết thiết bị được chọn ở khu vực nào:

Trang 39

GVHD: TS TRƯƠNG ĐÌNH CHÂU 27

Hình 3.13: Chọn khu vực chứa thiết bị

Ở mục tiếp theo, có 2 lựa chọn khi khai báo thiết bị:

 Single Define: khai báo 1 thiết bị

 Multi Define: khai báo nhiều thiết bị cùng lúc

Hình 3.14: Lựa chọn kiểu khai báo Nếu hệ thống có nhiều thiết bị giống nhau, thay vì tạo từng thiết bị thì người

dùng sẽ chọn Multi define để chương trình tự nhân bản các thiết bị, giúp việc

khai báo được nhanh chóng

Trong chế độ Multi Define, hệ thống sẽ tự động điền thứ tự “_1, _2…” vào phía

sau tên thiết bị nhưng vẫn đảm bảo không có tên thiết bị nào bị trùng

Người dùng có thể tùy ý tăng hoặc giảm số lượng IO trong thiết bị Tuy nhiên,

các thiết bị được tạo dựa vào template chuẩn, vì vậy phải đảm bảo có tối thiểu

số lượng IO yêu cầu:

Hình 3.15: Khai báo số lượng IO của thiết bị Phụ lục: Code tạo thiết bị mới

Trang 40

GVHD: TS TRƯƠNG ĐÌNH CHÂU 28

Sau khi tạo ra thiết bị, các tag trong thiết bị có thể được chỉnh sửa thông qua

cửa sổ khi nhấn đúp vào tag:

Hình 3.16: Cửa sổ chỉnh sửa Tag Trong đó mục Address có 2 lựa chọn:

 Assign Auto

 Assigned

Ở chế độ Assign auto, chương trình sẽ tự động tạo địa chỉ cho Tag theo thứ tự

tăng dần Trong trường hợp tín hiệu đã được đấu nối từ trước (hệ thống hiện

hữu) và người dùng không muốn địa chỉ của tag này bị thay đổi thì sẽ chọn

Assigned và điền địa chỉ hiện hữu của tag vào ô kế bên

Dựa trên từng thiết bị khác nhau, chúng ta thấy rằng mỗi thiết bị sẽ có lượng I/O khác nhau Tuy nhiên, các IO này đều chung quy về các dạng chính:

 Digital Input: Tín hiệu sử dụng 1 bit ngõ vào Giá trị đọc về mức 0 hoặc 1 tương ứng 0 hoặc 24VDC

 Digital Output: Tín hiệu sử dụng 1 bit ngõ ra Khi xuất tín hiệu sẽ có mức

0 hoặc 1 tương ứng 0 hoặc 24VDC

 Analog Input: Tín hiệu ngõ vào tương tự, sử dụng 1 word ngõ vào Khi đọc giá trị trả về, sẽ có 2 dạng tín hiệu là 0-10V hoặc 4-20mA

Ngày đăng: 08/03/2021, 20:55

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w