仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

串口数据采集程序

寂寞小妖怪 2014-09-28 18:18:27 243  浏览
  • 现有一个盘点机底座,是串口通讯的,像用VB做一个采集程序,具体是怎样的?... 现有一个盘点机底座,是串口通讯的,像用VB做一个采集程序,具体是怎样的? 展开

参与评论

全部评论(2条)

  • nrx5201314 2014-09-29 00:00:00
    根据你机器协议做吧,如果你不会VB,那没办法,请人做

    赞(16)

    回复(0)

    评论

  • 木鱼来了aCh2i 2016-06-26 00:00:00
    直接上参考程序:Dim av As Variant Dim datacount As Long Private Sub cmdClear_Click()     txtData.Text = "" End Sub Private Sub cmdStop_Click()         '关闭端口     If MSComm.PortOpen = True Then         MSComm.InBufferCount = 0    '清空缓冲区         MSComm.PortOpen = False     End If         cmdReceive.Enabled = True     lblStatus.Caption = "停止接收,空闲"     End Sub Private Sub cmdReceive_Click()         '串口设置     With MSComm         .CommPort = 1         .Settings = "9600,N,8,1"         .RThreshold = 1         '接收1字节触发oncomm事件         .InputMode = comInputModeBinary         .InputLen = 1           '输入长度为1         .InBufferCount = 0      '清除接收缓冲区     End With     '打开端口     If MSComm.PortOpen = False Then         MSComm.PortOpen = True         If Err Then             MsgBox (Err.Description)             Exit Sub         End If     End If              lblStatus.Caption = "打开端口,等待接收"     datacount = 0     cmdReceive.Enabled = False End Sub Private Sub cmdSave_Click()     Dim outfn As String     MsgBox ("接收了" + CStr(datacount) + "组数据")     lblStatus.Caption = "接收完成,请选择输出文件"         cmdReceive.Enabled = True         '选择输出文件     CommonDialog1.FileName = CStr(Date) + ".txt"     CommonDialog1.Filter = "Text Files|*.txt"     CommonDialog1.Flags = CommonDialog1.Flags Or cdlOFNOverwritePrompt     CommonDialog1.CancelError = True     On Error GoTo errhandler         CommonDialog1.ShowSave         outfn = CommonDialog1.FileName                  Open outfn For Output As #1             Print #1, txtData.Text         Close #1         'txtData.SaveFile outfn     lblStatus.Caption = "输出完成,空闲"     errhandler:     Exit Sub End Sub Private Sub Form_Load()     lblStatus.Caption = "空闲" End Sub Private Sub Form_Unload(Cancel As Integer)     '关闭端口     If MSComm.PortOpen = True Then         MSComm.InBufferCount = 0    '清空缓冲区         MSComm.PortOpen = False     End If     End Sub Private Sub MSComm_OnComm()     Dim T1, T2 As Long     Select Case MSComm.CommEvent             Case comEvReceive       '收到Rthreshold个字节产生的接收事件                         MSComm.RThreshold = 0    '关闭OnComm事件接收             lblStatus.Caption = "接收"             av = MSComm.Input       '读取一个接收字节             dataframe(1) = av(0)    '转换为字节                         If dataframe(1) = &HA Then   '接收到T1                                 Do                     DoEvents                 Loop Until MSComm.InBufferCount >= 2  '循环等待接收缓冲区>=2个字节                                 av = MSComm.Input                 dataframe(2) = av(0)                 av = MSComm.Input                 dataframe(3) = av(0)       '接收T1                 T1 = dataframe(2) + CLng(dataframe(3)) * 256    '计算T1             End If                         Do                 DoEvents             Loop Until MSComm.InBufferCount >= 1  '循环等待接收缓冲区>=1个字节             av = MSComm.Input       '读取一个接收字节             dataframe(4) = av(0)    '转换为字节                         '接收到T2             If dataframe(4) = &HA0 Then                 'MSComm.RThreshold = 0     '关闭OnComm事件接收                                 '循环等待接收缓冲区>=2个字节                 Do                     DoEvents                 Loop Until MSComm.InBufferCount >= 2                                 av = MSComm.Input                 dataframe(5) = av(0)                 av = MSComm.Input                 dataframe(6) = av(0)       '接收T2                 T2 = dataframe(5) + CLng(dataframe(6)) * 256    '计算T2                                 '显示T1 T2 enter                 txtData.Text = txtData.Text + CStr(T1) + " " + CStr(T2) + Chr(&HD) + Chr(&HA)                                 datacount = datacount + 1   '数据组数+1             End If                         MSComm.RThreshold = 1       '打开OnComm事件接收                     Case Else              End Select     End SubRS232串行通信的波特率设为9600,8位数据位,一位停止位,无校验位。 2. 每组数据包含T1(16位)和T2(16位),将每个数据分成2个8位的数据,先是低8位,然后是高8位。数据为无符号整型。    先发T1,然后发T2,然后是下一组T1、T2。    T1以头数据0x0A(16进制,10进制位10)为头字节,然后是T1的低8位,T1的高8位。    T2以头数据0xA0(16进制,10进制位160)为头字节,然后是T2的低8位,T2的高8位。    发送时序举例:0x0A, t1低8位,t1高8位,0xA0, t2低8位,t2高8位……    将收到的数据T1、T2的高低8位合并,转换成10进制数,以每行T1 T2的形式存储到txt文本文件中如果需要 做其他‘文件格式的处理, 数据已经拿到了,想怎么弄就变通下吧。

    赞(18)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

