D ch vị ụ truyền thụng
4.2.1 Cơ chế giao tiếp
Cơ chế giao tiế ở Modbus phụ thuộc vào hệ thống truyền thụng cấp thấp. Cụ thể, cú p 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ợ đọc thanh ghi, dữ liệu này chỉ rừ thanh ghi đầu tiờn và sốp lượng cỏc thanh ghi cầ đọc. n
• 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.
Đ ịa chỉ thiết bị Mã hàm
Dữ liệu
Kiểm soát lỗi
Đ ịa chỉ thiết bị Mã hàm
Dữ liệu
Kiểm sốt lỗi Thơng báo u cầu từ master
Thông báo đáp ứng từ slave
Hỡnh 4.9: Chu trỡnh yờu cầ đu- ỏp ng Modbus ứ
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ỗ đó xảy ra. Phầả i 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ậ được. n