Hướng dẫn truyền thông Internet cho PLC bằng iNut Platform - Lập trình kéo thả Internet cho PLC

Mô tả dự án: 

Điện tử công nghiệp thường chỉ tin tưởng và sử dụng các loại mạch PLC truyền thống vì khả năng đọc được ngược code, độ bền, tính ổn định (Đã được kiểm chứng theo thời gian). PLC đó là chuyên môn của các kỹ sư điện công nghiệp và gần như là kỹ năng bắt buộc phải có của mỗi người. Tuy nhiên, PLC có một điểm dỡ đó là: khó để lập trình kết nối Internet để quản lý (quan sát) từ xa. Phải biết thêm về WinCC (chi phí bản quyền cao) hoặc C# để làm phần mềm điều khiển trên máy tính. Điều đó không phải là dễ dàng đối với một kỹ sư điện tử công nghiệp. Vậy đâu là giải pháp? Đó chính là iNut Platform với dòng sản phẩm iNut - PLC Modbus RTU RS-485. iNut PLC sẽ giúp bạn đồng bộ các thanh ghi D trong PLC qua Internet một cách dễ dàng, an toàn và bảo mật. Cùng khám phá nhé!

Bài toán đưa PLC lên Internet

Với nhu cầu đưa thông tin các hệ thống cảm biến, máy móc lên Internet để quản lý, thống kê và quan sát từ xa, chủ doanh nghiệp rất mong muốn đưa hệ thống xưởng của mình lên mạng để quản lý và xem thông số từ xa qua Internet. Điều đó thôi thúc họ đầu tư các thiết bị máy móc để đưa xưởng của mình lên Internet và quản lý từ xa. Các giải pháp trên thị trường đã có từ những năm 200x, tuy nhiên, thường rất đắt và chi phí đầu tư lớn. Chưa kể, có thể phải thay thế toàn bộ hệ thống PLC hiện có, điều đó là rất lãng phí, vì nhà máy không thể dừng vài ngày để nâng cấp được. Chưa kể đến độ an toàn và các bug có thể xảy ra...

Vậy một giải pháp an toàn đó là: đưa hệ thống PLC hiện có lên Internet bằng các chuẩn truyền thông có sẵn và quen thuộc, sao cho ít phải thay thế nhất hoặc không thay thế các thiết bị hiện có thì càng tốt. Và iNut PLC đã ra đời để thực hiện hóa khát khao ấy của các doanh nghiệp vừa và nhỏ ở Việt Nam.

Một hệ thống nhà xưởng minh bạch, an toàn và kết nối Internet là đích đến của cách mạng công nghiệp 4.0. Và điều đó sẽ rất dễ dàng nếu các bạn sử dụng iNut Platform vào và từ đó xây dựng các giải pháp cung cấp cho các doanh nghiệp. Nào, hãy cùng khám phá!

Bản chất của việc đưa PLC lên Internet

Bản chất của việc đưa PLC lên Internet đó là đưa các thanh ghi D của PLC lên Internet. Hay còn gọi cách khác là đồng bộ giá trị thanh ghi D lên Intenret. Vì sao lại là thanh ghi D? Vì thanh ghi D là các thanh ghi được dùng để lưu giá trị xử lý tính toán trong PLC. Vậy bằng một cơ chế nào đó, cho phép người lập trình PLC có thể đồng bộ một số thanh ghi D lên Internet, thì họ đã có thể tiếp cận được với thế giới IoT! Chuyện sau đó, thì có rất nhiều cách giải quyết. Và với iNut Platform, bạn có một hệ sinh thái với giải pháp đưa các thanh ghi D lên Internet và từ Internet gửi lệnh xuống để thay đổi thanh ghi D!

Ngoài ra, iNut Platform có thể được lập trình kéo thả dễ dàng với Node-RED.

Lấy cái hình để ra đây để cho anh em lấy động lực chơi tiếp!

Nào, chúng ta cùng bắt đầu nhé.

Chuẩn bị

Phần mềm

  • Trên điện thoại di động:
    • iNut - Công tắc wifi (các bạn search trong apple store hoặc google play từ khóa inut là ra). Tải về trên Apple Store, tải về ở Google Play.
    • App này là app dùng để cài đặt các thiết bị iNut (bao gồm iNut PLC và các loại thiết bị khác trong hệ sinh thái iNut Platform) lên Internet.
  • Trên máy tính:

