以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  COM端口数据识别问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55154)

--  作者:supwork
--  发布时间:2014/8/11 22:16:00
--  COM端口数据识别问题

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

端口数据参数为

 

波特率:9600

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

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

 

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

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

--  作者:有点甜
--  发布时间:2014/8/11 22:20:00
--  

 你把串口通信看完

 

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

 

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

--  作者:有点甜
--  发布时间: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
--  发布时间: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


--  作者:有点甜
--  发布时间:2014/8/11 22:58:00
--  
 对于数据的说明,文档是怎么写的?
--  作者:有点甜
--  发布时间:2014/8/11 23:08:00
--  

请认真看完通信那一张。

 

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


--  作者:supwork
--  发布时间:2014/8/14 14:18:00
--  

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

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

  

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

 

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

--  作者:有点甜
--  发布时间:2014/8/14 14:23:00
--  

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

 

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


--  作者:supwork
--  发布时间:2014/8/14 14:36:00
--  

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

 

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


--  作者:有点甜
--  发布时间:2014/8/14 16:05:00
--  

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

 

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

 

  

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