Hướng Dẫn Lập Trình Giao Tiếp Rs485, Hướng Dẫn Phần Mềm Rs485

-
*
linh kiện Lắp Ghép

Phe Gài Ren Cấy Bulong Lục Giác Chìm Bulong Pake Vít Trí Tán - Đai Ốc Lông Đền Vít tự Khoan Ty Ren - Guzong Tắc Kê Rivet Cùm U Chốt - Then Định Vị Bulong Mắt Dây Rút Danh mục khác

*
Phụ kiện Nâng Hạ Danh mục khác
*
Vật bốn đường ống Đai Siết Ống Cùm Omega Phụ kiện Ống Đầu Nối Ống (Cút Đồng) Ron-Cao Su Non Danh mục khác
*
linh phụ kiện Truyền Động Vòng Bi (Bạc Đạn) Gối Đỡ Vòng Bi Seal - Phốt - Oring Dây Đai Puly Bánh Răng Càng Bánh Xe Bánh Xe Động Cơ Điện Lò Xo Con Lăn (Ball Roller) Gối Đỡ Trục Khớp Nối Trục Dẫn Hướng con đường Tính Danh mục khác
*
thứ Tư gia công Mũi Khoan Mũi Doa Mũi Taro Ren Dao Phay Mũi Vát Mũi Khoét Đầu Khoan cùng Phụ Kiện Que Hàn - Dây Hàn Lưỡi Cưa Đá Nhám Xếp Giấy Nhám Cước Đánh Bóng Danh mục khác
*
Phụ khiếu nại Khí Nén Xi Lanh Khí Nén Bộ thanh lọc Khí Van Khí Nén Đầu Nối Khí Đầu Nối Bi Giảm Thanh Khí Nén Ống Khí Nén Danh mục khác
*
Vật bốn Nhà Xưởng Thang Nhôm Máy hỗ trợ Dọn Vệ Sinh Phụ khiếu nại Bảo Hộ Danh mục khác
*
luật pháp Cầm Tay Dụng cố kỉnh Vặn - Siết Vít Kìm Dụng cố gắng Cắt - Mài Búa Dụng Cụ xử lý Đường Ống Cảo Dụng thay Kẹp Bộ Dụng Cụ Danh mục khác
*
Máy tối ưu Máy Khoan Máy Mài Máy Cưa-Máy Cắt Máy Hàn Danh mục khác
*
trang bị Điện Ổ cắm - Phích Cắm Phụ kiện Đấu Dây Phụ kiện Điện Công Nghiệp Thiết Bị Chiếu Sáng Điện Điều Khiển Thiết Bị Đóng Ngắt - trưng bày Điện Phụ khiếu nại Đi Dây Danh mục khác
*
hình thức Đo Thước Đo Panme Dưỡng, Căn Lá Đồng hồ Đo Compa Dụng nuốm Hiệu Chuẩn Dụng Cụ kiểm soát Đồng Trục - Đồng trung ương - Góc Dụng nạm Đo Điện Cân Khối Lượng Danh mục khác
*
sơn - keo dán giấy - bôi trơn Danh mục khác
*
Phụ Kiện cửa ngõ Bản Lề - Chốt Cửa Tay cố kỉnh Cửa Núm Vặn Tay Siết - Tay Cầm Ty khá - linh phụ kiện Ty Hơi Nam Châm Danh mục khác
*
TME-EU Automation Optoelectronics Semiconductors Passives Connectors Relays & Contactors Wires & Cables Enclosures Fuses & Circuit Breakers Power Sources Switches và Indicators Car Audio Computer Accessories Fans, Cooling và Heating Systems Light sources Office Equipment Robotics and Prototyping Sound Sources Transformers và Ferrite Cores Workplace Equipment Danh mục khác

PHẦN I. MODBUS RTU

1.1. Chuẩn truyền Modbus RTU.

Bạn đang xem: Lập trình giao tiếp rs485

MODBUS hoạt động theo phép tắc “Master – Slave” hay còn gọi là “Chủ – Tớ”. Một Master có thể kết nối được với cùng 1 hay nhiều “Slave”. “Master” thường xuyên là PLC, PC, DCS, RTU hay SCADA. “Slave” thường xuyên là các thiết bị cung cấp hiện trường. Nói một cách dễ hiểu, nó là một phương pháp được sử dụng để truyền thông tin qua đường dây tiếp nối giữa các thiết bị năng lượng điện tử. Thứ yêu cầu thông tin được call là Modbus Master với thiết bị tin báo là Modbus Slaves. Vào mạng Modbus tiêu chuẩn, bao gồm một Master và về tối đa 247 Slave, mỗi Slave bao gồm một địa chỉ Slave độc nhất từ ​​1 cho 247. Master cũng rất có thể ghi tin tức vào những Slave. Các thiết bị được liên kết với nhau theo mặt đường truyền chính:

