Thông báo

Collapse
No announcement yet.

Timer & Counter Of Omron

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

  • Timer & Counter Of Omron

    chào các bác, khi thực hành zen thì em thấy ở zen có 4 loại timer:On DELAY timer, off delay timer, One-shot pulse timer,Flashing pulse timer (em khoái nhất là Flashing pulse timer, bật đi và tắt lập đi lập lập lại trong khoảng chu kỳ đặt trước) mà sao khi thực tập plc em mò mãi mà ko ra Flashing pulse timer vậy? bác nào có thể chỉ cho em được ko? bác nào có tài liệu về timer thì share cho em một ít.

  • #2
    Nguyên văn bởi khanhpro Xem bài viết
    chào các bác, khi thực hành zen thì em thấy ở zen có 4 loại timer:On DELAY timer, off delay timer, One-shot pulse timer,Flashing pulse timer (em khoái nhất là Flashing pulse timer, bật đi và tắt lập đi lập lập lại trong khoảng chu kỳ đặt trước) mà sao khi thực tập plc em mò mãi mà ko ra Flashing pulse timer vậy? bác nào có thể chỉ cho em được ko? bác nào có tài liệu về timer thì share cho em một ít.
    PLC OMROM loại CPM, cái Flashing pulse là bit 25052 hay j j đó, nhớ không rõ lắm. Bạn tra mấy cái TON thì làm gì có. Xem lại máy cái địa chỉ bit đặc biệt đi nhé

    Comment


    • #3
      chào các bạn

      hi!
      Mình đang làm 1 bài tập về plc nhưng đang vướng 1 khúc mắc nhỏ mong các bạn giúp đỡ
      Đề bài yêu câu như sau: cho 3 động cơ DC1, DC2,DC3 , 2 nút nhấn start, stop, đèn báo ( đang hoạt động => sáng, không làm việc => tắt, sự cố thì nhấp nháy) được khởi động ở 2 chế độ : bằng tay và tự động.
      Chế độ bằng tay: nếu nhấn nút start 1 lần trong 5s thì DC1 chạy, nếu nhấn start 2 lần trong 5s thì động cơ2 chạy. nếu nhấn nút start 3 lần trong 5s thì động cơ 3 chạy. nhấn stop động cơ dừng. các động cơ ko lam việc cùng lúc
      Chế độ tự động: nhấn start dc1 chạy 5s sau, dc2 chạy, 5s sau, dc3 chạy . nhấn stop thì ngược lại dc3 dừng, 5s sau dc2 dừng, 5s sau dc1 dừng.
      Vấn đề ở đây là ở chế độ khởi động bằng tay. Dùng cái gì hở các bác. Làm thế nào mà để thiết bị nhận biết được nếu trong 5s nhấn start 1 lần thì dc1 làm việc, tức là nếu trong vòng 5s xem có bao nhiêu tín hiệu (3 tín hiệu) tác đông lên thiêt bị thì tương ứng với thứ tự động cơ làm việc.nếu tín hiệu lớn hơn 3 thì đông cơ ko làm việc, mong các bạn giải thích và dùng gì trong plc.

      Comment


      • #4
        Nguyên văn bởi khanhpro Xem bài viết
        hi!
        Mình đang làm 1 bài tập về plc nhưng đang vướng 1 khúc mắc nhỏ mong các bạn giúp đỡ
        Đề bài yêu câu như sau: cho 3 động cơ DC1, DC2,DC3 , 2 nút nhấn start, stop, đèn báo ( đang hoạt động => sáng, không làm việc => tắt, sự cố thì nhấp nháy) được khởi động ở 2 chế độ : bằng tay và tự động.
        Chế độ bằng tay: nếu nhấn nút start 1 lần trong 5s thì DC1 chạy, nếu nhấn start 2 lần trong 5s thì động cơ2 chạy. nếu nhấn nút start 3 lần trong 5s thì động cơ 3 chạy. nhấn stop động cơ dừng. các động cơ ko lam việc cùng lúc
        Chế độ tự động: nhấn start dc1 chạy 5s sau, dc2 chạy, 5s sau, dc3 chạy . nhấn stop thì ngược lại dc3 dừng, 5s sau dc2 dừng, 5s sau dc1 dừng.
        Vấn đề ở đây là ở chế độ khởi động bằng tay. Dùng cái gì hở các bác. Làm thế nào mà để thiết bị nhận biết được nếu trong 5s nhấn start 1 lần thì dc1 làm việc, tức là nếu trong vòng 5s xem có bao nhiêu tín hiệu (3 tín hiệu) tác đông lên thiêt bị thì tương ứng với thứ tự động cơ làm việc.nếu tín hiệu lớn hơn 3 thì đông cơ ko làm việc, mong các bạn giải thích và dùng gì trong plc.
        hi,
        không khó khăn lắm trong vấn đề này. Cách làm như sau: thường thường thì các key làm việc tai chế độ low active level (với pull up resistor trong mcu). Bạn thiết lập đầu vào của key là input rồi theo dõi level tại input này. Sử dụng 1 timer với chu kỳ hoạt động 5s và 1 counter có initial value=0 nữa. Nếu trong trường hợp nút start được bấm thì tại input sẽ có low level. Bạn cho khởi động timer chạy. Nếu trong khoảng thời gian chạy, nếu input level chuyển sang high (tương ứng với key được thả ra) thì bạn tăng counter lên thêm 1. Bạn thực hiện algorithm sao cho mỗi lần input chuyển từ low sang high thì tăng thêm 1. Sau khi timer chạy hết 5s, bạn đọc giá trị của counter thì lúc đó sẽ biết được có bao nhiêu lần key được bấm thôi. Nhưng bạn phải chú ý dùng mạch chống nhiễu tại đầu vào input của key (vì trong khi bấm phím sẽ xuât hiện nhiễu tại thời điểm đầu tiên khi bấm phím và như vậy thì có thể counter sẽ đọc sai giá trị).
        be kind, be sweet, be human

        Comment


        • #5
          Nguyên văn bởi kit Xem bài viết
          hi,
          không khó khăn lắm trong vấn đề này. Cách làm như sau: thường thường thì các key làm việc tai chế độ low active level (với pull up resistor trong mcu). Bạn thiết lập đầu vào của key là input rồi theo dõi level tại input này. Sử dụng 1 timer với chu kỳ hoạt động 5s và 1 counter có initial value=0 nữa. Nếu trong trường hợp nút start được bấm thì tại input sẽ có low level. Bạn cho khởi động timer chạy. Nếu trong khoảng thời gian chạy, nếu input level chuyển sang high (tương ứng với key được thả ra) thì bạn tăng counter lên thêm 1. Bạn thực hiện algorithm sao cho mỗi lần input chuyển từ low sang high thì tăng thêm 1. Sau khi timer chạy hết 5s, bạn đọc giá trị của counter thì lúc đó sẽ biết được có bao nhiêu lần key được bấm thôi. Nhưng bạn phải chú ý dùng mạch chống nhiễu tại đầu vào input của key (vì trong khi bấm phím sẽ xuât hiện nhiễu tại thời điểm đầu tiên khi bấm phím và như vậy thì có thể counter sẽ đọc sai giá trị).
          Đọc lý thuyết khó hiểu quá, mờ cả mắt.
          Tóm lại là theo bạn nên dùng thuật toán so sánh giá trị counter với các số 1, 2, 3, để rồi bật tương ứng các bơm 1, 2, 3?
          mình thấy cần dùng phương pháp đơn giản thôi.
          nếu nhấn nút start 1 lần trong 5s thì DC1 chạy, nếu nhấn start 2 lần trong 5s thì động cơ2 chạy. nếu nhấn nút start 3 lần trong 5s thì động cơ 3 chạy. nhấn stop động cơ dừng. các động cơ ko lam việc cùng lúc
          Bạn test thử bài này nhé: (lập trình bằng ngôn ngữ của thằng siemens, vì không tra lại sách nên có thể 1 số từ chưa chuẩn lắm, cố gắng xoáy vào thuật toán nhé)
          - Quy ước đầu vào ra:
          I0.0 - nút start
          I0.1 - Nút Stop
          Q0.0 đến Q0.2: lần lượt là đầu ra đóng cho các bơm 1,2,3
          Bắt đầu:
          LD I0.0 //bấm nút start (chưa cần quan tâm bao nhiêu lần)
          PLS M0.0 // lấy tín hiệu sườn lên của xung I0.0
          LD M0.0
          ANI T0 //T0 khống chế thời gian ấn start có tác dụng
          = C0,1 //bấm 1 lần
          = C1, 2 // bấm 2 lần
          = C2,3 // bấm 3 lần
          = C3,4 //bấm 4 lần (nếu bấm >4 lần thì C3 vẫn đóng, nên bấm>4 lần cũng như 4 lần)
          LD C1
          ANI T0
          R C0 //bấm >1 lần Reset C0
          LD C2
          ANI T0
          R C1 // bấm >2 lần RS C1
          LD C3
          ANI T0
          R C2 //bấm >3 lần RS C2
          LD M0.0
          S M0.1,1 //tạo bit duy trì khi bấm start
          LD M0.1
          = T0, 5000 //khi bấm start, khởi động Rơle thời gian T0, 5s
          LD C0
          AND T0
          = Q0.0 //sau 5s, nếu bấm 1 lần thì bật bơm 1
          LD C1
          AND T0
          = Q0.1 //sau 5s, nếu bấm 2 lần thì bật bơm 2
          LD C2
          AND T0
          = Q0.2 //sau 5s, nếu bấm 3 lần thì bật bơm 3
          LD I0.1 //bấm stop, RS toàn bộ
          R M0.1, 1
          R Q0.0, 3
          R C0
          R C1
          R C2
          R C3

          Hoàn thành.
          bạn hãy chuyển sang dạng LAD đọc dễ hiểu hơn
          Last edited by icetoheart; 26-05-2008, 10:54.

          Comment


          • #6
            hjx, viết cả 1 bài giải quyết yêu cầu đặt ra mà chẳng ai ngó ngàng.
            Càng ngày càng thấy forum buồn hơn

            Comment


            • #7
              Nguyên văn bởi icetoheart Xem bài viết
              hjx, viết cả 1 bài giải quyết yêu cầu đặt ra mà chẳng ai ngó ngàng.
              Càng ngày càng thấy forum buồn hơn

              Diễn đàn đâu có buồn lắm, chỉ có điều bạn chọn nhầm đối tượng giúp đỡ. Một ông sinh viên coi diễn đàn chỉ là nơi để giải quyết vấn đề cho mình, khi cần thì kêu toáng giúp gấp, giải quyết xong rồi (dù do được giúp hay tự làm) thì té mất. Tới khi đi làm nếu có gặp PLC lại la lên giúp gấp, rồi xong việc là để đấy.

              Tôi có theo dõi các bài viết của bạn icetoheart và của nick khanhpro khá kỹ nên nhận xét như vậy. Bởi vì những bài viết kiểu "đồ án" hay "bài tập lớn" hay "xin xỏ" không vi phạm nội quy nên vẫn tồn tại, nhưng rõ ràng đa phần chúng không có tính chất trao đổi học thuật. Chỉ khi nào người đặt vấn đề thực sự muốn trao đổi, chứ không phải đơn giản chỉ hỏi lấy thông tin rồi biến, lúc đó diễn đàn mới hy vọng tăng chất lượng được. Ít nhất điều tôi làm từ khi tiếp quản box này là dọn dẹp cho nó đỡ hỗn loạn hơn trước. Hy vọng thay vì việc trả lời nhiều câu hỏi của newbie, bạn tập trung viết vài bài có chất lượng cho những người thực sự muốn trao đổi, đóng góp cho diễn đàn.

              P/S: tình trạng này gặp với nhiều diễn đàn kỹ thuật khác, kể cả ở nước ngoài. Đơn cử nhiều người vẫn phàn nàn ở đây
              http://www.psocdeveloper.com/forums/...ic.php?p=21734
              Phần mềm tự do hoặc không dùng máy tính nữa !.

              Comment


              • #8
                Nguyên văn bởi icetoheart Xem bài viết
                Đọc lý thuyết khó hiểu quá, mờ cả mắt.
                Tóm lại là theo bạn nên dùng thuật toán so sánh giá trị counter với các số 1, 2, 3, để rồi bật tương ứng các bơm 1, 2, 3?
                mình thấy cần dùng phương pháp đơn giản thôi.

                Bạn test thử bài này nhé: (lập trình bằng ngôn ngữ của thằng siemens, vì không tra lại sách nên có thể 1 số từ chưa chuẩn lắm, cố gắng xoáy vào thuật toán nhé)
                - Quy ước đầu vào ra:
                I0.0 - nút start
                I0.1 - Nút Stop
                Q0.0 đến Q0.2: lần lượt là đầu ra đóng cho các bơm 1,2,3
                Bắt đầu:
                LD I0.0 //bấm nút start (chưa cần quan tâm bao nhiêu lần)
                PLS M0.0 // lấy tín hiệu sườn lên của xung I0.0
                LD M0.0
                ANI T0 //T0 khống chế thời gian ấn start có tác dụng
                = C0,1 //bấm 1 lần
                = C1, 2 // bấm 2 lần
                = C2,3 // bấm 3 lần
                = C3,4 //bấm 4 lần (nếu bấm >4 lần thì C3 vẫn đóng, nên bấm>4 lần cũng như 4 lần)
                LD C1
                ANI T0
                R C0 //bấm >1 lần Reset C0
                LD C2
                ANI T0
                R C1 // bấm >2 lần RS C1
                LD C3
                ANI T0
                R C2 //bấm >3 lần RS C2
                LD M0.0
                S M0.1,1 //tạo bit duy trì khi bấm start
                LD M0.1
                = T0, 5000 //khi bấm start, khởi động Rơle thời gian T0, 5s
                LD C0
                AND T0
                = Q0.0 //sau 5s, nếu bấm 1 lần thì bật bơm 1
                LD C1
                AND T0
                = Q0.1 //sau 5s, nếu bấm 2 lần thì bật bơm 2
                LD C2
                AND T0
                = Q0.2 //sau 5s, nếu bấm 3 lần thì bật bơm 3
                LD I0.1 //bấm stop, RS toàn bộ
                R M0.1, 1
                R Q0.0, 3
                R C0
                R C1
                R C2
                R C3

                Hoàn thành.
                bạn hãy chuyển sang dạng LAD đọc dễ hiểu hơn
                hi
                Tớ đọc của bạn tớ cũng mờ cả mắt. Tớ ko rõ PLC là gì, mà lại học mcu nên chỉ theo logic của mcu mà trả lời thôi nên có thể ko đúng .
                be kind, be sweet, be human

                Comment


                • #9
                  Nguyên văn bởi bqviet Xem bài viết
                  Diễn đàn đâu có buồn lắm, chỉ có điều bạn chọn nhầm đối tượng giúp đỡ. Một ông sinh viên coi diễn đàn chỉ là nơi để giải quyết vấn đề cho mình, khi cần thì kêu toáng giúp gấp, giải quyết xong rồi (dù do được giúp hay tự làm) thì té mất. Tới khi đi làm nếu có gặp PLC lại la lên giúp gấp, rồi xong việc là để đấy.

                  Tôi có theo dõi các bài viết của bạn icetoheart và của nick khanhpro khá kỹ nên nhận xét như vậy. Bởi vì những bài viết kiểu "đồ án" hay "bài tập lớn" hay "xin xỏ" không vi phạm nội quy nên vẫn tồn tại, nhưng rõ ràng đa phần chúng không có tính chất trao đổi học thuật. Chỉ khi nào người đặt vấn đề thực sự muốn trao đổi, chứ không phải đơn giản chỉ hỏi lấy thông tin rồi biến, lúc đó diễn đàn mới hy vọng tăng chất lượng được. Ít nhất điều tôi làm từ khi tiếp quản box này là dọn dẹp cho nó đỡ hỗn loạn hơn trước. Hy vọng thay vì việc trả lời nhiều câu hỏi của newbie, bạn tập trung viết vài bài có chất lượng cho những người thực sự muốn trao đổi, đóng góp cho diễn đàn.

                  P/S: tình trạng này gặp với nhiều diễn đàn kỹ thuật khác, kể cả ở nước ngoài. Đơn cử nhiều người vẫn phàn nàn ở đây
                  http://www.psocdeveloper.com/forums/...ic.php?p=21734
                  Tớ đi làm được 5 năm rồi, thông thường những cái gì thực sự nan giải, tìm mãi mà không ra đáp án thì tớ mới đề nghị giúp đỡ, và nghĩ người khác cũng thế. Còn thời gian post bài thì thực sự tớ cũng không có nhiều lắm, với lại PLC tớ biết rộng nhưng không sâu, nên để viết bài sâu sắc 1 chút cũng hơi khó. Thanks bạn đã góp ý, tớ sẽ điều chỉnh hợp lý cho đỡ mất thời gian vào mấy cái vụ hỏi vu vơ kiểu này.

                  Comment


                  • #10
                    chào bqviet, thật sự tôi rất cảm ơn những lời góp ý "chân thành và tâm huyết" của bạn
                    tôi nghĩ rằng chắc bạn là người tự lập sớm có lẽ là chưa qua thời sinh viên, đơn giản sv chúng tôi mới gọi là bắt đầu tiếp cận những cái mà mình làm cho sau này, tất nhiên là kiến thức có hạn chỉ có thể biết qua sách vở và lời giảng của thầy cô, nói tóm lại chỉ có kiến thức chay mà thôi, nếu có thực tập thì cũng chỉ gọi là cho biết, tất nhiên tôi "bây giời" không thể "giỏi" bằng bạn được những điều mà bạn nói có thể đúng hoặc đúng hoặc sai, chỉ có thực tế mới chứng minh được. tôi thật sự "khâm phục" bạn thì theo như lời bạn nói thì hình như bạn tự học là chính, mọi kiến thức của bản thân đều do bạn tự "mò"
                    mà ra chứ không phải nhờ vả, " xin xỏ" rồi biến nhỉ. có lẽ chỉ số IQ của bạn cao lắm. tôi nghĩ điễn đàn là nơi trao đổi kiến thức và giúp đỡ lẫn nhau. bầy giời tôi mới bắt đầu học nên tôi không biết nhiều lắm nên tôi hỏi, sau nay khi đi làm tôi có kiến thức do thực tế mang lại nếu ai hỏi về kiến mà tối biết thì tui sắn sàng trải lời thôi.
                    chúc mừng bạn đã lên chức manager of box này. chúc bạn sẽ thục hiện được ý tưởng của mình tức là in box này sẽ không có những chủ đề " xin xỏ" nửa mà tập trung những chủ đề chỉ có trao đổi mà thôi.
                    tôi hy vọng bạn sẽ nhưng bác zen, người đã đưa ra chủ đề về s7200 để anh em cùng thảo luận. chúc bạn sẽ làm được như bác "zen" có lẽ là không được vì bạn có phải là zen đâu. chúc box mà bạn quản lý sẽ bớt chán hơn

                    Comment


                    • #11
                      to: Ku ít thịt
                      Nguyên văn bởi kit Xem bài viết
                      hi
                      Tớ đọc của bạn tớ cũng mờ cả mắt. Tớ ko rõ PLC là gì, mà lại học mcu nên chỉ theo logic của mcu mà trả lời thôi nên có thể ko đúng .
                      thực ra cái ý kiến áp dụng mcu của bạn cho mình một ý tưởng rất hay, thế này nhé:
                      - với nội dung đề bài đưa ra, theo mình nghĩ nếu áp dụng PLC trong trường hợp này thì công việc rất dễ dàng, song yếu tố kinh tế lại là 1 vấn đề (tất nhiên nó không phải là 1 gia tài, nhưng nó làm giảm tính cạnh tranh của sản phẩm, cụ thể là cái máy công cụ sẽ đăt hơn), rõ ràng vài con IC sẽ rẻ hơn con PLC rất nhiều.
                      - Ứng dụng của PLC trong trường hợp này, nếu sử dụng mạch điện tử, có lẽ chỉ cần mấy con IC gate AND, OR, 1 con IC timer, 4 con IC counter, 1 con pulse-up. Rất tiếc mình là dân điều khiển tự động hóa, kiến thức điện tử còn hạn chế và chưa va chạm nhiều. Bạn có thể vẽ cái mạch logic bằng các IC như thế này được không, nếu được post cho anh em tham gia thảo luận nào, Thanks trước

                      Comment


                      • #12
                        Chào các bác,
                        Có bác nào thành thạo về Logo không thì giúp em giải quyết một vướng mắc nhỏ này, em đang lập chương trình cho con logo, nhưng cái phần bộ đếm thời gian khó quá, bác nào rành về "hour counter" thì chỉ giáo thêm cho em với. Thanks các bác nhiều
                        Nếu được, mong các bác giải thích sâu hơn về R, EN, RAL, Para
                        - Mà cái bộ đếm này hoạt động được khi logo có nguồn cấp, con khi không có nguồn cấp thì nó có nhớ time đã đếm rồi không các bác.

                        Thanks a lot

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X