1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đồ án tốt nghiệp thiết kế hệ thông điều khiển và giám sát trang trại thông minh sử dụng plc

123 0 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Thống Điều Khiển Và Giám Sát Trang Trại Thông Minh Sử Dụng PLC
Tác giả Nguyễn Xuân Bách
Người hướng dẫn KS. Đặng Văn Hải
Trường học Học Viện Kỹ Thuật Mật Mã
Chuyên ngành Kỹ thuật Điện tử Viễn thông
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 123
Dung lượng 12,43 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỒ ÁN (16)
    • 1.1. Tổng quan về trang trại tự động (16)
    • 1.2. Sơ đồ khối hệ thống (17)
    • 1.3. Cơ sở tính toán (18)
    • 1.4. Thế nào là trang trại thông minh (18)
  • CHƯƠNG 2. GIẢI PHÁP CÔNG NGHỆ HỆ THỐNG (20)
    • 2.1. Giới thiệu tổng quan về PLC (20)
      • 2.1.1. Định nghĩa PLC (20)
      • 2.1.2. Lịch sử ra đời của PLC (21)
    • 2.2. Ngôn ngữ lập trình và ưu điểm khi sử dụng của PLC (22)
      • 2.2.1. Ngôn ngữ lập trình (22)
      • 2.2.2. Ưu điểm khi sử dụng của PLC (23)
    • 2.3. Cấu tạo PLC Siemens S7-1200 (24)
      • 2.3.1. Giới thiệu PLC S7-1200 (24)
      • 2.3.2. Giới thiệu tính năng PLC S7-1200 (24)
      • 2.3.3. Cấu trúc bên trong PLC Siemens S7 – 1200 (27)
    • 2.4. Cấu trúc các vùng nhớ và các vùng dữ liệu PLC S7-1200 (29)
      • 2.4.1. Cấu trúc các vùng nhớ (29)
        • 2.4.1.1. Vùng chứa chương trình ứng dụng (29)
        • 2.4.1.1. Vùng chứa các tham (29)
    • 2.5. Một số tập lệnh của PLC S7 – 1200 (30)
      • 2.5.1. Bit logic (30)
        • 2.5.1.1. Các lệnh Set (đặt) và Reset (đặt lại) (34)
      • 2.5.3. Các bộ đếm (Counter) (43)
        • 2.5.3.1. Các bộ đếm (43)
        • 2.5.3.2. Bộ đếm tốc độ cao (Lệnh CTRL_HSC) (46)
        • 2.5.3.3. Hoạt động bộ đếm tốc độ cao (CTRL_HSC) (50)
      • 2.5.3. Lệnh So sánh PLC S7-1200 (54)
      • 2.5.4. Các lệnh định tỷ lệ và chuẩn hóa (SCALE_X, NORM_X) (57)
    • 2.6. Giới thiệu phân mềm Tia Portal (59)
      • 2.6.1. Phần mềm Tia Portal (59)
      • 2.6.2. Tính năng của Tia Portal (61)
      • 2.6.3. Cấu hình máy cài phần mềm Tia Portal (63)
      • 2.6.4. Các bước tạo một project (63)
    • 2.7 Tổng quan về phần mềm winCC (67)
      • 2.7.1. WinCC là gì? (67)
      • 2.7.2. Các chức năng phổ biến của WinCC (71)
    • 2.8 Phần mềm Visual code studio (72)
      • 2.8.1. Tổng quan về phần mềm (72)
      • 2.8.2. Lịch sử ra đời (73)
      • 2.8.3. Tính năng của phần mềm (73)
    • 2.9. Phần mềm KEPseverEX (74)
      • 2.9.1. Tổng quan về phần mềm KEPserverEX (74)
      • 2.9.2. Một số tính năng của KEPseverEX (74)
  • CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG (76)
    • 3.1. Sơ đồ nguyên lý hệ thống (76)
    • 3.2. Lưu đồ thuật toán (77)
      • 3.2.1. Lưu đồ điều khiển chung (77)
      • 3.2.2. Lưu đồ điều khiển chế độ tự động (78)
        • 3.2.2.1. Lưu đồ của phần cây trồng (78)
        • 3.2.2.1 Lưu đồ của phần vật nuôi (79)
      • 3.2.3. Lưu đồ điều khiển chế độ bằng tay (80)
    • 3.3. Thiết kế phần cứng hệ thống nhúng trong PLC (81)
    • 3.4. Thiết kế giao diện SCADA nhúng trong TIA Portal (85)
    • 3.6. Lập trình hệ thống (89)
      • 3.6.1. Các khối lập trình (89)
      • 3.6.2. Cấu hình KEPSERVER (Kepware OPC) (90)
      • 3.6.3. Cấu hình IoT Gateway cho KEPserverREX (Kepware) (95)
      • 3.6.4. Lập trình trên phần mềm Visual studio code (97)
        • 3.6.4.1. Cấu chúc của một Website (97)
        • 3.6.4.2. Cài đặt các module cần thiết để lập trình (97)
        • 3.6.4.3 Lập trình Webserver (100)
  • KẾT LUẬN (107)
  • TÀI LIỆU THAM KHẢO (108)
  • PHỤ LỤC (109)
    • Hinh 3.1: Sơ đồ nguyên lý hệ thống (0)

Nội dung

Viết tắt Tiếng anh Tiếng việtAPPS Aplication Calculation and Processing ModuleDCS Distributed Control SystemHệ thống điều khiển phân tánDP Distributed fieldbus Fieldbus phân tánEPROM Ele

TỔNG QUAN VỀ ĐỒ ÁN

Tổng quan về trang trại tự động

Nền nông nghiệp của nước ta là nền nông nghiệp vẫn còn lạc hậu cũng như chưa có nhiều ứng dụng khoa học kĩ thuật được áp dụng vào thực tế Rất nhiều quy trình kĩ thuật trồng trọt, chăm sóc được tiến hành một cách chủ quan và không đảm bảo được đúng yêu cầu Có thể nói trong nông học ngoài những kĩ thuật trồng trọt, chăm sóc thì tưới nước là một trong các khâu quan trọng nhất trong trồng trọt, để đảm bảo cây sinh trưởng và phát triển bình thường, tưới đúng và tưới đủ theo yêu cầu nông học của cây trồng sẽ không sinh sâu bệnh, hạn chế thuốc trừ sâu cho sản phẩm an toàn, đạt năng suất, hiệu quả cao Ngoài ra trên những tuyến phố ở khu vực trung tâm thành phố chúng ta vẫn bắt gặp hình ảnh các xe bồn chở nước tưới cây dọc đường gây ùn tắc, mất an toàn giao thông Mặt khác hiện nay nước ta đang trong giai đoạn công nghiệp hóa, hiện đại hóa các thiết bị máy móc tự động được đưa vào phục vụ thay thế sức lao động của con người. Việc tính toán để lựa chọn thiết bị hệ thống tưới đáp ứng được nhu cầu tưới theo nông học cây trồng và phù hợp điều kiện kinh tế, kỹ thuật cho hiệu quả cao là việc cần thiết cho việc phát triển trên diện rộng của hệ thống tưới này Hệ thống tưới phun đáp ứng độ ẩm gốc, độ ẩm lá và không khí cho cây trồng phát triển tốt, hệ thống tiết kiệm nước tạo điều kiện cho cây trồng hấp thu dinh dưỡng không gây rửa trôi, thoái hóa đất, không gây ô nhiễm môi trường Hơn thế nữa, với việc thiết kế một hệ thống tưới cây tự động sẽ giúp cho con người không phải tưới cây, không phải tốn chi phí nhân công tưới nước cũng như giám sát thời gian tưới cây Với hệ thống này, việc tưới cây sẽ là tự động tùy theo nhiệt độ thời tiết nắng hay mưa, độ ẩm cao hay thấp, mùa nào trong năm… Tất cả các điều kiện đó sẽ được đưa vào hệ thống tính toán và đưa ra thời gian chính xác để bơm nước Người lao động sẽ không cần phải quan tâm đến việc tưới cây, cây sẽ được sinh trưởng và phát triển tốt hơn nhờ việc tưới cây phù hợp và chính xác hơn.

Môi trường sống là vô cùng quan trọng với từng loại vật nuôi, việc giám sát nhiệt độ - độ ẩm, cung cấp thức ăn nước uống và vệ sinh chuồng trại có thể thực hiện bởi con người nhưng như vậy đối với một trang trại lớn thì sẽ tốn nhiều nhân công và việc quản lí các số liệu về nhiệt độ - độ ẩm cho môi trường sống của vật nuôi cũng trở nên khó khăn hơn, vì thế một hệ thống quản lí thông tin và số liệu về môi trường sống của vật nuôi là vô cùng cần thiết.

Kèm theo đó là công nghệ giám sát và điều khiển từ xa thông qua webserver giúp cho công việc giám sát vận hành quản lí sản suất được tối ưu hơn.

Sơ đồ khối hệ thống

Hình 1.1: sơ đồ khối hệ thống

 Khối nguồn: Cung cấp nguồn điện cho toàn bộ hệ thống

 Khối xử lí trung tâm: xử lí tín hiệu của cảm biến và hệ thống SCADA từ đó xuất xung tín hiệu điều khiển các thiết bị

 Khối thiết bị: bao gồm bơm, van, quạt, đèn

 Khối cảm biến: gửi tín hiệu về bộ xử lí trung tâm (cảm biến thể tích, cảm biến hồng ngoại…)

 Khối Webserver: Bao gồm phần mềm KeepServer + Visual code studio giúp truyền tải dữ liệu lên web

 Khối giám sát và điều khiển: giúp giám sát và điều khiển hệ thống

Cơ sở tính toán

Các yếu tố tiêu cực về điều kiện khí hậu nông nghiệp

 Lượng mưa không đều Lượng mưa hàng năm và lượng mưa hàng tháng dao động lớn giữa các năm khiến cho việc kiểm soát kế hoạch trồng trọt và chăm sóc mùa màng ngày càng khó hơn Bởi thế, cần thiết và nhất thiết phải phát triển các công trình thủy lợi trong đó có hồ điều hòa và ao nông nghiệp

 Nhiệt độ không khí cao vào những ngày hè Nhiệt độ không khí cao sẽ khiến cây trồng và vật nuổi sẽ dễ thiếu nước dẫn đến giảm năng xuất

 Nhiệt độ không khí thấp trong mùa đông Nhiệt độ không khí xuống thấp, có khi xuống dưới 10 độ C có thể sẽ ảnh hưởng đến vật nuôi.

 Không phải lúc nào người nông dân cũng có mặt ở trang trại được nên sẽ dễ dàng hơn khi có thể theo giỏi qua webserver