*

– Chiều dài con đường truyền và vận tốc tối đa cho phép:40 Feet = 12m => 10 Mbits/sec400 Feet = 122m => 1 Mbits/sec4000 Feet = 1219m => 100 kbits/sec

Dữ liệu được mã hóa theo hệ nhị phân, và chỉ việc một byte media cho một byte dữ liệu. Đây là giao thức truyền thông media lí tưởng so với RS232 giỏi RS485, tốc độ từ 1200 mang đến 115000 baud. Tốc độ phổ cập nhất là trường đoản cú 9600 mang đến 19200 baud. MODBUS RTU là giao thức truyền thông media công nghiệp được sử dụng rộng rãi nhất.

1.2. Cấu tạo khung truyền Modbus RTU.

Một gói tin của Mobus RTU bao gồm cấu trúc như sau:

1-byte add – 1 byte mã hàm – n byte dữ liệu – 2 byte CRC.

*

1.3. Chức năng và vai trò cụ thể của những byte vào frame như sau:

1.3.1. Tác dụng của những byte theo size truyền chung.

Byte add (Slave ID):

 Xác định trang bị mang địa chỉ được nhận tài liệu (đối cùng với Slave) hoặc dữ liệu nhận được từ địa chỉ cửa hàng nào (đối với Master) và tất cả độ lâu năm một Byte. Địa chỉ này được cơ chế từ 0-254.

Byte mã hàm(Function codes):

 Được phương tiện từ Master, khẳng định yêu cầu tài liệu từ sản phẩm Slave và tất cả độ dài một Byte.

 Ví dụ mã:

01: phát âm dữ liệu tàng trữ dạng Bit

03: đọc dữ liệu tức thời dạng Byte

05: ghi dữ liệu 1 bit vào Slave

06: ghi tài liệu 1 word vào Slave

15: ghi dữ liệu nhiều bit vào Slave

16: ghi dữ liệu vào các thanh ghi.

*

Byte dữ liệu(data):

 Xác định tài liệu trao đổi giữa Master cùng Slave

a. Đọc dữ liệu:

· Master:

– 2 byte địa chỉ cửa hàng dữ liệu – 2 byte độ nhiều năm dữ liệu

· Slave:

– 2 byte địa chỉ cửa hàng dữ liệu – 2 byte độ dài tài liệu – n byte dữ liệu đọc được

b. Ghi dữ liệu:

· Master:

– 2 byte showroom dữ liệu – 2 byte độ dài tài liệu – n byte tài liệu cần ghi

· Slave:

– 2 byte add dữ liệu – 2 byte độ dài dữ liệu

Byte CRC:

2 byte chất vấn lỗi của hàm truyền, phương pháp tính giá trị của byte CRC 16 bit.

1.3.2. Công dụng của những byte theo những function được sử dụng trong PLC với Arduino.

Để gồm được kết quả nhận biết được frame dữ liệu thì bọn họ sử dụng phần mềm QCOM (hoặc tùy bạn sử dụng công vậy nào nhằm đọc giao tiếp UART cũng được) nhằm phân tích các frame và tác dụng thu được theo những function được thực hiện như sau:

a. Function 06 Preset Single Resgister.

*

Ví dụ: Ghi quý giá vào thanh ghi 40002 ở thứ ID = 1 thì frame là:

Frame send:

01 06 00 01 00 10 D9 C6

Frame Reciver:

01 06 00 01 00 10 D9 C6

Trong đó:

01 là add slave.06 là function 06. (Preset Single Resgister)00 01 địa chỉ cửa hàng thanh ghi. (~ thanh ghi 40002)00 10 dữ liệu được ghi.D9 C6 2 Byte checksum.b. Function 16 Preset Multiple Registers.

*

Ví dụ: Ghi quý giá vào thanh ghi 40001 ở trang bị ID = 1 thì frame là:

Frame Send:

01 10 00 00 00 01 02 00 10 A7 9C

Trong đó:

01 là ID Slave.10 là function. (Preset Multiple Registers)00 00 add thanh ghi. (~ Thanh ghi 40001)00 01 số thanh ghi được ghi tài liệu vào (ở đây ghi vào một trong những thanh ghi thì có giá trị là 1).02 số byte dữ liệu.00 10 Giá trị dữ liệu được ghi.A7 9C 2 Byte Checksum.

Frame Reciver:

01 10 00 00 00 01 01 C9

Trong đó:

01 là ID Slave.10 là function. (Preset Multiple Registers)00 00 showroom thanh ghi. (~ Thanh ghi 40001)00 01 số thanh ghi được ghi tài liệu vào (ở trên đây ghi vào một thanh ghi thì có giá trị là 1).01 C9 2 Byte Checksum.c. Function 03 Read Holding Registers.

*

Ví dụ: Đọc quý hiếm từ thanh ghi 40001 từ Arduino bao gồm frame là:

Frame Send:

Trong đó:

01 Là ID slave.03 Là function. (Read Holding Registers)00 00 địa chỉ cửa hàng thanh ghi(~40001).

Xem thêm: Bảng giá bạc đạn skf chính hãng, bạc đạn 626

00 01 con số thanh ghi.84 0A 2 Byte Checksum.

Frame Reciver:

Trong đó:

01 Là ID slave.03 Là function. (Read Holding Registers)02 Số Byte đọc.00 01 dữ liệu.79 84 2 Byte Checksum.

1.4. Địa chỉ dữ liệu và thanh ghi theo chuẩn chỉnh modbus.

Thông tin dữ liệu được lưu trữ trong máy Slave được phân chia trong 4 khoảng giá trị không giống nhau. Hai khoảng chừng lưu trữ những giá trị rời rộc on/off (coils) với hai khoảng lưu trữ giá trị số (register – thanh ghi). Từng coils cùng register đều có khoảng vươn lên là chỉ gọi (read-only) và vươn lên là đọc với ghi (read-write).

Mỗi khoảng tầm có 9999 biến chuyển giá trị.Mỗi coil hoặc tương tác là 1bit cùng được gán một địa chỉ dữ liệu trong vòng từ 0000 đến 270E.Mỗi register là một trong những word = 16 bít = 2 bytes và cũng rất được gán một địa chỉ cửa hàng dữ liệu tự 0000 mang lại 270E.

Coil/Register NumbersData AddressesTypeTable Name
1-99990000 lớn 270ERead-WriteDiscrete output Coils
10001-199990000 to 270ERead-OnlyDiscrete đầu vào Contacts
30001-399990000 to 270ERead-OnlyAnalog input đầu vào Registers
40001-499990000 to 270ERead-WriteAnalog output Holding Registers

Coil/Register Numbers có thể được coi như tên vị trị bởi chúng không lộ diện trong các thông điệp thực tế. “Data Addressses” được sử dụng trong các thông điệp truyền cài (truy xuất dữ liệu).

Ví dụ: Holding Register có số là 40001, bao gồm “Data Address” là 0000. Sự khác biệt giữa hai giá trị này là độ lệch. Mỗi bảng gồm một độ lệch không giống nhau. 1, 10001, 30001 với 40001.

PHẦN II. CHUẨN TRUYỀN THÔNG RS485 trong PLC S7-1200

2.1. Chuẩn truyền thông RS485 vào PLC.

Module Rs485 là thiết bị chức năng truyền thông nhằm kết hợp với PLC để triển khai giao thức truyền thông RS485 với các thiết bị khác. Đối với form truyền thì Frame truyền theo khung chuẩn chỉnh Mobus RTU. Trong lập trình đến PLC thì sử dụng các module tính năng để phục vụ cho việc liên kết và truyền dữ liệu. Họ chỉ cần cấu hình, thiết lập các biến chuyển để liên kết và truyền tài liệu tới vật dụng trường.

Trước khi vào phần lập trình sẵn thì chúng ta cần phải cấu hình module CM1241 (Module RS485) được kết nối với PLC.

*

Sau lúc thêm Module CM1241 thì chúng ta vào phần cấu hình để cấu hình một vài thông số kỹ thuật Baud rate, Parity, Data bits, Stop bits theo hình bên dưới:

*

Đối với PLC là master và các thiết bị thường là Slave thì bọn họ sử dụng 2 module code như sau:

2.1.1. Module code COMM_LOAD_DB.

