西门子S7-300程序中语句表每一句都是什么意思,求大神帮忙!

SET
SAVE
= L 0.1
L #IN3
SAVE
ITD
DTR
SAVE
L 1.000000e+001
/R
JO M001
JU M002
M001: CLR
= L 0.1
M002: T #IO9
CLR
A #STAT65
NOT
A #IN0
JCN M003
L #IO9
T #STAT66
L #IO9
T #IO10
L 0.000000e+000
T #STAT67
M003: CLR

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
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-12

这是一个子程序, 具体要结合整体来看,这是其中几条,后面的类推。

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开始执行

本回答被网友采纳

西门子S7-300程序中语句表每一句都是什么意思?
1、SET \/\/将RLO(逻辑运算结果保存位)位置1;2、SAVE \/\/将RLO结果保存到BR位,以保证下面的程序可以执行;3、= L 0.1 \/\/将RLO位保存到L0.1临时存储区位;4、L #IN3 \/\/装载#IN3这个变量到ACC1;5、SAVE \/\/将RLO结果保存到BR位,以保证下面的程序可以执行;6、I...

西门子S7-300程序中语句表每一句都是什么意思,求关键是这句 L 1.000000...
DTR \/\/将ACCU1的数据转换为REAL类型,即浮点数,西门子规定,INT转换为REAL,必须使用ITD,DTR这两个步骤。L 1.000000e+001 \/\/将浮点数10.0装入ACCU1中,原先ACCU1的数据送入ACCU2中 \/R \/\/ACCU2的数据除以ACCU1,结果送入ACCU1中,ACCU1原先数据送入ACCU2中,\/R为浮点数除法,要求...

西门子S7-300程序中语句表每一句都是什么意思?
SET SAVE \/\/一般用在子程序的开头,就是保存BR位,你可以简单理解为梯形图的EO L 0 \/\/把 0 赋给#TEMP1 , #TEMP1 可以在子程序资源里建立 T #TEMP1 L #IN0 \/\/ 把外部参数INO 给#TEMP2, 这个应该是这个子程序的一个输入参数 T #TEMP2 L 0 \/\/比较INO(#...

西门子S7-300 程序中语句表每一句都是什么意思,求大神帮忙!
你这个是编译之后的程序,没有注释,无法解释其含义。只能看明白作了哪些数据处理,如:JU M005\/\/ 程序无条件跳转到M005标记段落继续执行 M006: L 0.000000e+000\/\/ 标记M006, 装载0.0到累加器1 T #OUT34\/\/将累加器1中的数据0.0传送到输出接口OUT34 其他指令请参考:S7-300和S7-400(STL...

西门子s7-300中,有几句语句表看不懂,请老师指点
第一个,打开DB60 放入DINT型的数值MD240 左移4位,相当于乘以16,也就是说变为W型指针。传送到MD244,载入DB60.DBDW[md244]相当于载入DBW编号为MD240中的数值 传送到mw248 因为指针都是针对于位寻址的,所以在针对于字节,字和双字的时候需要分别乘以8,16,32,也就是左移3位,4位,5位。

S7 300指令是什么意思?L W[AR1,P#0.0]指令是什么意思?
不是一两句能说清楚的。L W[AR1,P#0.0]这个个间接寻址中的交叉寻址,其中W指的是你的字符宽度,W代表的是字,就是这个指针的指向宽度为2个字节,AR1为你事先装载进去的指针指向起始地址,例如 L [MW20]LAR1 这个就是在位存储区中的第20个字的位置,字符宽度为2两个字节。装载到地址寄存器1...

S7-300nbsp;BLDnbsp;102nbsp;是什么意思
楼上的老几在搞什么东东啊。你用T型图编程后,转换成语句表时,有一种逻辑关系系统会自己生成BLDnbsp;***nbsp;,“***”表示编号,也就是你说的102,这个是系统自己指定的,在同一个FC或FB里这种逻辑多了,编号就会不一样,不一定就是102。这种逻辑关系很简单,你自己都可以看懂,自己再试一试。...

西门子s7 300 的语句表指令nop 0 和nop 1 对应的梯形图指令是什么?
nop 0 和nop 1没有对应的梯形图,这两个指令只有语句表。nop 0 是空操作指令,指令各位全为0;nop 1 是空操作指令,指令各位全为1

西门子S7-300 STL语句表程序意思解释, 第二问能转成梯形图吗?_百度知 ...
1 -D L 4 D SLD 3 LAR1 L MD [ AR1 , P#100.0 ]T DB20.DBD200 DB20.DBW0的数值减1,再乘以4,再左移3位(即乘以8),将其数值传入AR1地址寄存器,以AR1的数值为起始地址偏移100,将上述偏移地址的MD存储器的数值传送到DB20.DBD200 间接寻址无法使用LAD梯形图 ...

s7-300中的mb、 mw、 md、 mdm分别是什么意思
M表示内部存储区。MB表示长度为字节的操作数在内部存储区,MW表示长度为字的操作数在内部存储区,MD表示长度为双字的操作数在内部存储区。操作数包含两个要素:标识符和标识参数。标识符用来表示操作数存放区域及操作位数;标识参数用来表示操作数在该存储区域内的具体位置。存储区域包括有:输入映像区(I)...

相似回答