找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
不用间接寻址会无比麻烦,所以用LAD 来说是很复杂的,所以只能用STL了。
应该是i0.2,i0.3,i0.4,i0.5共4个地址是否为1。
你的问题是这几个位与的结果吗?
假设你的FC 的IN1 接口为StartAddr:INT ;IN2 接口为EndAddr:INT.
做一个Out接口AndResult:BOOL
做4个Temp变量:AndResultTemp:BOOL;TempAddr1,TempAddr2,都为DWORD类型
CalcCnt:INT
L StartAddr
ITD
T TempAddr1
L EndAddr
ITD
T TempAddr2
A I[TempAddr1]
=AndResult
L EndAddr
L StartAddr
-I
Calc:T CalcCnt
A AndResult
A I[TempAddr2]
=AndResult
L TempAddr2
L 1
-D
T TempAddr2
L CalcCnt
LOOP Calc
当然 这个程序的通用性不高,仅仅针对你的地址从I0.0到I0.7开始的运算,如果你需要从Ix.y开始到Ia.b结束,你需要做4个接口x,y,a,b
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
S7-300和S7-400寻址
https://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=79632832&caller=view
西门子STL间接寻址常问问题集
https://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=76492353&caller=view