Phần cứng

  • iNut PLC. Các bạn có thể chọn các loại sau: 
    • iNut - PLC Modbus RTU RS-485 8D
      • 8 thanh ghi từ PLC đồng bộ lên Internet / không giới hạn số lần gửi thay đổi giá trị thanh ghi từ Internet xuống PLC.
      • Các thanh ghi được đồng bộ: D101, D102, D103, D104, D105, D106, D107, D108.
      • Thông số RS-485 Modbus RTU: 
        • ​Baudrate: 19200
        • Databits:
        • Stopbits: 1
        • No parity
        • Modbus RTU protocol
        • Modbus Maser (nghĩa là thiết bị PLC của các bạn sẽ phải làm Modbus Slave với Slave Address  1)
  • PLC loại bất kỳ hỗ trợ giao tiếp Modbus RTU (loại nào có RS485 thì luôn hỗ trợ Modbus RTU)
    • Bấy kỳ PLC nào hỗ trợ cổng giao tiếp RS485 như: FX1N, FX2N, FX3U, FX3G, FX3S, FX3UC, S7-200, S7-300, S7-400,…đều có thể tích hợp với iNut Platform
  • Nguồn 24V cho PLC
  • Một mạch USB RS-485 cho việc thử nghiệm nếu không có PLC.

Để đảm bảo tính tổng quát cho bài viết này, mình sẽ xem như các bạn đã biết cách tự mình cài đặt cho PLC của mình truyền thông được RS-485 với các yêu cầu như trên. Tuy nhiên, có thể các bạn có thể cài đặt sai và nghĩ iNut PLC bị lỗi... devil nên mình khuyên các bạn nên chuẩn bị một mạch USB RS-485 để test iNut PLC có hoạt động hay không nhé! Mình thực sự khuyến nghị các bạn nên có một mạch USB RS-485 kèm theo (chỉ 15-25k mua ở đâu cũng có) để test iNut PLC trước khi dùng với PLC thật. Vì nó sẽ giúp các bạn ngồi một chỗ với chiếc máy tính của mình làm việc đồng bộ và làm quen với iNut cảm biến ^_^.

Kết nối iNut PLC

iNut PLC hỗ trợ các mức điện thế sau: 5VDC/9VDC/12VDC/19VDC/24VDC devil. Wow, rất nhiều phải không nào. Thích hợp cho mọi dự án ^_^.

Okay, chúng ta sẽ có một số lưu ý như sau:

  • ​Khối nổi lên là Mobus RTU với chuẩn A, B.
  • Khối vuông bên dưới là chuẩn USB Type-B.
    • Bạn có thể cấp điện áp 5V vào đây để iNut PLC hoạt động.

Bên cạnh đó, là jack nguồn 2.1mm có thể cấp nguồn từ 7-15V cho mạch, khuyên dùng 9-12V vào đây.

Tuy nhiên, PLC dùng nguồn 24V, vì vậy iNut tặng kèm cho các bạn một dây chuyển áp từ 24V => 10V (có thể thay đổi được) để các bạn có thể hạ áp từ 24V xuống đoạn 10V để gắn điện cho iNut PLC.

Okay, sau khi cấp điện, các bạn tiến cành cài đặt mạng cho iNut PLC như sau (các bạn có thể kết nối tới wifi trong nhà hoặc ở những tủ điện không có wifi thì các bạn có thể kết nối với một loại usb wifi 3g nhé)

Kết nối PLC và iNut PLC

Okay sau khi đã cập điện okay cho iNut PLC, chúng ta sẽ có hình ảnh như sau:

Mình khuyên các bạn nên sử dụng một mạch USB RS-485 để có thể dễ dàng kiểm thử iNut PLC như mình!

Với PLC thật, các bạn chỉ cần truyền thông Modbus RTU Slave (Address = 1) với các thông số sau là thành công: 

  • ​Baudrate: 19200
  • Databits: 
  • Stopbits: 1
  • No parity

Tuy nhiên, có thể các bạn sẽ không có sẵn PLC, vì vậy với sự hỗ trợ của mạch USB RS-485, mình sẽ hướng dẫn các bạn giả lập một em PLC với chuẩn Modbus RTU hoàn toàn miễn phí!

Okay, cùng thử nghiệm với USB RS-485 nào!

Các bạn mở Windows command line lên bằng cách nhấn tổ hợp phím Windows + R (phím Windows là phím giữa Alt và Ctrl á). Sau đó gõ lệnh cmd và nhấn OK.

Tải chương trình giả lập PLC Modbus RTU diagslave

