98下通过MSCOMM控件使用串口接受plc信号,一切正常,但到XP下报8015号错误
我在98下通过MSCOMM控件使用串口接受plc信号,一切正常,但到XP下,在执行语句
MSComm1.PortOpen = True时,报8015号错误
这是怎么回事啊?
Private Sub Form_Load()
'
'On Error Resume Next
Me.Height = 4530
'重量框解锁
txtEmptyMotor.Locked = Not gbSysWorkModel
txtLoadMotor.Locked = Not gbSysWorkModel
cboContract.Enabled = True
cmdRollBack(0).Enabled = False
cmdRollBack(1).Enabled = False
If gbSysWorkModel Then
timWeightOk.Enabled = False
Else
mSec = 30
MSComm1.PortOpen = True '报错位置
End If
Call GetPrintNo '取得打印序列号
Call InitForm '初始化合同号、空车号组合框
Rem Call InitPermit_Error '空车误差
Call Init_cboEmptyMotor
End Sub
[解决办法]
一、查看一下指定串口是否存在。
二、如果存在,检查一下串口状态是否被其它程序所占用。
[解决办法]
PortOpen 属性示例
下例以波特率 9600 打开 1 号通讯端口,没有奇偶检查,8 个数据位,1 个停止位。
MSComm1.Settings = "9600,n,8,1"
MSComm1.CommPort = 1
MSComm1.PortOpen = True
[解决办法]
很有可能是波特率配置的问题,
反正8015就是串口参数配置失败。
[解决办法]
光看LZ的代码无法获知LZ的MSCOMM的COM口号的设置,VB对MSCOMM控件缺省是认定为1.
LZ须确认你的机器实际物理COM口是1.可从系统的设备管理器查看.