Kiểm tra thiết bị

Một phần của tài liệu Giáo trình lắp đặt, vận hành hệ thống mạng truyền thông công nghiệp (nghề điện tử công nghiệp) (Trang 60 - 84)

1. Chuẩn truyền thông RS485

2.5. Kiểm tra thiết bị

Kiểm tra hệ thống truyền dẫn cân bằng gồm có 2 dây tín hiệu A, B nhưng không có dây mass. Sở dĩ được gọi là cân bằng là do tín hiệu trên dây này ngược với tín hiệu trên dây kia. Nghĩa là nếu dây này đang phát mức cao thì dây kia phải đang phát mức thấp và ngược lại.

Hình 4.7b : Tín hiệu trên 2 dây của hệ thống cân bằng bằng máy oscilloscope Kiểm tra điện áp đầu ra không vượt quá 6v, điện áp khác biệt không nhỏ hơn 1.5

 v và không lớn hơn 6v A.1.5V |VOD | 6 V

B.|VOA| 6 V ;|VOB | 6 V

Kiểm tra sự khác biệt điện áp VODVOC

A .1.5V |VOD | 5 V , và |VOD | || VOD |VOD || 0.2 V

B.  1 |VOC | 3 V, và |VOC | || VOC |VOC|| 0.2 V

Như vậy trong công nghiệp hiện nay chuẩn RS485 được sử dụng rộng rải nhưng vấn đề vềbnhiễu còn gây rất nhiều khó khăn cho các chuyên gia trong nhà máy.Sau này

thiết bị công nghiệp ngày càng tân tiến hơn vấn đề nhiễu trong công nghiệp được giảm đi đáng kể phần nào.

CÁC BÀI TẬP MỞ RỘNG, NÂNG CAO VÀ GIẢI QUYẾT VẤN ĐỀ

Câu 1: Nêu sự giống nhau và khác nhau của cáp RS-232/RS422/RS485 về đặc tính điện học, phương pháp nối, ứng dụng?

Câu 2: Trong công nghiệp hiện nay các chuẩn truyền thông thường dùng loại cáp nào? Kể tên các loại cáp truyền nhận dùng trong công nghiệp?

Yêu cầu về đánh giá kết quả học tập:

Nội dung:

+ Về kiến thức:

Trình bày được chuẩn truyền thông RS485 trong công nghiệp. + Về kỹ năng:

Vận dụng được kiến thức để khắc phục các sự cố của cáp truyền . + Thái độ: Đánh giá phong cách, thái độ học tập

Chủ động, sáng tạo và an toàn trong quá trình học tập. Phương pháp:

+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết

+ Về kỹ năng: Đánh giá kỹ năng thực hành Mỗi sinh viên, hoặc mỗi nhóm học viên thực hiện công việc theo yêu cầu của giáo viên.Tiêu chí đánh giá theo các nội dung: - Độ chính xác của công việc

- Thời gian thực hiện công việc - Độ chính xác theo yêu cầu kỹ thuật + Thái độ: Tỉ mỉ, cẩn thận, chính xác.

BÀI 5: MẠNG MODBUS Mã bài: MĐ ĐTCN 24-05

Giới thiệu:

Mạng modbus được dùng rộng rải trong công nghiệp, chủ yếu dùng cho hệ thống lắp ráp cho các nhà máy chế tao xe hơi, xe máy, tốc độ truyền thông ổn định chi phí lắp mạng cũng thấp.

Mục tiêu:

- Trình bày được cấu trúc mạng Modbus

- Xác định và xử lý được một số vấn đề đơn giản - Chủ động, sáng tạo và an toàn trong quá trình học tập.

Nội dung chính:

1. Giới thiệu tổng quan

Modbus bắt nguồn trong cuối những năm 70 thế kỷ trước. Năm 1979 khi nhà sản xuất PLC Modicon, giờ là tập đoàn Schneider Electric's Telemecanique đã phát hành giao diện truyền thông Modbus cho mạng multidrop dựa trên kiến trúc master/client. Truyền thông giữa các Modbus node có được bằng các thông điệp.Nó là một chuẩn mở mà được mô tả bằng cấu trúc thông điệp. Tầng vật lý của Modbus interface là tự do chọn lựa. Modbus interface ban đầu chạy trên RS-232, nhưng các thực hiện Modbus sau nhất dùng RS-485 vì nó cho phép khoảng cách lớn, tốc độ cao và khả năng của một mạng multi-drop thực sự. Trong thời gian ngắn hàng trăm nhà sản xuất thực hiện hệ thống thông điệp Modbus trong thiết bị của họ và Modbus trở thành chuẩn defacto cho các mạng truyền thông công nghiệp.

