You are on page 1of 87

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

ĐỒ ÁN TỐT NGHIỆP

Thiết kế hệ thống giám sát và vận hành


phối trộn tự động thức ăn chăn nuôi
VŨ TUẤN KIỆT
kiet.vt162268@sis.hust.edu.vn

Ngành Kỹ thuật điều khiển và tự động hóa


Chuyên ngành Tự động hóa Công nghiệp

Giảng viên hướng dẫn: TS. Đào Quý Thịnh


Chữ ký của GVHD

Bộ môn: Tự động hóa Công nghiệp


Viện: Điện

HÀ NỘI, 5/2021
ĐỀ TÀI TỐT NGHIỆP
Thiết kế hệ thống giám sát và vận hành phối trộn tự động thức ăn chăn nuôi.

Giáo viên hướng dẫn


Ký và ghi rõ họ tên
Lời cảm ơn
Em xin trân thành cảm ơn sự hướng dẫn chỉ bảo tận tình của TS. Đào Quý
Thịnh trong suốt quá trình thực hiện đồ án đã hỗ trợ em đưa ra kế hoạch, nhận xét
thiếu sót, định hướng phương án thực hiện, nhờ đó mà em đã hoàn thành đề tài
một cách thuận lợi nhất. Thời gian được làm đồ án cùng thầy đã giúp cho em học
hỏi thêm được rất nhiều kiến thức không chỉ là kiến thức về chuyên ngành mà còn
là sự kết hợp với các bộ môn chuyên ngành khác, đồng thời nâng cao khả năng
làm việc nhóm, khả năng phân tích và xử lý bài toán thực tế.
Em cũng xin được gửi lời cảm ơn đến bạn sinh viên Vũ Minh Tuấn (MSSV:
20164427) đã nỗ lực cùng em thực hiện đề tài này.
Em xin trân trọng cảm ơn!

Tóm tắt nội dung đồ án