Thế nào là trang trại thông minh

Trang trại thông minh là mô hình trang trại hội tụ 4 yếu tố:

- Doanh nghiệp thông minh Ở Việt Nam, đã có một số mô hình trang trại thông minh , nhưng chưa hoàn chỉnh Do quy mô nhỏ, chủ yếu là trồng rau nên lao động vẫn dựa vào thủ công là chính; yếu tố công nghệ chưa được đầu tư mạnh.

Trên thực tế, diện tích đất nông nghiệp ngày càng thu hẹp; cộng thêm tác động tiêu cực của biến đổi khí hậu Vì vậy vấn đề đảm bảo cung cấp lương thực toàn cầu đang gặp nhiều khó khăn.

Theo thống kê của WFP, số người bị mất an ninh lương thực tăng từ 135 triệu năm 2019 lên đến 265 triệu vào cuối năm 2020. Đặc biệt, ở Việt Nam thì các cây trồng như: Lúa, cà phê, hồ tiêu, đều là những cây trồng chủ đạo. Ứng dụng mô hình nông trại thông minh sẽ giúp giảm số lượng nhân công đang ngày càng cạn kiệt; đồng thời cũng đảm bảo sản lượng lương thực; đối phó với tình trạng biến đổi khí hậu hiện nay.

GIẢI PHÁP CÔNG NGHỆ HỆ THỐNG

Giới thiệu tổng quan về PLC

Kỹ thuật điều khiển đã phát triển trong thời gian rất lâu Trước kia việc điều khiển hệ thống chủ yêu do con người thực hiện Gần đây, việc điều khiển được thực hiện nhờ các ứng dụng của ngành điện, thực hiện bằng việc đóng ngắt tiếp điểm Relay Các Relay sẽ cho phép đóng ngắt công suất không cần dùng công tắc cơ khí Ta thường sử dụng Relay để tạo nên các thao tác điều khiển đóng ngắt logic đơn giản Sự xuất hiện của máy tính đã tạo một bước tiến mới trong điều khiển - Kỹ thuật điều khiển lập trình PLC PLC xuất hiện vào những năm 1970 và nhanh chóng trở thành sự lựa chọn cho việc điều khiển sản xuất.

PLC là từ viết tắt của Programmable Logic Controller (Tiếng Việt: Bộ điều khiển Logic có thể lập trình được) Khác với các bộ điều khiển thông thường chỉ có một thuật toán điều khiển nhất định, PLC có khả năng thay đổi thuật toán điều khiển tùy biến do người sử dụng viết thông qua một ngôn ngữ lập trình Do vậy, nó cho phép thực hiện linh hoạt tất cả các bài toán điều khiển.

Hiện nay có rất nhiều hãng sản xuất PLC như Siemens (Đức), Omron (Nhật Bản), Mitsubishi (Nhật Bản), Delta (Đài Loan) …

Ngôn ngữ lập trình phổ biến là LAD (Ladder logic - Dạng hình thang), FBD (Function Block Diagram - Khối chức năng), STL (Statement List - Liệt kê lệnh) và Ladder logic là ngôn ngữ lập trình PLC đang được ưa chuộng nhất.

PLC (Programmable Logic Controller) là thiết bị điều khiển lập trình, được thiết kế chuyên dùng trong công nghiệp để điều khiển các tiến trình xử lý từ đơn giản đến phức tạp, tuỳ thuộc vào người điều khiển mà nó có thể thực hiện một loạt các chương trình hoặc sự kiện, sự kiện này được kích hoạt bởi các tác nhân kích thích (hay còn gọi là đầu vào) tác động vào PLC hoặc qua các bộ định thời (Timer) hay các sự kiện được đếm qua bộ đếm Khi một sự kiện được kích hoạt nó sẽ bật ON, OFF hoặc phát một chuỗi xung ra các thiết bị bên ngoài được gắn vào đầu ra của PLC Như vậy nếu ta thay đổi các chương trình được cài đặt trong PLC là ta có thể thực hiện các chức năng khác nhau, trong các môi trường điều khiển khác nhau.

Hình 2.1: PLC điều khiển các phụ tải

2.1.2 Lịch sử ra đời của PLC.

Bộ điều khiển lập trình đầu tiên (Programmable controller) được hình thành từ nhóm các kỹ sư thuộc hãng General Motor vào năm 1968, với ý tưởng ban đầu là thiết kế một bộ điều khiển thỏa mãn các yêu cầu sau:

+ Lập trình dễ dàng, ngôn ngữ lập trình dễ hiểu.

+ Cấu trúc dạng Module mở rộng, dễ bảo trì và sữa chữa.

+ Đảm bảo độ tin cậy trong môi trường công nghiệp.

Tuy nhiên, thiết bị này còn khá đơn giản và cồng kềnh, người sử dụng gặp nhiều khó khăn trong việc vận hành hệ thống Vì vậy các nhà thiết kế từng bước trình cho hệ thống còn khó khăn, do lúc này không có các thiết bị lập trình ngoại vi hổ trợ cho công việc lập trình. Để đơn giản hóa việc lập trình, thiết bị điều khiển lập trình cầm tay (Programmable Controller Handle) đầu tiên được ra đời vào năm 1969 Điều này đã tạo ra được một sự phát triển thực sự cho kỹ thuật điều khiển lập trình. Trong giai đoạn này các thiết bị điều khiển lập trình (PLC) chỉ đơn giản nhằm thay thế hệ thống Relay và dây nối trong hệ thống điều khiển cổ điển Qua quá trình vận hành, các nhà thiết kế đã từng bước tạo ra được một tiêu chuẩn mới cho hệ thống, tiêu chuẩn đó là: Dạng lập trình dùng giản đồ hình thang (The Diagram Format).

Trong những đầu thập niên 1970, với sự phát triển của phần mềm, bộ lập trình PLC không chỉ thực hiện các lệnh Logic đơn giản mà còn có thêm các lệnh về định thì, đếm sự kiện, các lệnh về xử lý toán học, xử lý dữ liệu, xử lý xung, xử lý thời gian thực…

Sự phát triển của hệ thống phần cứng từ năm 1975 cho đến nay đã làm cho hệ thống PLC phát triển mạnh mẽ hơn với các chức năng mở rộng.

Số lượng ngõ vào, ngõ ra nhiều hơn và có khả năng điều khiển các ngõ vào, ngõ ra từ xa bằng kỹ thuật truyền thông.

Nhiều loại Module chuyên dùng hơn.

Ngoài ra các nhà thiết kế còn tạo ra kỹ thuật kết nối các hệ thống PLC riêng lẻ thành một hệ thống PLC chung, tăng khả năng của từng hệ thống riêng lẻ Tốc độ của hệ thống được cải thiện, chu kỳ quét nhanh hơn Bên cạnh đó,PLC được chế tạo có thể giao tiếp với các thiết bị ngoại nhờ vậy mà khả năng ứng dụng của PLC được mở rộng hơn.

Ngôn ngữ lập trình và ưu điểm khi sử dụng của PLC

Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình nhằm phục vụ các đối tượng sử dụng khác nhau Các ngôn ngữ lập trình cơ bản.

Hình 2.3: Các ngôn ngữ lập trình cơ bản PLC

2.2.2 Ưu điểm khi sử dụng của PLC

- Không cần đấu dây cho sơ đồ điều khiển logic như kiểu dùng rơ le.

- Có độ mềm dẻo sử dụng rất cao, khi chỉ cần thay đổi chương trình (phần mềm) điều khiển.

- Chiếm vị trí không gian nhỏ trong hệ thống.

- Nhiều chức năng điều khiển.

- Công suất tiêu thụ nhỏ.

- Không cần quan tâm nhiều về vấn đề lắp đặt.

- Có khả năng mở rộng số lượng cổng kết nối đầu vào và các cổng kết nối ra (Input/Output) khi kết nối thêm các khối vào và ra chức năng.

- Tạo khả năng mở ra các lĩnh vực áp dụng mới.

Chính nhờ những ưu thế đó, PLC hiện nay được sử dụng rộng rãi trong các hệ thống điều khiển tự động, cho phép nâng cao năng suất sản xuất, chất lượng và sự đồng nhất sản phẩm, tăng hiệu suất, giảm năng lượng tiêu tốn,tăng mức an toàn, tiện nghi và thoải mái trong lao động Đồng thời cho phép nâng cao tính thị trường của sản phẩm.

Cấu tạo PLC Siemens S7-1200

Bộ điều khiển logic khả trình (PLC) S7-1200 mang lại tính linh hoạt và sức mạnh để điều khiển nhiều thiết bị đa dạng hỗ trợ các yêu cầu về điều khiển tự động Sự kết hợp giữa thiết kế thu gọn, cấu hình linh hoạt và tập lệnh mạnh mẽ đã khiến cho S7-1200 trở thành một giải pháp hoàn hảo dành cho việc điều khiển nhiều ứng dụng đa dạng khác nhau.

Kết hợp một bộ vi xử lý, một bộ nguồn tích hợp, các mạch ngõ vào và mạch ngõ ra trong một kết cấu thu gọn, CPU trong S7-1200 đã tạo ra một PLC mạnh mẽ Sau khi người dùng tải xuống một chương trình, CPU sẽ chứa mạch logic được yêu cầu để giám sát và điều khiển các thiết bị nằm trong ứng dụng. CPU giám sát các ngõ vào và làm thay đổi ngõ ra theo logic của chương trình người dùng, có thể bao gồm các hoạt động như logic Boolean, việc đếm, định thì, các phép toán phức họp và việc truyền thông với các thiết bị thông minh khác.

2.3.2 Giới thiệu tính năng PLC S7-1200

PLC S7-1200 là một dòng PLC mới của SIEMENS có độ chính xác cao.Thiết bị PLC Siemens S7-1200 có thiết kế dạng module nhỏ gọn, linh hoạt, phù hợp với một loạt các ứng dụng khác nhau PLC S7-1200 của Siemens có một giao thức truyền thông, đáp ứng đầy đủ các tiêu chuẩn cao nhất của truyền thông công nghiệp và các tính năng công nghệ mạnh mẽ được tích hợp sẵn làm cho nó trở thành một giải pháp tự động hóa hoàn chỉnh và toàn diện nhất.

