签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
最近在现场调试遇到一个问题:
问题描述:
1、在S7-1500PLC自定义了一个FB功能块,在调用这个FB功能块时,发现其IN_OUT管脚上的变量(UDT变量类型)会出现经常无法被赋值的情况,当然已排除在FB内部程序对其赋值的情况;
2、程序在线时,在DB中修改该变量值也会现在无法修改,多次尝试可写入;
3、将该变量从IN_OUT管脚中取消后,可正常写入;
第一次遇到这种情况,大家有遇到过这种问题嘛,谢谢!
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1651943&b_id=66
一定是你FB内部写了该值,可能是寻址赋值你没找到。
重复读写了。不信你把关联的变量全部清除干净,写入看看?
你一边给1其他地方一边给0肯定修改不了
楼主不要使用评论来回复问题。谢谢!
扫描周期太快,你认为的没有触发不一定呢。
你都在FB中写了,外面怎么能再写?
与数据格式有关吧
你这是字符串,
字符串竟然还有重复反复写操作?
我也确实遇到这个问题了,使用的事UDT结构变量,FB的IN/OUT结构,内部程序全部RETURN了。修改bool变量,20-30次会出现一次赋值失败的情况。楼主解决了嘛···???
问题解决了 吗 我也遇到到
不用怀疑其它的,是你的程序问题!
楼主,方便把程序放百度云上,
让大伙看看?
老问题了,FB是优化块,INOUT接口参数是非优化块,所以是传值而非传引用
传值对于这种情况的意思的在FB开始时从实参获取值到形参,对于HMI和1500通信,通信发生在时间片,也就是任意时刻,通信有可能在FB执行时也有可能在FB没有执行时
当FB没有执行时写入,HMI修改了实参,再执行FB时能写入,如果FB在执行时写入,这时实参修改不会影响当前形参
如果FB是优化块,INOUT接口参数也是优化块,或者FB是非优化块,INOUT接口参数也是非优化块,这时就是传引用而非传值,传引用对于这种情况的意思是在块中处理形参等同于直接处理实参,所以可以随时写入
SIOS FAQ
https://support.industry.siemens.com/cs/cn/zh/view/109476062
多说两句,有些块是从300移植过来的,在300没有问题,是因为300通信发生在CCP,肯定不会是FB执行时,所以没有问题
FB块内部是不是有什么限制条件,没有赋值
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录