Với ý tưởng ứng dụng công nghệ tự động hóa vào sản xuất thức ăn chăn
nuôi, em đã lựa chọn đồ án: “Thiết kế hệ thống giám sát và vận hành phối trộn
tự động thức ăn chăn nuôi”. Công nghệ dây chuyền tự động chế biến thức ăn
chăn nuôi bao gồm 5 hệ thống gồm: hệ thống nạp nguyên liệu, hệ thống nghiền
nguyên liệu, hệ thống phối trộn nguyên liệu, hệ thống ép viên và hệ thống đóng
bao. Nhiệm vụ chính của đề tài là thiết kế phần mềm điều khiển giám sát và vận
hành hệ thống phối trộn nguyên liệu. Để phục vụ cho quá trình xây dựng, thiết kế,
kiểm tra và đánh giá phần mềm, em đã tiến hành xây dựng phần mềm mô phỏng
cân, kết hợp với thiết bị PLC để mô phỏng hoạt động của hệ thống phối trộn nguyên
liệu của nhà máy.
Các kiến thức cơ sở phục vụ cho đề tài bao gồm các kiến thức về mạng
truyền thông công nghiệp, kiến thức về PLC và các ngôn ngữ lập trình bậc cao
(C#, SQL) và các kiến thức cơ bản về các thiết bị điện, máy móc công nghiệp. Các
kĩ năng cần có để thực hiện đề tài gồm các kĩ năng sử dụng các phần mềm Visual
Studio để thiết kế các giao diện vận hành giám sát, phần mềm TIA Portal để lập
trình cho PLC, xây dựng cơ sở dữ liệu bằng phần mềm Microsoft SQL Server
Management Studio, các kĩ năng tìm kiếm và đọc tài liệu , …
Hệ thống đã được chạy thử nghiệm trên phòng thí nghiệm và kết quả thu
được đã đáp ứng được những yêu cầu đặt ra trước đó. Trong thời gian tới chúng
em hy vọng có thể mở rộng và hoàn thiện hệ thống này hơn nữa để áp dụng phục
vụ cho nhà máy sản xuất thức ăn chăn nuôi.

Sinh viên thực hiện


Ký và ghi rõ họ tên
MỤC LỤC

CHƯƠNG 1. TỔNG QUAN VỀ ĐỒ ÁN ........................................................... 1


1.1 Giới thiệu chung......................................................................................... 1
1.2 Tổng quan về hệ thống............................................................................... 2
Giới thiệu công nghệ................................................................... 2
Cấu trúc hệ thống phối trộn nguyên liệu .................................... 3
1.3 Mục tiêu, yêu cầu và bố cục đồ án ............................................................. 5
Mục tiêu đồ án ............................................................................ 5
Yêu cầu đặt ra ............................................................................. 5
Bố cục đồ án ............................................................................... 6
CHƯƠNG 2. PHƯƠNG ÁN THỰC HIỆN ....................................................... 7
2.1 Cấp giám sát, vận hành .............................................................................. 7
2.2 Cấp điều khiển. .......................................................................................... 9
Giới thiệu về PLC ....................................................................... 9
Lựa chọn thiết bị cho cấp điều khiển ........................................ 10
Bản vẽ đấu dây cho cấp điều khiển .......................................... 12
2.3 Cấp cảm biến chấp hành. ......................................................................... 12
Phần mềm mô phỏng cân .......................................................... 12
Mô phỏng các tác động cơ cấu chấp hành. ............................... 13
CHƯƠNG 3. XÂY DỰNG CÁC PHẦN MỀM ............................................... 14
3.1 Phần mềm Visual Studio, ngôn ngữ C# và lập trình Windform. ............. 14
Phần mềm Visual Studio .......................................................... 14
Ngôn ngữ lập trình C# (C Sharp) ............................................. 14
Lập trình Winforms .................................................................. 15
Tạo Project Windows Forms .................................................... 15
3.2 Cách thức kết nối giữa các phần mềm. .................................................... 18
Kết nối giữa phần mềm mô phỏng cân và phần mềm giám sát 18
Kết nối chương trình C# và PLC S7 1200 ................................ 19
3.3 Xây dựng và quản lý cơ sở dữ liệu .......................................................... 21
Tổng quan về SQL .................................................................... 21
Phần mềm Microsoft SQL Server và SQL Server Management
Studio 23
Xây dựng dữ liệu về nguyên liệu .............................................. 32
Xây dựng dữ liệu về công thức ................................................. 34
Xây dựng dữ liệu phục vụ mục đích báo cáo thống kê ............. 36
Các dữ liệu phục vụ kiểm soát sai số khi cân ........................... 38
Sao lưu và khôi phục dữ liệu .................................................... 38
3.4 Các giao diện phục vụ vận hành giám sát ................................................ 39
Tạo giao diện mô phỏng hệ thống phối trộn. ............................ 39
Kiểm tra kết nối đến các I/O PLC và cân ................................. 44
Giao diện vận hành tự động ...................................................... 45
3.5 Lập trình phần mềm mô phỏng cân ......................................................... 48
3.6 Lập trình trên TIA Portal.......................................................................... 50
Thêm các thiết bị và cài đặt đầu vào ra cho thiết bị .................. 50
Tạo và sử dụng Watch and force table ...................................... 53
CHƯƠNG 4. VẬN HÀNH HỆ THỐNG .......................................................... 55
4.1 Giao diện vận hành chính......................................................................... 55
4.2 Thao tác trên các giao diện dữ liệu .......................................................... 56
Cài đặt tên nguyên liệu.............................................................. 56
Thiết lập công thức phối trộn .................................................... 56
Thống kê báo cáo dữ liệu lịch sử .............................................. 57
Sao lưu và khôi phục dữ liệu .................................................... 59
4.3 Thao tác trên các giao diện phục vụ giám sát vận hành hệ thống. ........... 60
Kiểm tra kết nối......................................................................... 60
Giao diện cài đặt tổng ............................................................... 61
Giao diện cân và phối trộn tự động ........................................... 62
4.4 Quan sát giá trị cân và các tín hiệu điều khiển được gửi đến phần mềm mô
phỏng cân. ............................................................................................................ 65
KẾT LUẬN ......................................................................................................... 67
TÀI LIỆU THAM KHẢO ................................................................................. 68
PHỤ LỤC ............................................................................................................ 69
DANH MỤC HÌNH VẼ
Hình 1.1 Công nghệ dây chuyền tự động chế biến thức ăn chăn nuôi. ................. 2
Hình 1.2 Các cấp hệ thống. .................................................................................... 3
Hình 1.3 Hệ thống phối trộn nguyên liệu. ............................................................. 4
Hình 2.1 Cấu trúc xây dựng phần mềm giám sát................................................... 7
Hình 2.2 Lưu đồ thuật toán vận hành hệ thống phối trộn tự động......................... 8
Hình 2.3 Chu kì quét của PLC. .............................................................................. 9
Hình 2.4 Cấu trúc phần cứng PLC. ........................................................................ 9
Hình 2.5 PLC Siemens S7-1200 CPU 1214 DC/DC/RLY. ................................ 11
Hình 2.6 SM 1222 modul mở rộng 8 ngõ ra relay. .............................................. 11
Hình 2.7 Đồ thị biểu diễn giá trị cân theo thời gian. ........................................... 12
Hình 2.8 Mô hình tính toán của phần mềm mô phỏng cân.................................. 13
Hình 3.1 Cửa sổ New Project của phần mềm Visual Studio. .............................. 16
Hình 3.2 Mở cửa sổ Add New Item cho Solution. .............................................. 16
Hình 3.3 Thêm Windows Form cho Solution. ..................................................... 17
Hình 3.4 Các Windows Form được tạo trong Solution “Phần mềm giám sát”. .. 17
Hình 3.5 Giao tiếp giữa phần mềm giám sát và phần mềm mô phỏng cân. ........ 18
Hình 3.6 Mở của sổ Solution của Project. ........................................................... 19
Hình 3.7 Mở cửa sổ Reference Manager. ............................................................ 20
Hình 3.8 Thêm thư viện S7.net cho Project. ........................................................ 20
Hình 3.9 Mở file cài SQL Server. ........................................................................ 24
Hình 3.10 Chọn phiên bản cài đặt........................................................................ 24
Hình 3.11 Microsoft SQL Server License Terms. ............................................... 24
Hình 3.12 Cài đặt SQL Server. ............................................................................ 25
Hình 3.13 Tải SQL Server Management Studio. ................................................. 25
Hình 3.14 Cài đặt Microsoft SQL Server Management Studio. .......................... 25
Hình 3.15 Ứng dụng Microsoft SQL Server Management Studio. ..................... 26
Hình 3.16 Kết nối đến SQL Server. ..................................................................... 26
Hình 3.17 Tạo cơ sở dữ liệu mới. ........................................................................ 26
Hình 3.18 Cửa sổ New Database. ........................................................................ 27
Hình 3.19 Tạo 1 bảng dữ liệu trong cơ sở dữ liệu. .............................................. 27
Hình 3.20 Tạo cột và kiểu dữ liệu cho cột. .......................................................... 27
Hình 3.21 Đặt tên cho bảng dữ liệu. .................................................................... 27
Hình 3.22 Các thao tác với bảng dữ liệu. ............................................................ 28
Hình 3.23 Mở giao diện Server Explorer............................................................. 28
Hình 3.24 Mở cửa sổ kết nối đến SQL Server. .................................................... 28
Hình 3.25 Server name của SQL Server. ............................................................. 29
Hình 3.26 Kết nối đến cơ sở dữ liệu của SQL Server. ......................................... 29
Hình 3.27 Mở các thuộc tính của Database đã kết nối......................................... 31
Hình 3.28 Chuỗi kết nối đến Database. ............................................................... 31
Hình 3.29 Thiết kế bảng Nguyên liệu. ................................................................. 32
Hình 3.30 Bảng nguyên liệu................................................................................. 33
Hình 3.31 Lưu đồ thuật toán frm_nguyenlieu...................................................... 33
Hình 3.32 Thiết kế bảng các công thức phối trộn. ............................................... 34
Hình 3.33 Bảng các công thức phối trộn.............................................................. 34
Hình 3.34 Thông số của các bảng công thức. ...................................................... 34
Hình 3.35 Công thức T1....................................................................................... 35
Hình 3.36 Thông số của bảng “baocao1”. ........................................................... 36
Hình 3.37 Ví dụ về các thông số ghi trên bảng “baocao1”. ................................. 36
Hình 3.38 DataSet và Datatable. .......................................................................... 37
Hình 3.39 Cửa sổ thiết kế báo cáo bằng Crystal Report. ..................................... 37
Hình 3.40 Bảng dữ liệu phục vụ kiểm soát sai số cân. ........................................ 38
Hình 3.41 Giao diện sao lưu và khôi phục dữ liệu............................................... 39
Hình 3.42 Thêm Resource File cho Project. ........................................................ 40
Hình 3.43 Bổ sung tài nguyên cho thư mục Resource. ........................................ 40
Hình 3.44 Cửa sổ Add existing file to resource. .................................................. 40
Hình 3.45 Các hình ảnh được lưu trong thư mục Resource. ................................ 41
Hình 3.46 Tạo 1 Thư mục chứa các User Control. .............................................. 41
Hình 3.47 Thêm User Control trong thư mục. ..................................................... 41
Hình 3.48 Đặt tên cho User Control. ................................................................... 42
Hình 3.49 Các thông số của User Control “Led”................................................. 42
Hình 3.50 Rebuild Project. ................................................................................... 43
Hình 3.51 Thiết kế giao diện Silo. ....................................................................... 43
Hình 3.52 Thiết kế giao diện Test I/O. ................................................................ 44
Hình 3.53 Giao diện cân tự động. ........................................................................ 45
Hình 3.54 Dạng tín hiệu mở Silo khi điều kiện “tắc bọp” được thỏa mãn. ......... 46
Hình 3.55 Lưu đồ thuật toán Timer phục vụ quá trình trộn. ................................ 47
Hình 3.56 Giao diện phần mềm mô phỏng cân.................................................... 48
Hình 3.57 Rời rạc hóa giá trị cân theo thời gian. ................................................. 49
Hình 3.58 Lưu đồ thuật toán lập trình phần mềm mô phỏng cân. ....................... 49
Hình 3.59 Thêm PLC cho Project. ....................................................................... 50
Hình 3.60 Cửa sổ Device Configuration. ............................................................. 50
Hình 3.61 Thêm các Module mở rộng. ................................................................ 51
Hình 3.62 Định lại địa chỉ cho module mở rộng.................................................. 51
Hình 3.63 Cách mở cửa sổ quản lý PLC tags. ..................................................... 52
Hình 3.64 Bảng tên các đầu vào ra PLC. ............................................................. 52
Hình 3.65 Mở cửa sổ Watch and force tables. ..................................................... 53
Hình 3.66 Bảng các giá trị cần theo dõi và tác động. .......................................... 53
Hình 3.67 Tác động lên các giá trị vào ra của PLC. ............................................ 54
Hình 4.1 Giao diện vận hành chính. .................................................................... 55
Hình 4.2 Giao diện cài đặt tên nguyên liệu.......................................................... 56
Hình 4.3 Giao diện thiết lập công thức. ............................................................... 56
Hình 4.4 Giao diện Thêm mới hoặc chỉnh sửa công thức. .................................. 57
Hình 4.5 Giao diện thống kê báo cáo dữ liệu. ..................................................... 58
Hình 4.6 Các lựa chọn loại báo cáo. .................................................................... 58
Hình 4.7 Báo cáo theo công thức và mẻ. ............................................................. 59
Hình 4.8 Giao diện Sao lưu và khôi phục. ........................................................... 59
Hình 4.9 Cửa sổ chọn thư mục. ........................................................................... 60
Hình 4.10 Thư mục chứa các tệp dữ liệu sau khi sao lưu. ................................... 60
Hình 4.11 So sánh giá trị cân hiển thị trên phần mềm mô phỏng cân và trên giao
diện Test I/O. ....................................................................................................... 61
Hình 4.12 Quan sát sự tác động lên đầu ra của PLC khi thao tác các nút bấm trên
giao diện Test I/O................................................................................................. 61
Hình 4.13 Giao diện cài đặt tổng cho quá trình cân và phối trộn. ....................... 62
Hình 4.14 Hệ thống bắt đầu cân từ Silo có thứ tự cân là 1. ................................. 62
Hình 4.15 Thao tác trên Force Table. .................................................................. 62
Hình 4.16 Lần lượt cân các Silo theo thứ tự cân. ................................................ 63
Hình 4.17 Tiến hành trộn mẻ vừa cân xong. ....................................................... 63
Hình 4.18 Hoàn thành việc cân tự động khi số mẻ đã đủ. ................................... 63
Hình 4.19 Các dữ liệu về quá trình cân được ghi lại. .......................................... 64
Hình 4.20 Giao diện “Thêm bớt mẻ”. .................................................................. 64
Hình 4.21 Giao diện phần mềm mô phỏng cân sau khi cân xong 1 mẻ và tiến hành
cân mẻ tiếp theo. .................................................................................................. 65
Hình 4.22 Giao diện phần mềm mô phỏng cân sau khi cân đủ số mẻ và thực hiện
thêm mẻ. ............................................................................................................... 66
DANH MỤC BẢNG
Bảng 2.1 Bảng tín hiệu điều khiển ....................................................................... 10
Bảng 2.2 Thiết bị cấp điều khiển ......................................................................... 10
Bảng 2.3 Các thông số cơ bản của PLC S7-1200 CPU 1214 DC/DC/RLY ....... 11
Bảng 3.1 Các lớp được sử dụng. .......................................................................... 18
Bảng 3.2 Câu lệnh thường dùng của SQL. .......................................................... 22
Bảng 3.3 Kiểu dữ liệu của SQL. .......................................................................... 22
Bảng 3.4 Các Class hay được sử dụng ................................................................. 30
Bảng 3.5 Hàm tạo kết nối. .................................................................................... 31
Bảng 3.6 Phương pháp thực thi lệnh. ................................................................... 31
Bảng 3.7 Hàm thực thi lệnh. ................................................................................ 32
Bảng 3.8 Bảng các trường được dùng trong User Control Silo. .......................... 44
CHƯƠNG 1. TỔNG QUAN VỀ ĐỒ ÁN

1.1 Giới thiệu chung


Ngành chăn nuôi ở Việt Nam là một bộ phận quan trọng cấu thành của nông
nghiệp Việt Nam cũng như là một nhân tố quan trọng trong nền kinh tế Việt Nam.
Sản phẩm chăn nuôi không chỉ phục vụ trực tiếp nhu cầu hàng ngày của con người
về thịt, trứng, sữa... mà còn có thể xuất khẩu, đem lại nguồn thu lớn.
Trong chăn nuôi, thức ăn đóng vai trò rất quan trọng, chi phí cho thức ăn
chiếm tới 65-75% giá thành của sản phẩm. Theo các chuyên gia, nếu dùng thức ăn
công nghiệp có thể tiết kiệm được 40-48% chi phí thức ăn cần thiết để có được 1
kg sản phẩm chăn nuôi.
Năm 2020, ngành chăn nuôi đối mặt với nhiều thử thách do đại dịch Covid-
19 gây ra. Tuy vậy, về lâu dài, đây vẫn là lĩnh vực có tiềm năng tăng trưởng mạnh.
Đây cũng chính là động lực thúc đẩy ngành sản xuất thức ăn chăn nuôi phát triển.
Theo thống kê trong 10 năm qua (2008-2018), ngành sản xuất thức ăn chăn nuôi
tăng 2,4 lần, từ 8,5 triệu tấn lên 20,2 triệu tấn. Nhiều chuyên gia cũng nhận định,
thị trường sản xuất thức ăn chăn nuôi sẽ có mức tăng trưởng trung bình trên
10%/năm trong những năm tới. Trong khi đó, hiện Việt Nam mỗi năm vẫn phải
chi 3 tỉ USD/năm để nhập khẩu thức ăn chăn nuôi và nguyên liệu để sản xuất.
Để góp phần giúp giảm bớt sự phụ thuộc vào việc nhập thức ăn chăn nuôi từ
nước ngoài, chủ động được nguồn cung thức ăn chăn nuôi trong nước cần đến
những giải pháp nâng cao năng suất và chất lượng cho ngành sản xuất thức ăn chăn
nuôi, giảm giá thành thức ăn gia súc. Có nhiều giải pháp có thể áp dụng, trong đó
cần đặc biệt quan tâm đến áp dụng công nghệ tự động hoá. Việc nghiên cứu và ứng
dụng công nghệ tự động hoá trong các dây chuyền chế biến thức ăn gia súc đã được
thực hiện ở các nước công nghiệp phát triển đã đạt đến trình độ cao và ngày một
hoàn thiện; tất cả các công đoạn, các khâu trong dây chuyền sản xuất đều được
điều khiển tự động, hoạt động sản xuất của nhà máy cũng được quản lý, giám sát
tại trung tâm điều khiển, giúp cho năng suất và chất lượng sản phẩm thức ăn chăn
nuôi tăng cao không chỉ giúp thúc đẩy ngành chăn nuôi mà còn thu lại nguồn lợi
lớn từ xuất khẩu thức ăn chăn nuôi.
Tại Việt Nam việc áp dụng công nghệ tự động hóa vào sản xuất thức ăn chăn
nuôi cũng đang dần trở nên phổ biến. Vì những lý do trên cùng mong muốn góp
phần vào việc nghiên cứu, áp dụng các giải pháp tự động hóa tiên tiến vào ngành
công nghiệp sản xuất thức ăn chăn nuôi tại Việt Nam, em quyết định thực hiện đề
tài: “Thiết kế hệ thống giám sát và vận hành phối trộn tự động thức ăn chăn
nuôi”

1
1.2 Tổng quan về hệ thống
Giới thiệu công nghệ

Hình 1.1 Công nghệ dây chuyền tự động chế biến thức ăn chăn nuôi.
2
Công nghệ dây chuyền tự động chế biến thức ăn chăn nuôi có công suất 5-
7 tấn/giờ. Các hoạt động của dây chuyền có thể được điều khiển hoàn toàn tự động
và được giám sát tại trung tâm điều khiển. Công nghệ dây chuyền tự động gồm 5
hệ thống lần lượt như sau:
1. Hệ thống Nạp nguyên liệu: Nguyên liệu được công nhân nạp, được phân
loại theo kích cỡ xem có cần nghiền hay không. Nguyên liệu cần được
nghiền sẽ được đưa sang hệ thống nghiền liệu, nếu kích cỡ đủ nhỏ sẽ được
đưa thẳng sang hệ thống phối trộn nguyên liệu.
2. Hệ thống Nghiền nguyên liệu: Nguyên liệu sẽ được nghiền nhỏ tại đây sau
đó sẽ được chuyển đến hệ thống phối trộn nguyên liệu
3. Hệ thống Phối trộn nguyên liệu: Nguyên liệu sau khi đạt kích cỡ yêu cầu sẽ
được đưa vào các Silo chứa đã được quy định, đánh số trước. Tùy vào công
thức yêu cầu mà mỗi Silo sẽ chứa 1 loại nguyên liệu và có 1 thứ tự định
trước. Hệ thống sẽ cân lần lượt và sau đó trộn các nguyên liệu đó.
4. Hệ thống Ép viên: Các nguyên liệu sau khi được trộn lẫn vào nhau được
đưa qua dây chuyền ép viên hoặc đưa thẳng đến hệ thống đóng bao tùy vào
yêu cầu đơn hàng.
5. Hệ thống đóng bao: Các viên nguyên liệu hoặc nguyên liệu sau phối trộn sẽ
được chuyển đến hệ thống đóng bao, kết thúc dây chuyền tại đây.
Trong 5 hệ thống trên, hệ thống số 1, 2, 4, 5 có cấu trúc và cách thức vận
hành đơn giản, sử dụng các loại máy tự động chuyên dụng; hệ thống số 3 là hệ
thống có quá trình hoạt động phức tạp so với các hệ thống còn lại, đòi hỏi phải
điều khiển phối hợp hoạt động giữa nhiều thiết bị, cách thức điều khiển các thiết
bị cũng không theo trình tự và thời gian cố định mà tùy vào công thức. Ngoài ra
hệ thống số 3 cũng là hệ thống quan trọng nhất trong dây chuyền tự động chế biến
thức ăn chăn nuôi do đó hệ thống này cần được vận hành ổn định và chính xác,
được giám sát chặt chẽ trong quá trình hoạt động đồng thời cũng đảm bảo tính linh
hoạt của hệ thống khi chuyển đổi sang phối trộn những công thức khác nhau.
Cấu trúc hệ thống phối trộn nguyên liệu
Cấu trúc phân cấp hệ thống

Hình 1.2 Các cấp hệ thống.

3
Hệ thống được chia làm 3 cấp:
- Cấp vận hành giám sát vận hành: Phần mềm giám sát sẽ được cài đặt
trên máy tính, PLC và Cân điện tử sẽ được kết nối đến máy tính này.
Phần mềm giám sát với các giao diện vận hành khác nhau giúp người
vận hành dễ dàng kiểm soát quá trình cân, cài đặt các tham số, cài đặt
và thao tác với các công thức cân, nguyên liệu,ghi lại các dữ liệu của
quá trình cân.
- Cấp điều khiển: Thu thập dữ liệu và thực hiện điều khiển thông qua các
I/O của PLC giúp xử lý nhanh theo thời gian thực để đáp ứng công nghệ.
- Cấp cảm biến chấp hành: Bao gồm các Silo, máy trộn, biến tần,
cân,…được kết nối với cấp điều khiển thông qua tủ điện hệ thống, nhận
sự điều khiển từ cấp điều khiển cũng như đưa về các tín hiệu cho hai cấp
nêu trên.
Thành phần hệ thống

Hình 1.3 Hệ thống phối trộn nguyên liệu.

4
Hệ thống phối trộn nguyên liệu bao gồm:
1. Các ống dẫn nguyên liệu từ hệ thống nghiền và nạp liệu.
2. 16 Silo chứa nguyên liệu.
3. Cân nguyên liệu.
4. Nơi đổ nguyên liệu thêm tay.
5. Máy trộn nguyên liệu.
Hệ thống có thể trộn tối đá 1,5 tấn trên 1 mẻ trộn. Chu trình phối trộn diễn ra
như sau:
Nguyên liệu được đưa vào các silo, mỗi silo chỉ chứa 1 loại nguyên liệu đã
được xác định trước tùy theo công thức được chọn từ trước. Lần lượt các Silo sẽ
đươc mở theo thứ tự trong công thức để nguyên liệu chảy xuống Cân. Hệ thống sẽ
cân tự động các nguyên liệu chảy xuống và ghi lại các giá trị cân được đó cho đến
khi đủ số nguyên liệu cân thì kết thúc 1 mẻ, nguyên liệu trong cân sẽ được đưa
xuống bình trộn để trộn rồi xả và đưa sang hệ thống tiếp theo, cứ thế lặp lại chu
trình cho đủ số mẻ đã đặt trước thì kết thúc. Thời gian trộn và xả sẽ được đặt trước
khi hết thời gian đó bình trộn sẽ xả ra và nguyên liệu sau trộn sẽ được đưa sang hệ
thống ép viên hoặc đóng bao.
1.3 Mục tiêu, yêu cầu và bố cục đồ án
Mục tiêu đồ án
Mục tiêu chính của đồ án sẽ là xây dựng phần mềm giúp điều khiển vận hành
giám sát hệ thống số 3: Hệ thống phối trộn nguyên liệu trong công nghệ dây chuyền
tự động chế biến thức ăn chăn nuôi. Hệ thống này gồm 3 cấp nhưng đồ án chỉ có
mục đích xây dựng cấp điều khiển và cấp giám sát vận hành; không can thiệp tới
tủ điện hệ thống và các cơ cấu chấp hành hiện tại của nhà máy. Tuy nhiên để phục
vụ cho mục đích vận hành thử nghiệm ta cần xây dựng phần mềm mô phỏng hoạt
động của cân; sử dụng phần mềm TIA Portal để mô phỏng những tác động của các
cơ cấu chấp hành lên cấp điều khiển và ngược lại.
Yêu cầu đặt ra
Đối với cấp giám sát vận hành
Ta cần xây dựng được phần mềm giúp giám sát vận hành hệ thống phối trộn
giúp kiểm soát vận hành hệ thống dễ dàng, đảm bảo hệ thống được vận hành trơn
tru một cách tự động. Phần mềm vận hành giám sát cho hệ thống phối trộn nguyên
liệu cần đáp ứng được các yêu cầu sau đây:
1. Xây dựng được các dữ liệu về nguyên liệu được sử dụng phối trộn,
các công thức được sử dụng phối trộn, tốc độ chảy của từng loại
nguyên liệu từ silo đến cân.
2. Cập nhật được các dữ liệu mới về công thức, nguyên liệu và tốc độ
chảy của nguyên liệu.
3. Lưu trữ các dữ liệu trong suốt quá trình cân để phục vụ cho việc
thống kê, tính toán và sao lưu khôi phục.
4. Kết nối được đến cân và cấp điều khiển ổn định.

5
5. Kiểm soát việc đóng mở các Silo sao cho khối lượng nguyên liệu
được chảy xuống cân có sai số nhỏ so với yêu cầu.
6. Hệ thống vận hành chính xác theo đúng chu trình đã nêu; linh hoạt,
dễ hiểu, thuận tiện cho người vận hành.
Đối với cấp điều khiển
Cấp điều khiển cần chọn lựa thiết bị PLC phù hợp, có khả năng nhận dữ liệu
từ phần mềm giám sát thông qua Ethernet; số lượng các I/O vào ra cũng cần phải
được chọn lựa dựa trên nhu cầu nhận tín hiệu và điều khiển các thiết bị được sử
dụng trong hệ thống.
Đối với cấp cảm biến, chấp hành
Tại cấp này có 2 yêu cầu chính như sau:
1. Xây dựng được phần mềm mô phỏng cân Phần mềm mô phỏng cân
sẽ mô phỏng quá trình thay đổi giá trị khối lượng hiển thị trên cân
trong các trường hợp: mở si lô cho nguyên liệu chảy xuống cân, đóng
Silô này và mở Silô khác, xả nguyên liệu khỏi cân đồng thời truyền
các tín hiệu về giá trị cân liên tục về phần mềm giám sát.
2. Mô phỏng các tác động của các tín hiệu điều khiển vận hành đến các
đầu vào PLC rồi theo dõi sự thay đổi của các tín hiệu đầu ra điều
khiển sẽ tác động điều khiển lên các thiết bị chấp hành tương ứng
trong hệ thống.
Bố cục đồ án
Đồ án gồm 4 chương với các nội dung như sau:
- Chương 1: Tổng quan về đồ án.
Trình bày tổng quan lý do chọn đề tài, cấu trúc của hệ thống nghiên cứu, mục
tiêu và các yêu cầu cần đạt được khi làm đồ án và bố cục đồ án.
- Chương 2: Phương án thực hiện.
Trình bày về phương án thực hiện đồ án trong từng cấp để phục vụ vận hành
mô phỏng hệ thống.
- Chương 3: Xây dựng phần mềm.
Chương này sẽ trình bày cách thức xây dựng phần mềm dựa theo những yêu
cầu đã đặt ra ở CHƯƠNG 1. Đồng thời giới thiệu các phần mềm được sử dụng hỗ
trợ cho việc tạo dựng phần mềm giám sát, phần mềm mô phỏng cân và việc lập
trình cho PLC sử dụng phần mềm TIA portal.
- Chương 4: Vận hành hệ thống.
Trình bày kết quả các phần mềm xây dựng, vận hành mô phỏng hệ thống và
cách thức sử dụng phần mềm giám sát.

6
CHƯƠNG 2. PHƯƠNG ÁN THỰC HIỆN

2.1 Cấp giám sát, vận hành


Để xây dựng phần mềm giám sát đảm bảo các yêu cầu đã nói ở trên ta sử
dụng phần mềm Visual Studio để lập trình, tạo ra các giao diện giúp giám sát, vận
hành và thao tác với dữ liệu của hệ thống. Phần mềm giám sát sẽ có 2 chức năng
chính là xây dựng, thu thập và lưu trữ được hệ thống dữ liệu cho hệ thống phối
trộn và điều khiển vận hành hệ thống.

Hình 2.1 Cấu trúc xây dựng phần mềm giám sát.

Trong đồ án này em lựa chọn sử dụng phần mềm Visual Studio, lập trình
Winform để lập trình phần mềm giám sát vận hành cho hệ thống giúp dễ dàng
trong việc xây dựng, thu thập, lưu trữ và quản lý các dữ liệu của hệ thống. Quy
trình cân và phối trộn tự động phức tạp thay đổi tùy vào công thức và yêu cầu, có
nhiều biến, dữ liệu và thao tác cần phải quản lý việc chọn lựa cách làm này giúp
cho hệ thống phối trộn linh hoạt trong việc vận hành và giám sát đồng thời việc
chọn lựa hay thay đổi PLC khi PLC gặp sự cố hay khi cần nâng cấp hệ thống ta
chỉ việc thay đổi cách thức giao tiếp giữa phần mềm và PLC mà không cần phải
viết lại chương trình mới khi sử dụng thiết bị PLC mới thay thế.
Việc xây dựng cơ sở dữ liệu cho phần mềm sẽ được thực hiện bằng phần
mềm Microsoft SQL Server Management Studio nhằm tạo ra các dữ liệu về công
thức và nguyên liệu phối trộn, thu thập các dữ liệu về quá trình cân và phối trộn,
sao lưu cơ sở dữ liệu của hệ thống để khôi phục khi cần thiết.
Dưới đây là lưu đồ thuật toán tổng quát điều khiển cân và phối trộn tự động.
Chi tiết hơn về lập trình cho hệ thống sẽ được đề cập ở mục 3.4.

7
Hình 2.2 Lưu đồ thuật toán vận hành hệ thống phối trộn tự động.
8
2.2 Cấp điều khiển.
Giới thiệu về PLC
PLC là từ viết tắt của Programmable Logic Controller nghĩa là Bộ điều
khiển Logic có thể lập trình được, là thiết bị cho phép thực hiện linh hoạt các thuật
toán điều khiển logic thông qua một ngôn ngữ lập trình. Định nghĩa PLC theo
IEC61131 là: Hệ thống điện tử số được thiết kế sử dụng trong môi trường công
nghiệp, có bộ nhớ khả trình với tập lênh hướng tới người sử dụng để thực hiện các
chức năng nhất định như logic, tuần tự, định thời gian, đếm và tính toán số học,
được sử dụng để điều khiển nhiều loại máy và quá trình khác nhau thông qua các
đầu vào/ ra số hoặc tương tự.
PLC được thiết kế để thay thế các hệ thống điều khiển logic cồng kềnh sử
dụng rơ le trong sản xuất tự động dựa trên nguyên lý làm việc theo chu kì quét,
giúp dễ dàng hơn cho việc lập trình, vận hành, bảo trì.

Hình 2.3 Chu kì quét của PLC.

Cấu trúc phần cứng của PLC bao gồm các phần sau: Nguồn (Power Supply),
bộ xử lý trung tâm (CPU), các đầu vào/ra (I/O), bộ nhớ (Memory) và khối truyền
thông (Communication).

Hình 2.4 Cấu trúc phần cứng PLC.

9
PLC có rất nhiều ưu điểm như: chi phí vận hành hiệu quả, linh hoạt, nhỏ
gọn, cho phép điều khiển các tác vụ phức tạp nhờ khả năng tính toán đa dạng, lập
trình đơn giản, đáng tin cậy cho việc điều khiển vận hành máy móc. Do đó hiện
nay PLC được ứng dụng rộng rãi trong tất cả các lĩnh vực điện tự động hóa, phục
vụ cho nhiều nghành, nhiều loại máy móc như: cấp nước, xử lý nước thải, giám sát
năng lượng, giám sát hệ thống điện, máy đóng gói, máy chế biến thực phẩm, dây
chuyền băng tải…vv
Lựa chọn thiết bị cho cấp điều khiển
Trong đồ án này em lựa chọn sử dụng dòng PLC S7-1200 của hãng Siemems.
PLC S7-1200 được hãng Siemens cho ra đời năm 2009 nhằm thay thế S7-200, bộ
điều khiển PLC S7-1200, được sử dụng với sự linh động và khả năng mở rộng phù
hợp đối với hệ thống tự động hóa nhỏ và vừa tương ứng với người dung cần. Thiết
kế nhỏ gọn, cấu hình linh động, hỗ trợ mạnh mẽ về tập lệnh đã làm cho PLC S7-
1200 trở thành một giải pháp hoàn hảo trong việc điều khiển, chọn lựa phù hợp đối
với nhiều ứng dụng khác nhau.
Ta có bảng tổng hợp tín hiệu điều khiển cho hệ thống như sau:
Bảng 2.1 Bảng tín hiệu điều khiển

Tín hiệu đầu vào Tín hiệu đầu ra


(5 đầu vào) (20 tín hiệu ra)
Tín hiệu đóng cửa xả trộn 16 đầu ra điều khiển đóng
mở 16 Silo
Tín hiệu mở cửa trộn Xả cân
Tín hiệu đóng cửa xả cân Xả trộn
Tín hiệu mở cửa xả cân Biến tần
Tín hiệu xác nhận trộn Báo đang trộn

Dựa vào yêu cầu công nghệ và các tín hiệu điều khiển vừa tổng hợp ta lựa
chọn thiết bị cho cấp điều khiển như sau:
Bảng 2.2 Thiết bị cấp điều khiển

Tên thiết bị Số Mã hiệu


lượng
1 PLC Siemens S7- 1 6ES7214-
1200 CPU 1214, 1HE30-0XB0
14 DI, 10 DO, 2
AI, DC
2 SM 1222 modul 2 6ES7222-
mở rộng 8 ngõ ra 1HF30-0XB0
relay cho PLC
S7-1200

10
Hình 2.5 PLC Siemens S7-1200 CPU 1214 DC/DC/RLY.
Bảng 2.3 Các thông số cơ bản của PLC S7-1200 CPU 1214 DC/DC/RLY

Supply Voltage (Nguồn 24 VDC


cấp)
Đầu vào (Input) Tích hợp 14 đầu vào số
24VDC
Đầu ra (Output) Tích hợp 10 đầu ra rơ le
Kiểu kết nối Ethernet RJ 45
Giao thức (Protocol) TCP/IP
Web Server Có hỗ trợ
Bộ nhớ làm việc (Work 50 kbyte
memory)
Bộ nhớ lưu trữ (Load 2 Mbyte tích hợp sẵn
memory) Tối đa 24 Mbyte với thẻ
nhớ SIMATIC

Hình 2.6 SM 1222 modul mở rộng 8 ngõ ra relay.

11
Bản vẽ đấu dây cho cấp điều khiển
Các bản vẽ đấu dây cho cấp điều khiển được để ở phần Phụ lục A3
2.3 Cấp cảm biến chấp hành.
Phần mềm mô phỏng cân
Phục vụ cho mục đích vận hành thử nghiệm ta xây dựng phần mềm mô phỏng
hoạt động của cân. Phần mềm mô phỏng cân sẽ được xây dựng bằng phần mềm
Visual Studio, sử dụng ngôn ngữ lập trình C# để xây dựng giao diện mô phỏng
cân, kết nối đến Phần mềm giám sát và PLC. Phần mềm này sẽ đọc tín hiệu điều
khiển từ đầu ra của PLC (Các tín hiệu đóng mở các Silô và xả cân) và hiển thị rồi
gửi các tín hiệu về khối lượng cân về phần mềm giám sát.
Công thức tính toán khối lượng nguyên liệu chảy xuống theo lưu lượng như
sau:

M= ω dt

Ngoài ra ta còn phải tính đến thời gian trễ từ lúc có tín hiệu mở silo đến lúc
nguyên liệu xuống đến cân và từ lúc đóng silo đến lúc số nguyên liệu ở trong đường
dẫn chảy xuống hết. Ta vẽ được đồ thị giá trị cân theo thời gian đối như sau:

Hình 2.7 Đồ thị biểu diễn giá trị cân theo thời gian.

Trong đó:
 ω1, ω2 là lưu lượng khối lượng với 2 loại nguyên liệu khác
nhau chảy đến cân (ω2 > ω >0)
 ωxả là lưu lượng khối lượng nguyên liệu xả cân (ωxả < 0).
 t1, t2 là thời gian trễ do nguyên liệu chảy trong đường dẫn từ
Silo đến cân của 2 loại nguyên liệu.
 Tín hiệu Enx: tín hiệu khi có bất kì Silo nào mở.

12
Hệ thống phối trộn bao gồm 16 Silo đựng các loại nguyên liệu khác nhau,
điều khiển đóng mở lần lượt từng Silo để nguyên liệu chảy xuống cân. Ta có mô
hình tính toán của cân trong hệ thống như sau:

Hình 2.8 Mô hình tính toán của phần mềm mô phỏng cân.

Trong đó:
 Đầu vào bao gồm ωx, tx, Enx (với x = 1, 2, 3, … 16) lần lượt là lưu
lượng khối lượng, trễ do chảy trong ống dẫn của các nguyên liệu trong
Silo và tín hiệu mở Silo; ωx, Enxả là lưu lượng xả và tín hiệu xả cân.
 Khối lượng nguyên liệu cân được của các Silo:Mx (với x = 1, 2, 3, …
16), Khối lượng nguyên liệu xả: Mxả.
 Đầu ra là tổng khối lượng nguyên liệu chảy xuống cân: M𝛴.
Mô phỏng các tác động cơ cấu chấp hành.
Sử dụng phần mềm TIA Portal của Siemens để mô phỏng các tác động đến
đầu vào của PLC và quan sát sự tác động của phần mềm giám sát đến các đầu ra
của PLC bằng Watch and Force Table của phần mềm.
Việc tạo và sử dụng Watch and Force Table sẽ được nói đến cụ thể ở mục
3.6.2 Tạo và sử dụng Watch and force table

13
CHƯƠNG 3. XÂY DỰNG CÁC PHẦN MỀM

3.1 Phần mềm Visual Studio, ngôn ngữ C# và lập trình Windform.
Phần mềm Visual Studio
Phần mềm Visual Studio là một loại phần mềm máy tính có công dụng giúp đỡ
các lập trình viên trong việc phát triển phần mềm từ Microsoft. Nó được sử dụng
để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang
web, các ứng dụng web và các dịch vụ web. Visual Studio sử dụng nền tảng phát
triển phần mềm của Microsoft như Windows API, Windows Forms, Windows
Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản
xuất cả hai ngôn ngữ máy và mã số quản lý.
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên
tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình.
Các ngôn ngữ tích hợp gồm có C,[4] C++ và C++/CLI (thông qua Visual C++),
VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của
Visual Studio 2010). Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby
thông qua dịch vụ cài đặt riêng rẽ. Nó cũng hỗ trợ XML/XSLT, HTML/XHTML,
JavaScript và CSS.
Ngôn ngữ lập trình C# (C Sharp)
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội
ngũ kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders
Hejlsberg và Scott Wiltamuth.
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên
nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn
ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.
C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng
Windows Forms hay WPF (Windows Presentation Foundation), . . . trở nên rất dễ
dàng.
Ngôn ngữ C# có những đặc trưng tiêu biểu sau:
- C# là ngôn ngữ đơn giản, mạnh mẽ: C# được dựng trên nền tảng C++ và
Java, ảnh hưởng bởi Delphi, VisualBasic nên ngôn ngữ C# được thừa hưởng
các ưu điểm vào loại bỏ các yếu điểm của các ngôn ngữ trên, vì vậy nó khá
đơn giản, đồng thời loại bỏ các cú pháp dư thừa và thêm vào đó các cú pháp
cải tiến hơn.
- C# là ngôn ngữ lâp trình bậc cao, đa nền tảng vì vậy nó dễ dàng tiếp cận và
phù hợp cho người mới bắt đầu học, ví dụ câu lệnh kinh điển dành cho
người mới băt đầu hoc là in ra dòng chữ "Hello world", với C# ta chỉ cẩn 1
câu lệnh: System.Console.WriteLine("Hello world");