Với thiết kế theo dạng module, tính chính xác cao, dòng sản phẩm SIMATIC S7-1200 phù hợp với nhiều ứng dụng tự động hóa khác nhau với cấp độ từ nhỏ đến trung bình Đặc điểm nổi bật của PLC S7-1200 là được tích hợp sẵn cổng truyền thông Profinet (Ethernet) và sử dụng chung một phần mềm Simatic Step 7 Basic giúp cho việc lập trình PLC, thiết kế và thi công hệ điều khiển trở nên đơn giản, dễ dàng hơn

Hình 2.4: Hình dáng bên ngoài PLC S7-1200 Trong hình vẽ 2.1

3 Kết nối với các module mở rộng.

4 Đèn Led hiển thị Input và Output trên board.

Các module CPU khác nhau có hình dạng, chức năng, tốc độ xử lý lệnh, bộ nhớ chương trình khác nhau….

PLC S7-1200 gồm các khối trong hình vẽ 2.2.

- Gồm ba bộ điều khiển nhỏ gọn với sự phân loại trong các phiên bản khác nhau như điều khiển AC hoặc DC phạm vi rộng như trong hình 2.2.

- Một cổng tín hiệu ra analog 12 bit (+10 đến - 10VDC, 0-20mA hoặc 4 đến 20 mA) Được điều khiển module trực tiếp trên CPU làm giảm chi phí sản phẩm

- Hai cổng tín hiệu vào số và 2 cổng tín hiệu ra số dòng điện đầu vào max 0.5A Điều khiển module trực tiếp trên CPU làm giảm chi phí sản phẩm.

- Gồm có13 module tín hiệu số và tín hiệu tương tự mở rộng khác nhau.

- Hai module giao tiếp cổng RS232 và RS485 để giao tiếp thông qua kết nối điểm tới điểm PTP (Point to Point).

Bổ sung 4 cổng kết nối Ethernet

- Module nguồn PS 1207 ổn định, dòng điện và điện áp Điện áp xoay chiều 115 ACV đến 230 ACV, điện áp 24 DCV.

- Modules mở rộng tín hiệu vào và tín hiệu ra các module mở rộng tín hiệu vào/ra được gắn trực tiếp vào phía bên phải của CPU Với dải rộng các loại module tín hiệu vào/ra số và analog, giúp linh hoạt trong sử dụng S7-1200 Tính đa dạng của các module tín hiệu vào/ra sẽ được tiếp tục phát triển Module truyền thông Bên cạnh truyền thông Ethernet được tích hợp sẵn, CPU S7-1200 có thể mở rộng được 3 moulde truyền thông khác nhau, giúp cho việc kết nối được linh hoạt Tại thời điểm Siemens giới thiệu PLC S7-200 ra thị trường, có các module RS232 va RS485, hỗ trợ các protocol truyền thông như modbus, USS…

- Giao tiếp PLC Siemens S7-1200 hỗ trợ kết nối Profibus và kết nối PTP(point to point).

- Các thiết bị lập trình

- Các bộ điều khiển SIMATIC khác hỗ trợ các giao thức kết nối

- TCP/IP - SIO - ON - TCP

Hình 2.5: Các thành phần chính PLC S7-1200

2.3.3 Cấu trúc bên trong PLC Siemens S7 – 1200

PLC S7-1200 có 4 bộ phận cơ bản bộ vi xử lý, bộ nhớ, bộ nguồn, giao tiếp xuất dữ liệu và nhập dữ liệu.

- Bộ xử lý trung tâm (CPU) có chứa bộ vi xử lý Chức năng thứ nhất là biên dịch các tín hiệu được nhập vào từ máy tính (PC) Chức năng thứ hai là thực hiện các hành động điều khiển được lưu trong bộ nhớ của PLC.

- Bộ nguồn có nhiệm vụ chuyển điện áp AC thành DC (24V) Cần thiết cho các bộ vi xử lý cũng như các mạch điện có trong module giao tiếp nhập dữ liệu và xuất dữ liệu điều khiển hoạt động thiết bị.

- Bộ nhớ dùng để lưu trữ các chương trình để sử dụng cho các hoạt động dưới sự quản lý của bộ vi xử lý.

- Các thành phần giao tiếp nhập dữ liệu và xuất dữ liệu Nó là nơi nhận thông tin từ các thiết bị ngoại rồi gửi tới điều khiển các thiết bị Tín hiệu vào có thể từ công tắc tơ, cảm biến,… Tín hiệu ra có thể dùng điều khiển động cơ, biến tần, băng truyền

- Chương trình điều khiển được nạp vào với sự giúp đỡ của bộ lập trình

Hình 2.6: Cấu trúc bên trong PLC S7-1200 Các kiểu CPU khác nhau cung cấp một sự đa dạng các tính năng và dung lượng giúp cho người dùng tạo ra các giải pháp có hiệu quả cho nhiều ứng dụng khác nhau.

Họ S7-1200 cung cấp một số lượng lớn các module tín hiệu và bảng tín hiệu để mở rộng dung lượng của CPU Người dùng còn có thể lắp đặt thêm các module truyền thông để hỗ trợ các giao thức truyền thông khác.

Bảng 2.0: Module tín hiệu (SM), truyền thông (CM)

Cấu trúc các vùng nhớ và các vùng dữ liệu PLC S7-1200

2.4.1 Cấu trúc các vùng nhớ

2.4.1.1 Vùng chứa chương trình ứng dụng

- OB (Organisation block) là miền chứa chương trình tổ chức.

- FC (Function) là miền chứa trương trình con được tổ chức thành hàm biến hình thức để trao đổi dữ liệu với chương trình đã gọi nó, được phân biệt bởi các số nguyên Ví dụ: FC1, FC7, FC30 ngoài ra còn có các hàm SFC là các hàm đã được tích hợp sẵn trong hệ điều hành

- FB (Function Block) tương tự như FC, FB còn phải xây dựng khối dữ liệu riêng gọi là DB (Data Block) và cũng có các hàn SFB là các hàm tích hợp sẵn trong hệ điều hành.

- I (Process image input): Miền bộ đệm dữ liệu các ngõ vào số Trước khi bắt đầu thực hiện chương trình, PLC sẽ đọc tất cả giá trị logic của các cổng vào rồi cất giữ chúng trong vùng I khi thực hiện chương trình CPU sẽ sử dụng các giá trị trong vùng I mà không đọc trực tiếp từ ngõ vào số.

- Q (Process image output): tương tự vùng I, miền Q là bộ đệm dữ liệu cổng ra số Khi kết thúc chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số.

- M (Memory) là miền các biến cờ Do vùng nhớ này không mất sau mỗi chu kỳ quét nên chương trình ứng dụng sẽ sử dụng vùng nhớ này để lưu giữ các tham số cần thiết Có thể truy nhập nó theo bit (M), byte (MB), theo từ (MW) hay từ kép (MD).

- T (Timer) là miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV- Current Value) cũng như các giá trị logic đầu ra của Timer.

- C (Counter) là miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV- Current Value) cũng

- DB (Data block) là miền chứa các dữ liệu được tổ chức thành khối Kích thước hay số lượng khối do người sử dụng qui định Có thể truy nhập miền này theo từng bit (DBX), byte(DBB), từng từ (DBW), từ kép (DBD) Có thể sử dụng các DB trong chương trình để lưu trữ dữ liệu cho các khối mã Dữ liệu được lưu trữ vẫn tồn tại khi việc thực thi khối mã được liên kết kết thúc Một “Global”

DB lưu trữ dữ liệu có thể được sử dụng bởi tất cả các khối mã, trong khi một

“Instance” DB lưu trữ dữ liệu cho một FB cụ thể và được cấu trúc bởi các tham số cho FB.

Một số tập lệnh của PLC S7 – 1200

Các tiếp điểm lập trình ladder diagram (LAD)

Ta có thể kết nối các tiếp điểm với nhau và tạo ra mạch logic kết nối Nếu bit ngõ vào mà ta chỉ rõ sử dụng bộ định danh I (ngõ vào) hay Q (ngõ ra), giá trị bit sẽ được đọc từ một thanh ghi ảnh tiến trình Các tín hiệu tiếp điểm vật lý trong tiến trình điều khiển được nối đến các đầu cực I trên PLC CPU quét các tín hiệu ngõ vào được nối và cập nhật liên tục các giá trị tương ứng trong thanh ghi ngõ vào ảnh tiến trình Ta có thể ghi rõ một kết quả tức thời của một ngõ vào vật lý bằng cách sử dụng “:P” theo sau sự dịch chỉnh I (ví dụ: “%I3.4:P”) Đối với một kết quả tức thời, các giá trị dữ liệu bit được đọc một cách trực tiếp từ ngõ vào vật lý thay vì từ ảnh tiến trình Một kết quả tức thời thì không cập nhật ảnh tiến trình.

Thông số Kiểu dữ liệu Miêu tả

IN Bool Bit được gán giá trị

Bảng 2.1: Mô tả, thông số và dữ liệu của bit logic

 Tiếp điểm thường hở NO (Normally Open) được đóng lại (ON) khi giá trị bit được gán bằng 1

 Tiếp điểm thường đóng NC (Normally Closed) được đóng lại (ON) khi giá trị bit được gán bằng 0

 Các tiếp điểm được nối nối tiếp sẽ tạo ra mạch logic AND

 Các tiếp điểm được nối song song sẽ tạo ra mạch logic OR.

Các khối FBD (Function block diagram)

AND, OR và XOR Trong lập trình FBD, các mạng tiếp điểm LAD được chuyển đổi thành các mạng dùng các khối logic AND (&), OR (> = 1) và OR loại trừ (XOR) mà ta có thể chỉ rõ các giá trị bit cho các ngõ vào và ngõ ra của khối Ta còn có thể kết nối đến các khối logic khác và tạo ra một tổ hợp liên hợp logic riêng Sau khi khối được đặt trong mạng, ta có thể kéo công cụ “Insert binary input” từ thanh công cụ “Favorites” hay từ cây lệnh và sau đó thả nó lên trên phía đầu vào của khối để thêm nhiều ngõ vào Ta còn có thể nhấp chuột phải lên bộ kết nối ngõ vào của hộp và chọn “Insert input” Các ngõ vào và ngõ ra của hộp có thể được kết nối đến một hộp logic khác, hay ta có thể nhập vào một địa chỉ bit hay tên ký hiệu bit đối với một ngõ vào chưa được kết nối Khi lệnh trong hộp được thực thi, trạng thái ngõ vào hiện tại được áp dụng cho mạch logic hộp nhị phân và nếu đúng thì ngõ ra của hộp sẽ là đúng.

