[tomtat]
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 FX2N-2DA ghép nối
với PLC FX1N-40MR.
[/tomtat]
[mota]
Thực hành ghép nối và lập trình :
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 :
Ngõ vào Analog module FX2N-2AD:
Sơ đồ đấu nối ngõ vào tín hiệu Analog PLC Mitsubishi |
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 :
Sơ đồ ngõ ra Analog module FX2N-2DA |
Hình ảnh thực tế đấu nối :
Đấu nối PLC Mitsubishi với module analog |
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 ). ( Theo
Phòng kỹ thuật Công ty Auto Vina )
------------------------------------------------------------------------------------
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ụ:
Để 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 :
Địa chỉ module analog khi kết nối PLC Mitsubishi |
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:
- 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.
- 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:
Đ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 ngõ vào và
analog ngõ ra trên hai module FX2N-2AD và FX2N-2DA, ghép nối qua PLC
FX1N-40MR.
Nếu quý khách hàng cần thêm sự hỗ trợ xin vui lòng liên hệ qua Email,
điện thoại hoặc tin nhắn, nhận xét trên Blog. Lưu ý, quý khách hàng khi
mua hàng sẽ được hỗ trợ code mẫu đã soạn thảo tương tự ví dụ trên. Rất
mong sự ủng hộ của quý khách.
Biên soạn : ©Nguyễn Bá Quỳnh - Phòng kỹ thuật - Công ty TNHH Cơ điện Auto Vina
Xuất bản ngày 04/04/2016. Link bài viết gốc :
Bài viết thuộc bản quyền của tác giả. Hãy tôn trọng tác giả khi sao chép nội
dung ![/mota]
[giaban]Giá: miễn phí[/giaban]
lúc 16:22 16 tháng 11, 2017
[ Trả lời ]
lúc 06:03 20 tháng 11, 2017
lúc 11:04 20 tháng 11, 2017
Không liên quan đến digital input. Module analog của bạn thế nào thì nó có thế đó.
lúc 17:13 22 tháng 7, 2019