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

Đếm xung tốc độ cao HSC trong PLC s7 300 và S7 100

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 (336.49 KB, 7 trang )



Đếm xung tốc độ cao HSC
HSC: high speed count
Xung tốc độ cao được đọc thông qua những Modul đọc xung tốc độ cao hoặc có
thể được đọc thông qua CPU có tích hợp sẵn những I/O có khả năng đọc xung tốc
độ cao như CPU 312C, 313C, …
Việc đọc xung tốc độ cao là hết sức cần thiết cho những ứng dụng đọc xung
Encode, hay đọc xung của những Input tốc độ cao.
Tùy thuộc từng loại CPU cũng như Modul đọc xung tốc độ cao mà có những cách
thức đấu nối dây khác nhau.
1- Khai báo phần cứng (CPU-313C2DP)

- Khai báo phần cứng cho plc 313-C2DP
- Khai báo phần count




Chú ý địa chỉ mặc định in/ out là 768

Quy đổi 768 sang mã hexa mục đích để điền vào
LADDR: địa chỉ của kênh đọc xung tốc độ cao.




Vào chương trình và gọi hàm SFB47

Hàm đọc xung tốc độ cao: SFB 47





??? : nơi chứa dữ liệu ( thường là các DB)
Dữ liệu được lưu vào theo nguyên tắc:
LADDR: địa chỉ của kênh đọc xung tốc độ cao ( mặc định W#16#300).
CHANNEL: số kênh; 0-1: CPU 312C, 0-2: CPU 313C, 0-3: CPU 314C.
SW_GATE: bit cho phép đếm.
CTRL_DO: cho phép ngõ ra.
SET_DO: điều khiển ngõ ra.
JOB_REQ: bắt đầu job
JOB_ID: mặc định W#16#0000.
JOB_VAL: giá trị cho việc ghi dữ liệu cho bộ đếm.
STS_GATE: trạng thái cổng bên trong.
STS_STRT: trạng thái cổng bên ngoài.
STS_LTCH: trạng thái ngõ vào chốt.
STS_DO: trạng thái ngõ ra.
STS_C_DN: trạng thái hướng ngược.
STS_C_UP: trạng thái thuận.
COUNTVAL: giá trị đếm hiện tại.
LATCHVAL: giá trị chốt hiện tại.
JOB_DONE: có sự kiện mới bắt đầu.
JOB_ERR: trạng thái lỗi.
JOB_STAT: giá trị lỗi.
STS_CMP: trạng thái so sánh.
STS_OFLW: trạng thái tràn trên.





STS_UFLW: trạng thái tràn dưới.
STS_ZP: trạng thái zero.
JOB_OVAL: giá trị đếm ngõ ra.
RES_STS: bit reset lỗi.

Bạn có thể tìm hiểu thêm trong help.
Chúc bạn thành công!




Bài tập ví dụ HSC:
Hàm SFB47 “COUNT” là hàm đếm tốc độ cao của S7-300.
Để lấy hàm SFB47 ta vào Libraries=>system Function block=>SFB47 COUNT
TEC_FUNC.
Ví dụ được làm trên CPU 313C-2DP(tốc độ đếm đến 30kH, và có 3 kênh: 0,1,2).
Ngõ vào mật định là I124, I125 ngõ ra mật định là Q124, Q125.
Được khai báo:
LADDR (địa chỉ của COUNT,xem trong phần cứng): bắt đầu là 768 đổi ra số HEX
là 300.(có thể thay đổi tuy thuộc phần cứng).
CHANNEL (kênh của HSC): chọn kênh 0.
JOB_ID(địa chỉ chức năng làm việc của HSC):trong bài chon giá trị 0001 để viết
giá trị đếm.
JOB_VAL( giá trị ngõ vào để làm việc dạng Dint): chọn MD4.
SW_GATE(chân cho phép HSC đếm): M1.0
CTRL_DO, SET_DO, JOD_RED: là những chân điều khiển ngõ ra.
COUNTVAL ( ngõ ra hiển thị giá trị đếm): được lưu vào MD8
LATCHVAL (chân hiển thị giá trị chốt khi chôt bên ngoài phần cứng): được lưu
vào MD20.
JOD_STAT (Chân hiển thị báo giá trị lỗi): được hiển thị ra vùng nhớ MW4

Các chân còn lại của ngõ ra dùng để hiển thị quá trình làm việc và giá trị lỗi của




HSC được lưu dưới dạng bit.
Lưu ý :
Để HSC chạy thì phần cứng phải được khai báo. Khai báo theo từng kênh và từng
chế độ của HSC.Trong phân cứng chúng ta vào: count

Và để điều khiển HSC nhận xung đếm lên xuống chúng ta phải xem phần cứng hỗ
trợ của CPU mình đang sử dụng. Với CPU313C_2DP.

sử dụng kênh 0 nên chân nhận xung là I124.0, chân đảo hướng I124.1, chân chốt
dữ liệu I125.4, chân cho phép và cho phép HSC là I124.2
Khi chân làm việc: JOB_DONE=1
Khi cho phép đếm: SW_GATE=1



×