Professional Documents
Culture Documents
ĐỒ ÁN TỐT NGHIỆP
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.
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
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
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
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ì.
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).
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
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
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
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.
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.
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.
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.
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.
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á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”.
- Bước 6: Chờ cài đặt xong SQL Server, hiện lên cửa sổ cài SQL Server
Management Studio (SSMS).
- 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.
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.
- 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
- Bước 5: Tạo các cột cho bảng và kiểu dữ liệu của 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.
Ở 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
- 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.
28
- Bước 4: Mở phần mềm Microsoft SQL Server Management Studio, copy
Server name.
- Bước 5: Quay về với cửa sổ Add Connection rồi thực hiện các thao tác sau
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.
- 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.
- 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:
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:
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.
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.
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”.
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.
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.
- Bước 2: Giao diện Resource hiện lên chọn Add Resource rồi chọn Add
Existing File.
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.
- 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.
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
- 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:
43
Bảng 3.8 Bảng các trường được dùng trong User Control Silo.
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.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:
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:
50
Để thêm các module mở rộng đầu ra đã chọn ở trên ta làm như sau:
51
Hình 3.63 Cách mở cửa sổ quản lý PLC tags.
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
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
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:
- Để 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.
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ẻ)
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.
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.
Hình 4.13 Giao diện cài đặt tổng cho quá trình cân và phối trộn.
- 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:
- 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.
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.19 Các dữ liệu về quá trình cân được ghi lại.
- 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
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