14
- C# là ngôn ngữ đa năng và hiện đại: C# phù hợp cho việc phát triển trong
thời đại 4.0, bao gồm việc phát triển web, mobile app, game, học máy và trí
tuệ nhân tạo, phát triển đám mây, IoT, blockchain, microservices...
- C# là một ngôn ngữ lập trình hướng đối tượng đồng thời hỗ trợ lâp trình
chức năng: C# hỗ trợ mạnh mẽ cho phương pháp lâp trình hướng đối tượng,
ngoài ra C# còn hỗ trợ các phương pháp lập trình chức năng thông qua các
biểu thức lamba, khớp mẫu, functions, các thuộc tính bất biến.
- C# là ngôn ngữ gõ tĩnh, định kiểu mạnh, hỗ trợ gõ động C# được gõ tĩnh
nên nó mang đầy đủ các ưu việt của phương pháp gõ tĩnh như bảo đảm an
toàn kiểu, tự động phân tích và nhận biết lỗi cú pháp ngay trong quá trình
viết mã... Ngoài ra khi sử dụng C# kết hợp với IDE Visual Studio, C# được
hỗ trợ gợi ý code bởi Visual Studio IntelliCode sử dụng trí tuệ nhân tạo giúp
cho việc viết code trở nên nhanh chóng và dễ dàng hơn.
- C# là một ngôn ngữ ít từ khóa: C# có khoảng hơn 80 từ khóa.
Lập trình Winforms
Windows Form (thường gọi tắt là winforms) là framework dành cho phát triển
ứng dụng desktop cho Windows đầu tiên trên .NET Framework, được sử dụng rất
rộng rãi và tồn tại cho đến tận ngày nay. Windows Forms hoàn toàn đơn giản hóa
việc lập trình GUI (giao diện đồ họa), hỗ trợ thiết kế giao diện trực quan (mà không
cần tự viết code), đồng thời nhận được sự hỗ trợ rất tốt từ các hãng thứ ba
(Devexpress, Syncfusion, Telerik, v.v.) và cộng đồng.
Winforms rất dễ học với người mới bắt đầu. Mô hình lập trình của Windows
Forms đơn giản và dễ nắm bắt. Việc thiết kế giao diện rất trực quan, đơn giản.
Hiện nay vẫn có nhiều công ty tuyển nhân sự về mảng này, chủ yếu để bảo trì
và cải tiến các hệ thống đã xây dựng từ trước. Windows Forms cũng vẫn là một
công cụ hữu ích cho quá trình học tập. Trong quá trình học có thể thường xuyên
phải làm project môn học. Winforms là một công cụ rất thích hợp.
Tạo Project Windows Forms
Cả 2 phần mềm Giám sát và Mô phỏng cân mà ta xây dựng đều sử dụng
Windows Forms, ngôn ngữ C# để lập trình. Ta sẽ lần lượt khởi tạo 2 project tên
“Phần mềm giám sát” và “Phần mềm mô phỏng cân”. Sau đây sẽ là cách khởi tạo
1 project Windows Forms.
Đầu tiên mở phần mềm Visual Studio ấn tổ hợp phím Ctrl + Shift + N để tạo
một Project mới. Cửa sổ New Project hiện ra ta thực hiện các thao tác sau:

