找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
你的实验是inout类型变量,输出是out类型变量?变量类型不同,所以一个保持,一个不保持。
再着:以前200SMART 300中OUT变量是保持的(只要通一次就保持),这样的一个BUG就是多次调用,第二次调用输出为假的时候,OUT同步了第一次变量的值(自己测试,就明白了)。所以1500中OUT估计是系统初始化了。
建议你:看一下西门子官网200SMART子程序使用陷阱。
对OUT和INT OUT的区别。
1、S7-300的FC的参数OUT和IN_OUT的区别
在给OUT参数赋值之前,它的值是不定的,必须先赋值后使用。
退出FC后,IN_OUT的值用它的实参保存,下次调用时IN_OUT的值是确定的。IN_OUT有点类似于FB的静态变量。
2、1500中子程序系统直接初始化,而在300中,SMART中子程序没有初始化,所以保持着。(在FC中,out变量保持着,你自己仿真测试下,看我的测试图片)
仔细看我第一次的回答。
FB是有背景数据块的,FB的OUT变量和FC中OUT有本质的区别。FB中的OUT可以存储在背景中,然后输出,当然保持着。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!