Thông báo

Collapse
No announcement yet.

VB 6.0 giao tiếp PLC

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

  • #16
    Một số hình ảnh về Sản phẩm Giao tiếp giữa thiết bị Delta Với PC:











    Last edited by mstudio8x; 10-04-2008, 15:16.
    katllu

    Comment


    • #17
      giao tiếp VB với plc

      có bác nào đã viết chương trình giao tiếp giữa VB với plc S7-200 của siemen chưa.em chỉ làm chương trình đơn giản ,đó là dùng nút command trên VB ,khi bấm nút này thì PLC sẽ truyền tín hiệu đầu ra Q0.0 .
      xin cảm ơn trước .

      Comment


      • #18
        Xin hoi Mstudio8x nhe.
        Minh cung moi tim hieu mang tu dong nay, minh dang thu voi PC access, VB, va muon test luon tren PLC sim S7-200. Minh dung luon VB sample project trong pc access, chay PLC sim S7-200 va van de la khi read hoac write thi value luon bao la "BAD". Minh khong ro co dung dc PLC sim nay de test ko. Mong Mstudio8x tra loi giup nhe. Thanks!

        Comment


        • #19
          Chào CongKhue the mình là ko thể. Về vấn đề truyền thông bạn ko thể mô phỏng trên Sim được!

          Comment


          • #20
            PLC thi xai VB lam j. Dung may phan mem SCADA ay ban,nhu Intouch,GeniDAQ... No truy xuat truc tiep den tung o nho trong PLC luan,don gian va hieu qua. ma giao dien thi co the lam theo y minh.

            Comment


            • #21
              Để thực việc giao tiếp qua VB6 hoặc OPC bạn đều cần kết hợp giữa việc lập trình trên PC và việc lập trình dưới PLC. Với PLC của một số hãng có cung cấp sẵn tài liệu truyền thông liên quan như Mitsu thì bạn có thể sử dụng VB trực tiếp truyền thông với PLC còn với PLC của Siemen hay một số hãng khác thì cách để code truyền thông nhanh nhất là dùng OPC. Bạn có thể tham khảo các bài hướng dẫn về PC Access cho Siemen. Hoặc liên hệ với số điện thoại này: 0977209365 người này đã từng làm khá nhiều về PLC S7-200 và S7-300 của Siemen.
              Chúc bạn thành công
              http://techpal.vn
              Chia sẻ công nghệ, cùng thành công

              Comment


              • #22
                Nguyên văn bởi so7mayman Xem bài viết


                Mình đang làm đồ án cân băng định lượng cho nhà máy Ximang.Bạn biết cách nào giao tiếp giữa VB và PLC S7-200,giúp minh với.Thanks
                Chào anh các bạn nhé!
                lâu rồi không lên diễn đàn thấy mọi người bạn về giao tiếp PLC với máy tình dùng VB mạnh quá lên vào nêu vài ý kiến thế này:
                - VB hoàn toàn có thể dùng để thiết kế giao diện điều khiển, giám sát PLC được (tôi đã làm với S7-200 của simen)
                - Còn chương trình VB viết thế nào thì các bạn có thế tham khảo bài viết của anh NGô Hải Bắc trong diễn đàn nói rất kỹ về cách sử dụng activeX Mscomm của VB rồi
                - Đối với PLC thì các bạn cần thiết lập khung truyền, giao thức truyền và cuối cùng là các bạn dùng thuật toán so sánh giá trị nhận được từ trên PC xuống có đúng không? Đúng thì làm gì đó còn không đúng thì làm gì đó tùy các bạn dùng thôi
                - Nhưng theo mình thì khi nhận dữ liệu từ PC gửi xuống các bạn nên dùng ngắt cho nhanh và hiêụ quả
                - Còn truyền từ PLC lên máy tính thì các bạn chỉ cần đặt dữ liệu cần truyền vào một bảng rồi truyền nó lên thôi (Tùy theo giao thức các bạn thiết lập ban đầu trong PLC mà có các câu lệnh truyền, nhận dữ liêụ được phần mềm hỗ trợ)
                Chúc các bạn thành công.
                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


                • #23
                  Chào anh các bạn nhé!
                  lâu rồi không lên diễn đàn thấy mọi người bạn về giao tiếp PLC với máy tình dùng VB mạnh quá lên vào nêu vài ý kiến thế này:
                  - VB hoàn toàn có thể dùng để thiết kế giao diện điều khiển, giám sát PLC được (tôi đã làm với S7-200 của simen)
                  - Còn chương trình VB viết thế nào thì các bạn có thế tham khảo bài viết của anh NGô Hải Bắc trong diễn đàn nói rất kỹ về cách sử dụng activeX Mscomm của VB rồi
                  - Đối với PLC thì các bạn cần thiết lập khung truyền, giao thức truyền và cuối cùng là các bạn dùng thuật toán so sánh giá trị nhận được từ trên PC xuống có đúng không? Đúng thì làm gì đó còn không đúng thì làm gì đó tùy các bạn dùng thôi
                  - Nhưng theo mình thì khi nhận dữ liệu từ PC gửi xuống các bạn nên dùng ngắt cho nhanh và hiêụ quả
                  - Còn truyền từ PLC lên máy tính thì các bạn chỉ cần đặt dữ liệu cần truyền vào một bảng rồi truyền nó lên thôi (Tùy theo giao thức các bạn thiết lập ban đầu trongPLC mà có các câu lệnh truyền, nhận dữ liêụ được phần mềm hỗ trợ)
                  Chúc các bạn thành công.
                  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


                  • #24
                    Các anh ơi,giúp em với.
                    Em đang dùng phần mềm GENIDAQ của hãng Avantech để điều khiển TỐC ĐỘ động cơ sử dụng bộ PID,sử dụng card PCI 1711.
                    Giúp em với.

                    Comment


                    • #25
                      Mình đang nghiên cứu về việc VB giao tiếp PLC. Bác nào có tài liệu mail cho minh với:xetho73vn@gmail.com
                      Mình xin cảm ơn!!!
                      Last edited by mabudaica; 14-03-2009, 22:38.

                      Comment


                      • #26
                        Nguyên văn bởi mstudio8x Xem bài viết
                        Code VB6.0 Cho S7-200:
                        Dim CNT As Integer
                        Option Explicit
                        Option Base 1
                        Dim Values(20) As Variant
                        Private MyOPCServer As OPCServer
                        Private MyGroups As OPCGroups
                        Private WithEvents MyGroup As OPCGroup ' OPCGroup Object
                        Private MyItems As OPCItems ' OPCItems Collection Object
                        Private MyItemServerHandles() As Long ' Server Handles for Items
                        Dim MyTID As Long ' Transaction ID for asynchronous calls

                        Private Sub AddGroup()
                        On Error GoTo ErrorHandler
                        Set MyGroups = MyOPCServer.OPCGroups
                        MyGroups.DefaultGroupIsActive = 500
                        MyGroups.DefaultGroupIsActive = False
                        Set MyGroup = MyGroups.Add(TGroup)
                        MyGroup.IsSubscribed = True
                        Exit Sub
                        ErrorHandler:
                        MsgBox Err.Description + Chr(13) + "Adding a Group to OPC Server", vbCritical, "ERROR"
                        End Sub

                        Private Sub RemoveGroups()
                        On Error GoTo ErrorHandler
                        MyGroups.RemoveAll
                        Set MyGroup = Nothing
                        Set MyGroups = Nothing
                        Exit Sub
                        ErrorHandler:
                        MsgBox Err.Description + Chr(13) + "Removing Group from OPC Server", vbCritical, "ERROR"
                        End Sub

                        Private Sub AddItem()
                        On Error GoTo ErrorHandler
                        Dim i As Long
                        Dim ErrorFlag As Boolean
                        Dim ItemObj As OPCItem
                        Dim ItemIDs(20) As String
                        Dim ItemClientHandles(20) As Long
                        Dim Errors() As Long
                        ErrorFlag = False
                        Set MyItems = MyGroup.OPCItems
                        ItemIDs(1) = "2,S0.0,Bool" ' RUN.
                        ItemIDs(2) = "2,S1.5,Bool" ' STOP.
                        ItemIDs(3) = "2,S0.1,Bool"
                        ItemIDs(4) = "2,S0.3,Bool" ' DAU TO CHAY NHANH.
                        ItemIDs(5) = "2,S0.5,Bool" ' DAU THU CHAY NHANH.
                        ItemIDs(6) = "2,S0.7,Bool" ' DAU TO CHAY CHAM.
                        ItemIDs(7) = "2,S0.6,Bool" ' DAU THU CHAY CHAM.
                        ItemIDs(8) = "2,S1.0,Bool" ' CHAY DIA DAO.
                        ItemIDs(9) = "2,S0.2,Bool" ' CHAY DIA DAO.
                        ItemIDs(10) = "2,S1.2,Bool" ' CHON CHE DO CHAY.
                        ItemIDs(11) = "2,S1.3,Bool"
                        ItemIDs(12) = "2,S1.4,Bool"
                        ItemIDs(13) = "2,Q0.0,Bool" ' CHAY BOM THUY LUC.
                        ItemIDs(14) = "2,Q0.1,Bool" ' LENH STOP.
                        ItemIDs(15) = "2,Q0.2,Bool" ' INPUT.
                        ItemIDs(16) = "2,Q0.3,Bool" ' LED POWER.
                        ItemIDs(17) = "2,Q0.4,Bool" ' INPUT.
                        ItemIDs(18) = "2,Q0.5,Bool" ' INPUT.
                        ItemIDs(19) = "2,Q0.6,Bool" ' INPUT.
                        ItemIDs(20) = "2,Q0.7,Bool" ' INPUT.
                        For i = 1 To 20
                        ItemClientHandles(i) = 1
                        Next
                        Call MyItems.AddItems(20, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)
                        For i = 1 To 20
                        If Not Errors(i) = 0 Then
                        MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
                        ErrorFlag = True
                        End If
                        Next
                        If ErrorFlag Then
                        Dim RemoveErrors() As Long
                        Dim RemoveHandles(1) As Long
                        For i = 1 To 20
                        If Errors(i) = 0 Then
                        RemoveHandles(1) = MyItemServerHandles(i)
                        Call MyItems.Remove(1, RemoveHandles, RemoveErrors)
                        End If
                        Next
                        Else
                        End If
                        Exit Sub
                        ErrorHandler:
                        MsgBox Err.Description + Chr(13) + "Them Items toi Group", vbCritical, "ERROR"
                        End Sub

                        Private Sub RemmoveItems()
                        On Error GoTo ErrorHandler
                        Dim i As Long
                        Dim Errors() As Long
                        Call MyItems.Remove(20, MyItemServerHandles, Errors)
                        For i = 1 To 20
                        If Not Errors(i) = 0 Then MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
                        Next
                        Erase MyItemServerHandles
                        Exit Sub
                        ErrorHandler:
                        MsgBox Err.Description + Chr(13) + "Do bo Items tu Group", vbCritical, "ERROR"
                        End Sub

                        Private Sub Connect()
                        On Error GoTo ErrorHandler
                        Set MyOPCServer = New OPCServer ' Init create OPCServer Object.
                        Call MyOPCServer.Connect(TServer) ' Init Disconnect from OPC Server.
                        Call AddGroup ' Init call Add Group.
                        Call AddItem ' Init call Add Item.
                        SbrStatus.Panels("Status").Text = "Status: Connectting..."
                        Exit Sub
                        ErrorHandler:
                        MsgBox Err.Description + Chr(13) + "Ket noi toi OPC Server", vbCritical, "ERROR"
                        Exit Sub
                        End Sub

                        Private Sub Disconnect()
                        Dim i As Integer
                        On Error GoTo ErrorHandler
                        MyOPCServer.Disconnect ' Khong ket noi toi OPC Server.
                        Set MyOPCServer = Nothing ' Xoa doi tuong OPCServer.
                        TimerRead.Enabled = False
                        SbrStatus.Panels("Status").Text = "Status: Disconnect"
                        Exit Sub
                        ErrorHandler:
                        MsgBox "Khong ket noi toi OPC Server", vbCritical, "ERROR"
                        End Sub

                        Private Sub Cmdinfor_ValueChanged(ByVal Value As Boolean)
                        If Value = True Then
                        frmUserInfo.Show
                        Else
                        frmUserInfo.Hide
                        End If
                        End Sub

                        Private Sub CmdQuit_Click()
                        Dim Respone As Integer
                        Respone = MsgBox("Ban chac chan muon thoat he thong?", 36, "Thong bao cua he thong")
                        If Respone = vbYes Then
                        TimerRead.Enabled = False
                        End
                        End If
                        End Sub

                        Private Sub S00_ValueChanged(Index As Integer, ByVal Value As Boolean)
                        On Error GoTo ErrorHandler
                        Dim Errors() As Long
                        If Value = True Then
                        Call Connect
                        Values(Index) = 1
                        Call MyGroup.SyncWrite(Index, MyItemServerHandles, Values, Errors)
                        If Not Errors(Index) = 0 Then MsgBox "Item " + Str$(Index) + " FAILED. Error Code = " + Str$(Errors(Index)), vbCritical
                        Exit Sub
                        Else
                        Values(Index) = 0
                        Call MyGroup.SyncWrite(Index, MyItemServerHandles, Values, Errors)
                        If Not Errors(Index) = 0 Then MsgBox "Item " + Str$(Index) + " FAILED. Error Code = " + Str$(Errors(Index)), vbCritical
                        Exit Sub
                        End If
                        ErrorHandler:
                        MsgBox "Khong the gui du lieu xuong CPU", vbCritical, "ERROR"
                        End Sub

                        Private Sub Form_Load()
                        MyTID = 1 ' Reset Transaction ID
                        LEDPOWER.Value = True
                        CNT = 0
                        TServer = "S7200.OPCServer"
                        TGroup = "Group1"
                        End Sub

                        ' Unload Form Event
                        Private Sub Form_Unload(Cancel As Integer)
                        Call RemmoveItems 'Remove Items.
                        Call RemoveGroups 'Remove Groups.
                        Call Disconnect
                        End Sub
                        Private Function GetQualityText(Quality) As String
                        Select Case Quality
                        Case 0: GetQualityText = "BAD"
                        Case 64: GetQualityText = "UNCERTAIN"
                        Case 192: GetQualityText = "GOOD"
                        Case 8: GetQualityText = "NOT_CONNECTED"
                        Case 13: GetQualityText = "DEVICE_FAILURE"
                        Case 16: GetQualityText = "SENSOR_FAILURE"
                        Case 20: GetQualityText = "LAST_KNOWN"
                        Case 24: GetQualityText = "COMM_FAILURE"
                        Case 28: GetQualityText = "OUT_OF_SERVICE"
                        Case 132: GetQualityText = "LAST_USABLE"
                        Case 144: GetQualityText = "SENSOR_CAL"
                        Case 148: GetQualityText = "EGU_EXCEEDED"
                        Case 152: GetQualityText = "SUB_NORMAL"
                        Case 216: GetQualityText = "LOCAL_OVERRIDE"

                        Case Else: GetQualityText = "UNKNOWN QUALITY"
                        End Select
                        End Function

                        '********************CHUONG TRINH DOC CAC BITS CUA S7-200*********************************************
                        Private Sub TimerRead_Timer()
                        On Error GoTo ErrorHandler
                        Dim i As Long
                        Dim Values() As Variant
                        Dim Errors() As Long
                        Dim Qualities As Variant
                        Dim TimeStamps As Variant
                        Call MyGroup.SyncRead(OPCDevice, 20, MyItemServerHandles, Values, Errors, Qualities, TimeStamps)
                        For i = 1 To 20
                        If Not Errors(i) = 0 Then
                        MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
                        Else
                        If Qualities(i) = 192 Then
                        TxtRead(i) = Values(i) ' Write Value to Text Box.
                        Else
                        TxtRead(i) = GetQualityText(Qualities(i))
                        End If
                        End If
                        Next

                        'TRANG THAI CUA CAC LED.
                        If TxtRead(16) = True Then ' Led Power
                        LEDOUT.Item(3).Value = True
                        LEDPOWER.Value = False
                        SbrStatus.Panels("Status").Text = "Status: Startting..."
                        SbrStatus.Panels("ConnectTime").Text = " " & Format(Now, "dd-mm-yyyy hh:nn:ss")
                        Else
                        LEDOUT.Item(3).Value = False
                        LEDPOWER.Value = True
                        SbrStatus.Panels("Status").Text = "Status: Stoped..."
                        SbrStatus.Panels("ConnectTime").Text = " "
                        End If
                        If TxtRead(1) = True Then
                        LED.Item(0).Value = True
                        S00.Item(1) = True
                        Else
                        LED.Item(0).Value = False
                        S00.Item(1) = False
                        End If
                        If TxtRead(2) = True Then
                        LED.Item(1).Value = True
                        S00.Item(2) = True
                        Else
                        LED.Item(1).Value = False
                        S00.Item(2) = False
                        End If
                        If TxtRead(3) = True Then
                        LED.Item(2).Value = True
                        S00.Item(3) = True
                        Else
                        LED.Item(2).Value = False
                        S00.Item(3) = False
                        End If
                        If TxtRead(4) = True Then
                        LED.Item(3).Value = True
                        S00.Item(4) = True
                        Else
                        LED.Item(3).Value = False
                        S00.Item(4) = False
                        End If
                        If TxtRead(5) = True Then
                        LED.Item(4).Value = True
                        S00.Item(5) = True
                        Else
                        LED.Item(4).Value = False
                        S00.Item(5) = False
                        End If
                        If TxtRead(6) = True Then
                        LED.Item(5).Value = True
                        S00.Item(6) = True
                        Else
                        LED.Item(5).Value = False
                        S00.Item(6) = False
                        End If
                        If TxtRead(7) = True Then
                        LED.Item(6).Value = True
                        S00.Item(7) = True
                        Else
                        LED.Item(6).Value = False
                        S00.Item(7) = False
                        End If
                        If TxtRead(8) = True Then
                        LED.Item(7).Value = True
                        S00.Item(8) = True
                        Else
                        LED.Item(7).Value = False
                        S00.Item(8) = False
                        End If
                        If TxtRead(9) = True Then
                        LED.Item(8).Value = True
                        S00.Item(9) = True
                        Else
                        LED.Item(8).Value = False
                        S00.Item(9) = False
                        End If
                        If TxtRead(10) = True Then
                        LED.Item(9).Value = True
                        S00.Item(10) = True
                        Else
                        LED.Item(9).Value = False
                        S00.Item(10) = False
                        End If
                        If TxtRead(11) = True Then
                        LED.Item(10).Value = True
                        S00.Item(11) = True
                        Else
                        LED.Item(10).Value = False
                        S00.Item(11) = False
                        End If
                        If TxtRead(12) = True Then
                        LED.Item(11).Value = True
                        S00.Item(12) = True
                        Else
                        LED.Item(11).Value = False
                        S00.Item(12) = False
                        End If
                        If TxtRead(13) = True Then
                        LEDOUT.Item(0).Value = True
                        Else
                        LEDOUT.Item(0).Value = False
                        End If
                        If TxtRead(14) = True Then
                        LEDOUT.Item(1).Value = True
                        Else
                        LEDOUT.Item(1).Value = False
                        End If
                        If TxtRead(15) = True Then
                        LEDOUT.Item(2).Value = True
                        Else
                        LEDOUT.Item(2).Value = False
                        End If
                        If TxtRead(17) = True Then
                        LEDOUT.Item(4).Value = True
                        Else
                        LEDOUT.Item(4).Value = False
                        End If
                        If S00.Item(3) = True And S00.Item(4) = True Then
                        LEDOUT1.Item(1).Value = True
                        Else
                        LEDOUT1.Item(1).Value = False
                        End If
                        If S00.Item(5) = True And S00.Item(6) = True Then
                        LEDOUT1.Item(2).Value = True
                        Else
                        LEDOUT1.Item(2).Value = False
                        End If

                        Exit Sub
                        ErrorHandler:
                        LED.Item(0).BackColor = vbRed
                        SbrStatus.Panels("ConnectTime").Text = ""
                        SbrStatus.Panels("Status").Text = "Status: Co loi xay ra, xin vui long kiem tra cong truyen thong hoac Cap noi tu PC to CPU(S7-200)"
                        End Sub

                        Chúc các Bạn thành công.
                        Chào bạn MSTUDIO8X
                        mình cố gắng đọc nhưng không hiểu như thế nào cả. bạn cho mình biết cái code đó để điều khiển như thế nào, và chương trình PLC, chương trình trên PC .. nói chungbạn có thể giải thích cho mình kỹ hơn được ko. mình rất muốn học cái này nhưng nói thật là chưa đủ điều kiện. bạn giúp tôi làm một cái ví dụ nhỏ thôi. cảm ơn nhiều

                        Comment


                        • #27
                          Nguyên văn bởi xuanvu_dk2 Xem bài viết
                          chào anh các bạn nhé!
                          Lâu rồi không lên diễn đàn thấy mọi người bạn về giao tiếp plc với máy tình dùng vb mạnh quá lên vào nêu vài ý kiến thế này:
                          - vb hoàn toàn có thể dùng để thiết kế giao diện điều khiển, giám sát plc được (tôi đã làm với s7-200 của simen)
                          - còn chương trình vb viết thế nào thì các bạn có thế tham khảo bài viết của anh ngô hải bắc trong diễn đàn nói rất kỹ về cách sử dụng activex mscomm của vb rồi
                          - đối với plc thì các bạn cần thiết lập khung truyền, giao thức truyền và cuối cùng là các bạn dùng thuật toán so sánh giá trị nhận được từ trên pc xuống có đúng không? đúng thì làm gì đó còn không đúng thì làm gì đó tùy các bạn dùng thôi
                          - nhưng theo mình thì khi nhận dữ liệu từ pc gửi xuống các bạn nên dùng ngắt cho nhanh và hiêụ quả
                          - còn truyền từ plc lên máy tính thì các bạn chỉ cần đặt dữ liệu cần truyền vào một bảng rồi truyền nó lên thôi (tùy theo giao thức các bạn thiết lập ban đầu trong plc mà có các câu lệnh truyền, nhận dữ liêụ được phần mềm hỗ trợ)
                          chúc các bạn thành công.
                          chào xuanvu_dk2
                          bạn có thể cho mình một cái ví dụ hoặc cái gì nó cụ thể hơn được ko.
                          Vì chưa có kiến thức chuyên sâu, mong bạn thông cảm

                          Comment


                          • #28
                            Nguyên văn bởi mstudio8x Xem bài viết
                            + Cung cấp Free code cho các bạn lười nghiên cứu
                            + VB6.0:
                            Dim SendMsg As String
                            Dim SendData As Variant
                            Dim CheckSum As String
                            Option Explicit

                            Private Sub CmdQuit_Click()
                            If MSComm1.PortOpen = True Then
                            MSComm1.PortOpen = False
                            Else
                            End
                            End If
                            End
                            End Sub

                            Private Sub CmdStart_Click()
                            SendMsg = "01050C30FF00"
                            CheckSum = LRC(SendMsg)
                            SendData = ":" + SendMsg + CheckSum + vbCrLf
                            MSComm1.RTSEnable = True
                            MSComm1.Output = SendData
                            TxtSend.Text = SendData
                            End Sub

                            Private Sub CmdStop_Click()
                            SendMsg = "01050C300000"
                            CheckSum = LRC(SendMsg)
                            SendData = ":" + SendMsg + CheckSum + vbCrLf
                            MSComm1.RTSEnable = True
                            MSComm1.Output = SendData
                            TxtSend.Text = SendData
                            End Sub

                            Private Sub MSComm1_OnComm()
                            Dim Rbuff As Variant
                            Dim RUN_STOP As String
                            Dim Yxx As String
                            Dim Msg As Variant
                            Select Case MSComm1.CommEvent
                            Case comEvSend
                            MSComm1.RTSEnable = False
                            Case comEvReceive
                            WaitTimer (2)
                            While MSComm1.InBufferCount > 0
                            Rbuff = MSComm1.Input
                            TxtReceive.Text = Rbuff
                            '// Trang thai RUN & STOP cua PLC.
                            RUN_STOP = Mid$(Rbuff, 8, 2) 'RUN=1, STOP = 0.
                            Select Case RUN_STOP
                            Case "31"
                            LedRunStop.FillColor = vbGreen 'RGB(0, 255, 0)
                            StatusBar.Panels("Status").Text = "PLC Runing..."
                            Case "30"
                            LedRunStop.FillColor = vbRed 'RGB(255, 0, 0)
                            StatusBar.Panels("Status").Text = "PLC Stopped..."
                            End Select
                            Wend
                            End Select
                            End Sub

                            Private Sub Form_Initialize()
                            StatusBar.Panels("Status").Text = "PLC Stopped..."
                            End Sub

                            Private Sub Form_Load()
                            With MSComm1
                            .CommPort = 1 ' Using Com1
                            .Settings = "9600,E,7,1" ' Mac dinh.
                            .InBufferSize = 1024
                            .OutBufferSize = 1024
                            .SThreshold = 1
                            .RThreshold = 1
                            .InputLen = 0
                            .InputMode = comInputModeText
                            .DTREnable = True
                            .RTSEnable = False
                            If .PortOpen = False Then
                            .PortOpen = True
                            End If
                            End With
                            End Sub

                            Private Sub Form_Terminate()
                            If MSComm1.PortOpen = True Then
                            MSComm1.PortOpen = False
                            End If
                            End Sub

                            Public Function LRC(Str As String) As String
                            Dim Chk1 As Variant, Chk0 As Variant, Chk_data As String
                            Dim i As Integer, Length As Integer
                            i = 0
                            Length = Len(Str)
                            For i = i + 1 To Length
                            Chk_data = Mid$(Str, i, 2)
                            Chk0 = Chk0 + Val("&H" + Chk_data)
                            i = i + 1
                            Next i
                            If Chk0 > &HFF Then
                            Chk0 = Chk0 Mod &H100
                            End If
                            Chk1 = Hex(&HFF - Chk0 + 1)
                            If Len(Chk1) > 2 Then
                            Chk1 = Mid(Chk1, Len(Chk1) - 1, 2)
                            End If
                            LRC = Chk1
                            End Function

                            Private Sub ScanTime_Timer() ' Luon RUN
                            SendMsg = "01010C300001" 'M1072 Start/Stop Flag
                            CheckSum = LRC(SendMsg)
                            SendData = ":" + SendMsg + CheckSum + vbCrLf
                            MSComm1.RTSEnable = True
                            MSComm1.Output = SendData
                            TxtSend.Text = SendData
                            End Sub
                            Chào bạn.
                            có thể hướng dẫn cho tôi một ví dụ về VB6.0 để nối kết với một bộ điều khiển nhiệt độ DTV của Delta. tôi có thấy trên data sheet của bộ DTV nó có chỉ một số về truyền thông, nhưng tôi không hiểu gì cả.
                            bạn vui lòng chỉ tôi bằng cách làm như thế nào, và bắt đầu ra sao để thực hiện.
                            cảm ơn rất nhiều.

                            Comment


                            • #29
                              mấy bác có thể up file vb lên được không vậy? làm ơn đi.

                              Comment


                              • #30
                                Nguyên văn bởi thuongtanluc Xem bài viết
                                Chào bạn.
                                có thể hướng dẫn cho tôi một ví dụ về VB6.0 để nối kết với một bộ điều khiển nhiệt độ DTV của Delta. tôi có thấy trên data sheet của bộ DTV nó có chỉ một số về truyền thông, nhưng tôi không hiểu gì cả.
                                bạn vui lòng chỉ tôi bằng cách làm như thế nào, và bắt đầu ra sao để thực hiện.
                                cảm ơn rất nhiều.
                                Bạn lấy cái phần mềm của nó rồi dùng bộ chuyển đổi rs232/485 là ghi nhiệt đọ, xem đồ thị ok luôn
                                cái này mình làm rồi. đơn giản thôi

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X