Thông số Kiểu dữ liệu Miêu tả

IN1, IN2 Bool Bit ngõ ra

Bảng 2.2: Mô tả, thông số và dữ liệu của các khối AND, OR và XOR

 Tất cả các ngõ vào của khối AND phải là “TRUE” để ngõ ra là

 Bất kỳ ngõ vào nào của khối OR phải là “TRUE” để ngõ ra là

 Một số lẻ các ngõ vào của khối XOR phải là “TRUE” để ngõ ra là

Bộ đảo logic NOT Đối với lập tình FBD (Function block diagram): ta có thể kéo công cụ “Negate binary input” từ thanh công cụ “Favorites” hay từ cây lệnh và sau đó thả nó lên một ngõ vào hay ngõ ra để tạo ra một bộ đảo logic trên bộ kết nối của hộp đó.

Tiếp điểm NOT (LAD) chuyển đổi trạng thái logic của đầu vào dòng tín hiệu.

 Nếu không có dòng tín hiệu vào trong tiếp điểm NOT, sẽ có dòng tín hiệu đi ra

 Nếu có dòng tín hiệu vào trong tiếp điểm NOT, sẽ không có dòng tín hiệu đi ra

Cuộn dây ngõ ra của lập trình (LAD).

Lệnh xuất cuộn dây sẽ ghi một giá trị cho một bit ngõ ra Nếu bit ngõ ra ta chỉ ra sử dụng định danh bộ nhớ Q, thì sau đó CPU sẽ chuyển bit ngõ ra trong thanh ghi ảnh tiến trình về on hoặc off, thiết lập giá trị bit được gán bằng với trạng thái luồng tín hiệu Các tín hiệu ngõ ra cho cơ cấu điều khiển được nối đến các đầu cực Q của S7-1200 Trong chế độ RUN, hệ thống CPU quét một cách liên tục các tín hiệu ngõ vào, xử lý các trạng thái ngõ vào theo chương trình logic, và sau đó tác động trở lại bằng cách thiết lập các giá trị trạng thái ngõ ra mới trong thanh ghi ngõ ra ảnh tiến trình Sau mỗi chu trình thực thi chương trình, hệ thống CPU chuyển phản ứng trạng thái ngõ ra mới được lưu trữ trong thanh ghi ảnh tiến trình đến các đầu cực nối dây ngõ ra

Ta có thể xác định một kết quả ghi tức thời của một ngõ ra vật lý bằng cách sử dụng “:P” theo sau độ dịch chuyển Q (ví dụ “%Q3.4:P”) Đối với một kết quả ghi tức thời, các giá trị dữ liệu bit được ghi đến ngõ ra ảnh tiến trình và trực tiếp đến ngõ ra vật lý.

Thông số Kiểu dữ liệu Miêu tả

OUT Bool Bit ngõ ra gán giá trị

Bảng 2.3: Mô tả, thông số và dữ liệu

 Nếu có luồng tín hiệu chạy qua một cuộn dây ngõ ra, bit ngõ ra được đặt lên 1

 Nếu không có luồng tín hiệu chạy qua một cuộn dây ngõ ra, bit ngõ ra được đặt về 0

 Nếu có luồng tín hiệu chạy qua một cuộn dây ngõ ra đảo, bit ngõ ra đặt về 0

 Nếu không có luồng tín hiệu chạy qua một cuộn dây ngõ ra đảo, bit ngõ ra được đặt lên 1.

Khối gán ngõ ra lập trình (FBD).

Trong lập trình FBD, các cuộn dây lập trình LAD được chuyển đổi thành các khối gán (= và /=) mà ta có thể định rõ một địa chỉ bit cho hộp ngõ ra Các ngõ vào và ngõ ra của khối có thể được kết nối với khối logic khác hay ta có thể nhập vào một địa chỉ bit.

Thông số Kiểu dữ liệu Miêu tả

OUT Bool Bit được gán giá trị

Bảng 2.4: Mô tả, thông số và dữ liệu của các khối gán

 Nếu tín hiệu vào của hộp ngõ ra là 1, bit OUT được đặt lên 1

 Nếu tín hiệu vào của hộp ngõ ra là 0, bit OUT được đặt về 0.

 Nếu tín hiệu vào của hộp ngõ ra đảo là 1, bit OUT được đặt về 0.

 Nếu tín hiệu vào của hộp ngõ ra đảo là 0, bit OUT được đặt lên 1.

2.5.1.1 Các lệnh Set (đặt) và Reset (đặt lại)

S và R: Set và Reset 1 bit

 Khi lệnh S (Set) được kích hoạt, giá trị dữ liệu ở địa chỉ OUT được đặt lên 1 Khi lệnh S không được kích hoạt, ngõ ra OUT không bị thay đổi

 Khi lệnh R (Reset) được kích hoạt, giá trị dữ liệu ở địa chỉ OUT được đặt về 0 Khi lệnh R không được kích hoạt, ngõ ra OUT không bị thay đổi

 Những lệnh này có thể được đặt tại bất cứ vị trí nào trong mạch.

Thông số Kiểu dữ liệu Miêu tả

INPUT Bool Vị trí bit được giám sát

OUTPUT Bool Vị trí bit được đặt hoặc đặt lại

Bảng 2.5: Mô tả, thông số và dữ liệu lệnh set và reset

SET_BF và RESET_BF: Set và Reset một tr ư ờng bit

Thông số Kiểu dữ liệu Miêu tả n Constant Số lượng các bit để ghi

OUTPUT Phần tử của một mảng Boolean

Phần tử bắt đầu của một trường bit được đặt hay đặt lại Ví dụ

Bảng 2.6: Mô tả, thông số và dữ liệu khối SET_BF và RESET_BF

 Khi SET_BF được kích hoạt, một giá trị dữ liệu bằng 1 được gán cho

“n” bit bắt đầu tại địa chỉ OUT Khi SET_BF không được kích hoạt, địa chỉ OUT không bị thay đổi

 RESET_BF ghi một giá trị dữ liệu bằng 0 đến “n” bit bắt đầu tại địa chỉ OUT Khi RESET_BF không được kích hoạt, địa chỉ OUT không bị thay đổi

 Những lệnh này phải là lệnh nằm về bên phải trong một nhánh.

RS và SR: các mạch chốt của bit set trội và reset trội

RS là một mạch chốt set trội mà set chiếm ưu thế Nếu tín hiệu set (S1) và reset (R) đều là đúng, địa chỉ ngõ ra OUT sẽ bằng 1

SR là một mạch chốt reset trội mà reset chiếm ưu thế Nếu tín hiệu set (S) và reset (R1) đều là đúng thì địa chỉ ngõ ra OUT sẽ là 0

Thông số OUT định rõ địa chỉ bit được set hay reset Ngõ ra OUT tùy chọn (Q) phản ánh trạng thái tín hiệu của địa chỉ OUT.

Thông số Kiểu dữ liệu Miêu tả

S, S1 Bool Ngõ vào set; số “1” biểu thị sự ưu thế

R, R1 Bool Ngõ vào reset; số “1” biểu thị sự ưu thế

OUT Bool Ngõ ra của bit được gán “OUT”

Q Bool Trạng thái kèm theo của bit “OUT”

Bảng 2.7: Mô tả, thông số và dữ liệu của khối RS và SR

Bảng 2.8: Mô tả bảng tập lệnh

2.5.1.2 Các lệnh ngưỡng dương và âm

Các bộ dò quá độ d ươ ng và âm

Hình 2.7: Các lệnh ngưỡng dương và âm

Thông số Kiểu dữ liệu Miêu tả

M_BIT Bool Bit nhớ trong đó trạng thái kề trước của ngõ vào được lưu trữ

IN Bool Bit ngõ vào mà ngưỡng quá độ của nó là dùng để phát hiện OUT Bool Bit ngõ ra, cho biết một ngưỡng quá độ đã được phát hiện CLK Bool Luồng tín hiệu hay bit ngõ vào mà ngưỡng quá độ của chúng là dùng để phát hiện

Q Bool Ngõ ra biểu thị một ngưỡng đã được phát hiện Bảng 2.9: Mô tả, thông số và dữ liệu của khối P_TRIG và N_TRIG Tiếp điểm P (LAD): trạng thái của tiếp điểm này là “TRUE” khi một sự quá độ dương (từ OFF sang ON) được phát hiện trên bit “IN” được gán Trạng thái logic của tiếp điểm sau đó được kết hợp với dòng tín hiệu trong mạch để thiết lập trạng thái ngõ ra của dòng tín hiệu Tiếp điểm P có thể được định vị tại bất kỳ vị trí nào trong mạch, ngoại trừ vị trí kết thúc của một nhánh.

Tiếp điểm N (LAD): trạng thái của tiếp điểm này là “TRUE” khi một sự quá độ âm (từ ON sang OFF) được phát hiện trên bit được gán Trạng thái logic của tiếp điểm sau đó được kết hợp với dòng tín hiệu trong mạch để thiết lập trạng thái ngõ ra của dòng tín hiệu Tiếp điểm N có thể được định vị tại bất kỳ vị trí nào trong mạch, ngoại trừ vị trí kết thúc của một nhánh.

Hộp P (FBD): trạng thái logic ngõ ra là “TRUE” khi một sự quá độ dương (từ OFF sang ON) được phát hiện trên bit ngõ vào được gán Hộp P chỉ có thể được định vị tại vị trí bắt đầu của một nhánh Hộp N (FBD): trạng thái logic ngõ ra là “TRUE” một sự quá độ âm (từ ON sang OFF) được phát hiện trên bit ngõ vào được gán Hộp N chỉ có thể được định vị tại vị trí bắt đầu của một nhánh.

Cuộn dây P (LAD): bit được gán “OUT” là “TRUE” khi một sự quá độ dương (từ OFF sang ON) được phát hiện trên dòng tín hiệu đi vào cuộn dây. Dòng tín hiệu trong mạch luôn chạy qua cuộn dây, đóng vai trò như trạng thái ngõ ra dòng tín hiệu Cuộn dây P có thể được định vị tại bât kỳ vị trí nào trong mạch

