Đăng Ký
Kết quả 1 đến 8 của 8

Threaded View

  1. #1
    Thành viên cấp 10
    Ngày tham gia
    Jul 2011
    Đang ở
    Da Nang City
    Bài viết
    1,418
    Thanks
    65
    257 lượt trong 205 bài viết

    Add On Instruction for RSLogix5000

    Dear all
    RSLogix5000 của Rockwell Automation ngoài những lệnh cơ bản trong tập lệnh thì phần mềm cũng cho phép khách hàng (nhà phát triển , lập trình viên ...) phát triển những lệnh mới phù hợp vời nhu cầu sử dụng. và chỉ Version V16 trở lên mới được phép .
    Như các bạn đã biết với PLC khi cần điều khiển một tín hiệu gì đó mà nó hay lặp lại ( với nhiều tín hiệu ) thì mọi người thường lập trình nhiều chương trình con để control những tín hiệu đó. Chính vì vậy sẽ dẫn đến chương trình sẽ lặp lại nhiều lần và dẫn đến lỗi có thể xãy ra.
    Rockwell Automation có thể cho phép người dùng tạo ra những lệnh như vậy ,
    mình ví dụ :


    thay vì dùng một đoạn code thì mình chỉ sử dụng một lệnh mà vẫn đảm bảo yêu cầu điều khiển .
    còn đây là lệnh mình tạo để điều khiển Pump.


    và đây là code của nó.
    ////////// Pump control by Level with Auto/Man Select ///////////////////
    Delay_Start_Motor.PRE := 5000; // Delay check Motor fault

    /////// Select Mode //////////
    auto := not Auto_Man ;
    man := Auto_Man;

    //// Control Motor /////////
    Enable := ((man and (Start or Enable ))or (auto and Level_bit)) and not Stop and not Motor_fault and not CB_trip_bit;
    Motor_on := Enable;

    /////// Motor start fault ///////
    Delay_Start_Motor.TimerEnable := Motor_on and not Contact_NC;
    TONR(Delay_Start_Motor );
    if Delay_Start_Motor.DN then
    Motor_fault := 1;
    end_if;

    // Reset Fault ///////
    if Reset then
    Motor_fault :=0;
    CB_trip_bit :=0;
    end_if;

    ///////// Level control /////////
    if High_level and Low_Level then
    Level_bit :=1;
    else
    if not Low_Level then
    Level_bit := 0;
    else
    end_if;
    end_if;

    /// CB motor fsult /////
    if CB_trip then
    CB_trip_bit := 1;
    Motor_fault := CB_trip_bit;
    end_if;
    /////////////////////////

    Mình hướng dẫn tạo lệnh sau ....
    chúc một ngày vui vẽ..
    Lần sửa cuối bởi cuongvcs, ngày 02-08-2012 lúc 09:49 PM.
    ---------------------------------
    Thank and Best Regards
    cuongvcs
    Email :
    Hidden Content
    Hidden Content
    Tel : 0984198685
    " Listen. Think. Solve. "
    Skype : cuongvcs

Đá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