技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > s7-200 自由口通信错误处理

s7-200 自由口通信错误处理

林慧玲 发布于2014-03-11 15:35 1171 0 标签:

学工控技术,拿10万年薪

点下面注册
马上注册,免费学习plc视频教程
马上注册,免费学习超过100课时视频教程,免费下载海量学习资料


现在我的通信能够一发一收,但是如果发过以后,没有收,程序就等待着接收,这样我的程序就不能再通信了,也就是不能再收了,我应该怎么去设置接收接收呢?

问题补充:
1,采用开始字符接收的时候,我能收发正常,也就是在通信正常的情况下没有问题,加入有一个仪表没有给我回应,我的程序一直在等待接收,下一次的发送也不能进行。
2,采用空闲时间作为开始接受条件时,程序不能发送的现象能解决,但是它把我不应该接收的信息也接收过来了,当然我希望的是能检测到开时字符的时候接收。
3,当我把空闲线和开始字符结合时,程序就不能接受信息。

我个人认为是3的情况是在空闲线一直在检测,所以数据都不再接收了,我是在发送完以后,使用发送完成中断,在中断中接收数据。

这个问题在论坛上看了好多,但是自己好像还有一些没有考虑到,是不是我的空闲线时间设置的不对,还是我空闲线和开始字符两个不能在一起混合使用。

我的接收条件是超时和大字符数

佳答案

自由口接受信息控制字节定义:
端口0应用于smb87,各位意义如下
sm87.7=0禁止接收
=1允许接收
sm87.6=0不使用smb88中信息作为起始字符检测
=1使用smb88中信息作为起始字符检测
sm87.5=0不使用smb89中信息作为结束字符检测
=1使用smb89中信息作为结束字符检测
sm87.4=0不使用smw90中数值【单位是ms】作为空闲检测
=1使用smw90中数值【单位是ms】作为空闲检测
sm87.3=0当sm87.2=1时,该位为0设定接收超时时间是字符间计时
=1当sm87.2=1时,该位为1设定接收超时时间是信息间计时
sm87.2=0不使用smw92的值作为定时器时间值来结束信息接收
=1使用smw92的值作为定时器时间值来结束信息接收
sm87.1=0不使用断线检测开始信息接收
=1使用断线检测开始信息接收
sm87.0该位固定为0

根据你问题的描述,你可以选择设定sm87.3=0sm87.2=1作为字符间计时器或者sm87.3=1sm87.2=1作为信息间计时器来结束信息的接收;当然得看plc是和什么设备通信来确定使用哪种方式结束信息接收!

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签