B
benserver
Unregistered / Unconfirmed
GUEST, unregistred user!
兄弟们:
小弟最近在使用mscomm控件在进行串口通讯的时候,遇到一点小问题,但是实在没有解决,请各位大哥帮帮忙!
操作系统:windows xp
开发控件:vb
问题:在使用MSComm控件实现与串口仪器的数据传送和接收时,当端口打开后,主站向仪器中发送一个Modbus"包",其格式为:
从属地址 11(十六进制,下同)
功能码 04
数据启动地址-hi 40
数据启动地址-lo 50
注册号-hi 00
注册号-lo 03
CRC-lo A7
CRC-hi 4A
我主要的传送代码为:
Dim i As Integer
Dim data_out(8) As Byte
Dim buffer As Variant
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
data_out(0) = &H11
data_out(1) = &H4
data_out(2) = &H40
data_out(3) = &H50
data_out(4) = &H00
data_out(5) = &H03
data_out(6) = &HA7
data_out(7) = &H4A
Dim temp(8) As Byte
For i = 0 To 7
temp(i) = data_out(i)
Next i
MSComm1.Output = temp
当运行程序时,不能够触发OnComm()事件,我设置断点跟踪了一下,感觉到是没有将数据传入仪器.在这里我只是测试能否与仪器进行交互,是使用的一个示例,所以有关CRC校验的东西还为考虑,但是任凭我怎么想办法,始终不能够触发事件,请问该如何解决,怎样才能够取得仪器中的数据.
由于我是刚接触串口编程,所以很多的问题还不是行清除,如果方便请给小弟较为详细的说明,万分干些!
使用delphi也可以,只要能够解决问题就行.
小弟最近在使用mscomm控件在进行串口通讯的时候,遇到一点小问题,但是实在没有解决,请各位大哥帮帮忙!
操作系统:windows xp
开发控件:vb
问题:在使用MSComm控件实现与串口仪器的数据传送和接收时,当端口打开后,主站向仪器中发送一个Modbus"包",其格式为:
从属地址 11(十六进制,下同)
功能码 04
数据启动地址-hi 40
数据启动地址-lo 50
注册号-hi 00
注册号-lo 03
CRC-lo A7
CRC-hi 4A
我主要的传送代码为:
Dim i As Integer
Dim data_out(8) As Byte
Dim buffer As Variant
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
data_out(0) = &H11
data_out(1) = &H4
data_out(2) = &H40
data_out(3) = &H50
data_out(4) = &H00
data_out(5) = &H03
data_out(6) = &HA7
data_out(7) = &H4A
Dim temp(8) As Byte
For i = 0 To 7
temp(i) = data_out(i)
Next i
MSComm1.Output = temp
当运行程序时,不能够触发OnComm()事件,我设置断点跟踪了一下,感觉到是没有将数据传入仪器.在这里我只是测试能否与仪器进行交互,是使用的一个示例,所以有关CRC校验的东西还为考虑,但是任凭我怎么想办法,始终不能够触发事件,请问该如何解决,怎样才能够取得仪器中的数据.
由于我是刚接触串口编程,所以很多的问题还不是行清除,如果方便请给小弟较为详细的说明,万分干些!
使用delphi也可以,只要能够解决问题就行.