A7d0: L #I
L 8
<=I
JCN A7d1
L #I
ITD
L L#1
-D
LAR1
A L [AR1,P#32.0]
NOT
JCN A7d2
L #I
ITD
L L#1
-D
L L#32
*D
L 0.000000e+000
TAK
LAR1
TAK
T LD [AR1,P#0.0]
L #NUM1
L 1
-I
T #NUM1
JU A7d3
希望越详细越好 最初 I 的输入是1
最佳答案
A7d0: L #I
L 8
<=I //比较#I是否小于等于8
JCN A7d1 //若#I小于等于8,则程序跳转至标签A7d1处执行程序;若#I大于8则继续向下执行程序
L #I
ITD //把#I的数值转化为双整数
L L#1 //装载双整数1到累加器1中
-D //双整数减法,即#I-1
LAR1 //把减法所得的结果存到AR1中
A L [AR1,P#32.0] //判断临时变量L32.0的信号状态
NOT //取反指令
JCN A7d2 //若L32.0为1,则程序跳转至标签A7d2处执行程序;若L32.0为0,则继续向下执行程序
L #I
ITD //把#I的数值转化为双整数
L L#1 //装载双整数1到累加器1中
-D //双整数减法,即#I-1
L L#32 //装载双整数32到累加器1中
*D //双整数乘法,即#I-1的结果和32乘
L 0.000000e+000 //装载实数0.0到累加器1中
TAK
LAR1
TAK
T LD [AR1,P#0.0] //这四步是把0.0存放到LD0中
L #NUM1
L 1
-I
T #NUM1 //这四步是将#NUM1的数据减1后存到#NUM1中
JU A7d3 //无条件跳转到标签A7d3
参见:用于S7-300 和S7-400 的语句表(STL)编程
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1818&loginID=&srno=&sendtime=
这是基础手册,里面有各种指令的讲解说明,你的程序可以参考手册自己再分析一下。
提问者对于答案的评价:
多谢指导!希望能和您加个QQ好友 初学 有太多问题不懂!!!qq515872799
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236139.html