多重背景是好 如果是写十几个也没啥,但是如果要写上百个呢,我想写循环,写好后,看到背景数据块的静态变量 仍然是一个,所以肯定不行了,我也想到将静态变量做个数组,结果定义的时候就不行。
具体些:我想用SFB4作个防抖动的程序,需要做200多个
问题补充:
图片里只是两次FB1的调用,我现在需要做200多次这样的调用,想用循环,不知如何处理。输入输出参数可以看到是数组,所以有做循环的可能
stl
scl都可以,
图片说明:
最佳答案
STL编的程序吧。
多重背景的绝对偏移地址和普通的DB块不一样的。
可以用下面的方法处理:
TAR2 (得到多重背景FB在背景DB里的偏移地址)
AD DW#16#00FFFFFF (屏蔽掉存储区ID,可参考32位指针格式)
L P##Variable (得到变量在多重背景FB里的地址)
+D (多重背景FB的偏移地址与变量在多重背景FB里地址相加,即得到实际绝对偏移量)
LAR1
上述语句就是就得到了变量在背景DB中的绝对偏移量,从而供后续程序处理。
参考一下文档。
西门子STL间接寻址常问问题集
https://support.industry.siemens.com/cs/cn/zh/view/76492353
问题1.4
提问者对于答案的评价:
虽然不是我想要的答案 但是依然给你吧
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc200681.html