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
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
-
My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu
Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter
-
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
-
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
-
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
-
Measurement Studio 8.0.1 For Visual Basic 2005
Nguyên văn bởi hoanglongu Xem bài viếtBạ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
-
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
. 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
-
Nguyên văn bởi duongthanh85 Xem bài viếtĐồ thị à? GNUplot chiến cho pro ^^My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu
Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter
Comment
-
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
Comment
-
-
Nguyên văn bởi nodiesun Xem bài viếtAnh ơi cái này cũng viết bằng 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
-
Nguyên văn bởi nodiesun Xem bài viếtAnh 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.
ĐC: 36H22 Tân Mai - Hoàng Mai - Hà Nộikatllu
Comment
-
[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

Bài viết mới nhất
Collapse
-
bởi vi van phamTất ca kiến thức về quạt của tôi do thầy hiệu trưởng Nguyễn Hồng Lam tốt nghiệpp kỹ sư bên Mỹ giảng dạy. Cánh quạt cong cũng là thầy dạy , nó tạo khí động học.
Tôi đã dùng ngôn ngữ bình dân để thuyết minh cho mọi người...-
Channel: Điện tử gia dụng
hôm nay, 01:36 -
-
Trả lời cho nguồn switchingbởi bqvietCó thể, nhưng thường tốn rất nhiều công. Tối thiểu cũng phải thay tụ đầu vào, đèn công suất và đi-ốt đầu ra sang loại chịu điện áp cao hơn. Có thể còn thêm một mớ nữa tuỳ thiết kế cụ thể.
-
Channel: Nguồn!
hôm nay, 00:23 -
-
bởi mèomướpDạ cháu thấy bác vi... nói đúng ấy ạ. Cùng 1 vận tốc, đường kính, số lượng cánh, độ dày cánh quét không khí. Thì cánh lớn sẽ múc được nhìu hơn ạ. Nếu cánh lớn đến 1 mức độ nào đó thậm chí chồng lên nhau thì nó sẽ thành 1...
-
Channel: Điện tử gia dụng
Hôm qua, 20:37 -
-
bởi nguyendinhvanÔi hồi.
Đường hướng nghiên cứu như thế này, dễ trở thành nhà "khí động học" mất !...-
Channel: Điện tử gia dụng
Hôm qua, 20:17 -
-
bởi vi van phamSai lầm từ cơ bản.
Nguyên tắc cánh quạt là "múc" không khí trước cánh quạt quăng lên "Bờ". Khi cánh quạt di chuyển để lại vị trí có áp suất thấp, không khí ở ngoài tràn vào. Cánh quạt thứ 2 làm việc giống thế, rồi đến cánh quạt...-
Channel: Điện tử gia dụng
Hôm qua, 17:15 -
-
bởi dinhthuong80Chắc phải mua thêm cái máy đo vận tốc gió nữa rồi!!!
-
Channel: Điện tử gia dụng
Hôm qua, 16:45 -
-
bởi dinhthuong80"nếu tăng nó lên đến 90 độ thì không thổi nữa, tăng tiếp trên 90 độ nó sẽ trở thành quạt hút thôi."
là sau khi tăng lên thành 90° rồi, tiếp tục tăng nữa cho nó trên 90° đó bác, như hình vẽ xấu tệ ở dưới ạ!
-Màu xanh: dạ,...-
Channel: Điện tử gia dụng
Hôm qua, 16:19 -
-
bởi vi van pham- Màu đỏ: Tăng nó lên 90 độ thì ko thổi.Tăng tiếp lên 90 độ nữa thì thành quạt hút là sao ? không hiểu.
- Màu xanh: Cùng là độ dày d, cánh nhỏ, cánh lớn, ảnh hưởng đến lưu lượng gió rất nhiều . Cái cánh quạt không phải...-
Channel: Điện tử gia dụng
Hôm qua, 16:04 -
Comment