西门子PLC自由口通讯干扰问题

我用的是简单的西门子PLC自由口通讯协议,PC端发送指令到PLC,PLC接收到指令后匹配相应的动作输出,有起始字符@结束字符*空闲行时间5ms最大字符10。经过测试可以正... 我用的是简单的西门子PLC自由口通讯协议,PC端发送指令到PLC,PLC接收到指令后匹配相应的动作输出,有起始字符@结束字符*空闲行时间5ms最大字符10。经过测试可以正常通讯,但是有时候会出现干扰误输出动作,始终想不明白……数据缓冲区内的残留数据第二位和重新发送的第一位数据组合伴随误输出~
例如:PC端口发送@31*PLC输出Q1.5
PC端口发送@32*PLC断开Q1.5
PC端口发送@47*PLC输出Q1.6
PC端口发送@48*PLC断开Q1.6
PC端口发送@42*PLC输出Q1.8
解释:PC端口发送@32*PLC断开Q1.5后, PC端口发送@47*PLC输出Q1.6的同时会伴随输出Q1.8(@42*)
请教各位大神,帮忙解答一下,现在处理办法就是把出现干扰误输出的匹配指令改掉,但是要求动作多了之后改动太麻烦,说不定任意匹配指令动作后就又出问题了~o(︶︿︶)o 唉,头疼
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
spypie
2014-02-20 · TA获得超过650个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:340万
展开全部
数据缓冲区内的残留数据第二位和重新发送的第一位数据隐猜组合伴随误输出——既然你已经找到原因了,那问题已经出在你的自由客通信程序逻辑上,检查下逻辑,几个SM都设置对了没,程轿模序灶帆型触发机制有没有问题
追问

一共设置了SMB130 16#89  偶校验 数据位8位 9600波特率 自由口模式; SMB187 16#F0 接受信息开启 检测开始字符 结束字符 检测空闲行条件 ; SMB188 16#40(@);SMB189 16#2A(*);  SMW190 5 空闲行时间5ms;SMB194 10 最大接受字符10个;动作大都以子程序的模式处理,当VW120中数值相应匹配会触发动作。

追答
直接把通信部分的程序发我邮箱吧 1785975503@qq.com
我实验一下,我总感觉你译码之后,进行整数比较可能会有问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式