Thông báo

Collapse
No announcement yet.

Giao thức Modbus

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

  • #16
    Ok !, anh cũng muốn mọi người phát triển Modbus bằng C, ASM vì hiện tại anh mới viết ở BASCOM thôi. Các bạn download Modscan32 về xem trước đi nhé

    Comment


    • #17
      Anh post code dưới dạng giải thích từng đoạn, từng dòng sẽ rất dễ hiểu. Nhưng ko hiểu anh có thời gian ko?

      Comment


      • #18
        như ATYLA đã tutorial, modbus có loại RTU và ASCII. Tôi sẽ hướng dẫn mọi người viết loại RTU
        vào DAY để download Modbus OPC Server.

        Comment


        • #19
          tài liệu về modbus anh em có thể vào đây http://modbus.org/ down thoải máy nói chung là cũng đủ dùng. Còn tài liệu bằng tiếng Việt anh em có thể tìm đọc cuống Mạng truyền thông công nghiệp của thầy Hoàng Minh Sơn bộ môn ĐKTĐ ĐHBKHN.

          Comment


          • #20
            Nguyên văn bởi tuancdc
            Tôi muốn hỏi cụ thể cách tính "một khoảng trống yên lặng khoảng 4 lần thời gian truyền 1 kí tự" như thế nào?
            Theo tôi công thức tính độ trễ giữa hai frame trong bản tin của modbus dc tính như sau:
            thời gian trễ=(8*1000)*3.5/Tốc độ truyền
            Chẳng hạn với tốc độ 9600 bit/s ta dc thời gian trế là khoang 3ms
            Mong các bạn gop ý về công thức trên (công thức tính thời gian tối thiểu giữa 2 frame)
            Last edited by user; 28-02-2006, 13:57.

            Comment


            • #21
              Modbus RTU sử dụng CRC 16bit để kiểm soát lỗi -> Cách tính NTN ?
              Đa thức phát sử dụng là Polynomial=X**16 + X**15 + 1 hay theo BIN 1010 0000 0000 0001
              Có 2 cách để tính CRC là tính theo công thức hoặc tra theo bảng
              Các bước tuần tự để tính CRC16:

              1. Load a 16-bit register with all 1’s.
              2. Exclusive OR the first 8-bit byte with the high order byte of the 16-bit register, putting the result in the 16-bit register.
              3. Shift the 16-bit register one bit to the right.
              4a. If the bit shifted out to the right is one, exclusive OR the generating polynomial 1010 0000 0000 0001 with the 16-bit register.
              4b. If the bit shifted out to the right is zero; return to step 3.
              5. Repeat steps 3 and 4 until 8 shifts have been performed.
              6. Exclusive OR the next 8-bit byte with the 16-bit register.
              7. Repeat step 3 through 6 until all bytes of the message have been exclusive OR’rd with the 16-bit register and shifted 8 times.
              8. The contents of the 16-bit register are the 2 byte CRC error check and is added to the message most significant bits first.


              PS: Xem trong [ModScan32 - Help - Error Detection] rất chi tiết
              Last edited by www9van; 01-03-2006, 14:27.

              Comment


              • #22
                From: "Charlie Peterson" <CPeterson@protocessor.com>
                To: 12430609@puk.ac.za,.................... zyzio21@o2.pl

                I understand that you downloaded our free Modbus source code from the www.ProtoCessor.com web site.

                Once you implement Modbus or our serial driver into your product, you will gain instant access to a world of Building Automation and Industrial Automation protocols, utilizing our ProtoCessor product line. See the attached data sheet for details.

                Our ProtoCessor family of industrial communications protocol coprocessor modules allows you to easily connect a serial port to EtherNet/IP, Modbus TCP, BACnet MSTP, BACnet/IP, Metasys N2, LonWorks, Modbus RTU, DNP3 and other protocols in your products. All you need to do is add a ProtoCessor socket footprint to your PCB design with a standardized TTL data interface and immediately gain compatibility with a broad range of serial and Ethernet protocols.

                If you can't put a ProtoCessor socket on your board, you can achieve the same functionality with our ProtoCarrier card. It is a great fit for companies who can't redesign their hardware but still want to take advantage of other IA and BMS protocols. This small daughter card has an RS232 or RS485 port on the host side (to your product) and a ProtoCessor TTL socket on the board that can accept whichever ProtoCessor you choose (serial, Ethernet or LON on the field side). The price is $110/List (qty 1) for the card plus the cost of the ProtoCessor.

                Specs for the 2 ProtoCarrier cards:

                · 1 RS232-DB9 or 1 RS485 port - screw block terminal or 1 RS232 DB-9 port on the host side (to your product) and a ProtoCessor TTL Socket on the board to the ProtoCessor of your choice (serial, Ethernet or LON on the field side).

                · Power source-The board has 9-30Vdc.

                * Dimensions Height=1.2 (with FFP ProtoCessor) Width=2.2 Length=4.2

                · 6 mounting holes for easy placement.

                If you have a custom protocol on your host processor, we have the ability to quickly implement that protocol in the product, as well.

                If you’d like to know more about these products, please visit our web site at www.ProtoCessor.com or contact me at 800-317-8317 (US) or 978-582-4751.

                Yours truly,
                Charlie Peterson
                Director of Embedded Products
                ProtoCessor
                1991 Tarob Court
                Milpitas, CA. 95035
                800-317-8317 US
                978-582-4751
                978-339-3445 Cell
                cpeterson@ProtoCessor.com
                www.ProtoCessor.com

                Comment


                • #23
                  ê, bài này dọc nghe quen quá
                  hình như trong sách thầy Sơn thi phải,he he.

                  Comment


                  • #24
                    nói về mạng công nghiệp mình thấy quyển " Mạng truyền thông công nghiệp "
                    của thầy Hoàng Minh Sơn khá đầy đủ đấy. ai quan tâm chịu khó đọc một chút

                    Comment


                    • #25
                      Nguyên văn bởi www9van
                      Modbus RTU sử dụng CRC 16bit để kiểm soát lỗi -> Cách tính NTN ?
                      Đa thức phát sử dụng là Polynomial=X**16 + X**15 + 1 hay theo BIN 1010 0000 0000 0001
                      Chủ đề này có vẻ ít được quan tâm
                      Bác www9van nhầm ở đây rồi. polynomial là x^0+x^2+x^15+x^16 hay 1+x^2+x^15+x^16 chứ không phải là X**16 + X**15 + 1. Dù là bất cứ polynomial nào thì cũng phải có x^16 cả, nếu không thì không hợp lệ.

                      Như vậy nó sẽ ứng với BIN là 1010 0000 0000 0001 (hay A001 hex) như bác www9van nói.
                      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


                      • #26
                        trễ 1 khoảng truyền 1 ký tự
                        1/tốc độ truyền X [ số bít truyền ( 7hay8) + Start + Stop(1 hay 2) + parity( nếu có) ]. giây.

                        ví dụ truyền 9600,N,8

                        t = 1/9600 x (8 + 2) gần 11ms.
                        Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                        Biến tần
                        Máy giặt
                        Lò vi sóng
                        Bếp từ.
                        Tủ lạnh.
                        Điều hòa

                        Comment


                        • #27
                          ai có giải thuật tính CRC nhanh nhất. Giả sử PIC16F877 chạy 10MHZ ( 2.5 MIPS). Truyền khoảng lặng là 2 frame, tốc độ 115.000 baud. Có tính được không nhỉ?
                          Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                          Biến tần
                          Máy giặt
                          Lò vi sóng
                          Bếp từ.
                          Tủ lạnh.
                          Điều hòa

                          Comment


                          • #28
                            Nhanh nhất là tra bảng bác ạ.
                            Vẫn biết mỗi lần xa là một lần về lại...

                            Comment


                            • #29
                              Nguyên văn bởi MinhHa
                              ai có giải thuật tính CRC nhanh nhất. Giả sử PIC16F877 chạy 10MHZ ( 2.5 MIPS). Truyền khoảng lặng là 2 frame, tốc độ 115.000 baud. Có tính được không nhỉ?
                              Tính thế này ổn không anh ?

                              Đây là cách tính CRC Cool nhất mà em biết.

                              //Với CRC (X^16 + X^12 + X^5 + 1).

                              unsigned char ser_data;
                              static unsigned int crc;
                              crc = (unsigned char)(crc >> 8) | (crc << 8);
                              crc ^= ser_data;
                              crc ^= (unsigned char)(crc & 0xff) >> 4;
                              crc ^= (crc << 8) << 4;
                              crc ^= ((crc & 0xff) << 4) << 1;

                              Comment


                              • #30
                                Nguyên văn bởi phamthaihoa
                                Tính thế này ổn không anh ?

                                Đây là cách tính CRC Cool nhất mà em biết.

                                //Với CRC (X^16 + X^12 + X^5 + 1).
                                ;
                                Chắc ý của bác là X^16 + X^15 + X^2 + 1

                                Em chưa thử cách của bác nhưng em nghĩ muốn nhanh thì chỉ có tra bảng thôi bác ạ, để thời gian cho VXL nó còn làm việc khác

                                Mời các bác xem mấy cái bảng đó trong này:
                                http://forums.ni.com/attachments/ni/...I_MBUS_300.pdf
                                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

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X