Khi PLC Siemens S7‑1200 truyền thông với đồng hồ điện, đầu cân, biến tần hoặc cảm biến thông minh qua CM1241, khối MB_COMM_LOAD có thể trả về trạng thái 16#8180.
Theo tài liệu Siemens, mã này có nghĩa là giá trị PORT không hợp lệ hoặc chương trình đang sử dụng sai Hardware Identifier của module truyền thông. Bảng mã trạng thái MB_COMM_LOAD của Siemens.
Do đó, nếu MB_COMM_LOAD đang báo 16#8180, bước đầu tiên không phải đảo dây A/B hoặc thay đổi Slave ID. Cần sửa đúng tham số PORT để PLC nhận diện được CM1241.
Lỗi 16#8180 có ý nghĩa gì?
Mã lỗi có thể được hiểu như sau:
| Thành phần | Ý nghĩa |
|---|---|
16# |
Giá trị được hiển thị ở hệ thập lục phân |
8180 |
PORT ID không hợp lệ |
| Khối thường báo lỗi | MB_COMM_LOAD hoặc Modbus_Comm_Load |
| Nhóm nguyên nhân | Cấu hình phần cứng hoặc chương trình |
| Chưa liên quan trực tiếp | Địa chỉ Slave, thanh ghi và dây A/B |
Lỗi xảy ra trước khi yêu cầu Modbus được truyền đến thiết bị Slave. Vì PLC chưa cấu hình được cổng truyền thông nên đèn TX/RX trên CM1241 có thể chưa nhấp nháy.
Vì sao đây chưa phải lỗi dây RS485?
Quá trình truyền Modbus RTU trên S7‑1200 gồm hai giai đoạn:
- Cấu hình cổng CM1241 bằng
MB_COMM_LOAD. - Gửi yêu cầu Modbus bằng
MB_MASTER.
Nếu giai đoạn một bị lỗi, giai đoạn hai chưa thể hoạt động đúng.
Đảo A/B chỉ có ý nghĩa sau khi cổng đã được cấu hình thành công và khối Master thực sự phát yêu cầu.
Kiểm tra đúng Hardware Identifier của CM1241
PORT phải nhận Hardware Identifier của đúng cổng CM1241 đang sử dụng.
Không nên nhập:
- Địa chỉ đầu vào của module.
- Địa chỉ đầu ra.
- Số thứ tự module trên thanh DIN.
- Địa chỉ DB.
- Địa chỉ Slave.
- Một con số sao chép từ dự án khác.
- Hardware ID của CPU hoặc module khác.
Cách chọn Hardware Identifier trong TIA Portal
Thực hiện theo trình tự:
- Mở Device configuration.
- Kiểm tra CM1241 đã được thêm bên trái CPU.
- Chọn đúng module truyền thông.
- Mở phần Properties hoặc System constants.
- Tìm Hardware Identifier của module/cổng truyền thông.
- Quay lại lời gọi
MB_COMM_LOAD. - Tại tham số
PORT, sử dụng danh sách lựa chọn của TIA Portal. - Chọn đúng tên hệ thống của CM1241.
- Compile lại phần cứng và phần mềm.
- Download cả Hardware configuration xuống PLC.
Nên chọn bằng danh sách biểu tượng của TIA Portal thay vì tự nhập một số nguyên. Khi chuyển chương trình sang CPU khác hoặc thay đổi vị trí module, Hardware ID có thể thay đổi.
Cấu hình khối MB_COMM_LOAD
Những tham số chính cần kiểm tra gồm:
| Tham số | Chức năng | Lưu ý |
|---|---|---|
| REQ | Kích hoạt cấu hình | Cần cạnh lên |
| PORT | Cổng truyền thông | Phải là HW ID của CM1241 |
| BAUD | Tốc độ truyền | Phải phù hợp thiết bị Slave |
| PARITY | Kiểm tra chẵn lẻ | Hai phía phải giống nhau |
| MB_DB | Liên kết vùng dữ liệu Modbus | Dùng đúng DB theo khối |
| DONE | Cấu hình hoàn tất | Cho phép chuyển sang bước đọc |
| ERROR | Báo lỗi | Kiểm tra STATUS tại đúng chu kỳ |
| STATUS | Mã trạng thái | Nên lưu lại để chẩn đoán |
PORT
Đây là tham số trực tiếp gây ra lỗi 16#8180. Cần chọn đúng Hardware Identifier của CM1241.
Nếu dự án có nhiều CM1241, mỗi cổng có Hardware ID riêng. Không được dùng chung một giá trị PORT cho tất cả module.
BAUD
Tốc độ của PLC và thiết bị Slave phải giống nhau, chẳng hạn:
- 1.200bit/s.
- 2.400bit/s.
- 4.800bit/s.
- 9.600bit/s.
- 19.200bit/s.
- 38.400bit/s.
Giá trị cụ thể phải theo cấu hình của thiết bị, không nên mặc định mọi thiết bị đều sử dụng 9.600bit/s.
PARITY
Ba cấu hình thường gặp:
- None.
- Even.
- Odd.
Sai parity thường khiến thiết bị không phản hồi hoặc dữ liệu bị từ chối, nhưng không phải nguyên nhân chính của mã 16#8180.
MODE
Với mạng RS485 hai dây half-duplex, tài liệu Siemens quy định chế độ tương ứng là Mode 4. Chế độ khác được sử dụng cho RS422 hoặc cấu trúc bốn dây. Mô tả chế độ cổng của Siemens.
Cần kiểm tra phiên bản khối lệnh vì MB_COMM_LOAD và Modbus_Comm_Load có thể có cách tổ chức tham số khác nhau.
Trình tự gọi MB_COMM_LOAD và MB_MASTER
MB_COMM_LOAD nên được kích bằng một xung khi PLC bắt đầu chạy hoặc khi cần cấu hình lại cổng. Không nên để REQ luôn bằng 1.
Trình tự đề xuất:
Logic quản lý nên có các trạng thái:
- Chưa cấu hình.
- Đang cấu hình cổng.
- Cấu hình thành công.
- Đang gửi yêu cầu.
- Nhận phản hồi.
- Timeout hoặc lỗi.
- Chờ trước khi thử lại.
Không phát liên tục yêu cầu mới khi MB_MASTER vẫn đang BUSY.
Phân biệt trạng thái bình thường và lỗi
| Trạng thái | Nhận xét |
|---|---|
| 16#7000 | Khối chưa có yêu cầu mới |
| 16#7001 hoặc 16#7002 | Khối đang xử lý |
| 16#0000 | Không có lỗi |
| 16#8180 | Sai PORT hoặc Hardware Identifier |
| 16#8181 | Giá trị tốc độ truyền không hợp lệ |
| 16#8182 | Giá trị parity không hợp lệ |
| 16#81AA/81AB | Cần kiểm tra chế độ RS422/RS485 |
| Nhóm 16#82xx | Thường liên quan yêu cầu hoặc phản hồi Modbus |
Trạng thái 7000 không nhất thiết là lỗi. Siemens lưu ý nhiều mã 8xxx mới đi kèm đầu ra ERROR. Một số mã chỉ tồn tại trong một vòng quét nên chương trình nên chốt lại STATUS khi ERROR xuất hiện.
Kiểm tra dây RS485 sau khi hết lỗi 8180
Sau khi MB_COMM_LOAD.DONE hoạt động, mới tiếp tục kiểm tra lớp vật lý.
Đấu đúng A/B
Các nhà sản xuất có thể sử dụng những ký hiệu khác nhau:
| Ký hiệu thường gặp | Ý nghĩa tham khảo |
|---|---|
| A/B | Hai đường RS485 |
| D+/D− | Dữ liệu dương và âm |
| 485+/485− | Cực truyền thông |
| RxTx+/RxTx− | Cặp dữ liệu half-duplex |
Không nên kết luận A luôn tương đương D+ vì quy ước có thể khác nhau giữa các hãng. Phải đối chiếu tài liệu hai phía.
Sử dụng topology dạng tuyến
Hạn chế:
- Đấu hình sao.
- Tạo nhánh quá dài.
- Dùng cáp không xoắn.
- Đi chung máng với cáp biến tần.
- Nối shield tùy tiện ở nhiều điểm.
Điện trở kết thúc
Điện trở kết thúc tuyến thường chỉ được đặt tại hai đầu vật lý của mạng khi điều kiện chiều dài và tốc độ yêu cầu. Không lắp điện trở tại mọi thiết bị.
Cấu hình MB_MASTER
Sau khi cổng đã sẵn sàng, cần kiểm tra:
- Địa chỉ Slave.
- Function Code.
- Địa chỉ thanh ghi.
- Số lượng thanh ghi.
- Vùng dữ liệu đích.
- Kiểu dữ liệu.
- Timeout.
- Chu kỳ truy vấn.
Ví dụ thiết bị ghi thanh ghi 40001 không có nghĩa luôn nhập trực tiếp 40001 vào PLC. Một số thư viện sử dụng địa chỉ bắt đầu từ 0 hoặc địa chỉ tương đối.
Có thể xảy ra các trường hợp:
| Tài liệu thiết bị | Giá trị cần nhập |
|---|---|
| Ghi 40001 | Có thư viện nhập 0 |
| Ghi 40001 | Có thư viện nhập 1 |
| Ghi 40001 | Có thư viện cho nhập trực tiếp 40001 |
Phải đối chiếu hướng dẫn của đúng phiên bản khối Modbus.
Đọc dữ liệu 32 bit
Đồng hồ điện và đầu cân thường trả về:
- Integer 16 bit.
- Integer 32 bit.
- Float 32 bit.
- Giá trị có dấu.
- Giá trị có hệ số chia.
- Hai Word đảo thứ tự.
Nếu PLC có phản hồi nhưng giá trị sai, cần kiểm tra:
- High Word/Low Word.
- Byte order.
- Signed/Unsigned.
- Kiểu REAL.
- Hệ số nhân hoặc chia.
- Đơn vị đo.
Không nên đảo Word theo thử nghiệm rồi sử dụng ngay mà chưa kiểm tra tại nhiều giá trị thực tế.
Quy trình xử lý lỗi 16#8180
- Online PLC và quan sát đúng khối
MB_COMM_LOAD. - Xác nhận
ERROR = TRUEđồng thời vớiSTATUS = 16#8180. - Mở Device configuration.
- Kiểm tra đúng mã và vị trí CM1241.
- Compile Hardware configuration.
- Chọn lại Hardware Identifier cho
PORT. - Kiểm tra phiên bản khối Modbus.
- Với RS485 hai dây, kiểm tra Mode 4 nếu khối yêu cầu.
- Tạo cạnh lên cho
REQ. - Chờ
DONE. - Chỉ cho phép
MB_MASTERsau khi cấu hình thành công. - Kiểm tra đèn TX.
- Nếu có TX nhưng không RX, kiểm tra A/B, Slave ID và baud rate.
- Nếu có phản hồi nhưng dữ liệu sai, kiểm tra thanh ghi và kiểu dữ liệu.
- Lưu mã lỗi cuối cùng lên HMI để thuận tiện bảo trì.
Bảng chẩn đoán nhanh
| Hiện tượng | Nguyên nhân ưu tiên kiểm tra |
|---|---|
| MB_COMM_LOAD báo 16#8180 | PORT/HW ID |
| MB_COMM_LOAD không chạy | REQ không có cạnh lên |
| MB_COMM_LOAD DONE nhưng không có TX | MB_MASTER chưa được kích |
| Có TX, không RX | A/B, Slave ID, baud, parity |
| TX/RX đều nhấp nháy nhưng PLC báo lỗi | Function Code hoặc thanh ghi |
| Đọc được nhưng giá trị vô lý | Byte/Word order và kiểu dữ liệu |
| Chỉ thiết bị cuối không phản hồi | Cáp, nhánh hoặc kết thúc tuyến |
| Chạy được lúc biến tần dừng | Nhiễu và bố trí cáp |
| Mất truyền thông ngẫu nhiên | Chu kỳ đọc, timeout hoặc đấu mạng |
Câu hỏi thường gặp
Lỗi 16#8180 có phải do đảo dây A và B không?
Không phải nguyên nhân trực tiếp. Mã 16#8180 chỉ ra giá trị PORT hoặc Hardware Identifier không hợp lệ.
Có được nhập địa chỉ module vào PORT không?
Không nên nhập địa chỉ I/O. PORT phải sử dụng Hardware Identifier của đúng cổng truyền thông.
MB_COMM_LOAD có phải gọi liên tục không?
Không. Thông thường khối được kích bằng cạnh lên khi PLC khởi động hoặc khi cần cấu hình lại cổng.
Vì sao STATUS hiển thị 16#7000?
Đây thường là trạng thái khối chưa nhận yêu cầu mới, không nhất thiết là lỗi. Cần kiểm tra REQ và tín hiệu ERROR.
CM1241 có hỗ trợ RS422 và RS485 không?
Mã 6ES7241‑1CH32‑0XB0 hỗ trợ RS422/RS485 qua đầu nối Sub‑D 9 chân. Thông tin chính thức của Siemens.
CM1241 dùng được với Modbus RTU Master và Slave không?
Có thể sử dụng cho truyền thông nối tiếp khi phần cứng, firmware và khối lệnh tương thích. Cần chọn đúng thư viện và cấu hình cho vai trò Master hoặc Slave.
Tư vấn và hỗ trợ
Khi yêu cầu kiểm tra truyền thông, khách hàng nên gửi:
- Model CPU và CM1241.
- Phiên bản TIA Portal.
- Ảnh lời gọi MB_COMM_LOAD.
- Ảnh STATUS online.
- Model thiết bị Slave.
- Bảng thanh ghi.
- Sơ đồ đấu dây A/B.
- Baud rate, parity và Slave ID.
- Tư vấn bán hàng và yêu cầu báo giá: 0934.384.222
- Hỗ trợ kỹ thuật: 0912.888.729

