设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]s7-300数据块前值如何取?

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 2692|回复: 2

[求助-西门子PLC300/400]s7-300数据块前值如何取?

[复制链接]

升级  33%

该用户从未签到

发表于 2013-12-19 19:00:58 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
现有一项目,采用MODBUS通讯协议,下位有10个从站,采用轮询方式进行查询,当出现通讯故障时,希望采用故障前值参与其他计算,请教给位大师,如何解决?</p>
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2694°C
2
  • 極HiGん尐爺
  • 板蓝根
过: 他们

升级  37%

该用户从未签到

发表于 2013-12-19 19:52:25 | 显示全部楼层
1、这个问题的关键是如何判定是通讯故障?
实现的方法很多,不要应用通讯模块本身来检测(通讯模块发生故障时检测不了),例如通常应用的测心跳方法,即主站与分站约定一信息位,例如,从站站S7-300可用OB35发送脉冲,主站S7-300检测该信息位,如在一定的时间内该信息位无变化,则认为无心跳了,即为通讯故障。
参见:总线通讯中的看门狗 – 心跳检测
http://www.davidrobot.com/2011/06/bus_communication_monitoring_watchdog_livebit.html?replytocom=1052
2、至于如何采用故障前的数据就容易了:
每次采用数据后将其存入一缓冲区(例如数据块等),以备用。当发生通讯故障时采用该缓冲区中的数据即可。
                                                                                                                                                                                                                                                              
                                                        

升级  38%

该用户从未签到

发表于 2013-12-19 20:35:39 | 显示全部楼层
通信读取的数据首先存储在一块缓冲区中,然后用程序判断此次通信是否正常,如正常将缓冲区数据转存至另外块区域中,如不正常,则缓冲区的数据不转存
你PLC数据处理始终使用转存区的正确数值就可以了
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            从站数据值写入数据块DB中就可以了。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            将通讯过来的值放到DB里,当通讯正常时,正常更新,如果通讯异常,
FB7或FB8后面有通讯质量代码,通过质量代码来切换实际值和原来值。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-5 02:16 , Processed in 0.104360 second(s), 20 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表