Trong bản lệnh hiện ra, bạn lần lượt chạy các lệnh sau (chép và dán vào từng lệnh một cho chắc nhé)

git clone https://github.com/ngohuynhngockhanh/diagslave.2.12

cd diagslave.2.12

cd win32

Chạy giả lập

Các bạn gắn USB RS-485 vào máy tính. Khi đã gắn thành công thì máy bạn sẽ nhận cổng COM. Ví dụ ở đây là COM13 (các bạn dân kỹ thuật nên sẽ biết tra cổng COM ở đâu rồi nhỉ? Nếu chưa biết xem qua ở đây).

Sau đó, mình chạy đoạn chương trình sau:

diagslave.exe -b 19200 -d 8 -s 1 -p none -m rtu -a 1 COM13

Ý nghĩa: Tạo một cổng Modbus RTU ảo với address slave là 1 baudrate 19200, databits 8, none parity và 1 stop bit ở cổng COM13.

Okay, lúc này bạn gắn USB RS485 và iNut PLC lại là nó sẽ chạy ra màn hình như thế này là ổn!

Kết nối iNut PLC lên Node-red để làm webapp

Cài đặt Node-RED

 

Các bạn mở Windows command line lên bằng cách nhấn tổ hợp phím Windows + R (phím Windows là phím giữa Alt và Ctrl á). Sau đó gõ lệnh cmd và nhấn OK.

 

Trong bản lệnh hiện ra, bạn lần lượt chạy các lệnh sau (chép và dán vào từng lệnh một cho chắc nhé)

Clone code về

git clone https://github.com/ngohuynhngockhanh/iNut-Node-RED-Kickstarter

cd iNut-Node-RED-Kickstarter

git checkout inut-plc

Cài đặt

npm install

Chạy chương trình

npm start

Sau khi cài đặt xong, bạn sẽ có một thông báo như thế này:

Và các bạn truy cập vào http://127.0.0.1:1880/... nhé! Đây là giao diện của chúng ta.

Các bạn truy cập vào địa chỉ http://localhost:1880/ui/... để xem giao diện đồ họa nhé.

Okay, cài đặt xong rồi, bước tiếp theo là cập nhập các mã thông tin trong ví dụ mẫu cho phù hợp với các thiết bị iNut của bạn. 

Lấy mã thiết bị iNut PLC để xuất khối lệnh vào Node-red

Các bạn lần lượt làm theo các video sau:

Good, các bạn đã thành công, bây giờ các bạn có thể khám phá rất nhiều mẫu ví dụ về Node-red để tự làm một giao diện sáng tạo tại Cộng đồng Arduino Việt Nam - Cộng đồng học thuật chất lượng về tự động hóa tốt nhất.

Cách reset thiết bị iNut PLC

Bạn cần reset thiết bị PLC <=> giao hàng cho khách hàng và chuyển giao toàn bộ cho họ thui nha!

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Các phép cộng, trừ, nhân, chia trong Arduino

Những phép toán trên có nhiệm vụ thực hiện việc tính toán trong Arduino. Tùy thuộc vào kiểu dữ liệu của các biến hoặc hằng số mà kết quả trả về của nó có kiểu dữ liệu như thế nào. Nếu là kiểu số nguyên thì nó cũng sẽ overflow [lên thiên đàn, xuống đất] (ví dụ, bạn xem tại int). Và nếu các giá trị đưa vào là số thực thì bạn được phép sử dụng các dấu chấm "." để ngăn cách phần nguyên và phần thực.

lên
4 thành viên đã đánh giá bài viết này hữu ích.

Hướng dẫn toàn bộ cách đưa dữ liệu cảm biến DHT11 / DHT22 lên Firebase và làm giao diện Webapp với iNut Platform

Firebase là một dịch vụ database thời gian thực miễn phí (100MB), rất phù hợp để các bạn lưu trữ dữ liệu của mình trong các dự án nhỏ như đồ án môn học, luận văn,.. Với Firebase, chúng ta dễ dàng lưu trữ giá trị nhiệt độ, độ ẩm một cách dễ dàng. Bạn có thể xem lại dữ liệu của mình (theo một giới hạn nào đó) bằng bất cứ cách gì bạn muốn. Đối với lĩnh vực Internet of Things, Firebase giúp bạn dễ dàng làm một bản cơ sở dữ liệu đơn giản mà không yêu cầu bạn biết bất cứ một thứ gì về cơ sở dữ liệu.

lên
2 thành viên đã đánh giá bài viết này hữu ích.