Thông báo

Collapse
No announcement yet.

Cổng COM help!!!!!

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

  • Cổng COM help!!!!!

    Mình có một thiết bị chỉ có duy nhất 1 cổng COM thôi nhưng mình có 2 thiết bị khác cần đọc thông tin từ nó do vậy mình muốn chia nó thành 2 cổng để kết nối thì phải làm sao ,ai biết giúp mình với ,cảm ơn!

  • #2
    Cả ba thiết bị này là thiết bị khác nhau mà ta không thể thay đổi cách hoạt động giao tiếp của nó phải không?
    Nếu như vậy thì em nghĩ việc kết nối phải đảm bảo tại một thời điểm chỉ có một thiết bị slave được kết nối tới master. Một IC phân kênh như 4052 sẽ đảm đương việc này.

    Mời mọi người cùng đóng góp ý kiến.
    Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
    Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

    Comment


    • #3
      Nguyên văn bởi nghaiha Xem bài viết
      Cả ba thiết bị này là thiết bị khác nhau mà ta không thể thay đổi cách hoạt động giao tiếp của nó phải không?
      Nếu như vậy thì em nghĩ việc kết nối phải đảm bảo tại một thời điểm chỉ có một thiết bị slave được kết nối tới master. Một IC phân kênh như 4052 sẽ đảm đương việc này.

      Mời mọi người cùng đóng góp ý kiến.

      Vấn đề là thiết bị Master chỉ có mỗi việc là truyền dữ liệu còn 2 thiết bị Slaver chỉ làm nhiệm vụ nhận dữ liệu thôi coi như là truyền đơn công vậy ,không có cách nào đơn giản để cả 2 thiết bị Slaver cùng đồng thời nhận dữ liệu sao bác??

      Comment


      • #4
        Nếu chỉ như vậy thì không có vấn đề gì? chân TX của Master nối vào 2 chân RX của các slaver. Vấn đề là khi giao tiếp bao giờ cũng có phản hồi từ các slaver, khi đó mới có sự tranh chấp bus.
        Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
        Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

        Comment


        • #5
          Nguyên văn bởi nghaiha Xem bài viết
          Cả ba thiết bị này là thiết bị khác nhau mà ta không thể thay đổi cách hoạt động giao tiếp của nó phải không?
          Nếu như vậy thì em nghĩ việc kết nối phải đảm bảo tại một thời điểm chỉ có một thiết bị slave được kết nối tới master. Một IC phân kênh như 4052 sẽ đảm đương việc này.

          Mời mọi người cùng đóng góp ý kiến
          .
          Nếu thế thì đơn giản thôi, có thể tự làm bộ chia cổng COM hoặc dùng 3 bộ chuyển RS232 - RS485 là xong.

          email:mahaco@fpt.vn

          Comment


          • #6
            Nguyên văn bởi nghaiha Xem bài viết
            Nếu chỉ như vậy thì không có vấn đề gì? chân TX của Master nối vào 2 chân RX của các slaver. Vấn đề là khi giao tiếp bao giờ cũng có phản hồi từ các slaver, khi đó mới có sự tranh chấp bus.
            Bác ơi không phải thiết bị nào cũng có thể chia đường TX của COM dễ dàng như thế đâu. TX--RX truyền và nhận đúng, TX--2xRX truyền và nhận sai ngay, nhưng cũng có thiết bị thì nối được.

            email:mahaco@fpt.vn

            Comment


            • #7
              Nguyên văn bởi hoctro89xxx Xem bài viết
              Nếu thế thì đơn giản thôi, có thể tự làm bộ chia cổng COM hoặc dùng 3 bộ chuyển RS232 - RS485 là xong.
              Ghi chú ở đây 3 thiết bị đều là của nhà sản xuất khác,không phải của chúng ta do đó không đề cập đến vấn đề giải thuật hay phần mềm mà là phần cứng nhé.

              Vấn đề ở đây là giải quyết sự tranh chấp bus. Khi 2 thằng slave cùng nói thì thằng master nó làm sao hiểu được. Bộ chia hay bộ chuyển đều không có tác dụng.

              Bác ơi không phải thiết bị nào cũng có thể chia đường TX của COM dễ dàng như thế đâu. TX--RX truyền và nhận đúng, TX--2xRX truyền và nhận sai ngay, nhưng cũng có thiết bị thì nối được.
              Còn chuyện thằng master nói 2 thằng slave kia nghe thì ở chẳng có gì phải bàn. Với số lượng slave nhiều thì mới đáng lo, còn chỉ 2 slave thì em nghĩ việc giao tiếp chẳng có vấn đề gì cả.
              Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
              Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

              Comment


              • #8
                Nguyên văn bởi nghaiha Xem bài viết
                Ghi chú ở đây 3 thiết bị đều là của nhà sản xuất khác,không phải của chúng ta do đó không đề cập đến vấn đề giải thuật hay phần mềm mà là phần cứng nhé.
                Phần em đề cập không có xử lý phần mềm, đơn thuần là phần cứng.

                Nguyên văn bởi nghaiha Xem bài viết
                Vấn đề ở đây là giải quyết sự tranh chấp bus. Khi 2 thằng slave cùng nói thì thằng master nó làm sao hiểu được. Bộ chia hay bộ chuyển đều không có tác dụng.
                Ở đây không có sự tranh chấp bus nào cả vì bạn trongnghia85 nói: 2 thiết bị Slaver chỉ làm nhiệm vụ nhận dữ liệu

                Nguyên văn bởi nghaiha Xem bài viết
                Còn chuyện thằng master nói 2 thằng slave kia nghe thì ở chẳng có gì phải bàn. Với số lượng slave nhiều thì mới đáng lo, còn chỉ 2 slave thì em nghĩ việc giao tiếp chẳng có vấn đề gì cả.
                Không thể chỉ nghĩ mà đúng mà phải thực tế mới đúng. Vấn đề ở đây là đường truyền vật lý - trở kháng tải. Thường thì như em đã nói, đường TX của RS232 chỉ được thiết kế để 1 nối 1, nếu chia nó đến 2 tải để cùng nhận thì...phải thử cụ thể thiết bị trong thực tế. Nhưng nếu là TX và RX của VĐK thì khỏi nói ở đây.
                Vì trước em có làm rồi, không được nên phải dùng chuyển qua RS485.

                email:mahaco@fpt.vn

                Comment


                • #9
                  Nguyên văn bởi hoctro89xxx Xem bài viết
                  Phần em đề cập không có xử lý phần mềm, đơn thuần là phần cứng.
                  Chỗ này em không nói bác, em nói là để các bác khác đọc thì hiểu chúng ta đang nói về cái gì. Chứ không họ lại bảo thiếu gì giải pháp giải quyết việc tranh chấp bus, cãi nhau làm gì.

                  Ở đây không có sự tranh chấp bus nào cả vì bạn trongnghia85 nói: 2 thiết bị Slaver chỉ làm nhiệm vụ nhận dữ liệu
                  Bác nên nhìn thoáng một chút, nếu đây là các thiết bị của bác trongnghia85 làm ra thì không lo, giải thuật phần mềm sẽ giải quyết việc này. Còn đây là thiết bị do nhà sản xuất khác, nhìn từ bên ngoài có thể chỉ thấy master truyền dữ liệu cho slave nhưng thực tế đủ thứ giao tiếp bắt tay ở trong đó. Không thể nói là chỉ có master truyền dữ liệu cho slave.

                  Không thể chỉ nghĩ mà đúng mà phải thực tế mới đúng. Vấn đề ở đây là đường truyền vật lý - trở kháng tải. Thường thì như em đã nói, đường TX của RS232 chỉ được thiết kế để 1 nối 1, nếu chia nó đến 2 tải để cùng nhận thì...phải thử cụ thể thiết bị trong thực tế. Nhưng nếu là TX và RX của VĐK thì khỏi nói ở đây.
                  Vì trước em có làm rồi, không được nên phải dùng chuyển qua RS485.
                  Đường truyền RS232 được thiết kế không phải là 1 nối 1. Một ngõ ra mà không lái nổi 2 fan-in thì hơi vô lý. Chỉ lưu ý điều này tốc độ truyền phụ thuộc vào khoảng cách giữa 2 thiết bị ví dụ ở khoảng cách 50m ta chỉ có thể truyền tốc độ 300 baud, 5m thì 9600 baud và 20cm thì 115200 baud. Khi có nhiều thiết bị cùng nối vào chân TX thì khoảng cách này sẽ giảm xuống còn số lượng thì phải có thông số dòng ra ở ngõ TX max là bao nhiêu, dòng ngõ vào RX là bao nhiêu thì mới nói được. Ở đây chủ topic không nói về chuyện khoảng cách mà chỉ nói chúng ta là mặt học thuật, có được hay là không thôi.

                  Tóm lại chuyện nối 2 chung 2 chân RX của slave là chuyện đương nhiên được. Ngày trước em đã từng vài lần lấy cổng COM của máy tính đấu vào đường truyền nhận giữa 2 thiết bị để xem 2 thiết bị kia giao tiếp gì với nhau. Mọi việc luôn okie, dữ liệu nhận được trên máy tính hoàn toàn tốt đẹp.
                  Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                  Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                  Comment


                  • #10
                    Nguyên văn bởi nghaiha Xem bài viết
                    Đường truyền RS232 được thiết kế không phải là 1 nối 1. Một ngõ ra mà không lái nổi 2 fan-in thì hơi vô lý. Chỉ lưu ý điều này tốc độ truyền phụ thuộc vào khoảng cách giữa 2 thiết bị ví dụ ở khoảng cách 50m ta chỉ có thể truyền tốc độ 300 baud, 5m thì 9600 baud và 20cm thì 115200 baud. Khi có nhiều thiết bị cùng nối vào chân TX thì khoảng cách này sẽ giảm xuống còn số lượng thì phải có thông số dòng ra ở ngõ TX max là bao nhiêu, dòng ngõ vào RX là bao nhiêu thì mới nói được. Ở đây chủ topic không nói về chuyện khoảng cách mà chỉ nói chúng ta là mặt học thuật, có được hay là không thôi.

                    Tóm lại chuyện nối 2 chung 2 chân RX của slave là chuyện đương nhiên được. Ngày trước em đã từng vài lần lấy cổng COM của máy tính đấu vào đường truyền nhận giữa 2 thiết bị để xem 2 thiết bị kia giao tiếp gì với nhau. Mọi việc luôn okie, dữ liệu nhận được trên máy tính hoàn toàn tốt đẹp.
                    Trao đổi để học hỏi và để nâng cao kinh nghiệm, kinh nghiệm thực tế quý hơn rất nhiều lần lý thuyết.
                    Số m và baud ở trên là bác đọc sách hay đã làm thực tế? Với con số bác đưa ra là không đúng với thực tế.
                    Thực tế em đã làm như sau: với 50m dây - chất lượng thường thôi - truyền tốc độ 38400 baud, lớn hơn rất nhiều 300 của bác. 38400 là truyền nhận liên tục không ngưng nghỉ hàng giờ, hàng ngày. Nếu truyền không liên tục, thỉnh thoảng truyền nhận 1 gói vài chục byte thì tốc độ còn lên được 57600 baud. Với các tốc độ trên truyền nhận không lỗi 1 byte nào cả. Em làm truyền nhận trên giữa PC và bo mạch 89C52, bo mạch này gắn trong máy CNC FANUC đời M6. PC đặt cách 50m so với máy CNC. Hệ thống bao gồm 1 PC nối 2 cổng COM đến 2 máy CNC. Mà bác biết máy CNC phay ra khuôn mẫu, nếu đã phay được 5h mà lỗi 1 byte - xoẹt - tan phôi ngay.
                    Đấy là thực tế. Nhiều lúc em làm em bỏ qua lý thuyết - khoản này giống bác nhé.
                    Cái phần em tô xanh: Đó là công việc em làm hàng tháng, và bây giờ vẫn làm. Nên thế bài trước em có nói phải thử thực tế vì có thiết bị không nối được. Thực tế đã chứng minh vì em đã làm rất nhiều trên các thiết bị khác nhau rồi.

                    email:mahaco@fpt.vn

                    Comment


                    • #11
                      Đấy là thực tế. Nhiều lúc em làm em bỏ qua lý thuyết - khoản này giống bác nhé.
                      công nhận với bác là giờ bỏ qua lý thuyết nhiều. Toàn biết nguyên lý rồi phăng thôi. Vì giờ nhiều thứ không sức đâu mà học và nhớ hết được. Các con số em đưa ra ở trên và của bác thực ra không có gì mâu thuẫn cả. Tùy vào môi trường làm việc. Chẳng hạn chỗ em có dàn tụ bù dọc 500 kV (kilo volt). Nhiễu do điện từ trường là rất lớn không đạt nổi đến con số của bác đâu.

                      Nguyên văn bởi hoctro89xxx Xem bài viết
                      Em làm truyền nhận trên giữa PC và bo mạch 89C52, bo mạch này gắn trong máy CNC FANUC đời M6. PC đặt cách 50m so với máy CNC. Hệ thống bao gồm 1 PC nối 2 cổng COM đến 2 máy CNC. Mà bác biết máy CNC phay ra khuôn mẫu, nếu đã phay được 5h mà lỗi 1 byte - xoẹt - tan phôi ngay.
                      Chỗ này thì bác sai hoàn toàn rồi nhé, một máy tính điều khiển CNC Fanuc (đời mới nhé) mà điều khiển vòng hở (không có phản hồi của CNC) để phay được 5h rồi sai 1 byte để tan phôi là chuyện không thể có. Các giao thức truyền dữ liệu đi đâu mất rồi. Khi dữ liệu truyền cho CNC không chuẩn xác, CNC sẽ phản hồi để PC truyền lại chứ.

                      Tranh luận với bác chút chứ không có ý gì. Tìm xem có giải pháp nào khác giải quyết hoàn hảo vấn đề này không?

                      Em hỏi bác cái này (cái này là học hỏi) nếu các thiết bị trên không phải truyền RS232 3 dây mà có thêm vài chân bắt tay nữa thì mạch RS485-232 của chúng ta hoạt động thế nào?
                      Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                      Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                      Comment


                      • #12
                        @trongnghia85:
                        Để đơn giản bạn có thể nối TX của M với RX của 2 S , nếu tốt thì thôi còn không thì bạn làm như sau:
                        Làm mạch 3 con IC Max232, Phía cổng RX,TX -+12V thì bạn nối với M và 2 S. Phía cổng TTL thì bạn nối TX (của IC max232 nối M) với 2 RX (của 2 IC max232 nối S)
                        Đây là 1 mạch chia 2 đường RS232 rất hiệu quả, phạm vi đặt 3 IC max232 nên cách nhau dưới 3m. Tôi nói dưới 3m vì tôi mới làm thực tế đến thế thôi.
                        M: Master
                        S: Slave
                        @Bác Hà và các bác:
                        Bác lại nói đến Fanuc đời mới, em thì nói đời 6M. Các máy em làm đều không có phản hồi, cứ nhét byte cho nó , đúng mã là nó chạy. He he, bác phải làm rồi mới thấy em nói thật, em chưa bao giờ viết bịa những cái chưa biết ( không phải là nói đâu nhé). Ngày đầu làm nó em đã khiến khách hàng vá lại phôi đấy.
                        Tất nhiên những ngày đầu em làm giao tiếp giữa PC và bo mạch 89 không có phản hồi và kiểm soát. Nhưng về sau phải làm rất chặt chẽ vì nó là môi trường công nghiệp, dây chạy qua rất nhiều máy NC,CNC,máy ép nhựa, máy khoan, ...

                        Em hỏi bác cái này (cái này là học hỏi) nếu các thiết bị trên không phải truyền RS232 3 dây mà có thêm vài chân bắt tay nữa thì mạch RS485-232 của chúng ta hoạt động thế nào?
                        Còn cái này là 1 câu hỏi cực hay mà hiện tại em chưa bao giờ làm nhưng đã ngâm cứu qua rồi. Trước em đã định mua cái mạch mà nó có chức năng chuyển RS232 <-> RS485 của tây, RS485 có 2 line và 4 line, có cả RS422, RS232 thì đủ cả 9 chân. Hix, Muốn dùng đủ 9 chân của RS232 thì phải mua theo cặp của nó. Cái giá của nó thì khoảng 90USD, hix, chịu bác nhỉ. Còn nếu mà mình tự làm thì cũng dễ nhưng không biết độ chính xác là bao.

                        email:mahaco@fpt.vn

                        Comment


                        • #13
                          Đọc bài của mấy bác thấy sáng ra nhiều điều. Sắp tới em cũng làm đến thiết bị (cân oto ý, có bác nào làm nhiều chưa) mà cần chia từ 1 đường 232 ra thành 2 đường để chạy đến 2 PC khác nhau. Em viết phần mềm thôi, nhưng cũng phải đưa ra giải pháp phần cứng kết nối để đảm bảo yêu cầu. Hiện tại em chưa rõ 2 con PC nó có đặt cách nhau xa hay không. Có gì khó về kết nối chắc phải cậy nhờ 2 bác.
                          Ethernet-RS232, PIC Webserver, RFID Reader
                          CallerID, Cảnh báo BTS, ...
                          0988006696
                          linhnc308@gmail.com
                          http://linhnc308.blogspot.com

                          Comment


                          • #14
                            Nguyên văn bởi linhnc308 Xem bài viết
                            Đọc bài của mấy bác thấy sáng ra nhiều điều. Sắp tới em cũng làm đến thiết bị (cân oto ý, có bác nào làm nhiều chưa) mà cần chia từ 1 đường 232 ra thành 2 đường để chạy đến 2 PC khác nhau. Em viết phần mềm thôi, nhưng cũng phải đưa ra giải pháp phần cứng kết nối để đảm bảo yêu cầu. Hiện tại em chưa rõ 2 con PC nó có đặt cách nhau xa hay không. Có gì khó về kết nối chắc phải cậy nhờ 2 bác.
                            Nếu chia 2 đường kéo dài thì nên dùng RS485. Mạch làm thì trong tầm tay của em rồi. Nhưng em chú ý là nếu truyền nhận bán song công thì mạch chuyển đổi RS232-RS485 thường thì được, chứ dùng truyền nhận song công là phải chơi RS485 4lines hoặc RS422.
                            Cũng có thể dùng RS232 không dây, Nếu dùng loại tốt thì cũng khá tiền. Mặc dù là RS232 nhưng nó vẫn có các kết nối: điểm - điểm, điểm - đa điểm...

                            email:mahaco@fpt.vn

                            Comment


                            • #15
                              Sao mà vất vả chế cái này cái nọ thế các bác. Máy tính thiếu cổng COM thì tìm cách tăng thêm cho nó một cộng nữa có sao đâu, mua một bộ USB-232 là xong chứ gì.
                              ,

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X