Foxtable(狐表)用户栏目专家坐堂 → COM端口数据识别问题


  共有4091人关注过本帖树形打印复制链接

主题:COM端口数据识别问题

帅哥哟,离线,有人找我吗?
supwork
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
COM端口数据识别问题  发帖心情 Post By:2014/8/11 22:16:00 [只看该作者]

COM5端口数据监控采集的问题:

端口数据参数为

 

波特率:9600

1位起始位,8个数据位,1位停止位,无效验

数据以ASCII 码(及文本格式)发送,每个测量数据后以回车符结束,不断主动地发送。

 

如何一个一个地识别为正常的字符,并存到表中?

[此贴子已经被作者于2014-8-11 22:16:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/11 22:20:00 [只看该作者]

 你把串口通信看完

 

 http://www.foxtable.com/help/topics/1967.htm

 

[此贴子已经被作者于2014-8-11 22:20:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/11 22:24:00 [只看该作者]

读取字节,得到Val字节数组以后,要读取哪一位就读哪一位。

 

Read 从输入缓冲区读取一些字节,并将这些字节写入字节数组中指定的偏移量处。

语法:

Read(buffer, offset, count)

buffer: 字节数组,从输入缓冲区中读取的字节将写入此数组。
offset: 开始写入的偏移量。
count:  要读取的字节数。

示例

Dim cnt As Integer = Ports("COM2").BytesToRead
If
cnt > 0 Then '缓冲区是否有数据
    Dim
Val(cnt - 1) As Byte
   
Ports("COM2").Read(val,0,cnt)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2014/8/11 22:45:00 [只看该作者]

谢谢 这么晚了还在回复

 

这个串口通讯读了好几变了,但实无串口数据处理经验

 

Forms("窗口1").Controls("Label1").Text = e.Port.ReadExisting()

  使用这个直接输出的字符为 ?等一些特殊字符

 

Dim cnt As Integer = Ports("COM2").BytesToRead
If
cnt > 0 Then '缓冲区是否有数据
    Dim
Val(cnt - 1) As Byte
   
Ports("COM2").Read(val,0,cnt)
End If

 

这段代码也试用过,但不知啥意思,也没有效果。

 

使用COM端口调试软件获取的数据形式为:

 

C1 00 00 22 62 18 17

 

如果正确解析为:1通道 数据为8.93mm

 

请明示 如何获取解析数据8.93mm


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/11 22:58:00 [只看该作者]

 对于数据的说明,文档是怎么写的?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/11 23:08:00 [只看该作者]

请认真看完通信那一张。

 

你获取到val数组以后,想怎么获取就怎么获取,比如 val(3) 之类的


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2014/8/14 14:18:00 [只看该作者]

       这个数据的接收处理较复杂,对方提供了开发包有VB6实例,和VC实例程序,可以接受处理这个COM口的数据,现在想用VC开发一个OCX的COM控件,专门负责接收处理数据。然后再在狐表中调用这个COM控件,直接从COM控件里接收数据,这种方案能行不。

      如果能行,这个COM控件开发需要满足哪些特殊要求,从而方便与狐表配合处理?

  

      当然如果狐表能根据VB6的DEMO程序进行编程,从而直接通过狐表编程实现数据直接从COM口读取那更好。

 

[此贴子已经被作者于2014-8-14 14:19:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/14 14:23:00 [只看该作者]

 呃,接收处理没有那么复杂吧?不就是接收数据,然后转换一下就可以了么?你要看懂关键代码(就是接收到数据后,怎么转化)

 

 这个应该是一段几句代码就能解决的。


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2014/8/14 14:36:00 [只看该作者]

这是VB6的DEMO COM端口数据接收处理示例程序,请官方帮看一下,如何在狐表中实现数据处理

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:vb6.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/14 16:05:00 [只看该作者]

 汗...对vb和vb.net 不熟,转成了dll,在狐表里引用了。

 

 你可以打开源码,修改成自己需要的,重新生成dll,然后使用。

 

  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试例子.rar


 回到顶部
总数 12 1 2 下一页