Đăng Ký
Kết quả 1 đến 4 của 4
  1. #1
    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

    SCL code dành cho người bắt đầu và mở rộng code riêng cho bản thân

    Mình thấy mục này khá hay (đối với bạn thân mình) vì có những khối hàm mình muốn tự viết hoặc viết lại từ hàm thư viện của siemens để nó dễ hiểu hơn theo bản thân. Nên cũng đã code một số khối hàm:

    http://plcvietnam.com.vn/forum/showt...PLC-S7-300-400

    để chia sẻ cùng mọi người một số ứng dụng mà bạn có thể viết lại một cách đơn giản hơn thay vì có những vấn đề LAD, STL bạn viết khá cực khi liên quan tới vòng lặp, tính toán, xử lý các kiểu dữ liệu qua lại thì rõ ràng với SCL code - dựa theo ngôn ngữ Pascal thì mọi chuyện đơn giản hơn rất rất nhiều.

    Để đơn giản hóa vấn đề thì mình lấy ví dụ chúng ta viết 1 hàm giới hạn ngưỡng của tín hiệu cho phép hoạt động như sau:
    Nếu giá trị ngõ vào lớn hơn Max thì bằng Max. Nếu nhỏ hơn Min thì bằng Min còn nằm trong khoảng Max - Min thì xuất tín hiệu đó ra.

    Với SCL - Code thì vài dòng lệnh sau có thể giải quyết:


    FUNCTION IN_RANGE: INT
    TITLE = 'Delimiting of an INT value'


    NAME : LIMIT
    FAMILY : SCL_Book
    AUTHOR : Tran_Hieu0983
    VERSION : '1.0'

    VAR_INPUT
    MAXI : INT;
    IN : INT;
    MINI : INT;
    END_VAR

    BEGIN

    IF IN > MAXI THEN IN_RANGE:= MAXI;
    ELSIF IN < MINI THEN IN_RANGE:= MINI;
    ELSE IN_RANGE:= IN;
    END_IF;

    END_FUNCTION


    Quá đơn giản cho tất cả vấn đề. Tất nhiên đây chỉ là demo nho nhỏ cho toàn bộ ý tưởng mà các bạn cần code theo chuẩn ^.^


    Chúc các bạn thành công
    Hidden Content

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

  2. #2
    dinhtan
    Guest
    Trích dẫn Gửi bởi tran_hieu0983 Xem bài viết
    Mình thấy mục này khá hay (đối với bạn thân mình) vì có những khối hàm mình muốn tự viết hoặc viết lại từ hàm thư viện của siemens để nó dễ hiểu hơn theo bản thân. Nên cũng đã code một số khối hàm:

    http://plcvietnam.com.vn/forum/showt...PLC-S7-300-400

    để chia sẻ cùng mọi người một số ứng dụng mà bạn có thể viết lại một cách đơn giản hơn thay vì có những vấn đề LAD, STL bạn viết khá cực khi liên quan tới vòng lặp, tính toán, xử lý các kiểu dữ liệu qua lại thì rõ ràng với SCL code - dựa theo ngôn ngữ Pascal thì mọi chuyện đơn giản hơn rất rất nhiều.

    Để đơn giản hóa vấn đề thì mình lấy ví dụ chúng ta viết 1 hàm giới hạn ngưỡng của tín hiệu cho phép hoạt động như sau:
    Nếu giá trị ngõ vào lớn hơn Max thì bằng Max. Nếu nhỏ hơn Min thì bằng Min còn nằm trong khoảng Max - Min thì xuất tín hiệu đó ra.

    Với SCL - Code thì vài dòng lệnh sau có thể giải quyết:


    FUNCTION IN_RANGE: INT
    TITLE = 'Delimiting of an INT value'


    NAME : LIMIT
    FAMILY : SCL_Book
    AUTHOR : Tran_Hieu0983
    VERSION : '1.0'

    VAR_INPUT
    MAXI : INT;
    IN : INT;
    MINI : INT;
    END_VAR

    BEGIN

    IF IN > MAXI THEN IN_RANGE:= MAXI;
    ELSIF IN < MINI THEN IN_RANGE:= MINI;
    ELSE IN_RANGE:= IN;
    END_IF;

    END_FUNCTION


    Quá đơn giản cho tất cả vấn đề. Tất nhiên đây chỉ là demo nho nhỏ cho toàn bộ ý tưởng mà các bạn cần code theo chuẩn ^.^


    Chúc các bạn thành công
    Đoạn code trên a cho em hỏi: Nếu var tăng lên 1 thì sao? Hoặc giảm đi 1 thì sao? Đầu vào IN thay đổi như thế nào? Maxi khi đó là bao nhiêu? Em ví dụ bài toán đếm sản phẩm đi.

  3. #3
    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
    Đây là hàm giới hạn Max - Min của cho kiểu dữ liệu INT. Khi compile tạo ra một FC rồi bạn gọi và sử dụng thôi. Max - Min do bạn giới hạn chứ đâu liên quan gì tăng hay giảm đâu bạn.
    Hidden Content

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

  4. #4
    Thành viên cấp 2
    Ngày tham gia
    Dec 2011
    Bài viết
    50
    Thanks
    0
    Thanked 3 Times in 1 Post
    mình có thể tạo thêm timer cho plc cũng được , mà bạn có thể trình bày cụ thể một khối hàm không

Tag của Chủ đề này

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