Keyence, một công ty hàng đầu trong lĩnh vực cảm biến, hệ thống đo lường, và điều khiển tự động, sử dụng nhiều chuẩn truyền thông công nghiệp để tích hợp các sản phẩm của mình vào các hệ thống tự động hóa. Dưới đây là các chuẩn truyền thông công nghiệp phổ biến mà Keyence sử dụng:
EtherNet/IP:
Keyence hỗ trợ EtherNet/IP trong nhiều sản phẩm như PLC, cảm biến, và hệ thống thị giác máy (vision systems) để kết nối với các hệ thống tự động hóa khác.
PROFINET:
Keyence tích hợp PROFINET trong các sản phẩm của mình để tương thích với các hệ thống của Siemens và các thiết bị khác sử dụng chuẩn này.
CC-Link:
Là chuẩn truyền thông phổ biến tại Nhật Bản, CC-Link được Keyence hỗ trợ trong các sản phẩm để kết nối với các hệ thống của Mitsubishi và các nhà sản xuất khác.
Modbus TCP/IP:
Keyence hỗ trợ Modbus TCP/IP để tương thích với nhiều hệ thống và thiết bị tự động hóa khác nhau.
EtherCAT:
Keyence cung cấp EtherCAT trong một số thiết bị điều khiển chuyển động và hệ thống đo lường của mình, đáp ứng các yêu cầu về thời gian thực và hiệu suất cao.
IO-Link:
Keyence hỗ trợ IO-Link trong các cảm biến và hệ thống đo lường để cung cấp kết nối thông minh, linh hoạt giữa các thiết bị và hệ thống điều khiển.
DeviceNet:
Keyence hỗ trợ DeviceNet trong một số sản phẩm, giúp kết nối các cảm biến và thiết bị chấp hành với hệ thống điều khiển thông qua mạng CAN bus.
OPC UA:
Keyence cũng hỗ trợ OPC UA, đặc biệt trong các hệ thống giám sát và điều khiển từ xa, cho phép kết nối mở và bảo mật giữa các thiết bị và hệ thống.
Nhờ hỗ trợ các chuẩn truyền thông này, Keyence có thể dễ dàng tích hợp các sản phẩm của mình vào nhiều hệ thống tự động hóa khác nhau, từ các nhà máy sản xuất đến các ứng dụng đo lường và kiểm tra chất lượng.
Trong kết nối mạng Ethernet, Port Number (số cổng) là một chỉ số dùng để xác định một dịch vụ hoặc ứng dụng cụ thể đang chạy trên một thiết bị trong mạng. Số cổng cho phép nhiều dịch vụ hoặc ứng dụng có thể chạy đồng thời trên cùng một địa chỉ IP mà không bị xung đột.
Định danh dịch vụ: Mỗi dịch vụ mạng sử dụng một số cổng khác nhau. Ví dụ, HTTP thường sử dụng port 80, trong khi HTTPS sử dụng port 443.
Phân chia lưu lượng: Khi dữ liệu được gửi qua mạng, port number giúp thiết bị đích biết được dữ liệu đó thuộc về ứng dụng nào, từ đó có thể xử lý đúng cách.
Khi một thiết bị gửi một gói dữ liệu đến thiết bị khác qua mạng, nó sẽ bao gồm cả địa chỉ IP và port number. Thiết bị nhận sẽ phân tích gói dữ liệu này và chuyển nó đến dịch vụ hoặc ứng dụng tương ứng dựa trên số cổng.
Khi bạn cấu hình một PLC như KV-8000 để giao tiếp qua Ethernet, bạn có thể cần chỉ định port number để xác định cách mà nó sẽ thực hiện giao tiếp, như kết nối với các thiết bị khác hoặc các ứng dụng điều khiển từ xa.
Host link TCP
Modbus TCP
Dựa vào Modbus Device Map Setting trong hình, PLC này đang hoạt động như Modbus Server (Slave). Điều này có nghĩa là Modbus Client (Master) có thể gửi lệnh đọc/ghi dữ liệu từ PLC thông qua các vùng nhớ ánh xạ.
Dưới đây là phân tích chi tiết về từng nhóm địa chỉ:
Coil (00000 - 16383) → ánh xạ đến R50000 - R152315
Coil (16384 - 32767) → ánh xạ đến MR050000 - MR152315
Coil (32768 - 49151) → ánh xạ đến LR50000 - LR99515
Coil (49152 - 65535) → ánh xạ đến B0000 - 3FFF
📌 Ý nghĩa:
Đây là các vùng nhớ bit (ON/OFF) mà Client (Master) có thể đọc hoặc ghi từ PLC.
Ví dụ, nếu một thiết bị Modbus Client gửi lệnh Write Single Coil (0x05) đến địa chỉ 00010, thì giá trị sẽ được ghi vào R50010 của PLC.
Input (00000 - 16383) → ánh xạ đến R00000 - 102315
Input (16384 - 32767) → ánh xạ đến MR000000 - MR102315
Input (32768 - 49151) → ánh xạ đến LR00000 - LR99515
Input (49152 - 65535) → ánh xạ đến B0000 - 3FFF
📌 Ý nghĩa:
Đây là vùng nhớ bit chỉ đọc. Client (Master) chỉ có thể đọc giá trị, không ghi được.
Ví dụ, nếu Modbus Master gửi lệnh Read Discrete Inputs (0x02) tại địa chỉ 10005, nó sẽ lấy dữ liệu từ R00005 trong PLC.
Holding Register (00000 - 16383) → ánh xạ đến DM20000 - DM36383
Holding Register (16384 - 32767) → ánh xạ đến DM40000 - DM56383
Holding Register (32768 - 49151) → ánh xạ đến W0000 - 3FFF
Holding Register (49152 - 65535) → ánh xạ đến TM004 - 511
📌 Ý nghĩa:
Đây là vùng nhớ word (16-bit) có thể đọc/ghi. Client (Master) có thể ghi giá trị vào đây.
Ví dụ, nếu Modbus Client gửi lệnh Write Single Register (0x06) đến địa chỉ 40010, giá trị sẽ được ghi vào DM20010 của PLC.
Input Register (00000 - 16383) → ánh xạ đến DM20000 - DM36383
Input Register (16384 - 32767) → ánh xạ đến DM16384 - DM32767
Input Register (32768 - 49151) → ánh xạ đến W0000 - 3FFF
Input Register (49152 - 65535) → ánh xạ đến TM004 - 511
📌 Ý nghĩa:
Đây là vùng nhớ word chỉ đọc, tức là Client (Master) chỉ có thể đọc giá trị, không ghi được.
Ví dụ, nếu Modbus Master gửi lệnh Read Input Registers (0x04) đến địa chỉ 30005, nó sẽ lấy dữ liệu từ DM20005 trong PLC.
Để đọc trạng thái bit (ON/OFF), dùng:
Read Coils (0x01) → đọc từ R50000+
Read Discrete Inputs (0x02) → đọc từ R00000+
Để ghi trạng thái bit, dùng:
Write Single Coil (0x05) hoặc Write Multiple Coils (0x0F) → ghi vào R50000+
Để đọc giá trị số 16-bit, dùng:
Read Holding Registers (0x03) → đọc từ DM20000+
Read Input Registers (0x04) → đọc từ DM20000+
Để ghi giá trị số 16-bit, dùng:
Write Single Register (0x06) hoặc Write Multiple Registers (0x10) → ghi vào DM20000+
Modbus Client có thể đọc và ghi tới các vùng nhớ trong plc từ R53104 tới R53114 ?
ChatGPT said:
Để xác định Modbus Client có thể đọc và ghi được tới các vùng nhớ R53104 - R53114 trong PLC hay không, ta cần kiểm tra xem dải địa chỉ này có nằm trong vùng nhớ đã ánh xạ với Coil (0xxxx) hoặc Holding Register (4xxxx) không.
Dựa vào Modbus Device Map Setting trong hình:
Coil (00000 - 16383) → ánh xạ đến R50000 - R152315
📌 Kết luận:
R53104 nằm trong dải ánh xạ Coil (từ R50000 đến R152315).
Modbus Client có thể đọc/ghi địa chỉ này bằng lệnh Read/Write Coils (0x01, 0x05, 0x0F).
Vùng Holding Register (4xxxx) → DM20000 - DM36383, DM40000 - DM56383, W0000 - 3FFF, TM004 - 511.
Không thấy ánh xạ R53104 - R53114 vào Holding Register.
📌 Kết luận:
R53104 - R53114 không thể được đọc/ghi bằng lệnh Read/Write Holding Registers (0x03, 0x06, 0x10).
🔹 Đọc trạng thái bit (ON/OFF) của R53104 - R53114:
Dùng Read Coils (0x01) với địa chỉ Modbus = 3104.
🔹 Ghi trạng thái bit (ON/OFF) của R53104 - R53114:
Dùng Write Single Coil (0x05) hoặc Write Multiple Coils (0x0F) với địa chỉ Modbus = 3104.
✅ Modbus Client có thể đọc và ghi R53104 - R53114 bằng lệnh Coil (0x01, 0x05, 0x0F).
❌ Không thể sử dụng Holding Register (0x03, 0x06, 0x10) để truy cập địa chỉ này.