Thứ Hai, 28 tháng 2, 2022

Hướng dẫn truyền thông Modbus Đầu cân với PLC Siemens S7-1200

 








































Hướng dẫn truyền thông Modbus Đầu cân với PLC Siemens
S7-1200



Kết nối RS485 chuẩn Modbus RTU để các thiết bị
khác có thể đọc các thông số về điện năng. Việc PLC đọc dữ liệu từ
thiết bị khác qua Modbus RS485 không mới, tuy nhiên rất tốn thời gian



Đầu
cân là đồng hồ đo thông số khối lượng, năng suất, tốc độ...Loại đồng hồ
này hỗ trợ kết nối RS485 chuẩn Modbus RTU để các thiết bị khác có thể đọc
các thông số. Việc PLC đọc dữ liệu từ thiết bị khác qua Modbus RS485
không mới, tuy nhiên rất tốn thời gian. Sau đây xin hướng dẫn chi tiết




Cấu hình các thông số cho module CM 1241 (RS422/485)


 


p1


Các
bạn làm lần lượt các bước như hình ảnh ở trên, vào Device Configuration
-> Click vào hình ảnh của module -> Click vào mục General.


Tại
Tag General các bạn bắt đầu config bạn chú ý tới những mục sau:


·        
– Đầu tiên trong thư mục RS422/RS485 interface các
bạn vào mục PortConfiguration tại
đây ta chú ý tới các thông số được khoanh như trong hình.


 


+
Trong phần Operating mode chọn Half
duplex (RS485) two-wire operation
 là chế độ truyền
thông RS485 2 dây


+
Cac thông số như Baud rateParityData
bits
Stop bits mình
cấu hình phải đúng như trên thiết bị Slave.


+
Thông số Wait time là thời gian chờ thiết lập lại, nghĩa là nếu kết nối
không thành công thì trong khoảng thời gian này module sẽ cố gắng kết lối
lại, quá khoảng thời gian trên mà vẫn không kết nối được thì module sẽ
khởi động lại.


p1


Tiếp
theo là phần Hardware identifier, thông số này mình ko thiết lập nhưng
mình phải nhớ để sau này dung.


p3


Sau
đó ta Compile để hoàn thành quá trình cấu hình cho module và bắt đầu đi
vào viết chương trình.


Đầu
tiên ta tạo 1 Function đặt tên là Modbus_RTU


p4


Sau
khi tạo được Function ta mở nó ra. Tại đây ta sẽ viết chương trình
chính phục vụ cho mục đích truyền thông.


Với
truyền thông Modbus RTU  với S7-1200 thì trong Step7 đã hỗ trợ sẵn
cho ta 3 hàm chính dùng để truyền thông đó là:


MB_COMM_LOAD:
Dùng để cấu hình cho cổng kế nối vì vậy nó sẽ được


khởi
động đầu tiên và chỉ chạy 1 lần trong cả quá trình truyền thông. Cái
này


bắt
buộc phải có.


MB_MASTER:
Đây là hàm dùng để điều khiển quá trình truyền nhận trên


thiết
bị Master.


MB_SLAVE:
Đây là hàm điều khiển quá trình truyền nhận trên thiết bị Slave



dụ như trong trường hợp này ta sử dụng S7-1200 để đọc dữ liệu từ đồng hồ
đo năng lượng KM-N2 vì vậy S7-1200 sẽ đóng vai trò làm Master và đồng hồ
sẽ đóng vai trò là Slave nên ta cần sử dụng 2 hàm MB_COMM_LOAD và
MB_MASTER.


Để
sử dụng các function này ta vào
Instructions/Communication/Communication Processor/Modbus giữ chuột kéo
ra như các hình bên dưới.


MB_COMM_LOAD:


p5


 


MB_MASTER:


p6


 


Sau
khi gọi các function cần thiết ra ta bắt đầu thiết lập, cài đặt các
thông số đầu vào , đầu ra cho chúng.


Thiết
lập các thông số cho MB_COMM_LOAD function.


p7


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


REQ:
Đóng vai trò như là 1 bit enable, nghĩa là khi nó bằng 1 thì hàm sẽ được
thực hiện. Mặt khác như đã nói ở trên hàm này chỉ cần thực hiện 1 lần để
khởi tạo các thông số truyền thông. Do đó bit REQ chỉ có giá trị bằng 1
trong vòng lặp đầu tiên. Ở đây ta gán bit M0.0 cho REQ nhưng dùng tiếp
điểm thường đóng. Do vậy khi bắt đầu chương trình hàm MB_COMM_LOAD sẽ
được thực hiện luôn, ngay bên dưới hàm này sẽ là 1 network với nhiệm vụ
set bit M0.0 lên 1 để đảm bảo từ vòng lặp sau hàm MB_COMM_LOAD sẽ không
được thực hiện.


PORT:
Giá trị của PORT chính là giá trị của thông số Hardware indentifier
trong quá trình thiết lập module lúc đầu. Cụ thể ta có thể tham khảo
hình bên dưới.


p8


BAUD
hay PARITY cũng tương tự các giá trị đã cài đặt cho module.


MB_DB:
Chính là địa chỉ của hàm MB_MASTER_DB mà ta vừa tạo. Như ở đây nó có
giá trị là DB3.


Thiết
lập các thông số cho MB_MASTER_DB function..


p9


Ta
thiết lập các thông số như hình trên. Trong đó:


REQ:
Là bit enable, khi nó được bật lên thì quá trình truyền thông được thực
hiện. Như trong ví dụ này ta chỉ đọc 1 thanh ghi của đồng hồ đo năng lượng
lên ta nối nó với bit M0.1 bằng tiếp điểm thường đóng, do đó nó luôn
luôn được bật và trong khi ta không cần tác động gì vào bit M0.1


MB_ADDR:
Là địa chỉ của Slave, ở đây là đồng hồ thời đo năng lượng KM-N2.


MODE:
Bit này sẽ được set tùy theo mục đích sử dụng của ta là đọc hay ghi. Cụ
thể tham khảo trong tài liệu của S7-1200, như trong trường hợp này ta cần
đọc thanh ghi chứa dữ liệu điện áp V1 của đồng hồ nên ta chọn mode là
0.


Xem
hình ảnh bên dưới.


p10


 


DATA_ADDR:
Là địa chỉ tương đối của thanh ghi chứa giá trị cần đọc. Gọi là địa chỉ
tương đối vì DATA_ADDR= A+B+C


Trong
đó:


A:
Là giá trị đầu tiên trong dải địa chỉ của chế độ mà ta chọn. Như hình
trên ta thấy cùng là mode 0, 1 hoặc 2 thì có nhiều chế độ khác nhau, để
phân biệt chúng với nhau thì ta để ý tới ô cuối cùng nó sẽ có các dải địa
chỉ khác nhau.


VD
như khi ta chọn mode 0 và nhập vào địa chỉ nằm trong khoảng từ 1 tới
999 thì PLC nó sẽ hiểu là ta chọn chế độ đọc giá trị out put của bit.
Như ở đây ta cần đọc giá trị của 1 thanh ghi nên ta phải nhập địa chỉ nằm
trong khoảng từ 40001 tới 49999 hoặc 400001 tới 465535.  Khi đó
giá trị A của ta sẽ là 40001 hoặc 400001.



đây ta chọn A=40001


B:
Là giá trị của địa chỉ thực của thanh ghi cần đọc, như hình dưới ta thấy
địa chỉ chứa thanh ghi của điện áp V1 là 0.


p11


C:
Là giá trị offset bằng 1.


Từ
đó ta tính được giá trị : DATA_ADDR = 40001+0+1=40002


DATA_LEN:
Độ dài của dữ liệu cần đọc, ở đây ta cần đọc 1 thanh ghi thì chọn


DATA_LEN=1


DATA_PTR:
Con trỏ chỉ tới địa chỉ lưu dữ liệu. Ở đây ta cần tạo thêm 1 Data Block
để lư dữ liệu đọc về. Như trên hình ta đã tạo 1 Data Block với tên là
Data_Modbus trong đó chứa biến Voltage1. Nó có địa chỉ là DB1


p12


Sau
khi hoàn thành các bước trên ta vào chương trình chính gọi Function
Data_Modbus ra, nạp chương trình xuống PLC sẽ thấy được kết quả như bên
dưới


p13



5/13/2019 8:25:56 PM

































AMHTech - Giải pháp công
nghệ Việt - Chất lượng tạo niềm tin


Địa chỉ: Tầng 6 Tòa nhà
836 Trương Định, Giáp Bát, Hoàng Mai, Hà Nội.


Hotline: 0983 072 886;
Skype: tranthuyetbkhn


Tel: 024 22191333


Email: info@amhtech.com.vn


MST: 0107876079






 



© Coppyright by AMHTech, All rights reserved







 

0 nhận xét:

Đăng nhận xét