-
Thành viên cấp 4
cách tính của sfb48 cũng giống như mình tự tính trong khoảng thời gian cài trước (100ms) chương trình đếm số xung và chia cho thời gian, cách tính này không chính xác khi đo tần số thấp, em học kỹ thuật đo em sẽ biết đo tần số thấp và tần số cao thì cách đo khác nhau, đo tần số cao thì đếm xung, còn tần số thấp thì đo chu kì T,
Anh đoán cái mãi sau của em cũng ngắn chứ không dài đúng ko, còn giá trị không về 0 mà vẫn nhảy nhưng mà nhảy nhỏ đúng không, cái này có thể là do encoder khi dừng ở vị trí nhạy cảm gần mép lỗ thì khi rung nhẹ encoder sẽ tạo ra xung, xung này làm sai số và bộ đếm dao động, bộ đếm 300 có chức năng bỏ qua hiện tượng này, em xem thêm trong tài liệu cpu31x technical trên trang support.automation.siemens.com, chức năng này cũng hay lắm đó ^_^,
P/s: thực tế thì ở tốc độ thấp anh không quan tâm lắm, nhỏ dưới 5hz thì anh gán nó bằng 0 luôn để khách hàng khỏi ý kiến gì
-
-
Thành viên Mới
Em chào anh ncrazy ạ. Hiện tại em có mô hình gồm 1 động cơ chạy trong dải 0-1400v/p, 1 encoder với độ phân dải là 1024, và 1 biến tần 0-50Khz. Em cho đặt biến tần chạy ở 25Khz tức là động cơ sẽ chạy với tốc độ 700v/p. Từ đó em sẽ dùng hàm SFB48 để đo với thời gian cài trước 100ms thì em đo được ở chân MEAS_VAL có giá trị là 320000(mKZ) nếu theo cách gải thích của anh thì tốc độ đông cơ sẽ tính đc 320*600/1024=187 v/p như thế hoàn toàn lệch so với tốc độ là 700v/p. Không biết hệ thống của em có lỗi ở điểm nào không nữa. Anh có thể giải thích cho em về vấn đề này không ạ. Anh có số điện thoại hay mail không ạ có thể cho em xin được không ạ.Kính mong hồi âm của anh.
À quên mất em thử thay đổi thời gian đặt trước là 1s thì em cứ nghĩ là chân MEAS_VAL giá trị chỉ còn là 32000 nhưng trên thực tế chân MEAS_VAL vẫn có giá trị là 320000 tức là không thay đổi gì.
Lần sửa cuối bởi quydh107, ngày 06-09-2012 lúc 03:25 PM.
-
-
Thành viên cấp 4
Bạn chỉnh lại bài của bạn thì mình mới hiểu được, biến tần 0-50hz đúng ko?, meas_vale có giá trị .... mKZ nghĩa là sao
Để dễ theo dõi thì bạn cho biến tần chạy tốc độ thấp thôi, theo như kết quả của bạn thì có thể bộ đếm bị tràn, cpu 312c chỉ đếm được 10khz, 313c là 30 và 314c là 60khz,
Gửi bởi
quydh107
Em chào anh ncrazy ạ. Hiện tại em có mô hình gồm 1 động cơ chạy trong dải 0-1400v/p, 1 encoder với độ phân dải là 1024, và 1 biến tần 0-50Khz. Em cho đặt biến tần chạy ở 25Khz tức là động cơ sẽ chạy với tốc độ 700v/p. Từ đó em sẽ dùng hàm SFB48 để đo với thời gian cài trước 100ms thì em đo được ở chân MEAS_VAL có giá trị là 320000(mKZ) nếu theo cách gải thích của anh thì tốc độ đông cơ sẽ tính đc 320*600/1024=187 v/p như thế hoàn toàn lệch so với tốc độ là 700v/p. Không biết hệ thống của em có lỗi ở điểm nào không nữa. Anh có thể giải thích cho em về vấn đề này không ạ. Anh có số điện thoại hay mail không ạ có thể cho em xin được không ạ.Kính mong hồi âm của anh.
À quên mất em thử thay đổi thời gian đặt trước là 1s thì em cứ nghĩ là chân MEAS_VAL giá trị chỉ còn là 32000 nhưng trên thực tế chân MEAS_VAL vẫn có giá trị là 320000 tức là không thay đổi gì.
-
-
Thành viên Mới
Không phải bộ đếm bị tràn đâu anh à vì đơn vị của chân MEAS_VAL là mHZ, mà em dùng con 314C-2dp tức là chân MEAS_VAL có dải giá trị là 0-60.000.000 mhz anh thử đọc kỹ bài của em xem.Vì em làm cả hàm SFB 47 nhưng em thấy cách tính của cả 2 hàm nghe thì rất logic nhưng khi test thật thì nó hoàn toàn đọc không đúng tốc độ. Mà anh có thể cho em số điện toại được không ạ. Cho em dễ liên lạc chứ nói chuyện qua diễn đàn như thế này cũng hơi khó
Gửi bởi
ncrazy
Bạn chỉnh lại bài của bạn thì mình mới hiểu được, biến tần 0-50hz đúng ko?, meas_vale có giá trị .... mKZ nghĩa là sao
Để dễ theo dõi thì bạn cho biến tần chạy tốc độ thấp thôi, theo như kết quả của bạn thì có thể bộ đếm bị tràn, cpu 312c chỉ đếm được 10khz, 313c là 30 và 314c là 60khz,
-
-
Thành viên cấp 4
^_^ cách tính 2 hàm này không sai đâu bạn, mình làm nhiều rồi, bạn thử kiếm cái đồng hồ đo tần số đo tần số xung ngõ vào xem nó bao nhiêu, việc chọn khoảng thời gian 100ms hay 1s chỉ ảnh hưởng đến tốc độ thấp nhất mà nó đọc được thôi
-
-
Thành viên cấp 3
anh ncrazy ơi em hỏi, cấu hình thế nào để cho khi tần số thấp thì coi như = 0. nếu làm vậy kết quả bị sai mà anh, giờ em muốn đo tốc độ thì phải làm sao . em chưa hiẻu cái hàm SFB 48 lắm, vì tần số đo về có vẻ không đúng hic hic
-
-
Thành viên cấp 4
^_^ anh đọc thấy có phần cấu hình khi tốc độ bằng 0 trong tài liệu, anh chưa sài cái đó bao h, trước giờ anh đọc tần số cao thôi, tần số thấp anh nói với khách hàng là không đọc được, họ thấy không quan trọng nên khỏi đọc, nhưng tần số tầm 20 hz lên đến 10kz thì anh đọc bình thường không bị sao cả, em xem kiếm cái đồng hồ tần số đo tần số ngõ vào xem
-
-
Thành viên cấp 3
vâng cảm ơn anh, để em thử lại vậy, còn mỗi cái vấn đề hiển thị tốc độ động cơ mà khó quá hic hic
-
-
Thành viên cấp 3
em làm thế này anh ạ, đếm xung về, dùng 1 timer cứ 100ms ngắt 1 lần để khởi động lại bộ đếm, rồi dùng 1 timer khác để 500ms update kết quả 1 lần, nó vẫn bị nhaý nhưng ổn định hơn, không bit có cách nào hay hơn không mong các bác chỉ giáo
-
-
Thành viên cấp 4
em vẫn dùng sfb47 à, sfb48 không cần khởi động lại bộ đếm đâu, khi nào cần thì gọi job lấy ra thôi
-
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à 11:29 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu