信捷xc3下载程序时串口通讯超时

信捷xc3下载程序时串口通讯超时,第1张

首先通讯失败一般归纳为以下几个问题:1、 通讯线:连接可能不正确,或接触不良,用户可更换通讯线重试。2、 通讯参数:PLC通讯口与外围设备的通讯参数设置可能不一致。

然后3、 通讯串口:检查通讯串口,可以通过下载PLC程序来检查,下载成功则排除串口问题

串口类是什么类?

库是:MSCommLib.dll?吗

sp是什么类型的?是你自己做的类?你在ReadLine内部是如果调用MsComm的

根据自己的应用了.

@MSComm.CommPort = PrinterComm[terminalNumber]

@MSComm.Settings = "19200,N,8,1"//设置通信口参数

@MSComm.InBufferSize = short.MaxValue / 2//设置MSComm2接收缓冲区为32字节

@MSComm.OutBufferSize = 800//设置MSComm2发送缓冲区为2字节

@MSComm.InputMode = MSCommLib.InputModeConstants.comInputModeBinary//设置接收数据模式为二进制形式

@MSComm.EOFEnable = true

@MSComm.SThreshold = 0//设置Output 一次从发送缓冲读取字节数为1

@MSComm.InBufferCount = 0//清除接收缓冲区

@MSComm.OutBufferCount = 0//清除发送缓冲区

@MSComm.RThreshold = 1//设置接收1个字节产生OnComm事件

@MSComm.DTREnable = true//??

@MSComm.Handshaking = MSCommLib.HandshakeConstants.comNone

//@MSComm.InBufferSize = 1024

@MSComm.InputLen = 0//决定每次Input读入的字符个数,缺省为0,表示读取接收缓冲区的全部内容

@MSComm.NullDiscard = false

@MSComm.PortOpen = true//打开串口14

上面设置后,添加一个事件。当有数据来的时候触发。

MSPrinter.OnComm +=new DMSCommEvents_OnCommEventHandler(_OnComm0)

private void _OnComm0()

{

ReceiveBytes = (byte[])MSPrinter.Input//这样读收到的数据。

...

}

小妹给个分吧。大哥没有分提问了。。

1.

SerialPort_DataReceived事件启动1ms的计时器,

2.

计时器到达时执行break跳出程序否则循环监听/检测comport数据即可


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8044789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存