Điều tốt của chuẩn Modbus là sự linh hoạt, và sự dễ thực hiện của nó. Không chỉ các thiết bị thông minh như các microcontroller, PLC ... có thể truyền thông với Modbus, mà còn các sensor thông minh trang bị Modbus interface gửi data của chúng đến các host system. Trong khi Modbus được sử dụng chính trước đây trên các đường truyền thông dây dẫn, cũng có các mở rộng cho các chuẩn truyền thông không dây và các mạng TCP/IP.Vì thế Modbus trở thành chuẩn fieldbus được chấp nhận rộng rãi.

2. Cấu trúc giao thức Modbus

2.1.Kiến trúc giao thức

Giao thức RTU được sử dụng serial protocol sử dụng RS232 hoặc RS485 Giao thức TCP được sử Ethernet gồm modbus RTU + TCP/IP layer.

Trong mô hình ISO bao gồm 7 lớp nhưng đối với mạng modbus có 3 lớp hiện hữu trong nó đó là: lớp ứng dụng, lớp liên kết dữ liệu và lớp vật lý như bảng sau:

Modbus TCP/IP communication Stack

# Lớp Quang trọng Giao thức Reference

7 ứng dụng Modbus application protocol 6 Lớp biễu diễn

5 Kiểm sót nối 4 Lớp vận chuyển 3 Lớp mạng

2 Lớp liên kết dữ liệu Modbus serial line protocol IEEE 802.3 ethernet 1 Lớp Vật lý EIA/TIA – 485 (232)

Bảng 5.1: Mô hình phân lớp trong mạng Modbus

Trên các giao diện đơn giảng giống RS485hayRS232,các thông điệp Modbus được gửi theo dạng đơn giản trên mạng. Trong trường hợp này mạng được đề tặng cho Modbus.Khi các hệ thống mạng linh hoạt hơn nhưTCP/IPqua ethernet, các thông điệp Modbus như nhúng trong các gói với định dạng cần thiết cho giao diện vật lý.Trong trường hợp đó Modbus và các kiểu kết nối khác có thể cùng tồn tại ở cùng giao diện vật lý ở cùng lúc. Mặc dù cấu trúc thông điệp Modbus chính là peer-to-peer(ngang hàng), Modbus có thể chức năng thành cả mạng point-to-pointmultidrop.

2.2.Cơ chế giao tiếp

Trong mạng modbus có các cơ chế giao tiếp master/slave.

Cấu trúc Modbus message

Trường Mô tả

Device address Địa chỉ của receiver

Function code Mã định nghĩa kiểu message

Data Data block với thông tin phụ

Error check Giá trị số kiểm tra để kiểm tra lỗi truyền thông

Bảng 5.2: Cấu trúc tin nhắn trong mạng Modbus

Mạng Modbus là cơ chế giao tiếp chủ tớ từ máy tính chủ đến các thiết bị điều khiển thông qua lớp liên kết dữ liệu như hình 6.1

Hình 5.2 cơ chế giao tiếp truyền thông master/slave

2.3.Cấu trúc bức điện

Chế độ truyền dữ liệu được quy ước gồm 10 bit trong đó 1 start (bit 0) + 8 bit Data + 1 bit parity (chẵn/lẻ) + 1 bit stop.

start Address Function Data LRC check end

1 bit 8 bit 8 bit N x bit 16 bit 1 bit

3. Các mã số chức năng

3.1.Định 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.

Bên trong một Modbus device, các holding register, các input và các output được gán một số giữa 1 và 10000. Một sẽ mong đợi, rằng cùng địa chỉ được dùng trong các Modbus message để đọc hay đặt các giá trị.Rủi thay đây không phải là trường hợp này.Trong các Modbus message các địa chỉ được dùng với giá trị giữa 0 và 9999. Nếu bạn muốn đọc giá trị của output (coil) 18 ví dụ, bạn phải chỉ định giá trị 17 trong Modbus query message. Nhiều bối rói hơn, là cho input và các holding register một offset phải được trừ từ địa chỉ device để lấy địa chỉ thích hợp để đặt vào Modbus message structure. Điều này dẫn đến các lỗi phổ biến và nên được quan tâm khi thiết kế ứng dụng với Modbus. Bảng sau trình bày các dải địa chỉ cho các coil, các input và các holding register và cách địa chỉ trong Modbus message được tính cho trước địa chỉ thực của item trong slave device.

Device and Modbus address ranges

Device address Modbus address Description

1...10000* address - 1 Coils (outputs)

10001...20000* address - 10001 Inputs

40001...50000* address - 40001 Holding registers Bảng 5.4: Địa chỉ các thiết bị trong mạng Modbus

