Cơ chế giao tiếp

Một phần của tài liệu Thiết kế hệ thống điều khiển giám sát động cơ xoay chiều ba pha dựa trên bộ điều khiển PLC và biến tần (Trang 64)

THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN GIÁM SÁT TỐC ĐỘ ĐỘNG CƠ KHÔNG ĐỒNG BỘ 3 PHA

3.3.5.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).

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ớ là 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 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 thực hiện, dữ liệu đi kèm và thông tin kiểm lỗi.

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 lần giao dịch khác nhau.

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.

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.

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.

Hình 3.10. Chu trình yêu cầu- đáp ứng Modbus

Thông báo đáp ứng cũng như 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ớ đã 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.

* Dưới đây sẽ trình bày một số hàm cơ bản được hỗ trợ trong PLC S7-200. Mã hàm 01 (0x01)- hàm tác động lên bit:

- Chức năng: đọc giá trị của các ngõ ra trên thiết bị được điều khiển - Cấu trúc đoạn thoại yêu cầu:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 01 (hex)

Địa chỉ ngõ ra bắt đầu đọc 2 byte Số lượng ngõ ra muốn đọc 2 byte Mã kiểm soát lỗi CRC của khung dữ

liệu Master

2 byte

- Cấu trúc đoạn thoại trả lời:

Độ dài Chú thích

Địa chỉ của slave 1 byte

Funtion code 1 byte 0x01

Số lượng byte dữ liệu theo sau (N) 1 byte Byte này chỉ số lượng byte có nhiệm vụ lưu giá trị của các cuộn dây mà master yêu cầu

Dữ liệu của các ngõ ra mà Master yêu cầu

N byte N= số ngõ ra muốn đọc/8 Mã lỗi CRC của khung dữ liệu

slave đáp ứng

2 byte

Mã hàm 02 (0x02)-hàm tác động lên bit: (adsbygoogle = window.adsbygoogle || []).push({});

- Chức năng: giúp master đọc được trạng thái của một hay nhiều tín hiệu ngõ vào rời rạc của slave.

- Cấu trúc đoạn thoại yêu cầu:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 02 (hex)

Địa chỉ ngõ vào bắt đầu đọc 2 byte Số lượng ngõ vào muốn đọc 2 byte Mã kiểm soát lỗi CRC của khung dữ

liệu Master

2 byte

- Cấu trúc đoạn thoại trả lời:

Độ dài Chú thích Địa chỉ của slave 1 byte

Funtion code 1 byte 0x02

Số lượng byte dữ liệu theo sau (N)

1 byte Byte này chỉ số lượng byte có nhiệm vụ lưu giá trị của các cuộn dây mà master yêu cầu

Dữ liệu của các ngõ vào mà Master yêu cầu

N byte N= số ngõ vào muốn đọc/8 Mã lỗi CRC của khung dữ

liệu slave đáp ứng

2 byte

Mã hàm 05 (0x05) hàm tác động lên bit

- Chức năng: giúp master ghi giá trị lên từng cuộn dây có trên Slave. - Cấu trúc của đoạn thoại yêu cầu:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 05 (hex)

Địa chỉ của ngõ ra muốn ghi 2 byte

Dữ liệu muốn ghi cho ngõ ra 2 byte FF00: ứng với giá trị 1 0000: ứng với giá trị 0 Mã kiểm soát lỗi CRC của khung dữ

liệu Master

- Cấu trúc đoạn thoại đáp ứng:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 05 (hex)

Địa chỉ của ngõ ra muốn ghi 2 byte (adsbygoogle = window.adsbygoogle || []).push({});

Dữ liệu sau khi ghi 2 byte FF00: ứng với giá trị 1

0000: ứng với giá trị 0 Mã lỗi CRC của khung dữ liệu slave

đáp ứng

2 byte

Mã hàm 15 (0x15)- hàm tác động lên bit

- Chức năng: giúp master ghi giá trị 0/1 lên nhiều cuộn dây đơn - Cấu trúc đoạn thoại yêu cầu:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 0F (hex)

Địa chỉ đàu tiên của các ngõ ra muốn ghi

2 byte Số lượng ngõ ra muốn ghi 2 byte Số lượng byte dữ liệu theo sau(N) 1 byte

Dữ liệu muốn ghi đến các ngõ ra N byte N= số ngõ ra muốn ghi/8 Mã kiểm soát lỗi CRC của khung dữ

liệu Master

2 byte

- Cấu trúc đoạn thoại đáp ứng:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 0F (hex)

Địa chỉ của ngõ ra đầu tiên muốn ghi 2 byte Số lượng ngõ ra được ghi 2 byte Mã lỗi CRC của khung dữ liệu slave

đáp ứng

2 byte

- Chức năng: giúp master đọc được trạng thái của các thanh ghi trong vùng Holding register của các thiết bị tớ.

- Cấu trúc đoạn thoại yêu cầu:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 03 (hex)

Địa chỉ đầu tiên của các thanh ghi mà master muốn đọc dữ liệu

2 byte Tổng số thanh ghi mà master muốn

đọc

2 byte Mã kiểm soát lỗi CRC của khung dữ (adsbygoogle = window.adsbygoogle || []).push({});

liệu Master

2 byte

- Cấu trúc đoạn thoại trả lời:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 03 (hex)

Số lượng byte dữ liệu theo sau (2xN) 1 byte Các byte nội dung của các thanh ghi

mà master yêu cầu

2xN byte N= số thanh ghi mà master muốn đọc

Mã lỗi CRC của khung dữ liệu slave đáp ứng

2 byte

Mã hàm 06(0x06)- hàm tác động lên thanh ghi

- Chức năng: giúp master ghi dữ liệu xuống một thanh ghi - Cấu trúc khung yêu cầu:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 06 (hex)

Địa chỉ của thanh ghi mà master muốn ghi dữ liệu

2 byte Giá trị master ghi xuống cho thanh ghi 2 byte Mã kiểm soát lỗi CRC của khung dữ

liệu Master

- Cấu trúc khung đáp ứng:

Độ dài Chú thích

Địa chỉ của Slave 1 byte

Function code 1 byte Có giá trị 06 (hex)

Địa chỉ của thanh ghi đầu tiên được master ghi dữ liệu

2 byte Số lượng thanh ghi được ghi dữ liệu 2 byte Mã lỗi CRC của khung dữ liệu slave

đáp ứng

2 byte

* Khối dữ liệu

- Chức năng của khối dữ liệu: khối này thông thường chứa địa chỉ cảu các vùng trên thiết bị slave mà master muốn tác động đến.

- Trong giao thức mạng Modbus, thì có một tiêu chuẩn địa chỉ chung cho tất cả các thiết bị có hỗ trợ giao thúc Modbus. Có nghĩa là chuẩn Modbus quy định từng vùng địa chỉ rõ ràng cho khối cuộn dây ngõ ra, khối ngõ vào rời rạc, khối thanh ghi đầu vào và khối thanh ghi Holding. (adsbygoogle = window.adsbygoogle || []).push({});

- Bảng dưới đây trình bày địa chỉ chuẩn Modbus của các thanh ghi trong các thiết bị hỗ trợ modbus.

Bảng 3.17. Bảng địa chỉ chuẩn Modbus của các thanh ghi

Vùng trên PLC Vùng địa chỉ Modbus(decimal) Loại dữ liệu Cách thức truy cập Vùng các cuộn dây ngõ ra Q 000001-065536 Mã hàm tác động : 01, 05, 15 Boolean Cho phép đọc/ghi Vùng các cuộn dây ngõ vào I 10001-165536 Mã hàm tác động: 01 Boolean Chỉ cho phép đọc + 300001-365536 + Word, Short, BCD

Vùng thanh ghi nội + 300001-365535 + 300001-365533 + 3xxxx.0/1-3xxxx.15/16 Mã hàm tác động: 04 +Float,Dword,Long, LBCD + Double + Boolean Chỉ cho phép đọc Vùng các thanh ghi duy trì (holding register) + 400001- 465536 + 400001-465535 + 400001-465533 + 4xxxx.0/1-4xxxx.15/16 Mã hàm tác động: 03, 06, 16, 22 + Word, Short, BCD +Float,Dword,Long,L BCD + Double + Boolean Cho phép đọc/ ghi

* Khối CRC (Cyclic Redundancy Check)

Chức năng: giúp slave kiểm tra được có lỗi xuất hiện trong khung dữ liệu khi master truyền xuống hay không.

Mạng Modbus thực hiện việc kiểm tra lỗi theo 2 hình thức:

Kiểm tra số lượng bít 1, bit 0 trong mỗi khung truyền, nhờ mã kiểm tra chẵn lẻ (Parity bit).

Kiểm tra nội dung của toàn bộ khung truyền xem có chĩnh xác hay không. Khi Master gửi khối dữ liệu xuống, nó sẽ dựa vài khung dữ liệu để tính mã CRC, sau đó Master sẽ gửi khung dữ liệu đó xuống, kèm theo cả mã CRC vừa tính được. Khi Slave nhận được khối tin truyền, nó cũng dựa vào khối dữ liệu nhận được, tính toán độc lập lại mã CRC, sau đó nó kiểm tra CRC vừa tính được với CRC mà Master gửi xuống. Nếu 2 mã CRC giống nhau, thì không có lỗi xảy ra. Nếu 2 mã CRC khác nhau, tức là dữ liệu nhận được là không đúng, thì Slave sẽ báo lỗi lên cho Master.

Một phần của tài liệu Thiết kế hệ thống điều khiển giám sát động cơ xoay chiều ba pha dựa trên bộ điều khiển PLC và biến tần (Trang 64)