Đăng Ký
Trang 7 của 10 Đầu tiênĐầu tiên ... 56789 ... CuốiCuối
Kết quả 61 đến 70 của 92
  1. #61
    Thành viên cấp 3
    Ngày tham gia
    Oct 2013
    Bài viết
    103
    Thanks
    17
    13 lượt trong 11 bài viết
    em đang học STL nên em viết lại hàm FC 105 theo những gì em biết.... em chạy và so kết quả thấy 2 hàm chạy giống nhau
    chắc là đúng. mong các anh chỉ bảo thêm
    FUNCTION FC 2 : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    in : INT ;
    hight_lim : REAL ;
    low_lim : REAL ;
    bipolar : BOOL ;
    END_VAR
    VAR_OUTPUT
    out : REAL ;
    error : INT ;
    END_VAR
    VAR_TEMP
    a : REAL ;
    b : REAL ;
    b1 : REAL ;
    temp : DINT ;
    in_temp : REAL ;
    ax : REAL ;
    temp1 : REAL ;
    temp2 : REAL ;
    a1 : REAL ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    // chuyen doi dau vao thanh kieu real
    L #in;
    ITD ;
    T #temp;
    L #temp;
    DTR ;
    T #in_temp;
    //---------BIPOLAR=1------------------------------------------------------
    //if (in_temp > 27648) {in_temp=27648;}
    //elseif (in_temp <-27648) {in_temp=-27648;}
    // else in_tem=in;
    //-----------------------------------------------------------------------
    A #bipolar;
    JNB lb2;
    A( ;
    L #in_temp;
    L 2.764800e+004;
    >R ;
    ) ;
    JNB lbb1;
    L 2.764800e+004;
    T #in_temp;
    lbb1: A( ;
    L #in_temp;
    L -2.764800e+004;
    <R ;
    ) ;
    JNB lbb2;
    L -2.764800e+004;
    T #in_temp;
    lbb2: JU bi;
    //---------BIPOLAR=0-------------------------------------------------------------
    //if (in_temp > 27648) {in_temp=27648;}
    //elseif (in_temp <0) {in_temp=0;}
    // else in_tem=in;
    //--------------------------------------------------------------------------------
    lb2: A( ;
    L #in_temp;
    L 2.764800e+004;
    >R ;
    ) ;
    JNB lbb3;
    L 2.764800e+004;
    T #in_temp;
    lbb3: A( ;
    L #in_temp;
    L 0.000000e+000;
    <R ;
    ) ;
    JNB lbb4;
    L 0.000000e+000;
    T #in_temp;
    lbb4: JU ubi;
    //-------------BIPOLAR=0-----------------------------------------------------------
    // phuong tinh duong thang y=a*x+b => tim a & b
    //trong do b=low_lim
    // a=(hight_lim-low_lim)/27648
    //----------------------------------------------------------------------------------
    ubi: L #low_lim;
    T #b; // gan he so b
    L #hight_lim;
    L #low_lim;
    -R ;
    T #b1;
    L #b1;
    L 2.764800e+004;
    /R ;
    T #a;
    JU out;
    //-------------BIPOLAR=1------------------------
    // phuong tinh duong thang y=a*x+b => tim a & b
    //trong do b=(hight_lim +l ow_lim)/2
    // a=(hight_lim-low_lim)/55296
    //-----------------------------------------------
    bi: L #low_lim;
    L #hight_lim;
    +R ;
    T #temp1;
    L #temp1;
    L 2.000000e+000;
    /R ;
    T #b;
    L #hight_lim;
    L #low_lim;
    -R ;
    T #a1;
    L #a1;
    L 5.529600e+004;
    /R ;
    T #a;
    //-------------------------------------------------------------------------
    //tinh toan dau ra
    out: L #in_temp;
    L #a;
    *R ;
    T #ax;
    L #ax;
    L #b;
    +R ;
    T #out;
    NOP 0;
    END_FUNCTION

  2. #62
    Thành viên cấp 3
    Ngày tham gia
    Oct 2013
    Bài viết
    103
    Thanks
    17
    13 lượt trong 11 bài viết
    hàm copy khối data dựa trên hàm sfc 20 làm việc với 3 vùng nhớ I Q M
    em dã chạy và thành công, copy tốt, mong các anh cho y kiến


    FUNCTION "copy" : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    SRC_BLK : ANY ;
    DST_BLK : ANY ;
    END_VAR
    VAR_TEMP
    TEMP0 : BYTE ;
    kieudulieu_1 : BYTE ; //kieu du lieu
    n_1 : WORD ; //so byte muon copy
    db_num_1 : WORD ; //khoi db
    TEMP1 : BYTE ;
    vungnho_1 : BYTE ;
    kieudulieu_2 : BYTE ;
    n_2 : WORD ;
    db_num_2 : WORD ;
    vungnho_2 : BYTE ;
    index : BYTE ;
    cont : BYTE ;
    scr : DINT ; //dong vai tro pointer scr
    dst : DINT ; //dong vai tro pointer dst
    temp_data : BYTE ;
    TEMP2 : BYTE ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    // xac dinh kieu du lieu, so byte muon copy, khoi db so___, hoac vung nho
    L P##SRC_BLK;
    LAR1 ;
    L B [AR1,P#1.0];
    T #kieudulieu_1;
    L W [AR1,P#2.0];
    T #n_1;
    L W [AR1,P#4.0];
    T #db_num_1;
    L B [AR1,P#6.0];
    T #vungnho_1;
    L D [AR1,P#6.0];
    T #scr;

    // xac dinh kieu du lieu,cac thong so cua noi muon coppy den
    // kieu du lieu|so byte|khoi dbso___| hoac vung nho
    L P##DST_BLK;
    LAR2 ;
    L B [AR2,P#1.0];
    T #kieudulieu_2;
    L W [AR2,P#2.0];
    T #n_2;
    L W [AR2,P#4.0];
    T #db_num_2;
    L B [AR2,P#6.0];
    T #vungnho_2;
    L D [AR2,P#6.0];
    T #dst;

    //-----------------------------------------------------------------------------------
    // if(n2>n1) {index=n1
    //elseif(n1>n2){index=m2;}
    // else index=n1;
    //-----------------------------------------------------------------------------------
    A( ;
    L #n_2;
    L #n_1;
    >I ;
    ) ;
    JNB lbb1;
    L #n_1;
    T #index;
    JU next;
    lbb1: A( ;
    L #n_2;
    L #n_1;
    <I ;
    ) ;
    JNB lbb2;
    L #n_2;
    T #index;
    JN next;
    lbb2: L #n_1;
    T #index;
    //---------------------------------------------------------------------------------------
    //xac dinh kieu du lieu
    next: L #vungnho_1;
    L W#16#F;
    AW ;
    T #vungnho_1;
    L #vungnho_1;
    L 1;
    -I ;
    T #vungnho_1;
    L #vungnho_2;
    L W#16#F;
    AW ;
    T #vungnho_2;
    L #vungnho_2;
    L 1;
    -I ;
    T #vungnho_2;
    //---------------------------------------------------------------------------------------
    L #scr;
    LAR1 ;
    L #dst;
    LAR2 ;
    L #index;
    lap: T #cont;
    //---------coppy data--------------
    L #vungnho_1;
    JL err;
    JU lb_i;
    JU lb_q;
    JU lb_m;
    err: JU exit;
    lb_i: L IB [AR1,P#0.0];
    T #temp_data;
    JU lbb;
    lb_q: L QB [AR1,P#0.0];
    T #temp_data;
    JU lbb;
    lb_m: L MB [AR1,P#0.0];
    T #temp_data;
    JU lbb;
    //----------------------------------
    lbb: L #vungnho_2;
    JL errr;
    JU lbbi;
    JU lbbq;
    JU lbbm;
    errr: JU exit;
    lbbi: L #temp_data;
    T IB [AR2,P#0.0];
    JU lbbb;
    lbbq: L #temp_data;
    T QB [AR2,P#0.0];
    JU lbbb;
    lbbm: L #temp_data;
    T MB [AR2,P#0.0];
    JU lbbb;

    //------------------------------------
    lbbb: +AR1 P#1.0;
    +AR2 P#1.0;
    L #cont;
    LOOP lap;
    exit: NOP 0;
    //------------------------------------------------------------------------------
    END_FUNCTION

  3. #63
    Thành viên cấp 3
    Ngày tham gia
    Oct 2013
    Bài viết
    103
    Thanks
    17
    13 lượt trong 11 bài viết
    hàm set nhiều bít liên tiếp

    FUNCTION "set bit" : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    IN : POINTER ;
    N : INT ;
    END_VAR
    VAR_TEMP
    cont : INT ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    L P##IN;
    LAR1 ;
    L D [AR1,P#2.0];
    LAR1 ;
    A( ;
    L #N;
    L 0;
    <>I ;
    ) ;
    JNB exit;
    L #N;
    lap: T #cont;
    S [AR1,P#0.0]; // doi S=>R =>reset
    +AR1 P#0.1;
    L #cont;
    LOOP lap;
    exit: NOP 0;
    END_FUNCTION

  4. #64
    Thành viên cấp 3
    Ngày tham gia
    Oct 2013
    Bài viết
    103
    Thanks
    17
    13 lượt trong 11 bài viết
    truyền time tu hmi xuống plc: độ phân giải giây, 10ms
    định dạng xxhyymzzs ví dụ truyền 2h46m30s tu hmi xuống PLC ta nhập trên HMI như sau 02h46m30s tag kiểu string ví dụ địa chỉ bắt đầu mb100---> trong chương trình PLC nhập p#m100.0 (địa chỉ bắt đầu của tag kiểu string trên hmi) ngõ ra dang word


    FUNCTION FC 1 : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    time_add : POINTER ; //dia chi bat dau cua chuoi timer
    END_VAR
    VAR_OUTPUT
    timer_out : WORD ;
    END_VAR
    VAR_TEMP
    TEMP0 : DWORD ;
    gio_giay : INT ;
    phut_giay : INT ;
    giay : INT ;
    TEMP1 : INT ;
    TEMP2 : INT ;
    TEMP3 : INT ;
    TEMP4 : INT ;
    byte0 : BYTE ;
    byte1 : BYTE ;
    byte3 : BYTE ;
    byte4 : BYTE ;
    byte6 : BYTE ;
    byte7 : BYTE ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    L P##time_add;
    LAR1 ;
    L D [AR1,P#2.0];
    T #TEMP0;
    L #TEMP0;
    LAR1 ;
    A( ;
    L B [AR1,P#2.0];
    L 47;
    >I ;
    ) ;
    JNB exit;
    //-----------------------------------------------
    L B [AR1,P#2.0];
    L 48;
    -I ;
    T #byte0;
    L #byte0;
    L 10;
    *I ;
    T #byte0;
    L B [AR1,P#3.0];
    L 48;
    -I ;
    T #byte1;
    L #byte0;
    L #byte1;
    +I ;
    T #gio_giay;
    //-------------------------------------------------
    L B [AR1,P#5.0];
    L 48;
    -I ;
    T #byte3;
    L #byte3;
    L 10;
    *I ;
    T #byte3;
    L B [AR1,P#6.0];
    L 48;
    -I ;
    T #byte4;
    L #byte3;
    L #byte4;
    +I ;
    T #phut_giay;
    //-------------------------------------------------
    L B [AR1,P#8.0];
    L 48;
    -I ;
    T #byte6;
    L #byte6;
    L 10;
    *I ;
    T #byte6;
    L B [AR1,P#9.0];
    L 48;
    -I ;
    T #byte7;
    L #byte6;
    L #byte7;
    +I ;
    T #giay;
    //-------------------------------------------------
    L #gio_giay;
    L 3600;
    *I ;
    T #gio_giay;
    //-----------------------------------------------
    L #phut_giay; //lay phut
    L 60;
    *I ;
    T #phut_giay;
    //-----------------------------------------------
    L #gio_giay; //lay giay
    L #phut_giay;
    +I ;
    T #gio_giay;
    L #giay;
    L #gio_giay;
    +I ;
    T #giay;
    //----------------------------------------------
    L #giay;
    L 1000;
    /I ;
    T #TEMP1;
    L #giay;
    L 1000;
    MOD ;
    T #giay;
    L #giay;
    L 100;
    /I ;
    T #TEMP2;
    L #giay;
    L 100;
    MOD ;
    T #giay;
    L #giay;
    L 10;
    /I ;
    T #TEMP3;
    L #giay;
    L 10;
    MOD ;
    T #giay;
    L #TEMP1;
    SLD 12;
    T #TEMP1;
    L #TEMP2;
    SLD 8;
    T #TEMP2;
    L #TEMP3;
    SLD 4;
    T #TEMP3;
    L #TEMP1;
    L #TEMP2;
    +I ;
    T #TEMP4;
    L #TEMP4;
    L #TEMP3;
    +I ;
    T #TEMP4;
    L #TEMP4;
    L #giay;
    +I ;
    T #giay;
    //---------------------------------------------------
    A( ;
    L #giay;
    L W#16#999;
    <D ;
    ) ;
    JNB nhan;
    L #giay;
    L W#16#2000;
    OW ;
    T #giay;
    JC exit;
    nhan: L #giay;
    SRD 4;
    T #giay;
    L #giay;
    L W#16#3000;
    OW ;
    T #giay;
    exit: L #giay;
    T #timer_out;
    BEU ;

    END_FUNCTION
    Lần sửa cuối bởi nmh_bk, ngày 01-24-2014 lúc 07:13 PM.

  5. Bài viết của "nmh_bk" đã được cám ơn bởi các thành viên:


  6. #65
    Thành viên cấp 2
    Ngày tham gia
    Jul 2011
    Bài viết
    65
    Thanks
    0
    8 lượt trong 6 bài viết
    Không cần phải chỉ nữa đâu

  7. #66
    Thành viên cấp 3
    Ngày tham gia
    Oct 2013
    Bài viết
    103
    Thanks
    17
    13 lượt trong 11 bài viết
    Trích dẫn Gửi bởi hungblack Xem bài viết
    Không cần phải chỉ nữa đâu
    em mới tìm hiểu PLC chắc được gần 3 tháng thôi, mong anh chỉ bảo thêm

  8. #67
    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
    Trích dẫn Gửi bởi hungblack Xem bài viết
    Không cần phải chỉ nữa đâu
    Cùng ý kiến với anh này

  9. #68
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    Trích dẫn Gửi bởi nmh_bk Xem bài viết
    em mới tìm hiểu PLC chắc được gần 3 tháng thôi, mong anh chỉ bảo thêm
    Khi nào chỉ lại mình 1 ít nhá

  10. #69
    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
    Cho mình thỉnh giáo với, 3 tháng của bạn bằng 3 năm của mình, cao thủ rồi, phải thỉnh giáo thôi

  11. #70
    Thành viên cấp 2
    Ngày tham gia
    Jul 2011
    Bài viết
    65
    Thanks
    0
    8 lượt trong 6 bài viết
    Mình cũng làm 3 năm rồi nói thật chỉ những chương trình khi viết cho khách hành mà muốn dấu công nghệ thì mình mới viết theo kiều " Con chó" chứ viết mà cho anh em tham khảo và chỉ giáo thì mệt lắm

Trang 7 của 10 Đầu tiênĐầu tiên ... 56789 ... CuốiCuối

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