MB_COMM_LOAD: cần sử dụng để thông số kỹ thuật cho cổng kết nối vì vậy nó sẽ tiến hành khởi động thứ nhất và chỉ chạy 1 lần trong cả quy trình truyền thông. Vày vậy khối hàm này sẽ phải có và cách thực hiện cũng như thông số kỹ thuật cho khối này được đính kèm theo tại đoạn phụ lục:

*

Chúng ta setup các thông số kỹ thuật cho hàm MB_COMM_LOAD với các thông số kỹ thuật như bên trên trong đó:

REQ: Đóng sứ mệnh như là 1 trong bit enable, nghĩa là lúc nó bởi 1 thì hàm sẽ tiến hành thực hiện. Mặt khác ví như đã nhắc tới ở bên trên hàm này chỉ việc thực hiện nay 1 lần để khởi tạo các thông số kỹ thuật truyền thông. Do đó bit REQ chỉ có mức giá trị bằng 1 trong vòng lặp đầu tiên. Vì thế khi ban đầu chương trình hàm MB_COMM_LOAD vẫn được triển khai luôn.

PORT: giá trị của PORT đó là giá trị của thông số Hardware indentifier trong thừa trình thiết lập module lúc đầu. Quý hiếm 269 là quý hiếm được tùy chỉnh thiết lập mặc định khi thông số kỹ thuật thiết bị

BAUD: vận tốc baud được lựa chọn theo những giá trị như: 9600, 12500… cơ mà thường là lựa chọn 9600 cùng được chọn theo thông số kỹ thuật đã được thiết lập.

PARITY: được tùy chỉnh theo như cấu hình được tùy chỉnh cấu hình trước đó.

MB_DB là khối dữ liệu được tham chiếu tự khối MASTER

2.1.2. Khối MB_MASTER.

REQ: Là bit enable, khi nó được bật lên thì thừa trình truyền thông media được thực hiện.

MB_ADDR: Là địa chỉ cửa hàng của Slave, các địa chỉ cửa hàng này được tùy chỉnh cấu hình trên Slave.

DATA_ADDR: là địa chỉ thanh ghi tài liệu ở Slave.

MODE: Bit này sẽ được set tùy theo mục đích áp dụng của ta là hiểu hay ghi. Nạm thể bọn họ tham khảo các mode theo bảng dưới đây:

PHẦN III. KẾT NỐI PLC VỚI ARDUINO

3.1. Kết nối các thiết bị.

Arduino UNOMAX-485 TTL to RS-485 Converter Module
0(RX)RO
1(TX)DI
2DE và RE
+5VVCC
GNDGND

DB9MAX-485 TTL to RS-485 Converter Module
A3
B8
VCC5V
GNDGND

3.2. Phần code làm việc Ardunio.

#include “Modbus
Rtu.h” //Library for using Modbus in Arduino

Modbus slave (1, Serial, 2); //Modbus slave ID as 1 và 1 connected via RS-485 và 4 connected khổng lồ DE và RE pin sạc of RS-485 (ID from 1 to lớn 247)

//Define Object bus for class modbus

uint16_t modbus_array<> = 0, 0, 0; //Array initilized with three 0 values

int Number <10> = 0x
FC, 0x60, 0x
DA, 0x
F2, 0x66, 0x
B6, 0x
BE, 0x
E0, 0x
FE, 0x
F6;

// the setup routine runs once when you press reset:

void setup()

Serial.begin(9600);

slave.start();

void loop()

if (slave.poll( modbus_array, 2 ) > 4) //Used to lớn receive or write value from Master

// write value analog (A0 pin) for register 40002 of Arduino

modbus_array<1> = analog
Read(A0);

Serial.println( analog
Read(A0) );

delay(500);

PHẦN IV. KẾT LUẬN

  Trên đây là nội dung bài viết chia sẻ về tiếp xúc giữa PLC S7-1200 và arduino qua chuẩn chỉnh truyền thông RS485. Hy vọng bài viết này đang hỗ trợ, hỗ trợ được nhiều người trong vấn đề thao tác làm việc với PLC với arduino, hoặc cũng tương tự các nhiều loại vi điều khiển và tinh chỉnh khác, và to hơn nữa là rất có thể làm những dự án công trình công nghiệp mà lại không đủ đk để tiếp cận PLC. Ví như trong bài viết có gì không đúng sót, cần kiểm soát và điều chỉnh thì hãy cho chính mình biết nhằm mình điều chỉnh lại nhé.Chúc thành công!

Khái niệm về giao thức Modbus RTU và kết nối phần cứng
Tìm phát âm về khung truyền Modbus RTU