TỔNG QUAN
ĐẶT VẤN ĐỀ
Công nghệ ngày càng phát triển, đời sống con người ngày càng được nâng cao, xu hướng dây chuyền tự động, hệ thống thông minh ngày càng được phát triển, Thực tế hiện nay, sự phát triển của các ứng dụng Internet of Things (IoTs) là nhờ cơ sở hạ tầng ngày càng phát triển, cùng với đó là chi phí sản xuất thấp Chính vì vậy việc điều khiển và giám sát thiết bị công nghiệp từ xa thông qua Internet đang là xu thế phát triển thiết yếu trong ngành công nghiệp tự động hoá cũng như các hệ thống, nhà máy sản xuất
Các hệ điều khiển và giám sát các thiết bị công nghiệp từ xa cũng được hình thành từ những năm 1990 Các thiết bị kết nối với nhau được điều khiển và giám sát bởi một hệ thống gọi là SCADA (Supervisory Control And Data Acquitition) Các hệ thống SCADA kết nối với nhau qua mạng LAN (Local Area Network) điều khiển và giám sát từ xa các nhà máy Hiện nay, các hệ thống này còn hỗ trợ một số Web Sever riêng do các hãng PLC (Programmable Logic Controller) có thể kết nối điều khiển trên mạng Internet như Siemens Một số lợi ích của hệ thống đó là nâng cao năng suất, cải thiện chất lượng sản phẩm, giảm chi phí vận hành và bảo trì, giảm chi phí nhân lực,… Nhưng bên cạnh đó, hệ thống SCADA cũng có nhiều hạn chế về cơ chế điều khiển và lập trình do giao diện mặc định của hãng
Từ đó, phát triển một hệ thống mới có thể kế thừa những lợi ích và khắc phục những hạn chế của hệ thống SCADA Do đó, cần có một thiết bị mà trên đó ta có thể lập trình mở và thiết kế giao diện theo ý muốn mà không bị hạn chế
Từ thực tế trên, cùng lượng kiến thức quý báu được học tập ở trường và lòng đam mê, nhóm sinh viên quyết định thực hiện nghiên cứu đồ án:
MỤC TIÊU ĐỀ TÀI
Đề tài “Thiết kế chương trình giám sát hệ thống công nghiệp ứng dụng IoT” được thực hiện với những mục tiêu như sau:
- Thực hiện giao tiếp giữa PLC và mô-đun IOT 2040
- Đưa dữ liệu thu thập từ thiết bị lên Cloud
- Truy xuất được dữ liệu từ Cloud về máy tính
- Thiết kế giao diện điều khiển và giám sát bằng Node-Red
- Thiết kế ứng dụng giám sát bằng framework Flutter và ngôn ngữ lập trình Dart
- Có thể kết nối với nền tảng thư điện tử như Gmail, Outlook mail,…
- Đánh giá những kết quả đạt được và những mặt hạn chế của đề tài
- Đề xuất phương pháp giải quyết các vấn đề còn tồn tại và hướng phát triển.
GIỚI HẠN ĐỀ TÀI
Đề tài tập trung nghiên cứu, thiết kế mô hình hệ thống thu thập dữ liệu trong lĩnh vực công nghiệp Nghiên cứu các vấn đề xử lý dữ liệu gửi về máy tính được kết nối với PLC Tập trung thiết kế giao diện quản lý và giám sát dữ liệu một cách đơn giản và dễ tiếp cận tới người vận hành.
PHƯƠNG PHÁP THỰC HIỆN
Với ý tưởng trên, nhóm sinh viên đã tiến hành đề tài nghiên cứu tập trung những vấn đề, gồm:
- Tìm hiểu cách kết nối giữa các thiết bị với PLC
- Tìm hiểu ngôn ngữ lập trình NodeJS và Node-Red
- Thiết kế ứng dụng giám sát trên hai nền tảng hệ điều hành Android và iOS
- Quản lý, lưu trữ dữ liệu
- Tìm hiểu tính thực thi của hệ thống.
NỘI DUNG
Phần còn lại của đề tài “Thiết kế chương trình giám sát hệ thống công nghiệp ứng dụng IoT” có nội dung như sau:
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ IOT TRONG CÔNG NGHIỆP
Internet of Things (IoT) là từ dùng để ám chỉ về những thiết bị liên kết với nhau qua Internet để chúng có thể chia sẻ dữ liệu với những đối tượng khác như ứng dụng IoT, những thiết bị, máy móc công nghiệp, và hơn nữa là các thiết bị cảm biến được kết nối internet với mục đích để thu thập dữ liệu hoặc trong một vài trường hợp là xử lý chúng Các thiết bị, máy móc có ứng dụng IoT giúp nâng cao chất lượng sống và làm việc Ứng dụng của IoT trong đời sống rất đa dạng, từ ngôi nhà thông minh có thể điều chỉnh tự động nhiệt độ, ánh sáng cho tới nhà máy thông minh có thể điều khiển máy móc công nghiệp có thể tự tìm ra và điều chỉnh một cách tự động để tránh lỗi
Ngày nay, chúng ta sống trong một thế giới, nơi mà những thiết bị tích hợp IoT cò nhiều hơn con người, chúng “giao tiếp” với nhau thông qua hệ thống mạng hoặc các nền tảng đám mây kết nối với IoT, thông tin chi tiết theo thời gian thực được thu thập từ quá trình chuyển đổi kỹ thuật số dữ liệu IoT sẽ mang lại nhiều thay đổi tích
5 cực cho đời sống, sự an toàn, điều hành doanh nghiệp, cải thiện hiệu suất, môi trường toàn cầu và các vấn đề nhân đạo Ý tưởng về một mạng lưới các thiết bị thông minh đã được thảo luận từ 1982, với một máy bán nước Coca-Cola tại Đại học Carnegie Mellon được tuỳ chỉnh khiến nó đã trở thành thiết bị đầu tiên được kết nối Internet, có khả năng báo cáo kiểm kho và độ lạnh của những chai nước mới bỏ vào máy Năm 1999, Kevin Ashton đã đưa ra cụm từ Internet of Things để mô tả một hệ thống Internet được kết nối với thế giới vật chất thông qua các cảm biến
2.1.2 IoT hoạt động như thế nào?
Một hệ thống IoT thông thường hoạt động thông qua việc thu thập và trao đổi dữ liệu theo thời gian thực Một hệ thống IoT có ba thành phần:
- Thiết bị thông minh: Đây là một thiết bị, giống như tivi, camera an ninh hoặc thiết bị tập thể dục đã được trao khả năng điện toán Thiết bị này thu thập dữ liệu từ môi trường xung quanh, thao tác nhập liệu của người dùng hoặc mô thức sử dụng và truyền cũng như nhận dữ liệu qua Internet từ ứng dụng IoT của nó
- Ứng dụng IoT: Là một tập hợp các dịch vụ và phần mềm có chức năng tích hợp dữ liệu nhận thức được từ các thiết bị IoT khác nhau Ứng dụng này sử dụng công nghệ máy học hoặc trí tuệ nhân tạo để phân tích dữ liệu và đưa ra các quyết định sáng suốt Những quyết định này được truyền trở lại thiết bị IoT và sau đó, thiết bị IoT đó sẽ phản hồi lại dữ liệu đầu vào một cách thông minh
- Giao diện đồ hoạ người dùng: Một hoặc một nhóm các thiết bị IoT có thể được quản lý thông qua giao diện đồ hoạ người dùng Ví dụ như ứng dụng di động hoặc trang web có thể được sử dụng để đăng ký và quản lý các thiết bị thông minh
IoT thực sự là cuộc các mạng về công nghệ thông tin của thế giới hiện đại Khi mỗi thiết bị, và con người được cấp mọt mã định danh riêng, tất cả có khả năng truyền tải và trao đổi thông tin, dữ liệu thông qua mạng Internet mà không cần tương tác giữa con người với con người, hoặc giữa máy tính với con người
Kết nối các thiết bị công nghệp và điều khiển thông qua Internet là một vấn đề cực kỳ hấp dẫn với người làm trong ngành kỹ thuật Hiện nay, các nhà máy ở nước ta được trang bị thiết bị điều khiển được kết nối với PLC, DCS hoặc SCADA điều khiển tự động hoặc bán tự động Nhưng khi áp dụng IoT vào trong nhà máy, việc quản lý các hệ thống này được thông qua Internet Người quản lý không cần đến nhà
6 máy cũng biết được các thông số của máy móc hoạt động ra sao Và hơn hết, chúng ta có thể điều khiển các thiết bị được kết nối ở bất kỳ nơi nào trên thế giới thông quan mạng Internet
Hình 1 2 IoT trong công nghiệp
Trong ngành công nghiệp bán lẻ, IoT hợp nhất dữ liệu, phân tích và xử lý marketing trên nhiều địa điểm khác nhau Các nhà bán lẻ sẽ lưu lại IoT từ cửa hàng, những kênh cácn hàng trực tuyến và ứng dụng công cụ phân tích để hiểu được xu hướng tìm kiếm, hành vi và sở thích của khách hàng Học thường sử dụng những thiết bị được kết nối IoT như thẻ từ RFID (Radio Frequency Indentification), hệ thống Wi-
Công nghệ IoT thu thâp dữ liệu trong thời giant hực từ hệ thống y tế như thiết bị y tế có thể trao đổi theo quá trình tập thể dục, giấc ngủ và các thói quen sức khoẻ khác Những dữ liệu IoT này cho phép đưa ra các chẩn đoán chính xác và pháp đồ điều trị, cải thiện sức khoẻ cho bệnh nhân Đồng thời, hợp lý hoá việc cung cấp dịch vụ chăm sóc
IoT với trí tuệ thông minh có khả năng vựa qua hàng rào địa lý có thể mang lại hiệu quả cao cho các công ty vận tải và hậu cần Công nghệ này có thể cải thiện chất lượng dịch vụ, giảm thời gian chết và gia tăng sự hài lòng của khách hàng Nó cũng có thể tăng sự an toàn và giảm thiểu chi phí bằng cách quản lý, tìm kiếm và theo dõi các phương tiện, hàng hoá, các tài sản di động khác trong thời gian thực
Có những ứng dụng IoT được sử dụng để giải quyết các vấn đề thực tế trong đời sống như tắc nghẽn giao thông, phát triển kinh tế, hỗ trợ đảm bảo an toàn trong công cộng Những thành phố thông minh thường tích hợp các thiết bị cảm biến IoT vào trong các cơ sở hạ tầng vật chất như đèn đường, camera giám sát, đèn tín hiệu giao thông,…
Hình 1 3 Robot trong công nghiệp
Trong ngành công nghiệp bán lẻ, IoT hợp nhất dữ liệu, phân tích và xử lý marketing trên nhiều địa điểm khác nhau Các nhà bán lẻ sẽ lưu lại IoT từ cửa hàng, những kênh cácn hàng trực tuyến và ứng dụng công cụ phân tích để hiểu được xu hướng tìm kiếm, hành vi và sở thích của khách hàng Học thường sử dụng những thiết bị được kết nối IoT như thẻ từ RFID (Radio Frequency Indentification), hệ thống Wi-
GIAO THỨC HTTP REQUEST
HTTP request là thông tin được gửi từ client lên server, để yêu cầu server tìm hoặc xử lý một số thông tin, dữ liệu mà client muốn HTTP request có thể là một file text dưới dạng XML hoặc Json mà cả hai đều có thể hiểu được Dưới đây là một HTTP request sử dụng phương thức GET
Các phương thức của HTTP Request:
- Phương thức GET: Get là phương thức được Client gửi dữ liệu lên Server thông qua đường dẫn URL nằm trên thanh địa chỉ của Browser Server sẽ nhận đường dẫn đó và phân tích trả về kết quả cho bạn Hơn nữa, nó là một phương thức được sử dụng phổ biến mà không cần có request body Một số đặc điểm chính của phương thức Get là: giới hạn độ dài của giá trị là 255 kí tự, chỉ hỗ trợ các dữ liệu kiểu String, có thể lưu vào bộ nhớ cache, các tham số truyền vào được lưu trữ trong lịch sử trình duyệt, có thể được bookmark do được lưu trong lịch sử trình duyệt,…
- Phương thức POST: là phương thức gửi dữ liệu đến server giúp bạn có thể thêm mới dữ liệu hoặc cập nhật dữ liệu đã có vào database Một số đặc điểm chính của Post là: dữ liệu cần thêm hoặc cập nhật không được hiển thị ngay trong URL của trình duyệt, dữ liệu không được lưu trữ trong lịch sử trình duyệt, không có hạn chế về độ dài của dữ liệu, hỗ trợ nhiều kiểu dữ liệu gồm String, Bỉnay, Integer,…
- Phương thức PUT: cách hoạt động tương tự như POST nhưng chỉ được sử dụng để cập nhật dữ liệu đã có trong database Khi sử dụng nó, bạn phải sử toàn bộ dữ liệu của một đối tượng
- Phương thức PATCH: tương tự như POST và PUT, nhưng PATCH được sử dụng khi phải cật nhạt một phần dữ liệu của đối tượng
- Phương thức DELETE: Giống như tên gọi, khi sử dụng phương thức này sẽ xoá các dữ liệu của server về tài nguyên thông qua URL Cũng giống như GET, phương thức này không có body request
- Phương thức HEAD: HEAD gần giống giống với lại GET, tuy nhiên nó không có response body Nói một cách khác, nếu sử dụng phương thức GET tới đường dẫn /Books thì sẽ trả về danh sách các sản phẩm, còn khi sử dụng HEAD tới đường dẫn /Books nhưng không nhận được danh sách các sản phẩm Truy vấn HEAD hữu ích khi chúng ta sử dụng nó để kiểm tra API có hoạt động không do không có response body nên thời gian phản hồi nhanh hơn so với phương thức Get Và thường được sử dụng để kiếm tra trước khi download file do cứ gọi đến API Dowload sẽ Download File nên thêm phương thức HEAD vào nó kiểm tra xem API có đang hoạt động tốt không tránh tải về nhiều.
TCP/IP
Transmision Control Protocol/ Internet Protocol là giao thức điều khiển truyền nhận giao thức liên mạng Là một bộ giao thức trao đổi thông tin được sử dụng để truyền tài và kết nối các thiết bị trong mạng internet
Cách thức hoạt động (Hình 2.1):
- IP: cho phép các gói tin được gửi đến đích đã được định sẵn, bằng cách thêm các thông tin dẫn đường vào gói tin để các gói tin đến đúng đích được định sẵn ban đầu
- TCP: đóng vai trò kiểm tra và đảm bảo sự an toàn cho mỗi gói tin khi đi qua trạm Trong qua trình này, nếu giao thức TCP nhận thấy gói tin bị lỗi thì một tín hiệu sẽ được truyền đi và yêu cầu hệ thống gửi lại một gói tin khác
Trong Hình 2.3, các tầng mạng được thể hiện rõ và nhiệm vụ của từng tầng như sau:
- Tầng 1 - tầng vật lý (Physical): chịu trách nhiệm truyền dữ liệu giữa 2 thiết bị trong cùng một mạng Tại đây, các gói dữ liệu được đóng vào khung (Frame) và được định tuyến đi đến đích đã được chỉ định ban đầu
- Tầng 2 - Tầng mạng (Internet): được định nghĩa là một giao thức chịu trách nhiệm truyền tải dữ liệu một cách logic trong mạng Các dữ liệu được đóng gói với kích thước phù hợp với mạng chuyển mạch mà nó dùng để truyền dữ liệu Lúc này, các gói tin được chèn thêm phần Header chứa thông tin của tầng mạng và tiếp tục chuyển đến tầng tiếp theo
- Tầng 3 - Tầng giao vận (Transport): Xử lý vấn đề giao tiếp giữa các máy chủ trong cùng một trang hoặc mạng khác được kết nối với nhau thông qua bộ định tuyến Tại đây, dữ liệu sẽ được phân đoạn, mỗi đoạn không bằng nhau nhưng kích thước phải nhỏ hơn 64KB Ở tâng này còn có 2 giao thức cốt lõi là TCP và UDP TCP đảm bảo chất lượng gói tin nhưng tiêu tốn thời gian để kiểm tra đầy đủ thông tin từ thứ tự dữ liệu cho đến kiểm soát vấn đề tắt nghẽn dữ liệu Trái lại, UDP cho thấy tốc độ truyền tải nhanh hơn nhưng lại không đảm bảo được chất lượng dữ liệu được gửi đi
- Tầng 4 - Tầng ứng dụng (Application) : có vai trò giao tiếp dữ liệu gữa 2 máy khác nhau thông qua các dịch vụ mạng khác nhau Dữ liệu khi đến đây sẽ được định dạng theo kiểu Byte to Byte, cùng với các thông tin định tuyến giúp xác định đường đi đúng của một gói tin
Hình 2 1 Cấu trúc của TCP/IP
Hình 2 2 Chức năng của tầng giao vận
INTERNET PROTOCOL (IP)
Là một giao thức để truyền tải thông tin giữa hai hệ thống thông qua các packet
IP sẽ sử dụng các địa chỉ (IP Address) nguồn và đích để tạo ra các packet
IP Packet được chia thành hai phần: header (thông tin điều khiển hay meta- data) và body (dữ liệu cần truyền tải) Thông tin điều khiển sẽ chứa các thông tin như: phiên bản (IPv4, IPv6), độ dài dữ liệu, kiểu giao thức (TCP, UDP, …), địa chỉ nguồn, đích, checksum (dùng để kiểm tra tính toàn vẹn của dữ liệu), … Dữ liệu truyền theo trong cac packet có thể bị mất, trùng lặp hoặc gửi đến sai thứ tự Ở phần Port có 2 kiểu giao thức TCP và UDP sử dụng khái niệm cổng (port) cho mỗi loại ứng dụng gửi và nhận dữ liệu Số hiệu cổng được lưu trữ trong một số 16-bit và có giá trị từ 0 đến 65535
Về internet socket, socket là một điểm kết thúc (endpoint) trong tiến trình truyền tải dữ liệu hai chiều (giữa hai socket) Một endpoint đơn giản là một sự kết hợp giữa địa chỉ IP và port Có thể coi Socket là một cổng logic mà một chương trình sử dụng để kết nối với một chương trình khác chạy trên một máy tính khác trên Internet Chương trình mạng có thể sử dụng nhiều Socket cùng một lúc, nhờ đó nhiều chương trình có thể sử dụng Internet cùng một lúc Các thông tin mà một socket phải có bao gồm:
- Địa chỉ và port cục bộ
- Địa chỉ và port kết nối tới
Giao thức: TCP, UDP, raw IP, … Internet Socket được chia thành ba loại sau:
- Datagram socket: (connectionless socket) sử dụng giao thức UDP
- Stream socket: (connection-oriented socket) sử dụng TCP hoặc SCTP
- Raw socket: (Raw IP socket) chỉ có hiệu lực trên router hoặc các thiết bị mạng khác Loại socket này cho phép truyền và nhận các packet trực tiếp giữa các ứng dụng, bỏ qua tất cả các tầng trung gian.
TIMES-SERIES DATABASE
Time-series Data là một chuỗi các điểm dữ liệu, thường gồm các phép đo liên tiếp được thực hiện từ cùng một nguồn trong một khoảng thời gian Phân tích chuỗi thời gian có mục đích nhận dạng và tập hợp lại các yếu tố, những biến đổi theo thời gian mà nó có ảnh hưởng đến giá trị của biến quan sát
Trong Time-series Data, có hai loại chính, gồm: chuỗi thời gian thông thường (regular time series), loại thông thường được gọi là số liệu; chuỗi thời gian bất thường (events) là những sự kiện
Cơ sở dữ liệu chuỗi thời gian Time Series Database (TSDB) là cơ sở dữ liệu được tối ưu hóa cho dữ liệu chuỗi thời gian hoặc có dấu thời gian Dữ liệu chuỗi thời gian chỉ đơn giản là các phép đo hoặc sự kiện được theo dõi, lấy mẫu và tổng hợp theo thời gian Đây có thể là số liệu máy chủ, giám sát hiệu suất ứng dụng, dữ liệu mạng, dữ liệu cảm biến, sự kiện, giao dịch trong một thị trường và nhiều loại dữ liệu phân tích khác
Cơ sở dữ liệu chuỗi thời gian được xây dựng đặc biệt để xử lý các số liệu và sự kiện hoặc phép đo được đóng dấu thời gian TSDB được tối ưu hoá để đo lường sự thay đổi theo thời gian Các thuộc tính làm cho dữ liệu chuỗi thời gian rất khác so với
16 các khối lượng công việc khác là quản lý vòng đời dữ liệu, tóm tắt và quét phạm vi lớn của nhiều bản ghi
Cơ sở dữ liệu chuỗi thời gian không phải là mới, nhưng thế hệ đàu tiên chủ yếu tập trung vào việc xem xét dữ liệu tài chính, sự biến động của giao dịch chứng khoán và các hệ thống được xây dựng để giải quyết giao dịch Tuy nhiên, các điều khiện cơ bản của điện toán đã thay đổi đáng kể trong thập kỷ qua
Time-series Database có hai loại chính: chuỗi thời gian thông thường (regular time series), loại thông thường được gọi là số liệu, chuỗi thời gian bất thường (events) là những sự kiện
Các ứng dụng thông dụng sử dụng Time-series Database gồm có:
- Phân tích thời gian thực
- Tính toán doanh số bán hang
- Kiểm soát quy trình và chất lượng
Cơ sở dữ liệu chuỗi thời gian được xây dựng đặc biệt để xử lý các số liệu và sự kiện hoặc phép đo được đóng dấu thời gian TSDB được tối ưu hóa để đo lường sự thay đổi theo thời gian Các thuộc tính làm cho dữ liệu chuỗi thời gian rất khác so với các khối lượng công việc dữ liệu khác là quản lý vòng đời dữ liệu, tóm tắt và quét phạm vi lớn của nhiều bản ghi.
TỔNG QUAN VỀ DATABASE, INFLUXDB, GRAFANA,
Database là cơ sở dữ liệu, hay còn gọi là một tổ chức dữ liệu có cấu trúc bài bản và thường được truy cập từ hệ thống máy tính hoặc tồn tại dưới dạng tập tin trong hệ quản trị cơ sở dữ liệu
Chức năng chính của nó là để lưu trữ, truy xuất và cập nhật dữ liệu, cung cấp tính năng kiểm soát đồng thời, giúp bảo mật chặt chẽ hơn
InfluxDB là cơ sở dữ liệu chuỗi thời gian thực được phát triển bởi công ty InfluxData Nó được viết bằng ngôn ngữ lập trình Go để lưu trữ và truy xuất dữ liệu chuỗi thời gian thực trong các lĩnh vực Một số ví dụ như phân tích dữ liệu sủ dụng băng thông nhà mạng của người dùng trong ngày để phân phối hợp lý, phân tích số lượng request của người dùng đến sever để có các biện pháp cân bằng tải, phân tích dữ liệu từ các cảm biến phục vụ việc sản xuất cũng như bảo trì kịp thời cho máy móc,…
InfluxDB cung cấp đến người dùng hai lựa chọn gồm cài đặt trên thiết bị và dịch vụ đám mây InfluxDB Cloud Nếu tự lưu trữ, người dùng có thể cài đặt InfluxDB trên Linux, macOS và Windows
Những tính năng chính của InfluxDB hỗ trợ có thể kể đến như:
- Có các API đọc ghi dễ hiểu, hiệu suất cao
- Plugin hỗ trợ cho các giao thức nhập dữ liệu khác như Graphite, Collectd và OpenTSDB
- Câu query tương đồng với SQL, do đó rất dễ để người dùng đã có kiến thức cơ bản về SQL sử dụng
- Các truy vấn liên tục tự động tính toán dữ liệu tổng hợp để làm cho các truy vấn thường xuyên hiệu quả hơn Và InfluxDB có cả mã nguồn mở và phiên bản cho Enterprise
Grafana là một nền tảng mã nguồn mở, chuyên phục vụ mục đích theo dõi và đánh giá số liệu thu được Như vậy, công cụ này mang tính ứng dụng rất rộng chứ không riêng trong mảng Công nghệ Thông tin Grafana có thể truy xuất dữ liệu từ Graphite, Elasticsearch, OpenTSDB, Prometheus và InfluxDB Công cụ này hỗ trợ mạnh mẽ việc truy xuất và biểu diễn dữ liệu dưới dạng các đồ thị và biểu đồ
Bất kỳ lĩnh vực nào có thể thu được dữ liệu dòng thời gian đều có thể hiển thị tối ưu trên Grafana Ngoài ra, công cụ còn đa dạng kết nối với các nguồn dữ liệu
Giao diện của Grafana rất thân thiện với người dùng, dễ dàng đưa ra thông tin và cảnh báo Grafana bao gồm một giải pháp cảnh báo tích hợp để thông báo các vấn đề phát sinh Thông báo có thể được gửi đến nhiều nền tảng như Email, Slack, Webhook, Google Chat,… Nhờ đó, Grafana đóng vai trò không hề nhỏ trong việc giám sát hệ thống Và công cụ cũng hỗ trợ nhiều giảm pháp giám sát khác nhau
Grafana cung cấp đến người dùng hai lựa chọn gồm cài đặt trên thiết bị và dịch vụ đám mây Grafana Cloud Nếu tự lưu trữ, người dùng có thể cài đặt Grafana trên Linux, macOS và Windows hoặc sử dụng Docker hoặc Kubernetes để cài đặt riêng trên đám máy, được container hoá
Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao gồm các API đơn giản và mạnh mẽ mà không cần back-end hay sever
Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây Kèm theo đó là hệ thống máy chủ cực ký mạnh mẽ của Google Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hoá với cơ sở dữ liệu
Gần một thập niên trước, Firebase ra đời với tiền thân là Envolve Đây là một nền tảng đơn giản chuyên cung cấp những API cần thiết để tích hợp tính năng chat vào chat vào trang web Bên cạnh ứng dụng nhắn tin trực tuyến, Envolve còn được người dùng sử dụng để truyền và đồng bộ hoá dữ liệu cho những ứng dụng khác như các trò chơi trực tuyến,… Do đó, các nhà sáng lập đã tách biệt hệ thống nhắn tin trực tuyến và đồng bộ dữ liệu thời gian thực thành hai phần riêng biệt
Trên cơ sở đó, năm 2012, Firebase ra đời với sản phẩm cung cấp là dịch vụ Backend-as-a-Service Tiếp theo, vào năm 2014, Google mua lại Firebase và phát triển nó thành một dịch vụ đa chức năng được hàng triệu người dùng sử dụng cho đến hiện nay
Khi đăng ký một tài khoản trên Firebase để tạo ứng dụng, bạn đã có một cơ sở dữ liệu thời gian thực Dữ liệu bạn nhận được dưới dạng JSON Đồng thời nó cũng luôn được đồng bộ thời gian thực đến mọi kết nối client
20 Đối với các ứng dụng đa nền tảng, tất cả các client đều sử dụng cùng một cơ sở dữ liệu Nó được tự động cập nhật dữ liệu mới nhất bất cứ khi nào các lập trình viên phát triển ứng dụng Cuối cùng, tất cả các dữ liệu này được truyền qua kết nối an toàn SSL có bảo mật với chứng nhận 2048 bit
PROGRAMMABLE LOGIC CONTROLLER (PLC)
PLC viết tắt của Programmable Logic Controller là thiết bị cho phép lập trình thực hiện các thuật toán điều khiển logic PLC nhận dữ liệu từ thiết bị thông qua ngõ vào (input) và thực hiện tác động bằng ngõ ra (output) PLC hoạt động theo phương pháp quét các trạng thái từ trên đầu vào và đầu ra Khi có sự thay đổi bất kì từ ngõ vào, dựa trên logic điều khiển của chương trình ngõ ra tương ứng sẽ thay đổi Ngôn ngữ lập trình phổ biến của PLC là LAD, FBD, STL Các hãng PLC phổ biến trên thế giới: Siemens (Đức), Rockwell (Mỹ), Mitsubishi (Nhật Bản), Omron (Nhật Bản),…
Cuộc cách mạng công nghiệp 4.0 đang đặt ra thách thức không nhỏ đối với các doanh nghiệp Trong dây chuyền sản xuất của doanh nghiệp, PLC không đơn thuần là thiết bị điều khiển đáp ứng về logic và tốc độ mà còn về truyền thông, trao đổi dữ liệu giữa các thiết bị điều khiển khác, tạo nên một mạng lưới khép kín
2.7.2 Cấu trúc bên trong PLC
PLC gồm các thành phần chính:
- Vi xử lý trung tâm CPU
- Bộ nhớ chương trình RAM,ROM
- Các module tín hiệu vào/ra
Bộ xử lý trung tâm (CPU), chứa bộ vi xử lý, biên dịch các tín hiệu nhập và thực hiện các hoạt động điều khiển theo chương trình được lưu trong bộ nhớ của PLC Truyền các quyết định dưới dạng tín hiệu hoạt động đến các thiết bị xuất
Nguồn cấp có nhiệm vụ chuyển đổi điện áp AC thành điện áp DC (24V) cần thiết cho bộ xử lý và các mạch điện trong các module giao tiếp nhập và xuất hoạt động
Bộ nhớ là nơi lưu trữ chương trình được sử dụng cho các hoạt động điều khiển dưới sự kiểm soát của bộ vi xử lý
Các thành phần nhập và xuất (input / output) là nơi bộ nhớ nhận thông tin từ các thiết bị ngoại vi và truyền thông tin đến các thiết bị điều khiển Tín hiệu nhập có thể từ các công tắc, các bộ cảm biến… Các thiết bị xuất có thể là các cuộn dây của bộ khởi động động cơ, các van solenoid…
Chương trình điều khiển được nạp vào bộ nhớ nhờ sự trợ giúp của bộ lập trình hay bằng máy vi tính
2.7.3 Nguyên lý hoạt động Đầu tiên các tín hiệu từ các thiết bị ngoại vi (sensor, contact…) được đưa vào CPU thông qua module đầu vào Sau khi nhận được tín hiệu đầu vào thì CPU sẽ xử lý và đưa các tín hiệu điều khiển qua module đầu ra xuất ra các thiết bị được điều khiển bên ngoài theo 1 chương trình đã được lập trình sẵn
Một chu kỳ bao gồm đọc tín hiệu đầu vào, thực hiện chương trình, truyền thông nội, tự kiểm tra lỗi, gửi cập nhật tín hiệu đầu ra được gọi là 1 chu kỳ quét hay 1 vòng quét (Scan Cycle)
Thường thì việc thực hiện một vòng quét xảy ra trong thời gian rất ngắn (từ 1 –
100 ms) Thời gian thực hiện vòng quét này phụ thuộc vào tốc độ xử lý lệnh của PLC, độ dài ngắn của chương trình, tốc độ giao tiếp giữa PLC và thiết bị ngoại vi
PLC có rất nhiều ưu điểm sau khi được nghiên cứu và phát minh để thay thế cho các loại controller hoặc các bo mạch vi xử lý khác, các lợi thế của PLC như:
- Dễ dàng thay đổi chương trình theo ý muốn
- Thực hiện được các thuật toán phức tạp và độ chính xác cao
- Mạch điện gọn nhẹ, dễ dàng trong việc bảo quản và sửa chữa
- Cấu trúc PLC dạng module, cho phép dễ dàng thay thế, mở rộng đầu vào/ra, mở rộng chức năng khác
- Khả năng chống nhiễu tốt, hoàn toàn làm việc tin cậy trong môi trường công nghiệp
- Giao tiếp được với các thiết bị thông minh khác như: Máy tính, nối mạng truyền thông với các thiết bị khác
Bên cạnh các ưu điểm mà PLC mạng lại, ngoài ra PLC còn có những nhược điểm nhất định chẳng hạn như:
- Chi phí phần mềm lập trình
- Yêu cầu người sử dụng có kiến thức lập trình PLC.
TỔNG QUAN GATEWAY
Gateway là một nút mạng được sử dụng trong viễn thông nhằm kết nối hai mạng có giao thức truyền thông khác nhau có thể giao tiếp được với nhau Gateway có vai trò xử lý đầu vào và ra của mạng vì tất cả dữ liệu phải đi qua hoặc giao tiếp với gateway trước khi được định tuyến Trong hầu hết các mạng IP, lưu lượng duy nhất không đi qua gateway là lưu lượng truyền giữa các nút trên cùng một phân đoạn mạng cục bộ (LAN) Thuật ngữ default gateway hoặc network gateway cũng có thể được sử dụng để mô tả khái niệm trên
Gateway được sử dụng chủ yếu trong các tình huống cá nhân hoặc doanh nghiệp muốn đơn giản hóa việc kết nối internet cho một thiết bị Trong doanh nghiệp, một gateway cũng có thể hoạt động như một máy chủ proxy và tường lửa
Tất cả các mạng đều có một ranh giới và giới hạn giao tiếp với các thiết bị được kết nối trực tiếp với nó Do đó, nếu một mạng muốn giao tiếp với các thiết bị, nút hoặc mạng bên ngoài ranh giới đó, chúng yêu cầu chức năng của một gateway Một gateway thường có những đặc trưng của sự kết hợp giữa router và modem
Hình 2 11 Sơ đồ mạng Gateway
Gateway hoạt động bên cạnh một mạng và quản lý tất cả dữ liệu được chuyển hướng nội bộ hoặc bên ngoài từ mạng đó Khi một mạng muốn giao tiếp với mạng khác, gói dữ liệu được chuyển đến gateway và sau đó được chuyển đến đích thông qua đường truyền hiệu quả nhất Ngoài dữ liệu định tuyến, một gateway cũng sẽ lưu trữ thông tin về đường dẫn nội bộ của mạng chủ và đường dẫn của bất kỳ mạng bổ sung nào gặp phải
Gateway về cơ bản là bộ chuyển đổi giao thức, tạo điều kiện tương thích giữa hai giao thức và hoạt động trên bất kỳ lớp nào của mô hình kết nối hệ thống mở (OSI)
Ví dụ: mạng của bạn sử dụng giao thức IP và mạng của ai đó sử dụng giao thức IPX, Novell, DECnet, SNA… hoặc một giao thức nào đó thì Gateway sẽ chuyển đổi từ loại giao thức này sang loại khác
Nhiều người dùng khi bắt đầu tìm hiểu về cổng mạng vẫn chưa biết rõ các loại cổng Gateway là gì Dưới đây là một số loại cổng mạng kết nối được sử dụng phổ biến hiện nay:
- Cổng mạng Gateway Storage Cloud là thiết bị mạng ở dạng phần mềm hoặc phần cứng, có chức năng giao tiếp và dịch các giao thức giữa ứng dụng khách cục bộ và nhà cung cấp Cloud Storage Gateway cho phép tích hợp lưu trữ đám mây riêng vào ứng dụng mà không cần chuyển sang dịch vụ lưu trữ công cộng Nó cũng được gọi là bộ điều khiển lưu trữ đám mây, hỗ trợ đơn giản hoá bảo mật dữ liệu
- Cổng mạng Gateway Internet of Things (IoT) là một thiết bị đóng vai trò kết nối giữa bộ điều khiển, cảm biến và thiết bị thông minh với đám mây lưu trữ Các cảm biến từ thiết bị trong môi trường IoT đều được xử lý dữ liệu, chuyển đổi giao thức trước khi gửi đi Nó có thể cung cấp các dịch vụ ngoại tuyến và kiểm soát thời gian thực của các thiết bị kết nối Mặt khác, hai kiến trúc quan trọng của các giao thức trao đổi đã được sử dụng để giúp cổng đạt được các khả năng tương tác bền vững trong hệ sinh thái Internet vạn vật Một kiến trúc dựa trên Bus là DDS, REST, XMPP và một kiến trúc dựa vào Broker-based là AMQP, CoAP, MQTT và JMI
- Cổng mạng Gateway email giúp ngăn chặn và bảo vệ quá trình truyền các thư điện tử vi phạm chính sách công ty Nó giúp ngăn chặn việc truyền thông tin hay phần mềm độc hại hoặc truyền dữ liệu với mục đích xấu Điều này tạo cơ chế an toàn giúp dữ liệu được lưu trữ an toàn, thực hiện mã hoá email và thiết bị khỏi xâm nhập độc hại
- Gateway API, SOA hoặc XML giúp người dùng quản lý lưu lượng truy cập vào hoặc ra khỏi một kiến trúc, dịch vụ vi mô và website Dạng cổng mạng này cho phép xuất bản, tạo, giám sát, bảo mật và duy trì REST cũng như API Web Socket ở từng quy mô khác nhau
- Cổng trục mạng Gateway VoIP là cổng tạo điều kiện cho các thiết bị dịch vụ như điện thoại cố định, fax kết nối với mạng thoại qua IP được dễ dàng hơn
Nó cho phép kết nối thuê bao trực tiếp tới mạng VoIP mà không cần mất phí hay có sự tham gia của các nhà khai thác
- Cổng mạng Gateway phương tiện có chức năng như một thiết bị dịch được sử dụng trong việc chuyển đổi giao thức truyền thông kỹ thuật số khác nhau Từ đó cung cấp dịch vụ truyền thông đa phương tiện một cách hiệu quả Chức năng chính của cổng kết nối này là cho phép truyền dẫn phép giao tiếp giữa các mạng và biến đổi các phương pháp mã hoá
- Gateway ứng dụng web Firewall bảo vệ toàn bộ ứng dụng web bằng cách lọc và giám sát lưu lượng HTTP từ website và Internet Nó giúp bảo vệ ứng dụng web khỏi bị tấn công bởi các tác nhân độc hại
Một khái niệm cũng thường xuyên được so sánh với Gateway trong lĩnh vực viễn thông điện tử là Router Nhiều người thường thắc mắc điểm khác nhau giữa Router và Gateway là gì Dưới đây sẽ giải thích rõ hơn về hai khái niệm:
THIẾT KẾ MÔ HÌNH
YÊU CẦU CÔNG NGHỆ
Với sự phát triển mạnh mẽ của công nghệ mới, cùng với sự bùng bổ của công nghệ 4.0 trên thế giới, nhiều công ty, xí nghiệp đang mở rộng dây chuyền hệ thống nhà máy, nâng cao năng suất, hệ thống quản lý một các tự động để bắt kịp các thiến bộ của thế giới trong tương lai Vì thế, bằng việc sử dụng và thay thế các thiết bị mới vào dây chuyền sản xuất dần để thay thế các thiết bị cũ, lỗi thời thiếu các chuyển kết nối và công nghệ mới là thiết yếu
Từ đó, nhóm sinh viên đã thực hiện nghiên cứu, lắp đặt và thực nghiệm trước mắt xây dựng chương trình số hoá dây chuyền phân loại sản phẩm, giám sát tốc độ động cơ, thu thập dữ liệu công suất Hệ thống mong muốn:
- Thu thập dữ liệu một cách tập trung lên sever chính
- Có khả năng giap tiếp với nhiều hệ thống, dây chuyền khác nhau
- Hỗ trợ nhiều chuẩn kết nối hiện đại như OPC, MQTT,… đáp ứng yêu cầu kết nối hệ thống phía trên nhà máy
- Có khả năng mở rộng kết nối các thiết bị mới trong tương lai
Với những yêu cầu ở mục 3.1 đề xuất hệ thống kết nối vào thiết bị thu thập dữ liệu thông qua chuẩn kết nối hiện nay được tích hợp ở nhiều thiết bị là Ethernet Vì phương pháp này đáp ứng được khả năng giám sát cấp cao đến từng thiết bị được vì sử dụng cùng một dải mạng LAN Hiện này các nhà máy đã có sẵn mạng LAN kết nối PLC với HMI vì vậy sẽ tiết kiệm được chi phí lắp đặt đường dây kết nối từ thiết bị thu thập dữ liệu mới đến PLC
Hình 3 1 Sơ đồ kết nối hệ thống Ưu điểm:
- Là chuẩn truyền thông phổ biến và được sử dụng rộng rãi trên thế giới
- Độ tin cậy và độ chính xác cao hơn các truyền thông cũ như RS232, RS485…
- Dễ các cấu hình kết nối các thiết bị với nhau qua IP
- Tốc độ truyền dữ liệu cao
- Bảo mật dữ liệu vì có thể dùng tường lửa
- Tiết kiệm dây nối và công thiết kế, lặp đặt hệ thống
- Dễ bị nhiễu nếu dây kết nối dài
- Chi phí dây mạng và các thiết bị trung gian tốn kém
3.1.3.1 SIMATIC IOT2040 Để đáp ứng với yêu cầu công nghệ ở mục 3.1 và cấu hình đã chọn ở mục 3.1, đồ án này sử dụng SIMATIC IOT2040 và máy tính để thu dữ liệu từ PLC
IOT2040 là một IoT Gateway công nghiệp thông dụng Với thư viện Node-RED hỗ trợ sẵn các hàm kết nối, xử lý và truyền tải dữ liệu Người dùng có thể nhanh chóng thực hiện dự án thông qua giao diện kéo thả, khai báo thông số Khi đã quen với lập trình trên Linux, người dùng có thể cài đặt và lập trình với các ngôn ngữ cấp cao như C++, Python, Java, NodeJS,…
Hệ điều hành của SIMATIC IOT2040 là một mã nuồn mở, được phát triển từ Poky Sử dụng Yocto Project, người dùng có thể thay đổi các thành phần của hệ điều hành theo nhu cầu của dự án
Mô-đun SIMATIC IOT2040 có khả năng mở rộng kết nối, gồm: có thể mở rộng với các I/O module chứng nhận bởi Siemens hoặc với các Android shields để kết nối I/O cảm biến, thiết bị; khe mPCIe phù hợp với giao tiếp theo chuẩn radio, như WLAN hay LTE; 2 cổng Ethernet độc lập; 2 cổng nối tiếp (RS232/422/485) Nhờ đó, người dùng có thể tận dụng khả năng mở rộng của Adruino, hiện thực hoá các khái niệm truyền thông di dộng, nhiều khả năng kết nối với các hệ thống cũ, cảm biến và các mạng truyền thông khác nhau
Bên cạnh đó, mô-đun có thể lập trình được với nhiều ngôn ngữ bậc cao như C/C++ hay Java Song song, các thư viện và dự án minh hoạ được nhiều lập trình viên phát triển dành cho mô-đu Qua đó, người thực hiện dự án có cơ hội tiếp thu, ứng dụng kiến thức mới từ cộng đồng và rút ngắn thời gian thi công ứng dụng, chương trình Đặc biệt, SIMATIC IOT2040 còn hỗ trợ nhiều thư viện nhằm giao tiếp, thu thập dữ liệu từ các loại PLC như Siemens, Omron, Mitsubishi,…
Là thiết bị IoT dành cho công nghiệp, SIMATIC IOT2040 dễ dàng kết nối cấp độ tự động hoá với PROFINET và mở rộng nâng cấp với các giải pháp SIMATIC
IOT2040 bổ sung danh ách thiết bị tự động hoá, làm mới các ứng dụng tự động hoá truyền thống “sẵn sàng IoT” Khi ứng dụng mô-đun, người dùng có thể liên kết nội các nguồn và mạng truyền thông khác nhau Xử lý trước, thu thập dữ liệu với mô-đun và truyền dữ liệu vào mạng công ty hoặc trực tiếp đến các ứng dụng đám mây Đặc biệt, không cần thay đổi giải pháp tự động hoá hiện có
3.1.3.2 Cấu hình phần cứng của SIMATIC IOT2040
Bảng 3 1 Thông số kỹ thuật SIMATIC IOT2040
8 MB Flash, 256 KB SRAM Giao diện truyền thông 2x 10/100 Ethernet RJ45
Giao tiếp nối tiếp 2x RS232/RS485
Giao tiếp đa phương tiện 1x USB Controller + 1x Device
IO-Module 5x DI, 2x DO, 2x AI 6ES7647-
IO-Module Sink Source 10x DI 6ES7647-
Bộ nhớ lưu trữ microSD
Tính năng tích hợp 5 LEDs, pin đệm thời đồng hồ thời gian thực, watchdog
Hình 3 3 Các cổng kết nối của SIMATIC IOT2040
Hình 3 4 Arduino Shield 3.1.3.3 Khả năng mở rộng kết nối
Mô-đun SIMATIC IOT2040 có khả năng mở rộng kết nối, gồm: có thể mở rộng với các I/O module chứng nhận bởi Siemens hoặc với các Android shields để kết nối I/O cảm biến, thiết bị; khe mPCIe phù hợp với giao tiếp theo chuẩn radio, như WLAN hay LTE; 2 cổng Ethernet độc lập; 2 cổng nối tiếp (RS232/422/485) Nhờ đó, người dùng có thể tận dụng khả năng mở rộng của Adruino, hiện thực hoá các khái niệm truyền thông di dộng, nhiều khả năng kết nối với các hệ thống cũ, cảm biến và các mạng truyền thông khác nhau
3.1.3.4 Hiệu năng và định thời
- Intel Quark® X1020 CPU và 1 GB RAM
- Tính năng bảo mật, ví dụ secure boot
- Pin đệm cho đồng hồ thời gian thực
- Thiết kế và linh kiện công nghiệp
- Tối ưu hóa hiệu năng cho việc tổng hợp, chuyển đổi và truyền thông dữ liệu nhiều giao thức
- Bảo vệ dữ liệu và ứng dụng
- Cung cấp timestamp quan trọng cho phân tích dữ liệu
- Thiết kế để vận hành 24/7 trong môi trường công nghiệp
- Có thể lập trình được với nhiều ngôn ngữ cấp cao như C/C++ hay Java
- Arduino IDE hoặc Node.js
- Các ví dụ và thư viện ứng dụng mã nguồn mở (Node-red)
- Lập trình hiệu quả các ngôn ngữ bậc cao
- Ứng dựng kiến thức từ cộng đồng và mã nguồn mở để dễ giải quyết vấn đề
3.1.3.6 Kết nối trong công nghiệp
Kết nối một cách dễ dàng với PROFINET và mở rộng với các giải pháp dựa trên nền tảng cloud Được tích hợp danh sách các thiết bị tự động hóa, làm mới các ứng dụng tự động hóa truyền thống có thể IOT
Xử lý sau thu thập dữ liệu với SIMATIC IOT2040 và truyền dữ liệu vào mạng công ty hoặc trực tiếp tới các ứng dụng cloud
Hình 3 5 SIMATIC IOT2040 trong hệ thống công nghiệp
PLC S7-1200
Năm 2009, Siemens cho ra mắt dòng sản phẩm PLC S7-1200 nhằm thay thế dần cho PLC S7-200
S7-1200 là một dòng PLC của siemes có thể kiểm soát nhiều ứng dụng tự động hóa Thiết kế nhỏ gọn, chi phí thấp và một tập lệnh mạnh đủ để chúng ta có những giải pháp hoàn hảo cho ứng dụng sử dụng S7-1200
- Mô-đun xử lý CPU trung tâm
- Mô-đun xử lý tín hiệu số hoặc tương tự SM
- Mô-đun xử lý chức năng TM
- Mô-đun xử lý truyền thông CP hoặc CM
S7-1200 tích hợp cổng PROFINET, chuẩn ethernet và TCP/IP Ngoài ra S7-
1200 có thể dùng các mô-đun truyền thông mở rộng kết nối bằng RS485 hoặc RS232
S7-1200 được lập trình bằng Step 7 Basic được tích hợp trong phần mềm Tia Portal Ngoài ra Tia Portal còn tích hợp cả WinCC Basic để thiết kế giao diện HMI
Vì vậy để thực hiện một dự án với S7-1200 ta chỉ cần cài Tia Portal Phiên bản mới nhất hiện tại của Tia Portal là Tia Portal V17
PLC S7-1200 có 5 dòng là CPU 1211C, CPU 1212C và CPU 1214C, CPU 1215C, CPU 1217C
Hình 3 6 Thông số kỹ thuật các dòng S7-1200 3.2.1.2 Module mở rộng
PLC S7-1200 cung cấp nhiều nhất 8 module tín hiệu đa dạng và 1 mạch tín hiệu cho bộ xử lý có khả năng mở rộng Ngoài ra bạn cũng có thể cài đặt thêm 3 module giao tiếp nhờ vào các giao thức truyền thông
Bảng 3 2 Thông số kỹ thuật của Module mở rộng
Module Ngõ vào Ngõ ra Ngõ vào/ra
Module tín hiệu SM) Digital 8 x DC 8 x DC
Board tín hiệu (SB) Digital - - 2 x DC/2 x DC
Hình 3 7 Cấu tạo các thành phần PLC
1 Mô-đun truyền thông (CM)
2 Mô-đun CPU trung tâm
3 Mô-đun tín hiệu (SM)
4 Mô-đun tín hiệu (SM)
Hình 3 8 PLC S7-1200 CPU 1215 DC/DC/DC Bảng 3 3 Thông số kỹ thuật PLC S7-1200 CPU 1215C DC/DC/DC
Bộ nhớ làm việc 125Kb
Bộ nhớ giữ lại 10Kb
Ngõ vào ra/ra số 14 DI/ 10 DO Ngõ vào/ra tương tự 2 AI/ 2 AO Vùng nhớ truy xuất bit (M) 4096 bytes Mô-đun tín hiệu mở rộng 8
Board tín hiệu/ truyền thông 1 Mô-đun truyền thông 3 Cổng truyền thông Profinet, MPI Giao thức truyền thông Ethernet Tốc độ thực thi lệnh nhị phân 0.08 micro giây/ lệnh
PC SEVER LƯU TRỮ VÀ GIÁM GIÁT DỮ LIỆU
PC sẽ được dùng để cài đặt phần mềm lữu trữ dữ liệu là InfluxDB và Grafana
Bảng 3 4 Cấu hình PC Sever
CPU Intel Core i7-10700 (8 Core, 16M cache, base 2.9GHz, up to
RAM 16GB (2x8GB) DDR4 2666MHz
Hệ điều hành Ubuntu Linux 20.04
ĐỐI TƯỢNG THU THẬP DỮ LIỆU
Để đề tài thực tế hơn thì nhóm quyết định chọn các thiết bị cụ thể để thu thập dữ liệu nhắm thiết kế hệ thống một cách trực quan hơn
Bộ điều khiển servo Sinamics V90 kết hợp cùng động cơ servo Simotics S-1FL6 là sự kết hợp hoàn hảo cho các ứng dụng điều khiển chuyển động đòi hỏi độ chính xác cao Với dãi công suất từ 0,05 – 7kW, được quy định tương ứng thành 8 khung kích thước cho bộ điều khiển Sinamics V90 (Drive) và 7 cấp kích thước động cơ servo (servo motor) hoàn toàn đáp ứng được các yêu cầu của điều khiển vị trí đơn trục chuyển động
3.4.1.1 Các thông số kỹ thuật của Sinamics V90
- Công suất theo điện áp: o 200 – 240VAC 1 pha: 0,05 – 0,75kW o 200 – 240VAC 3 pha: 0,05 – 2kW o 380 – 480VAC 3 pha: 0,4 – 7kW
- Chế độ hoạt động: quán tính thấp (Low Inertia) và quán tính cao (High Inertia)
- Tốc độ động cơ: 2000 – 5000 rpm
- Encoder: o Loại tương đối: lên tới 2500 ppr o Loại tuyệt đối: lên tới 21 bit độ phân giải
3.4.1.2 Các ưu điểm của Biến tần V90
- Đa dạng các chế độ điều khiển: điều khiển theo moment hoặc điêu khiển theo tốc độ
- Chức năng điều khiển theo vị trí
- Tích hợp cổng truyền thông Profinet
- Tích hợp sẵn điện trở phanh cho mọi mức công suất
- Khả năng nhận độ phân giải encoder lên tới 21 bit, tốc độ truyền tải lên tới 100Mbps
- Dễ dàng vận hành và chẩn đoán tình trạng thiết bị bằng phần mềm SINAMICS V-ASSISTANT
- Dễ dàng tham gia vào hệ sinh thái của Siemens
Hiệu suất servo được tối ưu hóa và đáp ứng nhanh chóng, tích hợp với SIMATIC PLC và độ tin cậy cao hơn ứng dụng cho các ngành: Hệ thống băng tải, hệ thống máy đóng gói, hệ thống chiết rót, Palletizer tự động, máy khắc, máy ép viền, hệ thống máy phân loại xử lý IC, lắp ráp PCB, Máy cắt, máy cán sơn, máy in lụa, hệ thống thu xã cuộn, máy quấn dây điện
Hình 3 10 Ứng dụng Sinamics V90 3.4.2 Đồng hồ đo và giám sát điện năng Empro EEM – MA770
EMpro là thiết bị thu nhận dữ liệu năng lượng và truyền dữ liệu đó tới các hệ thống quản lý và kiểm soát cấp cao hơn Định cấu hình và tích hợp các thiết bị chỉ trong vài bước bằng cách sử dụng trình hướng dẫn cài đặt dựa trên web Dễ dàng khởi động, giám sát và bảo dưỡng với web server Web server hướng dẫn người dùng được tích hợp để đơn giản hóa việc khởi động, giám sát và bảo dưỡng Tiện ích từ nhiều chức năng thông minh và cấu trúc máy chủ web đơn giản
Hình 3 11 Empro EEM – MA770 3.4.2.1 Thông số kỹ thuật của Empro
Bảng 3 5 Thông số kỹ thuật của EMpro
Loại màn hình LCD, 3 Line Điện áp đầu vào 35 – 690 VAC
Dòng đầu vào 5 A Điện áp cấp vận hành 100-400 VAC, 150-250 VDC Kích thước ( W x H x D) 96 x 96 x 58 mm
Chuẩn bảo vệ IP52, IP20
3.4.2.2 Các ưu điểm của Empro
- Kết nối dễ dàng với các chuẩn truyền thông phổ biến: Modbus TCP/IP; Profinet, Ethernet,…
- Có thể lấy trực tiếp dữ liệu từ màn hình hoặc thông qua webserver
- Dễ dàng lắp đặt và đưa vào sử dụng kể cả hệ thống đã có rồi (tích hợp giải pháp Clipline)
- Có chức năng khóa để hạn chế người không có nhiệm vụ tới thao tác làm mất setting
3.4.2.3 Các ứng dụng của Empro
- Giám soát chất lượng điện năng trong nhà máy, xí nghiệp, công ty
- Kiểm soát lượng điện tiêu thụ trong nhà
3.4.3 ESP 8266 NODE MCU và cảm biến nhiệt độ DHT11
Mô-đun ESP8266 là module Wifi được đánh giá rất cao cho các ứng dụng liên quan đến Internet và Wifi cũng như các ứng dụng truyền nhận sử dụng thay thế cho các module RF khác với khoảng cách truyền lên tới 100 mét (Môi trường không có vật cản) Trên 400m với anten và router thích hợp
Bảng 3 6 Thông số kỹ thuật của ESP 8266
Chip xử lý ESP8266EX Điện áp hoạt động 3.3VDC Điện áp làm việc 3.0V-3.6V
Giao tiếp SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote
Control, PWM, GPIO Nhiệt độ hoạt động -40 °C ~ 125 °C
Wi-Fi 2.4GHz Hỗ trợ WPA/WPA2
Clock Speed 26MHz đến 52MHz
3.4.3.2 Giới thiệu cảm biến nhiệt độ DHT11
Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất)/ Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào
Bảng 3 7 Thông số kỹ thuật của DHT11
Dòng sử dụng 2.5mA (khi truyền dữ liệu) Đo tốt ở độ ẩm 20-80%RH với sai số 5% Đo tốt ở nhiệt độ 0 – 50C sai số 2C
Tần số lấy mẫu tối đa 1Hz
CHƯƠNG 4: THIẾT KẾ GIAO DIỆN GIÁM SÁT VÀ THU THẬP DỮ LIỆU
Hệ thống thu thập dữ liệu mới thu thập một cách tập trung thông qua SIMATIC IOT2040, dùng chuẩn kết nối vật lý Ethernet áp dụng hệ thống cấu hình cũ không phù hợp Từ đó cần thiết lập xây dựng lại cấu hình cho hệ thống đáp ứng xây dựng một cơ sở dữ liệu tường minh phục vụ cho truy suất và mở rộng sau này.
QUY HOẠCH IP CỦA PLC S7-1200, SIMATIC IOT VÀ PC
Để thiết lập địa chỉ IP cho PLC S7-1200 CPU 1215C DC/DC/DC ta sử dụng phần mềm TIA Portal
Hình 4 1 Sơ đồ kết nối giữa các thiết bị với SIMATIC IOT2040
CẤU HÌNH SIMATIC IOT2040
IOT2040 đóng vai trò như một máy tính mini nên cần cài đặt hệ điều hành và cấu hình để đáp ứng nhu cầu cần thiết phục vụ cho hệ thống
4.2.1 Cài đặt hệ điều hành
Thiết bị SIMATIC IOT2040 cần một thẻ nhớ tối thiểu 8GB để lưu trữ hệ điều hành giúp cho IOT2040 như 1 máy tính mini Siemens đã cung cấp sẵn OS Image cho dòng SIMATIC IOT2040 và dễ dàng tải xuống từ trang chủ Siemens
Hình 4 3 Ghi hệ điều hành vào thẻ nhớ microSD 4.2.2 Cài đặt thông số Để cài đặt các thông số phần mềm cần thiết cho IOT2040 sẽ sử dụng phần mềm PuTTY
- Dùng PuTTY từ PC để truy cập với tên đăng nhập là “root”
- Dùng câu lệnh “iot2000setup”
Hình 4 5 Giao diện đăng nhập PuTTY
Hình 4 6 Giao diện sau khi đăng nhập PuTTY
Do IP đã thiết lập cho PLC và máy tính là 192.168.0.60 và 192.168.0.30 nên cần cài IP của IOT2040 cùng lớp để có thể giao tiếp là 192.168.0.10
Hình 4 8 Cấu hình IP cho cổng Ethernet0
Sau khi cài đặt các thông số cần thiết cho IOT2040 sẽ cần lập trình kết nối IOT2040 kết nối với PLC để thu thập dữ liệu PLC đã lấy được từ thiết bị để đẩy lên Cloud để quản lý Siemens đã tích hợp sẵn phần mềm Node-Red vào trong OS Image, đây là một phần mềm kéo thả kết nối và lập trình 1 cách trực quan bằng ngôn ngữ JavaScript giúp cho việc lập trình một cách dễ dàng để thu thập dữ liệu.
LẬP TRÌNH SIMATIC IOT2040
SIMATIC IOT2040 sẽ được lập trình bằng Node-Red Đây là một online service giúp lập trình kéo thả theo cách trực quan
Node-RED là 1 công cụ lập trình kéo-thả để kết nối các thiết bị phần cứng, API và online services lại với nhau Nó cung cấp 1 trình soạn thảo dựa trên trình duyệt giúp cho việc kết nối các luồng lại với nhau 1 cách dễ dàng hơn bằng cách sử dụng 1 loạt các Node trong bảng màu (palette) có thể được triển khai chỉ bằng 1 cú click chuột
Có thể hoạt động trên máy tính mini (IOT2040, Raspberry Pi) hoặc đám mây (Amazon Web Services, Microsoft Azure) Sử dụng trình biên soạn thông qua trình duyệt web Node.JS
Các luồng được tạo trong Node-RED đều được dùng cấu trúc JSON (JavaScript Object Notation) Node hiện có: MQTT, Modbus, GPIO, OPC UA, S7, Send Email, Line, Twitter,…
Hình 4 9 Giao diện thiết kế Node-RED
Cửa sổ soạn thảo gồm 4 thành phần chính:
- Tiêu đề trên, chứa nút “Deploy” và menu chính (chỗ đánh số 1 hình trên)
- Khu vực Palette các nút có sẵn để sử dụng (chỗ đánh số 2 hình trên)
- Không gian làm việc chính ở giữa Workspace, nơi các luồng được đưa vào (chỗ đánh số 3 hình trên)
- Khu vực bên phải là thanh Sidebar (chỗ đánh số 4 hình trên)
Theo mặc định, việc chỉnh sửa sẽ không bảo mật trên Node-RED Vì thế, bất kỳ ai cũng có thể truy cập địa chỉ IP để vào chỉnh sửa hay thay đổi bất kỳ hoạt động nào trên Node-RED Vì thế, người lập trình giám sát hệ thống cần thiết lập bảo mật bằng cách thiết lập quyền đăng nhập trên Node-RED Sau khi đăng nhập, người giám sát sẽ có giao diện làm việc trong Node-RED
IOT2040 thu thập dữ liệu từ PLC Để kết nối giữa IOT2040 với PLC ta sẽ sử dụng khối chức năng S7 được cài đặt từ thư viện Node-RED
Hình 4 10 Khối S7 trong Node-RED
Mỗi kết nối đến một PLC được đại diện bởi điểm cuối S7 của cấu hình node
Có thể cấu hình địa chỉ của PLC, các biến có thể dùng được và địa chỉ của chúng và vòng lặp đọc các biến đó
Node S7 tạo ra các giá trị biến trong một luồng với 3 chế độ:
- Single variable: một biến độc lập có thể được chọn từ các biến đã được cấu hình và một thông điệp được gửi đi mỗi vòng lặp hoặc chỉ khi nó thay đổi nếu “diff” được kiểm tra Msg.payload chưa các giá trị của biến và msg.topic có tên của biến
- All variables, one per message: giống với Single variable, nhưng là cho tất cả các biến đã được cấu hình Nếu “diff” được kiểm tra, một thông điệp được gửi đi mỗi biến trong mỗi vòng Hãy quan tâm đến số lượng thông điệp mỗi giây ở chế độ này
- All variables: ở chế độ này, msg.payload chưa một đối tượng với tất cả biến được cấu hình và giá trị của chúng Nếu “diff” được kiểm tra, một thông điệp được gửi đi nếu có ít nhất một biến thay đổi giá trị
Các biến và địa chỉ của chúng được cấu hình ở điểm cuối node S7 khác một chút so với các biến được được sử dụng trên Step 7 hoặc TIA Portal Đây là một số ví dụ hướng dẫn gán địa chỉ biến
Hình 4 11 Gán địa chỉ biến giữa PLC và Node-RED
Cài đặt kết nối IOT và PLC từ khối S7 như hình bên dưới
Hình 4 12 Thiết lập khối S7 trong Node-RED
Dữ liệu đọc từ PLC ra sẽ có dạng 1 chuỗi kí tự dài, để cắt ngắn đi ta dùng khối function để làm
Hình 4 13 Cắt dữ liệu bằng khối Function Node
IOT2040 sẽ đẩy dữ liệu lên cloud, ta sử dụng khối influxdb được cài đặt từ thư viện Node-RED để thực hiện.
XÂY DỰNG CƠ SỞ DỮ LIỆU
Sau khi sử dụng PLC để thu thập dữ liệu thì dữ liệu cần một nơi để lưu trữ Để đáp ứng yêu cầu này ta sử dụng InfluxDB
Hình 4 14 Khối InfluxDB trong Node-RED Đầu tiên, ta tải file cài đặt từ trang chủ InfluxDB, sau khi cài xong ta vào file cài đặt bật influxDB bằng cửa sổ Terminal.
KẾT QUẢ THỰC NGHIỆM
PHẦN CỨNG
- Kết nối thành công module IOT2040 với PLC, EMpro, Sinamics V90
- Thu thập dữ liệu từ nhiều thiết bị bằng 2 PLC và ESP 8266.
PHẦN MỀM
- Xây dựng được hệ thống thu thập dữ liệu từ 3 thiết bị theo thời gian thực
- Hiển thị dữ liệu bằng nhiều cách khác nhau
- Gửi tin nhắn cảnh báo về Telegram
- Đưa hệ thống lên Cloud, phục vụ cho việc giám sát từ xa thông qua máy tính hoặc điện thoại
- Tạo được nhiều tài khoản và phân quyền quản lý giám sát
Hình 5 2 Giao diện giám sát bằng Node-RED
Hình 5 3 Giao diện giám sát bằng Grafana
Hình 5 4 Giám sát bằng điện thoại thông qua mạng LAN nội bộ
Hình 5 5 Tạo nhiều tài khoản và phân quyền bằng Grafana
Hình 5 6 Ứng dụng giám sát chạy trên điện thoại hệ điều hành Android
Hình 5 7 Tương tác, thông báo qua Telegram