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

Hybrid View

  1. #1
    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
    Rảnh rỗi nên em viết code chơi cho không quên kiến thức
    không biết nó có ích không, sau đây là chức năng ạ
    hàm cộng nhiều số liên tiếp, có gì sai mấy anh chỉ em với ạ

    ví dụ muốn cộng 10 byte bắt đầu từ mb10 ---> nhập p#m10.0 byte 10
    cộng 10 số int bắt đầu từ mw10--> nhậpp#m10.0 int 10
    cộng 10 số dint bắt đầu từ md10--> nhậpp#m10.0 dint 10

    FUNCTION "sum" : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    IN : ANY ;
    END_VAR
    VAR_OUTPUT
    sum : DINT ;
    END_VAR
    VAR_TEMP
    data_type : BYTE ;
    n : INT ;
    count : INT ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    L P##IN;
    LAR1 ;
    L B [AR1,P#1.0];
    T #data_type;
    L W [AR1,P#2.0];
    T #n;
    L D [AR1,P#6.0];
    LAR1 ;
    //------------------------------------------
    A( ;
    L #data_type;
    L B#16#2;
    ==I ;
    ) ;
    JNB lb1;
    L 0;
    T #data_type;
    JU next;
    lb1: A( ;
    L #data_type;
    L B#16#5;
    ==I ;
    ) ;
    JNB lb2;
    L 1;
    T #data_type;
    JU next;
    lb2: A( ;
    L #data_type;
    L B#16#7;
    ==I ;
    ) ;
    JNB err;
    L 2;
    T #data_type;
    next: NOP 0;
    L 0;
    T #sum;
    L #n;
    lap: T #count;
    L #data_type;
    JL er;
    JU l0;
    JU l1;
    JU l2;
    er: JU err;
    l0: L B [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#1.0;
    JU lb3;
    l1: L W [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#2.0;
    JU lb3;
    l2: L D [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#4.0;
    lb3: NOP 0;
    L #count;
    LOOP lap;
    BEU ;
    err: NOP 0;
    BEU ;
    END_FUNCTION

  2. #2
    Thành viên cấp 1
    Ngày tham gia
    Dec 2011
    Bài viết
    12
    Thanks
    1
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi nmh_bk Xem bài viết
    Rảnh rỗi nên em viết code chơi cho không quên kiến thức
    không biết nó có ích không, sau đây là chức năng ạ
    hàm cộng nhiều số liên tiếp, có gì sai mấy anh chỉ em với ạ

    ví dụ muốn cộng 10 byte bắt đầu từ mb10 ---> nhập p#m10.0 byte 10
    cộng 10 số int bắt đầu từ mw10--> nhậpp#m10.0 int 10
    cộng 10 số dint bắt đầu từ md10--> nhậpp#m10.0 dint 10

    FUNCTION "sum" : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    IN : ANY ;
    END_VAR
    VAR_OUTPUT
    sum : DINT ;
    END_VAR
    VAR_TEMP
    data_type : BYTE ;
    n : INT ;
    count : INT ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    L P##IN;
    LAR1 ;
    L B [AR1,P#1.0];
    T #data_type;
    L W [AR1,P#2.0];
    T #n;
    L D [AR1,P#6.0];
    LAR1 ;
    //------------------------------------------
    A( ;
    L #data_type;
    L B#16#2;
    ==I ;
    ) ;
    JNB lb1;
    L 0;
    T #data_type;
    JU next;
    lb1: A( ;
    L #data_type;
    L B#16#5;
    ==I ;
    ) ;
    JNB lb2;
    L 1;
    T #data_type;
    JU next;
    lb2: A( ;
    L #data_type;
    L B#16#7;
    ==I ;
    ) ;
    JNB err;
    L 2;
    T #data_type;
    next: NOP 0;
    L 0;
    T #sum;
    L #n;
    lap: T #count;
    L #data_type;
    JL er;
    JU l0;
    JU l1;
    JU l2;
    er: JU err;
    l0: L B [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#1.0;
    JU lb3;
    l1: L W [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#2.0;
    JU lb3;
    l2: L D [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#4.0;
    lb3: NOP 0;
    L #count;
    LOOP lap;
    BEU ;
    err: NOP 0;
    BEU ;
    END_FUNCTION
    chào anh hiện tại em xài con plc omron cp1e-n30dra em muốn kết nối với đầu cân k3hb-vlc nhưng gặp khó phần truyền thông mong anh chị giúp

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