Việc xử lý tín hiệu analog 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 PX2N-2DA ghép nối với PLC FX1N-40MR.Việc xử lý tín hiệu analog 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 PX2N-2DA ghép nối với PLC FX1N-40MR.
Module FX2N-2DA, PLC FX1N-40MR, FX2N-2AD của hãng Mitsubishi
- 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.
Sơ đồ đấu nối tín hiệu Analog
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:
Độ 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.
- 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.
Địa chỉ thanh ghi kết nối
Module FX2N-2DA
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.
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 HO
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).
Module FX2N-2AD
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.
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.
- Bit còn lại từ Bit 0 đến Bit 3 lưu 4 bit cao của giá trị số đã chuyển đổi.
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ụ:
Để 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.
Cách ghép nối vật lý và định địa chỉ Module
- Đối với PLC Mitsubishi, thì các module l/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, và địa chỉ của Module FX2N-2DA là 1.
Cấu trúc lệnh kết nối dữ liệu tới địa chỉ thanh ghi của Module
Lệnh viết dữ liệu: TO
- Cấu trúc lệnh: I TO I m1 I m2 I S I n I
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.
Lệnh đọc dữ liệu : FROM
- Cấu trúc lệnh: I FROM I m1 I m2 I D I n I
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.
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 cách ghép nối vật lý và định địa chỉ module ở phía trên. Chi tiết địa chỉ thanh ghi, lập trình viên coi lại phía 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:
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. Đoạn code này có thể thực hiện cho cả PLC dòng FX0N, FX1N,… của Mitsubishi.
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 module về 0, quá trình nạp 8 bit thấp được xác nhận.
- Lệnh 6: Tách 8 bit 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 bit là vì module chỉ chuyển đổi được 12 bit, chúng ta có thể xem kỹ lại thông số đã nêu trên).
- 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.
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 PX2N-2AD được kết nối vào vị trí 0 như phần trên. 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:
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.
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 2 mục ví dụ trên 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:
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 DO
=> 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: DO = 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 DO = 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 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:
0 nhận xét:
Đăng nhận xét