Thông báo

Collapse
No announcement yet.

Giao tiếp S7-200 với PC

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

  • #61
    mình gửi lên một ví dụ về giao tiếp máy tính và PLC dùng VB nhé các bạn xem rồi góp ý với mình nhé:
    NGUYỄN XUÂN VŨ
    Mua bán, sửa chữa PLC, biến tần
    Vỉ mạch điện tử công nghiệp các loại
    0978462163

    Comment


    • #62
      Nguyên văn bởi xuanvu_dk2 Xem bài viết
      Mình có vấn đề này muốn hỏi các bạn: Mình phải giao tiếp PC - PLC - Biến tần(MM440). Nhưng PLC của mình là CPU224 chỉ có một cổng truyền thông thôi. Mình đang không biết làm thế nào để kết nối cả 3 thằng này đây. bạn nào làm rồi thì hướng dẫn mình với
      xuanvudk2@gmail.com
      À nhân tiện hỏi luôn có bạn nào có mạch chuyển đổi RS485 sang RS232 không? gửi cho mình xin với
      Mình chưa làm, nhưng mình góp ý bạn nên dùng Modbus để kết nối.
      Để PC có thể kết nối Modbus thì bạn phải có RS232-RS485 converter.
      Có thể bạn đã biết cách làm nên mới hỏi schematic.
      Mình gửi kèm Schematic đã sưu tầm được.

      Chúc bạn thành công!
      Attached Files
      Một bông hồng cho những ai đang còn mẹ,
      Đang còn mẹ để lòng vui sướng hơn ..

      Comment


      • #63
        Nguyên văn bởi xuanvu_dk2 Xem bài viết
        Mình có vấn đề này muốn hỏi các bạn: Mình phải giao tiếp PC - PLC - Biến tần(MM440). Nhưng PLC của mình là CPU224 chỉ có một cổng truyền thông thôi. Mình đang không biết làm thế nào để kết nối cả 3 thằng này đây. bạn nào làm rồi thì hướng dẫn mình với
        xuanvudk2@gmail.com
        À nhân tiện hỏi luôn có bạn nào có mạch chuyển đổi RS485 sang RS232 không? gửi cho mình xin với
        Rất đơn giản bạn gắn thêm 1 cái Hub từ 1 port RS485 --> 2 port RS485 và thế là bạn đã có 2 port giao tiếp PLC và inverter điều khiển bằng máy tính. inverter hoàn toàn có thể nhận lệnh từ máy tính chứ k nhất thiết được điều khiển bằng PLC.

        Comment


        • #64
          Chào các bạn. Cảm ơn các bạn đã góp ý cho mình nhưng làm như bạn nhphong thì mình thấy không ổn vì mình đã làm kiểu đó và kết quả là biến tần chạy là gây nhiễu lên máy tính làm cho máy tính nhận về những ký tự linh tinh lắm mình cũng không biết nó là gì? Vấn đề của mình là khi giao tiếp PLC với PC mình dùng freeport còn PLC với Biến tần mình dùng USS lên nó làm việc linh tinh lắm vì khi mình bật biết tần lên là nó gửi luôn những ký tự linh tinh lên giao diện VB của mình mà chưa cần điều khiển gì, Bạn nào có ý gì hay giúp mình với
          NGUYỄN XUÂN VŨ
          Mua bán, sửa chữa PLC, biến tần
          Vỉ mạch điện tử công nghiệp các loại
          0978462163

          Comment


          • #65
            Nguyên văn bởi xuanvu_dk2 Xem bài viết
            Chào các bạn. Cảm ơn các bạn đã góp ý cho mình nhưng làm như bạn nhphong thì mình thấy không ổn vì mình đã làm kiểu đó và kết quả là biến tần chạy là gây nhiễu lên máy tính làm cho máy tính nhận về những ký tự linh tinh lắm mình cũng không biết nó là gì? Vấn đề của mình là khi giao tiếp PLC với PC mình dùng freeport còn PLC với Biến tần mình dùng USS lên nó làm việc linh tinh lắm vì khi mình bật biết tần lên là nó gửi luôn những ký tự linh tinh lên giao diện VB của mình mà chưa cần điều khiển gì, Bạn nào có ý gì hay giúp mình với
            Vấn đề nhiễu và xử lý nhiễu mình không bàn ở đây. bạn lưu ý khi mình gởi câu lệnh xuống inverter thì inverter sẽ gởi ngược lại câu lệnh đáp ứng để xác nhận lệnh gởi của bạn, không biết đây có phải là tín hiệu nhiễu mà bạn đề cập hay không. Hệ thống của mình đang dùng như sau: Phần mềm máy tính viết bằng VB điều khiển 03 inverter (mỗi inverter được gán cho 1 địa chỉ khác nhau) và 01 PLC S7-200 CPU 214, mình dùng bộ chuyển đổi từ USB -->485 (RS232 --> 485 cũng vậy thôi), kết nối ngõ ra của USB-->485 đến 1 cái RS485 Hub và từ đây chia làm 4 port, 1 port cho PLC và 03 port cho 03 inverter. Kết quả là mình điều khiển inverter và PLC rất bình thường mà không hề bị nhiễu (máy mình sử dụng trong môi trường công nghiệp). Bạn xem kỹ lại cấu hình của bạn nhé.

            Comment


            • #66
              Hỏi gấp gấp

              Nguyên văn bởi nhphong Xem bài viết
              Vấn đề nhiễu và xử lý nhiễu mình không bàn ở đây. bạn lưu ý khi mình gởi câu lệnh xuống inverter thì inverter sẽ gởi ngược lại câu lệnh đáp ứng để xác nhận lệnh gởi của bạn, không biết đây có phải là tín hiệu nhiễu mà bạn đề cập hay không. Hệ thống của mình đang dùng như sau: Phần mềm máy tính viết bằng VB điều khiển 03 inverter (mỗi inverter được gán cho 1 địa chỉ khác nhau) và 01 PLC S7-200 CPU 214, mình dùng bộ chuyển đổi từ USB -->485 (RS232 --> 485 cũng vậy thôi), kết nối ngõ ra của USB-->485 đến 1 cái RS485 Hub và từ đây chia làm 4 port, 1 port cho PLC và 03 port cho 03 inverter. Kết quả là mình điều khiển inverter và PLC rất bình thường mà không hề bị nhiễu (máy mình sử dụng trong môi trường công nghiệp). Bạn xem kỹ lại cấu hình của bạn nhé.
              Chào bạn nhé: Điều khiển thì mình điều khiển ngon rồi nhưng vấn đề của mình là cần đọc được tốc độ động cơ lên máy tính cơ (Giao tiếp PLC với máy tính mình dùng giao thức freeport còn PLC với biến tần mình dùng USS không biết đó có phải là nguyên nhân gây ra nhiễu không? và chương trình điều khiển của mình có các nút ấn Mở thuận, Mở ngược, Dừng. Khi điều khiển từ máy tính thì nó không thực hiện ngay mà phải ấn nút điều khiển trên máy tính mấy lần ) Tiện cho mình hỏi luôn là trong dữ án của bạn bạn có điều khiển thay đổi tốc độ động cơ từ máy tính không mình đang cần lằm nhưng chưa biết xử lý thế nào?
              Ý tưởng của mình là dùng một thanh cuộn trong VB khi kéo thanh trượt thì PC gửi xuống PLC gửi xuống biến tần và làm động cơ tăng hay giảm tốc độ tuỳ theo chiều mình kéo ? Nếu bạn biết thì giúp mình ngay nhé vì cuối tuần 26/8/08 mình bảo vệ đồ án rồi?
              xin bạn gửi về xuanvudk2@gmail.com
              Cảm ơn bạn rất nhiều
              NGUYỄN XUÂN VŨ
              Mua bán, sửa chữa PLC, biến tần
              Vỉ mạch điện tử công nghiệp các loại
              0978462163

              Comment


              • #67
                Mình không có làm điều khiển inverter bằng PLC, mình điều khiển cả inverter và PLC bằng PC hết nên cũng k rõ lắm vấn đề của bạn. Mình nghĩ có thể là do thuật toán chương trình PLC của bạn có vấn đề vì đã không xử lý dữ liệu ngay khi nhận được lệnh, phải nhấn tới vài lần mới có tác dụng. Hệ thống của mình có điều khiển tốc độ động cơ (điều khiển PID) và cũng có đọc tốc độ của động cơ dùng bộ encoder. Tốc độ động cơ được điều khiển bằng cách nhập thông số vào màn hình PC và từ PC sẽ gởi dữ liệu trực tiếp xuống inverter. Cách này khá đơn giản và hiệu quả. Việc dùng thanh cuộn trong VB cũng tương tự, bạn chuyển dữ liệu sang dạng số rồi truyền xuống inverter. Còn thông qua PLC điều khiển inverter mình không làm nên không giúp bạn được rồi... Chúc bạn thành công...

                Comment


                • #68
                  Nguyên văn bởi xuanvu_dk2 Xem bài viết
                  Mình có vấn đề này muốn hỏi các bạn: Mình phải giao tiếp PC - PLC - Biến tần(MM440). Nhưng PLC của mình là CPU224 chỉ có một cổng truyền thông thôi. Mình đang không biết làm thế nào để kết nối cả 3 thằng này đây. bạn nào làm rồi thì hướng dẫn mình với
                  xuanvudk2@gmail.com
                  À nhân tiện hỏi luôn có bạn nào có mạch chuyển đổi RS485 sang RS232 không? gửi cho mình xin với
                  Chào bạn !
                  Bạn có thể làm thử cách sau :
                  1. PLC connect với PC qua cổng Com ở chế độ freeport
                  2. PLC connect với biến tần bằng cách dùng chế đọc xung tốc độ cao HSC của PLC để đếm số xung từ biến tần đưa về.
                  Chúc bạn thành công.

                  Comment


                  • #69
                    Nguyên văn bởi xuanvu_dk2 Xem bài viết
                    Chào bạn nhé: Điều khiển thì mình điều khiển ngon rồi nhưng vấn đề của mình là cần đọc được tốc độ động cơ lên máy tính cơ (Giao tiếp PLC với máy tính mình dùng giao thức freeport còn PLC với biến tần mình dùng USS không biết đó có phải là nguyên nhân gây ra nhiễu không? và chương trình điều khiển của mình có các nút ấn Mở thuận, Mở ngược, Dừng. Khi điều khiển từ máy tính thì nó không thực hiện ngay mà phải ấn nút điều khiển trên máy tính mấy lần ) Tiện cho mình hỏi luôn là trong dữ án của bạn bạn có điều khiển thay đổi tốc độ động cơ từ máy tính không mình đang cần lằm nhưng chưa biết xử lý thế nào?
                    Ý tưởng của mình là dùng một thanh cuộn trong VB khi kéo thanh trượt thì PC gửi xuống PLC gửi xuống biến tần và làm động cơ tăng hay giảm tốc độ tuỳ theo chiều mình kéo ? Nếu bạn biết thì giúp mình ngay nhé vì cuối tuần 26/8/08 mình bảo vệ đồ án rồi?
                    xin bạn gửi về xuanvudk2@gmail.com
                    Cảm ơn bạn rất nhiều
                    Bạn cho tôi hỏi bạn đã có chương Vb để xuât tín hiệu từ PC ra PLCS7200 chưa bạn co thể share cho mình được ko?

                    Comment


                    • #70
                      Bác nào viết được chương trình giao tiếp giữa PC và PLC S7200 thì share cho anh em xem với!
                      Toi cũng đang cần chương trình đó để đưa tín hiệu của 1 chương trình từ PC ra để làm tín hiệu vào của PLC!
                      Các bác giúp tôi nhé!

                      Comment


                      • #71
                        Phiền bác sensorman gửi cho một vài ví dụ cụ thể ở địa chỉ huuhadng@gmail.com, Cảm ơn bác nhiều.













                        Như vậy chúng ta thấy Mscomm là một bộ công cụ đã có sẳn trong VB giúp người lập trình can thiệp vào cổng com ( RS232). Và đây chính là 1 Actix có đầy đủ các thuộc tính cần thiết. Thông thường sau khi tạo một Project mới, ở phần các Actix có thể chưa có Mscomm do vậy bạn cần phải lấy đối tượng này ra ( hình điện thoại). Chúng ta có thể xem Mscomm là 1 đối tượng có nhiều thuộc tính, để Mscomm hoạt động chúng ta phải khai báo hay nói đúng hơn là set các thuộc tính cần thiết cho cơ chế truyền thông.
                        Khi đã được kích hoạt, Mscomm sẽ tự động lấy data từ cổng RS232 vào và cất ở bộ đệm truyền thông ( được thực hiện trên cơ chế ngắt truyền thông, Mscomm sẽ tự động chuyển đổi dữ liệu nguời sử dụng sang mã ASCII hoặc ngược lại), vậy người lập trình chỉ có nhiệm vụ lấy dữ liệu ( hoặc ngược lại) đưa vào 1 Text để hiện thị hoặc cất vào 1 địa chỉ cần thiết. Tuy nhiên VB là ngôn ngữ có cơ chế kích hoạt theo sự kiện vì vậy CHU KÌ lấy dữ liệu của bạn bắt buộc phải theo 1 sự kiện ( đây chính là nhược điểm hạn chế tốc độ truyền và nhận gói dữ liệu và hạn chế tính thời gian thực ), như ví dụ trên hình vẽ bạn phải sử dụng 1 timer để tạo ra sự kiện có tính tuần hoàn, và mỗi lần timer tràn thì sẽ tạo ra 1 sự kiện và đây chính là điều kiện để thực hiện việc lấy dữ liệu từ bộ đệm vào text.
                        Để kích hoạt các thuộc tính cần thiết của Mscomm cho truyền thông bạn cần khai báo các thuộc tính của nó như sau:
                        Mscomm1.PortOpen = True // mở cổng
                        Mscomm1.CommPort=1 // chọn com 1
                        Mscomm1.Settings=’ 9600,N,8,1’ // tốc độ,không sửdụng Parity,8 bít dữ liệu,1 bít stop.
                        Để lấy dữ liệu từ bộ đệm vào text ta sử dụng câu lệnh
                        Text1.text = Mscomm1.input ( hoặc .output)
                        Lưu ý các công việc này chỉ được thực hiện theo sự kiện ( ví dụ timer tràn)
                        Nếu cần thiết bạn có thể liên hệ trực tiếp tôi sẽ gửi cho bạn tài liệu và các chương trình mẫu. Chúc thành công.[/QUOTE]

                        Comment


                        • #72
                          anh e cho minh` hỏi tý:
                          1. Cái PC Access có dùng kết nối dc PC với PLC S7/300 bằng VB ko nhỉ?
                          2. Nếu ko có, anh e biết phần mềm nào làm dc việc đó ko?

                          Thanks!

                          Comment


                          • #73
                            em dang tim hieu ve plc, cac bac giup em voi . ve nguyen le giao tiep giua plc va man hinh cam ung.cung nhu gia lap cam ung tren may tinh de ket noi voi plc.plc em dang su dung la k200s, LG.nho cac cao thu giup do.

                            Comment


                            • #74
                              Vb & plc

                              Nguyên văn bởi DuyTuanpdt Xem bài viết
                              Bác nào viết được chương trình giao tiếp giữa PC và PLC S7200 thì share cho anh em xem với!
                              Toi cũng đang cần chương trình đó để đưa tín hiệu của 1 chương trình từ PC ra để làm tín hiệu vào của PLC!
                              Các bác giúp tôi nhé!
                              Bạn xem file đính kèm code của VB6 và PLC S7-200, test rồi, chế độ freeport....
                              Attached Files
                              Last edited by nhphong; 28-10-2008, 12:37. Lý do: Forgot attach files

                              Comment


                              • #75
                                Xin chào!
                                Để có thể gửi chuỗi ASCII từ PC xuống PLC, bạn phải định nghĩa một số điều kiện như byte điều khiển SMB87 đối với Port0, như:
                                Port 0) to achieve the following settings:
                                MSB LSB
                                SMB87 7 0
                                n x y z m t 0 0
                                n: (1) Receive Message function is enabled.
                                x: (0) Ignore SMB88.
                                y: (1) Use the value of SMB89 to detect the end
                                of message.
                                z: (1) Use the value of SMW90 to detect an idle
                                line condition.
                                m: (0) The timer is an inter-character timer (SMW92).
                                t: (1) Terminate Receive if the time period in
                                SMW92 is exceeded. (m)
                                tiếp theo là ký tự kết thúc chuỗi vào byte SMB89...
                                ngoài ra bạn còn phải định nghĩa chiều dài tối đa của chuỗi ở byte SMB94
                                Đây là một ví dụ tham khảo:
                                LD SM0.0
                                MOVB 16#B4, SMB87 // Enable the Receive Message
                                // control byte to ignore SMB88,
                                // use SMB89 to detect the end of
                                // message, use SMW90 to detect
                                // an idle line condition, indicate
                                // an inter-character timer, and
                                // terminate Receive if the time
                                // period in SMW92 is exceeded.
                                MOVB 16#0D, SMB89 // Set the end-of-message character
                                // to <CR>,
                                MOVW +50, SMW90 // the idle line time-out = 50 ms,
                                MOVW +4000, SMW92 // the inter-character time-out
                                // = 4000 ms,
                                MOVB 250, SMB94 // and the maximum number of
                                // characters = 6.
                                Chúc mọi người thành công.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X