Cơ chế giao tiếp
Cơ chế giao tiếp ở Modbus phụ thuộc vào hệ thống truyền thông cấp thấp. Cụ thể, có
thể phân chia ra hai loại là mạng Modbus chuẩn và Modbus trên các mạng khác (ví dụ
TCP/IP, Modbus Plus, MAP).
Mạng Modbus chuẩn
Các cổng Modbus chuẩn trên các bộ điều khiển của Modicon cũng như một số nhà
sản xuất khác sử dụng giao diện nối tiếp RS-232C. Các bộ điều khiển này có thể được
nối mạng trực tiếp hoặc qua modem. Các trạm Modbus giao tiếp với nhau qua cơ chế
chủ/tớ (Master/Slave), trong đó chỉ một thiết bị chủ có thể chủ động gửi yêu cầu, còn
các thiết bị tớ sẽ đáp ứng bằng dữ liệu trả lại hoặc thực hiện một hành động nhất định
theo như yêu cầu. Các thiết bị chủ thông thường là các máy tính điều khiển trung tâm và
các thiết bị lập trình, trong khi các thiết bị tớ có thể là PLC hoặc các bộ điều khiển số
chuyên dụng khác.
Một trạm chủ có thể gửi thông báo yêu cầu tới riêng một trạm tớ nhất định, hoặc gửi
thông báo đồng loạt (broadcast) tới tất cả các trạm tớ. Chỉ trong trường hợp nhận được
yêu cầu riêng, các trạm tớ mới gửi thông báo đáp ứng trả lại trạm chủ. Trong một thông
báo yêu cầu có chứa địa chỉ trạm nhận, mã hàm dịch vụ bên nhận cần thực hiện, dữ liệu
đi kèm và thông tin kiểm lỗi.
Modbus trên các mạng khác
Với một số mạng như Modbus Plus và MAP sử dụng Modbus là giao thức cho lớp
ứng dụng, các thiết bị có thể giao tiếp theo cơ chế riêng của mạng đó. Ví dụ trong giao
tiếp tay đôi (Peer-to-Peer), mỗi bộ điều khiển có thể đóng vai trò là chủ hoặc tớ trong
các lần giao dịch (một chu kỳ yêu cầu-đáp ứng) khác nhau. Một trạm có thể cùng một lúc có quan hệ logic với nhiều đối tác, vì vậy nó có thể đồng thời đóng vai trò là chủ và
tớ trong các giao dịch khác nhau.
Nhìn nhận ở mức giao tiếp thông báo, giao thức Modbus vẫn tuân theo nguyên tắc
chủ/tớ mặc dù phương pháp giao tiếp mạng cấp thấp có thể là tay đôi. Khi một bộ điều
khiển gửi một yêu cầu thông báo thì nó đóng vai trò là chủ và chờ đợi đáp ứng từ một
thiết bị tớ. Ngược lại, một bộ điều khiển sẽ đóng vai trò là tớ nếu nó nhận được thông
báo yêu cầu từ một trạm khác và phải gửi trả lại đáp ứng.
Chu trình yêu cầu-đáp ứng
Giao thức Modbus định nghĩa khuôn dạng của thông báo yêu cầu cũng như của
thông báo đáp ứng, như được minh họa trên Hình 4.9.
Một thông báo yêu cầu bao gồm các phần sau:
• Địa chỉ trạm nhận yêu cầu (0-247), trong đó 0 là địa chỉ gửi đồng loạt.
• Mã hàm gọi chỉ thị hành động trạm tớ cần thực hiện theo yêu cầu. Ví dụ, mã hàm
03 yêu cầu trạm tớ đọc nội dung các thanh ghi lưu dữ và trả lại kết quả.
• Dữ liệu chứa các thông tin bổ sung mà trạm tớ cần cho việc thực hiện hàm được
gọi. Trong trường hợp đọc thanh ghi, dữ liệu này chỉ rõ thanh ghi đầu tiên và số
lượng các thanh ghi cần đọc.
• Thông tin kiểm lỗi giúp trạm tớ kiểm tra độ vẹn toàn của nội dung thông báo
nhận được.
Thông báo đáp ứng cũng bao gồm các thành phần giống như thông báo yêu cầu. Địa
chỉ ở đây là của chính trạm tớ đã thực hiện yêu cầu và gửi lại đáp ứng. Trong trường
hợp bình thường, mã hàm được giữ nguyên như trong thông báo yêu cầu và dữ liệu
chứa kết quả thực hiện hành động, ví dụ nội dung hoặc trạng thái các thanh ghi. Nếu xảy ra lỗi, mã hàm quay lại được sửa để chỉ thị đáp ứng là một thông báo lỗi, còn dữ
liệu mô tả chi tiết lỗi đã xảy ra. Phần kiểm lỗi giúp trạm chủ xác định độ chính xác của
nội dung thông báo nhận được.
Đăng ký:
Đăng Nhận xét
(
Atom
)