首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

98上通过MSCOMM控件使用串口接受plc信号,一切正常,但到XP上报8015号异常

2013-01-08 
98下通过MSCOMM控件使用串口接受plc信号,一切正常,但到XP下报8015号错误我在98下通过MSCOMM控件使用串口接

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
[解决办法]
一、查看一下指定串口是否存在。
二、如果存在,检查一下串口状态是否被其它程序所占用。
[解决办法]
98上通过MSCOMM控件使用串口接受plc信号,一切正常,但到XP上报8015号异常

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.可从系统的设备管理器查看.

热点排行