Cuộn dây N (LAD): bit được gán “OUT” là “TRUE” khi một sự quá độ âm (từ ON sang OFF) được phát hiện trên dòng tín hiệu đi vào cuộn dây Dòng tín hiệu trong mạch luôn chạy xuyên qua cuộn dây, đóng vai trò như trạng thái ngõ ra dòng tín hiệu Cuộn dây N có thể được định vị tại bât kỳ vị trí nào trong mạch Hộp P = (FBD) bit được gán “OUT” là “TRUE” khi một sự quá độ dương (từ OFF sang ON) được phát hiện trên trạng thái logic tại kết nối ngõ vào của hộp hoặc trên sự gán bit ngõ vào, nếu hộp này được định vị tại điểm khởi đầu của một nhánh Trạng thái logic ngõ vào luôn chạy xuyên qua hộp giống như trạng thái logic ngõ ra Hộp P= có thể được định vị tại bất kỳ vị trí nào trong nhánh Hộp N= (FBD): bit được gán “OUT” là “TRUE” khi một sự quá độ âm (từ ON sang OFF) được phát hiện trên trạng thái logic tại kết nối ngõ vào của hộp hoặc trên sự gán bit ngõ vào, nếu hộp này được định vị tại điểm khởi đầu của một nhánh Trạng thái logic ngõ vào luôn chạy xuyên qua hộp giống như trạng thái logic ngõ ra Hộp N = có thể được định vị tại bất kỳ vị trí nào trong nhánh P_TRIG (LAD/FBD) dòng tín hiệu ngõ ra Q hoặc trạng thái logic là

“TRUE” khi một sự quá độ dương (từ OFF sang ON) được phát hiện trên trạng thái ngõ vào CLK (FBD) hay trên dòng tín hiệu CLK (LAD) Trong ngôn ngữLAD, lệnh P_TRIG không thể được định vị tại vị trí khởi đầu hay kết thúc của một mạch Trong ngôn ngữ FBD, lệnh P_TRIG có thể được định vị tại bất kỳ vị ngõ ra Q hoặc trạng thái logic là “TRUE” khi một sự quá độ âm (từ ON sang OFF) được phát hiện trên trạng thái ngõ vào CLK (FBD) hay trên dòng tín hiệu CLK (LAD) Trong ngôn ngữ LAD, lệnh N_TRIG không thể được định vị tại vị trí khởi đầu hay kết thúc của một mạch Trong ngôn ngữ FBD, lệnh N_TRIG có thể được định vị tại bất kỳ vị trí nào, ngoại trừ vị trí cuối của một nhánh Tất cả các lệnh ngưỡng sử dụng một bit nhớ (M_BIT) để lưu trữ trạng thái kề trước của tín hiệu ngõ vào đang được giám sát Một ngưỡng được phát hiện bằng cách so sánh trạng thái của tín hiệu ngõ vào với trạng thái của bit nhớ Nếu các trạng thái cho biết rằng một sự thay đổi của tín hiệu theo hướng cần quan tâm thì sau đó một ngưỡng được thuật lại bằng việc ghi giá trị ngõ ra “TRUE” Nếu không, ngõ ra được ghi là “FALSE”.

Các lệnh ngưỡng sẽ đánh giá các giá trị của ngõ vào và bit nhớ trong mỗi lần chúng được thực thi, kể cả lần thực thi đầu tiên Ta phải tính đến các trạng thái ban đầu của ngõ vào và bit nhớ trong thiết kế chương trình để cho phép hay để tránh sự phát hiện ngưỡng trên lần quét đầu tiên

Giới thiệu phân mềm Tia Portal

Phân mềm Tia Portal (Totally Integrated Automation Portal) là phần mềm mô phỏng và vận hành ảo PLC của hãng Siemens.

Phần mềm Totally Integrated Automation Portal (TIA Portal) được phát triển lần đầu vào năm 1996 bởi các kỹ sư của hãng Siemens Đây là một đột phá nghiệm, vận hành và duy trì nâng cấp hệ thống tự động hóa, phần mềm Tiaportal sẽ giúp tiết kiệm thời gian, chi phí và công sức cho các kỹ sư khi thiết kế.

SIMATIC STEP 7 (TIA Portal) là phần mềm nổi tiếng và được sử dụng rộng rãi trong lĩnh vực tự động hóa công nghiệp Giao diện của TIA Portal được thiết kế thân thiện người sử dụng, thích hợp cho cả những người mới lẫn những người nhiều kinh nghiệm trong lập trình tự động hóa Với phần mềm này, các bạn có thể cấu hình, lập trình, thử nghiệm và chẩn đoán tất cả các bộ điều khiển PLC cũng như các module, HMI sẵn có của Siemens một cách dễ dàng.

TIA Portal V16 là phiên bản mới nhất hiện nay được Siemens tung ra thị trường vào cuối năm 2019 Các ngôn ngữ lập trình LAD, FBD, SCL, STL, GRAPH được hỗ trợ đầy đủ giúp kỹ sư lập trình có thể linh hoạt lựa chọn ngôn ngữ lập trình cho bộ điều khiển của hệ thống.

Tia Portal V16 là phần mềm mô phỏng và vận hành ảo cho phép thiết kế kỹ thuật số tốt hơn các quy trình làm việc tích hợp, cũng như tập trung ứng dụng mở rộng với bộ điều khiển Simatic S7-1500R/H, tích hợp ổ đĩa Sinamic S210, Multiuser Engineering, đơn vị phần mềm và các chức năng OPC UA.

Sử dụng Simatic S7-PLCSIM Advanced, một bộ đôi kỹ thuật số của bộ điều khiển Simatic S7-1500 được tạo ra trong cổng thông tin TIA cho mục đích mô phỏng và vận hành ảo Simatic Machine Simulator v1.0 sau đó kết hợp bộ đôi kỹ thuật số này với phần mềm mô phỏng NX Mechat Electronic Concept Designer (NX MCD) cho các khái niệm máy cơ điện tử Điều này cho phép xác thực ảo các máy hoàn chỉnh: các mô hình cơ điện tử và điều khiển, bao gồm các mô hình hành vi đơn giản đến phức tạp, được đồng bộ hóa và các ứng dụng cấp máy có thể được mô phỏng và sau đó xác minh.

Lỗi kỹ thuật có thể được phát hiện sớm và sửa chữa hoặc tránh trước khi đưa vào vận hành thực tế Trong điều kiện thực tế, việc so sánh giữa hệ thống song sinh kỹ thuật số và hệ thống thực giúp có thể đáp ứng kịp thời với các thay đổi và tự động xem xét sửa đổi trong các giai đoạn phát triển ngược và xuôi dòng.

Hình 2.21: Mô hình Phần mềm Tia portal

