Thông báo

Collapse
No announcement yet.

xử lý treo hợp lý !

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • xử lý treo hợp lý !

    các bác có kinh nghiệm cho em tham khảo tí. Em học tự động nhưng lại đang làm bảo trì cơ điện cho một công ty gỗ. Mấy bác trung cấp làm cũng tốt , nói vậy chứ học rồi ra làm thực tế cái này cái kia tích lũy kiến thức và kiểm nghiệm cũng thấy hay. Nhiều khi sửa máy họ làm toàn relay và relay thời gian có nhiều máy đến hơn chục cái relay thời gian mà chu trình làm việc của nó không phức tạp vì chỉ đóng mở solenoid để điều khiển ben. Mạch khá cồng kềnh và kiểm tra mất thời gian vì hầu hết là không có sơ đồ mạch. Em tính đề nghị sếp design lại nó dùng vdk thì mạch sẽ nhỏ gọn và dễ kiểm tra nhưng phần chống nhiễu và treo cũng cần quan tâm vì nhiễu trong hệ thống điện nhà máy tương đối lớn.
    - xin hỏi giải pháp chống treo cho vdk hợp lý, nếu dùng reset đơn thuần sẽ không hợp lý vì khi hệ thống đang hoạt động theo chu trình tuần tự mà bị reset là tiêu lun. các ben hơi sẽ dập vào nhau gây hư hỏng thậm chí nguy hiểm. Chỉ có thể bị reset trong khoảng thời gian rất nhỏ và chương trình trở lại điểm nó đang làm việc và làm tiếp cho đến hết chu trình công việc.
    - what dog có hợp lý ko? vì nguyên tắc là reset thì vdk sẽ trở lại từ đầu chương trình để chạy điều này thực sự nguy hiểm như em nói ở trên.
    - vấn đề chống nhiễu Em định lọc nguồn cấp cho vdk , opto cách li tương đối kĩ bằng cuộn cảm và tụ kẹo vậy có ổn không.?

  • #2
    Trước tiên là bạn xử lý nhiễu bằng các phương pháp như bạn nói: lọc nguồn, cách ly, thiết kế mạch tốt, chạy mạch bao đất phần vi điều khiển, thạch anh...
    Sau thì có thể dùng 1 NVRAM để lưu các giá trị hiện thời được ko nhỉ, sau khi reset thì kiểm tra.....

    Comment


    • #3
      - Mình nghĩ đây cũng là một giải pháp, Hiện nay các thẻ nhớ cho điện thoại giá khá rẻ.
      - Tùy vào chương trình mà mình dùng những biến hợp lý để lưu vào thẻ và khi bị reset sẽ phải đọc những thông số trong thẻ nhớ để nhảy đến đoạn lệnh thích hợp.
      - Trong void main mình sẽ dùng if để nhảy đến và tiếp tục làm.

      vd: //default n = 0;
      if(n == 0)
      {
      lenh a;
      n = 1;
      }

      if( n == 1)

      {lenh b;
      n = 2;
      }

      vv ....
      nhưng vấn đề là lúc này mình đặt để cho phép reset tại đâu và khi nào cũng là vấn đề.

      Comment


      • #4
        Nếu đơn giản vậy thì dùng các loại PLC cỡ nhỏ cho nó an toàn và hiệu quả, làm board mạch VXL chưa chắc đã rẻ hơn, trong khi chất lượng, độ tin cậy bạn chưa tin tưởng.
        Dùng NV ram + watchdog cũng là một giải pháp tạm thời thôi, vì thỉnh thoảng nó nhiễu ngay lúc đang ghi ram, hoặc tệ hơn là treo ngay lúc đó. Trong các máy móc yêu cầu độ tin cậy cao thì họ thường dùng 2, thậm chí có khi là 3/4 CPU, chạy song song nhau, con này treo có con kia back up và ngược lại.

        Comment


        • #5
          Đó là mình lấy ví dụ thôi chứ không phải cái nào cũng đơn giản vậy. làm board VDK mình tự làm thì hết cỡ 200 -> 300k thôi. trong khi plc cỡ nhỏ giá rẻ mà bạn nói đến thì giá cả sao?.
          Để tăng độ tin cậy dùng 3/4 CPU ? trên một mạch dùng 4 CPU và 3 con chạy // lun sao ?.
          +)lấy một vd về // theo mình hiểu:
          - mong muốn on thiết bị = mức cao:
          pin1_VDK1 = high;
          pin1_VDK2 = high;
          delay_ms(t);
          đưa cả 2 vào OR gate <=> nút start vậy là chỉ cần 1 in 2 hoạt động đúng là on thiết bị ( pin vdk --> tran --> coil of relay 1 --> solenoid)
          - nhưng nếu off = mức thấp sẽ thấy chỉ khi 2 thằng oke thì nó mới off -> nguy hiểm. cách ! = tốn thêm linh k.

          Comment

          Về tác giả

          Collapse

          newbie_avr Tìm hiểu thêm về newbie_avr

          Bài viết mới nhất

          Collapse

          Đang tải...
          X