Hướng dân Lập trình PLC Mitsubishi với module analog

"Không có gì nghèo bằng không có tài. Không có gì hèn bằng không có chí". Hãy ghé thăm tài liệu hay hàng ngày để cập nhật tài liệu mới nhất nhé.
thumbnail

hướng dẫn lập trình analog cho mitsubishi là một trong những bài toán lập trình PLC ứng dụng rất nhiều trong thực tế. Với mức độ bao phủ rộng thị trường PLC của hãng Mitsubishi, bài viết này chúng ta sẽ thực hành lập trình để cùng lúc sử dụng hai loại module là module ngõ vào analog FX2N-2AD và ngõ ra analog FX2N-2DA ghép nối với PLC FX1N-40MR.


Thực hành ghép nối và lập trình plc :

1. Hình ảnh Module FX2N-2DA , PLC FX1N-40MR, FX2N-2AD của hãng Mitsubishi :


Sau đây, Công ty TNHH Cơ điện Auto Vina gửi tới quý khách hàng hình ảnh thực tế PLC và module analog cho PLC của hãng Mitsubishi hiện đang có sẵn trong kho Auto Vina.
- Module FX2N-2DA chuyển đổi tín hiệu số thành tín hiệu tương tự : Trên PLC thực hiện nạp dữ liệu số từ 0~4000, ngõ ra sẽ tương ứng từ 0~10VDC hoặc 4~20mA.
- Module FX2N-2AD chuyển đổi tín hiệu tương tự thành tín hiệu số : Khi kết nối tín hiệu analog từ 0~10VDC hoặc 4~20mA, PLC FX1N-40MR sẽ đọc từ module lên giá giá số tương ứng từ 0~4000.

Module PLC Mitsubishi FX2N-2DA


PLC FX1N-40MR + Module FX2N-2AD + Module FX2N-2DA

2. Sơ đồ đấu nối tín hiệu Analog plc Mitsubishi  :


Ngõ vào Analog module FX2N-2AD:



Chú ý khi kết nối ngõ vào dòng điện, ngõ vào VIN và IIN phải nối chung với nhau.

Ngõ ra Analog module FX2N-2DA :


Hình ảnh thực tế đấu nối :



3. Độ phân giải và thông số ngõ vào/ra :
Mỗi Module được tích hợp 2 kênh chuyển đổi. 

Ngõ vào FX2N-2AD :


- Điện áp vào :
Giải điện áp vào : 0 ~ 10V DC
Giải giá trị số : 0 ~ 4000
Độ phân giải : 12bit
- Dòng điện vào :
Giải dòng điện vào : 4 ~ 20mA
Giải giá trị số : 4000
Độ phân giải : 12 bit


Ngõ ra FX2N-2DA :
- Điện áp ra :
Giải điện áp ra : 0 ~ 10V
Giải giá trị số : 0 ~ 4000
Độ phân giải : 12bit
- Dòng điện ra :
Giải dòng điện ra : 4 ~ 20mA
Giải giá trị số : 0 ~ 4000
Độ phân giải : 12 bit


4. Địa chỉ thanh ghi kết nối :
------------------------------------------------------------------------------------
4.1 Module FX2N-2DA:
a. Thanh ghi số 16: 
Thanh ghi nạp giá trị số để chuyển đổi, gồm 16 bit :
Bit 15 - Bit 14 - Bit 13  - Bit 12 - Bit 11 - Bit 10 - Bit 9 - Bit 8 - Bit 7 - Bit 6 - Bit 5 - Bit 4 - Bit 3 - Bit 2 - Bit 1 Bit 0

Trong đó :
Từ Bit 8 đến Bit 15 không được sử dụng.
8 Bit còn lại từ Bit 0 đến Bit 7 được dùng để chứa giá trị số cần chuyển đổi.

b. Thanh ghi số 17:
Thanh ghi điều khiển việc nạp dữ liệu số, kích hoạt quá trình chuyển đổi giá trị số sang analog ngõ ra.
Thanh ghi cũng có 16 bit nhưng chỉ sử dụng 3 bit thấp là:
Bit 0: Khi bit này chuyển mức từ mức 1 xuống mức 0, quá trình chuyển đổi D=>A của kênh CH2 sẽ được bắt đầu.
Bit 1: Khi bit này chuyển mức từ mức 1 xuống mức 0, quá trình chuyển đổi D=>A của kênh CH1 sẽ được bắt đầu.
Bit 2: Khi bit này chuyển mức từ mức 1 xuống mức 0, quá trình lưu dữ liệu 8 bit thấp của giá trị số nạp xuống được thiết lập.

Ví dụ: 
Để kích hoạt  quá trình chuyển đổi DA của kênh CH1 , ta sẽ thực hiện:
Bước 1: Nạp thanh ghi số 17, bit 2 = 1 => dữ liệu nạp xuống là 010 , tương ứng với số K2, hoặc H2
Bước 2: Nạp thanh ghi số 17, bit 2 = 0 => dữ liệu nạp xuống là 000 , tương ứng với số K0, hoặc H0

Chú ý, các bit tính theo hệ nhị phân ( cơ số 2 ) và quy đổi thành hệ Thập lục phân - Hexa ( cơ số 16 ). Ký hiệu chữ H là chỉ số ở hệ Hexa, hoặc quy đổi sang thập phân - chữ K là hệ thập phân ( hệ cơ số 10 ). 
------------------------------------------------------------------------------------
4.1 Module FX2N-2AD:

a. Thanh ghi số 0: 
Thanh ghi chứa 8 bit thấp của giá trị số đã được chuyển đổi tương ứng ngõ vào Analog, gồm 16 bit :
Bit 15 - Bit 14 - Bit 13  - Bit 12 - Bit 11 - Bit 10 - Bit 9 - Bit 8 - Bit 7 - Bit 6 - Bit 5 - Bit 4 - Bit 3 - Bit 2 - Bit 1 Bit 0

Trong đó :
Từ Bit 8 đến Bit 15 không được sử dụng.
8 Bit còn lại từ Bit 0 đến Bit 7 lưu 8 bit thấp của giá trị số đã chuyển đổi.

b. Thanh ghi số 1: 
Thanh ghi chứa 4 bit cao giá trị số đã được chuyển đổi tương ứng ngõ vào Analog, gồm 16 bit :
Bit 15 - Bit 14 - Bit 13  - Bit 12 - Bit 11 - Bit 10 - Bit 9 - Bit 8 - Bit 7 - Bit 6 - Bit 5 - Bit 4 - Bit 3 - Bit 2 - Bit 1 Bit 0

Trong đó :
Từ Bit 4 đến Bit 15 không được sử dụng.
4 Bit còn lại từ Bit 0 đến Bit 3 lưu 4 bit cao của giá trị số đã chuyển đổi.

c. Thanh ghi số 17:
Thanh ghi điều khiển việc đọc dữ liệu số, kích hoạt quá trình chuyển đổi tín hiệu analog thành giá trị số.
Thanh ghi cũng có 16 bit nhưng chỉ sử dụng 2 bit thấp là:
Bit 0: 
             Trạng thái  = 0: kênh CH1 được chọn để xứ lý.
             Trạng thái  = 1: kênh CH2 được chọn để xứ lý.
Bit 1: Khi bit này chuyển mức từ mức 0 lên mức 1, quá trình chuyển đổi A=>D sẽ được bắt đầu.


Ví dụ  Hướng dẫn lập trình analog Input và Oput PLC Mitsubishi

Để kích hoạt  quá trình chuyển đổi AD của kênh CH1 , ta sẽ thực hiện:
Bước 1: Nạp thanh ghi số 17, bit 0 = 0 => dữ liệu nạp xuống là 00 , tương ứng với số K0, hoặc H0
Bước 2: Dùng lệnh đọc thanh ghi số 0 và thanh ghi số 1 để có đủ 8 bit thấp, 4 bit cao của 12 bit giá trị số đã chuyển đổi từ ngõ vào tín hiệu analog. Chi tiết xem cấu trúc lập trình bên dưới.
------------------------------------------------------------------------------------

5. Cách ghép nối vật lý và định địa chỉ Module : 
- Đối với PLC Mitsubishi, theo phòng kỹ thuật Công ty TNHH Cơ điện Auto Vina đã tìm hiểu thì các modul I/O thông thường sẽ ghép nối mà không cần bất kỳ thiết lập nào. Địa chỉ sẽ tiếp nối phụ thuộc theo số ngõ vào / ra có sẵn của PLC.
- Các Module đặc biệt như Module Analog sẽ được tự động hoàn toàn định địa chỉ theo thứ tự gần với PLC nhất. Và tính từ K0. Chi tiết xem hình dưới đây :


Trong hình có sử dụng PLC FX1N-40MR và Module : FX2N-2AD, FX2N-2DA
Theo thứ tự ta có: địa chỉ của Module FX2N-2AD là 0, địa chỉ của Module FX2N-2DA là 1.

6. Cấu trúc lệnh kết nối dữ liệu tới địa chỉ thanh ghi của Module : 
Lệnh tương tự với PLC Delta, tham khảo thêm bài viết về lập trình PLC Delta của phòng kỹ thuật Công ty TNHH Cơ Điện Auto Vina:

