Tải bản đầy đủ (.pdf) (7 trang)

Các Hàm Thư Viện Trong S7-300

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (129.72 KB, 7 trang )

CÁC HÀM THƯ VIỆN TRONG S7-300
Thư viện chuẩn của phầên mềm Step 7 gồm các hàm hệ thống SFC, khối hàm hệ
thống SFB, các hàm FC và khối hàm FB, giúp cho việc lập trình thuận tiện bởi các hàm
viết sẵn. Ngoài ra còn có các hàm tổ chức OB hoạt động khi khởi động PLC, làm việc theo
chu kỳ. Chúng ta có thể bổ sung các hàm khác vào thư viện của Step 7 một cách dễ dàng.
Các hàm thư viện được thêm vào một điểm trong khối chương trình bằng cách vào menu
Insert- Program Elements – Libraries, sau đó lần lượt vào các mục con trong đó, chọn hàm
phù hợp rồi bấm chuột phải chọn paste
Phần sau giới thiệu chi tiết một số hàm.
1/ Các hàm trong thư viện TI-S7 Converting blocks
1.1/ Các hàm xử lý bit
a/ Đặt một loạt bit: FC83
Khi I0.0 = 1, 10 bit từ M0.0 đến M1.1 lên 1. Nếu hàm thực hiện đúng ENO và Q4.0
bằng 1. Đòa chỉ bit đầu tiên S_bit dùng con trỏ P#, trỏ đến vùng nhớ bit (I, Q, M, D), số bit
N là hằng số hay I, Q, M, D, L, P
A I0.0
JNB _001
CALL "SET"
S_BIT:= P#M 0.0
N := 10
_001: A BR
= Q4.0
b/ Đặt một loạt byte lập tức : FC101
Khi I0.0 = 1, hai byte từ PB2 sẽ lên 1 (P#P2.0 trỏ đến bit P2.0), số N là số byte cần
đặt lên 1 nhân 8.
c/ Xoá một loạt bit: FC82
d) Xoá một loạt bit lập tức : FC100

1.2/ Hàm di chuyển khối gián tiếp : FC81
Di chuyển một khối dữ liệu byte, word hay word kép từ khối nguồn có đòa chỉ đầu
gián tiếp S_DATA chiều dài LENGTH đến khối đích có đòa chỉ đầu gián tiếp D_DATA,


ba thông số này dùng biến con trỏ P#. Thông số E_TYPE cho biết loại dữ liệu theo qui đònh
sau:
B#16#02 = BYTE, B#16#04 = WORD, B#16#05 = INT, B#16#06 = DWORD, B#16#07 = DINT, B#16#08 = REAL
Trước lệnh:
S_DATA DBX0.0 = P#DB1.DBX50.0 // Đòa chỉ đầu khối nguồn là DBW50
DBW50 = W#16#2424
DBW52 = W#16#2525
LENGTH DBW10 = W#16#0002 // Khối dữ liệu hai word
D_DATA DBX20.0= P#DB2.DBX10.0 // D9òa chỉ đầu khối đích là DBW10
DBW10 = W#16#0000
DBW12 = W#16#0000
Sau lệnh :
D_DATA DBW10 = W#16#2424
DBW12 = W#16#2525
1.3/ Hàm chuyển đổi
a/ Giải mã 7 đoạn: FC93
Đổi một word hexa 4 digit ở IN (I,M,D,P, hằng số) ra 4 byte mã 7 đoạn của từng
digit, xuất ra đòa chỉ OUT từ kép (Q, M, D, L, P)
A I 0.0
JNB _001
CALL "SEG"
IN :=W#16#1234
OUT:=MD0
_001: NOP 0
b/ Đổi ASCII sang HEX
Đổi chuỗi ASCII dài N ký tự (I, Q, M, L, P) gồm các ký tự A..F, số 0..9 , mỗi ký tự
chiếm 2 byte ở đòa chỉ con trỏ IN (û I, Q, M,D,L) ra số Hex tương ứng, một byte ứng với hai
ký tự ở đòa chỉ con trỏ OUT (Q, M, D, L) . RET_VAL là word trả về kết quả thực hiện (I, Q,
M, D, L, P) W#16#0000 nếu đúng.
c/ Đổi HEX sang ASCII: FC95

d/ Hàm đổi tầm SCALE : FC105
Chuyển đổi số nguyên IN (I, Q, M, D, L, P, Hằng số) ra số thực ở OUT (I, Q, M, D,
L, P) trong khoảng LO_LIM và HI_LIM theo công thức
OUT = [ ((FLOAT (IN) –K1)/(K2–K1)) * (HI_LIM – LO_LIM) ] + LO_LIM
HI_LIM, LO_LIM là các giá trò thực (I, Q, M, D, L, P, Hằng số)
K1, K2 tuỳ thuộc trạng thái ngõ điều khiển BIPOLAR
BIPOLAR=1: số IN là lưỡng cực, K1 = –27648.0, K2 = +27648.0
BIPOLAR=0: số IN là đơn cực, K1 = 0.0, K2 = +27648.0
e/ Hàm đổi tầm ngược UNSCALE : FC106
Chuyển đổi số thực IN giữa hai giá trò LO_LIM và HI_LIM thành số nguyên đơn
cực hay lưỡng cực OUT theo công thức
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
f/ Bổ chính sớm- trễ pha: FB90
Thực hiện phép hiệu chỉnh sớm trễ pha trên tín hiệu vào IN, độ lợi GAIN, thời gian
sớm pha LG_TIME, thời gian trễ pha LG_TIME, chu kỳ lấy mẫu SAMPLE_T và cho ra tín
hiệu OUT
Instance DB80
LD_TIME DBD12 = 2.0
LG_TIME DBD16 = 2.0
GAIN DBD20 = 1.0
PREV_IN DBD24 = 6.0

×