15
Hình 3.1 Cửa sổ New Project của phần mềm Visual Studio.

1. Chọn ngôn ngữ Visual C#.


2. Chọn Windows Deskop.
3. Chọn Windows Forms App (.Net Framework).
4. Đặt tên cho Project, Solution, chọn nơi lưu dự án và Framework.
5. Chọn OK để hoàn thành việc tạo 1 Windows Forms.
Sau khi tạo project Windows Forms, để phần mềm có nhiều giao diện khác
nhau ta thêm các Item Winodows Forms vào Solution. Cách thức tiến hành như
sau:

Hình 3.2 Mở cửa sổ Add New Item cho Solution.

Trong cửa sổ Solution Explorer Click chuột phải vào Solution mong muốn
chọn Add rồi chọn New item hoặc ấn tổ hợp phím Ctrl+Shift+A. Cửa sổ Add New
Items hiện ra ta chọn Windows Form, đặt tên rồi ấn Add để hoành thành việc thêm
Windows Form cho Solution.
16
Hình 3.3 Thêm Windows Form cho Solution.

Lần lượt tạo mới các Windows Form cho Solution “Phần mềm giám sát” của
Project “Phần mềm giám sát” như hình sau.

Hình 3.4 Các Windows Form được tạo trong Solution “Phần mềm giám sát”.

Việc lập trình và sử dụng các Windows Form này sẽ được trình bày cụ thể ở
phần các mục 3.3 Xây dựng và quản lý cơ sở dữ liệu và mục 3.4 Các giao diện
phục vụ vận hành giám sát.

17
3.2 Cách thức kết nối giữa các phần mềm.
Kết nối giữa phần mềm mô phỏng cân và phần mềm giám sát
Lập trình Socket sử dụng ngôn ngữ C# để kết nối phần mềm mô phỏng cân
và phần mềm giám sát. Các lớp .Net cơ bản được sử dụng trong lập trình mạng
được cung cấp trong hai Không gian tên (Namespace) System.Net và
System.Net.Sockets. Hai lớp này chứa rất nhiều lớp dùng cho lập trình mạng nhưng
trong phạm vi đồ án chỉ quan tâm đến các lớp sau
Bảng 3.1 Các lớp được sử dụng.

Class (Lớp) Namespace Mô tả


(Không
gian tên)
IPAddress System.Net Cung cấp địa chỉ IP
IPEndPoint System.Net Đại diện cho điểm cuối
mạng dưới dạng địa chỉ
IP và số cổng.
TcpListener System.Net Lắng nghe các kết nối từ
.Sockets các máy khách mạng
TCP.
Socket System.Net Triển khai kiểu giao tiếp
.Sockets Socket
TcpClient System.Net Cung cấp các kết nối
.Sockets máy khách cho các dịch
vụ mạng TCP.
NetworkStr System.Net Cung cấp luồng dữ liệu
eam .Sockets cơ bản để truy cập mạng.
Cách thức kết nối phần mềm giám sát và phần mềm mô phỏng cân được
thực hiện như sau:

Hình 3.5 Giao tiếp giữa phần mềm giám sát và phần mềm mô phỏng cân.

18
Đối với phần mềm giám sát (Server):
1. Tạo một đối tượng System.Net.Sockets.TcpListener để bắt đầu
“lắng nghe” trên một cổng cục bộ.
2. Đợi và chấp nhận kết nối từ client với phương thức
AccepSocket(). Phương thức này trả về một đối tượng dùng để
gửi và nhận dữ liệu: System.Net.Sockets.Socket.
3. Thực hiện giao tiếp với client.
4. Đóng Socket.
Thông thường quy trình này sẽ được đặt trong một vòng lặp để chấp
nhận nhiều kết nối cùng lúc (sử dụng Thread) hoặc các kết nối lần lượt.
Đối với phần phềm mô phỏng cân (Client):
1. Tạo một đối tượng System.Net.Sockets.TcpClient
2. Kết nối đến server với địa chỉ và port xác định với phương thức
TcpClient.Connect()
3. Lấy luồng giao tiếp: TcpClient.GetStream().
4. Thực hiện giao tiếp với server.
5. Đóng luồng và socket.
Kết nối chương trình C# và PLC S7 1200
Thư viện
Sử dụng thư viện S7.net để kết nối chương trình C# đến PLC S7-1200.
- Bước 1: Tải thư viện S7.net
Truy cập đường dẫn ở Phụ lục A2 để tải thư viện S7.net.
- Bước 2: Thêm thư viện S7.net vào Project
Mở Project cần thêm thư viện, chọn View rồi chọn Solution Explorer hoặc ấn
tổ hợp phím Ctrll+Alt+L hiện lên cửa sổ Solution.

Hình 3.6 Mở của sổ Solution của Project.

19
Trong cửa sổ Solution Explorer, Click chuột phải vào Reference rồi
chọn Add Reference để thêm thư viện cho Project.

Hình 3.7 Mở cửa sổ Reference Manager.

Cửa sổ Reference Manager hiện lên như hình dưới; Chọn Browse rồi
tìm đến nơi lưu file S7.net vừa tải về, chọn file S7.Net.dll sau đó ấn OK để
hoàn thành việc thêm thư viện cho Project.

Hình 3.8 Thêm thư viện S7.net cho Project.

Viết chương trình C# kết nối với PLC S7-1200


1. Các Namespace (Không gian tên) được sử dụng là: S7.net và
S7.net.Types.
2. Khai báo PLC kết nối bao gồm: CpuType, địa chỉ IP, số rack, số
slot.
Ví dụ: plc1 = new Plc(CpuType.S71200, txtPLC_IP.Text, 0, 0);
3. Mở kết nối đến PLC : plc1.Open();
4. Đóng kết nối đến PLC: plc1.Close();
5. Ngoài ra còn các có việc đọc và ghi các biến đến PLC từ chương
trình C# mọi người có thể tham khảo trong phần phụ lục A1.

20
3.3 Xây dựng và quản lý cơ sở dữ liệu
Tổng quan về SQL
Khái niệm SQL
SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), là
công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ
sở dữ liệu. SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để
tương tác với cơ sở dữ liệu quan hệ.
Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến một
công cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu. Thực sự
mà nói, khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù
đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn
còn là một trong những chức năng quan trọng của nó. SQL được sử dụng để điều
khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người
dùng bao gồm:
- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở
dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan
hệ giữa các thành phần dữ liệu.
- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng
thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ
liệu trong các cơ sở dữ liệu.
- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm
soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an
toàn cho cơ sở dữ liệu
- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn
trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ
liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống.
Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng
trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ
quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C,
C++, Java, ... song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong
các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.
Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, ... SQL là
ngôn ngữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần
phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các
yêu cầu như thế nào. Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng.
Câu lệnh
SQL chuẩn bao gồm khoảng 40 câu lệnh, bảng dưới đây liệt kê các câu lệnh
thường được sử dụng nhất của SQL. Trong các hệ quản trị cơ sở dữ liệu khác nhau,
mặc dù các câu lệnh đều có cùng dạng và cùng mục đích sử dụng song mỗi một hệ
quản trị cơ sở dữ liệu có thể có một số thay đổi nào đó. Điều này đôi khi dẫn đến
cú pháp chi tiết của các câu lệnh có thể sẽ khác nhau trong các hệ quản trị cơ cơ sở
dữ liệu khác nhau.

21
Bảng 3.2 Câu lệnh thường dùng của SQL.

Câu lệnh Chức năng


Thao tác dữ liệu
Select Truy xuất dữ liệu
Insert Bổ sung dữ liệu
Update Cập nhật dữ liệu
Delete Xóa dữ liệu
Truncate Xóa toàn bộ dữ liệu trong bảng
Định nghĩa dữ liệu
Create table Tạo bảng
Drop table Xóa bảng
Alter table Sửa đổi bảng
Create view Tạo khung nhìn
Alter view Sửa đổi khung nhìn
Drop view Xóa khung nhìn

Các câu lệnh của SQL đều được bắt đầu bởi các từ lệnh, là một từ khóa cho
biết chức năng của câu lệnh (chẳng hạn SELECT, DELETE). Sau từ lệnh là các
mệnh đề của câu lệnh. Mỗi một mệnh đề trong câu lệnh cũng được bắt đầu bởi một
từ khóa (chẳng hạn FROM, WHERE, …).
Kiểu dữ liệu
Chuẩn ANSI/ISO SQL cung cấp các kiểu dữ liệu khác nhau để sử dụng trong
các cơ sở dữ liệu dựa trên SQL và trong ngôn ngữ SQL. Dựa trên cơ sở các kiểu
dữ liệu do chuẩn ANSI/ISO SQL cung cấp, các hệ quản trị cơ sở dữ liệu thương
mại hiện nay có thể sử dụng các dạng dữ liệu khác nhau trong sản phẩm của mình.
Bảng dưới đây liệt kê một số kiểu dữ liệu thông dụng được sử dụng trong SQL.
Bảng 3.3 Kiểu dữ liệu của SQL.

Tên kiểu Mô tả
CHAR(n) Kiểu chuỗi với độ dài cố định n
ký tự
NCHAR(n) Kiểu chuỗi cố định n kí tự hỗ chợ
Unicode
VARCHAR(n) Kiểu chuỗi chính xác n kí tự
NVARCHAR(n) Kiểu chuỗi chính xác n kí tự hỗ
trợ Unicode
INTERGER Số nguyên có giá trị từ -231 đến
231 - 1
INT Giống kiểu INTERGER
TINYTINT Số nguyên có giá trị từ 0 – 255

22
SMALLINT Số nguyên có giá trị từ -215 đến
215 – 1
BIGINT Số nguyên có giá trị từ -263 đ4ến
263 – 1
NUMERIC (p, s) Kiểu số với độ chính xác cố định
DECIMAL Tương tự kiểu NUMERIC
FLOAT Số thực có giá trị từ -1.97E+308
đến 1.79E+308
REAL Số thực có giá trị từ -3.4E+38
đến 3.4E+38
MONEY Kiểu tiền tệ
BIT Kiểu bit (có giá trị 0 hoặc 1)
DATETIME Kiểu ngày giờ (chính xác đến tíc
tắc)
SMALLDATETIME Kiểu ngày giờ (chính xác đến
phút)
BINARY Dữ liệu nhị phân với độ dài cố
định (tối đa 8000 bytes)
VARBINARY Dự liệu nhị phân với độ dài chính
xác (tối đa 8000 bytes)
IMAGE Dữ liệu nhị phân với độ dài chính
xác (tối đa 2,147,483,674 bytes)
TEXT Dữ liệu kiểu chuỗi với độ dài lớn
(tối đa 2,147,486,674 ký tự)
NTEXT Dữ liệu kiểu chuỗi với độ dài lớn
và hỗ trợ Unicode (tối đa
1,073,741,823 ký tự)
Phần mềm Microsoft SQL Server và SQL Server Management
Studio
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển
bởi Microsoft. Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có
chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần
mềm khác.
Microsoft SQL Server Management Studio (SSMS) là một ứng dụng phần mềm
thiết kế bởi Microsoft, ra mắt lần đầu năm 2005. Ứng dụng này cho phép lập trình
viên cấu hình, quản lý và quản trị bộ máy cơ sở dữ liệu (database engine) SQL
Server trên giao diện đồ họa thay vì phải dùng đến dòng lệnh.
Cài đặt phần mềm Microsoft SQL Server và Microsoft SQL Server
Management Studio.
- Bước 1: Tải phiên bản Microsoft SQL Server phù hợp.
Truy cập vào đường dẫn ở Phụ lục A2 để tải phiên bản phù hơp.

23
- Bước 2: Mở File vừa tải về và chọn “Yes”.

Hình 3.9 Mở file cài SQL Server.

- Bước 3: Chọn cài bản Basic.

Hình 3.10 Chọn phiên bản cài đặt.

- Bước 4: Chọn Accept.

Hình 3.11 Microsoft SQL Server License Terms.

- Bước 5: Chọn Install để cài đặt SQL Server.


24
Hình 3.12 Cài đặt SQL Server.

- Bước 6: Chờ cài đặt xong SQL Server, hiện lên cửa sổ cài SQL Server
Management Studio (SSMS).

Hình 3.13 Tải SQL Server Management Studio.

- Bước 7: Tiếp theo, người dùng sẽ được dẫn đến đường link download
SSMS, chọn phiên bản phù hợp và tải về.
- Bước 8: Sau khi tải xong, mở file và chọn Install để cài đặt.

Hình 3.14 Cài đặt Microsoft SQL Server Management Studio.

25
Sử dụng phần mềm Microsoft SQL Server Management Studio
- Bước 1: Mở phần mềm Microsoft SQL Server Management Studio ấn
Connect để kết nối đến SQL Server.