2.6.2 Tính năng của Tia Portal

 Cấu hình tích hợp và trực quan của quản lý năng lượng

 Tự động tạo chương trình năng lượng PLC cho S7-1500

 Lưu trữ trên thẻ nhớ SIMATIC nội bộ WinCC Runtime Professional hoặc PLC

 Trực quan hóa dữ liệu năng lượng trong các đối tượng năng lượng không yêu cầu PowerTags bổ sung trong WinCC RT Professiona

 Màn hình hiệu quả năng lượng S7 cho máy (Hướng dẫn S7 mới bước 7 Thư viện TIA Portal) cung cấp các tính năng sau:

 Sản xuất liên quan và tiêu chuẩn hóa xác định mức tiêu thụ năng lượng trong máy (theo hướng dẫn đo VDMA 34179)

 Dễ dàng tích hợp với bộ điều khiển máy (S7-1200/1500) và trực quan hóa trạng thái hiệu quả trực tiếp tại máy

 Đồng bộ hóa S7-PLCSIM Advanced với các công cụ đồng mô phỏng trên hình ảnh quá trình một phần của các OB theo chu kỳ (ví dụ: OB theo dõi)

 Hỗ trợ cho các dịch vụ chu kỳ (RDREC / WRREC) và báo động (ví dụ: báo

 Báo động quá trình được định cấu hình trong cổng thông tin TIA có thể được xuất qua API

 Cấu hình phần mềm và sao lưu đơn giản của các phiên bản S7-PLCSIM Advanced

 Cài đặt song song S7-PLCSIM và S7-PLCSIM Advanced trên một PC

 Phát triển ứng dụng C ++ cho CPU đa chức năng 1518 (F) -4 PN / DP MFP

 Phát triển các thư viện chức năng cho Windows với C # và Visual Basic

 Hỗ trợ kiểu dữ liệu “Biến thể” với các thư viện hàm cho Windows

 Tạo báo thức với trình chỉnh sửa quy tắc báo động: Báo động bit và analog, các lớp và nhóm

 Đối tượng hình ảnh mới: Trend Controls F (t)

 Màn hình mẫu cho Bảng và RT Nâng cao: Sao chép từ thư viện và gán vào hình ảnh

 Phân tích tiêu chí cho các giám sát Prodiag và S7-Graph

 Kết quả phân tích tiêu chí trong văn bản báo động

 Hiển thị bước Người tiền nhiệm / người kế nhiệm trong Điều khiển Tổng quan về Đồ thị HMI S7 1000 giám sát trên mỗi khối giám sát (250 trong V14)

 Dấu thời gian giống hệt nhau cho tất cả các sự kiện được xác định trong một chu kỳ

 Kích hoạt nhanh các giám sát trong bảng thẻ PLC, DB

2.6.3 Cấu hình máy cài phần mềm Tia Portal

Hình 2.22: Cấu hình máy tính cài phân mềm Tia Portal

2.6.4 Các bước tạo một project

Bước 1: Từ màn hình desktop nhấp đúp chọn biểu tượng TIA Portal V15

Hình 2.23: Biểu tượng phần mềm Tia Portal

Bước 2: Click chuột vào “Create new project” để tạo dự án.

Bước 3: Nhập tên dự án vào “Project name” sau đó nhấn “Create”.

Hình 2.25: Đặt tên cho dự án.

Bước 5: Chọn “add new device”.

Bước 6: Chọn loại CPU PLC sau đó chọn “add”.

Bước 7: Project mới được hiện ra.

Hình 2.29: Một project mới được tạo ra.

Tổng quan về phần mềm winCC

Phần mềm WinCC của Siemens là một phần mềm chuyên dụng để xây dựng giao diện điều khiển HMI (Human Machine Interface) cũng như phục vụ việc xử lý và lưu trữ dữ liệu trong một hệ thống SCADA (Supervisory Control And Data Aquisition) thuộc chuyên ngành tự động hóa

Khi các bạn tiếp xúc với phần mềm WinCC, chúng ta sẽ thấy có rất nhiều phiên bản khác nhau cho từng mục đích khác nhau Làm sao để biết chọn phiên bản nào là phù hợp và chúng khác nhau những gì?

Sau đây là khái niệm của một số loại phiên bản WinCC được sử dụng ngày nay:

- WinCC Flexible: Đây là phiên bản đơn giản và cũng là cổ điển nhất của nhà WinCC Phiên bản WinCC Flexible được phát triển để lập trình các màn hình HMI mà chúng ta hay thấy gắn trên các tủ điều khiển hoặc trên các máy móc Bao gồm từ những màn hình Basic Panel cơ bản cho đến những màn hình HMI trên nền PC như các máy tính công nghiệp IPC của Siemens.

Hình 2.30: WinCC Flexible Đối với các màn hình cũ được lập trình bằng WinCC Flexible thì để mở các project này, chúng ta phải dùng đúng bản Flexible để mở Hoặc các bạn có thể dùng WinCC Basic/Comfort/Advanced trong TIA Portal để nâng cấp project lên TIA Tuy nhiên, các bạn lưu ý là khi đã nâng cấp project lên TIA rồi thì sẽ không quay về flexible được nữa.

WinCC V7 (classic) được Siemens tạo ra để cung cấp các công cụ phần mềm để thiết lập một giao diện điều khiển chạy trên các hệ điều hành của Microsoft như Windows XP hay Windows 7, 10 Trong dòng các sản phẩm thiết kế giao diện phục vụ cho vận hành và giám sát, WinCC thuộc thứ hạng SCADA (SCADA class) với những chức năng hữu hiệu cho việc lập trình một trạm SCADA chuyên nghiệp Ngoài khả năng thích ứng cho việc xây dựng các hệ thống có quy mô lớn nhỏ khác nhau, WinCC còn có thể dễ dàng tích hợp với những ứng dụng có quy mô doanh nghiệp như việc tích hợp với những hệ thống cấp cao như MES (Manufacturing Excution System – Hệ thống quản lý việc thực hiện sản xuất) và ERP (Enterprise Resource Planning).

Hình 2.31: WinCC 7.x (Classic) Trong WinCC, chúng ta có hai loại cơ bản như sau:

- WinCC Runtime Package (Viết tắt là RT): chứa các chức năng ứng dụng dùng để chạy các ứng dụng của WinCC như hiển thị, điều khiển, thông báo các trạng thái, các giá trị điều khiển và làm các báo cáo Hay nói cách khác, đây là loại để chạy khi vận hành hệ thống.

- WinCC Complete Package (Viết tắt là RC): bao gồm bản quyền để xây dựng cấu hình hệ thống (configuration licence) và bản quyền để chạy ứng dụng (Runtime) Hay nói cách khác, các kỹ sư dùng loại RC này để thiết kế xây dựng cấu hình hệ thống.

WinCC (TIA Portal) là phần mềm cấu hình và thiết kế giao diện từ màn hình điều khiển HMI cho đến hệ thống SCADA chạy trên máy tính PC Phiên bản này được Siemens phát triển để tích hợp vào hệ sinh thái TIA Portal của họ, chính vì vậy, để phân biệt với WinCC V7 thì chúng ta thường ghi kèm “TIA Portal” vào sau tên WinCC.

Với việc tích hợp WinCC vào TIA Portal, chương trình này đã mang được ý nghĩa như tên gọi của nó là “Tích hợp toàn diện” Các thao tác kỹ thuật từ lập trình PLC cho đến thiết kế giao diện HMI sẽ được thực hiện trên cùng một chương trình duy nhất Ưu điểm là các thông tin giữa PLC và SCADA được trao đổi với nhau dễ dàng và có cấu trúc thống nhất.

Dựa trên phạm vi cấu hình và thiết kế, WinCC (TIA Portal) được chia làm 4 phiên bản khác nhau:

- WinCC Basic: dùng để thiết kế các màn hình HMI dòng Basic Panel. Phiên bản này khi các bạn cài đặt bất kỳ phiên bản TIA Portal nào cũng đều có đính kèm theo.

- WinCC Comfort: dùng để lập trình tất cả các dòng màn hình điều khiển HMI từ Basic Panel cho đến Comfort Panel và Mobile Panel Nói cách khác, với phiên bản này thì bất cứ màn hình điều khiển HMI nào của Siemens cũng đều có thể lập trình được hết.

- WinCC Advanced: được dùng để lập trình tất cả màn hình điều khiển HMI và có thể lập trình cho các dòng máy tích công nghiệp IPC của Siemens.

- WinCC Professional: được dùng để lập trình tất cả màn hình điều khiển HMI và SCADA chạy trên máy tính PC.

Như các bạn thấy, phiên bản WinCC sau sẽ bao gồm các tính năng của bản WinCC trước Tức là khi các bạn cài bản Comfort thì đã bao gồm tính năng của bản Basic rồi Hoặc cài bản Professional thì sẽ bao gồm 3 phiên bản trước cộng lại Tuỳ thuộc vào mục đích sử dụng (chi phí mua bản quyền, bản càng cao thì càng đắt) và cấu hình máy tính của bạn có mạnh để cài hay không.

Ngoài ra, chúng ta còn có thêm một phiên bản WinCC mới ra mắt của Siemens nữa Đó là WinCC Open Architecture, nếu hiểu sang tiếng Việt thì sẽ là WinCC cấu trúc mở Tại sao nó lại có tên là “cấu trúc mở”? Đơn giản là bản WinCC này được phát triển để chạy trên các nền tảng phong phú, không chỉ riêng hệ điều hành Windows mà còn có thể chạy trên các nền tảng khác Ví dụ như Linux,IOS, Android hoặc thậm chí cho những thiết bị nhúng như Raspberry Pi Mục đích của chính của việc phong phú nền tảng này là có thể chạy và giao tiếp qua các giao thức đám mây (MQTT, OPC UA, XML, MindSphere…) để có thể tiếp cận đến mô hình công nghiệp 4.0

2.7.2 Các chức năng phổ biến của WinCC

- Graphics Designer: Thực hiện dể dàng các chức năng mô phỏng và hoạt động qua các đối tượng đồ họa của chương trình WinCC, Windows, I/O, và các thuộc tính hoạt động (Dynamic).

- Alarm Logging: Thực hiện việc hiển thị các thông báo hay các cảnh báo khi hệ thống vận hành Nhận các thông tin từ các quá trình, hiển thị, hồi đáp và lưu trữ chúng Alarm Logging còn giúp ta phát hiện ra nguyên nhân của lỗi.

- Tag Logging: Thu thập, lưu trữ và xuất ra dưới nhiều dạng khác nhau từ các quá trình đang thực thi.

- Report Designer: Tạo ra các thông báo, kết quả Và các thông báo này được lưu dưới dạng nhật ký sự kiện.

Phần mềm Visual code studio

2.8.1 Tổng quan về phần mềm

Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bới Microsoft dành cho Windows, Linux và macOS Nó hỗ trợ chức năng debug, đi kèm với Git, có chức năng nổi bật cú pháp ( syntax highloghting), tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nó cũng cho phép tùy chỉnh, do đó , người dùng có thể thay đổi theme, phím tắt, và các tùy chọn khác Nó miễn phí và là phần mềm mã nguồn mở thep giấy phép MIT, mặc dù bản phát hành của Microsoft là theo giấy phép phần mềm miễn phí

Visual Studio Code được dựa trên Elecctron, một nền tảng được sử dụng để triển khai các ứng dụng node.js máy tính các nhân chạy trên động cơ bố trí Blink Mặc dù nó sử dụng nền tảng Electron nhưng phần mềm này không phải là một bản Atom, nó thực ra được dựa trên trình biên tập của Visual Studio Online

Visual Studio Code được công bố, ra mắt phiên bản thử nghiệm vào ngày

29 tháng 4 năm 2015 bởi Microsoft tại hội nghị Build 2015

Vào ngày 18 tháng 11 năm 2015, Visual Studio Code hoàn tất thử viện nghiệm và được phát hành chính thức

Vào ngày 14 tháng 4 năm 2016 Visual Studio Code hoàn tất thử nghiệm và được phát hành chính thức.

2.8.3 Tính năng của phần mềm

Visual Studio Code là một trình biên tập mã Nó hỗ trợ nhiều ngôn ngữ và chức năng tùy vào ngôn ngữ sử dụng theo như trong bảng sau Nhiều chức năng của Visual Studio Code không hiển thị ra trong các menu tùy chọn hay giao diện người dùng Thay vào đó, chúng được gọi thông qua khung nhập lệnh hoặc qua một tập tin json (ví dụ như tập tin tùy chỉnh của người dùng) Khung nhập lệnh là một giao diện theo dòng lệnh Tuy nhiên, nó biến mất khi người dùng nhấp bất cứ nơi nào khác, hoặc nhấn tổ hợp phím để tương tác với một cái gì đó ở bên ngoài đó Tương tự như vậy với những dòng lệnh tốn nhiều thời gian để xử lý. Khi thực hiện những điều trên thì quá trình xử lý dòng lệnh đó sẽ bị hủy.

Syntax Highlighting Batch, C++, Clojure, CoffeeScript, DockerFile, Elixir,

F#, Go, Pug template language,Java, HandleBars, Ini, Lua, Makefile, Objective-C, Perl, PowerShell, Python,

R, Razor, Ruby, Rust, SQL, Visual Basic, XML Snippets Groovy, Markdown, Nim,PHP, Swift

Tự động hoàn thành mã thông minh

CSS, HTML, JavaScript, JSON, Less, Sass, TypeScript

Cải tiến mã nguồn C#, TypeScript

Debugging  JavaScript và TypeScript cho Node.js

 C# và F# cho Mono trên Linux và macOS

 C và C++ trên Windows, Linux và macOS

Phần mềm KEPseverEX

2.9.1 Tổng quan về phần mềm KEPserverEX

KEPServerEX là nền tảng kết nối hàng đầu của ngành công nghiệp kỹ thuật, cung cấp một nguồn dữ liệu tự động hóa công nghiệp cho tất cả các ứng dụng của bạn Thiết kế nền tảng cho phép người dùng kết nối, quản lý, theo dõi và kiểm soát các thiết bị tự động hóa và ứng dụng phần mềm đa dạng thông qua một giao diện trực quan KEPServerEX thúc đẩy OPC (OPC là viết tắt của OLE for Process Control, với OLE là Object Linhking Embedding, là một tiêu chuẩn cho ngành tự động về khả năng tương tác) và IT-centric communication protocols - các giao thức truyền thông trung tâm (như SNMP, ODBC, và các dịch vụ web) để cung cấp cho người dùng một nguồn cung cấp dữ liệu duy nhất cho công nghiệp Nền tảng này được phát triển và thử nghiệm để đáp ứng yêu cầu của khách hàng, độ tin cậy cao và kể cả yêu cầu dễ sử dụng.

2.9.2 Một số tính năng của KEPseverEX

- IoT-ready, tương thích với ThingWorx Manufacturing Accelerator bao gồm cả ứng dụng ThingWorx Controls Advisor cung cấp khả năng hiển

- Tương thích với VMware và Hyper-V.

- Nâng cao bảo mật qua SSL và TLS, kiểm soát truy cập vào máy chủ.

- Các tính năng bảo mật ứng dụng nâng cao để đáp ứng các yêu cầu bảo mật trang web.

- Nhiều tùy chọn dự phòng để đảm bảo khả năng phục hồi, độ tin cậy cao và thời gian hoạt động trong các ứng dụng quan trọng.

- Kiến trúc hợp nhất có thể mở rộng, cung cấp sự linh hoạt để kết hợp các trình điều khiển và sử dụng nhiều giao thức trong một máy chủ duy nhất

- Giao diện dễ sử dụng giúp bạn cài đặt, cấu hình, bảo trì và khắc phục sự cố.

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

Sơ đồ nguyên lý hệ thống

Hinh 3.1: Sơ đồ nguyên lý hệ thống

Lưu đồ thuật toán

3.2.1 Lưu đồ điều khiển chung

3.2.2 Lưu đồ điều khiển chế độ tự động

3.2.2.1 Lưu đồ của phần cây trồng

3.2.2.1 Lưu đồ của phần vật nuôi

3.2.3 Lưu đồ điều khiển chế độ bằng tay

Thiết kế phần cứng hệ thống nhúng trong PLC

Bước 1:chọn loại PLC lập trình cụ thể ở đây có mã là 1214C DC/DC/DC phiên bản V4.2.

Hình 3.2: Lựa chọn mã PLC phù hợp để lập trình

Bước 2: Khởi tạo màn hình WinCC

Hình 3.3: Khởi tạo màn hình WinCC

Bước 3: Thiết lập kết nối giữa PLC và màn hình WinCC

Hình 3.4: Thiết lập kết nối giữa PLC và màn hình WinCC

Bước 4: Kích hoạt các bit cũng như xung clock hệ thống để phục vụ trong quá trình lập trình và mô phỏng.

Hình 3.5: Kích hoạt các bit và clock hệ thống

Bước 5: Cho phép PLC kết nối,nhận lệnh cũng như truyền lệnh điều khiển với các phần mềm từ bên ngoài

Hình 3.6: Cho phép PLC kết nối nhận lệnh điều khiển từ các phần mềm bên ngoài.

Thiết kế giao diện SCADA nhúng trong TIA Portal

Hình 3.7: Màn hình ở chế độ bằng tay với cây trồng Ỏ chế độ bằng tay với cây trồng, chúng ta chọn chế độ bằng tay, khởi động hệ thống rồi có thể bật tắt các thiết bị theo ý muốn của mình.

Hình 3.8: Màn hình ở chế độ tự động với cây trồng Ở chế độ tự động, sau khi nhập các thông số cài đặt nhiệt độ, độ ẩm, ấn khởi động thì hệ thống sẽ chạy theo thông số cài đặt.

Hình 3.9: Màn hình ở chế độ bằng tay với vật nuôi Ở chế độ bằng tay với vật nuôi, chúng ta chọn chế độ bằng tay, khởi động hệ thống rồi có thể bật tắt các thiết bị theo ý muốn của mình.

Hình 3.10: Màn hình ở chế độ tự động với vật nuôi Ở chế độ tự động, sau khi nhập các thông số cài đặt thời gian tắm, rửa chuồng, thời gian ăn uống và nhiệt độ, ấn khởi động thì hệ thống sẽ chạy theo thông số cài đặt.

3.5 Thiết kế giao diện giám sát điều khiển Webserver

Chương trình được nạp từ TIA Portal vào PLC rồi từ PLC sẽ cung cấp dữ liệu cho Kepserver thông qua các biến có trong Data_block tiếp theo đó Visual

Studio Code sẽ đọc dữ kiệu từ Kepserver thông qua hàm đọc dữ liệu.

Hình 3.11: Giao diện Webserver cho hệ thống tự động của cây trồng

Hình 3.13: Giao diện Webserver cho hệ thống tự động của vật nuôi

Hình 3.14: Giao diện Webserver cho hệ thống bằng tay của vật nuôi

Lập trình hệ thống

Hình 3.15: Các khối lập trình

Lập trình code PLC viết trên phần mềm Tia Portal bằng ngôn ngữ bậc thang (LADDER LOGIC)

+ Main[OB1]: Chương trình chính

+ KHOI AUTO CAY TRONG[FC2]: Chương trình điều khiển tự động hệ thống cây trồng (2 Network).

+ KHOI AUTO VAT NUOI [FC10]: Chương trình điều khiển tự động hệ thống vật nuôi (3 Network)

+ KHOI MO PHONG CAM BIEN[FC4]: Mô phỏng các giá trị lưu lượng mực nước và ánh sáng (3 Network).

+ KHOI HUMI VA TEMP[FC6]: Chương trình chạy hệ thống theo

+ KHOI MAN CAY TRONG [FC3]: Chương trình điều khiển bằng tay hệ thống cây trồng (4 Network).

+ KHOI MAN VAT NUOI[FC7]: Chương trình điều khiển bằng tay hệ thống vật nuôi (6 Network).

+ KHOI THOI GIAN[FC5]: Chương trình chạy hệ thống theo thời gian (6 Network).

+ THOI GIAN[DB1]: Chứa các biến thời gian thực (8 biến).

+ Web_Comm[DB3]: Chứa các biến giao tiếp với Webserver (71 biến).

3.6.2 Cấu hình KEPSERVER (Kepware OPC)

Bước 1: Click chuột phải vào biểu tượng kepware ở thanh taskbar và chọn setting.

Hình 3.16: Bắt đầu cấu hình

Bước 2: Tại tab “Configuration API Service” mục Enable và Enable HTTP chọn Yes, Mục CORS nhập đấu *, sau đó nhấn Apply.

Hình 3.17: Cài đặt ở Configuration API Service

Lưu ý: Sau khi cấu hình bước 2, nhấn vào đường link ở mục View in browse nếu trình duyệt hiện lên như bên dưới tức là đã cấu hình thành công.

Hình 3.18: Đã cấu hình thành công

Bước 3: Tải file API và coppy vào ổ C của máy tính

Hình 3.19: Tải file API vào ổ C của máy tính

Bước 4: Giải nén file API

Hình 3.20: Giải nén file API trong ổ C của máy tính

Bước 5: Quay lại mục setting của Kepware, tại tab “IoT gateway” chọn “Use the JRE at:” chọn file vừa giải nén ở ổ C (Bước 4), sau đó nhấn Apply

Hình 3.21: Chọn đường dẫn file API

3.6.3 Cấu hình IoT Gateway cho KEPserverREX (Kepware)

Bước 1: Tại IoT gateway chọn Add Agent, mục name đặt tên cho project (tùy chọn), mục type chọn “REST Server”, sau đó nhấn Next.

Hình 3.22: Tạo mới IoT Gateway mới

Bước 2: Đặt tên port number cho project (tùy chọn), ở đây đặt 5000, bỏ tick mục Use HTTPS, sau đó nhấn Finish

Lưu ý: Cổng Port Number sau này sẽ dùng để cấu hình ở phần lập trình

Webserver (Visual studio code) ở file index.js

Bước 3: Click chuột phải vào IOT gate way vừa tạo, chọn Properties.

Hình 3.24: Cấu hình IOT gateway

Bước 4: Tại mục Server phần Enable Write Endpoint chọn Yes để trình duyệt có thể ghi dữ liệu vào PLC

Hình 3.25: Kết nối với PLC

Bước 5: Tạo 1 kênh có tên chanel 1 và thực hiện khai báo các data block lấy dữ liệu từ PLC

Hình 3.26 Khai báo tag lấy dữ liệu từ PLC

3.6.4 Lập trình trên phần mềm Visual studio code

3.6.4.1 Cấu chúc của một Website

Cấu trúc cơ bản của trang HTML có dạng như sau, thường gồm 3 phần:

: Phần khai báo chuẩn của html hay xhtml.

: Phần khai báo ban đầu, khai báo về meta, title, css, javascript…

: Phần chứa nội dung của trang web, nơi hiển thị nội dung.

Chú ý: Đối với code html thì comment sẽ nằm trong , ví dụ:

Tôi là sinh viên học viện kỹ thuật mật mã –>.

3.6.4.2 Cài đặt các module cần thiết để lập trình Để project có thể vận hành được, cần cài đầy đủ các gói pakage đã giới thiệu ở trên, dưới đây là bảng tổng hợp danh sách các gói cần cài đặt cho một project như sau:

STT Các gói cần cài đặt Giải thích

1 Npm init Node package manager

2 npm install socket.io Cài đặt Socket IO

3 npm install express – -save Cài đặt express

4 npm i –g npm Cài đặt lodahs

5 npm i – -save lodash Cài đặt lodahs (Tiếp)

6 npm install ejs Cài đặt ejs

7 npm install jquery Cài đặt jquery

8 npm install kepserverex-js Cài đặt module kết nối với OPC

Kepware Bảng 3.1: Các gói cần cài đặt

NPM là gì? – NMP là viết tắt của Node package manager là một công cụ tạo và quản lý các thư viện lập trình Javascript cho Node.js Trong cộng đồng Javascript, các lập trình viên chia sẻ hàng trăm nghìn các thư viện với các đoạn code đã thực hiện sẵn một chức năng nào đó Nó giúp cho các dự án mới tránh phải viết lại các thành phần cơ bản, các thư viện lập trình hay thậm chí cả các framework.

Socket IO là một công cụ sử dụng để xây dựng một ứng dụng realtime (Cập nhật dữ liệu theo thời gian thực) Socketio sẽ giúp các bên ở những địa điểm khác nhau kết nối với nhau, truyền dữ liệu ngay lập tức thông qua server trung gian Socketio có thể được sử dụng trong nhiều ứng dụng như chat, game online, cập nhật kết quả của một trận đấu đang xảy ra, trong Webserver thì công dụng của Socket IO là cập nhật giá trị từ PLC từ đó đưa lên Website, hoặc lấy giá trị cài đặt từ Website và truyền xuống PLC.

Socket IO không phải là một ngôn ngữ, mà chỉ là 1 công cụ giúp thực hiện những ứng dụng realtime Vì thế không thể sử dụng socketio để thay thế hoàn toàn cho một ngôn ngữ, mà phải sử dụng kết hợp với một ngôn ngữ khác Ngôn ngữ đó có thể là php, asp.net, nodejs…

Express là một framework giành cho nodejs Nó cung cấp cho chúng ta rất nhiều tính năng mạnh mẽ trên nền tảng web cũng như trên các ứng dụng di động Express hỗ rợ các phương thức HTTP và midleware tạo ra môt API vô cùng mạnh mẽ và dễ sử dụng Có thể tổng hợp một số chức năng chính của express như sau:

Thiết lập các lớp trung gian để trả về các HTTP request. Định nghĩa router cho phép sử dụng với các hành động khác nhau dựa trên phương thức HTTP và URL.

Cho phép trả về các trang HTML dựa vào các tham số.

Nói cách khác, trong nội dung cuốn sách này thì Express sử dụng để tạo ra 1 trang web làm server để hỗ trợ cho các trình duyệt truy hoặc các ứng dụng truy cập được vào để lấy dữ liệu từ Webserver.

Lodash là một thư viện JavaScript mạnh mẽ dùng để xử lý tất cả các dữ liệu như Array, Collection, Date, Function, Lang, Math, Number, Object, Seq, String, Util, Properties … với nhiều chức năng hơn và có hiệu năng tốt hơn Với mỗi loại dữ liệu, lại có rất nhiều hàm tiện ích để bạn có thể sử dụng trong những trường hợp khác nhau.

Trong nội dung cuốn sách này, thư viện Lodahs sử dụng để chuyển đổi dữ liệu đọc lên từ PLC sang mảng (Array), để từ mảng (array) có thể chuyển đổi và truyền dữ liệu qua dang Web, nói cách khác Webserver không trực tiếp chuyển đổi dữ liệu được từ Variable sang Web mà phải thông qua mảng (Array), thư viện Lodash sẽ thực hiện chức năng đó

EJS Định nghĩa một cách cơ bản nhất thì (EJS) view engine chính là công cụ giúp chúng ta viết code HTML một cách ngắn gọn và đơn giản hơn cách thông thường đồng thời nó có thể sử dụng lại Ngoài ra nó có thể đưa dữ liệu vào từ phía server và render ra đoạn HTML cuối cùng.

 Jquery jQuery là thư viện được viết từ JavaScript, jQuery giúp xây dựng các chức năng bằng Javascript dễ dàng, nhanh và giàu tính năng hơn. jQuery không phải là một ngôn ngữ lập trình riêng biệt mà hoạt động liên kết với JavaScript Với jQuery, bạn có thể làm được nhiều việc hơn mà lại tốn ít công sức hơn jQuery cung cấp các API giúp việc duyệt tài liệu HTML, hoạt ảnh, xử lý sự kiện và thao tác AJAX đơn giản hơn jQuery hoạt động tốt trên nhiều loại trình duyệt khác nhau Một trong những đối thủ nặng ký của jQuery đó là JS Framework.

Bước 1: Cấu hình Iot gateway (index.js), sử dụng đoạn code sau

/////////////////////CẤU HÌNH KẾT NỐI KEPWARE//////////////////// const {TagBuilder, IotGateway} = require('kepserverex-js'); const tagBuilder = new TagBuilder({ namespace: 'Channel1.Device1' }); const iotGateway = new IotGateway({ host: '127.0.0.1', port: 5000

}); Ở đây tên kênh Chanel1.Device1 là kênh đã được tạo ở bên IotGateway Kepserver với Port: 5000