a. Lệnh viết dữ liệu : TO
- Cấu trúc lệnh:
                         | TO |  m1 | m2 | S | n |
Trong đó : 
+ TO là tên lệnh
+ m1 là địa chỉ của Module theo thứ tự như mục số 5 đã nêu trên.
+ m2 là địa chỉ của thanh ghi cần kết nối tới, là các thanh ghi ở mục 4 đã nêu trên.
+ S là dữ liệu để viết vào thanh ghi. S có thể là hằng số hoặc dữ liệu dạng thanh ghi data trong PLC.
+ n là số thanh ghi được viết trong lệnh, tính từ địa chỉ m2.

- Cách viết lệnh: 
Trong cửa sổ lập trình, gõ trực tiếp câu lệnh theo cấu trúc trên.
b. Lệnh đọc dữ liệu : FROM
- Cấu trúc lệnh:
                         | FROM |  m1 | m2 | D | n |
Trong đó : 
+ FROM là tên lệnh
+ m1 là địa chỉ của Module theo thứ tự như mục số 5 đã nêu trên.
+ m2 là địa chỉ của thanh ghi cần kết nối tới, hay chính là chỉ số thanh ghi ở mục 4 đã nêu trên.
+ D là dữ liệu lưu kết quả giá trị sau khi đọc từ Module lên. D là các dạng dữ liệu kiểu thanh ghi trong PLC.
+ n là số thanh ghi sẽ đọc lên trong lệnh, tính từ địa chỉ m2.

- Cách viết lệnh: 
Trong cửa sổ lập trình, gõ trực tiếp câu lệnh theo cấu trúc trên. 


7. Ví dụ thực hiện lệnh TO để nạp giá trị cho kênh CH2 của module FX2N-2DA :

Chúng ta vẫn giả sử theo ví dụ trên là Module FX2N-2DA được kết nối vào vị trí 1 như trên mục số 5.  Chi tiết địa chỉ thanh ghi, lập trình viên coi lại mục số 4 ở trên hoặc xem trong tài liệu đi kèm thiết bị.

Thực hiện mở phần mềm và chọn Model PLC tương ứng cho FX1N-40MR:

Phần mềm GX Developer - lập trình cho PLC Mitsubishi
Dưới đây là đoạn code thực hiện chuyển đổi tín hiệu số 12 bit từ 0~4000 qua kênh CH2 của module FX2N-2DA mà anh em kỹ thuật Công ty Auto Vina đã sử dụng. 
Đoạn code này có thể thực hiện cho cả PLC dòng FX0N, FX1N, ... của Mitsubishi

