Thông báo

Collapse
No announcement yet.

làm thế nào để vẽ Đồ thị (X,Y), dữ liệu nhận từ cổng COM, ngôn ngữ Visual Baic 6.0

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Bạn coi bên ở trang 2 của Thread này nhé ,có Cách Làm ở bên đó ,Mỗi lần có Sự Kiện ONCOME là lw vào mảng và Gọi hàm Vẽ đồ thị là OK thui .Khi nào rảnh ,mình sẽ POST code cho hen
    My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

    Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

    Comment


    • #32
      Mình quên nữa chứ ,ở bên trang số 3 của Thread này ,có các SAMPLE CODE rất hay và đầy đủ ( có thêm 1 Fie PDF chỉ các bước đơn giản tạo Giao diện cho Teechart nữa ). Link ở trang Mediafire.com nên rất dễ Down.
      My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

      Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

      Comment


      • #33
        Chào hoanglongu, bạn có thể gửi code đầy đủ ví dụ với teechart của bạn được k ? mình rất muốn học hỏi ! cám ơn nha !

        Comment


        • #34
          Bạn thechinhcdt à, trước hết bạn phải TÌM hiểu , viết được GIAO DIỆN Visual Basic kết nối với Vi Điều KHiển đã , Truyền và Nhận dữ liệu OK hết rùi ,thì mới vẽ được Đồ Thị. Khi nào bạn làm OK rùi thi mình sẽ POST CODE cho bạn Tham Khảo phần Teechart.
          My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

          Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

          Comment


          • #35
            Anh em nào yêu thích MCU của MOTOROLA ( 68HC05 , 68HC08, 68HC11, 68HC12 ...) thì vào THREAD này (do mình lập ra) để tìm TOOLs, CODE mẫu ,tài liệu ( đầy đủ từ A--> Z luôn) nghen.
            http://dientuvietnam.net/forums/show...7572#post97572

            ( mong bác Admin thông cảm - do em POST không đúng chỗ lắm ,hi hi)
            My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

            Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

            Comment


            • #36
              Measurement Studio 8.0.1 For Visual Basic 2005

              Nguyên văn bởi hoanglongu Xem bài viết
              Bạn ATYLA ơi, cái Istripchart ActiveX Control này cũng vẽ đồ thị OK phải không? Bạn có thể hướng dẫn mọi người về Istripchart ActiveX để vẽ ĐỒ THỊ được không? Mình cũng đang nghiên cứu Teechart mà cũng chưa được thành thạo lắm. Mong sự giúp đợ của bạn, để chung ta biết được sử dụng 1 công cụ vẽ ĐỒ THỊ với VB

              Measurement Studio 8.1 of NI National Instruments Using for Visual Basic 6.0 and Visual Studio2003/ 2005.
              + Code VB6.0:
              Private Sub Form_Load()
              First_Time = False
              CWGraph.ChartLength = 30000
              CWGraph.Axes(2).SetMinMax -10, 100
              End Sub

              Private Sub TIMERCHART_Timer()
              Dim i As Integer
              Dim Y As Integer
              LPV.Caption = TankPV((CNT + 1) / 2)
              LSV.Caption = TankSV((CNT + 1) / 2)
              LblTimeRun = Format(Now, "dd-mm-yyyy hh:nn:ss")
              Select Case First_Time
              Case False
              First_Time = True
              CWGraph.Axes(1).Minimum = Now 'set x-axis
              CWGraph.Axes(1).Maximum = Now + 0.0072 '0.0024
              Case True
              End Select
              If Now >= CWGraph.Axes(1).Maximum Then
              CWGraph.Axes(1).Maximum = CWGraph.Axes(1).Maximum + 0.00035
              CWGraph.Axes(1).Minimum = CWGraph.Axes(1).Minimum + 0.00035
              End If
              For i = 1 To 10 Step 2
              CWGraph.Plots(i).ChartXvsY Now, TankPV((i + 1) / 2)
              CWGraph.Plots(i + 1).ChartXvsY Now, TankSV((i + 1) / 2)
              Next i
              'CHO PHEP HIEN THI PLOTS.
              CWGraph.Plots(CNT).Visible = True
              CWGraph.Plots(CNT + 1).Visible = True
              End Sub


              + Code Vb2005:
              Private Sub CWGTime_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CWGTime.Tick
              Dim MaxY As Double = 100, MinY As Double = 0
              Dim YValues As Double(,) = {{Val(TxtSV.Text)}, {Val(TxtPV.Text)}}
              Dim XValuesAsDateTime As DateTime() = {DateTime.Now}
              Dim XValues As Double() = CType(DataConverter.Convert(XValuesAsDateTime, GetType(Double())), Double())
              If FlagCWU = True Then
              ScatterGraph1.Plots(0).XAxis.Mode = AxisMode.StripChart
              ScatterGraph1.XAxes.Item(0).Range = New Range(Now(), TimeSpan.FromSeconds(100)) ' MinX=Now(), MaxX= TimeSpan.FromSeconds(100).
              FlagCWU = False
              End If
              ScatterGraph1.PlotXYAppendMultiple(XValues, YValues)
              ScatterGraph1.YAxes.Item(0).Range = New Range(MinY, MaxY)
              ToolStripStatus.Text = "Status: Running..."
              ToolStripTime.Text = " Time: " & Format(Now(), "hh : mm: ss tt")
              End Sub

              Last edited by mstudio8x; 08-04-2008, 17:30.
              katllu

              Comment


              • #37
                Nguyên văn bởi mstudio8x Xem bài viết

                Measurement Studio 8.1 of NI National Instruments Using for Visual Basic 6.0 and Visual Studio2003/ 2005.
                + Code VB6.0:
                Private Sub Form_Load()
                First_Time = False
                CWGraph.ChartLength = 30000
                CWGraph.Axes(2).SetMinMax -10, 100
                End Sub

                Private Sub TIMERCHART_Timer()
                Dim i As Integer
                Dim Y As Integer
                LPV.Caption = TankPV((CNT + 1) / 2)
                LSV.Caption = TankSV((CNT + 1) / 2)
                LblTimeRun = Format(Now, "dd-mm-yyyy hh:nn:ss")
                Select Case First_Time
                Case False
                First_Time = True
                CWGraph.Axes(1).Minimum = Now 'set x-axis
                CWGraph.Axes(1).Maximum = Now + 0.0072 '0.0024
                Case True
                End Select
                If Now >= CWGraph.Axes(1).Maximum Then
                CWGraph.Axes(1).Maximum = CWGraph.Axes(1).Maximum + 0.00035
                CWGraph.Axes(1).Minimum = CWGraph.Axes(1).Minimum + 0.00035
                End If
                For i = 1 To 10 Step 2
                CWGraph.Plots(i).ChartXvsY Now, TankPV((i + 1) / 2)
                CWGraph.Plots(i + 1).ChartXvsY Now, TankSV((i + 1) / 2)
                Next i
                'CHO PHEP HIEN THI PLOTS.
                CWGraph.Plots(CNT).Visible = True
                CWGraph.Plots(CNT + 1).Visible = True
                End Sub


                + Code Vb2005:
                Private Sub CWGTime_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CWGTime.Tick
                Dim MaxY As Double = 100, MinY As Double = 0
                Dim YValues As Double(,) = {{Val(TxtSV.Text)}, {Val(TxtPV.Text)}}
                Dim XValuesAsDateTime As DateTime() = {DateTime.Now}
                Dim XValues As Double() = CType(DataConverter.Convert(XValuesAsDateTime, GetType(Double())), Double())
                If FlagCWU = True Then
                ScatterGraph1.Plots(0).XAxis.Mode = AxisMode.StripChart
                ScatterGraph1.XAxes.Item(0).Range = New Range(Now(), TimeSpan.FromSeconds(100)) ' MinX=Now(), MaxX= TimeSpan.FromSeconds(100).
                FlagCWU = False
                End If
                ScatterGraph1.PlotXYAppendMultiple(XValues, YValues)
                ScatterGraph1.YAxes.Item(0).Range = New Range(MinY, MaxY)
                ToolStripStatus.Text = "Status: Running..."
                ToolStripTime.Text = " Time: " & Format(Now(), "hh : mm: ss tt")
                End Sub

                Cái này cũng hay quá hen. Giúp anh em có thêm 1 phương tiện vẽ đồ thị nữa rong VB nữa. Cảm ơn bạn hen
                My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

                Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

                Comment


                • #38
                  Đồ thị à? GNUplot chiến cho pro ^^
                  Mobile : 0936.228.010
                  Thiết bị cao cấp efapel:Ổ cắm, công tắc, MCCB, trucking...

                  Comment


                  • #39
                    Nguyên văn bởi duongthanh85 Xem bài viết
                    Đồ thị à? GNUplot chiến cho pro ^^
                    Nếu là chương trình GOOD ,thì bạn hãy Giới thiệu 1 cách chi tiết để giới thiệu nghen .Như vậy ,sẽ có nhiều người biết đến ,và áp dụng rộng rãi hơn.
                    My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

                    Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

                    Comment


                    • #40
                      Nguyên văn bởi mstudio8x Xem bài viết

                      Measurement Studio 8.1 of NI National Instruments Using for Visual Basic 6.0 and Visual Studio2003/ 2005.
                      + Code VB6.0:
                      Private Sub Form_Load()
                      First_Time = False
                      CWGraph.ChartLength = 30000
                      CWGraph.Axes(2).SetMinMax -10, 100
                      End Sub

                      Private Sub TIMERCHART_Timer()
                      Dim i As Integer
                      Dim Y As Integer
                      LPV.Caption = TankPV((CNT + 1) / 2)
                      LSV.Caption = TankSV((CNT + 1) / 2)
                      LblTimeRun = Format(Now, "dd-mm-yyyy hh:nn:ss")
                      Select Case First_Time
                      Case False
                      First_Time = True
                      CWGraph.Axes(1).Minimum = Now 'set x-axis
                      CWGraph.Axes(1).Maximum = Now + 0.0072 '0.0024
                      Case True
                      End Select
                      If Now >= CWGraph.Axes(1).Maximum Then
                      CWGraph.Axes(1).Maximum = CWGraph.Axes(1).Maximum + 0.00035
                      CWGraph.Axes(1).Minimum = CWGraph.Axes(1).Minimum + 0.00035
                      End If
                      For i = 1 To 10 Step 2
                      CWGraph.Plots(i).ChartXvsY Now, TankPV((i + 1) / 2)
                      CWGraph.Plots(i + 1).ChartXvsY Now, TankSV((i + 1) / 2)
                      Next i
                      'CHO PHEP HIEN THI PLOTS.
                      CWGraph.Plots(CNT).Visible = True
                      CWGraph.Plots(CNT + 1).Visible = True
                      End Sub


                      + Code Vb2005:
                      Private Sub CWGTime_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CWGTime.Tick
                      Dim MaxY As Double = 100, MinY As Double = 0
                      Dim YValues As Double(,) = {{Val(TxtSV.Text)}, {Val(TxtPV.Text)}}
                      Dim XValuesAsDateTime As DateTime() = {DateTime.Now}
                      Dim XValues As Double() = CType(DataConverter.Convert(XValuesAsDateTime, GetType(Double())), Double())
                      If FlagCWU = True Then
                      ScatterGraph1.Plots(0).XAxis.Mode = AxisMode.StripChart
                      ScatterGraph1.XAxes.Item(0).Range = New Range(Now(), TimeSpan.FromSeconds(100)) ' MinX=Now(), MaxX= TimeSpan.FromSeconds(100).
                      FlagCWU = False
                      End If
                      ScatterGraph1.PlotXYAppendMultiple(XValues, YValues)
                      ScatterGraph1.YAxes.Item(0).Range = New Range(MinY, MaxY)
                      ToolStripStatus.Text = "Status: Running..."
                      ToolStripTime.Text = " Time: " & Format(Now(), "hh : mm: ss tt")
                      End Sub

                      Anh Lưu ơi giúp em với! Em download PC access về mà chẳng cài được gì cả. PC access v1.0 (Sp1,2,3) đều báo là phiên bản này không cài được trên máy.

                      Comment


                      • #41
                        Nguyên văn bởi hoanglongu Xem bài viết
                        Anh ơi cái này cũng viết bằng VB à?

                        Comment


                        • #42
                          Nguyên văn bởi nodiesun Xem bài viết
                          Anh ơi cái này cũng viết bằng VB à?
                          Cái này dùng Visual Basic + Teechart ( ActiveControl X for VB )

                          Bạn có thể xem cách sử dụng ,File hướng dẫn , mình gởi kèm ở trang 2, trang 3 của Thread này
                          Chúc vui!
                          My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

                          Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

                          Comment


                          • #43
                            Nguyên văn bởi nodiesun Xem bài viết
                            Anh Lưu ơi giúp em với! Em download PC access về mà chẳng cài được gì cả. PC access v1.0 (Sp1,2,3) đều báo là phiên bản này không cài được trên máy.
                            Bạn nên Hà nội Mình Copy cho 1 bản của Mình.
                            ĐC: 36H22 Tân Mai - Hoàng Mai - Hà Nội
                            katllu

                            Comment


                            • #44
                              Bạn ở Hưng Yên gần Hà nội nên đó Mình Copy cho 1 bản mà dùng dung lượng có mấy chục MB gửi qua E-mail nâu lắm.
                              ĐC: 36H22 Tân Mai - Hoàng Mai - Hà Nội
                              katllu

                              Comment


                              • #45
                                [QUOTE=mstudio8x;101012]Bạn ở Hưng Yên gần Hà nội nên đó Mình Copy cho 1 bản mà dùng dung lượng có mấy chục MB gửi qua E-mail nâu lắm.
                                ĐC: 36H22 Tân Mai - Hoàng Mai - Hà Nội[/QUOTE
                                Anh Lưu ơi em đọc trong phần help của Microwin viết chương trình truyền thông như sau:
                                NETWORK 1 // Main Program
                                LD SM0.1 //On the first scan,
                                MOVB 16#09 SMB30 //Initialize Freeport:
                                // - Select 9600 baud
                                // - Select 8 data bits
                                // - Select no parity
                                MOVB 16#B0 SMB87 //Initialize RCV message control byte:
                                // - RCV enabled
                                // - Detect end of message character
                                // - Detect idle line condition as
                                // as message start condition
                                MOVB 16#0A SMB89 //Set end of message character to hex OA (line feed)

                                MOVW +5 SMW90 //Set idle line timeout to 5 ms.
                                MOVB 100 SMB94 //Set maximum number of characters to 100.
                                ATCH INT_0 23 //Attach interrupt 0 to the receive complete event.
                                ATCH INT_2 9 //Attach interrupt 2 to the transmit complete event.
                                ENI //Enable user interrupts
                                RCV VB100 0 //Enable receive box with buffer at VB100 for port 0



                                NETWORK 1 // Interrupt 0
                                //Receive complete interrupt routine

                                LDB= SMB86 16#20 //If receive status shows receive of end character,
                                MOVB 10 SMB34 //then attach a 10 ms timer
                                ATCH INT_1 10 //to trigger a transmit
                                CRETI //and return.
                                NOT
                                RCV VB100 0 //If the receive completed for any other
                                //reason, then start a new receive.



                                NETWORK 1 // Interrupt 1
                                //10 ms timer interrupt
                                LD SM0.0
                                DTCH 10 //Detach timer interrupt
                                XMT VB100 0 //Transmit message back to user on port 0

                                Em không thấy viết INT_2 và INT_1 có cần thêm lệnh gì nữa không?Dữ liệu nhận được sẽ lưu vào đâu hả anh? Em tưởng dữ liệu nhận được phải lưu vào SMB2 chứ? Giúp em với nhé. Thanks anh! À mà khi nào anh có thời gian để em gặp anh chút!

                                Comment

                                Về tác giả

                                Collapse

                                hoanglongu - Received the Bachelor (honors) and Master (by research) of Engineering in Automatic Control at Faculty of Electrical-Electronics Engineering, Ho Chi Minh City University of Technology (HCMUT), Vietnam, in 2009 and 2011, respectively. - Majors: Automatic Control, Solar/Wind Energy systems, Electrical Machines, Two-wheeled Self-Balancing Robot, Microcontrollers. Tìm hiểu thêm về hoanglongu

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

                                Collapse

                                Đang tải...
                                X