Hình 3.15 Ứng dụng Microsoft SQL Server Management Studio.

Hình 3.16 Kết nối đến SQL Server.

- Bước 2: Click chuột phải và Database rồi chọn New Database.

Hình 3.17 Tạo cơ sở dữ liệu mới.

- Bước 3: Cửa sổ New Database hiện lên, đặt tên cho Database rồi ấn OK.
Ở đây ta sẽ tạo 1 Database cho hệ thống tên là HeThongPhoiTron.

26
Hình 3.18 Cửa sổ New Database.

- Bước 4: Chọn Database vừa tạo, click chuột phải chọn New rồi chọn
Table để thêm bảng vào cơ sở dữ liệu

Hình 3.19 Tạo 1 bảng dữ liệu trong cơ sở dữ liệu.

- Bước 5: Tạo các cột cho bảng và kiểu dữ liệu của cột đó.

Hình 3.20 Tạo cột và kiểu dữ liệu cho cột.

- Bước 6: Ấn Ctrl + S để lưu bảng, cửa sổ đặt tên bảng hiện lên, người dùng
đặt tên cho bảng rồi ấn OK để hoàn thành tạo bảng.

Hình 3.21 Đặt tên cho bảng dữ liệu.


27
- Bước 7: Click chuột phải vào tên bảng, người dùng có thể lựa chọn các
thao tác với bảng ví dụ như: chọn Design để chỉnh sửa cột cho bảng, chọn
Edit Top 200 Rows để điền các dữ liệu vào bảng.

Hình 3.22 Các thao tác với bảng dữ liệu.

Ở các mục 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7 ta sẽ sử dụng luôn Database
“HeThongPhoiTron” đã tạo ở bước 3 và thực hiện các thao tác từ bước 4
đến bước 7 để tạo các bảng dữ liệu cho từng mục.
Kết nối Database của SQL Server đến Visual Studio
- Bước 1: Mở Project C# muốn kết nối cơ sở dữ liệu SQL
- Bước 2: Chọn View rồi chọn Server Explorer hoặc ấn Ctrl+Alt+S

Hình 3.23 Mở giao diện Server Explorer.

- Bước 3: Trong cửa sổ Server Explorer, click chuột phải vào Data
Connections, chọn Add Connection để mở cửa sổ kết nối đến SQL Server.

Hình 3.24 Mở cửa sổ kết nối đến SQL Server.

28
- Bước 4: Mở phần mềm Microsoft SQL Server Management Studio, copy
Server name.

Hình 3.25 Server name của SQL Server.

- Bước 5: Quay về với cửa sổ Add Connection rồi thực hiện các thao tác sau

Hình 3.26 Kết nối đến cơ sở dữ liệu của SQL Server.

1. Điền Server name của SQL Server.


2. Chọn hoặc điền tên cơ sở dữ liệu.
3. Kiểm tra kết nối đến cơ sơ dữ liệu.
4. Nhấn OK để hoàn thành kết nối
Đọc và ghi dữ liệu từ chương trình C# đến cơ sở dữ liệu của SQL
Server
Để viết chương trình thao tác giữa chương trình C# và cơ sở dữ liệu của
SQL Server ta sử dụng Không gian tên(NameSpace) là: System.Data.SqlClient;
29
Các Lớp (Class) được sử dụng trong đồ án:
Bảng 3.4 Các Class hay được sử dụng

Tên Class Mô tả
(Lớp)
SqlConnection Kết nối đến cơ
sở dữ liệu
SqlCommand Thực hiện lệnh
đến cơ sơ dữ
liệu
SqlDataReader Đọc dữ liệu từ
cơ sở dữ liệu
- Lớp SqlConnection.
Đối tượng SqlConnection đại diện cho một phiên duy nhất đối với
nguồn dữ liệu SQL Server. Với hệ thống cơ sở dữ liệu máy khách / máy
chủ, nó tương đương với kết nối mạng tới máy chủ. SqlConnection được sử
dụng cùng với SqlDataAdapter và SqlCommand để tăng hiệu suất khi kết
nối với cơ sở dữ liệu Microsoft SQL Server. Đối với tất cả các sản phẩm
SQL Server của bên thứ ba và các nguồn dữ liệu khác được OLE DB hỗ
trợ, hãy sử dụng OleDbConnection.
Nếu SqlConnection vượt ra ngoài phạm vi, nó sẽ không bị đóng. Do
đó, bạn phải đóng kết nối một cách rõ ràng bằng cách gọi Close() hoặc
Dispose(). Để đảm bảo rằng các kết nối luôn được đóng, có thể tham khảo
cách mở kết nối bên trong một khối “using” như ví dụ dưới đây.
Ta xét ví dụ sau:
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString,
connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
Ví dụ trên SqlCommand và SqlConnection được tạo. SqlConnection
được mở và đặt làm Kết nối cho SqlCommand. Sau đó, ví dụ này gọi
ExecuteNonQuery (sẽ được nói đến ở lớp SqlCommand). Để thực hiện điều
này, ExecuteNonQuery được chuyển một chuỗi kết nối và một chuỗi truy
vấn là câu lệnh Transact-SQL INSERT. Kết nối sẽ tự động đóng khi mã
thoát khỏi khối đang “using”.
Ta có các hàm tạo kết nối sau:

30
Bảng 3.5 Hàm tạo kết nối.

SqlConnection() Khởi tạo 1 đối tượng của lớp


SqlConnection.
SqlConnection(String) Khởi tạo 1 đối tượng của lớp
SqlConnection khi cho một
chuỗi có chứa chuỗi kết nối
(String).
SqlConnection(String, Khởi tạo 1 đối tượng của lớp
SqlCredential) SqlConnection khi cho một
chuỗi có chứa chuỗi kết nối
(String) và một đối tượng
SqlCredential có chứa ID
người dùng và mật khẩu.
Sau đây sẽ là cách lấy chuỗi kết nối để kết nối đến SQL Server: Tại cửa sổ
Server Explorer, ấn chuột phải vào SQL Server đã kết nối rồi chọn Properties

Hình 3.27 Mở các thuộc tính của Database đã kết nối.

Hình 3.28 Chuỗi kết nối đến Database.

- Lớp SqlCommand
Khi SqlCommand có các phương pháp để thực thi các lệnh trong cơ sở dữ
liệu SQL Server nhưng trong nội dung đồ án chỉ sử dụng các phương pháp sau:
Bảng 3.6 Phương pháp thực thi lệnh.

ExecuteReader Thực thi lệnh đọc giá


trị từ cơ sở dữ liệu
ExecuteNonQuery Thực thi các lệnh như
INSERT, DELETE,
UPDATE và SET.
Để sử dụng lại đối tượng SqlCommand cần phải đóng SqlDataReader trước
khi có thể thực hiện một lệnh mới hoặc lệnh trước đó.
31
Các hàm thực thi lệnh:
Bảng 3.7 Hàm thực thi lệnh.

SqlCommand() Khởi tạo một đối tượng mới của


lớp SqlCommand.
SqlCommand(String) Khởi tạo một đối tượng mới của
lớp SqlCommand với chuỗi truy
vấn.
SqlCommand(String, Khởi tạo một đối tượng mới của
SqlConnection) lớp SqlCommand với chuỗi truy
vấn và một đối tượng kết nối SQL
(SqlConnection).
SqlCommand(String, Khởi tạo một đối tượng mới của
SqlConnection, lớp SqlCommand với chuỗi truy
Sqltransaction) vấn, một đối tượng kết nối SQL
(SqlConnection) và đối tượng
thực hiện nhóm các câu lệnh
(SqlTransaction).

- Lớp SqlDataReader
Khi tạo một SqlDataReader, ta phải gọi phương thức ExecuteReader của
đối tượng SqlCommand, thay vì trực tiếp sử dụng một hàm tạo.
Trong khi SqlDataReader đang được sử dụng, SqlConnection liên quan
đang bận phục vụ SqlDataReader và không thể thực hiện thao tác nào khác
trên SqlConnection ngoài việc đóng nó. Đây là trường hợp cho đến khi
phương thức Close() của SqlDataReader được gọi. Ví dụ, không thể truy
xuất các tham số đầu ra cho đến khi bạn gọi Close().
Người dùng SqlDataReader có thể hiển thị những thay đổi đối với kết
quả được đặt bởi một quy trình hoặc chuỗi khác trong khi dữ liệu đang được
đọc.
Xây dựng dữ liệu về nguyên liệu
Tạo bảng dữ liệu trên SQL Server
Mở phần mềm Microsoft SQL Server Management Studio và tạo một bảng
mới như đã hướng dẫn ở trên. Điền các thông số của bảng như sau:

Hình 3.29 Thiết kế bảng Nguyên liệu.

Trong cơ sở dữ liệu, bảng nguyên liệu sẽ gồm có 2 cột là STT (Số thứ tự)
và Tennguyenlieu (Tên nguyên liệu) với các loại dữ liệu cho từng cột lần lượt là
int, nvarchar(MAX).
32
Bấm chuột vào cửa sổ “Object Explorer”, ấn Ctrl+S để lưu bảng, tên bảng
sẽ được lưu là “nguyenlieu1”. Sau đó ấn F5 (Refresh) để phần mềm cập nhật bảng
lên Database.
Ta có thể nhập các nguyên liệu vào bảng bằng cách sau:
Trong cửa sổ Object Explorer, tìm đến bảng “nguyenlieu1” trong database
“HeThongPhoiTron”, bấm chuột phải chọn Edit Top 200 Rows (Làm tương tự
như Bước 7 (phần 3.3.2b)) rồi điền các nguyên liệu như hình sau:

Hình 3.30 Bảng nguyên liệu.

Viết chương trình Windows Form


Trong Solution “Phần mềm giám sát” mở form “frm_nguyenlieu”. Giao
diện này sẽ có chức năng lấy dữ liệu từ bảng “nguyenlieu1” của database
“HeThongPhoiTron” của SQL Server, hiển thị lên trên giao diện phần mềm. Người
vận hành sẽ thao tác với các dữ liệu về nguyên liệu trực tiếp trên giao diện này mà
không cần dùng đến phần mềm Microsoft SQL Server Management Studio.
Sau đây là lưu đồ thuật toán của form “frm_nguyenlieu”.

Hình 3.31 Lưu đồ thuật toán frm_nguyenlieu.


33
Để người vận hành có thể thao tác với các dữ liệu về nguyên liệu trực tiếp
trên giao diện này cần sử dụng thêm 4 nút bấm và các công việc được thực hiện
trong 4 nút bấm như sau:
 Nút “Thêm”: Kiểm tra tên nguyên liệu được nhập có hay chưa, bị
trùng hay không. Nếu không bị trùng thì thêm tên nguyên liệu vào
cột “Tennguyenlieu” của bảng “nguyenlieu1” trên cơ sở dữ liệu
 Nút “Xóa”: Xóa tên nguyên liệu được chọn khỏi bảng
 Nút “Sửa”: Sửa nguyên liệu được chọn thành tên nguyên liệu đã nhập
 Nút “Thoát”: Thoát khỏi màn hình chỉnh sửa nguyên liệu.
Sau mỗi khi thực hiện với nút Thêm, Sửa hoặc Xóa thì bảng “nguyenlieu1”
sẽ được cập nhật và hiển thị lên trên màn hình giao diện của phần mềm.
Xây dựng dữ liệu về công thức
Tạo bảng dữ liệu trên SQL Server
Mở Database “HeThongPhoiTron” tạo 1 bảng với các thông số như sau:

Hình 3.32 Thiết kế bảng các công thức phối trộn.

Bảng gồm 3 cột: số công thức (ID) với kiểu dữ kiệu int, tên công thức
(tencongthuc) với kiểu dữ liệu là nvarchar(50) và số hiệu công thức (sohieu). Ấn
Ctrl + S để lưu bảng và đặt tên bảng là “congthuc”. Ta điền vào bảng tên và số
hiệu các công thức. Hình dưới là ví dụ về 1 số tên công thức và số hiệu.

Hình 3.33 Bảng các công thức phối trộn.

Tiếp theo trong Database “HeThongPhoiTron” tạo các bảng có tên là số


hiệu công thức với các thông số như sau:

Hình 3.34 Thông số của các bảng công thức.

34
Điền các giá trị vào bảng theo công thức đã cho dưới đây là ví dụ cho công
thức T1.

Hình 3.35 Công thức T1.

Viết chương trình Windows Form


Mở form “frm_congthuc”, form này sẽ có vai trò hiển thị các công thức
đang được lưu trong bảng “congthuc” lên trên giao diện và đưa ra các lựa chọn
thêm, sửa, xóa công thức cho người dùng:
 Khi người dùng chọn thêm công thức, phần mềm sẽ kiểm tra số hiệu
công thức có bị trùng không sau đó thêm tên công thức và số hiệu
công thức vào bảng “congthuc” và chuyển đến form
“frm_chinhcongthuc”
 Khi người dùng chọn sửa công thức, phần mềm sẽ chuyển đến
“frm_chinhcongthuc”
 Khi người dùng chọn xóa công thức, phần mềm sẽ xóa tên và số hiệu
công thức trong bảng “congthuc” và xóa bảng có tên là số hiệu công
thức đã chọn ở trong database “HeThongPhoiTron”.
Form “frm_chinhcongthuc” có tác dụng tạo hoặc chỉnh sửa một bảng ở
trong database “HeThongPhoiTron”. Việc chọn lựa bảng để thao tác đã được thực
hiện ở “frm_congthuc”. Tại form “frm_chinhcongthuc” phần mềm sẽ lấy các dữ
liệu nguyên liệu trong bảng “nguyenlieu1” và lấy các dữ liệu về bảng có tên là số
hiệu của công thức được chọn để hiển thị. Form này có mục đích giúp người dùng
chọn nguyên liệu để đưa vào silo, điền các thông số về thứ tự cân, khối lượng,
nguyên liệu thêm và khối lượng thêm và cập nhật các giá trị này vào bảng ở
database “HeThongPhoiTron”.
Các thao tác thêm, sửa, xóa công thức sẽ được thực hiện ngay trên giao diện
của hai form này và cập nhật đến các bảng của database “HeThongPhoiTron” mà
không cần thực hiện trên phần mềm Microsoft SQL Server Management Studio.
35
Xây dựng dữ liệu phục vụ mục đích báo cáo thống kê
Tạo bảng dữ liệu trên SQL Server
Tạo bảng dữ liệu tên “baocao1” với trong database “HeThongPhoiTron”
với các thông số như hình sau:

Hình 3.36 Thông số của bảng “baocao1”.

Các giá trị cho bảng “baocao1” sẽ được ghi trong quá trình cân từ phần mềm
giám sát. Tại “frm_cantudong” sẽ thực hiện việc ghi các dữ liệu về số hiệu công
thức thục hiện, mẻ số, silo cân, nguyên liệu, khối lượng đặt, khối lượng thực, sai
lệch cân, và thời gian thực hiện cân. Dưới đây là ví dụ về các giá trị được ghi lại
trong bảng “baocao1”.