3.2.Các mã chức năng Modbus

Tham số thứ hai trong mỗi Modbus message là mã chức năng.Cái này định nghĩa kiểu message và kiểu hành động được đòi hỏi bởi slave.Tham số này chứa một byte thông tin.Trong Modbus/ASCII điều này được mà với hai ký tự hexadecimal, trong

Modbus/RTU một byte được dùng. Các mã chức năng hợp lệ trong khoảng 1..255. Không phải tất cả Modbus device nhận biết cùng tập mã chức năng. Các mã chung nhất được thảo luận ở đây.

Bình thường, khi một Modbus slave trả với đáp ứng, nó dùng cùng mã chức năng trong request. Tuy nhiên, khi một error được dò, bit cao nhất của mã chức năng được bật lên. Theo cách đó master có thể thấy khác biệt giữa đáp ứng thành công và thất bại.

code name 384 484 584 884 M84 984

1 Đọc trạng thái cuộn dây Y Y Y Y Y Y 2 Đọc trạng thái đầu vào Y Y Y Y Y Y

3 Đọc thanh ghi Hold Y Y Y Y Y Y

4 Đọc thanh ghi đầu vào Y Y Y Y Y Y

5 Tác động một coil Y Y Y Y Y Y 6 Đặt lại một register Y Y Y Y Y Y 7 Đọc trạng thái ngoại lệ Y Y Y Y Y Y 8 Chuẩn đón Poll 9 Chương trình 484 N Y N N N N 10 Thăm dò 484 N Y N N N N

11 Fetch comm. Event Ctr Y N Y N N Y

12 Fetch comm. Event log Y N Y N N Y

13 Chương trình điều khiển Y N Y N N Y

14 Điều khiển poll Y N Y N N Y

15 Tác động nhiều coil Y Y Y Y Y Y 16 Đặt lại nhiều register Y Y Y Y Y Y

17 Báo cáo slave ID Y Y Y Y Y Y

18 Chương trình 848 M84 N N N Y Y N

19 Reset comm.link N N N Y Y N

20 Xung phát đọc read N N Y N N Y 21 Xung phát viết write N N Y N N Y

Đọc trạng thái của tín hiệu đầu ra:

Trong ngôn ngữ Modbus, một coil là một giá trị output rời rạc. Chức năng Modbus 01 có thể được dùng để đọc trạng thái của một output.Chỉ có thể truy vấn một device ở một thời điểm. Địa chỉ Broadcast được hỗ trợ chức năng Modbus này. Chức năng này có thể được dùng để request trạng thái của các coil khác nhau một lúc. Điều này được làm bởi định nghĩa một dải output trong trường data của message.

Khi nhận một Modbus query message có chức năng 01, slave thu thập các giá trị output cần thiết và dựng một answer message. Chiều dài của message này phụ thuộc vào số các value mà phải được trả về. Nhìn chung, khi giá trị N được yêu cầu, một số ((N+7) mod 8) byte là cần thiết để lưu các giá trị này. Số thực sự các databyte trong datablock được đặt trong byte đầu tiên của data field. Do đó cấu trícchung của answer cho Modbus function 01 query là:

Yêu cầu (query) Đáp ứng (response)

Field name Mã hex Field name Mã hex

Slave address 11 Slave address 11

Function 01 Function 01

Starting address Hi 00 Byte count 05

Starting address Lo 13 Data coil (27-20) CD

No. of points Hi 00 Data coil (35-28) 6B

No. of points Lo 25 Data coil (43-36) B2

Data coil (51-44) 0E Data coil (56 - 52) 1B Error check LRC or CRC -- Error check LRC or CRC --

Bảng 5.6: Bảng yêu cầu và đáp ứng đọc trạng thái ra

Đọc trạng thái của tín hiệu đầu vào:

Đọc các giá trị input với Modbus được làm theo cùng cách như đọc trạng thái các coil. Khác biệt duy nhất là cho các input Modbus function 02 được dùng. Broadcast addressing mode không được hỗ trợ. Bạn có thể chỉ query giá trị các input chỉ trên một device ở một lúc. Giống với các coil, địa chỉ của input đầu tiên, và số các input để đọc phải được đặt trong data field của query message. Các Input trên các device bắt đầu đánh số từ 10001.Giá trị địa chỉ này tương đương địa chỉ 0 trong Modbus message.

Sau khi nhận một query message có Modbus function02, slave đặt các giá trị input được yêu cầu trong một message structure và gửi message này trở lại Modbus master. Chiều dài của message phụ thuộc vào số các giá trị input trả về. Điều này làm cho chiều dài của output message thay đổi. Số các databyte trong data field mà chứa các giá trị input được chuyển như byte đầu tiên trong data field. Mỗi message trả lời Modbus có cấu trúc chung sau.

