Thật ra để lấy các thông số bạn có thể tính ra được bằng công thức(Bạn tham khảo phương pháp tính của Nicolas Zeighler)
Cách thứ 2 bạn dùng PID tune control panel.Tính năng này sẽ giúp bạn dò ra tham số gần đúng của bộ PID nhưng không phải lúc nào cũng lấy được.Nếu hệ dao động quá xa giá trị đặt(SP) thì công cụ này không thể lấy được tham số
PS:Bạn có thề hiệu chỉnh những thông số này bằng cách thay đổi giá trị trong các vùng nhớ V của bộ PID(bạn vào datablock xem chính xác vùng nhớ)
Lần sửa cuối bởi kidsolo1412, ngày 05-08-2012 lúc 11:02 AM.
mấy anh xem hộ em chương trình này em viết lỗi ở đâu,em compile bằng microwin thì không báo lỗi nhưng khi chạy mô phỏng bằng s7-200 thì không được, em cảm ơn!
http://www.mediafire.com/?lbx309dqcwsbwqr
1 là bạn gửi sai file 2 là bạn compile sai.Tôi check ra 5 lỗi,vào chương trình con nhìn lại phần lệnh move bạn dùng MOV_R mà IN bạn để là 1 byte??
anh cho em hỏi, nếu mình dùng lệnh PID(TBL, LOOP) thì giá trị SP và PV phải scale về dải (0-1) phải không, còn nếu mình khai báo bằng PID wirzard thì giá trị PV là số nguyên từ (0-32000), và SP là số thực mình đặt à, ví dụ như em đặt SP=15,5 thì nó tự sacle về dải (0-32000) để so sánh với PV ạ,mà khai báo bằng PID wirzad mình có cách nào thay đổi lại kp ki kd trong chương trình được không anh, đây là chương trình của em, ngoài thiếu chương trinh đếm xung tốc độ cao HSC em còn phải bổ sung gì không, mấy anh xem giúp em, em cảm ơn!
http://www.mediafire.com/?xvm4qmqdbeegct8
anh cho em hỏi, nếu mình dùng lệnh PID(TBL, LOOP) thì giá trị SP và PV phải scale về dải (0-1) phải không, còn nếu mình khai báo bằng PID wirzard thì giá trị PV là số nguyên từ (0-32000), và SP là số thực mình đặt à, ví dụ như em đặt SP=15,5 thì nó tự sacle về dải (0-32000) để so sánh với PV ạ,mà khai báo bằng PID wirzad mình có cách nào thay đổi lại kp ki kd trong chương trình được không anh, đây là chương trình của em, ngoài thiếu chương trinh đếm xung tốc độ cao HSC em còn phải bổ sung gì không, mấy anh xem giúp em, em cảm ơn!
http://www.mediafire.com/?xvm4qmqdbeegct8
Hidden Content Hidden Content Hidden Content
Hidden Content HỌC HỎI-CHIA SẺ-PHÁT TRIỂNHidden Content
Khi khai báo bằng wizard nó có giải thích rõ,những giá trị nó là range của SP,PV em đặt thế nào thì nó là thế đó làm gì có chuyện tự scale về.Nếu đặt 1 cái range 0-32000 còn 1 cái 0-15,5 thì em tưởng tượng như em đang so sánh 100 ngàn VND với 100 ngàn USD vì PLC nó chỉ hiểu về mặt giá trị số còn đơn vị gì nó hoàn toàn không biết,có nghĩa là nó chỉ làm sao cho PV bằng với setpoint.
Còn muốn thay đổi những thông số đó thì vào datablock sẽ thấy vùng nhớ để thay đổi giá trị
anh kidsolo hiểu biết nhiều về plc thật...
sao em kiếm mãi mà không thấy cài hàm scale trong step 7 vậy anh? em có bài toán về nhiệt độ... cảm biến đưa về điện áp từ 0-->5v. em chọn module analog có cấu hình 0-->5V. tức 0oC -->0v, 100oC--> 5V. Tương ứng 0-32000, yêu cầu bài toán của em là khi nhiệt độ lớn hơn 30oC thì Qo.o bật. Nhỏ hơn 30oC Qo.o tắt... em có đọc về hàm scale nhưng em còn mơ màng quá, anh có thể giải thích cho em được không, em tính toán thì với nhiệt độ 30oC thì lúc này cảm biến đưa áp về module là 1,5V-->9600. nhưng em chưa hiểu rõ lệnh scale lắm. anh có thể viết chương trình như bài toán của em được không.. thật sự em muốn hiểu rõ nó lắm.. cám ơn anh
Vào:www.tudonghoahcm.net phần tài liệu và phần mềm chuyên ngành down thư viện scale và cách add vào micro/win
Đánh dấu