Hình 3.37 Ví dụ về các thông số ghi trên bảng “baocao1”.

Viết chương trình Windows Form


Mở form “frm_baocao”, form này sẽ thực hiện việc lấy các dữ liệu mà người sử
dụng mong muốn trong bảng “baocao1” và hiển thị lên bảng, bảng này có thể in ra
được để phục vụ cho mục đích thống kê, báo cáo về quá trình cân.
Namespace được sử dụng: System.Data; hai lớp (class) được dùng là DataSet
và DataTable.
DataSet, là một bộ nhớ đệm trong bộ nhớ của dữ liệu được truy xuất từ nguồn
dữ liệu, là một thành phần chính của kiến trúc ADO.NET. DataSet bao gồm một
tập hợp các đối tượng DataTable mà bạn có thể liên hệ với nhau với các đối tượng
DataRelation.
36
DataSet giúp ích ở đây rất lớn. Vì DataSet cho phép lưu trữ dữ liệu và chỉnh sửa
tại ‘local cache’, hay gọi là offline mode. Có thể xem xét và xử lý thông tin trong
khi ngắt kết nối. Sau khi chỉnh sửa và xem xong thì tạo một kết nối và update dữ
liệu từ local vào Data Source.
DataTable có cấu trúc theo cấu trúc của bảng trong cơ sở dữ liệu gồm các hàng
và cột nên có 2 thành phần kèm theo là : DataRow và DataColumn
Để phục vụ cho việc lấy dữ liệu từ bảng “baocao1” lưu trữ lại ta sử dụng 1
Dataset với Datatable như sau:

Hình 3.38 DataSet và Datatable.

Sau khi lưu trữ lại các giá trị từ bảng “baocao1” vào Datatable1 ta sử dụng SAP
Crystal Report để thực hiện việc tạo lập báo cáo. Các kiểu báo cáo mà người dùng
có thể lựa chọn bao gồm: Xuất ra các dữ liệu theo nguyên liệu được sử dụng, công
thức được sử dụng và mẻ trong các khoảng thời gian định trước. Tùy vào nhu cầu
của người dùng mà có thể lựa chọn, tổng hợp rồi xuất ra các dữ liệu mong muốn
trong báo cáo.
Các lựa chọn mà ta cần tạo ra để thuận tiện cho người sử dụng xuất ra báo cáo
mong muốn gồm có:
 Về khoảng thời gian: Sẽ có 2 lựa chọn là theo ngày hoặc theo thời
gian chi tiết (Ngày-giờ-phút-giây)
 Về nội dung báo cáo: Báo cáo theo công thức, báo cáo theo nguyên
liệu, báo cáo theo công thức và nguyên liệu, báo cáo theo công thức
và mẻ và báo cáo chi tiết.
Dưới đây là 1 ví dụ về tạo 1 Item Crystal Report để xuất ra các giá trị báo cáo
theo công thức và mẻ theo thời gian chi tiết.

Hình 3.39 Cửa sổ thiết kế báo cáo bằng Crystal Report.

37
1. Item Crystal Report để xuất ra báo cáo theo công thức và
mẻ.
2. Các trường dữ liệu được sử dụng cho báo cáo. Ở đây sử
dụng dữ liệu từ DataSet “Thucandata”.
3. Thiết kế các cột, hàng cho bảng báo cáo sẽ được xuất ra.
Các dữ liệu phục vụ kiểm soát sai số khi cân
Khi thực hiện cân cần kiểm soát việc đóng mở các Silo sao cho khối lượng
nguyên liệu chảy xuống cân được chính xác nhất có thể so với giá trị đặt. Khi mở
1 Silo cho nguyên liệu chảy xuống cân, nếu tín hiệu cân của được truyền về sau đó
phần mềm giám sát đọc tín hiệu đó so sánh với giá trị đặt rồi mới đưa ra tín hiệu
đóng Silo thì sẽ gây sai số lớn vì nguyên liệu vẫn còn trong đường dẫn sẽ tiếp tục
chảy xuống cân. Vì thế cách thức được sử dụng để tăng tính chính xác như sau:
Mỗi Silo đựng loại nguyên liệu sẽ có 1 sai số cụ thể cho trước (Error), và 1
giá trị quán tính (Fine). Khi 1 Silo được cân, giá trị cân truyền về bằng giá trị quán
tính thì phần mềm giám sát sẽ điều khiển Silo này bằng các tín hiệu đóng và mở
xem kẽ để nguyên liệu được chảy xuống cân bị chia thành những phần nhỏ lần lượt
chảy xuống cân. Quá trình này được gọi là quá trình “tắc bọp”. Quá trình “tắc bọp”
sẽ diễn ra cho đến khi hiệu giá trị khối lương cân truyền về và giá trị khối lượng
đặt nhỏ hơn hoặc bằng giá trị sai số. Chi tiết về cách lập trình cho quá trình này sẽ
được nói đến ở phần 3.4.3 Giao diện vận hành tự động. Sau đây là bảng dữ liệu sai
số (Error), giá trị quán tính (Fine) và lưu lượng khối lượng của nguyên liệu trong
từng Silo.

Hình 3.40 Bảng dữ liệu phục vụ kiểm soát sai số cân.

Sao lưu và khôi phục dữ liệu


Để phòng trường hợp cơ sở dữ liệu bị lỗi hoặc máy chủ gặp trục trặc, tránh phải
tạo lại các từ đầu tất cả các dữ liệu của hệ thống phối trộn ta cần sao lưu lại toàn
bộ Cơ sở dữ liệu (Database) của hệ thống từ SQL Server dưới dạng 1 BAK file.
Khi thực hiện khôi phục ta chỉ cần chọn file BAK để khôi phục lại toàn bộ dữ liệu
của hệ thống.
38
Với database thì khi việc sao lưu (backup) diễn ra, khi hệ thống đang vận hành
thì bạn không thể đơn giản copy các data file và log file vì chúng bị khóa hoàn
toàn. SQL Server cung cấp ba loại backup như sau:
- Full backup: backup toàn bộ dữ liệu tại thời điểm đó. Đây có lẽ là loại được
dùng thường xuyên nhất.
- Differential backup: backup các trang dữ liệu mới được cập nhật kể từ lần
full backup trước đó.
- Transaction log backup: backup các log record hiện có trong log file, nghĩa
là nó sao lưu các hành động (các thao tác xảy ra đối với database) chứ không
sao lưu dữ liệu. Đồng thời nó cũng cắt bỏ (truncate) log file, loại bỏ các log
record vừa được backup ra khỏi log file. Vì thế khi thấy log file tăng quá
lớn, có nhiều khả năng là bạn chưa từng backup transaction log bao giờ.
Ở đây em chọn Full backup vì việc sao lưu dữ liệu được thực hiện với tần suất
không cao.
Form “frm_backuprestore” được tạo với mục đích sao lưu và khôi phục dữ liệu
của database “HeThongPhoiTron”. Form này sẽ tạo giúp người dùng chọn 1 thư
mục để lưu các file sao lưu của toàn bộ database “HeThongPhoiTron”, các file sao
lưu sẽ được lưu dưới dạng tên “database – HeThongPhoiTron – năm/tháng/ngày-
giờ/phút/giây.bak”. Người dùng khi muốn khôi phục lại cơ sở dữ liệu chỉ cần chọn
BAK file rồi bấm “Khôi phục để thực hiện”.

Hình 3.41 Giao diện sao lưu và khôi phục dữ liệu.

3.4 Các giao diện phục vụ vận hành giám sát


Tạo giao diện mô phỏng hệ thống phối trộn.
Hệ thống phối trộn bao gồm 16 Silo, 1 cân, 1 máy trộn và nơi nguyên liệu thêm
tay. Để xây dựng được giao diện mô phỏng hệ thống phối trộn ta sử dụng User
Control để tạo các Silo đồng thời thêm các hình ảnh vào Resource để tạo hình các
Silo, Cân, biểu tượng thêm nguyên liêu và các ống dẫn nguyên liệu. Sau đây là
cách thức xây dựng các khối mô phỏng cho các thành phần trong hệ thống
Thêm hình ảnh vào Resource của Project
- Bước 1: Ấn tổ hợp phím Ctrl + Shift + A để mở cửa sổ Add New Item,
chọn Resources File, đặt tên cho Resources File rồi chọn Add để thêm thư
mục Resource cho Project.
39
Hình 3.42 Thêm Resource File cho Project.

- Bước 2: Giao diện Resource hiện lên chọn Add Resource rồi chọn Add
Existing File.

Hình 3.43 Bổ sung tài nguyên cho thư mục Resource.

- Bước 3: Chọn File để thêm


Cửa sổ Add existing file to resource hiện lên, tìm đến thư mục chứa file
muốn thêm để thêm vào Resource

Hình 3.44 Cửa sổ Add existing file to resource.

40
Các file được sử dụng để phục vụ mô phỏng hệ thống được lưu trong thư
mục Resouce bao gồm các hình ảnh của cân, máy trộn, các silo, các ống dẫn
nguyên liệu,…

Hình 3.45 Các hình ảnh được lưu trong thư mục Resource.

Tạo User Control


Ta sử dụng User Control mô phỏng các hoạt động của đèn led và silo. Sau khi
tạo xong 2 User Control sẽ được sử dụng như các thành phần ở trong Toolbox. Sau
đây là các cách thức tạo User Control “Led” và “Silo”
- Bước 1: Tạo 1 thư mục chứa các User Control
Click chuột phải vào Solution “Phần mềm giám sát”, chọn Add rồi chọn
New Folder. Đặt tên cho thư mục là “Myclass1”

Hình 3.46 Tạo 1 Thư mục chứa các User Control.

- Bước 2: Thêm User Control trong thưc mục bằng cách bấm chuột phải vào
thư mục vừa tạo, chọn Add rồi chọn User Control.

Hình 3.47 Thêm User Control trong thư mục.

41
- Bước 3: Cửa sổ Add New Items hiện lên, chọn User Control, chỉnh sửa tên
rồi ấn Add để hoàn thành việc thêm 1 User Control

Hình 3.48 Đặt tên cho User Control.

- Bước 4: Cài đặt các thông số cho User Control


Tạo User Control đặt tên là “led”, sang bước 4 tại cửa sổ “led.cs[design]”
ta cài đặt các thông số cho User Control Led như hình dưới.

Hình 3.49 Các thông số của User Control “Led”.


42
Ấn F7 để sang cửa sổ lập trình. User control “Led” mô phỏng trạng thái của
đèn báo vì thế cần lập trình 2 thuộc tính cơ bản cho User Control “Led” là hình
dạng và màu sắc.
- Bước 5: Rebuild Project để cập nhật User Control vừa tạo vào trong
Toolbox.
Mở cửa sổ Solution Explorer click chuột phải vào “Phần mềm giám sát” rồi
chọn Rebuild.

Hình 3.50 Rebuild Project.

- Bước 6: Tương tự ta tạo User Control mới và đặt tên là Silo. Tại cửa sổ
Silo.cs[design], thiết kế giao diện Silo như sau:

Hình 3.51 Thiết kế giao diện Silo.

Giao diện Silo bao gồm :


1.Hình nền: hình ảnh Silo được lấy từ Resource của Project.
2.Label “lblNLSilo”: Hiển thị tên nguyên liệu được đựng trong Silo
3.Label “lblSosilo”: Hiển thị số của Silo.
4.PictureBox “PicOngXaSilo”: Biểu thị sự chảy của nguyên liệu.
5.Led “ledSilo”: Sử dụng User Control led vừa tạo để biểu thị các
trạng thái Silo.
- Bước 7: Lập trình User Control Silo
Ấn F7 để chuyển sang màn hình lập trình cho Silo.Các trường được sử
dụng cho lớp User Control Silo được biểu diễn ở bảng 3.7

43
Bảng 3.8 Bảng các trường được dùng trong User Control Silo.

Tên trường (Field) Kiểu dữ Ý nghĩa


liệu
_TenNguyenLieu String Tên nguyên liệu được đựng
trong Silo
_ThuTuCan Int Thứ tự cân của Silo
_GiaTriDat Int Giá trị đặt của khối lượng
nguyên liệu
_SoSilo Int Số của Silo
_GiaTriThuc Int Giá trị thực của khối lượng
nguyện liệu
_ErrorSP Double Sai số giữa giá trị thực và giá trị
đặt
_LamViec bool Trạng thái Silo: Làm việc (Silo
được bật).
_CanXong bool Trạng thái Silo: Nguyên liệu
trong Silo đã được cân xong.
_Open bool Trạng thái Silo: Mở Silo.
_Pause bool Trạng thái Silo: Dừng cho
nguyên liệu xuống.
_AddSilo Int Địa chỉ Silo ứng với đầu ra PLC
_Fine Int Quán tính nguyên liệu trong
Silo

Kiểm tra kết nối đến các I/O PLC và cân


Mở “frm_testio” thiết kế giao diện form như hình sau:

Hình 3.52 Thiết kế giao diện Test I/O.

44
1. Danh sách các công cụ được sử dụng để thiết kế giao diện
2. Cửa sổ thiết kế giao diện Test I/O
Giao diện Test I/O được thiết kế có mục đích kiểm tra kết nối từ phần mềm giám
sát đến PLC và cân. Mỗi Silo gắn 1 nút bấm có tác dụng kiểm tra sự đóng mở của
các silo, ngoài ra còn các nút điều khiển xả cân, xả trộn, báo trộn. Giao diện sử
dụng timer 1 để cập nhật các giá trị đóng, mở cân và đóng, mở trộn.
Giao diện vận hành tự động
Giao diện vận hành tự động được thiết kế ở form “frm_cantudong”, đây chính
là giao diện vận hành, giám sát hệ thống phối trộn nguyên liệu, đồng thời cũng ghi
lại những dữ liệu về quá trình cân lên cơ sở dữ liệu SQL Server.
Thiết kế giao diện
Giao diện vận hành tự động được thiết kế sao cho người vận hành có thể theo
dõi toàn bộ quá trình cân ngay trên giao diện, hiển thị các tham số cài đặt cho quá
trình cân, hiển thị công thức cân, giá trị đặt của nguyên liệu, giá trị cân thực và sai
số của quá trình cân thực tế.

Hình 3.53 Giao diện cân tự động.

1. Bảng công thức phối trộn được lấy từ cơ sở dữ liệu.


2. Các thông số cho quá trình vận hành tự động.
3. Mô phỏng hệ thống phối trộn tự động, giúp giám sát quá trình
cân và phối trộn nguyên liệu.
4. Các nút giúp vận hành hệ thống.
Lập trình phần mềm
Lập trình cân tự động sẽ tuân theo lưu đồ thuật toán đã xây dựng (Hình 2.2).
Sau khi thực hiện kết nối thành công đến PLC, cân và cơ sở dữ liệu chương trình
sẽ khởi động timer có tác dụng cập nhật các tín hiệu điều khiển từ PLC và thực
45
hiện quá trình cân tự động theo như lưu đồ đã đề ra. Trong quá trình vận hành sẽ
có những sự cố phát sinh như: Nguyên liệu đựng trong Silo bị hết, sai số giữa giá
trị cân thực tế và giá trị đặt là quá lớn,… hoặc người vận hành có nhu cầu muốn
thêm mẻ, điều chỉnh thời gian xả, thời gian trộn, và thời gian trễ sau khi cân xong
1 nguyên liệu. Vì thế sẽ có thêm những chương trình con như sau trong timer:
- Chương trình con giúp phát hiện nguyên liệu bị hết: Khi bắt đầu mở 1 Silo
để cân, chương trình sẽ lưu lại giá trị cân khi đó, sau 1 khoảng thời gian cho
trước so sánh giá trị cân hiện tại với giá trị vừa lưu nếu như giá trị đó quá
nhỏ thì sẽ thông báo silo hết nguyên liệu. Khi đấy Silo sẽ bị đóng lại, người
vận hành dừng việc cân lại và sử dụng nút “Đổi Silo” vừa hết sang Silo có
nguyên liệu tương đồng và tiếp tục cân.
- Chương trình con “tắc bọp”: Chương trình này giúp giảm sai số của giá trị
đặt và giá trị thực. Quá trình “tắc bọp” được thực hiện với điều kiện hiệu
giá trị nguyên liệu ở silo đã chảy xuống cân hiện tại và giá trị đặt lớn hơn
giá trị sai số cho phép và nhỏ giá trị quán tính (Các giá trị này được lấy từ
cơ sở dữ liệu “HeThongPhoiTron”, bảng các dữ liệu phục vụ kiểm soát sai
số “fine2”). Khi thực hiện “tắc bọp” tín hiệu điều khiển Silo được gửi như
sau:

Hình 3.54 Dạng tín hiệu mở Silo khi điều kiện “tắc bọp” được thỏa mãn.

- Các chương trình ngắt dành cho các nút bấm để dừng hoặc cho phép cân,
dừng hoặc cho phép xả cân, dừng hoặc cho xả trộn, các nút để cài đặt lại
thời gian cân, thêm mẻ cân, đổi Silo trong trường hợp có Silo hết nguyên
liệu.
Ngoài ra chương trình sử dụng thêm 1 timer khác để phục vụ cho quá trình
trộn nguyên liệu. Timer này sẽ được khởi động khi xả hết nguyên liệu từ cân xuống
và có lưu đồ thuật toán như trang bên.

46
Hình 3.55 Lưu đồ thuật toán Timer phục vụ quá trình trộn.

47
3.5 Lập trình phần mềm mô phỏng cân
Thiết kế giao diện
Mở Project “Phần mềm mô phỏng cân” đã được khởi tạo ở mục 3.1.4, tại cửa
sổ thiết kế giao diện tạo giao diện cân được thiết kế như sau:

Hình 3.56 Giao diện phần mềm mô phỏng cân.

Giao diện phần mềm mô phỏng cân được thiết kế phục vụ chức năng chính
là kết nối đến PLC, phần mềm giám sát và hiển thị giá trị cân; ngoài ra để phục vụ
cho việc quan sát, kiểm tra giao diện này còn hiển thị lưu lượng nguyên liệu đang
chảy và các đồ thị tín hiệu điều khiển, khối lượng cân theo thời gian.
Lập trình phần mềm
Bấm F7 để chuyển đến của sổ lập trình phần mềm mô phỏng cân thực hiện
viết chương trình con kết nối đến phần mềm giám sát và PLC như đã nói ở phần
3.2 Cách thức kết nối giữa các phần mềm, dựa vào đồ thị giá trị cân theo thời gian
(Hình 2.7) và lưu đồ thuật toán cân (Hình 3.58) ta tiến hành lập trình phần mềm
mô phỏng cân như sau:
Ngay sau khi kết nối thành công, chương trình sẽ khởi động 2 timer:
- Timer 1 để cập nhật các giá trị tín hiệu đầu ra PLC tương ứng với tín hiệu
mở các Silo và tín hiệu báo xả cân từ PLC. Nếu có bất kì Silo nào mở thì
tín hiệu mở Silo bằng 1, khi toàn bộ các Silo đều đóng thì tín hiệu mở Silo
bằng 0. Ứng với mỗi tín hiệu mở 1 Silo, các giá trị về lưu lượng và thời gian
trễ của nguyên liệu cũng được cập nhật tương ứng.
- Timer 2 để tín toán giá trị khối lượng nguyên liệu cân được sau đó hiển thị
và gửi giá trị khối lượng đấy cứ mỗi khi kết thúc 1 chu kì quay vòng của
timer. Mỗi khi timer 2 hoàn thành 1 chu kì quay vòng coi như là 1 khoảng
thời gian dt, thời gian thực t trôi thêm 1 khoảng dt (t = t + dt). Gọi T1 là thời
gian từ lúc bắt đầu đến lúc xuất hiện sườn lên của tín hiệu mở Silo bất kì,
T2 là thời gian từ lúc bắt đầu đến lúc xuất hiện sườn xuống của tín hiệu mở
Silo bất kì; tx, ꞷx là thời gian trễ và lưu lượng khối lượng của nguyên liệu
trong Silo x (với x = 1, 2 3,…,16.), trong mỗi chu kì của timer 2 ta có các
giá trị cân theo thời gian như sau:

48
 Nếu 0 < t < T1 + tx, khối lượng M = 0
 Nếu T1+tx < t < T2 + tx, khối lượng M = M + ꞷx*dt
 Nếu t ≥ T2 + tx, khối lượng M không đổi, giá trị t đặt bằng 0.
 Khi có tín hiệu xả cân, M = M + ꞷxả * dt, nếu M < 0 thì gán
M = 0.

Hình 3.57 Rời rạc hóa giá trị cân theo thời gian.

Hình 3.58 Lưu đồ thuật toán lập trình phần mềm mô phỏng cân.

49
3.6 Lập trình trên TIA Portal
Thêm các thiết bị và cài đặt đầu vào ra cho thiết bị
- Bước 1: Mở phần mềm, Trong Project Tree chọn Add new device hiện lên
của sổ sau:

Hình 3.59 Thêm PLC cho Project.

1. Đặt tên cho PLC thêm vào


2. Chọn Controller
3. Chọn CPU; CPU 1214C DC/DC/RLY
4. Chọn mã sản phầm 6ES7 214-1HE30-0XB0
5. Chọn version 2.2
6. Chọn OK để hoàn thành
- Bước 2: Thêm Module mở rộng
Ở Project Tree chọn Device Configuration,ta thấy PLC vừa được chọn và
các Rack để cài các module mở rộng hiện lên của sổ như sau:

Hình 3.60 Cửa sổ Device Configuration.

50
Để thêm các module mở rộng đầu ra đã chọn ở trên ta làm như sau:

Hình 3.61 Thêm các Module mở rộng.

1. Ở bên phải màn hình chọn Hardware catalog


2. Chọn DQ
3. Chọn DQ 8xRelay, mã số 6ES7 222-1HF30-0XB0
4. Kéo thả module vừa chọn vào Rack số 2
5. Làm tương tự để thêm module vào Rack số 3
- Bước 3: Định lại địa chỉ Output cho các module vừa thêm.
Ấn chuột phải vào module cần thay đổi chọn Properties hoặc ấn tổ hợp
phím Alt + Enter để hiện lên cửa sổ như dưới:

Hình 3.62 Định lại địa chỉ cho module mở rộng.

1. Chọn mục General


2. Chọn DQ 8, chọn Digital outputs rồi ấn vào I/O addresses
3. Sửa lại Start address và End address thành 2.0 và 2.7
Làm tương tự với module còn lại với Start address và End address là
3.0 và 3.7
- Bước 4: Sau khi thêm và định lại địa chỉ cho các module ta đặt tên cho các
đầu vào ra để tiện cho việc điều khiển vận hành.

51
Hình 3.63 Cách mở cửa sổ quản lý PLC tags.

1. Chọn Devices & networks ở phía bên trái cửa sổ phần


mềm
2. Chọn PLC tags rồi chọn Add new tag table
Cửa sổ PLC tags hiện ra ta điền tên cho các đầu vào ra như sau:

Hình 3.64 Bảng tên các đầu vào ra PLC.

52
Tạo và sử dụng Watch and force table
- Bước 1: Tạo bảng để theo dõi và tác động lên đầu vào ra của PLC

Hình 3.65 Mở cửa sổ Watch and force tables.

1. Chọn Devices & network ở phía bên phải cửa số phần mềm
2. Chọn Watch and force tables rồi chọn Force table
Cửa sổ hiện lên 1 bảng, điền các giá trị cần theo dõi và tác động vào
bảng như hình sau:

Hình 3.66 Bảng các giá trị cần theo dõi và tác động.

53
- Bước 2: Bấm chuột phải vào màn hàng chứa biến cần tác động và chọn
“Force” sau đó chọn lựa chọn chế độ tác động lên biến

Hình 3.67 Tác động lên các giá trị vào ra của PLC.

54
CHƯƠNG 4. VẬN HÀNH HỆ THỐNG

4.1 Giao diện vận hành chính


Sau khi hoàn thành việc xây dựng và kết nối các phần mềm, phần mềm mô
phỏng cân sẽ gửi các giá trị cân đến phần mềm giám sát đồng thời thông qua các
đồ thị giúp ta theo dõi được quá trình phần mềm giám sát gửi các tín hiệu điều
khiển đến phần mềm mô phỏng cân và sự thay đổi của giá trị cân sau khi có những
tín hiệu điều khiển đó; việc qua mô phỏng và theo dõi các tác động giữa các cơ cấu
chấp hành với PLC được thực hiện Force Table trên TIA Portal; việc giám sát vận
hành hệ thống sẽ được thực hiện trên phần mềm giám sát.
Sau đây là giao diện vận hành chính của phần mềm giám sát:

Hình 4.1 Giao diện vận hành chính.

Giao diện vận hành chính có các nút với những chức năng như sau:
1. Cài đặt tổng : Cài đặt tổng thể mẻ trộn cho hệ thống.
2. Công thức : Thiết lập công thức phối trộn.
3. I/O Test : Kiểm tra đầu vào ra hệ thống điều khiển.
4. Cân : Chế độ vận hành tự động của hệ thống.
5. Nguyên liệu : Cài đặt tên nguyên liệu.
6. Báo cáo : Thống kê báo cáo dữ liệu lịch sử
7. Sao lưu khôi phục : Sao lưu và khôi phục dữ liệu cho hệ thống.
8. Thoát : Thoát khỏi chương trình.

55
4.2 Thao tác trên các giao diện dữ liệu
Cài đặt tên nguyên liệu
Ấn nút “Nguyên liệu” trên Giao diện vận hành chính để chuyển đến giao diện
để cài đặt tên nguyên liệu như sau:

Hình 4.2 Giao diện cài đặt tên nguyên liệu.

- Để thêm một nguyên liệu, ta nhập tên nguyên liệu cần thêm vào ô “Tên
nguyên liệu” rồi ấn nút “Thêm”.
- Để sửa nguyên liệu, ta chọn nguyên liệu cần sửa trên bảng, nhập tên
nguyên liệu muốn đổi sang và ấn nút “Sửa”.
- Để xóa nguyên liệu, ta chọn nguyên liệu ở trên danh sách các nguyên
liệu và ấn “Xóa”
- Để thoát khỏi giao diện ấn nút “Quay về”.
Thiết lập công thức phối trộn
Ấn nút “Công thức” trên giao diện vận hành chính để chuyển đến giao diện thiết
lập công thức phối trộn. Giao diện để thiết lập công thức phối trộn hiện lên như
Hình 4.3.

Hình 4.3 Giao diện thiết lập công thức.

56
- Để xóa công thức, ta tích vào ô “Xóa công thức” rồi chọn công thức cần
xóa ở bảng các công thức bên phải sau đấy ấn nút “Đồng ý”.
- Để Sửa công thức, ta tích và ô “Sửa công thức” rồi chọn công thức cần
sửa ở bên bảng các công thức, sau đấy ấn nút “Đồng ý”.
- Để thêm một công thức ta tích vào “Thêm công thức”, đặt tên và số hiệu
cho công thức ở các ô “Tên công thức” và “Số hiệu công thức” rồi ấn
nút “Đồng ý”.
- Ấn nút “Quay về ” để trở lại giao diện vận hành chính
Khi chọn tích vào “Thêm công thức” hoặc “Sửa công thức”, sau khi ấn nút
“Đồng ý”, giao diện “Thêm mới hoặc chỉnh sửa công thức” hiện ra như sau:

Hình 4.4 Giao diện Thêm mới hoặc chỉnh sửa công thức.

Người dùng sẽ chọn Silo trong bảng, hàng Silo được chọn chuyển sang màu
vàng, sau đó bấm vào biểu tượng ở bên phải ô “Tên nguyên liệu” để chọn nguyên
liệu sẽ chứa trong Silo. Nhập các giá trị đặt cho khối lượng nguyên liệu ở bên trong
Silo tại cột “Khối lượng” và thứ tự cân cho Silo ở cột “TT Cân”. Thao tác tương
tự để thiết lập nguyên liệu thêm bằng tay. Sau mỗi khi nhập giá trị đặt cho khối
lượng nguyên liệu, ấn “Enter” trên bàn phím để tính tổng khối lượng đặt cho công
thức vừa nhập.
Ấn nút “Lưu” sau khi đã hoàn thành việc thêm mới hoặc chỉnh sửa công
thức rồi ấn “Quay về” để trở lại giao diện thiết lập công thức.
Thống kê báo cáo dữ liệu lịch sử
Ấn nút “Báo cáo” trên giao diện vận hành chính để chuyển đến giao diện thống
kê báo cáo dữ liệu lịch sử.

57
Hình 4.5 Giao diện thống kê báo cáo dữ liệu.

Đầu tiên ta chọn báo cáo theo khoảng thời gian hoặc theo ngày, phần mềm
để lựa chọn mặc định là theo khoảng thời gian.
Tiếp theo là lựa chọn loại báo cáo, các cách mà dữ liệu dữ thống kê bao gồm:
- Tên nguyên liệu (Có thể tìm theo từng nguyên liệu hoặc tất cả bằng
cách chọn [ALL])
- Theo số hiệu công thức (Có thể tìm theo từng công thức hoặc tất cả
bằng cách chọn [ALL])
- Theo số hiệu công thức và tên nguyên liệu (phải nhập đủ số hiệu
công thức và tên nguyên liệu)
- Theo số hiệu công thức và mẻ trộn (phải nhập đủ số hiệu công thức
và số mẻ).
- Báo cáo chi tiết (hiển thị tất cả thông số theo tên công thức và từng
mẻ)

Hình 4.6 Các lựa chọn loại báo cáo.


58
Tùy theo yêu cầu thống kê mà người vận hành có thể tìm các báo cáo khác
nhau và in ra, báo cáo cũng có thể xuất ra các file khác như excel, ảnh, … Dưới
đây là ví dụ về báo cáo theo công thức và mẻ.

Hình 4.7 Báo cáo theo công thức và mẻ.

1. Xuất ra các file như excel, ảnh,… ; in báo cáo hoặc sao chép
báo cáo, chuyển trang và phóng to, thu nhỏ trang.
2. Báo cáo ở dạng xem trước.
Sao lưu và khôi phục dữ liệu
Ấn nut “Sao lưu khôi phục” trên giao diện vận hành chính để chuyển đến
giao diện Sao lưu & Khôi phục.

Hình 4.8 Giao diện Sao lưu và khôi phục.

Sao lưu dữ liệu


- Bước 1: Để sao lưu dữ liệu ta bấm “Chọn thư mục”, cửa sổ “Browse For
Folder” hiện ra để chọn thư mục để lưu tệp sao lưu. Chọn thư mục sao lưu
ấn “OK” để quay về giao diện “Sao lưu & Khôi phục ”.

59
Hình 4.9 Cửa sổ chọn thư mục.

- Bước 2: Tại giao diện “Sao lưu & Khôi phục”, bấm nút “Sao lưu” để sao
lưu dữ liệu dưới dạng tệp ở thư mục vừa chọn.
Khôi phục dữ liệu
- Bước 1: Ở giao diện “Sao lưu & Khôi phục ”, bấm vào nút “Chọn File”,
hiện ra cửa sổ “Phục hồi dữ liệu”, ta tìm đến thư mục chứa các tệp dữ đã
sao lưu, chọn tệp sao lưu rồi bấm nút “Open”.

Hình 4.10 Thư mục chứa các tệp dữ liệu sau khi sao lưu.

- Bước 2: Quay về giao diện “Sao lưu & Khôi phục”, bấm vào nút “Khôi
phục” để khôi phục lại dữ liệu.
4.3 Thao tác trên các giao diện phục vụ giám sát vận hành hệ thống.
Kiểm tra kết nối
Trên giao diện vận hành chính, ấn nút “I/O Test” để chuyển đến giao diện
“Kiểm tra kết nối”.

60
Ở giao diện này, người dùng sẽ xem địa chỉ và cổng (port) của máy tính
chứa phần mềm giám sát, địa chỉ của PLC rồi kiểm tra kết nối đến phần mềm mô
phỏng cân và PLC, sau đó kiểm tra trạng thái vận hành của các I/O của PLC
thông qua các nút bấm trên các Silo, các nút điều khiển cân, điều khiển trộn và
kiểm tra việc gửi dữ liệu từ phần mềm mô phỏng cân.
Thực hiện kết nối đến cân và PLC; kiểm tra sự truyền dữ liệu từ phần mềm
mô phỏng cân tới phần mềm giám sát đồng thời kiểm tra sự tác động của phần
mềm giám sát lên đầu ra PLC khi bấm các nút trên giao diện Test I/O. Kết quả
kiểm tra như sau:

Hình 4.11 So sánh giá trị cân hiển thị trên phần mềm mô phỏng cân và trên giao diện
Test I/O.

Hình 4.12 Quan sát sự tác động lên đầu ra của PLC khi thao tác các nút bấm trên giao
diện Test I/O.

Giao diện cài đặt tổng


Trước khi vận hành cân và phối trộn tự động ta mở giao diện “Cài đặt tổng”
để chọn công thức phối trộn, cài đặt số mẻ trộn, thời gian xả trộn cho quá trình cân
và phối trộn tự động. Ví dụ sau sẽ thực hiện phối trộn công thức T6, ta thiết lập số
mẻ trộn là 3 mẻ, thời gian trộn và xả trộn lần lượt là 20 giây và 5 giây, khối lượng
61
thêm tay và khối lượng mẻ được tự tính toán từ các dữ liệu của công thức được lấy
về từ bảng T6 ở cơ sở dữ liệu “HeThongPhoiTron” có giá trị lần lượt là 30 kg và
623 kg.

Hình 4.13 Giao diện cài đặt tổng cho quá trình cân và phối trộn.

Giao diện cân và phối trộn tự động


Vận hành hệ thống tự động theo như các thông số đã cài đặt
- Bước 1: Bấn nút “Cân” để bắt đầu cân mẻ đầu tiên Silo thứ nhất.

Hình 4.14 Hệ thống bắt đầu cân từ Silo có thứ tự cân là 1.

- Bước 2: Mở Force Table của phần mềm TIA Portal, vào chế độ Go Online
và tác động các địa chỉ đầu vào PLC như hình sau:

Hình 4.15 Thao tác trên Force Table.

- Bước 3: Giám sát hệ thống vận hành tự động, hệ thống sẽ vận hành như
theo như lưu đồ thuật toán đã lập (Hình 2.2)
62
1. Lần lượt cân các Silo theo thứ tự cân được xác định từ công thức.

Hình 4.16 Lần lượt cân các Silo theo thứ tự cân.

2. Khi cân xong mẻ, hệ thống tự động tiến hành xả cân, sau đó nếu có tín
hiệu xác nhận trộn hệ thống sẽ tiến hành trộn, xả trộn và tiến hành cân
mẻ tiếp theo.

Hình 4.17 Tiến hành trộn mẻ vừa cân xong.

3. Hệ thống sẽ thực hiện chu trình cân cho đến khi đủ số mẻ cân thì dừng.

Hình 4.18 Hoàn thành việc cân tự động khi số mẻ đã đủ.


63
4. Sau khi hoàn thành người vận hành có thể xem các dữ liệu về quá trình
cân vừa rồi được ghi trên cơ sở dữ liệu “HeThongPhoiTron”.

Hình 4.19 Các dữ liệu về quá trình cân được ghi lại.

Các nút trên giao diện cân tự động


- Nút “Cho phép Cân/Ngừng cân”: Để cho phép cân và ngừng cân các Silo
tương ứng người vận hành ấn vào nút “Ngừng cân/ Cho phép cân” . Khi đó
các Silo tương ứng sẽ dừng không xả nguyên liệu nữa hoặc ngược lại tùy
theo trạng thái khi đấy của Silo.
- Nút “Cho xả cân/ Ngừng xả cân”: Để cho phép xả cân và ngừng xả cân.
- Nút “Cho xả trộn/ Ngừng xả trộn”: Để cho phép xả trộn và ngừng xả trộn.
- Nút “Cân”: Hệ thống tiến hành cân và phối trộn tự động.
- Nút “Thêm mẻ”: Có thể thêm hoặc bớt mẻ phối trộn.

Hình 4.20 Giao diện “Thêm bớt mẻ”.

- Nút “Đổi Silo”: Khi Silo hết nguyên liệu, ta đổi Silo đó cho một Silo khác
có cùng nguyên liệu.
- Nút “Cài đặt quán tính”: Khi sai số của nguyên liệu trong cân quá to, ta
chọn Silo được cân có sai số to và cài đặt lại quán tính (Fine) và sai số cho
các Silo (Error).
- Nút “Cài đặt thời gian”: Cài đặt lại các tham số thời gian trộn, thời gian xả
trộn và thời gian trễ sau khi cân xong 1 Silo.
64
4.4 Quan sát giá trị cân và các tín hiệu điều khiển được gửi đến phần mềm
mô phỏng cân.

Hình 4.21 Giao diện phần mềm mô phỏng cân sau khi cân xong 1 mẻ và tiến hành cân
mẻ tiếp theo.

Ta thấy có 9 Silo đã được mở trong quá trình cân cho đến khi có tín hiệu xả
cân, một số silo cần phải “tắc bọp” để khối lượng nguyên liệu chảy xuống cân được
chính xác; các giá trị về lưu lượng và thời gian trễ của nguyên liệu trong các Silo
cũng là khác nhau.

65
Hình 4.22 Giao diện phần mềm mô phỏng cân sau khi cân đủ số mẻ và thực hiện thêm
mẻ.

66
KẾT LUẬN
Đồ án tốt nghiệp đã đáp ứng đầy đủ các mục tiêu, yêu cầu đã đề ra ban đầu và
đạt được những kết quả như sau:
- Về phần mềm mô phỏng cân:
 Kết nối và truyền nhận dữ liệu thành công với phần mềm giám sát
và PLC
 Mô phỏng sự thay đổi giá trị cân khi có các tín hiệu điều khiển và
các giá trị đầu vào
 Thông qua các đồ thị theo dõi được quá trình phần mềm giám sát
gửi các tín hiệu điều khiển đến PLC và theo dõi được sự thay đổi
của giá trị khối lượng cân khi có các tín hiệu điều khiển đó.
- Về phần mềm vận hành giám sát:
 Kết nối và trao đổi dữ liệu thành công với PLC và phần mềm mô
phỏng cân.
 Xây dựng được hệ thống cơ sở dữ liệu, thông qua các giao diện của
phần mềm để thực hiện các thao tác dối với với các dữ liệu này.
 Giao diện vận hành ổn định, giúp vận hành hệ thống đúng chu trình
đã đề ra từ ban đầu; dễ dàng giám sát, điều khiển hoạt động phối
trộn.
 Kết quả cân đạt được sự chính xác so với yêu cầu,
 Tự động ghi lại các thông số của quá trình cân và phối trộn phục vụ
cho mục đích báo cáo, thống kê.
Từ những kết quả trên và quá trình vận hành mô phỏng hệ thống em thấy việc
áp dụng phần mềm giám sát này vào các hệ thống thực tiễn là hoàn toàn khả thi.
Quá trình thực hiện đồ án tốt nghiệp đã giúp phát triển bản thân em rất nhiều
về kĩ năng tìm kiếm, đọc hiểu tài liệu; giúp em cải thiện củng cố các kiến thức
chuyên ngành đồng thời bổ sung thêm các kiến thức về cơ sở dữ liệu và lập trình
giao diện.

67
TÀI LIỆU THAM KHẢO
[1] Hoàng Minh Sơn, Mạng truyền thông công nghệp, Hà Nội: Nhà xuất bản
khoa học và kỹ thuật, 2006.
[2] "Networking – Một số khái niệm cơ bản," [Online]. Available:
https://yinyangit.wordpress.com/2011/06/07/networking-basic-concepts/.
[3] "C# – Lập trình Socket giao tiếp TCP client/server," [Online]. Available:
https://yinyangit.wordpress.com/2011/06/22/socket-communication-with-
tcp-client-server/.
[4] "System.Net.Sockets Namespace," Microsoft, [Online]. Available:
https://docs.microsoft.com/en-
us/dotnet/api/system.net.sockets?view=netframework-4.8.
[5] "C# documentation," Microsoft, [Online]. Available:
https://docs.microsoft.com/en-us/dotnet/csharp/.
[6] "Socket Class," Microsoft, [Online]. Available:
https://docs.microsoft.com/en-
us/dotnet/api/system.net.sockets.socket?view=netframework-4.8.
[7] "Microsoft SQL documentation," Microsoft, [Online]. Available:
https://docs.microsoft.com/en-us/sql/?view=sql-server-ver15.
[8] "Download SQL Server Management Studio (SSMS)," Microsoft, [Online].
Available: https://docs.microsoft.com/vi-vn/sql/ssms/download-sql-server-
management-studio-ssms?view=sql-server-ver15.
[9] Siemens, SIMATIC S7 1200 Programable controller System Manual.
[10] Bộ môn Tự Động Hóa- Viện Điện- Đại học Bách Khoa Hà Nội, Slide bài
giảng Điều khiển PLC và Logic.

68
PHỤ LỤC

A1. Một số đoạn code của phần mềm


a) Sử dụng Steam Socket kết nối và trao đổi dữ liệu giữa phần mềm giám
sát và phần mềm mô phỏng cân.
- Phần mềm giám sát:
using System.Net;
using System.Net.Sockets;
using System.Threading;
TcpListener sever;
TcpClient client;
sever = null;
try
{
Int32 port = 13000;
IPAddress localAddr = IPAddress.Parse(txtIP_kết_nối.Text);
sever = new TcpListener(localAddr, port);
sever.Start();
// Bộ đệm để đọc dữ liệu
Byte[] bytes = new Byte[1024*5000];
String data = null;
double data1;
// Vòng lặp lắng nghe tín hiệu
while (true)
{
// Chấp nhận kết nối, cũng có thể dùng lệnh server.AcceptSocket().
try {
client = sever.AcceptTcpClient(); data = null;
// Lấy Stream để đọc và ghi dữ liệu
NetworkStream stream = client.GetStream();
int i;
// Vòng lặp nhận dữ liệu
while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
// Khi bắt đầu có dữ liệu
{
data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
int Gia_tri_thuc = Convert.ToInt32(data.ToString());
data1 = Convert.ToDouble(data.ToString());

69
txtKhoiLuongCanA.Text = data1.ToString();
data = null;
}
}
catch
{
sever = new TcpListener(localAddr, port);
if (!(client==null)) { client.Close(); }
}
}
}
catch (SocketException ex)
{
MessageBox.Show("Lỗi kết nối", "Thông báo",
MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
}
finally
{
sever.Stop();
}
}
- Phần mềm mô phỏng cân:
void Send()
{
byte[] outStream = Encoding.ASCII.GetBytes(M.ToString()); // mã hóa
ký hiệu từ ASCII
serverStream.Write(outStream, 0, outStream.Length); // ghi dữ liệu
lên stream
serverStream.Flush();
}
void Connect()
{
IPAddress IP = IPAddress.Parse(txbIP.Text);
port = int.Parse(txbPort.Text);
try // Cố kết nối
{
clientSocket.Connect(IP, port);
MessageBox.Show("Kết nối thành công với Port " + port);
70
serverStream = clientSocket.GetStream();
}
catch// nếu không được thì hiện..... sau đó quay trở lại cố kết nối lại
{
MessageBox.Show("Không thể kết nối đến Server", "Lỗi",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
b) Kết nối chương trình C# và PLC S7 1200:
using S7.Net;
Plc plc;
//Chương trình kiểm tra kết nối
private void button1_Click(object sender, EventArgs e)
{
Plc plc = new Plc(CpuType.S71200,txt_IP_PLC.Text, 0, 0);
if (plc.Open() == ErrorCode.NoError) MessageBox.Show("OK");
else MessageBox.Show("False to connect");
}
// Chương trình đọc bit PLC
public bool DocBitPLC(DataType datatype, int db, int startByteAdd, int
bit)
{
bool giatribit = false;
Plc plc = new Plc(CpuType.S71200, txt_IP_PLC.Text, 0, 0);
if (plc.Open() == ErrorCode.NoError)
{
byte[] dataNhan = new byte[1];
dataNhan = plc.ReadBytes(datatype,db,startByteAdd,1);
giatribit = dataNhan[0].SelectBit(bit);
plc.Close();
}
return giatribit;
}
A2. Đường dẫn
- Tải thư viện S7.net:
https://drive.google.com/file/d/1ndB-7o6XILVp4JTr-f7N0KzYfCfh8Nte/view
- Tải Microsoft SQL Server: SQL Server Downloads | Microsoft
- Tải các phần mềm xây dựng và video kết quả vận hành:
https://drive.google.com/drive/folders/1muxovkXpnWIDPSBTE0JkNy9RsdCm
KC8L?usp=sharing

71
A3. Bản vẽ đấu dây cho cấp điều khiển

72
73
74
75
76
77

You might also like