Đăng Ký
Kết quả 1 đến 9 của 9
  1. #1
    Thành viên cấp 3
    Ngày tham gia
    Dec 2011
    Đang ở
    Hà Nội
    Bài viết
    158
    Thanks
    46
    14 lượt trong 12 bài viết

    Sử dụng bộ đếm trong S7 200

    Chương trình của mình yêu cầu tùy chọn thời gian đặt từ 0 - 180 phút. Mà bộ đếm trong s7 200 đếm trễ tối đa là 54.6 phút. Do vậy mình sử dụng nhiều bộ đếm nối tiếp nhau, ví dụ T37 đếm đến 54.6 phút thì ON lên cho thằng T38 bắt đầu đếm... Tuy nhiên cách làm như vậy khá lằng nhằng vì phải sử dụng tới 4 bộ đếm. Và khi đặt giá trị thời gian từ thiết bị HMI thì phải tính toán cộng trừ nhân chia cho từng bộ đếm, khá là rắc rối.
    Bạn nào có giải pháp khác, hay hơn thì chia sẻ nhé.

  2. #2
    Thành viên Mới
    Ngày tham gia
    Apr 2011
    Bài viết
    3
    Thanks
    10
    Thanked 1 Time in 1 Post
    Bình thường để định khoảng thời gian dài như vậy mình chỉ dùng 1 bộ đếm và thêm 1 biến đếm nữa. Biến đếm bạn có thể dùng vùng nhớ MB. Còn xác định biến đếm bằng bao nhiêu sẽ thực hiện lệnh tiếp thì mình nghĩ vẫn phải tính toán thôi. bạn thử xem.

  3. Bài viết của "dp07" đã được cám ơn bởi các thành viên:


  4. #3
    Thành viên cấp 3
    Ngày tham gia
    Dec 2011
    Đang ở
    Hà Nội
    Bài viết
    158
    Thanks
    46
    14 lượt trong 12 bài viết
    Trích dẫn Gửi bởi dp07 Xem bài viết
    Bình thường để định khoảng thời gian dài như vậy mình chỉ dùng 1 bộ đếm và thêm 1 biến đếm nữa. Biến đếm bạn có thể dùng vùng nhớ MB. Còn xác định biến đếm bằng bao nhiêu sẽ thực hiện lệnh tiếp thì mình nghĩ vẫn phải tính toán thôi. bạn thử xem.
    Sử dụng biến đếm như nào nhỉ. mình vẫn chưa hiểu cách của bạn ?

  5. #4
    Thành viên cấp 9
    Ngày tham gia
    Jul 2012
    Bài viết
    961
    Thanks
    45
    219 lượt trong 141 bài viết
    Trích dẫn Gửi bởi ducnhabk Xem bài viết
    Chương trình của mình yêu cầu tùy chọn thời gian đặt từ 0 - 180 phút. Mà bộ đếm trong s7 200 đếm trễ tối đa là 54.6 phút. Do vậy mình sử dụng nhiều bộ đếm nối tiếp nhau, ví dụ T37 đếm đến 54.6 phút thì ON lên cho thằng T38 bắt đầu đếm... Tuy nhiên cách làm như vậy khá lằng nhằng vì phải sử dụng tới 4 bộ đếm. Và khi đặt giá trị thời gian từ thiết bị HMI thì phải tính toán cộng trừ nhân chia cho từng bộ đếm, khá là rắc rối.
    Bạn nào có giải pháp khác, hay hơn thì chia sẻ nhé.
    - Rất đơn giản bạn chỉ cần 1 Timer và 1 Counter là có thể đếm tới 546 phút lận. Cụ thể:
    - Chọn 1 timer với thời gian đếm = 60s, khi timer đếm đủ 60s thì enable counter và resert timer cho đếm lại.
    - Chúc vui

    “Tôi không hề có tài năng gì cả. Tôi chỉ vô cùng tò mò.”A.E



  6. Bài viết của "aubaoquoc" đã được cám ơn bởi các thành viên:


  7. #5
    Thành viên Đồng
    Ngày tham gia
    Mar 2011
    Đang ở
    Nếu có vấn đề gì hỏi thì làm ơn đưa lên diễn đàn nhé
    Bài viết
    1,879
    Thanks
    159
    231 lượt trong 198 bài viết
    Trích dẫn Gửi bởi aubaoquoc Xem bài viết
    - Rất đơn giản bạn chỉ cần 1 Timer và 1 Counter là có thể đếm tới 546 phút lận. Cụ thể:
    - Chọn 1 timer với thời gian đếm = 60s, khi timer đếm đủ 60s thì enable counter và resert timer cho đếm lại.
    - Chúc vui
    SM0.5 với Counter, được max 32767 s đc khoảng 9h liền đó
    Cung cấp Hidden Content ,Hidden Content ,vật tư tự động hóa cũ và mới
    Liên hệ: Hidden Content
    website: Hidden Content
    __________________________________________________ ___________________
    Phone: 0912888729 - 0985888729
    Y.M: codientuhd

  8. Bài viết của "anhlv.ddt" đã được cám ơn bởi các thành viên:


  9. #6
    Thành viên cấp 3
    Ngày tham gia
    Dec 2011
    Đang ở
    Hà Nội
    Bài viết
    158
    Thanks
    46
    14 lượt trong 12 bài viết
    cảm ơn ý kiến của mọi người nhé. trường hợp này m thấy cách của anhbaoquoc hợp lí nhất rồi. Giá trị thời gian (bước đặt 1 phút) thay vì đặt cho timer mình sẽ đặt cho Counter

  10. #7
    Thành viên cấp 9
    Ngày tham gia
    Jul 2012
    Bài viết
    961
    Thanks
    45
    219 lượt trong 141 bài viết
    - Cách khác tiết kiệm hơn, không dùng Timer and Counter.
    - Dùng SM0.4 (30s ON + 30s OFF = 1 minute) kích hàm Word Increment (INC_W), kết hợp với lệnh so sánh IN1 >= IN2 (giá trị đặt=180 phút), thì enable bit nào đó để thực thi lệnh và Move giá tri 0 (không) vào trong biến của hàm Word Increment để đếm tiếp.
    - Chúc vui

    “Tôi không hề có tài năng gì cả. Tôi chỉ vô cùng tò mò.”A.E



  11. #8
    Thành viên cấp 3
    Ngày tham gia
    Dec 2011
    Đang ở
    Hà Nội
    Bài viết
    158
    Thanks
    46
    14 lượt trong 12 bài viết
    Dùng SM0.4 với INC có vẻ không ổn. Nó luôn tạo xung ngay từ chu kì đầu tiên, nên không thể biết được xung của nó đang đếm đến đâu. Có thể xung của nó mới ON lên và 1p sau kích hàm INC, cũng có thể nó đã đếm tới 59s rồi và kích hàm INC ngay lúc đó => gây ra sai lệch thời gian đặt

  12. #9
    Thành viên cấp 9
    Ngày tham gia
    Jul 2012
    Bài viết
    961
    Thanks
    45
    219 lượt trong 141 bài viết
    lấy xung cạnh xuống của bít đó.
    Đưa thêm lựa chọn nếu không nhất thiết chính xác cao, sai lệch khoảng 30s nếu bạn cần độ chính xác cao thì chọn phương án trong bài #4.

    “Tôi không hề có tài năng gì cả. Tôi chỉ vô cùng tò mò.”A.E



Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Back to Top