Thông báo

Collapse
No announcement yet.

OPC server

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

  • #16
    Nguyên văn bởi tuan_dxm Xem bài viết
    làm thế nào để liên kểt được OPC server vào trong chương trình VB . mải em chưa làm được cái này .Mấy anh giúp em với
    Ban chuyen qua lap trinh bang Labview di, co san cac modun cho OPC server. Công việc của bạn chỉ còn là thiết lập đường dẫn cho chuẩn thôi!
    mail: [/email] :->

    Comment


    • #17
      Nguyên văn bởi acbossvn Xem bài viết
      Ban chuyen qua lap trinh bang Labview di, co san cac modun cho OPC server. Công việc của bạn chỉ còn là thiết lập đường dẫn cho chuẩn thôi!
      Xin hỏi bạn đã bao giờ làm thực tế chưa nhỉ

      Comment


      • #18
        Nguyên văn bởi vutricongbka Xem bài viết
        Xin hỏi bạn đã bao giờ làm thực tế chưa nhỉ
        Đấy là một bài tập của chúng tôi trong môn Mạng máy tính và truyền thông công nghiệp do ATYLA giảng dạy và hướng dẫn ! Thực ra chúng tôi mới chỉ dừng lại ở việc ghép nối các máy tính với nhau trong đó một máy tính là server với chuẩn OPC...
        mail: [/email] :->

        Comment


        • #19
          Tôi dùng chương trình VB (dựa vào chương trình mẫu của PCAccess) để giám sát một số biến dưới PLC.
          Tôi dùng Timer interval=100 thì VB kịp xử lý, nhưng lại không đảm bảo tính thời gian thực, sợ ko phản ứng kịp các sự cố.
          Nếu cho Interval =1ms thì chương trình VB bị ảnh hưởng vì nó liên tục phải "ngắt" để thực thiện lệnh trong Timer.
          Các bác có cách giám sát các biến dưới PLC ngoài việc dùng Timer không.

          Comment


          • #20
            Nguyên văn bởi heliman Xem bài viết
            Tôi dùng chương trình VB (dựa vào chương trình mẫu của PCAccess) để giám sát một số biến dưới PLC.
            Tôi dùng Timer interval=100 thì VB kịp xử lý, nhưng lại không đảm bảo tính thời gian thực, sợ ko phản ứng kịp các sự cố.
            Nếu cho Interval =1ms thì chương trình VB bị ảnh hưởng vì nó liên tục phải "ngắt" để thực thiện lệnh trong Timer.
            Các bác có cách giám sát các biến dưới PLC ngoài việc dùng Timer không.
            OPC server nào cũng cung cấp cho bạn một sự kiện là Datachange() bạn khia báo sự kiện ấy mà dùng he he he !!!

            Comment


            • #21
              Nguyên văn bởi heliman Xem bài viết
              Tôi dùng chương trình VB (dựa vào chương trình mẫu của PCAccess) để giám sát một số biến dưới PLC.
              Tôi dùng Timer interval=100 thì VB kịp xử lý, nhưng lại không đảm bảo tính thời gian thực, sợ ko phản ứng kịp các sự cố.
              Nếu cho Interval =1ms thì chương trình VB bị ảnh hưởng vì nó liên tục phải "ngắt" để thực thiện lệnh trong Timer.
              Các bác có cách giám sát các biến dưới PLC ngoài việc dùng Timer không.
              Thời gian thực ở VD của bạn là cái gì vậy, dùng từ này ở đây thì no chính xác. Vấn đề ở chỗ chúng ta chỉ phát hiện được cảm nhận được 24h/s và chương trình chỉ là giám sát biến và các trạng thái để cập nhật lên màn hình thì cần gì phải 1ms chỉ cần 100ms là đủ để chúng ta quan sát trạng thái của biến rồi.

              Comment


              • #22
                Module code

                Đúng như Longimi nói, chương trình bạn viết trên VB chỉ làm nhiệm vụ trao đổi dữ liệu tham số quá trình, PLC mới làm nhiệm vụ điều khiển, thời gian lấy mẫu 100 ms.

                Một cách khác không dùng timer là dùng hàm main và cho đoạn chương trình truyền thông vào trong vòng lặp:

                Do while Doevent()

                // code ở đây

                loop
                Càng biết nhiều càng thấy mình biết ít.

                Comment


                • #23
                  Nguyên văn bởi vutricongbka Xem bài viết
                  OPC server nào cũng cung cấp cho bạn một sự kiện là Datachange() bạn khia báo sự kiện ấy mà dùng he he he !!!
                  Có phải đoạn chương trình này không bạn(đoạn mã trong VB Sample của PCAccess):
                  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                  ' Callback from OnDataChange
                  Private Sub MyGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
                  On Error GoTo ErrorHandler
                  Dim i As Long
                  TxtDataChange.Text = TxtDataChange.Text + 1
                  '---------------------
                  ''Dong nay toi them vao.
                  'txtReadVal.Item(2).Text = Values(1) ' Write Value to Text Box I0.0
                  'txtReadVal.Item(3).Text = Values(2) ' Write Value to Text Box Timer
                  'txtReadVal.Item(4).Text = Values(5) ' Write Value to Text Box Counter
                  'txtReadVal.Item(5).Text = Values(7) ' Write Value to Text Box Mw
                  'txtReadVal.Item(6).Text = Values(8) ' Write Value to Text Box SMB2
                  'txtReadVal.Item(7).Text = Values(9) ' Write Value to Text Box VB2
                  '---------------------

                  ' Check Parameters
                  For i = 1 To NumItems
                  If ClientHandles(i) > 0 And ClientHandles(i) < 3 Then
                  ' Values -> Values from read complete
                  ' Qualities -> Qualities of the values
                  If Qualities(i) = 192 Then
                  txtChangeVal.Item(ClientHandles(i) - 1).Text = ItemValues(i) ' Write Value to Text Box
                  txtChangeVal.Item(ClientHandles(i) - 1).BackColor = &HFFFFFF
                  Else
                  txtChangeVal.Item(ClientHandles(i) - 1).Text = GetQualityText(Qualities(i))
                  txtChangeVal.Item(ClientHandles(i) - 1).BackColor = &H8080FF
                  End If
                  Else
                  MsgBox "DataChange Item " + Str$(i) + " has invalid Client Handle ", vbCritical
                  End If
                  Next
                  Exit Sub
                  ErrorHandler:
                  MsgBox Err.Description + Chr(13) + "OnDataChange", vbCritical, "ERROR"
                  End Sub
                  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                  Mấy dòng lệnh dưới tôi thêm vào, như không được ;
                  'txtReadVal.Item(2).Text = Values(1) ' Write Value to Text Box I0.0
                  ....
                  'txtReadVal.Item(7).Text = Values(9) ' Write Value to Text Box VB2
                  Các Value(i) lấy từ dưới PLC, có thể là giá trị của IB,MW,Timer,Conter...

                  * Tôi làm như vậy nhưng không được, hay là chưa hiểu ý bạn, bạn có thể hướng dẫn cụ thể hơn được không, 1 đoạn code hay 1 chương trình mẫu.
                  Thanks !
                  ducvietacbk@yahoo.com

                  * Thanks longimi :đúng là dùng từ "thời gian thực" ở đây là không hợp lý.

                  Comment


                  • #24
                    bạn viết đúng rồi ! Nó không chạy vì bạn chưa bật sự kiện đó lên thôi.
                    Muốn hướng dẫn chi tiết thì bạn liên hệ với bác Atyla.

                    Comment


                    • #25
                      opc ua

                      Nguyên văn bởi acbossvn Xem bài viết
                      Ban chuyen qua lap trinh bang Labview di, co san cac modun cho OPC server. Công việc của bạn chỉ còn là thiết lập đường dẫn cho chuẩn thôi!
                      các bác ơi, 2thang bon e dang lam do an ve OPC UA, hixhix,nhung ma doc quyển sách OPC Unified Architecture mà mở hồ quá. Sách dày >300 trang mà k có code mẫu j cả
                      toàn lý thuyết là lý thuyết. hixhix. bọn e 2 thằng, đứa là server đứa làm client.

                      các bác trao đổi từ năm 2006 còn bọn e đến 2010 mới nghe cái này lần đâu tiên

                      vào trong opcfoundation thì k down được vì mình chỉ là NonMember, hjxxjx. Tìm trên mạng đang làm theo cái SDK C++ nhưng cũng chỉ là trial

                      các có tài liệu j có thẻ share cho bọn e với k ạ?
                      hay có same mấu cho bọn e tham khảo với. hjxhjx. đọc j mà toàn lý thuyết là lý thuyết> hjx khó hiểu quá mất.

                      cảm ơn các bác nhiều!

                      Comment


                      • #26
                        trời, bạn làm như vậy là cao thủ lắm đó, hồi giờ người ta làm những cái OPC có sẵn rồi, còn bạn tự tạo ra OPC để làm luôn, ghê thiệt, bạn có thể nói cách bạn làm ntn ko? mình cùng trao đổi, vì mình mới viết cái file DLL cho modbus, còn viết OPC như thế nào mình còn chưa hiểu nữa, hehheh
                        ============================================

                        HP:0983.806.826

                        Comment


                        • #27
                          hjx hjx. To di mo mam tren mạng được cái SDK C++ viết theo nó. Và ở trang đó nó cũng cung cấp 1 công cụ thiết kế theo OPC UA < dĩ nhiên là graphic rồi> kéo thả, các object, objecttype, variable, methods... rồi sinh code theo chuẩn OPC UA. TỪ đó mình có thể định nghĩa cách thức xử lý các methods thôi vì nó khai báo hết cho mình rồi < cả thông số đàu ra đầu vào> cứ thế làm thôi.

                          còn kết nối client thì có hướng dẫn, cũng kết nối được rồi, browse rồi, call methods và đọc biến biếc rồi. Nhưng mà nó thiết kế trong 1 file C++ thôi, k tách biệt nhóm chức năng thành các lớp gì cả. Ý t là: mình sẽ cho các methods connects, dis => class Login; các method liên quan create và delete session => class session; các method gọi, read, write, call => interactServer ...

                          cứ nghĩ là đơn giản, vì mình chỉ cần đưa các methods về các class để mà gọi thôi, nào ngờ mấy cái liên quan đến thư viện của SDK nó báo là cứ redefinition mới khó hiểu chứ chắc tại mình chưa hiểu rõ cấu trúc của client ttrong OPC UA ntn hix die mất.

                          mới biết như thế thôi. các bác giúp e với

                          ps: còn dùng cái OpcSystem thì khổi nói, trial đó nhưng tận 30 ngày cơ, thiết kế client cứ gọi là quá sướng kéo thả có hết, nhưng k biết tạo Opc ua Server thế nào vì cái này là client. hjxhjx. dùng C# trong VS08 thế mà k theo cái này được, vì thế này thì k biết viết server ntn.

                          Comment


                          • #28
                            hjx k bac nao giup e voi ca

                            Comment


                            • #29
                              Nguyên văn bởi minhnaht Xem bài viết
                              hjx k bac nao giup e voi ca
                              Có bác nào có Code của OPC server không! Shared cho mình với. Đang nghiên cứu mà khó quá. Cảm ơn các bác nhiều

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X