恭喜,你发布的帖子
发布于 2016-08-25 09:34:11
8楼
不知道源程序是不是经过测试,因为程序存在违背西门子程序基本原则的问题。
主要是AR2, AR2指向的是FB块背景数据块的起始地址,如果对其赋值,会导致所有读取背景数据块的程序都相应的偏移。所以读到的是错误的数据。(如果有误请大家指正)
我注释了,做了修改。功能主要是每触发一次,数据向高地址根据设定值#i_DAT_LEN_TR做偏移,并用数值i_IN_V填充数据块的起始地址:
L #IN_V
T W [AR1,P#0.0]
仅供参考。
可阅读的西门子手册是:
这个程序应该是个FC,AR2的使用只是在FB中受限制,西门子也没有什么不能使用AR2在FBFC中的编程原则,在FB中用户要使用AR2主要还是因为想要方便,因为指令提供LAR2,TAR2,+AR2这些方便运算,只是使用前要保存好,使用后要恢复。
楼主的功能块中而已经做了相应的处理。
请填写推广理由:
分享
只看
楼主