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

  • VB 6.0 giao tiếp PLC

    tui đang làm đồ án tốt nghiệp đk bằng plc (hệ thống cân đóng gói) tui muốn viết 1 chươn trình bằng VB 6.0 để hiển thị số liệu và đk thiết bị. tóm lại là giao tiếp 2 chiều với plc. (loại plc nào cũng được)
    bác nào đã làm rồi hay có tài liệu xin chỉ dùm, xin hậu tạ các bác..

  • #2
    [[I]I][QUOTE=thusinhrom;44213]tui đang làm đồ án tốt nghiệp đk bằng plc (hệ thống cân đóng gói) tui muốn viết 1 chươn trình bằng VB 6.0 để hiển thị số liệu và đk thiết bị. tóm lại là giao tiếp 2 chiều với plc. (loại plc nào cũng được)
    Tớ cung moi nhận đề tài gaoi tiếp may tinh va PLC,bien tan(he thong thanh may va dieu hoa nhiet do nha cao tang) va cung viết bàng VB 6.0 ban nao co tài liệu hoạc co kinh nghiêm chi giúp vơi

    Comment


    • #3
      viec giao tiep giua plc va VB that ra la viec xac dinh duoc Frame truyen thong cua tung loai PLC de minh co the viet tren VB thoi.Ban dung PLC cua hang nao? theo ban than thi minh thay dung PLC cua omron la de nhat.Giam sat thi de nhung con dieu khien thi ban dinh dieu khien thiet bi gi? dang on/off hay the nao?

      Comment


      • #4
        ban co tai liệu hương dẫn cách dùng VB dể viêt chuong trinh diều khiển PLC(su dung cho thang may),minh co the giam sat moi hoạt dộng qua may tinh

        Comment


        • #5
          Nguyên văn bởi thusinhrom Xem bài viết
          tui đang làm đồ án tốt nghiệp đk bằng plc (hệ thống cân đóng gói) tui muốn viết 1 chươn trình bằng VB 6.0 để hiển thị số liệu và đk thiết bị. tóm lại là giao tiếp 2 chiều với plc. (loại plc nào cũng được)
          bác nào đã làm rồi hay có tài liệu xin chỉ dùm, xin hậu tạ các bác..
          Co the dung VB 6.0 viet chuong trinh dieu khien va giam sat cho PLC thong qua may vi tinh.Nhung theo tui bac nen dung phan mem chuyen dung WInCC.Cach thuc ket noi rat don gian,thong qua phan mem nay bac co the tao duoc nhieu trang giao dien de giam sat va dieu khien rat don gian ma hieu qua lai cao.Rat thich hop cho mot luan van tot nghiep.Bac co the vao chu de dieu khien va SCADA trong dien dan nay de tham khao them

          Comment


          • #6
            Re:

            Nguyên văn bởi vuongcn02b2 Xem bài viết
            Co the dung VB 6.0 viet chuong trinh dieu khien va giam sat cho PLC thong qua may vi tinh.Nhung theo tui bac nen dung phan mem chuyen dung WInCC.Cach thuc ket noi rat don gian,thong qua phan mem nay bac co the tao duoc nhieu trang giao dien de giam sat va dieu khien rat don gian ma hieu qua lai cao.Rat thich hop cho mot luan van tot nghiep.Bac co the vao chu de dieu khien va SCADA trong dien dan nay de tham khao them

            Tui đã làm cái này nhiều tuy nhiên chỉ làm với PLC của AB thôi. Ngoài ra phải thông qua một OPC thì mới được chứ chưa giao tiếp trực tiếp bao giờ. Vì kết nối mạng Ethernet mà.

            Comment


            • #7
              Nguyên văn bởi cuongvimsat Xem bài viết
              viec giao tiep giua plc va VB that ra la viec xac dinh duoc Frame truyen thong cua tung loai PLC de minh co the viet tren VB thoi.Ban dung PLC cua hang nao? theo ban than thi minh thay dung PLC cua omron la de nhat.Giam sat thi de nhung con dieu khien thi ban dinh dieu khien thiet bi gi? dang on/off hay the nao?
              thank bác đã trả lời!!
              thật ra thì tui cũng chưa quyết định sd loại PLC nào, vì chưa có tài liệu về việc giao tiếp như vậy, nếu bác có tài liệu thì bác share cho e với, (PLC omron cũng được) nhất là các code để PC và PLC nhận nhau. còn về đk thì e tính sẽ SET trực tiếp khối lượng trên VB và truyền xuống PLc và có thể ON/OFF 1 vài nút nhấn.(mở nguồn chẵng hạn)

              Comment


              • #8
                Nguyên văn bởi tam1234 Xem bài viết
                Tui đã làm cái này nhiều tuy nhiên chỉ làm với PLC của AB thôi. Ngoài ra phải thông qua một OPC thì mới được chứ chưa giao tiếp trực tiếp bao giờ. Vì kết nối mạng Ethernet mà.
                bác ơi, bác làm với plc AB là bác sd phần mềm chuyên dụng rồi bác ơi (RS view phải kg?) còn e nói đây là sd VB6.0 cơ mà.

                Comment


                • #9
                  Re:

                  Nguyên văn bởi thusinhrom Xem bài viết
                  bác ơi, bác làm với plc AB là bác sd phần mềm chuyên dụng rồi bác ơi (RS view phải kg?) còn e nói đây là sd VB6.0 cơ mà.
                  Không nhất thiết phải dùng RSView đâu. Tui từng viết giao diện với VB6.0 và cả C# nữa. Tuy nhiên phải thông qua một OPC như RSLinx hay Kepserver.

                  Comment


                  • #10
                    Nguyên văn bởi thusinhrom Xem bài viết
                    tui đang làm đồ án tốt nghiệp đk bằng plc (hệ thống cân đóng gói) tui muốn viết 1 chươn trình bằng VB 6.0 để hiển thị số liệu và đk thiết bị. tóm lại là giao tiếp 2 chiều với plc. (loại plc nào cũng được)
                    bác nào đã làm rồi hay có tài liệu xin chỉ dùm, xin hậu tạ các bác..
                    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

                    Comment


                    • #11
                      có cao thủ nào đã từng làm hiển thị và điều khiển nhiệt độ bằng PLC 224xp chưa? à phải truyền thông được cả hai chiều. Giúp mình với nhé! Thanks!

                      Comment


                      • #12
                        lấy dữ liệu từ PLC qua PC

                        Nguyên văn bởi vuongcn02b2 Xem bài viết
                        Co the dung VB 6.0 viet chuong trinh dieu khien va giam sat cho PLC thong qua may vi tinh.Nhung theo tui bac nen dung phan mem chuyen dung WInCC.Cach thuc ket noi rat don gian,thong qua phan mem nay bac co the tao duoc nhieu trang giao dien de giam sat va dieu khien rat don gian ma hieu qua lai cao.Rat thich hop cho mot luan van tot nghiep.Bac co the vao chu de dieu khien va SCADA trong dien dan nay de tham khao them
                        pac ơi giúp mình với, mình học chuyên ngành điện tử chỉ được học lập trình PLC thôi nhưng cty mình yêu cầu mình giao tiếp PLCS7- 200 với máy tính qua VB, mình đã đọc nhiều tài liệu rồi nhưng không tài nào làm được, mình biết là pải dùng PC access nhưng mà còn rất mơ hồ, mơ hồ như chưa bao giờ được mơ hồ, có thể pác hướng dẫn chi tiết dùm được không vì mình thuộc thành phần đặc biệt.....lúa
                        |

                        Comment


                        • #13
                          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
                          Cài PCAccess Của thằng S7-200 trong đó có Code VB6.0 cho bạn. Chúc bạn thàng công.
                          katllu

                          Comment


                          • #14
                            Nguyên văn bởi hatranbt Xem bài viết
                            pac ơi giúp mình với, mình học chuyên ngành điện tử chỉ được học lập trình PLC thôi nhưng cty mình yêu cầu mình giao tiếp PLCS7- 200 với máy tính qua VB, mình đã đọc nhiều tài liệu rồi nhưng không tài nào làm được, mình biết là pải dùng PC access nhưng mà còn rất mơ hồ, mơ hồ như chưa bao giờ được mơ hồ, có thể pác hướng dẫn chi tiết dùm được không vì mình thuộc thành phần đặc biệt.....lúa
                            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.
                            Last edited by mstudio8x; 10-04-2008, 13:35.
                            katllu

                            Comment


                            • #15
                              Giao tiếp giữa PC với PLC Delta = VB6.0

                              + 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
                              katllu

                              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