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 theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -
-
Trả lời cho Máy đo khuôn mẫubởi vi van phamQuá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 08:49 -
-
Trả lời cho Máy Phun sương tạo ầm Trung Quốc.bởi nguyendinhvanMạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...-
Channel: Tâm tình dân kỹ thuật
07-06-2026, 00:09 -
-
bởi nguyendinhvan
Cái máy đo này mắc tiền quá !
Anh em dtvn có giải pháp nào tự chế được không ?...-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 00:00 -
-
bởi nguyendinhvanOi giời.
Thơi buổi PLC rồi, cậu còn hỏi mấy thứ cổ lỗ sĩ này nữa.-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 22:59 -
-
bởi nguyendinhvanChuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...-
Channel: Tìm mua
06-06-2026, 22:56 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phambao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 21:58 -
-
bởi ittcChào các anh em, tình hình là mình lo làm ăn không để ý sức khỏe, giờ có chút vấn đề rồi? không biết trên này có anh em nào độ tuổi U35 -> 40 đang có dùng các loại thuốc, thuốc bổ hay thực phẩm chức năng giúp bổ thận tráng dương,...
-
Channel: Tâm tình dân kỹ thuật
05-06-2026, 12:28 -
-
bởi theidiotcatTrong thế giới phần cứng năm 2026, AMD Ryzen 5 7500X3D không chỉ là một cái tên mới, nó là một tuyên ngôn về hiệu suất. Dựa trên các thử nghiệm khắt khe trong môi trường chơi game chuyên nghiệp, con chip này đã chứng minh rằng: bạn không cần...
-
Channel: Đánh giá sản phẩm DTVN
05-06-2026, 10:05 -


Comment