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
-
Cái này cũng hay quá henNguyê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
-
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.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
-
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.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
-
-
Cái này dùng Visual Basic + Teechart ( ActiveControl X for VB )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
-
Bạn nên Hà nội Mình Copy cho 1 bản của Mình.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 chinhnguyen9Sản phẩm không có thương hiệu rõ ràng gồm 3 kiểu 30A;60A và 100A có vẽ ngoaài khá bắt mắt. Tôi đã tin và mua 1 con 30A
Lắp vào hệ thống thấy dấu hiệu:
Phận hiển thị điện áp pin lưu trữ và dòng sạc ổn
Sau khi lắp pin lưu trữ , khi hở mach điên...-
Channel: Hướng dẫn sử dụng diễn đàn
hôm nay, 03:30 -
-
bởi Abril9Chào mọi người, động cơ bước có hộp số (https://www.oyostepper.es/category-2...eductores.html) trên thiết bị của tôi đã được sử dụng khoảng sáu tháng. Gần đây, tôi nhận thấy dầu rò rỉ từ trục đầu ra. Mỡ bôi trơn đã bị chảy và nhỏ giọt...
-
Channel: Các hệ thống tự động hóa khác
27-03-2026, 13:26 -
-
bởi AbirChào mọi người, gần đây tôi có một ý tưởng mới.
Tôi muốn nâng cấp thiết bị của mình để tăng tốc độ, vì vậy tôi đã thay đổi nguồn cấp cho mạch điều khiển từ 24V lên 48V. Động cơ vẫn giữ nguyên và dòng điện định...-
Channel: Điện tử công nghiệp
27-03-2026, 09:49 -
-
bởi nguyendinhvanCó một chi tiết sai cơ bản trong kỹ thuật điện tử....
-
Channel: Tâm tình dân kỹ thuật
26-03-2026, 19:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
THAM vơ...-
Channel: Tâm tình dân kỹ thuật
25-03-2026, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
24-03-2026, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06


Comment