回复:s7-200 smart自由口收不到数据

已锁定

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2020-01-16 20:11:59

4楼

展开查看
以下是引用手机用户20191224695181在2020-01-14 22:52:30的发言 >3楼

第一部分,plc分别向驱动器发送初始化命令,驱动器收到,并返回了数据,正确!第二部分,plc将pc的命令解析后分别将速度命令发送给驱动器,第一驱动器收到命分,plc将pc的命令解析后分别将速度命令发送给驱动器,第一驱动器收到命令,电机也转动了,驱动也返回数据了(通过串口助手检测到的),但是接收缓存区里没有数据。

以下是引用Zaxife在2020-01-14 21:01:29的发言 >2楼:建议自己画流程图来...

引用2楼详细内容:

建议自己画流程图来分析吧。

单纯的靠空想是很不负责任的。

还有你哟用的是啥通讯协议,不是每种通讯协议都返回数据的。


PLC直接跟驱动器通讯返回数据但PLC不认,PLC跟串口助手通讯返回数据PLC能正常识别,有可能是驱动器没按通讯协议要求接收数据后延时一段时间再返回,而是接收数据后立刻返回造成PLC接收的数据帧前面几个字节没完整接收所以判断数据帧无效。或者是PLC发送完成后没有直接切换为接收状态导致漏接数据。

1、P0、P1通讯口是使用不同的SMB,绑定不同的中断,你有正确配置了么,会不会P0、P1的SMB搞乱了?中断绑定搞乱了?

2、一般的RS485通讯协议吧,先完成当前的任务后才能进入新的任务,如果你在P0的中断函数里面不判断P1的任务状态直接切换P1的收发使能,P1通讯就不满足协议逻辑咯。

3、一般通讯任务都是放到主程序里面处理的,保证不同的通信口通讯不会影响到另外一个通信口正在进行的任务。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。