Bạn Kidsolo có thể hướng dẫn mình 1 ít kinh nghiệm thực hiện việc này không. Mình đã xem clip của bạn thực hiện. Nếu như mình dùng lệnh PID loop thì phải nhập hết các thông số (gain, ti,ts,td) rồi sau đó theo dõi, rồi mới thực hiện nhấn Auto tune à?
Printable View
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ớ)
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
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
anh hiếu giúp em với
Xin hỏi, mình viết khối PID trong s7-200 vào trình ngắt Int-0, và dùng lệnh ATCH để gọi bằng Event 10. NHưng khi kết nối online thì không thấy Chương trình ngắt Int-0 chạy, kiểm tra lệnh ATCH thì nó hiện Int=2, mà không phải là INT-0, CPU của mình là 224, mình tra bảng thấy INT=2 là ngắt khi bắt sườn xuống của I0.1. Mình không hiểu chỗ này và cách xử lý. làm ơn chỉ giùm mình.
Mạng tệ quá nên không up lên đc. Mình đã xem lại và Pid hoạt động bình thường, nhưng mình gặp vấn đề về dò tìm thông số Pid (với hệ thống nhiệt độ chỗ mình, nó gia tăng nhiệt hơi chậm). Set auto turning cũng không thấy gì.
Em đang làm điều khiển nhiệt độ cho lò điện trở, dùng PLC cpu 222, modul EM235, giám sát winCC.
Em dùng PT100, qua 1 mạch chuyển đổi về 0-10v, cấp vào chân A+ A- của EM235, chân V0 của EM235 em đưa đến chân 11 của con TCA 785 trên mạch công suất làm Udk để điều chỉnh góc mở van của Thyristo, điều chỉnh điện áp cấp cho thanh nhiệt trong lò.
Em tạo 1 bộ PID bằng Wizard. Lò có nhiệt độ là 0-346 độ C nên em đặt SetPoint là 0 - 346 là ok chứ anh? Bộ PID này em chưa biết dùng, em có xem 1 số tài liệu nhưng cũng ko hiểu cho lắm. Em nghĩ đã tạo bằng Wizard thì chỉ cần lấy ra dùng thôi nên trong chương trình chính em lấy PID0_INIT(SBR1) (có SM0.0 cấp vào chân EN). Chân PV_I là LW0, chân Setpoint_R là LD2, Output là LW6 . AIW0 được Move vào LW0 từ network trước, LW6 Move vào AQW0.
Anh xem như vậy có được không?
Còn phần kết nối wincc thì em rõ rồi nên em ko nhắc tới ở đây.
Cám ơn anh nhiều và chúc anh luôn thành công trong sự nghiệp!
để làm PID này cần có 3 thông số chính là SP- là giá trị nhiệt độ cần đặt
PV là giá trị nhiệt độ đo về từ con PT100
OUTPUT là giá trị xuất ra đối tượng điều khiển
giá trị OUT của bạn lấy ra mạch công suất để điều chỉnh góc mở anpha của thyristor
còn các hệ số P,I,D thì bạn dùng PID tune control panel. sau đó hiệu chỉnh dần
Mình cũng mới tìm hiểu cái mảng này nên gặp nhiều vấn đề quá. Các bạn làm ơn coi giùm đoạn code PID của mình với. Mình đo nhiêt độ từ Pt100 (0-200 độ C)-chuyển qua tín hiệu dòng 4-20 mA- rồi gửi về EM235. Cài SP từ HMI, mình sử dụng hàm Scale trong thư viện để nhập PV và xuất đầu ra Out (dạng dòng 10-20mA). Như vậy liệu có được không?
Mình gặp phải 1 vấn đề lúc xuất đầu ra Out, Khi mình dùng hàm scale thì khi Out=32000, mà dòng đầu ra vẫn chỉ là xấp xỉ 12mA. Nó không tuyến tính 0-32000 tương đương 10-20 mA như mình nghĩ. Làm ơn chỉ giúp mình cái sai với. Gà quá:(
Còn 1 vd nữa: Mình thử dùng chức năng PID trong con đồng hồ nhiệt độ Autonic TZN4W-14C: Nhưng mình k hiểu tại sao cứ PV< SP là cái đòng hồ cấp trực tiếp dòng 20mA và ngược lại PV>SP là 4mA mà k phải là 1 dải tuyến tính tăng dần dần từ 4-20mA nhỉ???
http://www.mediafire.com/?tadb5zr0o0dzbz9
mình cũng chưa làm với nhiệt độ bao giờ. mình mới chỉ làm với động cơ thui, quán tính nhiệt thì nó lớn nên có thể bạn sử dụng P,I thui là đủ.còn tra các hệ số thì mình chưa có kinh nghiệm. mà nói thật là ko có chút kinh nghiệm nào thực tế cả.bạn nhờ thêm các anh đi làm rùi trên này nha.
PV<SP thiết bị sẽ cố gắng thay đổi đầu ra sao cho PV tăng lên=SP cứ thế nếu ko đạt được thì nó tăng tới hết dãi ngõ ra.Ngược lại khi PV>SP.PID là dùng cho 1 hệ kín nghĩa là khi ngõ ra thay đổi thì ngõ vào của hệ phải báo về cho bộ điều khiển,nếu test bằng cách gắn cảm biến vào rồi set thiết bị thì đương nhiên sẽ xảy ra hiện tượng như trên vì ngõ ra không có thiết bị chấp hành làm thay đổi ngõ vào của bộ pid
Bạn Kidsolo có thể xem qua đoạn code cua mình và trả lời thắc mắc thứ 1 giúp mình không? Còn cái thắc mắc thứ 2 là mình thắc mắc về bộ Pid trên đồng hồ, mình k biết sử dụng nó cho đúng. Bởi vì mình gắn cảm biến có sự gia tăng nhiệt độ liên tục. Việc dò Kc, Ti, Td trong Ti được dò như thế nào vậy, mình dò tự động thì không thấy gì cả. Xin cho hỏi thêm, khi dò tự động thì có cần phải nhập 1 thông số Kc,Ti,Td cho trước ban đầu hay k?
Tại sao mình tạo PID wizards thì không thể nhìn đc phần chương trình bên trong PIDO, hiện hình cái khóa to tướng mà muốn nhập pass vào cũng không thấy chỗ để nhập?
gặp anh zippopham ra vấn đề ngay.
http://plcvietnam.com.vn/showthread.php?t=2368
cho mình hỏi.mình dùng một cảm biến nhiệt độ dòng 4-20mA tương đương 6400-32000 trong analog,nhưng ở đây giá trị cảm biến đưa về ngược vơi analog (tức 20ma tương đương 6400 và 4 tương đương 32000)nó hiểu ngược.cho mình hỏi bạn nào gặp trường hợp này chưa ,giúp mình với,cám ơn nhiều.
http://no0.upanh.com/b2.s26.d2/c5815...0712094901.jpg
Chào diễn đàn, cho mình hỏi cái này nhé, mình đang làm đồ án có mô hình như hình trên, yêu cầu: Đầu ra xả nước tuỳ ý(van xả có
thể điều chỉnh với mọi góc mở, nhưng mực nước trong bình lại luôn ở một mức cố định là 80%) mình ở đây k hiểu là tại sao trên mô hình lại dùng cả cảm biến mức và cảm biến lưu lượng, theo mình chỉ cần cảm biến mức là được rồi, các bạn có thể cho mình hỏi cách tổng hợp để lựa chọn bộ điều chỉnh trong PLC luôn nhé, thank diễn đàn
thanks bạn nhé, vậy mình và bạn cùng trao đổi trên diễn đàn để mọi thành viên cùng tham khảo nhé, cụ thể mô hình ở đây là có 2 đầu vao analog là lấy từ cảm biến lưu lượng(0-10V) và cảm biến mức(0-10V), theo bạn thì có nên đưa 2 đầu vào để lập trình k? hay là chỉ dùng đầu vào là cảm biến mức thôi, đầu ra ở đây là điều khiển động cơ(0-10V), bạn định hướng cho mình cách lập trình nhé...
để ổn định mức nước trong bồn thì cần 1 cái cảm biến đưa mức nước về PLC xử lý. và có 1 bơm analog để bơm nước vào bồn. bạn nói rõ các thiết bị có trong mô mô hình này lên cho m coi nha. còn khi đã hiểu trong mô hình những thiết bị phục vụ mục đích gì thì mình sẽ nói hướng giải quyết bài toán này. cái cảm biến lưu lượng mục đích nó để kiểm tra nước chảy trong đường ống. mình chưa hiểu là nó để làm gì.
Mô hình sử dụng động cơ bơm nước với điện áp từ 0-10V, cảm biến lưu lượngp, cảm biến mức, đèn báo mức nước, van xả nước, nguồn cung cấp, PLC CPU 224, Modul Analog EM231(vào analog) và EM232(ra analog). mình đã làm được rồi, nhung không hiểu tại sao bộ điều khiển ở đây mình dùng PI nếu thêm thành phần D thì động cơ chạy bị giật. cùng trao đổi nhé.
Ai đã dùng PID xuất cộng analog điều khiển vị trí thông qua động cơ và biến tần có thể cho mình biết độ lệch có cao quá so với việc dùng động cơ servo không. vị trí được hồi tiếp bằng encoder đọc bằng HSC sau đó dùng vòng lặp PID điều khiển tốc độ và vị trí động cơ thì liệu S7-200 có thể đảm nhiệm nhiều công việc như vậy trong 1 lúc được ko ?
có bác nào biết các lệnh này không chỉ cho em với
View more random threads:
Phá password S7 200!
Truyền thông PPI giữa các PLC S7-200
Hỏi/đáp và chia sẻ về Thời gian thực - Real...
Lỗi mô phỏng bộ đếm tốc độ cao với S7-200...
ModBus trong S7 200
s7-20 simulator kết nối với pc access
Hỏi về lệnh đọc/ghi tham số của biến tần:...
Bạn hỏi lệnh nào hay lệnh sử dụng trong nội dung chỗ tôi bôi đỏ?
Còn lệnh
thì chịu :D :D :DTrích dẫn:
View more random threads:
P/s: bạn nên hỏi rõ ràng và có ý nghĩa, hay đến chính bạn chẳng hiểu bạn hỏi cái gì thì người khác đọc sao hiểu, chỉ làm spam diễn đàn. thân
e đọc qua datasheet của cpu s7 200, e thấy họ ghi dòng s7 200 gồm tất cả các con 221 222 224 226 đều không ghi rõ là có được sử dụng PID hay không, mà chỉ ghi chung chung, vậy a nào làm nhiều, có thể cho e biết cụ thể chức năng PID thường có ở con s7 200 nào không ạ, và e đang quan tâm đến con cpu 226 rằng nó có chức năng PID không ạ