Code lập trình PLC Mitsubishi kết nối module FX2N-2DA
Bit M8000 là bit luôn ON khi PLC có lệnh RUN.
Các lệnh được giải thích như sau:
- Lệnh 1: Nạp giá trị số 16 bit từ thanh ghi D0 xuống 16 bit qua thanh ghi ghép từ M0 đến M15
- Lệnh 2: Tách 8 bit thấp lưu sang thanh ghi ghép từ M16 đến M23
- Lệnh 3: Nạp xuống module 1 - là FX2N-2DA, thanh ghi #16 giá trị 8 bit có được ở bước 2.
- Lệnh 4: Đưa bit 2 của thanh ghi #17 trong module lên 1.
- Lệnh 5: Xóa bit 2 của thanh ghi #17 trong mudule về 0, quá trình nạp 8 bit thấp được xác nhận.
- Lệnh 6: Tách 8 bít cao của thanh ghi giá trị số ở Lệnh 1, tiếp tục lưu đệm qua thanh ghi ghép từ M16 đến M23, trong 8 bit cao này chứa 4 bit cao còn lại của số liệu 12 bit cần nạp xuống từ thanh ghi D0 ( Lý do 12 bít là vì module chỉ chuyển đổi được 12 bit, chúng ta có thể xem kỹ lại thông số đã nêu ở Mục 3.
- Lệnh 7: Nạp 8 bit đã tách được từ lệnh số 6 xuống thanh ghi #16 của module.
- Lệnh 8: Nạp bit 0 của thanh ghi #17 trong module lên 1.
- Lệnh 9: Xóa bit 0 của thanh ghi #17 trong module về 0. Quá trình chuyển đổi giá trị số được thực hiện và xuất ra ngõ ra analog kênh CH2 của module FX2N-2DA.

Như vậy, chúng ta đã có thể truyền giá trị số xuống module DA để chuyển đổi thành tín hiệu analog 0~10VDV, 4~20mA. Việc còn lại là thực hiện nạp giá trị cần vào thanh ghi D0 và kích hoạt đoạn code trên, M8000 có thể thay thành bit điều kiện khi cần sẽ SET ON.

8. Ví dụ thực hiện lệnh FROM để đọc giá trị từ kênh CH1 của module FX2N-2AD :

Từ đầu chúng ta vẫn giả sử theo ví dụ là Module FX2N-2AD được kết nối vào vị trí 0 như trên mục số 5.  Module FX2N-2DA được gắn vào vị trí 1.
Đoạn code dưới đây dành cho việc đọc dữ liệu từ kênh CH1 của module FX2N-2AD:
Code lập trình PLC Mitsubishi kết nối module FX2N-2AD
Các lệnh được giải thích như sau:
- Lệnh 1: Nạp bit 0 của thanh ghi #17 trong module về 0 để lựa chọn kênh CH1 sử dụng.
- Lệnh 2: Nạp bit 1 của thanh ghi #17 trong module lên 1 để kích hoạt quá trình chuyển đổi tín hiệu analog từ ngõ vào thành giá trị số.
- Lệnh 3: Lấy giá trị số đã chuyển đổi từ thanh ghi #0 và #1 của module FX2N-2AD. Quá trính đọc dữ liệu sẽ thực hiện liên tiếp 2 lần.
                Lần 1: Đọc 8 bit thấp từ thanh ghi #0 lưu vào thanh ghi ghép từ M10 đến M17
                Lần 2: Đọc 4 bit cao từ thanh ghi #1 lưu vào thanh ghi ghép từ M18 đến M25
- Lệnh 4: Lấy giá trị số đã lưu vào thanh ghi ghép từ M10 đến M25 sang thanh ghi D10.
- Lệnh 5: ( END - kết thúc chương trình ).

Như vậy giá trị số từ kênh CH1 của module FX2N-2AD đã được đọc lên và lưu vào thanh ghi D10 của PLC, việc còn lại của lập trình viên là xử lý số liệu trong thanh ghi D10 để thực hiện các chương trình logic theo yêu cầu bài toán.

9. Ghép nối tín hiệu analog từ module FX2N-2DA đưa ngược lại FX2N-2AD :

Chúng ta ghép hai đoạn code của mục số 7 và mục số 8 thành một chương trình kiểm tra analog như sau: chúng ta sẽ dùng ngõ ra của module chuyển đổi số sang analog FX2N-2DA đưa ngược lại ngõ vào của module chuyển đổi analog thành số FX2N-2AD. Đồng thời chúng ta dùng đồng hồ đo để kiểm tra tín hiệu điện áp 0~10VDC.

Hình ảnh thực tế đấu nối :

Đấu nối tín hiệu analog từ module FX2N-2DA đừa về module FX2N-2AD
Tiến hành online chương trình và quan sát thực tế. Quá trình sẽ như sau:
Nạp giá trị số vào thanh ghi D0 => Xuất thành tín hiệu analog ngõ ra kênh CH2 của module FX2N-2DA => đưa ra đồng hồ đo điện áp DC và nối song song với ngõ vào analog kênh CH1 của module FX2N-2AD => đọc dữ liệu từ đồng hồ xem đã tương ứng với mức chuyển đổi theo lý thuyết từ thanh ghi D0 => Kiểm tra giá trị đọc về từ module FX2N-2AD đã lưu sang thanh ghi D10 => Đối chiếu lại 2 thanh ghi số liệu D0 và D10.

Lần 1: D0 = 0, kết quả D10 =0, Đồng hồ đo hiển thị ~0VDC
Online PLC, thực hiện chức năng Device test để nhập số liệu cho thanh ghi D0 = 0. Nhìn sang thanh ghi D10.


Kiểm tra đồng hồ đo bên ngoài:


Lần 2: D0 = 2000, kết quả D10 =2000, Đồng hồ đo hiển thị ~5VDC
Nhập số liệu cho thanh ghi D0 = 2000. Nhìn sang thanh ghi D10.


Kiểm tra đồng hồ đo bên ngoài:


Lần 3: D0 = 4000, kết quả D10 =4000, Đồng hồ đo hiển thị ~10VDC
Nhập số liệu cho thanh ghi D0 = 4000. Nhìn sang thanh ghi D10.


Kiểm tra đồng hồ đo bên ngoài:


Trên đây là toàn bộ nội dung thực hành xử lý tín hiệu analog trong plc mitsubishi ngõ vào và analog ngõ ra trên hai module FX2N-2AD và FX2N-2DA, ghép nối qua PLC FX1N-40MR.