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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 2286|回复: 2

[求助-西门子PLC300/400]step-7 300

[复制链接]

升级  36%

该用户从未签到

发表于 2014-5-16 14:20:59 | 显示全部楼层 |阅读模式

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

×

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

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
如果功能数据块中,FC1和FC2是相反的程序,在OB1中是无条件调用FC1和FC2,那哪个优先级高呢?</p>

图片说明: 1,OB1 2,FC2 3,FC1
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2288°C
2
  • tyr5507
  • 小池
过: 他们

升级  29%

该用户从未签到

发表于 2014-5-16 15:30:36 | 显示全部楼层
我在写程序的初期也出现过类似的问题,老是找不到原因。plc的扫描有先后顺序,我的建议是最好针对使用情况在ob1中加上使用条件,否则很容易出错
                                                                                                                                                                                                                                                              
                                                        

升级  40.5%

该用户从未签到

发表于 2014-5-16 15:59:16 | 显示全部楼层
执行FC2,后扫描的程序。I0.0断开为0,输出Q0.0为1,I0.0闭合为1,输出Q0.0为0。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            PLC的扫描是串行即从上到下,从左到右扫描,对于对同一线圈多处操作,以最后的操作的结果为标准,从OB程序可以看出,先扫描FC1后扫描FC2,以FC2的结果为最终结果及当I0.0为OFF时,Q0.0为1,相反为OFF
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            参考一下PLC用户程序的执行扫描方式就很好理解了,扫描总是从上到下,从左到右。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            从上到下,从左到右
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            优先?
这不是优先的问题,但扫描是先后顺序,先执行FC1,后执行FC2,Q0.0只是一个临时变量,在FC1执行完后虽然为1,但接着执行完FC2后又为0了,在OB块最后一句执行完之后,将过程映像区结果刷新到外部输出。
为了印证Q0.0的变化,你还可以在call FC1之后,再写一段:A q0.0  = M0.0,下载到仿真,观察一下M0.0是否接通。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

关闭

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

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

GMT+8, 2025-5-10 20:27 , Processed in 0.251479 second(s), 20 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

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