Modbus S7-1200 và KM-N2-FLK Omron

41 lượt xem

Viết bởi:

Ngày: 22/02/2021

Modbus S7-1200

KM-N2-FLK là đồng hồ đo các thông số điện năng như KW,KVA, Cosphi, Điện Áp, Dòng diện… 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ố 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. 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)

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 bitsStop 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.

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.

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

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

Ví 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:

MB_MASTER:

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.

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.

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

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.

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.

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

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

Xin vui lòng xem thêm Siemens tại đây 

Bài cùng chuyên mục

  • Hướng dẫn board analog FX3G-2AD

    FX3G-2AD-BD Là bo mạch để mở rộng thêm 2 đầu vào analog 0-10VDC ( 12 bit) hoặc 4-20mA( 11 bit) . Bo mạch được cắm vào mặt trước của PLC FX3S, FX3G. Board mở rộng này không chiếm bộ nhớ I/O của CPU. Tùy vào model CPU có thể gắn 1 đến 2 board lên […]

  • Giải pháp toàn diện điều khiển nhiệt độ

    Cấu hình điều khiển nhiệt độ Điều khiển nhiệt độ là một trong những yêu cầu phổ biến nhất trong quá trình sản xuất công nghiệp . Thông thường, chúng ta phải kết hợp một vài thiết bị tự động hóa chủ chốt để tạo thành một ứng dụng  điều khiển nhiệt độ như HMI […]

  • Giới thiệu và hướng dẫn kết nối màn hình HMI Kinco – Siemens S7-1200 – Omron CP1L-E

    Kinco Electric là hãng sản xuất màn hình cảm ứng HMI rất có ảnh hưởng tại Trung Quốc. Hãng có trụ sở tại Thượng Hải và Thẩm Quyến, hiện đã có mặt trên sàn chứng khoán Thượng Hải. Màn hình màu kiểu TFT với hiển thị 16 triệu màu, kích cỡ từ 4.3 inch, 7 […]

  • Omron CP2E dòng compact PLC hoàn mới

    Omron CP2E  Micro PLC for data collection and machine-to-machine communication Vừa qua Omron cho ra mắt dòng PLC mới series CP2E bao gồm 3 loại( 3 types): CP2E-E ( Essential) là dòng plc loại tiết kiệm, bao gồm cổng lập trình USB và cổng RS232( để kết nối với HMI và các thiết bị ngoại […]

  • Rơ le bảo vệ động cơ Omron K6CM

    Rơ le bảo vệ động cơ Omron K6CM Omron mới ra mắt series rơ le bảo vệ động cơ tiên tiến, giúp khách hàng bảo vệ tài sản của mình hiệu quả. Rơ le bao gồm 3 loại như sau: Theo dõi động cơ và tải bất thường qua phân tích dòng   2. Theo […]

  • Hệ giám sát và hiển thị tốc độ sản xuất- Andon

    1. Mục đích: Thông báo sản lượng, theo dõi tình hình sản xuất, kinh doanh, kích thích thi đua sản xuất giữa các dây chuyền sản xuất 2. Chức năng: • Hiển thị sản lượng đặt theo ngày (Today plan). Ví dụ sản lượng mục tiêu của ca làm việc hiện tại là 1000 sản […]

  • Dùng PLC để gửi tin nhắn SMS

    So với các phương thức gửi thông tin bằng email, hay dạng push up như bản tin trên các dòng Smartphone cần 3G hoặc wifi và setup server phức tạp, thì việc gửi thông tin bằng GSM, tin nhắn SMS là một phương thức đơn giản và hiệu quả. Việc setup để hệ thống hoạt […]

  • Truyền thông Modbus FX3U Mitsubishi với biến tần M200 Nidec- Hướng dẫn

    Truyền thông Modbus FX3U Mitsubishi với biến tần M200 Nidec   Giới thiệu về Module truyền thông FX3U-485ADP-MB PLC Mitsubishi. FX3U-485ADP-MB là module giao tiếp theo chuẩn RS485 của Mitsubishi có hỗ trợ sẵn truyền thông Modbus RTU. Module được sử dụng rất rộng rãi trong các hệ thống tự động hóa dùng PLC Mitsubishi […]