-
Thành viên cấp 1

Gửi bởi
anhlv.ddt
sai khác là do bạn lập trình, có thể tín hiệu đọc về bị hao tổn trên đường dây sinh ra sai số ... bạn cần viết hàm để tuyến tính hóa giá trị của bạn
Modul analog đọc tín hiệu có giá trị 0 - 32767 và hiển thị dải giá trị ra là 0 - 1300 độ C. Phương trình có dạng: y = (1300/32767)*x, Mình cho kết nối với 5 can nhiệt thì nhận được giá trị x = 290, 312, 270, 285, 267. Thay vào phương trình thì y = 11, các khoảng gần đó. nhiệt độ môi trường là khoảng 28, 29 rồi. Sai lệch quá lớn. Có cách nào làm cho sai lệch nhỏ lại không bạn??
p/s: - mình tháo can nhiệt ra thì trên phần mềm lập trình, giá trị nhận về từ tín hiệu là +32767
- Nối tắt can nhiệt thì tín hiệu vẫn nhận về là +312. Khó hiểu quá, bạn biết tại sao không??
-
-
Thành viên cấp 4

Gửi bởi
hanhcb
Modul analog đọc tín hiệu có giá trị 0 - 32767 và hiển thị dải giá trị ra là 0 - 1300 độ C. Phương trình có dạng: y = (1300/32767)*x, Mình cho kết nối với 5 can nhiệt thì nhận được giá trị x = 290, 312, 270, 285, 267. Thay vào phương trình thì y = 11, các khoảng gần đó. nhiệt độ môi trường là khoảng 28, 29 rồi. Sai lệch quá lớn. Có cách nào làm cho sai lệch nhỏ lại không bạn??
p/s: - mình tháo can nhiệt ra thì trên phần mềm lập trình, giá trị nhận về từ tín hiệu là +32767
- Nối tắt can nhiệt thì tín hiệu vẫn nhận về là +312. Khó hiểu quá, bạn biết tại sao không??
Can nhiệt thì không dùng hàm scale nha bạn, cứ lấy giá trị đọc về chia 10 là đúng
-
-
Thành viên cấp 1

Gửi bởi
Mechatronic_Hieu
Can nhiệt thì không dùng hàm scale nha bạn, cứ lấy giá trị đọc về chia 10 là đúng
Mình để ý là khi can nhiệt bị lỗi hay mất tín hiệu, giá trị đọc về sẽ là max (+32767) và giá trị trả ra màn hình cũng là max (1300 độ C). Nếu chia cho 10 thì không hiện giá trị 1300 được
-
-
Thành viên cấp 10

Gửi bởi
hanhcb
Mình để ý là khi can nhiệt bị lỗi hay mất tín hiệu, giá trị đọc về sẽ là max (+32767) và giá trị trả ra màn hình cũng là max (1300 độ C). Nếu chia cho 10 thì không hiện giá trị 1300 được
Bạn kia chỉ đúng rồi đó,lấy tín hiệu chia 10 xử lý là xong,còn chuyện mà trả về 1300 là do giới hạn hàm scale max người lập trình quy định là 1300 thì cứ vượt ngưỡng là nó sẽ tính ra 1300
-
Bài viết của "kidsolo1412" đã được cám ơn bởi các thành viên:
-
Thành viên cấp 4

Gửi bởi
hanhcb
Mình để ý là khi can nhiệt bị lỗi hay mất tín hiệu, giá trị đọc về sẽ là max (+32767) và giá trị trả ra màn hình cũng là max (1300 độ C). Nếu chia cho 10 thì không hiện giá trị 1300 được
Bạn nên đọc lại tài liệu về can nhiệt và analog của Siemen.
-
Bài viết của "Mechatronic_Hieu" đã được cám ơn bởi các thành viên:
Tag của Chủ đề này
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 06:17 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu