Thông báo

Collapse
No announcement yet.

Lập trình plc & truyền thông profibus dp

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

  • #16
    cám ơn cả nhà! mình mới là thành viên mới. mong dc sự chỉ giáo học hỏi từ các bạn.
    Thanks all !

    Comment


    • #17
      Khi bạn khai báo cấu hình trong phần mềm Simatic manager thì khai báo con S7300 bạn chọn làm master vào rack 0. 2 con còn lại đương nhiên là slave. Nếu 2 con kia không có truyền thông DP thì phải dùng thêm con CP342 để truyền thông. Lúc này bạn có thể lựa chọn số byte để truyền và nhận giữa master và slave.
      Nói chung khi truyền thông DP thì do Siemens hỗ trợ sẵn nên bạn không cần phải lăn tăn về vấn đề lập trình truyền thông mà chỉ cần đưa các giá trị vào các byte đã được chỉ sẵn. Rất là tiện lợi phải không!
      Đừng ngồi đó mà mong mọi việc tốt hơn, hãy làm mình tốt hơn
      Jim Rohn

      Comment


      • #18
        Cám ơn pac đã chỉ giáo ! Nhưng ý em ở đây đang thắc mắc là làm thế nào để không bị "xung đột" quyền điều khiển. Vì cấp điều khiển ở đây gồm có 3 con S7 300 : 1 con S7 300 (điều khiển 2 con ACB thứ nhất , thứ 2 chẳng hạn), 1 con S7 300 (điều khiển 2 con ACB thứ 3 và thứ 4), con S7 300 còn lại thì điều khiển toàn bộ hệ thống trong mạng Profibus. Vì vậy vấn đề đặt ra là làm sao trong quá trình truyền thông , trao đổi dữ liệu giữa cấp điều khiển ( 3 con S7) và cấp chấp hành ( ACB và một số thiết bị đóng cắt khác) được thông suốt. Tức là quyền điều khiển giữa 3 con S7 không bị xung đột với nhau.Vì có phải là tại một thời điểm chỉ có thể 1 con S7 được điều khiển đúng không ah ?
        Mong pác chỉ giáo cho em !
        |

        Comment


        • #19
          Nguyên văn bởi Manhho86 Xem bài viết
          Cám ơn bác ! Trong ví dụ của siemens đưa ra em thấy có dùng hai hàm truyền thông SFC 58 & 59. Nhưng em vẫn chưa nắm rõ cách dùng hai hàm này và đang tìm hiểu. Nếu anh đã dùng thì có thể nói nhanh giúp em !
          Chào, mấy lâu nay bận bịu quá không thể lên mạng được nên không thể trả lời cho bạn. Hàm SFC58/SFC59 là đọc và ghi một bản ghi (Record) đến một IO_Function nào đó, ở đây ta đang nói đến DP. Tôi đã nói với bạn lần trước, PLC của Siemens coi một thiết bị IO mà nó quản lý được cũng giống như là thiết bị được gắn trên slot của PLC nhưng khác với chữ P tức là một ngõ vật lý có địa chỉ cụ thể nào đó mà nó quản lý được. Khi bạn sử dụng hàm này bạn chú ý một điều ở chỗ có chữ "Record" nó có kiểu là ANY vì vậy tốt nhất bạn sử dụng một con trỏ để trỏ đến một cái record data mà bạn định truyền dữ liệu đến DP slave hay ghi dữ liệu đọc được từ DP slave. Tất nhiện là cái Record này chứa dữ liệu mà bạn đã lập trình để control cái DP như là để đóng cắt ACB chẳng hạn. Bạn phải đọc hướng dẫn phần 6&7 "PROFIBUS data transfer" &"Data transfer to the PLC" trong cái manualthì sẽ làm được thôi. Ở đây bạn có thể dùng một cái UDT trong record (DB-data block) để truyền dữ liệu hoặc bạn có thể chỉ rõ truyền bao nhiêu byte, bắt đàu từ byte nào.
          Ví dụ: RECORD :=P#DB20.DBX10.0 BYTE 45 đây là ví dụ trong manual đó nha, tức là con trỏ (P#) trỏ tới DB20, đọc dữ liệu bắt đầu từ byte số 10 và truyền dữ liệu có độ dài là 45 byte (tức từ byte số 10 đến byte 54). Trong cái manual tôi có thấy nó cho cả ví vị bạn có thể làm với hàm move nữa đó. Nhớ đọc phàn 6,7 kỹ nha.
          ,

          Comment


          • #20
            Cám ơn pac Manato nhá ! Giờ em muốn hỏi pac trong việc truyền thông giữa 3 con S7 300 làm master ( như em nói ở trên thì cần có chú ý ở những điểm j để chúng có thể truyền thông được với nhau mà không bị xung đột quyền điều khiển ?) Thanks !
            |

            Comment


            • #21
              Nguyên văn bởi Manhho86 Xem bài viết
              Cám ơn pac Manato nhá ! Giờ em muốn hỏi pac trong việc truyền thông giữa 3 con S7 300 làm master ( như em nói ở trên thì cần có chú ý ở những điểm j để chúng có thể truyền thông được với nhau mà không bị xung đột quyền điều khiển ?) Thanks !
              Bây giờ trên một con đường nọ có đánh số địa chỉ là, sốnhà.tênđường.tổ.khuphố.phường.... vậy bạn nói để tìm đến một địa chỉ nào đó có bị nhầm lẫn không, chắc là không thể đúng không. Trong PLC cũng vậy, bạn có 3 PLC nối với nhau trên một mạng thì địa chỉ của 3 PLC này là duy nhất và bạn không có cách nào khai báo trùng nhau được. Không tin thì bạn khai bao một multi project có 3 PLC được nối chung với một nextwork khi đó trong phần khai báo hardward của từng PLC bạn sẽ có các node profibus khác (chẳng hạn là các ET200 và bạ sẽ không thể nào khai báo chúng trùng địa chỉ với các node ở trên Hardward của PLC khác. Vì vậy bạn sẽ không bao giờ lo cái phần bị đụng địa chỉ cả. Còn bạn muốn 3 PLC liên lạc được với nhau thì đã có các hàm người ta viết sẵn cho bạn rồi, bạn chỉ cấu hình cho nó, gọi hàm và sử dụng là xong. bạn hãy nhìn kỹ 3 cái hình mà tôi gửi nha, trong phần HWcho PLC1,2 có các node slaver nhưng trong phần Netconfig bạn chỉ nhìn thấy các master mà thôi. Vậy thì phần còn lại của bạn là tìm hiểu mấy cái hàm truyền thông trong thư viện SimaticNet nha.
              Attached Files
              ,

              Comment


              • #22
                Cho em hỏi cái ! Trong chương trình em viết có một đoạn điều khiển đóng , cắt con ACB như sau " Network 1: Khoi dong chuong trinh , I0.0: Start , I0.1: Stop
                A(
                O I 0.0
                O M 0.0
                )
                AN I 0.1
                = M 0.0

                Network 2 : Copy trang thai cua ACB cho chuong trinh dieu khien( Doc noi dung tu cong tuong tu chua thong tin dieu khien ACB , sau do chuyen vao
                vung nho cua PLC)

                L PIW 256 // Doc noi dung tu cong tuong tu
                T MW 10 // dung 16 bit tu M10.0 den M11.7

                Network 3 : Thong bao trang thai len PC ( M10.2 : Bit mo tiep diem chinh ( OPEN) , M10.3: Bit đóng tiep diem chinh(CLOSE)
                M1.0 den M1.3 : Bit nho bao trang thai)

                A M 10.2
                A M 10.3
                = M 1.0 // TRIP

                AN M 10.2
                A M 10.3
                = M 1.1 //Dong tiep diem chinh (CLOSE)

                A M 10.2
                AN M 10.3
                = M 1.2 // Mo tiep diem chinh (OPEN)

                AN M 10.2
                AN M 10.3
                = M 1.3 //Trang thai khong san sang


                Network 3 : Dieu khien dong , cat ACB( M2.0: Cat ACB , M2.1 : Dong ACB : Hai bit nay là bit nhớ , mình sẽ nối tag vào Button Cắt , Đóng ACB trên giao diện WinCC)
                A M 0.0
                A M 2.0
                L 2#00000001
                T PQW 256 // Mo tiep diem chinh(OPEN)

                A M 0.0
                A M 2.1
                L 2#00000010
                T PQW 256 // Dong tiep diem chinh ( CLOSE)


                Em xin giải thích thêm :
                -cổng PQW 256 là cổng tương tự mà em đã configure cho con ACb trên Simatic manager
                - Lệnh L 2#1 có nghĩa là mình sẽ load giá trị 1 vào 2 bit 0 , 1 của từ thấp trong thanh ACCU ( L 2#00000001)sau đó sẽ Transfer ra cổng PQW 256 , khi đó sẽ làm mở tiếp điểm chính của con ACB. Tương tự với dòng lệnh L 2#00000010
                Vấn đề ở đây em cần hỏi là chương trình em viết như trên có ổn không ? Mong các pác giúp em !
                Last edited by Manhho86; 28-10-2009, 16:36.
                |

                Comment


                • #23
                  HIện tại em đang được thực hành với thiết bị thực tế luôn . Nhưng khi download cấu hình xuống thì đèn BUSF trên con CP342-5 cứ báo nhấp nháy. Hơn nữa đèn Profibus trên COM15 của con ACB báo chưa nhận mạng Profibus. Tra manual của con CP342 thì thấy nguyên nhân có thể là do cấu hình sai, có thể do lỗi kết nối trạm. Em đã kiểm tra lại , nhưng kết quả thì vẫn thế ! Hiện tại em chưa tìm ra được hướng giải quyết , mong các pác chỉ giúp em !
                  |

                  Comment


                  • #24
                    Nguyên văn bởi Manhho86 Xem bài viết
                    Hi các "bác" !
                    Hiện em vừa mới đi làm . nay đang gặp một vấn đề trong việc truyền thông Profibus mong các "bác" giúp đỡ !
                    Bài toán của e như sau : Mình có một PC ( WinCC 6.2) làm trạm điều khiển và giám sát , 1 con S7 300 (CPU314), 2 con ACB 3WL của Siemens ( Air Circuit Breaker) truyền thông với nhau qua mạng Profibus DP
                    Vấn đề đặt ra bây giờ là điều khiển và giám sát trạng thái đóng , cắt , trip của con ACB
                    Em đã Config phần cứng và đặt địa chỉ cho các trạm xong , nhưng vấn đề là em chưa rõ cách đặt địa chỉ của chân 6 , chân 8 trong cổng COM15( cổng truyền thông Profibus của con ACB) để tiến hành lập trình trong Step7 và giám sát. Mong các "bác" chỉ giúp !

                    Giải thích sơ đồ cổng COM15 : Khi tiếp điểm 6 đóng thì cấp điện qua cuộn đóng Y1 => đóng ACB , khi tiếp điểm 8 đóng sẽ có điện qua cuộn cắt F1=> cắt con ACB. Vấn đề ở đây là em muốn các bác chỉ cho em cách xác định và đọc địa chỉ từ chân 6 và chân 8 trong cổng COM15 ( hình COM15 em gửi ở dưới)
                    Các bác down hình ở đây :
                    http://www.mediafire.com/download.php?2tmmzzzhcho
                    Thực ra thì tớ mù tịt về cái profilebus DP. Nhưng chỉ biết thế này, Khi sử dụng PLC của Semens quản lý các thiết bị cấp dưới nó thông qua Profilebus DP thì PLC đó nó xem các thiêt ô nhớ của thiết bị phía dưới như là ô nhớ của nó.

                    Trở lại bài toán của bạn, theo cách hiểu của tớ là bạn dùng 2 con S7-200 để quản lý 2 con ACB và 2 PLC S7-200 này nối với S7-300.

                    Thực tế tớ thường gặp, thì các con ACB này đều có sơ đồ chân cẳng rõ ràng, chân nào trip, chân nào để điều khiển đóng, chân nào để điều khiển cắt. ----> nối các chân này với S7-200 là điều khiển được đóng cắt rồi.

                    Về việc giám sát trạng thái đóng cắt của nó: dùng các tiếp điểm thường đóng và thường mở của nó đưa về S7-200 để giám sát trạng thái này của nó.

                    Tớ nói cách không dùng Profibus DP của ACB đó nhé. Còn sếp bạn cứ bắt bằng DP thì ... phải làm thôi

                    Comment


                    • #25
                      WinCC - Profibus

                      Mọi người cho mình hỏi chút
                      Mình đang làm dự án trong đó có kết nối PLC S7300 và WinCC qua đường Profibus DP, mình đã add Profibus DP.chn vào WinCC nhưng mình không thấy có Card CP 5611 mà chỉ tháy CP5412 (máy tính của mình đã cài CP5611 và có cả card rồi)
                      Có ai biết làm sao để xuất hiện card CP5611 trong WinCC không?!
                      Cảm ơn các bạn!

                      Comment


                      • #26
                        Vào Control Panel, chọn PG/PC sẽ có danh sách các kết nối giữa PC với thiết bị của Semens. Nếu đã lắp card CP5611 rồi thì nó sẽ hiện ra, không cần cài driver. Trong phần mền Simatic Manager cũng có phần vào PG/PC nhưng mình quên mất rồi. Bạn mà trên mấy cái toolbar sẽ thấy
                        Đừng ngồi đó mà mong mọi việc tốt hơn, hãy làm mình tốt hơn
                        Jim Rohn

                        Comment


                        • #27
                          Em đã vào đó và thiết lâp rồi . Hiện tại em đã Update firmware của CP342-5 & CPU 314. Sau đó đổ cấu hình mạng xuống ngon lành , không có vấn đề j nhưng khi chuyển từ chế độ STOP sang RUN trên CP342-5 thì đèn BUSF trên con CP342-5 nhấp nháy.Tra manual thì thấy đó là nó chưa nhận con DP Slave (ACB). Loay hoay tìm lỗi nhưng em vẫn chưa phát hiện được ra nguyên nhân bắt nguồn từ đâu. Anh nào biết chỉ giáo giúp em cái !
                          |

                          Comment


                          • #28
                            cho em hỏi?

                            có bác nào biết cái phần mềm:SIMATIC SOFTNET S7 / PB để làm gì không?
                            hoặc thằng này:SIMATIC SOFTNET S7 IE with TCP/IP or IE

                            Comment


                            • #29
                              Hiện em đang làm truyền thông giữa 2 con S7 300 với nhau qua mạng Profibus Dp. Một con làm Master , 1 con làm Slave. Con Slave có nhiệm vụ điều khiển đóng cắt máy cắt ACB 3WL đồng thời thu thập trạng thái đóng , cắt sau đó sẽ đưa lên con master => sử lý thu thập lên màn hình giám sát WinCC.Ngược lại con master cũng có nhiệm vụ gửi lệnh đóng , cắt xuống con Slave, sau đó con Slave sẽ nhận lệnh và kiểm tra các điều kiện khác nữa , nếu OK thì mới đóng cắt con 3WL.
                              Em xin hỏi là sau khi mình cấu hình trên HW xòng thì lúc download cấu hình xuống , mình chỉ cần đổ cấu hình vào con Master ( thông qua cổng MPI) là nó sẽ tự nhận con Slave kia đúng không ? ( vì bình thường thì với các con slave khác nó sẽ có lẫy gạt để đặt địa chỉ như con ET200m chẳng hạn, nhưng đây , con Slave là con S7 300 )
                              Rất mong được các pac chỉ giúp !
                              |

                              Comment


                              • #30
                                bác nào có tài liệu hướng dẫn cụ thể từng bước kết nối và lập trình đơn giản cho 1 ứng dụng chạy mạng Profibus _DP không?em đang học kết nối về mạng này.Mong được sự giúp đỡ của các bạn

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X