当前位置:编程学习 > VB >>

RS232串口进行通信怎样获取数据

我车间有个称重测长的设备和程序,是通过RS232串口进行通信的,设备硬件都是连接好的,我想在现有基础上模拟做一个能采集测量长度和重量的程序,是不是使用MSCom控件MSComm1.Input获取数据,会不会对原程序影响
Private Sub Timer1_Timer()
  Dim buf$
  Timer1.Enabled = False
  buf = Trim(MSComm1.Input)      '将缓冲区内的数据读入buf变量中
  If Len(buf) = 0 Then           '判断缓冲区内是否存在数据
    TextReceive.Text = ""
  Else
    TextReceive.Text = buf
  End If
End Sub
以上代码可以吗
我不需要对串口进行设置了吧
还有获取的数据是电压值吗,还要进行什么转换吗?我刚接触串口方面的知识,不太明白获取数据后怎样转换成长度或重量的原理,请高手或研究过这方面的大侠谈谈,谢谢
http://download.csdn.net/detail/veron_04/4037248 最好不使用 Timer 定时。MSComm 有自己的 OnComm 事件,可以在接收到数据时触发。 如果是连接COM1串口,我能不能在源程序运行时COM1向pc返回数据时,编一个程序用MSComm1.Input进行获取 如果原程序打开的时候,你的程序再去打开com口时肯定会失败。 楼主问题解决了没有也不来吱个声。
引用 4 楼 wangyuzg 的回复:
如果原程序打开的时候,你的程序再去打开com口时肯定会失败。

你说对了,想想还有什么办法吗?还有个问题,此设备是通过232串口连接的智能仪表设备,能显示重量,怎样才能知道通信协议,发送指令得到数据呢?我不知道通信协议
引用 6 楼 wushuiyoushen 的回复:
Quote: 引用 4 楼 wangyuzg 的回复:

如果原程序打开的时候,你的程序再去打开com口时肯定会失败。

你说对了,想想还有什么办法吗?还有个问题,此设备是通过232串口连接的智能仪表设备,能显示重量,怎样才能知道通信协议,发送指令得到数据呢?我不知道通信协议



那你要弄清楚该仪表是采用232通讯还是485通讯,如果是232的,你可以直接通过电脑自带的超级终端来看一下它发送数据的格式,你可以参考并自己在程序里取数,如果是485的话,肯定要该表的详细资料,因为485通讯的话是你要给它发送指令,然后仪表才返回相应的数据。

至于你说的该表的通讯协议,在菜单里可以查得到吧。
补充:VB ,  COM/DCOM/COM+
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,