sunsongweisdu
ye_w
gsja
可能是设备的问题,我遇见过此种情况,要不就把程序传上来,大家帮你看看
可以改一下通讯比特率试一下
miy_gongkong
回复内容: 对:gsja 关于建议信息接受用空闲检测,信息结束用最大字符,一般38400的波特率信息发送出去到接受到信息最少要用12ms到20ms(因设备和收据包的大小而不同),你每个接收包之间的间隔时间20ms,150ms是肯定不够的 内容的回复:
我每一个包的数据为14个字节,算下来,需要不到4ms的时间,而设备A的20Ms间隔,是从发送前一包的开始算起,这样来说,五个包发送过来,如果不出现丢包,那么100ms就可以收完,所以我设的150ms足够,我现在是怀疑,我对自由口的接收用法不够准确;
回复内容: 对:miy_gongkong 关于引用gsja 的回复内容:建议信息接受用空闲检测,信息结束用最大字符,一般38400的波特率信息发送出去到接受到信息最少要用12ms到20ms(因设备和收据包的大小而不同),你每个接收包之间的间隔时间20ms,150ms是肯定不够的 内容的回复:
减小 波特率, 或在条件允许的情况下 减小布线距离; 做好防干扰措施,尤其是接地;
现场的环境很好, 是实验室环境,线长也在5米之内。我觉得不存在干扰的问题;
bhdxzgp
我在想如果是自由口的;通过485线进行数据传送 ,当发送命令到后,下层设备给PLC回报文时,总线可能还没有转成为接收模式;
因为485是半双功;你这个问题我也碰到过,!
可以用串口调试工具单独发送一条指令,看接受的信息是否正确
虫子