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
Đánh dấu