- Giới thiệu
Modbus/ASCII và Modbus/RTU
Mỗi message phải được tuần tự theo một khe thời gian cú độ dài tối thiểu
3.5 ký tự. Nếu một receiver dũ một khe tối thiểu 1.5 ký tự, nú cho rằng một message mới đang đến và bộ đệm nhận được làm sạch. Thuận lợi chớnh của message mới đang đến và bộ đệm nhận được làm sạch. Thuận lợi chớnh của
Modbus Message Framing ASCII Framing
RTU Framing
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn Modbus/ASCII là, nú cho phộp cỏc khe giữa cỏc byte của một message cú độ dài tối đa 1 giõy. Với Modbus/RTU nú cần nhận mỗi message như một stream liờn tục.
Cỏc thuộc tớnh của Modbus/ASCII và Modbus/RTU
Modbus/ASCII Modbus/RTU
Ký tự ASCII 0...9 and A..F Binary 0...255 Error check LRC Longitudinal
Redundancy Check
CRC16 IBM (Cyclic Redundancy Check)
Frame start character ':' 3.5 chars silence
Frame end characters CR/LF 3.5 chars silence
Cỏc Gap trong
message 1 sec 1.5 times char length
Start bit 1 1
Data bits 7 8
Parity even/odd none even/odd none
Stop bits 1 2 1 2
2.7.2.4 Địa chỉ Modbus
Thụng tin đầu tiờn trong mỗi Modbus message là địa chỉ của receiver. Parameter này chứa một byte thụng tin. Trong Modbus/ASCII nú được mó thành hai ký tự hexadecimal, trong Modbus/RTU một byte được dựng. Cỏc địa chỉ hợp lệ trong dải 0..247. Cỏc giỏ trị 1..247 được gỏn cho cỏc thiết bị Modbus cụ thể và 0 được dựng như địa chỉ broadcast. Cỏc Message được gửi sau sẽ được nhận bởi tất cả slave. Một slave luụn đỏp ứng với một Modbus message. Khi đỏp ứng nú dựng cựng địa chỉ như master trong request đú. Theo cỏch này master cú thể thấy device thực sự đỏp ứng với request.
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
Thụng điệp trả lời Modbus bắt đầu với địa chỉ thiết bị slave và mó chức năng (FC). Byte tiếp là số cỏc data byte theo sau. Giỏ trị này là gấp đụi số register được trả về. Một kiểm tra lỗi được mở rộng cho host để kiểm tra cú lỗi truyền thụng xuất hiện hay khụng.
2.7.2.5 Cỏc mó chức năng của Modbus
Trước hết Modbus qui định địa chỉ dữ liệu được sử dụng trong khung truyền để đọc hoặc sửa dữ liệu trong thiết bị.
Để đọc dữ liệu và thay đổi của thiết bị, Modbus qui định 4 loại dữ liệu: Coil (DO-Digital Output), Input Status (Digital Input-DI), Input Register (Analog Input- AI) và Holging Register (Analog Output-AO).
Coil được sử dụng để cưỡng bức trạng thỏi của một DO lờn on hoặc xuống off (đúng hoặc mở) cũng như sửa đổi chế độ làm việc hoặc trạng thỏi của thiết bị (slave device). Dữ liệu Coil cú giỏ trị là on hoặc off và cú thể được đọc hoặc sửa đổi . Địa chỉ dữ liệu Coil được Modbus qui định nằm trong dải từ 1 – 9999. Mó lệnh của Coil là 05.
Input Status: được sử dụng đối với cỏc lối vào logic từ thiết bị. Input status cú thể là on hoặc off và cú thể được đọc hoặc sửa đổi. Địa chỉ hợp lệ của địa chỉ Input status nằm trong dải 10001-19999. Mó lệnh của Input status là 02.
Input Register: được dựng cho cỏc giỏ trị đo lường từ thiết bị. Nú cú độ dài 16 bit và chỉ cú thể đọc. Giỏ trị hợp lệ của địa chỉ Input Register nằm trong dải 30001-39999. Mó lệnh của Input register là 04.
Holding Register: được dựng để xuất cỏc đại lượng analog (AO) ra cỏc thiết bị. Nú cú độ dài 16 bit và cú thể đọc hoặc sửa đổi. Giỏ trị hợp lệ của địa chỉ Holding Register nằm trong dải 40001-49999. Dữ liệu cú dấu phảy động cũng cú thể được sử dụng. Mó lờnh của Holding register là 03.
2.7.2.6 Qui chiếu địa chỉ của Modbus
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
Tất cả địa chỉ dữ liệu Modbus được qui chiếu về 0. Dữ liệu đầu tiờn được đỏnh địa chỉ bằng 0. Vớ dụ đối với Input register (dải địa chỉ 30001-39999), nếu dữ liệu cú địa chỉ là 30156 thập phõn thỡ sẽ địa chỉ qui chiếu sẽ là 155 thập phõn.
Hỡnh dưới mụ tả vớ dụ khung tin query từ Master (Modbus query message) cho việc đọc Holding register (mó chức năng 03) từ Slave device số 06 với địa chỉ từ 40108 đến 40110 Chỳ ý rằng địa chỉ qui chiếu của đầu tiờn sẽ là 107 (6BHex).
2.7.2.7 Vớ dụ một số khung tin của Modbus
Vớ dụ khung tin hỏi từ Master (Master Query frame)
Tờn Vớ dụ (Hex) Modbus ASCII Modbus RTU
Header : (colon) Khụng cú
Slave Address 0x06 0 6 0x06
Function 0x03 0 3 0x03
Starting Address (High) 0x00 0 0 0x00
Starting Address (Low) 0x6B 6 B 0x6B
No. of Register (High) 0x00 0 0 0x00
No. of Register (Low) 0x03 0 3 0x03
Error Check LRC (2 character.) CRC16IBM (16bit)
Trailer CR LF
(về đầu dũng, xuống dũng)
Khụng cú
Tổng: 17 bytes Tổng:8 bytes
Vớ dụ khung tin trả lời từ Slave (Slave Response frame)
Tờn Vớ dụ (Hex) Modbus ASCII Modbus RTU
Header : (colon) Khụng cú
Slave Address 0x06 0 6 0x06
Function 0x03 0 3 0x03
Byte Count 0x06 0 6 0x06
Data1 (High) 0x03 0 3 0x03
Data1 (Low) 0xE8 E 8 0xE8
Data2 (High) 0x01 0 1 0x01
Data2 (Low) 0xF4 F 4 0xF4
Data3 (High) 0x00 0 0 0x00
Data3 (Low) 0x0A 0 A 0x0A
Error Check LRC (2 character.) CRC16IBM (16bit)
Trailer CR LF Khụng cú
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
(về đầu dũng, xuống dũng)
Tổng: 23 bytes Tổng:11 bytes Trong vớ dụ trờn ta thấy dữ liệu Data1, Data2,...,Data n của Modbus khụng qui định rừ là loại (kiểu) dữ liệu gỡ. Modbus chỉ chuẩn húa sõu đến mức như vớ dụ trờn, cũn kiểu dữ liệu cụ thể. sẽ được mụ tả cho từng thiết bị ỏp dụng. Vớ dụ ứng dụng đồng hồ đo vạn năng sẽ qui định vớ dụ như điện ỏp, dũng điện cụng suất hữu cụng, cụng suất vụ cụng,...
2.7.3. Giao thức Profinet.
Theo Tổ chức Fieldbus Foundation: Profinet được chào hàng là một giao thức chứa đựng tất cả cỏc chuẩn cụng nghiệp.
Profinet được mụ tả là ―chuẩn Ethernet cụng nghiệp bao gồm tất cả‖ bởi vỡ nú cú thể được sử dụng hầu hết mọi chức năng tự động húa: phõn tỏn, quỏ trỡnh, chuyển động, tớch hợp điểm-điểm, tớch hợp theo trục dọc, an toàn và cỏc chức năng khỏc, theo Tổ chức Thương mại Profibus (Profibus Trade Organization – PTO). Vỡ Profibus sử dụng Thernet IEEE 802.11, tiờu chuẩn, nờn giao thức này thừa hưởng khả năng hoạt động trờn Ethernet khụng dõy IEEE802.11, cho phộp điều khiển cỏc thiết bị tự hành, vớ dụ như cỏc phương tiện được dẫn hướng tự động. Cỏc lắp đặt hiện nay đang sử dụng cụng nghệ khụng dõy với profile Profisafe được cho là cú khả năng khai thỏc sức mạnh kết hợp của cả hai cụng nghệ. Trong những ứng dụng điều khiển chuyển động, Profinet cú thể điều khiển 150 trục chuyển động trong 1 giõy với độ mộo thụng tin số 1μs.
Điều này khiến giao thức Profinet thớch hợp cho cỏc ứng dụng khắt khe như mỏy in chuyờn dụng trong ngành in ấn. Profinet được cho là Ethernet cụng nghiệp duy nhất mà chuẩn của nú xỏc định truyền thụng . Theo bỏo cỏo, nú bảo vệ cỏc khoản đầu tư của người dựng trong cỏc thiết bị và mạng hiện hành tại nhà mỏy bằng cỏch kết hợp một cỏch trụi chảy sự lắp đặt Profibus hiện cú với cỏc bus trường khỏc. .
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
Trong khi chứa đựng tất cả cỏc chuẩn cụng nghiệp như Ethernet, TCP/IP, XML, và OPC, Profinet là một chuẩn cụng nghiệp mở được PI (Profibus International) hỗ trợ.
Một trong số cỏc đặc tớnh của Profinet chớnh là khả năng đồng húa cỏc bus trường khỏc như DeviceNet, Foundation Fieldbus và Modbus.
2.7.4 Giao thức IEC870-5-101; 103; 104; ICCP và ELCOM90
Giao thức IEC870-5-101.
Giao thức IEC 870-5-101 được Uỷ ban điện tử Quốc tế IEC (International Electrotechnical Commission) phỏt hành vào đầu của thập kỷ 90, Giao thức IEC 870-5-101 là một tiờu chuẩn cho cỏc ứng dụng cú sử dụng điều khiển xa và là giao thức truyền thụng giữa cỏc RTU, DCS, PLC với hệ thống trung tõm (Central Station) hoặc giữa cỏc trung tõm điều khiển CC (Control Center) với nhau.
Giao thức IEC870-5-101 làm việc trờn phương phỏp truyền dị bộ, giao diện RS232/RS485. Giao thức này sử dụng 3 trong số 7 lớp của sơ đồ tham chiếu OSI.