Đăng Ký
Kết quả 1 đến 10 của 10
  1. #1
    langtutlhp
    Guest

    Sử dụng con trỏ trong s7300?

    Các bác có thể cho em biết con trỏ địa chỉ trong PLC có ý nghĩa ntn không?ứng dụng nó làm gì?có thể cho e xin 1 vài ví dụ về nó đựoc không?
    Ai có tài liệu về con trỏ thì cho e xin được không ah!nhân tiện xin nhờ các bác chỉ giáo hộ đoạn chương trình này:
    L #PIW
    SLD 3
    T #ADR_PIW
    L PIW [#ADR_PIW]
    T #ANALOG
    thanks you very much!

  2. #2
    Little PLC

    Ngày tham gia
    Mar 2011
    Đang ở
    Mọi câu hỏi hãy đưa lên diễn dàn. Tôi không dùng hộp thư riêng.
    Bài viết
    3,151
    Thanks
    257
    1,085 lượt trong 567 bài viết
    http://www.mediafire.com/?hwxg55beodtjkm3

    Tặng bạn một Tip nói về con trỏ trong S7-300.

    Việc sử dụng các tập lệnh LAD thuận tiện cho việc giám sát và đọc chương trình và đôi khi sử dụng LAD là không tối ưu khi đó nó sẽ tạo ra chu kỳ quét lớn hơn so với việc STL tuy nhiên sau này nó sẽ là ngôn ngữ lập trình chung cho tất cả các PLC của các hãng nằm trong một hiệp hội PLC. ( Sau này các hãng PLC sẽ sản xuất ra các PLC mà có thể download cho nhau).

    Việc sử dụng con trỏ trong PLC cũng như trong VĐK nó giúp cho việc tối ưu hoá chương trình và nhanh hơn, đỡ tốn vùng nhớ và chu kỳ quét hơn ( giống ngôn ngữ ASM vậy. Nếu so sánh thì có thể tương đương LAD với C trong VĐK và STL như ASM trong VĐK).


    Thân chào
    Hidden Content

    Trần Văn Hiếu
    Email: Hidden Content
    Sđt: (+84)987 - 338 - 334

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


  4. #3
    Thành viên cấp 3
    Ngày tham gia
    Oct 2011
    Đang ở
    Q9, HCM
    Bài viết
    205
    Thanks
    37
    33 lượt trong 24 bài viết
    anh hiếu có ví dụ nào đơn giản nhất về con trỏ trong s7-300 để em hiểu rõ hơn không?.hic.đọc tài liệu mà vẫn còn mơ hồ quá, chắc phải làm nhiều mới thấm.thanks

  5. #4
    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
    bạn nghĩ nó phức tạp thì nó sẽ phức tạp thôi

  6. #5
    Thành viên cấp 3
    Ngày tham gia
    Oct 2011
    Đang ở
    Q9, HCM
    Bài viết
    205
    Thanks
    37
    33 lượt trong 24 bài viết
    kiến thức con trỏ bạn nghĩ đơn giản sao, bạn thật sự hiểu hết về nó chưa? không thể nói nghĩ nó đơn giản là đơn giản đc. cái gì cũng qua thực hành bạn à, bạn có ví dụ nào về loại pointer DB hay any pointer cho mình tham khảo thì mình cảm ơn vô cùng.thân!

  7. #6
    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 minhhungspk Xem bài viết
    kiến thức con trỏ bạn nghĩ đơn giản sao, bạn thật sự hiểu hết về nó chưa? không thể nói nghĩ nó đơn giản là đơn giản đc. cái gì cũng qua thực hành bạn à, bạn có ví dụ nào về loại pointer DB hay any pointer cho mình tham khảo thì mình cảm ơn vô cùng.thân!
    thế bạn nghĩ con trỏ như thế nào? bạn dùng con trỏ để làm gì?
    mình tặng bạn cái ví dụ này, mình chưa test nó đâu, tinh tong n so sint, int,dint --> ket qua la dint het
    any pointer do, any pointer la co pointer trong do luon roi

    FUNCTION "SUM" : VOID
    TITLE =
    //tinh tong nhieu so lien tiep
    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];
    L 2;
    -I ;
    T #data_type;
    L W [AR1,P#2.0];
    T #n;
    L D [AR1,P#6.0];
    LAR1 ;
    //------------------------------------------
    L 0;
    T #sum;
    L #n;
    lap: T #count;
    L #data_type;
    JL er;
    JU l0; //byte
    JU l1;
    JU l2;
    JU l3; //int
    JU l4;
    JU l5; //dint
    er: JU err;
    l0: L B [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#1.0;
    JU lb3;
    l3: L W [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#2.0;
    JU lb3;
    l5: L D [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#4.0;
    lb3: NOP 0;
    L #count;
    LOOP lap;
    BEU ;
    l1: NOP 0;
    l2: NOP 0;
    l4: NOP 0;
    err: NOP 0;
    SET ;
    SAVE ;
    BEU ;

    END_FUNCTION

  8. #7
    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
    nó đơn giản thiết mà, tại bạn nghĩ phức tạp nên thế thôi

  9. #8
    Thành viên cấp 3
    Ngày tham gia
    Oct 2011
    Đang ở
    Q9, HCM
    Bài viết
    205
    Thanks
    37
    33 lượt trong 24 bài viết
    mong là nó đơn giản như bạn nói. chương trình viết cho cẩu cảng sử dụng nhiều đến ngôn ngữ stl,đặc biệt dùng pointer rất nhiều. do đó mình tìm hiểu pointer để đọc chương trình tốt hơn thôi. cảm ơn ví dụ của bạn nhé, mình đọc và ngâm đây.có gì không hiểu mong bạn hổ trợ giúp nha!

  10. #9
    Thành viên cấp 3
    Ngày tham gia
    Oct 2011
    Đang ở
    Q9, HCM
    Bài viết
    205
    Thanks
    37
    33 lượt trong 24 bài viết
    Trích dẫn Gửi bởi nmh_bk Xem bài viết
    thế bạn nghĩ con trỏ như thế nào? bạn dùng con trỏ để làm gì?
    mình tặng bạn cái ví dụ này, mình chưa test nó đâu, tinh tong n so sint, int,dint --> ket qua la dint het
    any pointer do, any pointer la co pointer trong do luon roi

    FUNCTION "SUM" : VOID
    TITLE =
    //tinh tong nhieu so lien tiep
    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];
    L 2;
    -I ;
    T #data_type;
    L W [AR1,P#2.0];
    T #n;
    L D [AR1,P#6.0];
    LAR1 ;
    //------------------------------------------
    L 0;
    T #sum;
    L #n;
    lap: T #count;
    L #data_type;
    JL er;
    JU l0; //byte
    JU l1;
    JU l2;
    JU l3; //int
    JU l4;
    JU l5; //dint
    er: JU err;
    l0: L B [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#1.0;
    JU lb3;
    l3: L W [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#2.0;
    JU lb3;
    l5: L D [AR1,P#0.0];
    L #sum;
    +D ;
    T #sum;
    +AR1 P#4.0;
    lb3: NOP 0;
    L #count;
    LOOP lap;
    BEU ;
    l1: NOP 0;
    l2: NOP 0;
    l4: NOP 0;
    err: NOP 0;
    SET ;
    SAVE ;
    BEU ;

    END_FUNCTION
    có thể gửi chương trình chứa nội dung các lệnh trên cho mình được không ? mail: [email protected]. thanks!

  11. #10
    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
    mấy cái này mình k có... tài liệu mấy cái này mình k còn, tại lâu lắm rồ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