西门子S7-300程序中语句表每一句都是什么意思,求大神帮忙!
发布网友
发布时间:2022-04-25 03:58
我来回答
共2个回答
热心网友
时间:2023-09-15 04:08
SET //将RLO(逻辑运算结果保存位)位置1,
SAVE //将RLO结果保存到BR位,以保证下面的程序可以执行。
= L 0.1 //将RLO位保存到L0.1临时存储区位
L #IN3 //装载#IN3这个变量到ACC1
SAVE //将RLO结果保存到BR位,以保证下面的程序可以执行。
ITD //将ACC 1中的数值转换为双整数
DTR //将ACC1的双整数转为浮点数,最终#IN3变成了浮点数,保存在了ACC1
SAVE //将RLO结果保存到BR位
L 1.000000e+001 //装载10.0到ACC2
/R //ACC2除以ACC1,也就是10.0除以#IN3变量,结果保存在ACC1
JO M001 //如果有溢出那么跳转到M001
JU M002 //如果没有溢出那么跳转到M002
M001: CLR //清除RLO位
= L 0.1//RLO结果暂存到L0.1临时存储区
M002: T #IO9 //将ACC1的数据传送给#IO9变量
CLR //清除RLO位
A #STAT65 //检查#STAT65是否为1
NOT //对RLO取反
A #IN0 //检查#IN0是否为1
JCN M003 //如果以上逻辑运算结果为0跳转到M003
L #IO9 //如果逻辑运算结果为1,那么装载#IO9
T #STAT66 //将#IO9传送给#STAT66
L #IO9 //装载#IO9
T #IO10 //将#IO9传送给#IO10
L 0.000000e+000 //装载0.0
T #STAT67 //创送0.0给#STAT67
M003: CLR //清零RLO
热心网友
时间:2023-09-15 04:08
这是一个子程序, 具体要结合整体来看,这是其中几条,后面的类推。
SET
SAVE //一般用在子程序的开头,就是保存BR位,你可以简单理解为梯形图的EO
L 0 //把 0 赋给#TEMP1 , #TEMP1 可以在子程序资源里建立
T #TEMP1
L #IN0 // 把外部参数INO 给#TEMP2, 这个应该是这个子程序的一个输入参数
T #TEMP2
L 0 //比较INO(#TEMP2) 和 0
<D
JC M001 //若 #TEMP2 小于 0 则跳转到下面的MOO1 开始执行
TAK //互换累加器1和2的值, 这里就是把#TEMP2 和 0的在累加器中的位置互换
L L#9990000 //执行了上步后, 这里ACU1 装载一个长型整数999900000,#TEMP2 自动填入ACU2 , 原来ACU2 里的0 被自动剔除
<=D //比较ACU2 和ACU1
JC M002 // 若 #TEMP2 小于等于9990000 则跳转到下面的MOO12开始执行