Bước 2: Tạo hàm đọc và ghi dữ liệu xuống PLC (index.js)

/////////////HÀM ĐỌC/GHI DỮ LIỆU XUỐNG KEPWARE(PLC)//////////////

//Đọc dữ liệu var tagArr = []; function fn_tagRead(){ iotGateway.read(TagList).then((data)=>{ var lodash = require('lodash'); tagArr = lodash.map(data, (item) => item.v); console.log(tagArr);

// Ghi dữ liệu function fn_Data_Write(tag,data){ tagBuilder.clean(); const set_value = tagBuilder

get(); iotGateway.write(set_value); Ở hàm đọc dữ liệu thì dữ liệu se được đưa vào một mảng, còn hàm ghi dữ liệu thì chúng ta sẽ lựa chọn tag cần ghi về Kepsever và biến dữ liệu cần ghi về.

Bước 3: Định nghĩa tag (ở đây sử dụng 118 tag, gồm tag được đưa ra bên dưới

// Khai báo tag var Auto_Man = 'Auto_Man'; var Auto_Man_1 = 'Auto_Man_1'; var Bom_1 = 'Bom_1'; var Bom_2 = 'Bom_2'; var Bom_3 = 'Bom_3'; var Bom_4 = 'Bom_4'; var Bom_5 = 'Bom_5'; var Den = 'Den'; var Den_Auto = 'Den_Auto'; var Den_Auto_1 = 'Den_Auto_1'; var Den_Man = 'Den_Man'; var Den_Man_1 = 'Den_Man_1'; var Den_Run_1 = 'Den_Run_1'; var Den_Stop = 'Den_Stop'; var Den_Stop_1 = 'Den_Stop_1'; var Den_Suoi = 'Den_Suoi'; var Luu_luong_duoi = 'Luu_luong_duoi'; var Luu_luong_duoi_1 = 'Luu_luong_duoi_1'; var Luu_luong_tren = 'Luu_luong_tren'; var Luu_luong_tren_1 = 'Luu_luong_tren_1'; var Nut_Den = 'Nut_Den'; var Nut_DenSuoi = 'Nut_DenSuoi'; var Nut_Van_1 = 'Nut_Van_1'; var Nut_Van_2 = 'Nut_Van_2'; var Nut_Van_3 = 'Nut_Van_3'; var NutBom_1 = 'NutBom_1'; var NutBom_2 = 'NutBom_2'; var NutBom_3 = 'NutBom_3'; var NutBom_4 = 'NutBom_4'; var NutBom_5 = 'NutBom_5'; var OFF = 'OFF'; var OFF_1 = 'OFF_1'; var ON = 'ON'; var ON_1 = 'ON_1'; var Quat = 'Quat'; var Quat_1 = 'Quat_1'; var Set_Humi_Max_1 = 'Set_Humi_Max_1'; var Set_Humi_Max_2 = 'Set_Humi_Max_2'; var Set_Humi_Min_1 = 'Set_Humi_Min_1'; var Set_Humi_Min_2 = 'Set_Humi_Min_2'; var Set_Temp_Max_1 = 'Set_Temp_Max_1'; var Set_Temp_Max_2 = 'Set_Temp_Max_2'; var Set_Temp_Max_3 = 'Set_Temp_Max_3'; var Set_Temp_Max_4 = 'Set_Temp_Max_4'; var Set_Temp_Min_1 = 'Set_Temp_Min_1'; var Set_Temp_Min_2 = 'Set_Temp_Min_2'; var Set_Temp_Min_3 = 'Set_Temp_Min_3'; var Van_1 = 'Van_1'; var Van_2 = 'Van_2'; var Van_3 = 'Van_3'; var Minute_1 = 'Minute_1'; var Minute_2 = 'Minute_2'; var Minute_3 = 'Minute_3'; var Minute_4 = 'Minute_4'; var Minute_5 = 'Minute_5'; var Minute_6 = 'Minute_6'; var Do_Am = 'Do_Am'; var Nhiet_Do = 'Nhiet_Do'; var Nut_Quat = 'Nut_Quat'; var Nut_Quat_1 = 'Nut_Quat_1'; var Acess_1 = 'Acess_1'; var Acess_2 = 'Acess_2'; var CB_AnhSang = 'CB_AnhSang';

// Đọc dữ liệu const TagList = tagBuilder

Bước 4: Tạo hàm quét dữ liệu từ PLC, mỗi giây một lần, thiết lập kết nối Web,

Gửi dữ liệu bảng tag qua PLC

// Tạo Timer quét dữ liệu setInterval(

// Quét dữ liệu function fn_read_data_scan(){ fn_tagRead(); // Đọc giá trị tag

WEB///////////////////////// var express = require("express"); var app = express(); app.use(express.static("public")); app.set("view engine", "ejs"); app.set("views", "./views"); var server = require("http").Server(app); server.listen(3000);

// Home calling app.get("/", function(req, res){ res.render("home")

// ///////////GỬa I DỮ LIỆU BA aNG TAG ĐẾN CLIENT (TRÌNH DUYỆT)/////////// io.on("connection", function(socket){ socket.on("Client-send-data", function(data){ fn_tag();

Ngày đăng: 16/08/2024, 14:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Giáo trình cảm biến công nghiệp, Hoàng Minh Công trường đại học Bách khoa Đà Nẵng, nhà xuất bản xây dựng, 2015 Khác
[2] Thiết kế và lập trình PLC, Trần Thế San và Nguyễn Ngọc Phương, 2014 trường đại học sư phạm kỹ thuật kỹ thuật TP. Hồ Chí Minh, NXB khoa học và kỹ thuật Khác
[3] Tự động hóa PLC S7-1200 với Tia Portal, Trần Văn Hiếu, NXB khoa học kỹ thuật 2017 Khác
[4] Lập trình với PLC S7-1200, Tạ Viết Quý và Nguyễn Thanh Hùng, NXB thanh niên 2016 Khác
[5] S7-1200 Programmable controller System Manual, V4.4 11/2019, A5E02486680-AN Khác

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

TÀI LIỆU LIÊN QUAN

w