Yêu cầu (query) Đáp ứng (response)

Field name Mã hex Field name Mã hex

Slave address 11 Slave address 11

Function 02 Function 02

Starting address Hi 00 Byte count 03

Starting address Lo C4 Data input (10204-10197) AC No. of points Hi 00 Data coil (10212- 10205) DB No. of points Lo 16 Data coil (10218 - 10213) 35 Error check LRC or CRC -- Error check LRC or CRC --

Bảng 5.7: Bảng yêu cầu và đáp ứng đọc trạng thái vào

Đọc nội dung của thanh ghi đầu ra:

Các giá trị bên trong một Modbus device được lưu trong các holding register. Các register này có chiều rông hai byte và có thể được dùng cho các mục đích khác nhau. Vài register chứa các tham số cấu hình trong khi những cái khác được dùng cho các giá trị đo lường được trả về (nhiệt độ ...) cho host. Các Register trong thiết bị tương thích Modbus bắt đầu đếm ở 40001.Chúng được đánh địa chỉ trong cấu trúc thông điệp Modbus với địa chỉ bắt đầu ở 0. Modbus function 03 được dùng để yêu cầu một hay nhiều giá trị thanh ghi holding từ một device. Chỉ một slave device có thể được đánh địa chỉ trong một query đơn. Các query Broadcast với function 03 không được hỗ trợ. Sau khi xử lý query, Modbus slave trả về các giá trị 16 bit của các holding register được yêu cầu. Vì kích thước các holding registers, mọi register được mã với hai byte trong message trả lời. Data byte đầu tiên chứa byte cao, và cái thứ hai byte thấp của register. Thông điệp trả lời Modbus bắt đầu với địa chỉ thiết bị slave và function code 03. 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.

Yêu cầu (query) Đáp ứng (response)

Field name Mã hex Field name Mã hex

Slave address 11 Slave address 11

Function 03 Function 03

Starting address Hi 00 Byte count 06

Starting address Lo 6B Data Hi (R 40108) 02

No. of points Hi 00 Data Lo (R40108) 2B

No. of points Lo 03 Data Hi (R 40109) 00

Error check LRC or CRC -- Data Lo (R40109) 00 Data Hi (R 40110) 00 Data Lo (R40110) 64 Error check LRC or CRC -- Bảng 5.8: Bảng yêu cầu và đáp ứng đọc thanh ghi ra

Đọc nội dung của thanh ghi đầu vào:

Yêu cầu (query) Đáp ứng (response)

Field name Mã hex Field name Mã hex

Slave address 11 Slave address 11

Function 04 Function 04

Starting address Hi 00 Byte count 02

Starting address Lo 08 Data Hi (R 30009) 00

No. of points Hi 00 Data Lo (R 30009) 0A

No. of points Lo 01 00

Error check LRC or CRC -- Error check LRC or CRC -- Bảng 5.9: Bảng yêu cầu và đáp ứng đọc thanh ghi vào

3.3.Cài đặt mạng modbus

Hình 5.3 : Hình cài đặt Modbus

4. Xửlý các sự cố

4.1.Các vấn đề và lỗi cơ bản

Lưu ý kỹ thuật này cung cấp các giải pháp cho các vấn đề thường gặp phải thực hiện Modbus mạng. Nó được thiết kế như là một bổ sung với sự giúp đỡ MBX-MDB, và không phải là một sự thay thế. Bất cứ nơi nào có thể, các phần thích hợp của hệ thống trợ giúp được tham chiếu, và người đọc là khuyến khích mạnh mẽ để xem xét những phần này.Hệ thống trợ giúp Orion cũng chứa một số lượng.

Hãy chắc chắn rằng các loại mạng và các thông số tốc độ truyền quy định với MOD.OPEN tuyên bố phù hợp với cấu hình cho phần còn lại của mạng.

Trước khi một biến có thể được truy cập qua mạng, nó phải được "ánh xạ". Sau khi khởi tạo giao diện Modbus với tuyên bố MOD.OPEN, MotionBASIC

Hãy chắc chắn rằng mạng MODBUS có chỉ có một thiết bị "chủ", và tất cả còn lại thiết bị được cấu hình như là "nô lệ". Những "thầy" là thiết bị khởi truyền dữ liệu,

Một phần của tài liệu Giáo trình lắp đặt, vận hành hệ thống mạng truyền thông công nghiệp (nghề điện tử công nghiệp) (Trang 60 - 84)

Tải bản đầy đủ (PDF)

(119 trang)