Chương 7: Hàm Phát xung SFB/FB43 "PULSEGEN" Hàm phát xung tạo ra xung điều rộng 2 hoặc 3 bước có độ rộng điều chỉnh được.. Hàm này kết nối tiếp sau hàm xử lý PID FB41 “CONT_C” tạo thành
Trang 1Chương 7: Hàm Phát xung SFB/FB43
"PULSEGEN"
Hàm phát xung tạo ra xung điều rộng 2 hoặc 3 bước có độ rộng điều chỉnh được Hàm này kết nối tiếp sau hàm xử lý PID FB41 “CONT_C” tạo thành một hệ thống điều khiển liên tục
Hàm PULSEGEN chuyển biến đầu vào INV(giá trị lấy ra từ
hàm xử lý tín hiệu PID thành một một dạng xung điều rộng
trong một chu kỳ không đổi (được khai báo trong cycle time
).Độ rộng của xung là sự tỉ lệ giữa đầu vào
INV REAL -100.0 100.0
(%)
0.0 Biến đầu vào dạng
tương tự lấy ra từ
Trang 2hàm FC41 PER_TM TIME >=20*CYCLE T#1s PERIOD TIME Giá
trị hằng số của chu kỳxung điều rộng .Chu kỳ xung điều rộng là khoãng cách thời gian giữa hai lần lấy mẫu của bộ phát xung
P_B_T TIME >= CYCLE T#0ms Xung nhỏ nhất hay
thời gian nhỏ nhất gán cho xung
RATIOFAC REAL 0.1 10.0 1.0 Thông số đầu vào tỉ
lệ, có thể dùng để thay đổi tỉ lệ giữa thời gian ON OF Trong điều khiển nhiệt độ, điều này sẽ cho phép những thời gian hằng khác nhau cho việc gia nhiệt hay làm lạnh để bù nhiệt)
Trang 3STEP3_ON BOOL TRUE Điều khiển 3 bước
Bit này on sẽ cho phép chế độ này ST2BI_ON BOOL FALSE Điều khiển hai bước
cho giá trị lưỡng cực lấy ra từ hàm FB41 Có thể chọn điều khiển đơn cực hay lưỡng cực bằng bít này Buộc phải gán STEP3_ON =
FALSE
COM_RST BOOL FALSE Reset hoàn toàn hoạt
động của hàm
CYCLE TIME >= 1ms T#10ms Thời gian lấy
mẫu(giữa hai lần gọi khối
2.20 Hàm SFB29 "HS_COUNT"
Với hàm SFB29 "HS_COUNT" (counter), ta có thể dùng chức năng bộ ếm của CPU với đầu vào và ra :
Thiết lập và nhập một giá trị bắt đầu
· Chọn và thiết lập một giá trị so sánh
Trang 4· Kích hoạt cho bộ đếm.
· Kích hoạt một ngõ ra dạng số
· Đọc giá trị hiện tại và giá trị so sánh hiện tại
· Sắp xếp sự quan hệ giữa giá trị đếm và giá trị
so sánh
Thông số Kiểu
dữ liệu
Bộ nhớ Chú thích
PRES_COUNT DINT I, Q, M,
D, L, constant
Giá trị khời đầu của bộ đếm
PRES_COMP_A DINT I, Q, M,
D, L, constant
Giá trị so sánh mới
COMP_A
PRES_COMP_B
DINT I, Q, M,
D, L, constant
Giá trị so sánh mới
EN_COUNT BOOL I, Q, M,
D, L
Kích hoạt bộ đếm
EN_DO BOOL I, Q, M,
D, L,
Kích hoạt đầu ra dạng số
Trang 5constant SET_COUNT BOOL I, Q, M,
D, L, constant
Thiết lập đầu vào cho giá trị khởi đầu
SET_COMP_A BOOL I, Q, M,
D, L, constant
Thiết lập đầu vào cho giá trị so sánh A
SET_COMP_B BOOL I, Q, M,
D, L, constant
Thiết lập đầu vào cho giá trị so sánh B
COUNT DINT I, Q, M,
D, L
Giá trị thực của bộ đếm
COMP_A DINT I, Q, M,
D, L
Giá trị so sánh hiện tại A
COMP_B DINT I, Q, M,
D, L
Giá trị so sánh hiện tại B
STATUS_A BOOL I, Q, M,
D, L
Bít trạng thái A 1: COUNT > COMP_A 0: COUNT < COMP_A STATUS_B BOOL I, Q, M,
D, L
Bít trạng thái B 1: COUNT > COMP_B
Trang 60: COUNT < COMP_B
2.21Hàm SFB38 (HSC_A_B)
Với hàm SFB38 (HSC_A_B) bạn có thể dùng làm bộ đếm với ngõ vào ra của CPU như sau :
Xác định
Xác định một giá trị so sánh
Kích hoạt bộ đếm
Kích hoạt một đầu ra dang số
Đọc giá trị hiện thời và giá trị so sánh
Đặt mối quan hệ giữa giá trị đếm và giá trị so sánh Hàm SFB38 (HSC_A_B) đọc hoặc viết dữ liệu từ chương trình người sử dụng reads or writes data from the user
program trong phạm vi DB của hàm.bộ đếm xung A/B bao gồm 2 bộ đếm xung A và xung B cái mà có thể độc lập hoặc phụ thuộc vào nhau.(đếm lên hoặc đếm xuống)
Thông số Kiểu
dữ liệu
Bộ nhớ Chú thích
PRES_COMP DINT I, Q, M,
D, L, constant
Giá trị so sánh mới COMP
Trang 7EN_COUNT BOOL I, Q, M,
D, L constant
Kích hoạt mộ đếm
EN BOOL I, Q, M,
D, L, constant
Kích hoạt đầu ra số
SET_COMP BOOL I, Q, M,
D, L, constant
Thiết lập đầu vào cho biến COMP
COUNT DINT I, Q, M,
D, L
Giá trị thực của counter
COMP DINT I, Q, M,
D, L
Giá trị so sánh hiện tại
ENO BOOL I, Q, M,
D, L
Error handling:
1 : no error in execution
0 : error in execution