BỘ ĐIẾMCounter là bộ đếm thực hiện chức năng đếm sườn cạnh xung của tín hiệu đầu vào.. Ngược lại CV=0 thì C_bit = 0 Khác với Timer, già trị đặt trước PV Present Value của bộ đếm ch
Trang 1II BỘ ĐIẾM
Counter là bộ đếm thực hiện chức năng đếm sườn ( cạnh ) xung của tín hiệu đầu vào S7300 có tối đa 256 Counter ( phụ thuộc vào từng loại CPU ), ký hiệu bởi Cx, trong đó x
là số nguyên từ 0->255
Số sườn xung đếm được ghi vào thanh ghi 2 byte ( Word ) của bộ đếm gọi là thanh ghi C_Word ( CV)
Nếu CV # 0 thì C_bit =1 Ngược lại CV=0 thì C_bit = 0
Khác với Timer, già trị đặt trước PV ( Present Value ) của bộ đếm chỉ được truyền vào C_Word tại thời điểm xuất hiện sườn lên của tín hiệu đặt ( Set ) S
Bộ đếm có thể được xóa bằng tín hiệu Reset KHi bộ đếm được xóa thì cả C_Word và C_bit đều có giá trị = 0
Trong S7300 có 3 loại bộ đếm:
1 Bộ đếm lên : Counter Up ( S_CU)
- CU : ngõ vào tín hiệu đếm lên lên ( Chỉ đếm sườn ) kiểu BOOL
- S : Set giá trị đặt vào bộ đếm CV Ví dụ ở đây khi có tìn hiệu cạnh lên I125.1 thì
CV = 10
- PV: giá trị đặt ( phải ghi theo dạng C# ??? ( từ 000->999))
- R: Reset giá trị CV và C_bit về 0
- Q : ngõ ra trạng thái của Couter Ở đây C0 ( C_bit) = Q125.0
- CV : ngõ ra giá trị tức thời của Counter ( dạng Hex )
- CV_BCD : ngõ ra giá trị tức thời của Counter ( dạng BCD )
Lưu ý : Couter đếm lên đến 999 không đếm nữa
2 Counter Down (S_CD)
Trang 2- CD : ngõ vào tín hiệu đếm xuống ( Chỉ đếm sườn ) kiểu BOOL
- S : Set giá trị đặt vào bộ đếm CV Ví dụ ở đây khi có tìn hiệu cạnh lên I125.1 thì
CV = 99
- PV: giá trị đặt ( phải ghi theo dạng C# ??? ( từ 000->999))
- R: Reset giá trị CV và C_bit về 0
- Q : ngõ ra trạng thái của Couter Ở đây C0 ( C_bit) = Q125.0
- CV : ngõ ra giá trị tức thời của Counter ( dạng Hex )
- CV_BCD : ngõ ra giá trị tức thời của Counter ( dạng BCD )
Lưu ý : Couter đếm xuống đến 0 thì counter sẽ không đếm nữa Vì thế với S_CD thì phải Set giá trị ban đầu
3 Counter UpDown ( S_CUD )
- CU : ngõ vào tín hiệu đếm lên ( Chỉ đếm sườn ) kiểu BOOL
- CD : ngõ vào tín hiệu đếm xuống
- S : Set giá trị đặt vào bộ đếm CV Ví dụ ở đây khi có tìn hiệu cạnh lên I125.1 thì
CV = 99
- PV: giá trị đặt ( phải ghi theo dạng C# ??? ( từ 000->999))
- R: Reset giá trị CV và C_bit về 0
- Q : ngõ ra trạng thái của Couter Ở đây C0 ( C_bit) = Q125.0
- CV : ngõ ra giá trị tức thời của Counter ( dạng Hex )
- CV_BCD : ngõ ra giá trị tức thời của Counter ( dạng BCD )
Trang 3Lưu ý : Couter đếm xuống đến xuống đến 0 và đếm lên đến 999 thì counter sẽ không đếm nữa Vì thế với S_CD thì phải Set giá trị ban đầu