Đăng Ký
Trang 2 của 2 Đầu tiênĐầu tiên 12
Kết quả 11 đến 20 của 22

Chủ đề: Bơm luân phiên.

Hybrid View

  1. #1
    Thành viên cấp 4
    Ngày tham gia
    Dec 2011
    Đang ở
    Ho Chi Minh City
    Bài viết
    422
    Thanks
    60
    217 lượt trong 104 bài viết
    Còn làm kiểu xét thời gian thì có vẻ hơi khó so với bạn nên khi nào gặp bài toán thực tế mình hướng dẫn sau. Vẫn dùng ngôn ngữ SCL vì nó dễ hiểu và gần với giải thuật.

  2. #2
    Thành viên cấp 1
    Ngày tham gia
    Nov 2015
    Bài viết
    25
    Thanks
    0
    Thanked 1 Time in 1 Post

    đề bài

    Trích dẫn Gửi bởi ducozil Xem bài viết
    Anh có thể cho cách làm ngày trên bài toán của e để dễ hình dung được ko ạ,cái này tổng quát quá
    lẬP TRÌNH CHO LOGO
    2 BƠM CHẠY THEO PHAO,PHAO MỨC THẤP KO CHẠY,PHAO MỨC CAO 2 BƠM CHẠY LUÂN PHIÊN.AI CÓ THỂ VIẾT BẰNG LADDER KO Ạ.CẢM ƠN

  3. #3
    Thành viên cấp 1
    Ngày tham gia
    Nov 2015
    Bài viết
    25
    Thanks
    0
    Thanked 1 Time in 1 Post
    Trích dẫn Gửi bởi chauvinhloi Xem bài viết
    Kỹ thuật điều khiển bơm luân phiên thường được sử dụng trong các dự án ngành nước. Tuy nhiên chỉ dùng 1 phao để điều khiển bơm thì không đủ, ít nhất phải 2 phao cho 2 mức Start và Stop. Nếu dùng 1 phao bạn phải delay để có 2 khoảng Start Stop.

    Cách 1: dễ - bài toán đơn giản
    Thông thường nếu chỉ có 2 bơm thì dùng giải thuật "gắn cờ".

    Ví dụ bơm 1 chạy rồi thì bạn gắn cờ cho nó, lần sau nó không chạy nữa để bơm 2 chạy. Bơm 2 chạy xong thì cờ trả cho bơm 2. Cứ luân phiên như vậy.

    Cách 2: khó - dùng cho bài toán tổng quát
    Nếu nhiều hơn 2 bơm và áp dụng cho trường hợp tổng quát thì bạn dùng giải thuật so sánh thời gian thực. Tức là xem khoảng thời gian nghỉ của thằng nào nhiều nhất thì thằng đó được ưu tiên chạy cho lần tiếp theo.

    Ví dụ hệ thống có 4 bơm:
    Bơm 1 đang chạy
    Bơm 2 đang nghỉ, thời gian nghỉ đạt 2.5 tiếng
    Bơm 3 đang nghỉ, thời gian nghỉ đạt 2 tiếng
    Bơm 4 đang nghỉ, thời gian nghỉ đạt 3 tiếng

    Sau khi mực nước đạt mức Stop, bơm 1 dừng. Khi mực nước đạt mức Start trở lại hệ thống sẽ so sánh thời gian nghỉ của cả 4 bơm. Tất nhiên vì bơm 1 vừa chạy xong nên thời gian nghỉ của nó là ngắn nhất. Như vậy lúc này Bơm 4 sẽ được ưu tiên chạy trước vì nãy giờ "ngồi chơi" quá lâu rồi.

    Tất nhiên trong thực tế thì số lượng bơm chạy phụ thuộc vào nhu cầu của process (có thể chia làm nhiều mức chạy khác nhau - 2, 3 hay 4 bơm cùng lúc) và bạn phải có giải thuật sắp xếp ưu tiên. Nhưng tóm lại chỉ cần dựa trên hướng mình vừa nêu là giải quyết được bài toán.

    Cuối cùng, làm cách nào là do bạn quyết định, làm cách 2 thì cực hơn nhưng bạn sẽ giải quyết được bài toán tổng quát.
    Là cái này ạ

  4. #4
    Thành viên cấp 4
    Ngày tham gia
    Dec 2011
    Đang ở
    Ho Chi Minh City
    Bài viết
    422
    Thanks
    60
    217 lượt trong 104 bài viết
    Thôi vậy chỉ bạn làm cách dễ trước vì bài toán của bạn cũng chỉ có 2 bơm.

    Trước hết là mức Stop (Mức thấp) 2 bơm dừng, cái này thì quá dễ, so sánh level dùng 2 lệnh Reset là xong.
    Kế tiếp là mức cao, 2 bơm đều chạy, cái này cũng dễ, so sánh level dùng 2 lệnh Set cho cả 2 bơm.

    Phần khó nhất là đây, mức trung bình (Mức Start), chạy luân phiên:

    Xem code này nhé, lưu ý code này chỉ để tham khảo thôi chứ chưa tối ưu cho hệ thống của bạn:

    //Nếu mực nước đạt mức Start thì trigger bằng 1
    IF #Trigger=1 THEN
    IF #Mem=1 THEN #Mem:=0;
    //Đảo trạng thái cờ nhớ vì chỉ có 2 bơm nên đảo bit là được
    ELSE #Mem:=1;
    END_IF;
    END_IF;


    IF #"1 Pump Mode"=0 THEN
    //Chế độ Alternative - đảo bơm dựa vào cờ nhớ, cứ mỗi lần trigger là đảo
    IF #Mem=0 THEN #"Pump 1":=1; #"Pump 2":=0;
    ELSE #"Pump 1":=0; #"Pump 2":=1;
    END_IF;
    ELSE
    //Chế độ 1 bơm, chỉ chạy 1 bơm chứ không đảo, dùng trong trường hợp bảo trì 1 bơm, biến "Pump No" dùng để chọn bơm
    IF #"Pump No"=1 THEN
    #"Pump 1":=1;
    #"Pump 2":=0;
    END_IF;
    IF #"Pump No"=2 THEN
    #"Pump 1":=0;
    #"Pump 2":=1;
    END_IF;
    END_IF;
    Lần sửa cuối bởi chauvinhloi, ngày 11-30-2015 lúc 09:56 PM.

Trang 2 của 2 Đầu tiênĐầu tiên 12

Đánh dấu

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
  •  
Back to Top