串口数据采集程序
现有一个盘点机底座,是串口通讯的,像用VB做一个采集程序,具体是怎样的?... 现有一个盘点机底座,是串口通讯的,像用VB做一个采集程序,具体是怎样的? 展开
2014-09-28 18:18:27 243 2
VB 串口数据采集
这个问题恐怕没有几个人会吧!!!主要是太难了,呵呵,一般的回答的都是在别的地方复制的,我想听听你们自己的想法,我要实现串口数据的保存和实时显示,保存在数据库中,实时显示是... 这个问题恐怕没有几个人会吧!!! 主要是太难了,呵呵,一般的回答的都是在别的地方复制的,我想听听你们自己的想法,我要实现串口数据的保存和实时显示,保存在数据库中,实时显示是用曲线图的形式画出来,真难啊,想以采集的时间为横坐标,采集到的压力数据为纵坐标,请你们告诉我一下啊,现在高手太少了。。。。。 画图是应该先入库再调数据库的数据还是直接接受串口数据进行做图?这一点我还不知道! 展开
2007-04-25 04:53:14 403 2
用作串口数据采集的VB程序,出现“数据溢出”和“下标越界”的错误
程序不是自己写的,是机器自带的,存在很多问题,据我的了解1.当某个值低于0或者大于32就会“溢出”2.在数据采集过程(将数值写入txt)一段时间后,一定会出现3.在数据监视过程(... 程序不是自己写的,是机器自带的,存在很多问题,据我的了解 1.当某个值低于0或者大于32就会“溢出” 2.在数据采集过程(将数值写入txt)一段时间后,一定会出现 3.在数据监视过程(不写入,仅查看),不定时出现溢出 实在是不懂vb,想找大神帮帮忙啊~ 展开
2017-07-19 02:08:23 395 1
串口转换服务器和数据采集网关有什么区别?
如题,想买其中一种组建网络,要求只有485总线输入,以太网输出。当然扩展功能也是很重要的,请各位师傅帮忙分析分析。回一楼的师傅:是这样的么?我也不是很清楚,看看别人的意见吧... 如题,想买其中一种组建网络,要求只有485总线输入,以太网输出。当然扩展功能也是很重要的,请各位师傅帮忙分析分析。 回一楼的师傅:是这样的么?我也不是很清楚,看看别人的意见吧 展开
2009-03-08 09:15:09 269 1
海量RS232/485串口数据采集存储(备份)解决方案
 
2011-11-02 12:05:52 329 2
LabVIEW虚拟仪器数据采集与串口通信测控应用实战
麻烦您给我也传份LabVIEW虚拟仪器数据采集与串口通信测控应用实战的电子书和视频文件吧,多谢了,QQ:308074810... 麻烦您给我也传份 LabVIEW虚拟仪器数据采集与串口通信测控应用实战 的电子书和视频文件吧,多谢了,QQ:308074810 展开
2018-11-26 21:43:08 256 0
labview虚拟仪器数据采集与串口通信测控应用实战
我想要这个光盘里的所有内容谢谢我想要这个光盘里的所有内容谢谢348086239QQlabview虚拟仪器数据采集与串口通信测控应用实战这本书光盘里的内容所有的... 我想要这个光盘里的所有内容谢谢我想要这个光盘里的所有内容谢谢 348086239QQ labview虚拟仪器数据采集与串口通信测控应用实战这本书光盘里的内容所有的 展开
2014-08-18 09:42:54 311 1
LABVIEW__ 串口程序中,从“VISA配置串口”的“VISA资源名称输出”与...
从“VISA配置串口”的“VISA资源名称输出”输出引脚引出连线与直接从“VISA资源名称”引出连线有什么不同啊?我在论坛上看到的LABVIEW程序是从“VISA配置串口”的输出引脚引出连线。而... 从“VISA配置串口”的“VISA资源名称输出”输出引脚引出连线 与直接从“VISA资源名称”引出连线有什么不同啊?我在论坛上看到的LABVIEW程序是从“VISA配置串口”的输出引脚引出连线。 而我在《LABVIEW虚拟仪器数据采集与串口通信测控应用实践》中看到:都是直接从“VISA资源名称”引出连线,如下两幅图所示: 请问有什么不同???????还是都一样????????谢谢! 展开
2014-01-24 17:44:35 403 2
labview课设,串口通信,求个单片机程序
具体要求如下;【设计内容】1、编制单片机程序,实现在LED上显示指定的字符串并进行调试。2、编制虚拟仪器软件,可以通过串口实现与单片机的通迅,可以向单片机发送规定的字符串并在单... 具体要求如下; 【 设计内容 】 1、编制单片机程序,实现在LED上显示指定的字符串并进行调试。 2、编制虚拟仪器软件,可以通过串口实现与单片机的通迅,可以向单片机发送规定的字符串并在单片机试验箱的LED显示器上显示。 3、实验设备为:计算机、单片机试验箱、串口数据线。 【 设计要求 】 1、程序能够连续运行,可在字符型控件中输入字符串,点击发送键可以向单片机发送该字符串。 2、单片机在接受字符串后,在LED上进行显示,要求字符显示正确,当发送的字符串较长时,应能逐个字符显示。 3、编程实现,界面友好,操作方便。 展开
2012-06-15 03:39:22 401 3
LabVIEW虚拟仪器数据采集与串口通信测控应用实战电子书
发到ainsa.love@163.com... 发到ainsa.love@163.com 展开
2012-05-17 04:43:10 303 1
STM32下的串口超声测距程序应该怎么写?
超声测距模块的应用是这样的:接在STM32芯片的串口3上,由串口往模块以波特率9600-8-N-1发送启动信号0x55,由模块检测回波信号和校正,若成功则向stm32返回两字节的距离数据,diyi个字节为距离的高8位Hdata,第二个字节为距离的低8位Ldata。则实际距离为Hdata... 超声测距模块的应用是这样的:接在STM32芯片的串口3上,由串口往模块以波特率9600-8-N-1发送启动信号0x55,由模块检测回波信号和校正,若成功则向stm32返回两字节的距离数据,diyi个字节为距离的高8位Hdata,第二个字节为距离的低8位Ldata。则实际距离为Hdata*256+Ldata。现要求间隔一秒循环测量并循环将测得结果打印至串口1。 求例程或思路。 展开
2015-05-25 08:04:27 379 1
labview串口程序怎么设计设计?Z基础的那种
 
2015-03-12 10:48:28 318 1
戴安离子色谱数据采集程序不能运行,怎么办
 
2012-09-27 11:56:35 404 2
用VB做了个数据采集的程序,程序很卡,都是有哪些原因呢?
 
2014-10-26 03:57:44 386 3
串口调试软件的串口通讯
 
2016-05-26 14:57:26 373 1
labview数据采集程序,NI DAQmx虚拟通道参数无法设置
如图所示,红色圈起来的那几个地方,参数设置后一保存,就变成原来的默认值了。如何保存设置的参数啊,谢谢!需要采集的是IEPE压电式加速度传感器的传输过来的信号。... 如图所示,红色圈起来的那几个地方,参数设置后一保存,就变成原来的默认值了。如何保存设置的参数啊,谢谢! 需要采集的是IEPE压电式加速度传感器的传输过来的信号。 展开
2012-12-27 10:53:21 295 1
用vs2010调用激光测距传感器的c++程序怎么写,接口是串口
 
2017-03-14 12:54:31 338 1
谁有sht系列温湿度传感器的串口发送程序的代码谢谢了。。。。。。。。
 
2018-12-04 12:56:11 192 0
程序查询方式实现数据采集系统与CPU接口的原理
 
2018-12-04 19:14:45 324 0
怎样把一个数据采集的Winform程序做成一个windows服务?
windows后台服务都是没有界面的么?可不可以把一个窗体应用程序直接封装进去呢?已经有现成的实现数据采集的代码,不过是用的winform来实现的,有没有熟悉开发windows服务的大神帮我把... windows后台服务都是没有界面的么?可不可以把一个窗体应用程序直接封装进去呢? 已经有现成的实现数据采集的代码,不过是用的winform来实现的,有没有熟悉开发windows服务的大神帮我把这个窗体应用程序改成服务的形式!跪谢! 展开
2018-11-28 11:34:07 344 0

9月突出贡献榜

推荐主页

最新话题