Cái này bạn giải phương trình đường thằng y=ax+b nhé.X là giá trị analog input,Y là giá trị đo nhiệt độ,áp suất,lưu lượng,...
a=(Ymax-Ymin)/(Xmax-Xmin);b= (Ymax-Xmax)*a.
Xmin
=0 nếu analog 0...10V hoặc 0...20mmA
=6400 nếu analog 4..20mmA
Xmax=32000
Vậy là bạn tính được giá trị rồi nhé.
ACE cho mình hỏi sao công thức tính giá trị khối lượng lại khác nhau nhỉ? Công thức 1:
Chọn dải trên EM235 0 --> 10 V
Dải đầu vào số đưa vào PLC là PLC là 0 --> 4095
Gọi giá trị số 12 bit sau khi xử lý tín hiệu tương tự là A (A nằm trong khoảng từ 0 - 4095)
Giá trị khối lượng = A* (khối lượng cực đại của cảm biến - Khối lượng cực tiểu của cảm biến) / Độ phân giải 12 bit
--> Giá trị khối lượng = A* (6 kg - 0 kg) / 4096 giả sử cảm biến Max là 6kg
Hệ số đưa vao là He_so = 6/4096 = 0.0014648
A_in: Giá trị điện áp nhận được
D_out: Giá trị 12 bit nhận được
A_max: Giá trị Max của đầu vào Analog (do cấu hình) hay cảm biến.
A_min: Giá trị min của cảm biến.
D_max: Giá trị Max phân giải thường là 32000
D_min: Giá trị min (0)
Giá trị cảm biến: 0 - 6 kg
EM235 độ phân giải 12 bit
Giải giá trị nhận vào 0 --> 320000
Điện áp đầu vào 0 --> 10 V
Sử dụng quy tắc tam suất:
Giả sử 2kg ---> (2*10)/6 = 3,33 (V) (Giá trị điện áp mà Module nhận được)
---> (3,33*32000)/10 = 10656 (Giá trị 12 bit nhận được)
Vậy 2kg lúc ấy sẽ tương ứng là:
2 kg = 10656*(6/32000).
EM235 độ phân giải 12 bit mà sao giá trị nhận vào lại là 0 - 32000 chứ không phải 0 -- 4095 nhỉ? Dẫn đến công thức 1 và 2 khác nhau. Không biết xử lý theo kiểu gì nữa. Mình (em) không rõ về vấn đề này lắm. Mong tất cả cho ý kiến và giúp mình hiểu kỹ hơn nhé.
Cảm ơn mọi người rất nhiều! Chúc buổi tối tốt lành.
Ví dụ đọc tín hiệu đo mức nước có dãi đo từ 0m-40m. Tín hiệu truyền về là 4-20mA, nghĩa là 0m = 4mA, 40m=20mA. Nhiệm vụ là phải hiển thị được con số mực nước lên HMI.
Lưu ý, S7200 có module đọc analog có độ phân giải từ 4000 đến 32000, nghĩa là 4mA đọc vào thì trong PLC hiểu là 4000 đơn vị và 20mA đọc về là 32000 đơn vị.
Như vậy ta có thể lặp được 1 đường thẳng qua 2 điểm.
Giả sử nếu tín hiệu thực tế là 9mA, hỏi mức nước cần tính toán và hiển thị trên HMI là bao nhiêu? Các bạn tính thử xem rồi sẽ bàn tiếp cách thức đọc analog
Công thức để tính cho tín hiệu Analog sẽ là:
Os=[(Osvmax -Osvmin)(Isv-Isvmin)/(Isvmax-Isvmin)]+Osvmin
O: outputs
s: sensor
v :value
xin lỗi, các thầy các anh có thể chỉ dạy cho em chỗ này được không ạ, em chưa được thông suốt cho lắm!
"Os=[(Osvmax -Osvmin)(Isv-Isvmin)/(Isvmax-Isvmin)]+Osvmin" phiền các thầy chứng minh công thức này giúp em ạ.chắc em phải ôn lại toán học quá . và tiện thể cho em hỏi luôn ạ, từ công thức trên ta đã có giá trị "Os". thầy của em bảo rằng tính toán thế nào phải ra giá trị thực tế của vật đo cho thầy, ví dụ ở đây mà mức nước chẳng hạn. vậy thi từ giá trị Os đã có đó, em phải dùng CT tam suất suy ngược vê mức nước (mét) nữa ạ. vậy có công thức nào là công thức rút gọn của hai công thức trên để ra mức nước luôn không ạ?.
mong hồi âm từ các thầy, các anh. xin cảm ơn nhiều ạ...
xin lỗi, các thầy các anh có thể chỉ dạy cho em chỗ này được không ạ, em chưa được thông suốt cho lắm!
"Os=[(Osvmax -Osvmin)(Isv-Isvmin)/(Isvmax-Isvmin)]+Osvmin" phiền các thầy chứng minh công thức này giúp em ạ.chắc em phải ôn lại toán học quá . và tiện thể cho em hỏi luôn ạ, từ công thức trên ta đã có giá trị "Os". thầy của em bảo rằng tính toán thế nào phải ra giá trị thực tế của vật đo cho thầy, ví dụ ở đây mà mức nước chẳng hạn. vậy thi từ giá trị Os đã có đó, em phải dùng CT tam suất suy ngược vê mức nước (mét) nữa ạ. vậy có công thức nào là công thức rút gọn của hai công thức trên để ra mức nước luôn không ạ?.
mong hồi âm từ các thầy, các anh. xin cảm ơn nhiều ạ...
Chú này cần phải học lại thật rồi, xem hình minh họa nhé.
Tam suất gì nữa, chương trình S7-200 mình vừa vào trang Siemens kiemr tra thấy đầy ra đó, tại lười không chịu đọc. Dùng cái hàm S_ITR. giả sử mức nước trong bồn là từ 0-6m vậy giá trị OSH=6, OSL=0, ISH, ISL tùy thuộc module resolution thực tế nhé, vậy là cái giá trị đầu ra của cái hàm S_ITR sẽ nằm trong khoảng từ 0-6 mà thôi nếu như sử dụng đúng.
Lần sửa cuối bởi dienkhung, ngày 04-08-2013 lúc 03:03 AM.
Chú này cần phải học lại thật rồi, xem hình minh họa nhé.
Tam suất gì nữa, chương trình S7-200 mình vừa vào trang Siemens kiemr tra thấy đầy ra đó, tại lười không chịu đọc. Dùng cái hàm S_ITR. giả sử mức nước trong bồn là từ 0-6m vậy giá trị OSH=6, OSL=0, ISH, ISL tùy thuộc module resolution thực tế nhé, vậy là cái giá trị đầu ra của cái hàm S_ITR sẽ nằm trong khoảng từ 0-6 mà thôi nếu như sử dụng đúng.
Chuẩn men anh ơi.Giống cái bài của em ở trên đã hướng dẫn bạn này.Mình chỉ cần xác định các giá trị MIN-Max rồi thay các đại lượng vào để tính giá trị
Mình muốn đọc tín hiệu từ một cảm biến nhiệt độ ( khả năng là sử dụng PT100 ) và 1 cảm biến đo áp suất. CPU loại 224. Mình tính chỉ sử dụng thêm một module mở rộng là EM231, như vậy thì có đảm bảo kĩ thuật ko ?
Mình muốn đọc tín hiệu từ một cảm biến nhiệt độ ( khả năng là sử dụng PT100 ) và 1 cảm biến đo áp suất. CPU loại 224. Mình tính chỉ sử dụng thêm một module mở rộng là EM231, như vậy thì có đảm bảo kĩ thuật ko ?
Nếu dùng PT100 mà không có tranmister thì không dùng được vì nó là biến trở nhiệt,em nên dùng module EM231RTD thì dùng trực tiếp được,(có 2 loại module dùng chuyên cho đầu dò nhiệt là EM231TC dùng cho thermocouple và EM231RTD dùng cho PT)
Nếu dùng PT100 mà không có tranmister thì không dùng được vì nó là biến trở nhiệt,em nên dùng module EM231RTD thì dùng trực tiếp được,(có 2 loại module dùng chuyên cho đầu dò nhiệt là EM231TC dùng cho thermocouple và EM231RTD dùng cho PT)
Cảm ơn a kidsolo. Nhưng ở đây nếu dùng EM231RTD thì vẫn phải cần 1 module EM231 nữa để đọc tín hiệu từ cảm biến áp suất fai ko anh. Như vậy thà dùng EM231 + tranmister có vẻ gọn gàng và kinh tế hơn.
Dự án e đag làm là nồi hấp tiệt trùng, cần đọc và xử lí cả tín hiệu nhiệt độ và áp suất. Mới vào ghề nên vẫn còn gà qá :D
Đánh dấu